:root{
  --paper:#F4F5F7; --paper-2:#E9EBEF; --card:#FDFDFE;
  --ink:#24272E; --ink-soft:#3C414B; --muted:#565B66;
  --line:#C9CDD5; --line-strong:#959CA8;
  --accent:#B4621B; --accent-ink:#6E3D10; --accent-bg:#F3E6D7;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
  --mono:ui-monospace,"SF Mono","Roboto Mono",Menlo,Consolas,monospace;
  --wrap:1200px; --read:66ch;
}
*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{margin:0; background:var(--paper); color:var(--ink);
  font-family:var(--sans); font-size:1.125rem; line-height:1.6;
  -webkit-font-smoothing:antialiased;}
.wrap{max-width:var(--wrap); margin:0 auto; padding:0 clamp(1.15rem,4vw,2rem);}
a{color:var(--accent-ink); text-underline-offset:2px;}
a:hover{color:var(--ink);}
h1,h2,h3{line-height:1.1; letter-spacing:-0.015em; font-weight:800; margin:0;}
p{margin:0 0 1.1em;}
strong{font-weight:700;}
a:focus,button:focus,[tabindex]:focus{outline:2px solid var(--accent); outline-offset:3px;}
:focus-visible{outline:2px solid var(--accent); outline-offset:3px;}
@media (prefers-reduced-motion:reduce){*{transition:none !important; animation:none !important;}}

.skip{position:absolute; left:-9999px; top:0; background:var(--ink); color:#fff;
  padding:.7rem 1rem; z-index:50;}
.skip:focus{left:1rem; top:1rem;}

.eyebrow{font-family:var(--mono); font-size:.8125rem; letter-spacing:.06em;
  text-transform:uppercase; color:var(--muted); margin:0 0 .7rem;}
.metric{font-family:var(--mono); font-size:1.05rem; font-weight:700; color:var(--ink);
  border-top:2px solid var(--accent); padding-top:.6rem; display:block;}

.site-head{border-bottom:1px solid var(--line); background:var(--paper);}
.site-head .wrap{display:flex; align-items:center; justify-content:space-between; gap:1.5rem;
  padding-top:1.35rem; padding-bottom:1.35rem; flex-wrap:wrap;}
.brand{font-weight:800; letter-spacing:-0.01em; color:var(--ink); text-decoration:none; font-size:1.25rem;}
.brand:hover{color:var(--ink);}
.nav{display:flex; gap:clamp(1rem,2.6vw,2rem); align-items:center; flex-wrap:wrap;}
.nav a{color:var(--ink); text-decoration:none; font-size:.9375rem;
  border-bottom:2px solid transparent; padding-bottom:2px;}
.nav a:hover{border-bottom-color:var(--accent); color:var(--ink);}
.nav a.resume{border:2px solid var(--ink); border-radius:2px; padding:.5rem 1rem; border-bottom-width:2px;}
.nav a.resume:hover{background:var(--paper-2); border-bottom-color:var(--ink);}

.hero{padding:clamp(3.6rem,10vw,8rem) 0 clamp(2.8rem,7vw,6rem); border-bottom:1px solid var(--line);}
.hero .rule{width:48px; border:0; border-top:2px solid var(--accent); margin:0 0 1.5rem;}
.hero h1{font-size:clamp(2.6rem,7vw,5.25rem); max-width:16ch; letter-spacing:-0.02em;}
.hero .role{font-family:var(--mono); font-size:.8125rem; letter-spacing:.04em; text-transform:uppercase;
  color:var(--muted); margin:2rem 0 1.2rem;}
