/* ---- light (editorial paper) ---- */
:root{
  --paper:#F4F1E9; --surface:#FCFBF7; --raised:#FFFFFF;
  --ink:#1A1613; --ink-2:#6E665A; --line:#E5DECF; --line-2:#D8CFBB;
  --accent:#B0502E; --accent-press:#8C3D20; --on-accent:#FFFFFF; --accent-wash:rgba(176,80,46,.08);
  --ok:#3F8F55; --nav-bg:rgba(244,241,233,.82); --avatar-gray:.18; --shadow:rgba(26,22,19,.12);
}
/* ---- dark (warm-charcoal editorial) ---- */
:root[data-theme="dark"]{
  --paper:#161617; --surface:#1D1D1F; --raised:#232325;
  --ink:#ECECEE; --ink-2:#9A9AA0; --line:#292A2C; --line-2:#35363A;
  --accent:#C75E39; --accent-press:#A94B2C; --on-accent:#FFFFFF; --accent-wash:rgba(199,94,57,.12);
  --ok:#5FBE7C; --nav-bg:rgba(22,22,23,.82); --avatar-gray:.10; --shadow:rgba(0,0,0,.5);
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--paper);color:var(--ink);line-height:1.6;-webkit-font-smoothing:antialiased;transition:background .25s ease,color .25s ease;}
a{color:inherit;text-decoration:none;}
.wrap{max-width:1060px;margin:0 auto;padding:0 28px;}
.disp{font-family:'Space Grotesk',sans-serif;}
.eyebrow{font-family:'JetBrains Mono',monospace;font-weight:600;font-size:12.5px;letter-spacing:2.5px;text-transform:uppercase;color:var(--accent);}

nav{position:sticky;top:0;z-index:20;background:var(--nav-bg);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);}
nav .row{display:flex;align-items:center;justify-content:space-between;height:62px;}
nav .brand{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:17px;letter-spacing:-.2px;}
.navright{display:flex;align-items:center;gap:26px;}
nav .links{display:flex;gap:26px;font-family:'JetBrains Mono',monospace;font-size:13px;font-weight:500;color:var(--ink-2);}
nav .links a:hover{color:var(--accent);}
@media(max-width:640px){
  nav .row{flex-wrap:wrap;height:auto;padding:10px 0;row-gap:9px;}
  .navright{width:100%;justify-content:space-between;gap:14px;}
  nav .links{flex-wrap:wrap;gap:10px 14px;font-size:12px;}
}
.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:9px;
  border:1px solid var(--line-2);background:var(--surface);color:var(--ink);cursor:pointer;transition:.15s;}
.theme-toggle:hover{border-color:var(--accent);color:var(--accent);}
.theme-toggle svg{width:17px;height:17px;fill:none;stroke:currentcolor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.theme-toggle .sun{display:none;} :root[data-theme="dark"] .theme-toggle .sun{display:block;}
:root[data-theme="dark"] .theme-toggle .moon{display:none;}

.hero{padding:84px 0 70px;}
.hero .inner{display:grid;grid-template-columns:1fr auto;gap:48px;align-items:center;}
@media(max-width:760px){.hero .inner{grid-template-columns:1fr;}.hero{padding:56px 0 48px;}}
.pill{display:inline-flex;align-items:center;gap:9px;font-size:13.5px;font-weight:600;color:var(--ink);
  background:var(--surface);border:1px solid var(--line-2);padding:7px 15px;border-radius:30px;}
.pill .dot{width:8px;height:8px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 3px rgba(63,143,85,.16);}
h1{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:clamp(42px,7vw,68px);line-height:1.02;letter-spacing:-2.4px;margin:22px 0 10px;}
h1 .accent{color:var(--accent);}
.role{font-size:clamp(18px,3.2vw,23px);font-weight:600;color:var(--ink);}
.lede{color:var(--ink-2);font-size:18px;max-width:540px;margin:20px 0 30px;}
.cta{display:flex;flex-wrap:wrap;gap:11px;}
.btn{display:inline-flex;align-items:center;gap:9px;font-weight:600;font-size:14.5px;padding:12px 18px;border-radius:10px;
  border:1px solid var(--line-2);background:var(--surface);color:var(--ink);transition:.15s;}
.btn:hover{border-color:var(--ink);transform:translateY(-1px);}
.btn.primary{background:var(--accent);color:var(--on-accent);border-color:var(--accent);}
.btn.primary:hover{background:var(--accent-press);border-color:var(--accent-press);}
.btn svg{width:16px;height:16px;}
.avatar{width:206px;height:248px;border-radius:14px;object-fit:cover;object-position:center 20%;
  border:1px solid var(--line-2);box-shadow:0 18px 40px var(--shadow);filter:grayscale(var(--avatar-gray));}
@media(max-width:760px){.avatar{width:132px;height:150px;}}

section{padding:60px 0;border-top:1px solid var(--line);scroll-margin-top:80px;}
h2{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:clamp(27px,4.2vw,36px);letter-spacing:-1.1px;margin:12px 0 28px;max-width:760px;}

.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:14px;overflow:hidden;}
@media(max-width:680px){.grid{grid-template-columns:1fr;}}
.card{background:var(--surface);padding:26px 24px;}
.card .ic{color:var(--accent);}
.card .ic svg{width:30px;height:30px;stroke:currentcolor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}
.card h3{font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:19px;margin:14px 0 7px;letter-spacing:-.3px;}
.card p{color:var(--ink-2);font-size:15px;}

