:root {
  --black: #050505;
  --black-2: #090909;
  --black-3: #0e0e0e;
  --graphite: #151515;
  --line: rgba(255,255,255,.11);
  --line-soft: rgba(255,255,255,.065);
  --white: #f3f3ef;
  --silver: #cfd0cd;
  --muted: #8f908d;
  --gold: #b48b42;
  --gold-light: #dfca93;
  --gold-dark: #644719;
  --max: 1320px;
  --pad: clamp(1.25rem, 3vw, 3rem);
  --ease: cubic-bezier(.2,.7,.2,1);
  --mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  --sans: "Manrope", "Helvetica Neue", Arial, sans-serif;
}
* { box-sizing: border-box; }
html { color-scheme: dark; scroll-behavior: smooth; }
body {
  margin: 0;
  min-width: 320px;
  font-family: var(--sans);
  color: var(--white);
  background: var(--black);
  line-height: 1.58;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 9999;
  pointer-events: none;
  opacity: .11;
  background: url("../assets/noise.svg") repeat;
  mix-blend-mode: soft-light;
}
::selection { background: rgba(180,139,66,.35); color: var(--white); }
a { color: inherit; text-decoration: none; }
img, svg, canvas { display: block; max-width: 100%; }
button, input, select, textarea { font: inherit; }
button { color: inherit; }
.container { width: min(calc(100% - (var(--pad) * 2)), var(--max)); margin-inline: auto; }
.sr-only { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
.skip-link { position: fixed; top: .75rem; left: .75rem; z-index: 10000; transform: translateY(-150%); background: var(--white); color: var(--black); padding: .75rem 1rem; }
.skip-link:focus { transform: none; }

/* Header */
.site-header { position: sticky; top: 0; z-index: 100; background: rgba(5,5,5,.88); backdrop-filter: blur(18px) saturate(120%); border-bottom: 1px solid var(--line-soft); transition: background .3s var(--ease), transform .3s var(--ease); }
.site-header.is-scrolled { background: rgba(5,5,5,.96); }
.utility-line { border-bottom: 1px solid var(--line-soft); }
.utility-line__inner { min-height: 30px; display:flex; justify-content:space-between; align-items:center; font: 500 .62rem/1 var(--mono); color: var(--muted); letter-spacing:.12em; text-transform:uppercase; }
.utility-line__status { display:flex; align-items:center; gap:.55rem; }
.utility-line__status i { width:5px; height:5px; border-radius:50%; background:var(--gold-light); box-shadow:0 0 12px rgba(223,202,147,.55); }
.nav-shell { min-height: 76px; display:flex; align-items:center; justify-content:space-between; gap:2rem; }
.brand { display:inline-flex; align-items:center; gap:.85rem; flex:0 0 auto; }
.brand__mark { width:44px; height:44px; object-fit:contain; filter:none; box-shadow:none; }
.brand--footer .brand__mark { width:46px; height:46px; }
.brand__wordmark { display:grid; gap:.27rem; white-space:nowrap; line-height:1; }
.brand__wordmark > span { font:700 .78rem/1 var(--sans); letter-spacing:.22em; }
.brand__wordmark b { font:500 .52rem/1 var(--mono); letter-spacing:.13em; color:var(--gold-light); }
.primary-nav { display:flex; align-items:center; gap:clamp(1rem,2.2vw,2.2rem); }
.primary-nav a { position:relative; font:500 .72rem/1 var(--mono); color:#b7b8b5; letter-spacing:.09em; text-transform:uppercase; transition:color .25s var(--ease); }
.primary-nav a:not(.nav-action)::after { content:""; position:absolute; left:0; right:100%; bottom:-.7rem; height:1px; background:linear-gradient(90deg,var(--gold),var(--gold-light)); transition:right .3s var(--ease); }
.primary-nav a:hover, .primary-nav a[aria-current="page"] { color:var(--white); }
.primary-nav a:hover::after, .primary-nav a[aria-current="page"]::after { right:0; }
.nav-action { display:inline-flex; align-items:center; gap:.8rem; min-height:42px; padding:0 1rem; border:1px solid rgba(180,139,66,.5); color:var(--white)!important; background:linear-gradient(180deg,rgba(180,139,66,.11),rgba(180,139,66,.03)); }
.nav-action span { color:var(--gold-light); }
.nav-toggle { display:none; width:44px; height:44px; padding:0; border:0; background:transparent; }
.nav-toggle span { display:block; width:24px; height:1px; margin:7px auto; background:var(--white); transition:transform .3s var(--ease); }

/* Common */
main { overflow:hidden; }
.precision-label, .section-kicker, .eyebrow, .card-code, .crumbs, .article-meta, .footer-label { font:500 .67rem/1.35 var(--mono); letter-spacing:.14em; text-transform:uppercase; }
.precision-label { display:flex; gap:1.2rem; color:var(--gold-light); }
.precision-label span + span { color:var(--muted); }
.display-title { margin:0; font-size:clamp(3.15rem,7.5vw,7.8rem); line-height:.92; letter-spacing:-.065em; font-weight:500; }
.display-title em { color:var(--silver); font-style:normal; font-weight:300; }
.section { padding:clamp(5.5rem,10vw,10rem) 0; position:relative; }
.section--tight { padding:clamp(3.5rem,7vw,6.5rem) 0; }
.section--graphite { background:var(--black-2); border-block:1px solid var(--line-soft); }
.section--grid::before { content:""; position:absolute; inset:0; pointer-events:none; opacity:.45; background:linear-gradient(90deg,transparent calc(25% - .5px),var(--line-soft) 25%,transparent calc(25% + .5px),transparent calc(50% - .5px),var(--line-soft) 50%,transparent calc(50% + .5px),transparent calc(75% - .5px),var(--line-soft) 75%,transparent calc(75% + .5px)); }
.section-heading { display:grid; grid-template-columns:minmax(160px,.36fr) 1fr; gap:2rem; align-items:start; margin-bottom:clamp(2.5rem,6vw,5.2rem); position:relative; }
.section-kicker { color:var(--gold-light); display:flex; align-items:center; gap:.75rem; }
.section-kicker::before { content:""; width:22px; height:1px; background:var(--gold); }
.section-heading h2, .page-hero h1 { margin:0; font-size:clamp(2.6rem,5.4vw,5.55rem); line-height:.98; letter-spacing:-.055em; font-weight:500; max-width:13ch; }
.section-heading__body p, .lead { margin:1.25rem 0 0; max-width:48rem; color:#a9aaa6; font-size:clamp(1rem,1.25vw,1.18rem); }
.gold-text { background:linear-gradient(105deg,var(--gold-dark),var(--gold-light) 48%,#f0dda6 62%,var(--gold)); -webkit-background-clip:text; background-clip:text; color:transparent; }
.rule { height:1px; background:linear-gradient(90deg,var(--gold),rgba(180,139,66,.05)); }
.button { display:inline-flex; align-items:center; justify-content:space-between; gap:1.2rem; min-height:54px; padding:0 1.25rem; font:600 .7rem/1 var(--mono); letter-spacing:.08em; text-transform:uppercase; border:1px solid var(--line); transition:transform .3s var(--ease),background .3s var(--ease),border-color .3s var(--ease),color .3s var(--ease); }
.button:hover { transform:translateY(-2px); }
.button--primary { color:#080808; background:linear-gradient(115deg,#8e6829,#e1cd98 52%,#9b742f); border-color:transparent; }
.button--dark { background:#0c0c0c; border-color:rgba(180,139,66,.4); }
.text-link { display:inline-flex; align-items:center; gap:1rem; font:500 .71rem/1 var(--mono); color:#c7c8c4; letter-spacing:.08em; text-transform:uppercase; }
.text-link span { color:var(--gold-light); transition:transform .25s var(--ease); }
.text-link:hover span { transform:translateX(4px); }
[data-reveal] { opacity:0; transform:translateY(20px); transition:opacity .8s var(--ease),transform .8s var(--ease); }
[data-reveal].is-visible { opacity:1; transform:none; }

.hero-emblem { width:clamp(72px,7vw,104px); margin:0 0 1.45rem; }
.hero-emblem img { width:100%; height:auto; object-fit:contain; filter:none; box-shadow:none; opacity:.98; }

/* Hero */
.home-hero { position:relative; min-height:min(930px,calc(100vh - 106px)); display:flex; flex-direction:column; justify-content:flex-end; border-bottom:1px solid var(--line-soft); background:#030303; }
.hero-network { position:absolute; inset:0; overflow:hidden; }
.hero-network canvas { width:100%; height:100%; }
.hero-network__veil { position:absolute; inset:0; background:linear-gradient(90deg,#030303 0%,rgba(3,3,3,.95) 29%,rgba(3,3,3,.48) 62%,rgba(3,3,3,.1) 100%),linear-gradient(0deg,#030303 0%,transparent 34%); }
.hero-coordinate { position:absolute; right:var(--pad); top:2.1rem; z-index:2; writing-mode:vertical-rl; font:500 .61rem/1 var(--mono); letter-spacing:.16em; color:rgba(255,255,255,.28); }
.hero-layout { position:relative; z-index:2; display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:clamp(3rem,8vw,8rem); align-items:end; padding-top:clamp(7rem,12vh,11rem); padding-bottom:clamp(3rem,7vh,6rem); }
.hero-copy h1 { margin:1.4rem 0 1.7rem; max-width:11ch; font-size:clamp(3.6rem,8.2vw,8.55rem); line-height:.88; letter-spacing:-.072em; font-weight:520; }
.hero-copy h1 em { display:inline-block; color:#bfc0bc; font-style:normal; font-weight:280; }
.hero-copy p { max-width:48rem; margin:0; color:#a8a9a5; font-size:clamp(1rem,1.35vw,1.22rem); }
.hero-actions { display:flex; align-items:center; gap:1.8rem; flex-wrap:wrap; margin-top:2rem; }
.hero-index { border-left:1px solid rgba(180,139,66,.42); padding-left:1.5rem; padding-bottom:.3rem; }
.hero-index__number { font:300 clamp(3rem,6vw,6rem)/1 var(--sans); color:rgba(255,255,255,.12); letter-spacing:-.08em; }
.hero-index__line { height:1px; margin:1.15rem 0; background:linear-gradient(90deg,var(--gold),transparent); }
.hero-index dl { margin:0; display:grid; gap:.9rem; }
.hero-index dl div { display:grid; grid-template-columns:72px 1fr; gap:.75rem; }
.hero-index dt { font:500 .6rem/1.5 var(--mono); color:var(--muted); letter-spacing:.1em; text-transform:uppercase; }
.hero-index dd { margin:0; color:#c3c4c0; font-size:.78rem; }
.hero-rail { position:relative; z-index:2; display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line-soft); }
.hero-rail span { padding:1rem 1.1rem; border-right:1px solid var(--line-soft); font:500 .61rem/1.3 var(--mono); color:#898a87; text-transform:uppercase; letter-spacing:.12em; }
.hero-rail span:first-child { padding-left:0; }
.hero-rail span:last-child { border-right:0; }

/* Cards & grids */
.capability-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.capability-card { min-height:360px; padding:clamp(1.4rem,3vw,2.4rem); border-right:1px solid var(--line); border-bottom:1px solid var(--line); background:linear-gradient(180deg,rgba(255,255,255,.018),transparent); position:relative; overflow:hidden; transition:background .35s var(--ease); }
.capability-card::after { content:""; position:absolute; left:0; right:100%; bottom:0; height:2px; background:linear-gradient(90deg,var(--gold-dark),var(--gold-light)); transition:right .45s var(--ease); }
.capability-card:hover { background:rgba(255,255,255,.033); }
.capability-card:hover::after { right:0; }
.card-code { color:var(--gold-light); }
.capability-card h3 { margin:6rem 0 1rem; max-width:12ch; font-size:clamp(1.55rem,2.3vw,2.35rem); line-height:1.05; letter-spacing:-.035em; font-weight:500; }
.capability-card p { margin:0; color:#969793; }
.capability-card a { position:absolute; left:clamp(1.4rem,3vw,2.4rem); bottom:1.7rem; }

.engagement-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line); }
.engagement { background:#080808; padding:clamp(1.5rem,3vw,2.6rem); min-height:320px; display:flex; flex-direction:column; }
.engagement__number { font:300 4rem/1 var(--sans); letter-spacing:-.07em; color:rgba(255,255,255,.12); }
.engagement h3 { margin:auto 0 .7rem; font-size:1.55rem; font-weight:500; }
.engagement p { margin:0; color:var(--muted); }

.work-stack { border-top:1px solid var(--line); }
.work-row { display:grid; grid-template-columns:110px minmax(240px,.75fr) 1.25fr 40px; gap:clamp(1rem,3vw,3rem); align-items:center; min-height:150px; border-bottom:1px solid var(--line); transition:background .3s var(--ease); }
.work-row:hover { background:rgba(255,255,255,.02); }
.work-row__index { font:500 .66rem/1 var(--mono); color:var(--gold-light); }
.work-row h3 { margin:0; font-size:clamp(1.35rem,2.4vw,2.4rem); font-weight:450; letter-spacing:-.035em; }
.work-row p { margin:0; color:var(--muted); max-width:48rem; }
.work-row__arrow { color:var(--gold-light); font-size:1.3rem; }

.local-panel { display:grid; grid-template-columns:.82fr 1.18fr; min-height:570px; border:1px solid var(--line); background:#080808; }
.local-map { position:relative; overflow:hidden; border-right:1px solid var(--line); background:radial-gradient(circle at 44% 45%,rgba(180,139,66,.16),transparent 4%),linear-gradient(var(--line-soft) 1px,transparent 1px),linear-gradient(90deg,var(--line-soft) 1px,transparent 1px),#070707; background-size:auto,38px 38px,38px 38px; }
.local-map::before, .local-map::after { content:""; position:absolute; border:1px solid rgba(180,139,66,.25); border-radius:50%; left:44%; top:45%; transform:translate(-50%,-50%); }
.local-map::before { width:140px; height:140px; }
.local-map::after { width:280px; height:280px; }
.local-map__label { position:absolute; left:44%; top:45%; transform:translate(-50%,-50%); font:500 .62rem/1.4 var(--mono); color:var(--gold-light); letter-spacing:.12em; text-transform:uppercase; text-align:center; }
.local-copy { padding:clamp(2rem,5vw,5rem); display:flex; flex-direction:column; justify-content:center; }
.local-copy h2 { margin:.8rem 0 1.2rem; max-width:10ch; font-size:clamp(2.6rem,5vw,5.2rem); line-height:.96; letter-spacing:-.055em; font-weight:500; }
.local-copy p { color:#9c9d99; max-width:45rem; }
.local-list { display:flex; flex-wrap:wrap; gap:.5rem 1.2rem; margin:1.2rem 0 2rem; font:500 .63rem/1.4 var(--mono); text-transform:uppercase; letter-spacing:.1em; color:#b1b2ae; }

.heritage-strip { border-block:1px solid var(--line-soft); overflow:hidden; }
.heritage-strip__track { min-height:82px; display:flex; align-items:center; gap:clamp(2rem,5vw,5rem); white-space:nowrap; color:#777875; font:500 .66rem/1 var(--mono); letter-spacing:.13em; text-transform:uppercase; }
.heritage-strip__track strong { color:var(--silver); font-weight:500; }

.notes-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.2rem; }
.note-card { display:flex; flex-direction:column; min-height:360px; padding:1.6rem; border:1px solid var(--line); background:linear-gradient(180deg,rgba(255,255,255,.022),transparent); }
.note-card__meta { font:500 .62rem/1.4 var(--mono); color:var(--gold-light); letter-spacing:.12em; text-transform:uppercase; }
.note-card h3 { margin:auto 0 1rem; font-size:clamp(1.45rem,2.1vw,2.1rem); line-height:1.08; letter-spacing:-.035em; font-weight:500; }
.note-card p { margin:0 0 1.4rem; color:var(--muted); }

.cta-panel { position:relative; overflow:hidden; display:grid; grid-template-columns:1fr auto; gap:2rem; align-items:end; padding:clamp(2rem,5vw,5rem); border:1px solid rgba(180,139,66,.35); background:linear-gradient(135deg,rgba(180,139,66,.1),rgba(255,255,255,.018) 46%,transparent); }
.cta-panel::after { content:"T"; position:absolute; right:-.02em; bottom:-.3em; font:300 23rem/1 var(--sans); color:rgba(255,255,255,.022); pointer-events:none; }
.cta-panel h2 { margin:0; max-width:12ch; font-size:clamp(2.6rem,5.6vw,5.6rem); line-height:.96; letter-spacing:-.06em; font-weight:500; }
.cta-panel p { max-width:43rem; color:var(--muted); }

/* Interior hero */
.page-hero { position:relative; padding:clamp(6rem,12vw,12rem) 0 clamp(4rem,7vw,7rem); border-bottom:1px solid var(--line); background:radial-gradient(circle at 80% 20%,rgba(180,139,66,.08),transparent 26%),#060606; }
.page-hero::after { content:""; position:absolute; right:0; top:0; width:44%; height:100%; opacity:.25; background:linear-gradient(90deg,var(--line-soft) 1px,transparent 1px),linear-gradient(var(--line-soft) 1px,transparent 1px); background-size:48px 48px; mask-image:linear-gradient(90deg,transparent,#000); }
.crumbs { position:relative; z-index:1; display:flex; flex-wrap:wrap; gap:.65rem; color:var(--muted); }
.crumbs a:hover { color:var(--white); }
.page-hero h1 { position:relative; z-index:1; margin:1.5rem 0 1.3rem; max-width:14ch; }
.page-hero p { position:relative; z-index:1; margin:0; max-width:50rem; color:#9fa09c; font-size:clamp(1rem,1.4vw,1.22rem); }
.page-hero__meta { position:relative; z-index:1; margin-top:2.5rem; display:flex; flex-wrap:wrap; gap:.6rem 1.5rem; font:500 .64rem/1.4 var(--mono); color:#9a9b97; text-transform:uppercase; letter-spacing:.1em; }
.page-hero__meta span::before { content:"—"; color:var(--gold); margin-right:.6rem; }

.two-column { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(280px,.55fr); gap:clamp(3rem,8vw,8rem); align-items:start; }
.prose { color:#a4a5a1; }
.prose h2, .prose h3 { color:var(--white); letter-spacing:-.035em; font-weight:500; }
.prose h2 { margin:3rem 0 1rem; font-size:clamp(2rem,4vw,3.5rem); line-height:1; }
.prose h3 { margin:2.2rem 0 .8rem; font-size:1.4rem; }
.prose p { margin:0 0 1.2rem; max-width:48rem; }
.prose ul { padding-left:1.2rem; }
.prose li { margin:.55rem 0; }
.sidebar-panel { position:sticky; top:140px; padding:1.5rem; border:1px solid var(--line); background:#090909; }
.sidebar-panel h3 { margin:0 0 1.2rem; font-size:1.15rem; font-weight:500; }
.data-list { margin:0; display:grid; }
.data-list div { display:grid; grid-template-columns:110px 1fr; gap:1rem; padding:.85rem 0; border-top:1px solid var(--line-soft); }
.data-list dt { font:500 .6rem/1.5 var(--mono); color:var(--muted); text-transform:uppercase; letter-spacing:.1em; }
.data-list dd { margin:0; font-size:.85rem; color:#c3c4c0; }

.timeline { border-top:1px solid var(--line); }
.timeline-row { display:grid; grid-template-columns:150px .72fr 1.28fr; gap:clamp(1.4rem,4vw,4rem); padding:2rem 0; border-bottom:1px solid var(--line); }
.timeline-row__date { font:500 .65rem/1.5 var(--mono); color:var(--gold-light); letter-spacing:.1em; text-transform:uppercase; }
.timeline-row h3 { margin:0; font-size:1.35rem; font-weight:500; }
.timeline-row p { margin:0; color:var(--muted); }

.service-list { border-top:1px solid var(--line); }
.service-item { display:grid; grid-template-columns:90px minmax(240px,.72fr) 1.28fr; gap:clamp(1.4rem,4vw,4rem); padding:clamp(2rem,4vw,3.5rem) 0; border-bottom:1px solid var(--line); }
.service-item__code { font:500 .65rem/1.5 var(--mono); color:var(--gold-light); }
.service-item h2 { margin:0; font-size:clamp(1.8rem,3vw,3rem); line-height:1.02; font-weight:500; letter-spacing:-.04em; }
.service-item p { margin:0 0 1rem; color:var(--muted); }
.service-item ul { margin:0; padding-left:1.15rem; color:#a9aaa6; }

.pricing-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line); }
.price-card { background:#080808; padding:2rem; min-height:350px; display:flex; flex-direction:column; }
.price-card--featured { background:linear-gradient(145deg,rgba(180,139,66,.12),#090909 55%); }
.price-card__label { font:500 .62rem/1.4 var(--mono); color:var(--gold-light); letter-spacing:.12em; text-transform:uppercase; }
.price-card h3 { margin:2.2rem 0 .6rem; font-size:1.7rem; font-weight:500; }
.price-card__price { font-size:2rem; color:var(--silver); }
.price-card p { color:var(--muted); }
.price-card .text-link { margin-top:auto; }

.faq-list { border-top:1px solid var(--line); }
.faq-item { border-bottom:1px solid var(--line); }
.faq-item button { width:100%; display:grid; grid-template-columns:1fr auto; gap:2rem; align-items:center; padding:1.6rem 0; text-align:left; border:0; background:transparent; cursor:pointer; }
.faq-item button span:first-child { font-size:clamp(1.05rem,1.5vw,1.3rem); }
.faq-item button span:last-child { color:var(--gold-light); font-size:1.2rem; transition:transform .3s var(--ease); }
.faq-item.is-open button span:last-child { transform:rotate(45deg); }
.faq-answer { display:grid; grid-template-rows:0fr; transition:grid-template-rows .35s var(--ease); }
.faq-answer > div { overflow:hidden; }
.faq-answer p { margin:0; padding:0 4rem 1.6rem 0; max-width:55rem; color:var(--muted); }
.faq-item.is-open .faq-answer { grid-template-rows:1fr; }

.work-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1.2rem; }
.project-card { min-height:470px; display:flex; flex-direction:column; padding:clamp(1.5rem,3vw,2.5rem); border:1px solid var(--line); background:radial-gradient(circle at 85% 15%,rgba(180,139,66,.08),transparent 24%),#080808; }
.project-card__top { display:flex; justify-content:space-between; gap:1rem; font:500 .62rem/1.4 var(--mono); color:var(--muted); text-transform:uppercase; letter-spacing:.1em; }
.project-card__visual { position:relative; height:160px; margin:2rem 0; overflow:hidden; border-block:1px solid var(--line-soft); background:linear-gradient(90deg,var(--line-soft) 1px,transparent 1px),linear-gradient(var(--line-soft) 1px,transparent 1px); background-size:28px 28px; }
.project-card__visual::before { content:""; position:absolute; width:180px; height:180px; border:1px solid rgba(180,139,66,.5); border-radius:50%; left:50%; top:50%; transform:translate(-50%,-50%); box-shadow:0 0 60px rgba(180,139,66,.08); }
.project-card__visual::after { content:""; position:absolute; height:1px; left:10%; right:10%; top:50%; background:linear-gradient(90deg,transparent,var(--gold-light),transparent); }
.project-card h2 { margin:auto 0 .8rem; font-size:clamp(1.8rem,3vw,3rem); line-height:1; letter-spacing:-.045em; font-weight:500; }
.project-card p { margin:0; color:var(--muted); }

/* Articles */
.article-shell { display:grid; grid-template-columns:minmax(0,750px) 260px; gap:clamp(3rem,8vw,8rem); align-items:start; }
.article { font-size:1.05rem; color:#aaa; }
.article h2 { margin:3.5rem 0 1rem; color:var(--white); font-size:clamp(2rem,3.8vw,3.4rem); line-height:1; letter-spacing:-.045em; font-weight:500; }
.article h3 { margin:2.2rem 0 .8rem; color:var(--white); font-size:1.35rem; font-weight:500; }
.article p { margin:0 0 1.35rem; }
.article ul, .article ol { padding-left:1.25rem; }
.article li { margin:.7rem 0; }
.article blockquote { margin:2.5rem 0; padding:1.5rem 0 1.5rem 1.5rem; border-left:1px solid var(--gold); color:var(--silver); font-size:1.35rem; }
.article-aside { position:sticky; top:140px; }
.article-aside nav { display:grid; border-top:1px solid var(--line); }
.article-aside a { padding:.9rem 0; border-bottom:1px solid var(--line-soft); font:500 .62rem/1.45 var(--mono); color:var(--muted); text-transform:uppercase; letter-spacing:.1em; }
.article-aside a:hover { color:var(--white); }
.article-meta { display:flex; flex-wrap:wrap; gap:.7rem 1.4rem; color:var(--muted); }
.article-meta span::before { content:"/"; color:var(--gold); margin-right:.6rem; }

/* Contact */
.contact-layout { display:grid; grid-template-columns:.62fr 1.38fr; gap:clamp(3rem,8vw,8rem); }
.contact-intro h2 { margin:0 0 1rem; font-size:clamp(2rem,4vw,3.8rem); line-height:1; letter-spacing:-.05em; font-weight:500; }
.contact-intro p { color:var(--muted); }
.contact-data { margin-top:2rem; border-top:1px solid var(--line); }
.contact-data div { padding:1rem 0; border-bottom:1px solid var(--line-soft); }
.contact-data span { display:block; font:500 .59rem/1.4 var(--mono); color:var(--muted); text-transform:uppercase; letter-spacing:.11em; }
.contact-data a, .contact-data strong { display:block; margin-top:.35rem; color:var(--silver); font-weight:500; }
.contact-form { display:grid; grid-template-columns:repeat(2,1fr); gap:1.2rem; }
.field { display:grid; gap:.55rem; }
.field--full { grid-column:1/-1; }
.field label { font:500 .61rem/1.4 var(--mono); color:var(--muted); text-transform:uppercase; letter-spacing:.11em; }
.field input, .field select, .field textarea { width:100%; color:var(--white); background:#090909; border:1px solid var(--line); border-radius:0; padding:1rem; outline:none; transition:border-color .25s var(--ease),background .25s var(--ease); }
.field input:focus, .field select:focus, .field textarea:focus { border-color:rgba(180,139,66,.75); background:#0c0c0c; }
.field textarea { min-height:180px; resize:vertical; }
.form-footer { grid-column:1/-1; display:flex; justify-content:space-between; gap:1rem; align-items:center; flex-wrap:wrap; }
.form-note { margin:0; max-width:36rem; font-size:.78rem; color:var(--muted); }

/* Footer */
.site-footer { border-top:1px solid var(--line); background:#050505; }
.footer-main { display:grid; grid-template-columns:1.55fr repeat(3,1fr); gap:clamp(2rem,5vw,5rem); padding:clamp(4rem,8vw,7rem) 0; }
.footer-brand p { max-width:35rem; color:var(--muted); }
.brand--footer { margin-bottom:1.4rem; }
.footer-column { display:flex; flex-direction:column; align-items:flex-start; gap:.75rem; color:#858683; font-size:.81rem; }
.footer-column a:hover { color:var(--white); }
.footer-label { color:var(--gold-light); margin-bottom:.45rem; }
.footer-bottom { min-height:74px; display:grid; grid-template-columns:1fr auto 1fr; gap:1rem; align-items:center; border-top:1px solid var(--line-soft); font:500 .58rem/1.4 var(--mono); color:#676865; text-transform:uppercase; letter-spacing:.09em; }
.footer-bottom div { display:flex; gap:1.3rem; }
.footer-bottom > span:last-child { text-align:right; }


/* Special projects and case studies */
.special-home__grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.special-home__grid > a { min-height:270px; padding:1.6rem; border-right:1px solid var(--line); border-bottom:1px solid var(--line); display:flex; flex-direction:column; background:linear-gradient(180deg,rgba(255,255,255,.018),transparent); transition:background .3s var(--ease),transform .3s var(--ease); }
.special-home__grid > a:hover { background:rgba(255,255,255,.035); transform:translateY(-2px); }
.special-home__grid span, .territory-card__index, .protocol-step > span, .case-card__meta, .founder-signal > span, .related-card > span { font:500 .62rem/1.4 var(--mono); color:var(--gold-light); letter-spacing:.12em; text-transform:uppercase; }
.special-home__grid h3 { margin:auto 0 .7rem; font-size:clamp(1.35rem,2vw,2rem); line-height:1.06; font-weight:500; letter-spacing:-.035em; }
.special-home__grid p { margin:0; color:var(--muted); }

.territory-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:var(--line); border:1px solid var(--line); }
.territory-card { min-height:500px; padding:clamp(1.6rem,3.5vw,3rem); background:#080808; scroll-margin-top:130px; }
.territory-card h2 { margin:4rem 0 1rem; max-width:12ch; font-size:clamp(2rem,3.8vw,3.8rem); line-height:.98; letter-spacing:-.05em; font-weight:500; }
.territory-card p { color:#a0a19d; max-width:43rem; }
.territory-card ul { margin:2rem 0 0; padding:1.2rem 0 0; border-top:1px solid var(--line-soft); list-style:none; color:#a9aaa6; }
.territory-card li { position:relative; padding:.55rem 0 .55rem 1.3rem; border-bottom:1px solid var(--line-soft); }
.territory-card li::before { content:"+"; position:absolute; left:0; color:var(--gold-light); }

.protocol-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:1px; background:var(--line); border:1px solid var(--line); }
.protocol-step { min-height:290px; padding:1.5rem; background:#080808; display:flex; flex-direction:column; }
.protocol-step h3 { margin:auto 0 .7rem; font-size:1.3rem; font-weight:500; }
.protocol-step p { margin:0; color:var(--muted); }

.case-study-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.2rem; }
.case-card { min-height:520px; display:flex; flex-direction:column; padding:1rem; border:1px solid var(--line); background:#080808; transition:transform .3s var(--ease),border-color .3s var(--ease),background .3s var(--ease); }
.case-card:hover { transform:translateY(-3px); border-color:rgba(180,139,66,.45); background:#0a0a0a; }
.case-card__visual { aspect-ratio:16/9; overflow:hidden; border:1px solid var(--line-soft); background:#050505; }
.case-card__visual img { width:100%; height:100%; object-fit:cover; }
.case-card__meta { margin-top:1.2rem; color:var(--gold-light); }
.case-card h3 { margin:auto 0 .8rem; padding-top:3rem; font-size:clamp(1.6rem,2.5vw,2.7rem); line-height:1; letter-spacing:-.045em; font-weight:500; }
.case-card p { margin:0 0 1.4rem; color:var(--muted); }
.case-card .text-link b { color:var(--gold-light); font-weight:500; transition:transform .25s var(--ease); }

.project-card__diagram { width:100%; height:100%; object-fit:cover; }
.project-card__visual:has(.project-card__diagram)::before, .project-card__visual:has(.project-card__diagram)::after { display:none; }
.project-card__cta { margin-top:1.3rem; }
.service-item__link { display:inline-flex; margin-top:1.1rem; }

.case-hero h1 { max-width:16ch; }
.case-study-overview { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(260px,.55fr); gap:1.2rem; align-items:stretch; }
.case-study-figure { margin:0; border:1px solid var(--line); background:#050505; }
.case-study-figure img { width:100%; aspect-ratio:16/9; object-fit:cover; }
.case-study-figure figcaption { padding:1rem 1.2rem; border-top:1px solid var(--line-soft); color:#777875; font:500 .59rem/1.55 var(--mono); letter-spacing:.06em; text-transform:uppercase; }
.case-facts { padding:1.5rem; border:1px solid var(--line); background:#090909; }
.case-facts__label { margin-bottom:1rem; font:500 .62rem/1.4 var(--mono); color:var(--gold-light); letter-spacing:.12em; text-transform:uppercase; }
.case-aside-panel { position:static; margin-top:1.2rem; }
.case-aside-panel p { color:var(--muted); font-size:.86rem; }
.case-aside-panel .button { width:100%; margin-top:1rem; }

.evidence-grid, .application-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1px; margin:1.8rem 0 2.5rem; background:var(--line); border:1px solid var(--line); }
.evidence-card, .application-card { min-height:210px; padding:1.35rem; background:#080808; }
.evidence-card > span { font:500 .62rem/1.4 var(--mono); color:var(--gold-light); letter-spacing:.12em; }
.evidence-card h3, .application-card h3 { margin:3rem 0 .65rem; color:var(--white); font-size:1.25rem; font-weight:500; }
.application-card h3 { margin:0 0 .65rem; }
.evidence-card p, .application-card p { margin:0; color:var(--muted); }

.related-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line); }
.related-card { min-height:250px; padding:1.5rem; background:#080808; display:flex; flex-direction:column; transition:background .3s var(--ease); }
.related-card:hover { background:#0b0b0b; }
.related-card h3 { margin:auto 0 .8rem; font-size:1.65rem; line-height:1.05; font-weight:500; }
.related-card b { color:var(--gold-light); font:500 .66rem/1.4 var(--mono); text-transform:uppercase; letter-spacing:.1em; }

.founder-profile { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr); gap:clamp(3rem,7vw,7rem); align-items:start; }
.founder-profile__bio h2 { margin:.9rem 0 1.3rem; max-width:12ch; font-size:clamp(2.7rem,5vw,5.2rem); line-height:.97; letter-spacing:-.055em; font-weight:500; }
.founder-profile__bio p { color:#a4a5a1; max-width:50rem; }
.founder-profile__links { display:flex; flex-wrap:wrap; gap:1rem 2rem; margin-top:2rem; }
.founder-signal-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:var(--line); border:1px solid var(--line); }
.founder-signal { min-height:250px; padding:1.3rem; background:#080808; display:flex; flex-direction:column; }
.founder-signal h3 { margin:auto 0 .6rem; font-size:1.2rem; line-height:1.08; font-weight:500; }
.founder-signal p { margin:0; color:var(--muted); font-size:.88rem; }

@media (max-width: 1180px) {
  .primary-nav { gap:clamp(.7rem,1.4vw,1.2rem); }
  .primary-nav a { font-size:.66rem; letter-spacing:.075em; }
  .nav-action { padding-inline:.8rem; }
}
@media (max-width: 1020px) {
  .special-home__grid, .protocol-grid, .case-study-grid, .related-grid { grid-template-columns:1fr 1fr; }
  .protocol-step:last-child, .case-card:last-child, .related-card:last-child { grid-column:1/-1; }
  .case-study-overview, .founder-profile { grid-template-columns:1fr; }
}
@media (max-width: 720px) {
  .special-home__grid, .territory-grid, .protocol-grid, .case-study-grid, .related-grid, .evidence-grid, .application-grid, .founder-signal-grid { grid-template-columns:1fr; }
  .protocol-step:last-child, .case-card:last-child, .related-card:last-child { grid-column:auto; }
  .territory-card { min-height:0; }
  .territory-card h2 { margin-top:3rem; }
  .case-card { min-height:440px; }
}


/* Responsive */
@media (max-width: 1020px) {
  .nav-toggle { display:block; }
  .primary-nav { position:absolute; left:var(--pad); right:var(--pad); top:calc(100% + 1px); display:none; flex-direction:column; align-items:stretch; gap:0; background:#070707; border:1px solid var(--line); }
  .primary-nav.is-open { display:flex; }
  .primary-nav a { padding:1rem; border-bottom:1px solid var(--line-soft); }
  .primary-nav a::after { display:none; }
  .nav-action { border:0; min-height:auto; }
  .hero-layout { grid-template-columns:1fr; }
  .hero-index { display:none; }
  .hero-rail { grid-template-columns:repeat(2,1fr); }
  .hero-rail span:nth-child(2) { border-right:0; }
  .hero-rail span:nth-child(-n+2) { border-bottom:1px solid var(--line-soft); }
  .section-heading { grid-template-columns:1fr; }
  .capability-grid, .engagement-grid, .pricing-grid { grid-template-columns:1fr; }
  .capability-card { min-height:300px; }
  .capability-card h3 { margin-top:4rem; }
  .local-panel, .contact-layout { grid-template-columns:1fr; }
  .local-map { min-height:380px; border-right:0; border-bottom:1px solid var(--line); }
  .footer-main { grid-template-columns:repeat(2,1fr); }
  .work-row { grid-template-columns:70px 1fr 40px; padding:1.4rem 0; }
  .work-row p { grid-column:2/3; }
  .timeline-row, .service-item { grid-template-columns:110px 1fr; }
  .timeline-row p, .service-item > div:last-child { grid-column:2/3; }
  .article-shell { grid-template-columns:1fr; }
  .article-aside { position:static; }
}
@media (max-width: 720px) {
  .utility-line__inner span:first-child { display:none; }
  .utility-line__inner { justify-content:flex-end; }
  .nav-shell { min-height:66px; }
  .brand__wordmark > span { font-size:.69rem; letter-spacing:.17em; }
  .brand__wordmark b { font-size:.46rem; letter-spacing:.1em; }
  .hero-copy h1 { font-size:clamp(3.25rem,16vw,5.2rem); }
  .hero-network__veil { background:linear-gradient(90deg,#030303 0%,rgba(3,3,3,.8) 100%),linear-gradient(0deg,#030303 0%,transparent 40%); }
  .hero-coordinate { display:none; }
  .hero-actions { align-items:flex-start; flex-direction:column; }
  .hero-rail { grid-template-columns:1fr; }
  .hero-rail span { border-right:0; border-bottom:1px solid var(--line-soft)!important; padding-left:0; }
  .hero-rail span:last-child { border-bottom:0!important; }
  .capability-card { min-height:320px; }
  .work-stack { border-top:0; }
  .work-row { grid-template-columns:50px 1fr 26px; min-height:0; padding:1.5rem 0; }
  .work-row p { grid-column:1/-1; }
  .notes-grid, .work-grid { grid-template-columns:1fr; }
  .cta-panel { grid-template-columns:1fr; }
  .cta-panel::after { font-size:15rem; }
  .two-column { grid-template-columns:1fr; }
  .sidebar-panel { position:static; }
  .timeline-row, .service-item { grid-template-columns:1fr; }
  .timeline-row p, .service-item > div:last-child { grid-column:auto; }
  .contact-form { grid-template-columns:1fr; }
  .field--full, .form-footer { grid-column:auto; }
  .footer-main { grid-template-columns:1fr; }
  .footer-bottom { grid-template-columns:1fr; padding:1.4rem 0; }
  .footer-bottom > span:last-child { text-align:left; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after { animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }
  [data-reveal] { opacity:1; transform:none; }
}

/* ============================================================
   V4 — Neural constellation on every header
   ============================================================ */
.page-hero { overflow:hidden; isolation:isolate; }
.page-hero__network { position:absolute; inset:0; z-index:0; overflow:hidden; pointer-events:none; }
.page-hero__network canvas { width:100%; height:100%; display:block; opacity:.9; }
.page-hero__network-veil {
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,#050505 0%,rgba(5,5,5,.94) 30%,rgba(5,5,5,.58) 64%,rgba(5,5,5,.16) 100%),
    linear-gradient(0deg,#050505 0%,rgba(5,5,5,.28) 48%,rgba(5,5,5,.06) 100%);
}
.page-hero > .container { position:relative; z-index:2; }
.page-hero::after { z-index:1; opacity:.11; pointer-events:none; }
.home-hero .hero-network canvas { opacity:.96; }

/* ============================================================
   V4 — Expanded library and credibility patterns
   ============================================================ */
.library-groups { display:grid; gap:clamp(3rem,7vw,6rem); }
.library-group__header { display:grid; grid-template-columns:90px minmax(0,1fr); gap:1.5rem; align-items:start; margin-bottom:1.35rem; }
.library-group__code { font:500 .64rem/1.4 var(--mono); color:var(--gold-light); letter-spacing:.1em; text-transform:uppercase; }
.library-group__header h2 { margin:0 0 .65rem; font-size:clamp(2rem,4vw,4rem); line-height:.96; letter-spacing:-.05em; font-weight:500; }
.library-group__header p { margin:0; max-width:58rem; color:var(--muted); }
.library-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; border:1px solid var(--line); background:var(--line); }
.library-card { min-height:290px; display:flex; flex-direction:column; padding:1.5rem; background:#080808; transition:background .25s ease,transform .25s ease; }
.library-card:hover { background:#0d0d0d; transform:translateY(-2px); }
.library-card__meta { display:flex; justify-content:space-between; gap:1rem; font:500 .59rem/1.4 var(--mono); color:var(--muted); letter-spacing:.09em; text-transform:uppercase; }
.library-card h3 { margin:auto 0 .75rem; font-size:clamp(1.4rem,2.2vw,2rem); line-height:1.05; font-weight:500; letter-spacing:-.035em; }
.library-card p { margin:0 0 1.2rem; color:var(--muted); }
.library-card__link { margin-top:auto; }
.scope-strip { display:grid; grid-template-columns:repeat(4,1fr); border:1px solid var(--line); background:var(--line); gap:1px; }
.scope-strip > div { padding:1.4rem; background:#080808; }
.scope-strip span { display:block; margin-bottom:.7rem; font:500 .59rem/1.4 var(--mono); color:var(--gold-light); letter-spacing:.1em; text-transform:uppercase; }
.scope-strip h3 { margin:0 0 .55rem; font-size:1.05rem; font-weight:500; }
.scope-strip p { margin:0; color:var(--muted); font-size:.86rem; }
.project-card--linked { transition:transform .25s ease,border-color .25s ease,background .25s ease; }
.project-card--linked:hover { transform:translateY(-3px); border-color:rgba(198,161,91,.45); background:#0b0b0b; }
.practice-bridge { display:grid; grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr); gap:clamp(2rem,6vw,6rem); align-items:start; }
.practice-bridge__points { display:grid; border-top:1px solid var(--line); }
.practice-bridge__point { display:grid; grid-template-columns:78px 1fr; gap:1.2rem; padding:1.2rem 0; border-bottom:1px solid var(--line-soft); }
.practice-bridge__point span { font:500 .59rem/1.4 var(--mono); color:var(--gold-light); letter-spacing:.1em; text-transform:uppercase; }
.practice-bridge__point p { margin:0; color:var(--muted); }

@media (max-width:980px) {
  .library-grid { grid-template-columns:repeat(2,1fr); }
  .scope-strip { grid-template-columns:repeat(2,1fr); }
  .practice-bridge { grid-template-columns:1fr; }
}
@media (max-width:680px) {
  .library-grid, .scope-strip { grid-template-columns:1fr; }
  .library-group__header { grid-template-columns:1fr; }
}
