:root {
  color-scheme: light;
  --paper: #f4f0e7;
  --surface: #fbf8f1;
  --ink: #191816;
  --ink-soft: #5e5a52;
  --line: #cec7b9;
  --night: #211b24;
  --night-soft: #332b36;
  --light: #faf7ef;
  --rust: #a64d35;
  --rust-light: #d77a5d;
  --moss: #315c4b;
  --focus: #1166cc;
  --max: 1480px;
  --pad: clamp(1.15rem, 3.3vw, 3.75rem);
  --section: clamp(5.5rem, 10vw, 10rem);
  --display: "Arial Narrow", "Helvetica Neue", Arial, sans-serif;
  --body: "Helvetica Neue", Helvetica, Arial, sans-serif;
  --serif: Georgia, "Times New Roman", serif;
  --ease: cubic-bezier(.22,.72,.2,1);
}

html[data-theme="dark"] {
  color-scheme: dark;
  --paper: #171619;
  --surface: #211f23;
  --ink: #f3eee5;
  --ink-soft: #b8b0a5;
  --line: #49444b;
  --night: #0d0c0f;
  --night-soft: #262128;
  --light: #f7f2e8;
  --rust: #cf7155;
  --rust-light: #e18b70;
  --moss: #6da18a;
  --focus: #8fc5ff;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font: 17px/1.55 var(--body); }
img { display: block; max-width: 100%; }
a { color: inherit; }
button, input, select, textarea { font: inherit; }
button { color: inherit; }
::selection { background: var(--rust); color: #fff; }
:focus-visible { outline: 3px solid var(--focus); outline-offset: 4px; }
.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; z-index: 100; top: .75rem; left: .75rem; transform: translateY(-180%); padding: .75rem 1rem; background: var(--rust); color: #fff; text-decoration: none; }
.skip-link:focus { transform: none; }

.site-header { position: sticky; z-index: 30; top: 0; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 2rem; width: 100%; min-height: 5rem; padding: .9rem var(--pad); background: color-mix(in srgb, var(--paper) 92%, transparent); border-bottom: 1px solid var(--line); backdrop-filter: blur(16px); }
.site-header.scrolled { box-shadow: 0 .45rem 1.5rem rgba(15,12,14,.06); }
.brand { display: flex; align-items: center; gap: .65rem; width: max-content; color: inherit; font-weight: 800; letter-spacing: -.035em; text-decoration: none; }
.brand-mark { display: grid; place-items: center; width: 1.85rem; aspect-ratio: 1; border: 1px solid currentColor; border-radius: 50%; font-size: .72rem; }
.nav { display: flex; align-items: center; justify-content: center; gap: clamp(1.25rem, 2.8vw, 3rem); }
.nav a, .footer nav a { color: var(--ink-soft); font-size: .73rem; font-weight: 700; letter-spacing: .1em; text-decoration: none; text-transform: uppercase; }
.nav a:hover, .nav a[aria-current="page"], .footer nav a:hover { color: var(--ink); }
.header-actions { display: flex; align-items: center; justify-content: flex-end; gap: .7rem; }
.theme-toggle, .menu-toggle { border: 1px solid var(--line); background: transparent; cursor: pointer; }
.theme-toggle { display: grid; place-items: center; width: 2.45rem; aspect-ratio: 1; border-radius: 50%; }
.menu-toggle { display: none; padding: .5rem .7rem; font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }

.button, button.button { display: inline-flex; align-items: center; justify-content: center; gap: .65rem; width: max-content; min-height: 3.25rem; padding: .85rem 1.15rem; border: 1px solid var(--ink); background: var(--ink); color: var(--paper); font-size: .76rem; font-weight: 800; letter-spacing: .08em; line-height: 1.1; text-decoration: none; text-transform: uppercase; transition: transform .18s var(--ease), background .18s var(--ease), color .18s var(--ease); }
.button:hover { transform: translateY(-2px); background: var(--rust); border-color: var(--rust); color: #fff; }
.button-small { min-height: 2.65rem; padding: .7rem .9rem; font-size: .66rem; }
.button-light { background: var(--light); border-color: var(--light); color: #211b24; }
.button-light:hover { background: var(--rust-light); border-color: var(--rust-light); color: #211b24; }
.button-outline { background: transparent; color: var(--ink); }
.button-row { display: flex; flex-wrap: wrap; align-items: center; gap: 1.4rem; margin-top: 2.25rem; }
.text-link { display: inline-flex; align-items: center; gap: .7rem; width: max-content; border-bottom: 1px solid currentColor; padding-bottom: .22rem; font-size: .76rem; font-weight: 800; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }
.text-link:hover { color: var(--rust); }
.text-link-light { color: var(--light); }
.section-link { margin-top: 2.5rem; }

.eyebrow { margin: 0 0 1.25rem; color: var(--rust); font-size: .68rem; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.eyebrow-light { color: var(--rust-light); }
h1, h2, h3, p { text-wrap: pretty; }
h1, h2, h3 { font-family: var(--display); }
.section { max-width: var(--max); margin: 0 auto; padding: var(--section) var(--pad); }
.section-intro { margin-bottom: clamp(3.25rem, 6vw, 6rem); }
.section-intro h2, .page-hero h1, .closing-cta h2 { margin: 0; font-size: clamp(3.1rem, 6.5vw, 7.5rem); font-weight: 700; letter-spacing: -.07em; line-height: .92; }
.split-intro { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(18rem, .65fr); gap: clamp(2rem, 8vw, 9rem); align-items: end; }
.split-intro > p { max-width: 35rem; margin: 0; color: var(--ink-soft); font-size: clamp(1rem, 1.35vw, 1.25rem); }

.hero-home { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(18rem, .5fr); gap: clamp(3rem, 8vw, 9rem); min-height: calc(100svh - 5rem); max-width: var(--max); margin: auto; padding: clamp(5rem, 11vh, 9rem) var(--pad) clamp(4rem, 9vh, 7rem); align-items: center; }
.hero-home h1 { max-width: 11ch; margin: 0; font-size: clamp(4rem, 8.4vw, 9.6rem); font-weight: 700; letter-spacing: -.082em; line-height: .83; }
.hero-home h1 em { color: var(--rust); font-family: var(--serif); font-weight: 400; }
.hero-lede { max-width: 47rem; margin: 2.4rem 0 0; color: var(--ink-soft); font-size: clamp(1.1rem, 1.6vw, 1.5rem); line-height: 1.45; }
.hero-home-aside { border-top: 1px solid var(--line); }
.signal-card { display: grid; grid-template-columns: 2.5rem 1fr; gap: 1rem; padding: 1.4rem 0; border-bottom: 1px solid var(--line); }
.signal-card p { margin: 0; font-size: .95rem; }
.signal-number { color: var(--rust); font-size: .65rem; font-weight: 800; letter-spacing: .12em; }
.signal-card-accent { margin-top: 1.5rem; padding: 1.4rem; background: #873c2a; border: 0; color: #fff; }
.signal-card-accent .signal-number { color: #fff; }

.proof-strip { display: grid; grid-template-columns: repeat(3, 1fr); max-width: none; border-block: 1px solid var(--line); background: var(--surface); }
.proof-strip p { min-height: 6.5rem; margin: 0; padding: 1.5rem var(--pad); color: var(--ink-soft); font-size: .84rem; }
.proof-strip p + p { border-left: 1px solid var(--line); }
.proof-strip span { display: block; margin-bottom: .35rem; color: var(--ink); font-weight: 800; }

.thesis-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(18rem, .65fr); gap: clamp(3rem, 10vw, 12rem); border-top: 1px solid var(--line); padding-top: 2rem; }
.display-copy { max-width: 18ch; margin: 0; font: 400 clamp(2rem, 4vw, 4.8rem)/1.07 var(--serif); letter-spacing: -.045em; }
.body-copy { color: var(--ink-soft); font-size: clamp(1rem, 1.3vw, 1.2rem); }
.body-copy p:first-child { margin-top: 0; }

.reference-teaser { display: grid; grid-template-columns: minmax(19rem, .58fr) minmax(0, 1.42fr); gap: clamp(3rem, 6vw, 7rem); padding: var(--section) var(--pad); background: var(--night); color: var(--light); align-items: center; }
.reference-teaser-copy { max-width: 34rem; }
.reference-teaser-copy h2 { margin: 0 0 1.25rem; font: 400 clamp(3.5rem, 7vw, 8.5rem)/.9 var(--serif); letter-spacing: -.065em; }
.reference-teaser-copy > p:not(.eyebrow) { color: #c6bdc7; font-size: clamp(1rem, 1.4vw, 1.25rem); }
.reference-teaser-copy .button { margin-top: 1.5rem; }
.reference-window { display: block; max-width: 920px; margin-left: auto; overflow: hidden; box-shadow: 0 3rem 8rem rgba(0,0,0,.35); color: #1b1a17; text-decoration: none; transform: rotate(1deg); transition: transform .45s var(--ease); }
.reference-window:hover { transform: rotate(0); }
.reference-browser-bar { display: flex; align-items: center; gap: .35rem; height: 2.5rem; padding: 0 1rem; background: #eee7db; color: #5f5a53; font-size: .55rem; }
.reference-browser-bar i { width: .42rem; aspect-ratio: 1; background: #aca69b; border-radius: 50%; }
.reference-browser-bar span { margin: auto; }
.reference-browser-screen { position: relative; min-height: clamp(28rem, 49vw, 48rem); overflow: hidden; padding: clamp(1.5rem, 4vw, 4rem); background: #ddd5c6; }
.concept-wordmark { margin: 0; font-size: .65rem; font-weight: 900; letter-spacing: .18em; }
.concept-kicker { margin: 8vh 0 1rem; color: #a64d35; font: italic 400 clamp(1rem, 1.5vw, 1.4rem)/1.3 var(--serif); }
.reference-browser-screen strong { position: relative; z-index: 2; display: block; max-width: 12ch; font: 400 clamp(2.5rem, 5.4vw, 6.7rem)/.92 var(--serif); letter-spacing: -.055em; }
.concept-link { position: relative; z-index: 2; display: block; margin-top: 1.5rem; font-size: .65rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.reference-browser-screen img { position: absolute; right: -12%; bottom: -10%; width: 82%; mix-blend-mode: multiply; }

.reference-showcase { padding: var(--section) var(--pad); background: var(--night); color: var(--light); }
.reference-showcase-head { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(18rem, .55fr); gap: clamp(2rem, 8vw, 9rem); max-width: var(--max); margin: 0 auto clamp(3rem, 7vw, 6rem); align-items: end; }
.reference-showcase-head h2 { max-width: 13ch; margin: 0; font-size: clamp(3.1rem, 6.5vw, 7.5rem); letter-spacing: -.07em; line-height: .92; }
.reference-showcase-head > p { margin: 0; color: #c6bdc7; font-size: clamp(1rem, 1.35vw, 1.2rem); }
.reference-showcase-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; max-width: var(--max); margin: auto; background: #4a414b; border: 1px solid #4a414b; }
.reference-entry { min-width: 0; background: #251f28; }
.reference-entry-copy { min-height: 24rem; padding: clamp(1.5rem, 3vw, 3rem); }
.reference-boundary { margin: 0 0 3.5rem; color: #d8d0d9; font-size: .68rem; letter-spacing: .08em; line-height: 1.6; text-transform: uppercase; }
.reference-boundary strong { color: #fff; }
.reference-entry h3 { margin: 0 0 1.25rem; font-size: clamp(2.8rem, 5vw, 6rem); line-height: .9; letter-spacing: -.065em; }
.ridge-entry h3 { font-family: var(--serif); font-weight: 400; }
.reference-entry-copy > p:not(.reference-boundary) { max-width: 37rem; color: #c6bdc7; }
.reference-entry-copy .text-link { margin-top: 1.25rem; }
.reference-window-compact { width: calc(100% - clamp(1.5rem, 3vw, 3rem) * 2); margin: 0 clamp(1.5rem, 3vw, 3rem) clamp(1.5rem, 3vw, 3rem); transform: none; }
.reference-window-compact .reference-browser-screen { min-height: clamp(25rem, 39vw, 39rem); }
.rook-entry { background: #091113; }
.rook-entry h3 { font-family: var(--body); font-weight: 800; letter-spacing: -.075em; }
.rook-link { color: #8cf6ff; }
.rook-window { display: block; width: calc(100% - clamp(1.5rem, 3vw, 3rem) * 2); margin: 0 clamp(1.5rem, 3vw, 3rem) clamp(1.5rem, 3vw, 3rem); overflow: hidden; border: 1px solid #38636a; color: #e8fdff; text-decoration: none; }
.rook-window-bar { display: flex; justify-content: space-between; gap: 1rem; padding: .85rem 1rem; border-bottom: 1px solid #38636a; background: #0c181b; color: #8cf6ff; font: 700 .58rem/1 var(--body); letter-spacing: .13em; }
.rook-window-screen { position: relative; min-height: clamp(25rem, 39vw, 39rem); overflow: hidden; padding: clamp(1.5rem, 3vw, 3rem); background: #0d1719; }
.rook-window-screen > p { position: relative; z-index: 2; margin: 0 0 7vh; color: #8cf6ff; font-size: .62rem; font-weight: 800; letter-spacing: .14em; }
.rook-window-screen strong { position: relative; z-index: 2; display: block; font-size: clamp(2.7rem, 5vw, 6rem); line-height: .83; letter-spacing: -.075em; text-transform: uppercase; }
.rook-window-screen img { position: absolute; right: -15%; bottom: -4%; width: 94%; }
.reference-index-link { margin: 3rem auto 0; }

.offer-list { border-top: 1px solid var(--line); }
.offer-list a { display: grid; grid-template-columns: 4rem minmax(12rem, .7fr) minmax(15rem, 1fr) auto; gap: 1.5rem; align-items: center; min-height: 7.5rem; border-bottom: 1px solid var(--line); color: inherit; text-decoration: none; transition: padding .25s var(--ease), background .25s var(--ease); }
.offer-list a:hover { padding-inline: 1rem; background: var(--surface); }
.offer-list span { color: var(--rust); font-size: .65rem; font-weight: 800; letter-spacing: .12em; }
.offer-list strong { font: 700 clamp(1.4rem, 2.3vw, 2.5rem)/1 var(--display); letter-spacing: -.04em; }
.offer-list p { max-width: 38rem; color: var(--ink-soft); }
.offer-list b { min-width: 6rem; text-align: right; }

.process-preview { background: var(--surface); max-width: none; }
.process-grid { display: grid; grid-template-columns: repeat(4, 1fr); list-style: none; margin: 0; padding: 0; border-block: 1px solid var(--line); }
.process-grid li { min-height: 19rem; padding: 1.5rem; }
.process-grid li + li { border-left: 1px solid var(--line); }
.process-grid span { color: var(--rust); font-size: .67rem; font-weight: 800; letter-spacing: .12em; }
.process-grid h3 { margin: 5rem 0 .8rem; font-size: clamp(1.4rem, 2.2vw, 2.4rem); letter-spacing: -.045em; line-height: 1; }
.process-grid p { margin: 0; color: var(--ink-soft); font-size: .9rem; }

.founder-note { display: grid; grid-template-columns: minmax(15rem, .55fr) minmax(0, 1.45fr); gap: clamp(3rem, 8vw, 9rem); padding: var(--section) var(--pad); background: #315c4b; color: #faf7ef; }
.founder-monogram { display: grid; place-items: center; width: min(100%, 28rem); aspect-ratio: 1; border: 1px solid rgba(255,255,255,.42); border-radius: 50%; font: 400 clamp(4rem, 10vw, 10rem)/1 var(--serif); letter-spacing: -.08em; }
.founder-note h2 { max-width: 16ch; margin: 0 0 2rem; font-size: clamp(3rem, 6vw, 7rem); letter-spacing: -.07em; line-height: .92; }
.founder-note .eyebrow-light { color: #fff; }
.founder-note > div:last-child > p:not(.eyebrow) { max-width: 44rem; color: #e6ede8; font-size: clamp(1rem, 1.5vw, 1.3rem); }
.founder-note .text-link { margin-top: 1.5rem; }

.faq-list { border-top: 1px solid var(--line); }
.faq-list details { border-bottom: 1px solid var(--line); }
.faq-list summary { position: relative; cursor: pointer; list-style: none; padding: 1.5rem 4rem 1.5rem 0; font: 700 clamp(1.2rem, 2vw, 2rem)/1.15 var(--display); letter-spacing: -.035em; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary::after { content: "+"; position: absolute; top: 1.3rem; right: .25rem; color: var(--rust); font: 400 1.7rem/1 var(--body); }
.faq-list details[open] summary::after { content: "–"; }
.faq-list details p { max-width: 50rem; margin: -.25rem 0 1.6rem; color: var(--ink-soft); }

.closing-cta { display: flex; flex-direction: column; align-items: flex-start; min-height: 80svh; padding: var(--section) var(--pad); background: var(--night); color: var(--light); justify-content: center; }
.closing-cta h2 { max-width: 14ch; }
.closing-cta .button { margin-top: 3rem; }
.footer { display: grid; grid-template-columns: .7fr 1fr 1fr .8fr; gap: 2rem; padding: 3rem var(--pad); background: var(--night); border-top: 1px solid #4a414b; color: var(--light); align-items: start; }
.footer > p { margin: 0; color: #bdb4be; font-size: .82rem; }
.footer nav { display: flex; flex-wrap: wrap; gap: .85rem 1.25rem; }
.footer nav a { color: #bdb4be; }
.footer-meta { text-align: right; }

/* Interior pages */
.page-hero { max-width: var(--max); margin: auto; padding: clamp(5rem, 10vw, 9rem) var(--pad) clamp(4rem, 8vw, 7rem); }
.page-hero-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(17rem, .65fr); gap: clamp(3rem, 9vw, 11rem); align-items: end; }
.page-hero h1 { max-width: 12ch; }
.page-hero h1 em { color: var(--rust); font-family: var(--serif); font-weight: 400; }
.page-hero-aside { padding-top: 1.25rem; border-top: 1px solid var(--line); color: var(--ink-soft); font-size: clamp(1rem, 1.4vw, 1.25rem); }
.page-hero-aside p:first-child { margin-top: 0; }
.page-hero-aside .button { margin-top: 1rem; }
.page-band { padding: 1.25rem var(--pad); background: var(--rust); color: #fff; font-size: .72rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.page-band p { max-width: var(--max); margin: auto; }
.dark-section { max-width: none; background: var(--night); color: var(--light); }
.dark-section .split-intro > p, .dark-section .body-copy { color: #c6bdc7; }
.dark-section .add-on-grid p,
.dark-section .care-grid p,
.dark-section .principle-grid p,
.dark-section .gate-grid p,
.dark-section .plain-table td { color: #d8d0d9; }
.dark-section .add-on-grid b,
.dark-section .care-grid b,
.dark-section .gate-grid span { color: #f0a58e; }

.service-stack { border-top: 1px solid var(--line); }
.service-row { display: grid; grid-template-columns: 4rem minmax(14rem, .55fr) minmax(18rem, .85fr) minmax(10rem, .35fr); gap: clamp(1.5rem, 4vw, 4rem); padding: 2.5rem 0; border-bottom: 1px solid var(--line); scroll-margin-top: 7rem; }
.service-row > span { color: var(--rust); font-size: .67rem; font-weight: 800; letter-spacing: .12em; }
.service-row h2 { margin: 0; font-size: clamp(2rem, 3.5vw, 4.2rem); letter-spacing: -.055em; line-height: .95; }
.service-row h2 small { display: block; margin-top: .7rem; color: var(--ink-soft); font: 500 .7rem/1.3 var(--body); letter-spacing: .1em; text-transform: uppercase; }
.service-row p { margin-top: 0; color: var(--ink-soft); }
.service-row ul { margin: 1rem 0 0; padding-left: 1.1rem; color: var(--ink-soft); }
.service-price { text-align: right; }
.service-price strong { display: block; font-size: clamp(1.5rem, 2.8vw, 3rem); letter-spacing: -.06em; }
.service-price span { color: var(--ink-soft); font-size: .72rem; }
.add-on-grid, .care-grid, .principle-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.add-on-grid article, .care-grid article, .principle-grid article { min-height: 15rem; padding: 1.5rem; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.add-on-grid h3, .care-grid h3, .principle-grid h3 { margin: 2.5rem 0 .75rem; font-size: clamp(1.3rem, 2vw, 2rem); letter-spacing: -.04em; line-height: 1.05; }
.add-on-grid p, .care-grid p, .principle-grid p { margin: 0; color: var(--ink-soft); font-size: .9rem; }
.add-on-grid b, .care-grid b { color: var(--rust); font-size: .73rem; letter-spacing: .08em; }
.plain-table { width: 100%; border-collapse: collapse; }
.plain-table caption { padding-bottom: 1rem; text-align: left; color: var(--ink-soft); font-size: .8rem; }
.plain-table th, .plain-table td { padding: 1rem; border-top: 1px solid var(--line); text-align: left; vertical-align: top; }
.plain-table th { width: 28%; }
.plain-table td { color: var(--ink-soft); }

.timeline { position: relative; list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--line); }
.timeline li { display: grid; grid-template-columns: 4rem minmax(14rem, .55fr) minmax(18rem, 1fr); gap: 2rem; padding: 2.5rem 0; border-bottom: 1px solid var(--line); }
.timeline .step { color: var(--rust); font-size: .67rem; font-weight: 800; letter-spacing: .12em; }
.timeline h2 { margin: 0; font-size: clamp(1.8rem, 3.3vw, 3.7rem); letter-spacing: -.05em; line-height: 1; }
.timeline p { max-width: 45rem; margin: 0 0 .8rem; color: var(--ink-soft); }
.timeline ul { margin: 0; padding-left: 1.1rem; color: var(--ink-soft); }
.gate-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.gate-grid article { min-height: 13rem; padding: 1.4rem; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.gate-grid span { color: var(--rust); font-size: .67rem; font-weight: 800; }
.gate-grid h3 { margin: 3rem 0 .7rem; font-size: 1.45rem; letter-spacing: -.035em; }
.gate-grid p { margin: 0; color: var(--ink-soft); font-size: .87rem; }

.about-grid { display: grid; grid-template-columns: minmax(16rem, .55fr) minmax(0, 1.2fr); gap: clamp(3rem, 9vw, 10rem); align-items: start; }
.portrait-natural { margin: 0; }
.portrait-natural img { width: 100%; height: auto; border: 1px solid var(--line); }
.portrait-natural figcaption { display: flex; justify-content: space-between; gap: 1rem; padding-top: .75rem; color: var(--ink-soft); font-size: .68rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.about-prose > p:first-of-type { margin-top: 0; font: 400 clamp(1.7rem, 3.3vw, 3.8rem)/1.1 var(--serif); letter-spacing: -.045em; }
.about-prose > p:not(:first-of-type) { max-width: 45rem; color: var(--ink-soft); font-size: clamp(1rem, 1.35vw, 1.2rem); }
.responsibility-list { margin-top: 3rem; border-top: 1px solid var(--line); }
.responsibility-list div { display: grid; grid-template-columns: 10rem 1fr; gap: 2rem; padding: 1rem 0; border-bottom: 1px solid var(--line); }
.responsibility-list dt { font-weight: 800; }
.responsibility-list dd { margin: 0; color: var(--ink-soft); }

.fit-layout { display: grid; grid-template-columns: minmax(16rem, .55fr) minmax(0, 1fr); gap: clamp(3rem, 9vw, 10rem); }
.fit-aside { align-self: start; position: sticky; top: 7rem; }
.fit-aside h2 { margin: 0 0 1.5rem; font-size: clamp(2.4rem, 4vw, 4.8rem); line-height: .95; letter-spacing: -.06em; }
.fit-aside p { color: var(--ink-soft); }
.fit-facts { margin-top: 2rem; border-top: 1px solid var(--line); }
.fit-facts div { padding: 1rem 0; border-bottom: 1px solid var(--line); }
.fit-facts dt { font-size: .68rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.fit-facts dd { margin: .3rem 0 0; color: var(--ink-soft); }
.fit-form { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; }
.field { display: flex; flex-direction: column; gap: .5rem; }
.field.full { grid-column: 1 / -1; }
.field label, .field legend { font-size: .72rem; font-weight: 800; letter-spacing: .06em; }
.field label span { color: var(--ink-soft); font-weight: 500; }
.field input, .field select, .field textarea { width: 100%; min-height: 3.3rem; border: 1px solid var(--line); border-radius: 0; background: var(--surface); color: var(--ink); padding: .8rem; }
.field textarea { resize: vertical; }
.field input:focus, .field select:focus, .field textarea:focus { border-color: var(--focus); outline: 2px solid var(--focus); outline-offset: 1px; }
.field-note { margin: 0; color: var(--ink-soft); font-size: .73rem; }
.honeypot { position:absolute!important; left:-9999px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.consent-field label { display:grid; grid-template-columns:1.25rem 1fr; gap:.8rem; align-items:start; padding:1rem; border:1px solid var(--line); background:var(--surface); cursor:pointer; }
.consent-field input { width:1.15rem; min-height:1.15rem; margin:.15rem 0 0; accent-color:var(--rust); }
.consent-field label span { color:var(--ink); font-size:.82rem; font-weight:500; letter-spacing:0; }
.form-action { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; padding-top: .75rem; }
.form-status { margin: 0; color: var(--ink-soft); font-size: .78rem; }
.form-status-success { color:var(--moss); font-weight:700; }
.form-status-error { color:var(--rust); font-weight:700; }
button[aria-busy="true"] { cursor:wait; opacity:.72; }

.policy { max-width: 800px; margin: 0 auto; padding: var(--section) var(--pad); }
.policy h1 { margin: 0 0 1.5rem; font-size: clamp(3.5rem, 7vw, 7rem); line-height: .9; letter-spacing: -.07em; }
.policy .lede { margin-bottom: 4rem; color: var(--ink-soft); font-size: 1.2rem; }
.policy h2 { margin: 3.5rem 0 .8rem; font-size: 2rem; letter-spacing: -.04em; }
.policy p, .policy li { color: var(--ink-soft); }
.policy-note { padding: 1rem; border: 1px solid var(--line); background: var(--surface); }

/* Reference build */
.concept-body { --paper: #d8d1c2; --surface: #e8e2d7; --ink: #1d1d19; --ink-soft: #55544d; --line: #aaa393; --rust: #733521; background: var(--paper); }
.concept-header { background: color-mix(in srgb, var(--paper) 92%, transparent); }
.concept-label { display: flex; justify-content: space-between; gap: 1rem; padding: .7rem var(--pad); background: #9e4c35; color: #fff; font-size: .65rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.concept-hero { position: relative; min-height: calc(100svh - 7.5rem); overflow: hidden; padding: clamp(5rem, 11vw, 10rem) var(--pad) 3rem; }
.concept-hero-copy { position: relative; z-index: 2; max-width: 68rem; }
.concept-hero h1 { max-width: 12ch; margin: 0; font: 400 clamp(4rem, 9.5vw, 11rem)/.82 var(--serif); letter-spacing: -.075em; }
.concept-hero h1 em { color: var(--rust); }
.concept-hero-copy > p { max-width: 31rem; margin-top: 2rem; font-size: clamp(1rem, 1.5vw, 1.3rem); }
.concept-hero > img { position: absolute; right: -12%; bottom: -10%; width: min(75%, 900px); mix-blend-mode: multiply; }
.concept-projects { display: grid; grid-template-columns: 1.15fr .85fr; gap: 1px; background: var(--line); border-block: 1px solid var(--line); }
.concept-project { min-height: 70svh; padding: var(--pad); background: var(--surface); }
.concept-project:nth-child(2) { background: #5b594f; color: #f4efe4; }
.concept-project:nth-child(2) p { opacity: .94; }
.concept-project .project-art { position: relative; min-height: 45svh; overflow: hidden; background: #23231f; }
.project-art svg { width: 100%; height: 100%; min-height: 45svh; }
.concept-project h2 { margin: 1.5rem 0 .4rem; font: 400 clamp(2.4rem, 4vw, 5rem)/.95 var(--serif); letter-spacing: -.05em; }
.concept-project p { margin: 0; color: currentColor; opacity: .76; }
.concept-statement { display: grid; grid-template-columns: .65fr 1.35fr; gap: clamp(3rem, 9vw, 10rem); padding: var(--section) var(--pad); background: #1f211d; color: #f1ecdf; }
.concept-statement h2 { margin: 0; font: 400 clamp(3rem, 6.5vw, 7.5rem)/.92 var(--serif); letter-spacing: -.065em; }
.concept-statement p { max-width: 42rem; margin: 0; color: #bdbdb2; font-size: clamp(1.1rem, 1.6vw, 1.45rem); }
.concept-process { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.concept-process article { min-height: 20rem; padding: 1.5rem; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.concept-process span { color: var(--rust); font-size: .68rem; font-weight: 800; }
.concept-process h3 { margin: 7rem 0 .7rem; font: 400 2rem/1 var(--serif); }
.concept-return { display: grid; grid-template-columns: 1fr auto; gap: 2rem; align-items: center; padding: 2rem var(--pad); background: var(--night); color: var(--light); }
.concept-return p { margin: 0; max-width: 54rem; color: #c6bdc7; }

/* Reference-build index */
.reference-index-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--line); border: 1px solid var(--line); }
.reference-index-card { min-width: 0; background: var(--surface); }
.reference-index-art { aspect-ratio: 16 / 10; overflow: hidden; background: #171713; }
.reference-index-art img { width: 100%; height: 100%; object-fit: cover; }
.reference-index-copy { padding: clamp(1.5rem, 3vw, 3rem); }
.reference-index-copy .reference-boundary { min-height: 4rem; color: var(--ink-soft); }
.reference-index-copy .reference-boundary strong { color: var(--ink); }
.reference-index-copy h2 { margin: .8rem 0 1rem; font-size: clamp(2.8rem, 5vw, 5.8rem); line-height: .9; letter-spacing: -.065em; }
.ridge-index-card h2 { font-family: var(--serif); font-weight: 400; }
.reference-index-copy > p:not(.eyebrow,.reference-boundary) { min-height: 5rem; color: var(--ink-soft); }
.reference-index-copy dl { margin: 2.5rem 0; border-top: 1px solid var(--line); }
.reference-index-copy dl div { display: grid; grid-template-columns: 8.5rem 1fr; gap: 1.25rem; padding: .9rem 0; border-bottom: 1px solid var(--line); }
.reference-index-copy dt { font-size: .7rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.reference-index-copy dd { margin: 0; color: var(--ink-soft); }
.rook-index-card { background: #0a1417; color: #e8fdff; }
.rook-index-card .reference-index-art { background: #071014; }
.rook-index-card .reference-index-copy .reference-boundary { color: #b7cdd0; }
.rook-index-card .reference-index-copy .reference-boundary strong { color: #fff; }
.rook-index-card .eyebrow { color: #8cf6ff; }
.rook-index-card .reference-index-copy > p:not(.eyebrow,.reference-boundary),
.rook-index-card .reference-index-copy dd { color: #b7cdd0; }
.rook-index-card .reference-index-copy dl,
.rook-index-card .reference-index-copy dl div { border-color: #31555c; }
.rook-button { background: #8cf6ff; border-color: #8cf6ff; color: #071014; }

/* Rook Precision qualification run */
.rook-body { --rook-bg:#071014; --rook-surface:#0d1a1e; --rook-surface-2:#122429; --rook-text:#e8fdff; --rook-muted:#b7cdd0; --rook-line:#31555c; --rook-cyan:#8cf6ff; --rook-orange:#ffb34d; margin:0; background:var(--rook-bg); color:var(--rook-text); font-family:"Helvetica Neue",Helvetica,Arial,sans-serif; }
.rook-body ::selection { background:var(--rook-cyan); color:var(--rook-bg); }
.rook-boundary { display:flex; justify-content:space-between; gap:1.5rem; padding:.65rem var(--pad); background:var(--rook-cyan); color:var(--rook-bg); font-size:.65rem; font-weight:800; letter-spacing:.1em; line-height:1.35; text-transform:uppercase; }
.rook-header { position:sticky; z-index:30; top:0; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:2rem; min-height:5rem; padding:.85rem var(--pad); background:rgba(7,16,20,.94); border-bottom:1px solid var(--rook-line); backdrop-filter:blur(15px); }
.rook-brand { display:flex; align-items:center; gap:.75rem; width:max-content; color:var(--rook-text); text-decoration:none; }
.rook-brand > span { display:grid; place-items:center; width:2.5rem; aspect-ratio:1; border:1px solid var(--rook-cyan); color:var(--rook-cyan); font:800 .72rem/1 var(--body); }
.rook-brand strong { font-size:.65rem; letter-spacing:.16em; line-height:1.1; }
.rook-nav { display:flex; gap:clamp(1.5rem,3vw,3rem); }
.rook-nav a,.rook-return { color:var(--rook-muted); font-size:.65rem; font-weight:800; letter-spacing:.12em; text-decoration:none; text-transform:uppercase; }
.rook-nav a:hover,.rook-return:hover { color:var(--rook-cyan); }
.rook-return { justify-self:end; }
.rook-menu { display:none; border-color:var(--rook-line); color:var(--rook-text); }
.rook-hero { display:grid; grid-template-columns:.83fr 1.17fr; min-height:calc(100svh - 7.5rem); border-bottom:1px solid var(--rook-line); }
.rook-hero-copy { display:flex; flex-direction:column; justify-content:center; padding:clamp(5rem,10vw,10rem) var(--pad); border-right:1px solid var(--rook-line); }
.rook-code { margin:0 0 1.5rem; color:var(--rook-cyan); font-size:.67rem; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.rook-hero h1 { margin:0; font-size:clamp(4.2rem,8.4vw,10rem); font-weight:900; letter-spacing:-.085em; line-height:.78; text-transform:uppercase; }
.rook-hero h1 em { color:var(--rook-cyan); font-style:normal; }
.rook-hero-copy > p:not(.rook-code) { max-width:40rem; margin:2.25rem 0 0; color:var(--rook-muted); font-size:clamp(1rem,1.45vw,1.3rem); }
.rook-cta { display:inline-flex; justify-content:space-between; gap:2rem; width:min(100%,22rem); margin-top:2rem; padding:1rem; background:var(--rook-cyan); color:var(--rook-bg); font-size:.7rem; font-weight:900; letter-spacing:.11em; text-decoration:none; text-transform:uppercase; }
.rook-cta:hover { background:var(--rook-orange); }
.rook-hero-art { display:flex; flex-direction:column; justify-content:center; min-width:0; padding:clamp(2rem,5vw,5rem); background:var(--rook-surface); }
.rook-hero-art > img { width:100%; border:1px solid var(--rook-line); }
.rook-hero-art dl { display:grid; grid-template-columns:repeat(4,1fr); margin:0; border-left:1px solid var(--rook-line); }
.rook-hero-art dl div { padding:1rem; border-right:1px solid var(--rook-line); border-bottom:1px solid var(--rook-line); }
.rook-hero-art dt { color:var(--rook-orange); font-size:.62rem; font-weight:800; }
.rook-hero-art dd { margin:.4rem 0 0; color:var(--rook-muted); font-size:.7rem; letter-spacing:.08em; text-transform:uppercase; }
.rook-signal { display:grid; grid-template-columns:.35fr 1.25fr .6fr; gap:clamp(2rem,7vw,8rem); padding:clamp(4rem,8vw,8rem) var(--pad); background:var(--rook-cyan); color:var(--rook-bg); align-items:start; }
.rook-signal > p:first-child { margin:.4rem 0 0; font-size:.65rem; font-weight:900; letter-spacing:.13em; }
.rook-signal h2 { margin:0; font-size:clamp(2.8rem,5.7vw,6.8rem); line-height:.88; letter-spacing:-.075em; text-transform:uppercase; }
.rook-signal > p:last-child { margin:0; font-size:clamp(1rem,1.4vw,1.25rem); }
.rook-section { padding:var(--section) var(--pad); border-bottom:1px solid var(--rook-line); }
.rook-section-head { display:grid; grid-template-columns:1.15fr .65fr; gap:clamp(2rem,8vw,9rem); margin-bottom:clamp(3rem,6vw,6rem); align-items:end; }
.rook-section-head h2 { max-width:13ch; margin:0; font-size:clamp(3.2rem,6.5vw,7.2rem); line-height:.87; letter-spacing:-.075em; text-transform:uppercase; }
.rook-section-head > p { margin:0; color:var(--rook-muted); }
.rook-fit-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--rook-line); border-left:1px solid var(--rook-line); }
.rook-fit-grid article { min-height:20rem; padding:1.5rem; border-right:1px solid var(--rook-line); border-bottom:1px solid var(--rook-line); }
.rook-fit-grid span { color:var(--rook-orange); font-size:.65rem; font-weight:800; letter-spacing:.11em; }
.rook-fit-grid h3 { margin:7rem 0 .75rem; font-size:clamp(1.4rem,2.3vw,2.5rem); line-height:.95; letter-spacing:-.05em; text-transform:uppercase; }
.rook-fit-grid p { margin:0; color:var(--rook-muted); font-size:.88rem; }
.rook-rfq-section { background:var(--rook-surface); }
.rook-rfq-layout { display:grid; grid-template-columns:.55fr 1.45fr; gap:clamp(3rem,8vw,9rem); }
.rook-rfq-layout aside { align-self:start; border-top:1px solid var(--rook-line); }
.rook-rfq-layout aside > .rook-code { padding-top:1.25rem; }
.rook-rfq-layout ol { list-style:none; margin:0; padding:0; }
.rook-rfq-layout ol li { display:grid; grid-template-columns:2.25rem 1fr; gap:.75rem; padding:.85rem 0; border-bottom:1px solid var(--rook-line); color:var(--rook-muted); font-size:.85rem; }
.rook-rfq-layout ol span { color:var(--rook-orange); font-size:.62rem; font-weight:800; }
.rook-note { color:var(--rook-muted); font-size:.75rem; }
.rook-rfq { display:grid; grid-template-columns:1fr 1fr; gap:1.25rem; }
.rook-rfq .field label { color:var(--rook-text); font-size:.68rem; letter-spacing:.09em; text-transform:uppercase; }
.rook-rfq .field input,.rook-rfq .field select,.rook-rfq .field textarea { background:var(--rook-bg); border-color:var(--rook-line); color:var(--rook-text); }
.rook-rfq .field select { color-scheme:dark; }
.rook-rfq .field input:focus,.rook-rfq .field select:focus,.rook-rfq .field textarea:focus { border-color:var(--rook-cyan); outline-color:var(--rook-cyan); }
.rook-submit { display:inline-flex; justify-content:space-between; gap:2rem; min-height:3.25rem; border:0; padding:1rem; background:var(--rook-cyan); color:var(--rook-bg); font-size:.7rem; font-weight:900; letter-spacing:.11em; text-transform:uppercase; cursor:pointer; }
.rook-rfq .form-status { color:var(--rook-muted); }
.rook-process { padding:var(--section) var(--pad); background:#050a0c; border-bottom:1px solid var(--rook-line); }
.rook-process > header { display:grid; grid-template-columns:.35fr 1.65fr; gap:clamp(2rem,8vw,9rem); margin-bottom:4rem; }
.rook-process h2 { max-width:15ch; margin:0; font-size:clamp(3.2rem,6.5vw,7.2rem); line-height:.87; letter-spacing:-.075em; text-transform:uppercase; }
.rook-process ol { list-style:none; margin:0; padding:0; }
.rook-process li { display:grid; grid-template-columns:3rem .8fr 1fr; gap:2rem; padding:2rem 0; border-top:1px solid var(--rook-line); }
.rook-process li > span { color:var(--rook-orange); font-size:.65rem; font-weight:800; }
.rook-process h3 { margin:0; font-size:clamp(1.8rem,3vw,3.5rem); letter-spacing:-.055em; text-transform:uppercase; }
.rook-process li p { max-width:37rem; margin:.5rem 0 0; color:var(--rook-muted); }
.rook-process li b { color:var(--rook-cyan); font-size:.68rem; letter-spacing:.1em; text-transform:uppercase; }
.rook-run-notes { display:grid; grid-template-columns:.55fr 1.45fr; gap:clamp(3rem,9vw,10rem); padding:var(--section) var(--pad); background:var(--rook-orange); color:var(--rook-bg); }
.rook-run-notes h2 { margin:0; font-size:clamp(3rem,6vw,6.8rem); line-height:.88; letter-spacing:-.075em; text-transform:uppercase; }
.rook-run-notes .rook-code { color:var(--rook-bg); }
.rook-run-notes > div:last-child > p { max-width:48rem; margin-top:0; font-size:clamp(1rem,1.5vw,1.3rem); }
.rook-run-notes dl { margin:3rem 0; border-top:1px solid var(--rook-bg); }
.rook-run-notes dl div { display:grid; grid-template-columns:12rem 1fr; gap:2rem; padding:1rem 0; border-bottom:1px solid var(--rook-bg); }
.rook-run-notes dt { font-size:.68rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.rook-run-notes dd { margin:0; }
.rook-run-notes .rook-cta { background:var(--rook-bg); color:var(--rook-text); }

/* Custom-builder outreach destination */
.builder-hero { display:grid; grid-template-columns:minmax(0,.92fr) minmax(28rem,1.08fr); min-height:calc(100svh - 5rem); overflow:hidden; background:#d8d1c2; color:#1d1d19; }
.builder-hero-copy { display:flex; flex-direction:column; justify-content:center; padding:clamp(5rem,9vw,9rem) var(--pad); }
.builder-hero-copy > .eyebrow { color:#733521; }
.builder-hero h1 { max-width:12ch; margin:0; font-size:clamp(3.8rem,7.1vw,8.3rem); font-weight:700; letter-spacing:-.078em; line-height:.84; }
.builder-lede { max-width:42rem; margin:2rem 0 0; color:#55544d; font-size:clamp(1.05rem,1.45vw,1.35rem); }
.builder-price-note { max-width:34rem; margin:2rem 0 0; padding-top:1rem; border-top:1px solid #aaa393; color:#55544d; font-size:.76rem; font-weight:700; letter-spacing:.045em; text-transform:uppercase; }
.builder-hero-art { display:flex; flex-direction:column; justify-content:center; min-width:0; padding:clamp(2rem,5vw,6rem); background:#30312b; }
.builder-site-frame { overflow:hidden; box-shadow:0 3rem 7rem rgba(0,0,0,.32); transform:rotate(1.2deg); transition:transform .45s var(--ease); }
.builder-site-frame:hover { transform:rotate(0); }
.builder-site-screen { position:relative; min-height:clamp(34rem,54vw,52rem); overflow:hidden; padding:clamp(1.5rem,3vw,3.5rem); background:#ddd5c6; color:#1d1d19; }
.builder-site-nav { position:relative; z-index:2; display:flex; justify-content:space-between; gap:1.5rem; font-size:.57rem; font-weight:900; letter-spacing:.16em; text-transform:uppercase; }
.builder-site-screen .concept-kicker { position:relative; z-index:2; margin:clamp(5rem,10vh,9rem) 0 1rem; }
.builder-site-screen > strong { position:relative; z-index:2; display:block; font:400 clamp(3rem,5.7vw,7rem)/.87 var(--serif); letter-spacing:-.065em; }
.builder-site-screen > strong em { color:#733521; font-weight:400; }
.builder-site-screen img { position:absolute; right:-20%; bottom:-8%; width:92%; mix-blend-mode:multiply; }
.builder-hero-caption { display:flex; justify-content:space-between; gap:2rem; padding:1rem 0 0; color:#d8d1c2; font-size:.62rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }

.builder-referral-strip { display:grid; grid-template-columns:.35fr 1fr .9fr; gap:clamp(2rem,7vw,8rem); align-items:start; padding:clamp(3rem,6vw,6rem) var(--pad); background:#a64d35; color:#fff; }
.builder-referral-strip .eyebrow { margin:0; color:#fff; }
.builder-referral-strip p:not(.eyebrow),.builder-referral-strip strong { margin:0; }
.builder-referral-strip p:not(.eyebrow) { font:400 clamp(1.4rem,2.4vw,2.5rem)/1.15 var(--serif); }
.builder-referral-strip strong { font-size:clamp(1rem,1.45vw,1.3rem); line-height:1.45; }

.builder-reference { padding:var(--section) var(--pad); background:#211b24; color:#faf7ef; }
.builder-reference-head { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(18rem,.55fr); gap:clamp(3rem,9vw,10rem); max-width:var(--max); margin:0 auto clamp(4rem,8vw,8rem); align-items:end; }
.builder-reference-head h2 { max-width:14ch; margin:0; font:400 clamp(3.2rem,6.4vw,7.2rem)/.91 var(--serif); letter-spacing:-.065em; }
.builder-reference-head > div:last-child > p { color:#c6bdc7; }
.builder-boundary { padding-top:1rem; border-top:1px solid #554b58; font-size:.72rem; letter-spacing:.04em; }
.builder-reference-head .button { margin-top:1.5rem; }
.builder-story-grid { display:grid; grid-template-columns:repeat(4,1fr); max-width:var(--max); margin:auto; border-top:1px solid #554b58; border-left:1px solid #554b58; }
.builder-story-grid article { min-height:25rem; padding:1.5rem; border-right:1px solid #554b58; border-bottom:1px solid #554b58; }
.builder-story-grid span { color:var(--rust-light); font-size:.65rem; font-weight:800; letter-spacing:.11em; text-transform:uppercase; }
.builder-story-grid h3 { margin:8rem 0 .8rem; font:400 clamp(1.7rem,2.5vw,3rem)/1 var(--serif); letter-spacing:-.045em; }
.builder-story-grid p { margin:0; color:#c6bdc7; font-size:.9rem; }

.builder-diagnosis-grid { display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--line); border:1px solid var(--line); }
.builder-diagnosis-grid article { min-height:23rem; padding:clamp(1.5rem,3vw,3rem); background:var(--surface); }
.builder-diagnosis-grid span { color:var(--rust); font-size:.65rem; font-weight:800; letter-spacing:.12em; }
.builder-diagnosis-grid h3 { max-width:14ch; margin:7rem 0 .75rem; font-size:clamp(2rem,3.2vw,3.8rem); letter-spacing:-.06em; line-height:.94; }
.builder-diagnosis-grid p { max-width:38rem; margin:0; color:var(--ink-soft); }

.builder-signature { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(25rem,.95fr); gap:clamp(3rem,9vw,10rem); padding:var(--section) var(--pad); background:#315c4b; color:#faf7ef; }
.builder-signature h2 { max-width:12ch; margin:0; font-size:clamp(3.3rem,6.5vw,7.5rem); line-height:.9; letter-spacing:-.075em; }
.builder-signature .eyebrow-light { color:#f2e4da; }
.builder-signature-copy > p:not(.eyebrow) { max-width:42rem; color:#d6e1dc; font-size:clamp(1rem,1.35vw,1.22rem); }
.builder-price { display:flex; flex-direction:column; gap:.25rem; max-width:38rem; margin-top:3rem; padding-top:1.5rem; border-top:1px solid #779586; }
.builder-price span { font-size:.66rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.builder-price strong { font:400 clamp(2.7rem,4.8vw,5.5rem)/1 var(--serif); letter-spacing:-.05em; }
.builder-price small { color:#d6e1dc; }
.builder-includes { align-self:center; list-style:none; margin:0; padding:0; border-top:1px solid #779586; }
.builder-includes li { display:grid; grid-template-columns:2.5rem 1fr; gap:1rem; padding:1rem 0; border-bottom:1px solid #779586; }
.builder-includes span { color:#f2d9cb; font-size:.62rem; font-weight:800; letter-spacing:.1em; }

.builder-experience-list { list-style:none; margin:0; padding:0; border-top:1px solid var(--line); }
.builder-experience-list li { display:grid; grid-template-columns:4rem 1fr; gap:2rem; padding:2rem 0; border-bottom:1px solid var(--line); }
.builder-experience-list li > span { color:var(--rust); font-size:.65rem; font-weight:800; letter-spacing:.1em; }
.builder-experience-list h3 { margin:0; font-size:clamp(2rem,3.7vw,4.2rem); letter-spacing:-.06em; line-height:.95; }
.builder-experience-list p { max-width:50rem; margin:.65rem 0 0; color:var(--ink-soft); }

@media (max-width: 1050px) {
  .site-header { grid-template-columns: 1fr auto; }
  .menu-toggle { display: block; justify-self: end; }
  .nav { position: absolute; top: 100%; left: 0; right: 0; display: none; flex-direction: column; align-items: stretch; gap: 0; padding: .5rem var(--pad) 1.25rem; background: var(--paper); border-bottom: 1px solid var(--line); }
  .nav.open { display: flex; }
  .nav a { padding: .9rem 0; border-bottom: 1px solid var(--line); }
  .header-actions { position: absolute; right: calc(var(--pad) + 4.6rem); }
  .hero-home, .page-hero-grid, .reference-teaser, .about-grid, .reference-showcase-head { grid-template-columns: 1fr; }
  .hero-home { min-height: auto; }
  .hero-home-aside { display: grid; grid-template-columns: 1fr 1fr; }
  .signal-card-accent { grid-column: 1 / -1; }
  .reference-window { width: 100%; margin: 0; }
  .process-grid { grid-template-columns: 1fr 1fr; }
  .process-grid li:nth-child(3) { border-left: 0; border-top: 1px solid var(--line); }
  .process-grid li:nth-child(4) { border-top: 1px solid var(--line); }
  .footer { grid-template-columns: 1fr 1fr; }
  .footer-meta { text-align: left; }
  .service-row { grid-template-columns: 3rem 1fr 1fr; }
  .service-row > div:nth-child(3) { grid-column: 2 / 3; }
  .service-price { grid-column: 3; grid-row: 1 / 3; }
  .add-on-grid, .care-grid, .principle-grid { grid-template-columns: 1fr 1fr; }
  .gate-grid { grid-template-columns: 1fr 1fr; }
  .reference-index-grid { grid-template-columns:1fr; }
  .rook-header { grid-template-columns:1fr auto; }
  .rook-menu { display:block; justify-self:end; }
  .rook-nav { position:absolute; top:100%; left:0; right:0; display:none; flex-direction:column; gap:0; padding:.5rem var(--pad) 1rem; background:var(--rook-bg); border-bottom:1px solid var(--rook-line); }
  .rook-nav.open { display:flex; }
  .rook-nav a { padding:.9rem 0; border-bottom:1px solid var(--rook-line); }
  .rook-return { position:absolute; right:calc(var(--pad) + 5rem); }
  .rook-hero { grid-template-columns:1fr; }
  .rook-hero-copy { border-right:0; border-bottom:1px solid var(--rook-line); }
  .rook-signal { grid-template-columns:1fr 2fr; }
  .rook-signal > p:last-child { grid-column:2; }
  .rook-section-head { grid-template-columns:1fr; }
  .rook-fit-grid { grid-template-columns:1fr 1fr; }
  .rook-rfq-layout { grid-template-columns:1fr; }
  .rook-process > header { grid-template-columns:1fr; }
  .rook-run-notes { grid-template-columns:1fr; }
  .builder-hero { grid-template-columns:1fr; }
  .builder-hero-art { min-height:50rem; }
  .builder-referral-strip { grid-template-columns:1fr 1fr; }
  .builder-referral-strip strong { grid-column:2; }
  .builder-reference-head { grid-template-columns:1fr; }
  .builder-story-grid { grid-template-columns:1fr 1fr; }
  .builder-signature { grid-template-columns:1fr; }
}

@media (max-width: 720px) {
  body { font-size: 16px; }
  .site-header { min-height: 4.5rem; padding-inline: 1rem; }
  .site-header .button-small { display: none; }
  .header-actions { right: calc(1rem + 4.5rem); }
  .hero-home { padding-top: 4rem; }
  .hero-home h1 { font-size: clamp(3.6rem, 18vw, 6rem); }
  .hero-home-aside, .proof-strip, .split-intro, .thesis-grid, .founder-note, .fit-layout, .concept-statement, .concept-projects { grid-template-columns: 1fr; }
  .signal-card-accent { grid-column: auto; }
  .proof-strip p + p { border-left: 0; border-top: 1px solid var(--line); }
  .reference-teaser { padding-inline: 1rem; }
  .reference-window { transform: none; }
  .reference-showcase { padding-inline: 1rem; }
  .reference-showcase-grid { grid-template-columns: 1fr; }
  .reference-entry-copy { min-height: auto; }
  .reference-index-link { width:100%; max-width:100%; justify-content:space-between; font-size:.62rem; letter-spacing:.05em; }
  .reference-browser-screen { min-height: 26rem; }
  .reference-browser-screen img { width: 105%; right: -30%; }
  .offer-list a { grid-template-columns: 2rem 1fr auto; gap: 1rem; padding-block: 1.5rem; }
  .offer-list p { grid-column: 2 / -1; margin: 0; }
  .section-link { width: 100%; max-width: 100%; justify-content: space-between; }
  .process-grid { grid-template-columns: 1fr; }
  .process-grid li + li { border-left: 0; border-top: 1px solid var(--line); }
  .founder-monogram { max-width: 16rem; }
  .footer { grid-template-columns: 1fr; }
  .service-row, .timeline li { grid-template-columns: 2rem 1fr; }
  .service-row > div:nth-child(3), .service-price { grid-column: 2; grid-row: auto; text-align: left; }
  .add-on-grid, .care-grid, .principle-grid, .gate-grid { grid-template-columns: 1fr; }
  .fit-aside { position: static; }
  .fit-form { grid-template-columns: 1fr; }
  .field { grid-column: 1 / -1; }
  .responsibility-list div { grid-template-columns: 1fr; gap: .25rem; }
  .concept-label { flex-direction: column; }
  .concept-hero { min-height: 42rem; }
  .concept-hero h1 { font-size: clamp(3.8rem, 17vw, 6.5rem); }
  .concept-hero > img { width: 115%; right: -40%; }
  .concept-process { grid-template-columns: 1fr; }
  .concept-return { grid-template-columns: 1fr; }
  .reference-index-copy > p:not(.eyebrow,.reference-boundary) { min-height:0; }
  .rook-boundary { flex-direction:column; }
  .rook-return { display:none; }
  .rook-hero h1 { font-size:clamp(3.8rem,17vw,6.5rem); }
  .rook-hero-art { padding:1rem; }
  .rook-hero-art dl { grid-template-columns:1fr 1fr; }
  .rook-signal { grid-template-columns:1fr; }
  .rook-signal > p:last-child { grid-column:auto; }
  .rook-fit-grid { grid-template-columns:1fr; }
  .rook-fit-grid article { min-height:15rem; }
  .rook-fit-grid h3 { margin-top:4rem; }
  .rook-rfq { grid-template-columns:1fr; }
  .rook-rfq .field { grid-column:1/-1; }
  .rook-process li { grid-template-columns:2rem 1fr; }
  .rook-process li b { grid-column:2; }
  .rook-run-notes dl div { grid-template-columns:1fr; gap:.35rem; }
  .builder-hero-copy { padding-inline:1rem; }
  .builder-hero h1 { font-size:clamp(3.35rem,15vw,5.7rem); }
  .builder-hero-art { min-height:36rem; padding:1rem; }
  .builder-site-frame { transform:none; }
  .builder-site-screen { min-height:31rem; }
  .builder-site-nav span:last-child { display:none; }
  .builder-site-screen img { right:-38%; width:125%; }
  .builder-hero-caption { flex-direction:column; gap:.35rem; }
  .builder-referral-strip { grid-template-columns:1fr; }
  .builder-referral-strip strong { grid-column:auto; }
  .builder-reference { padding-inline:1rem; }
  .builder-story-grid,.builder-diagnosis-grid { grid-template-columns:1fr; }
  .builder-story-grid article,.builder-diagnosis-grid article { min-height:auto; }
  .builder-story-grid h3,.builder-diagnosis-grid h3 { margin-top:4rem; }
  .builder-signature { padding-inline:1rem; }
  .builder-experience-list li { grid-template-columns:2.5rem 1fr; gap:1rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto!important; animation-duration: .01ms!important; animation-iteration-count: 1!important; transition-duration: .01ms!important; }
}