.band{background:var(--accent-wash);border:1px solid var(--line-2);border-left:3px solid var(--accent);border-radius:12px;
  padding:32px 34px;display:flex;gap:28px;align-items:center;justify-content:space-between;flex-wrap:wrap;}
.band h3{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:23px;margin-bottom:8px;letter-spacing:-.4px;}
.band p{color:var(--ink-2);font-size:15.5px;max-width:600px;}

.worklist{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
@media(max-width:680px){.worklist{grid-template-columns:1fr;}}
.work{display:block;background:var(--surface);border:1px solid var(--line);border-radius:13px;padding:22px;transition:.15s;}
.work:hover{border-color:var(--ink);transform:translateY(-2px);box-shadow:0 14px 30px var(--shadow);}
.work .k{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--ink-2);font-weight:600;letter-spacing:1.2px;}
.work h3{font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:18px;margin:8px 0 8px;letter-spacing:-.3px;}
.work p{color:var(--ink-2);font-size:14px;}
.work .arr{color:var(--accent);font-weight:600;margin-top:14px;display:inline-block;font-size:13.5px;font-family:'JetBrains Mono',monospace;}
.work.wide{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;}
.work.wide p{max-width:640px;}
.work.wide .arr{margin-top:0;white-space:nowrap;}

footer{padding:72px 0 46px;border-top:1px solid var(--line);text-align:center;scroll-margin-top:80px;}
footer .big{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:clamp(30px,5vw,44px);letter-spacing:-1.6px;}
footer .big .accent{color:var(--accent);}
footer .sub{color:var(--ink-2);margin:15px auto 28px;max-width:500px;}
footer .social{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}
.copy{color:var(--ink-2);opacity:.7;font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.3px;margin-top:42px;}

/* ---- shared footer links row (About / Contact / Privacy / llms.txt / Sitemap) ---- */
.foot-links{display:flex;gap:18px;justify-content:center;flex-wrap:wrap;margin-top:34px;
  font-family:'JetBrains Mono',monospace;font-size:12.5px;font-weight:500;color:var(--ink-2);letter-spacing:.3px;}
.foot-links a:hover{color:var(--accent);}
.foot-links + .copy{margin-top:16px;}

/* ---- inner pages: /about/, /contact/, /privacy/, 404 ---- */
.page{max-width:720px;padding:64px 0 72px;}
@media(max-width:760px){.page{padding:44px 0 56px;}}
.page h1{font-size:clamp(34px,5.5vw,50px);letter-spacing:-1.6px;margin:12px 0 18px;}
.page h2{font-size:clamp(20px,3vw,25px);letter-spacing:-.5px;margin:36px 0 10px;}
.page .lede{max-width:none;margin:0 0 26px;}
.page p,.page li{color:var(--ink-2);font-size:16.5px;}
.page p{margin:0 0 16px;}
.page ul{margin:0 0 16px;padding-left:22px;}
.page li{margin:6px 0;}
.page a{color:var(--accent);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;}
.page a:hover{color:var(--accent-press);}
.page .cta{margin:8px 0 28px;}
.page .btn{text-decoration:none;color:var(--ink);}
.page .btn.primary{color:var(--on-accent);}
.page code{font-family:'JetBrains Mono',monospace;font-size:.9em;background:var(--surface);border:1px solid var(--line);border-radius:5px;padding:1px 6px;}
.page .meta{font-family:'JetBrains Mono',monospace;font-size:12.5px;color:var(--ink-2);letter-spacing:.3px;margin-top:36px;}