.hero .lead{font-size:clamp(1.15rem,2.3vw,1.375rem); line-height:1.6; color:var(--muted); max-width:48ch;}
.cta-row{display:flex; gap:1rem; flex-wrap:wrap; margin-top:3rem;}
.btn{display:inline-block; font-size:.9375rem; font-weight:600; text-decoration:none;
  padding:.75rem 2rem; border-radius:2px; border:2px solid var(--ink);
  background:var(--ink); color:#fff;}
.btn:hover{background:var(--accent-ink); border-color:var(--accent-ink); color:#fff;}
.btn.ghost{background:transparent; color:var(--ink);}
.btn.ghost:hover{background:var(--paper-2); color:var(--ink);}

main section{padding:clamp(3rem,7vw,6rem) 0; border-bottom:1px solid var(--line);}
main section:last-of-type{border-bottom:none;}
.section-head{display:flex; align-items:baseline; justify-content:space-between; gap:1.5rem;
  margin-bottom:3rem; flex-wrap:wrap;}
.section-head h2{font-size:clamp(1.8rem,4vw,3rem); letter-spacing:-0.015em;}
.section-tint{background:var(--paper);}
.prose{max-width:var(--read);}
.prose p{color:var(--ink-soft);}
.prose p:first-of-type{color:var(--ink);}

.subhead{font-family:var(--mono); font-size:.8125rem; letter-spacing:.06em; text-transform:uppercase;
  color:var(--accent-ink); margin:3rem 0 1.25rem;}
.subhead:first-of-type{margin-top:0;}
.grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:1px;
  background:var(--line); border:1px solid var(--line);}
.card{background:var(--card); padding:2rem; display:flex; flex-direction:column;
  min-width:0; text-decoration:none; color:var(--ink);}
a.card:hover .card h3, a.card:hover h3{color:var(--accent-ink);}
.card .metric{margin-bottom:1rem; font-size:1.15rem;}
.card h3{font-size:1.375rem; font-weight:700; margin-bottom:.6rem;}
.card .sum{color:var(--muted); font-size:.9375rem; line-height:1.6; margin:0 0 1.2rem;}
.card .more{margin-top:auto; font-size:.9rem; color:var(--accent-ink); font-weight:600;}
a.card:hover .more{text-decoration:underline;}

.builds{}
.build{background:var(--card); border:1px solid var(--line); border-radius:0; padding:2rem;
  margin-bottom:1.5rem; display:flex; flex-wrap:wrap; align-items:flex-start;}
.shot-wrap{flex:1 1 380px; min-width:0; text-align:center; padding:.5rem;
  background:var(--paper-2); border:1px solid var(--line);}
.shot{display:inline-block; max-width:100%; max-height:520px; vertical-align:middle;
  background:var(--card);}
.build .body{flex:1 1 300px; min-width:0; padding:.5rem 1.25rem;}
.build h3{font-size:1.75rem; font-weight:700; margin-bottom:.8rem;}
.build p{font-size:1rem; color:var(--ink-soft); margin:0 0 .9rem;}
.build .frame{font-family:var(--mono); font-size:.8125rem; letter-spacing:.04em; color:var(--ink);
  text-transform:uppercase; border-top:2px solid var(--accent); padding-top:.6rem; display:inline-block;}

.certs{display:flex; gap:.6rem; flex-wrap:wrap;}
.chip{border:1px solid var(--line-strong); border-radius:2px; padding:.45rem 1rem; font-size:.875rem;
  font-family:var(--mono); color:var(--ink-soft); background:var(--card);}

.article{padding:clamp(2.6rem,7vw,5rem) 0 1rem;}
.backlink{font-size:.9rem; text-decoration:none; color:var(--muted); font-family:var(--mono);}
.backlink:hover{color:var(--accent-ink);}
.article h1{font-size:clamp(2.1rem,5vw,4rem); margin:1.2rem 0 .4rem; max-width:22ch; letter-spacing:-0.015em;}
.article .prose{margin-top:2rem;}
.outcomes{max-width:var(--read); margin:2.6rem 0 0; padding:2rem;
  border:2px solid var(--ink); border-radius:4px; background:var(--card);}
.outcomes h2{font-family:var(--mono); font-size:.8125rem; letter-spacing:.06em; text-transform:uppercase;
  color:var(--accent-ink); margin:0 0 1rem; font-weight:700;
  border-bottom:1px solid var(--line); padding-bottom:.7rem;}
.outcomes ul{margin:0; padding-left:1.15rem;}
.outcomes li{margin:0 0 .6rem; color:var(--ink-soft);}
.outcomes li::marker{color:var(--accent);}

.section-label{font-family:var(--mono); font-size:.8125rem; letter-spacing:.06em; text-transform:uppercase;
  color:var(--accent-ink); display:flex; justify-content:space-between; gap:1rem;
  border-bottom:1px solid var(--line); padding-bottom:.6rem; margin:0 0 1.4rem;}
.case-meta{display:flex; flex-wrap:wrap; gap:.4rem 1.75rem; font-family:var(--mono); font-size:.8125rem;
  letter-spacing:.04em; text-transform:uppercase; color:var(--muted);
  border-top:1px solid var(--line); border-bottom:1px solid var(--line);
  padding:.85rem 0; margin:1.6rem 0 0; list-style:none;}
.case-meta li{margin:0;}
.shot-wrap.is-tall{flex:0 1 340px;}
.shot-wrap.is-tall .shot{max-height:560px;}

.site-foot{border-top:1px solid var(--line); background:var(--paper); margin-top:0;}
.site-foot .wrap{padding-top:3rem; padding-bottom:3rem; display:flex; justify-content:space-between;
  gap:1.5rem; flex-wrap:wrap;}
.site-foot h2{font-size:1.375rem; margin-bottom:.5rem;}
.site-foot p{color:var(--muted); font-size:.9375rem; margin:0 0 .4rem; max-width:42ch;}
.site-foot .foot-links{display:flex; gap:1.4rem; flex-wrap:wrap; font-size:.9375rem;}
.site-foot .foot-links a{color:var(--ink-soft);}
.pending{font-family:var(--mono); font-size:.7rem; color:var(--muted); letter-spacing:.06em;}
