/* Optimized Health CBD: site styles. Palette from the logo: evergreen #0E2920 + amber #AD732D. */
:root{
  --ink:#0E2920; --ink-2:#071812; --ink-3:#16382D; --ink-4:#24493C;
  --amber:#AD732D; --amber-lt:#D9A562; --amber-dk:#7E5114;
  --bone:#F2ECDF; --paper:#F8F5EE; --line:#D9D1BF; --line-dk:rgba(242,236,223,.16);
  --text:#18241F; --muted:#4C5B53; --on-dark:#E9E3D5; --on-dark-mute:#B7BFB5;
  --serif:"Fraunces", Georgia, "Times New Roman", serif;
  --sans:"Instrument Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  --mono:"IBM Plex Mono", ui-monospace, Menlo, monospace;
  --head-h:72px; --wrap:1240px; --gut:clamp(1.1rem, 4vw, 3rem);
  --mk-accent:var(--amber); --mk-arrival-bg:var(--ink-2); --mk-toggle-ink:var(--ink);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--head-h) + 16px)}
body{margin:0;background:var(--paper);color:var(--text);font:400 1.0625rem/1.68 var(--sans);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;top:0!important}
img,picture,video,svg{display:block;max-width:100%}
img{height:auto}
a{color:var(--amber-dk);text-underline-offset:3px;text-decoration-thickness:1px}
a:hover{color:var(--ink)}
:focus-visible{outline:2px solid var(--amber);outline-offset:3px;border-radius:2px}
h1,h2,h3,h4{font-family:var(--serif);font-weight:400;line-height:1.08;letter-spacing:-.015em;margin:0 0 .6em;text-wrap:balance;font-variation-settings:"opsz" 144}
h2{font-size:clamp(2rem, 1.2rem + 2.8vw, 3.6rem)}
h3{font-size:clamp(1.3rem, 1.1rem + .7vw, 1.7rem);line-height:1.2}
p{margin:0 0 1.1em;text-wrap:pretty}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:absolute;left:1rem;top:-60px;z-index:200;background:var(--amber);color:var(--ink-2);padding:.6rem 1rem;font-weight:600}
.skip:focus{top:.6rem}
.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gut)}
.eyebrow{font:500 .74rem/1.3 var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--amber-dk);margin:0 0 1rem;display:flex;align-items:center;gap:.7rem}
.eyebrow::before{content:"";width:28px;height:1px;background:currentColor;flex:none}
.dark .eyebrow,.eyebrow--lt{color:var(--amber-lt)}
.lede{font-size:clamp(1.08rem, 1rem + .35vw, 1.3rem);line-height:1.6;color:var(--muted);max-width:60ch}
.dark{background:var(--ink);color:var(--on-dark)}
.dark .lede{color:var(--on-dark-mute)}
.dark a{color:var(--amber-lt)}
.center{text-align:center}.center .lede{margin-inline:auto}.center .eyebrow{justify-content:center}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:.6rem;min-height:48px;padding:.8rem 1.4rem;border:1px solid transparent;border-radius:2px;font:600 .95rem/1 var(--sans);letter-spacing:.02em;text-decoration:none;cursor:pointer;transition:background .25s,color .25s,border-color .25s,translate .25s}
.btn:hover{translate:0 -2px}
.btn--amber{background:var(--amber);color:#160F05}
.btn--amber:hover{background:var(--amber-lt);color:#160F05}
.btn--ghost{border-color:currentColor;color:inherit;background:transparent}
.dark .btn--ghost:hover,.btn--ghost:hover{background:var(--bone);color:var(--ink);border-color:var(--bone)}
.btn--ink{background:var(--ink);color:var(--bone)}
.btn--ink:hover{background:var(--ink-3);color:var(--bone)}
.btn--sm{min-height:40px;padding:.6rem 1rem;font-size:.85rem}
.btn .arr{transition:translate .25s}.btn:hover .arr{translate:4px 0}
.textlink{font-weight:600;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:2px}

/* Header */
.site-head{position:sticky;top:0;z-index:100;background:var(--ink-2);color:var(--on-dark);border-bottom:1px solid var(--line-dk);view-transition-name:site-head}
.site-head__bar{max-width:1440px;margin:0 auto;height:var(--head-h);display:flex;align-items:center;gap:2rem;padding-inline:var(--gut)}
.brand img{height:30px;width:auto}
.nav{margin-left:auto}
.nav__list{display:flex;gap:.3rem;list-style:none;margin:0;padding:0;align-items:center}
.nav__item{position:relative}
.nav__link{display:inline-flex;align-items:center;gap:.45rem;height:var(--head-h);padding:0 .9rem;color:var(--on-dark);font:500 .92rem/1 var(--sans);text-decoration:none;background:none;border:0;cursor:pointer;position:relative}
.nav__link::after{content:"";position:absolute;left:.9rem;right:.9rem;bottom:20px;height:1px;background:var(--amber-lt);scale:0 1;transform-origin:left;transition:scale .3s}
.nav__link:hover,.nav__link[aria-current],.nav__trigger[aria-expanded="true"]{color:#fff}
.nav__link:hover::after,.nav__link[aria-current]::after,.nav__trigger[aria-expanded="true"]::after{scale:1 1}
.nav__trigger svg{transition:rotate .25s}.nav__trigger[aria-expanded="true"] svg{rotate:180deg}
/* Mega: positioned flush under the bar (no gap); the visual offset is inner padding = hover bridge */
.mega{position:fixed;left:0;right:0;top:var(--head-h);padding-top:0;z-index:99}
.mega[hidden]{display:none}
.mega__inner{max-width:1440px;margin:0 auto;background:var(--ink);border-top:1px solid var(--line-dk);border-bottom:1px solid var(--line-dk);box-shadow:0 40px 60px -30px rgba(0,0,0,.6);display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:3rem;padding:2.4rem var(--gut) 2.6rem;animation:megaIn .28s cubic-bezier(.2,.7,.2,1)}
@keyframes megaIn{from{opacity:0;translate:0 -8px}}
.mega__title{font:300 1.9rem/1.15 var(--serif);color:#fff;margin:0 0 .8rem}
.mega__note{color:var(--on-dark-mute);font-size:.95rem}
.mega__list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0 2rem;counter-reset:m}
.mega__list a{display:grid;grid-template-columns:2.4rem 1fr;gap:.1rem .6rem;padding:.85rem 0;border-top:1px solid var(--line-dk);color:var(--on-dark);text-decoration:none;transition:padding .25s,color .25s}
.mega__list a:hover,.mega__list a:focus-visible{padding-left:.4rem;color:#fff}
.mega__num{font:500 .75rem/1.6 var(--mono);color:var(--amber-lt);grid-row:span 2}
.mega__label{font:500 1.02rem/1.3 var(--sans)}
.mega__blurb{font-size:.84rem;color:var(--on-dark-mute);line-height:1.45}
.site-head__tools{display:flex;align-items:center;gap:.8rem}
.lang{position:relative;display:flex;align-items:center;color:var(--on-dark)}
.lang__icon{position:absolute;left:.65rem;pointer-events:none}
.lang__select{appearance:none;-webkit-appearance:none;background:transparent;color:var(--on-dark);border:1px solid var(--line-dk);border-radius:2px;height:40px;padding:0 .8rem 0 2rem;font:500 .82rem var(--sans);cursor:pointer}
.lang__select:hover{border-color:var(--amber-lt)}
.lang__select option{color:#111;background:#fff}
/* Google Translate: hide its own chrome, keep ours */
.goog-te-banner-frame,.skiptranslate>iframe,#goog-gt-tt,.goog-te-balloon-frame,.VIpgJd-ZVi9od-ORHb-OEVmcd,.VIpgJd-ZVi9od-aZ2wEe-wOHMyf{display:none!important}
.goog-text-highlight{background:none!important;box-shadow:none!important}
font[style]{background:none!important}
.burger{display:none;width:44px;height:44px;border:1px solid var(--line-dk);background:transparent;border-radius:2px;cursor:pointer;position:relative}
.burger span{position:absolute;left:11px;right:11px;height:1.5px;background:var(--on-dark);transition:.3s}
.burger span:first-child{top:17px}.burger span:last-child{top:25px}
.burger[aria-expanded="true"] span:first-child{top:21px;rotate:45deg}.burger[aria-expanded="true"] span:last-child{top:21px;rotate:-45deg}

/* Disclaimer strip */
.disclaimer-strip{background:var(--bone);border-bottom:1px solid var(--line);color:var(--muted)}
.disclaimer-strip p{max-width:1440px;margin:0 auto;padding:.6rem var(--gut);font-size:.8rem;line-height:1.5}
.disclaimer-strip strong{color:var(--ink)}

/* Mobile sheet */
.sheet{position:fixed;inset:0;z-index:150;background:rgba(7,24,18,.55);backdrop-filter:blur(4px)}
.sheet[hidden]{display:none}
.sheet__panel{position:absolute;left:0;right:0;bottom:0;max-height:88svh;overflow:auto;background:var(--ink);color:var(--on-dark);padding:1.6rem var(--gut) calc(1.2rem + env(safe-area-inset-bottom));border-radius:14px 14px 0 0;animation:sheetUp .35s cubic-bezier(.2,.7,.2,1)}
@keyframes sheetUp{from{translate:0 40%;opacity:.4}}
.sheet__list{list-style:none;margin:0 0 1rem;padding:0}
.sheet__list a{display:block;padding:.9rem 0;border-bottom:1px solid var(--line-dk);color:var(--on-dark);font:400 1.25rem/1.2 var(--serif);text-decoration:none}
.sheet__list a[aria-current]{color:var(--amber-lt)}
.sheet__close{width:100%;min-height:48px;background:transparent;border:1px solid var(--line-dk);color:var(--on-dark);font:500 .95rem var(--sans);border-radius:2px}

/* Dock (mobile bottom bar) */
.dock{display:none}

/* HOME HERO: full-bleed video, symmetric padding (playbook 10) */
.hero{position:relative;overflow:hidden;background:var(--ink-2);color:#fff;display:flex;align-items:center;min-height:min(86svh,860px);padding-block:clamp(64px,9vw,128px)}
.hero__media{position:absolute;inset:0;z-index:0}
.hero__layer{position:absolute;inset:0}
.hero__layer video,.hero__layer img,.hero__layer picture{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:62% 50%}
.hero__media::after{content:"";position:absolute;inset:0;background:linear-gradient(95deg,rgba(7,24,18,.92) 0%,rgba(7,24,18,.78) 34%,rgba(7,24,18,.35) 66%,rgba(7,24,18,.15) 100%),linear-gradient(0deg,rgba(7,24,18,.55),transparent 40%)}
.hero__copy{position:relative;z-index:1;width:100%;max-width:1440px;margin:0 auto;padding-inline:var(--gut)}
.hero__copy>*{max-width:900px}
.hero h1{font-size:clamp(2.7rem, 1.2rem + 6.2vw, 7rem);font-weight:300;line-height:.98;letter-spacing:-.03em;margin:0 0 1.4rem;color:#fff}
.hero h1 em{font-style:italic;color:var(--amber-lt)}
.hero .lede{color:#D9DDD3;max-width:46ch}
.hero__actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2rem}
.hero .eyebrow{color:var(--amber-lt)}

/* PAGE HERO (guides) */
.phero{position:relative;overflow:hidden;background:var(--ink-2);color:#fff;padding-block:clamp(56px,8vw,112px)}
.phero__media{position:absolute;inset:0}
.phero__media picture,.phero__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.phero__media::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(7,24,18,.94) 0%,rgba(7,24,18,.84) 45%,rgba(7,24,18,.45) 100%)}
.phero__copy{position:relative;z-index:1;max-width:1440px;margin:0 auto;padding-inline:var(--gut);display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:3rem;align-items:end}
.phero h1{font-size:clamp(2.4rem,1.3rem + 4.2vw,5.2rem);font-weight:300;letter-spacing:-.03em;line-height:1;color:#fff;margin:0 0 1rem}
.phero .lede{color:#D3D8CE;margin:0}
.crumbs{font:500 .74rem/1.4 var(--mono);letter-spacing:.12em;text-transform:uppercase;margin:0 0 1.4rem;color:var(--on-dark-mute)}
.crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}
.crumbs li+li::before{content:"/";margin-right:.5rem;opacity:.5}
.crumbs a{color:var(--on-dark-mute);text-decoration:none}.crumbs a:hover{color:#fff}
.phero__aside{border-left:1px solid var(--line-dk);padding-left:1.6rem;font-size:.92rem;color:var(--on-dark-mute)}
.phero__aside dl{margin:0;display:grid;gap:.9rem}
.phero__aside dt{font:500 .7rem/1 var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--amber-lt);margin-bottom:.3rem}
.phero__aside dd{margin:0;color:#E2E5DD}

/* Article layout with sticky table of contents */
.article{max-width:var(--wrap);margin:0 auto;padding:clamp(3rem,6vw,5.5rem) var(--gut);display:grid;grid-template-columns:240px minmax(0,1fr);gap:clamp(2rem,5vw,5rem)}
.toc{position:sticky;top:calc(var(--head-h) + 2rem);align-self:start;font-size:.88rem}
.toc p{font:500 .7rem/1 var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--amber-dk);margin-bottom:1rem}
.toc ol{list-style:none;margin:0;padding:0;border-left:1px solid var(--line)}
.toc a{display:block;padding:.45rem 0 .45rem 1rem;margin-left:-1px;border-left:1px solid transparent;color:var(--muted);text-decoration:none;line-height:1.35}
.toc a:hover{color:var(--ink)}.toc a.is-on{border-left-color:var(--amber);color:var(--ink);font-weight:600}
.prose{max-width:760px;min-width:0}
.article--cont>.prose{grid-column:2}
.article--cont{padding-top:clamp(2rem,4vw,3.5rem)}
.prose h2{font-size:clamp(1.8rem,1.3rem + 1.6vw,2.6rem);margin-top:2.6em;scroll-margin-top:calc(var(--head-h) + 20px)}
.prose h2:first-child{margin-top:0}
.prose h3{margin-top:1.8em}
.prose ul,.prose ol{padding-left:1.25rem;margin:0 0 1.3em}
.prose li{margin-bottom:.5em}
.prose li::marker{color:var(--amber)}
.prose .lead{font-size:1.22rem;line-height:1.6;color:var(--ink);font-family:var(--serif);font-weight:300}

/* Callouts and modules */
.callout{margin:2rem 0;padding:1.4rem 1.6rem;background:var(--bone);border-left:3px solid var(--amber)}
.callout p:last-child{margin:0}
.callout__label{display:block;font:500 .7rem/1 var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--amber-dk);margin-bottom:.7rem}
.callout--ink{background:var(--ink);color:var(--on-dark);border-left-color:var(--amber-lt)}
.callout--ink .callout__label{color:var(--amber-lt)}
.callout--ink a{color:var(--amber-lt)}
.messy{margin:2.4rem 0;padding:1.6rem;border:1px solid var(--line);background:#fff;position:relative}
.messy::before{content:"";position:absolute;inset:6px;border:1px dashed var(--line);pointer-events:none}
.messy h3{margin-top:0}
.matrix{margin:2rem 0;border-top:1px solid var(--ink)}
.matrix div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.5rem;padding:1rem 0;border-bottom:1px solid var(--line)}
.matrix dt{font-weight:600;color:var(--ink)}
.matrix dt::before{content:"If ";font:500 .72rem var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--amber-dk)}
.matrix dd{margin:0;color:var(--muted)}
.matrix dd::before{content:"Then ";font:500 .72rem var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--amber-dk)}
.bottomline{margin:2.6rem 0 0;padding:1.8rem;background:var(--ink);color:var(--on-dark);display:grid;grid-template-columns:auto minmax(0,1fr);gap:1.5rem;align-items:start}
.bottomline__tag{font:500 .7rem/1.3 var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--amber-lt);writing-mode:vertical-rl;rotate:180deg}
.bottomline p:last-child{margin:0}
.bottomline a{color:var(--amber-lt)}
.tablewrap{margin:2rem 0;overflow-x:auto;border:1px solid var(--line);background:#fff}
table{width:100%;border-collapse:collapse;font-size:.94rem}
th,td{text-align:left;vertical-align:top;padding:.85rem 1rem;border-bottom:1px solid var(--line)}
thead th{font:500 .72rem/1.3 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--amber-dk);background:var(--bone)}
tbody th{font-weight:600;color:var(--ink)}
.checks{list-style:none;padding:0!important}
.checks li{position:relative;padding-left:2rem}
.checks li::before{content:"";position:absolute;left:0;top:.45em;width:14px;height:14px;border:1.5px solid var(--amber);border-radius:2px}
.figure{margin:2.4rem 0;overflow:hidden;position:relative}
.figure picture,.figure img{width:100%;aspect-ratio:16/9;object-fit:cover}
.figure figcaption{font-size:.8rem;color:var(--muted);padding-top:.6rem}
.faq{margin:1.4rem 0 0;border-top:1px solid var(--ink)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;padding:1.1rem 2.5rem 1.1rem 0;font:500 1.08rem/1.4 var(--sans);color:var(--ink);position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:.4rem;top:50%;width:12px;height:12px;border-right:1.5px solid var(--amber);border-bottom:1.5px solid var(--amber);translate:0 -70%;rotate:45deg;transition:rotate .25s}
.faq details[open] summary::after{rotate:225deg;translate:0 -20%}
.faq details>div{padding:0 0 1.2rem;color:var(--muted)}
.related{background:var(--bone);border-top:1px solid var(--line)}
.related__inner{max-width:var(--wrap);margin:0 auto;padding:clamp(3rem,6vw,5rem) var(--gut);display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:3rem;align-items:start}
.related ol{list-style:none;margin:0;padding:0;border-top:1px solid var(--ink)}
.related li a{display:grid;grid-template-columns:3rem minmax(0,1fr) auto;gap:1rem;align-items:baseline;padding:1.1rem 0;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink);transition:padding .25s}
.related li a:hover{padding-left:.6rem}
.related .n{font:500 .78rem var(--mono);color:var(--amber-dk)}
.related .t{font:400 1.35rem/1.25 var(--serif)}
.related .go{color:var(--amber-dk)}

/* CTA band (contextual) */
.ctaband{position:relative;overflow:hidden;background:var(--ink-2);color:var(--on-dark)}
.ctaband__inner{position:relative;z-index:1;max-width:var(--wrap);margin:0 auto;padding:clamp(3.5rem,7vw,6rem) var(--gut);display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:3rem;align-items:center}
.ctaband h2{color:#fff;margin:0}
.ctaband p{color:var(--on-dark-mute)}
.ctaband__arc{position:absolute;right:-6%;top:50%;width:min(52vw,640px);translate:0 -50%;opacity:.12;pointer-events:none}

/* ===== Library pattern 1: scroll-filled giant words (routine day) ===== */
.fill{background:var(--ink-2);color:var(--on-dark);padding:clamp(5rem,9vw,9rem) 0;overflow:hidden}
.fill__head{max-width:var(--wrap);margin:0 auto 3rem;padding-inline:var(--gut);display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:3rem;align-items:end}
.fill__head h2{font-size:clamp(2.4rem,1rem + 5vw,6.2rem);font-weight:300;line-height:.95;letter-spacing:-.035em;color:#fff;margin:0}
.fill__head p{color:var(--on-dark-mute);margin:0}
.fill__list{list-style:none;margin:0 auto;padding:0 var(--gut);max-width:var(--wrap);border-top:1px solid var(--line-dk)}
.fill__row{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(0,22rem);gap:clamp(1rem,3vw,3rem);align-items:center;padding:clamp(1.4rem,3vw,2.6rem) 0;border-bottom:1px solid var(--line-dk)}
.fill__idx{font:500 1rem var(--mono);color:var(--amber-lt)}
.fill__word{position:relative;margin:0;font:400 clamp(2.4rem,1rem + 5.2vw,6rem)/.9 var(--serif);letter-spacing:-.04em;color:#fff;white-space:normal}
.fill__word .ghost{display:none}
.fill__row>p:last-child{margin:0;font-size:.94rem;color:var(--on-dark-mute);text-align:right}
html.mk-on .fill[data-live] .fill__word .solid{color:transparent;-webkit-text-stroke:1px rgba(233,227,213,.42)}
html.mk-on .fill[data-live] .fill__word .ghost{display:block;position:absolute;inset:0;color:#fff;clip-path:inset(0 calc(100% - var(--f,0) * 100%) 0 0);pointer-events:none}
html.mk-on .fill[data-live] .fill__word{translate:calc(var(--dx,0) * 1%) 0}

/* ===== Library pattern 2: technical drawing principles sheet ===== */
.sheetsec{padding:clamp(4.5rem,8vw,8rem) var(--gut);background:var(--paper);background-image:linear-gradient(rgba(14,41,32,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(14,41,32,.05) 1px,transparent 1px),linear-gradient(rgba(14,41,32,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(14,41,32,.035) 1px,transparent 1px);background-size:120px 120px,120px 120px,24px 24px,24px 24px}
.drawing{max-width:var(--wrap);margin:0 auto;border:1px solid var(--ink);background:rgba(248,245,238,.94);position:relative}
.drawing__tick{position:absolute;width:14px;height:14px;border-color:var(--ink);border-style:solid}
.drawing__tick--tl{left:-7px;top:-7px;border-width:0 1px 1px 0}.drawing__tick--tr{right:-7px;top:-7px;border-width:0 0 1px 1px}
.drawing__tick--bl{left:-7px;bottom:-7px;border-width:1px 1px 0 0}.drawing__tick--br{right:-7px;bottom:-7px;border-width:1px 0 0 1px}
.drawing__title{display:grid;grid-template-columns:minmax(0,1fr) 15rem;border-bottom:1px solid var(--ink)}
.drawing__display{display:grid;position:relative;min-height:22rem;overflow:hidden}
.drawing__panel{grid-area:1/1;padding:clamp(1.6rem,4vw,3rem);position:relative;transition:opacity .15s}
.drawing__panel h2,.drawing__panel h3{font-size:clamp(1.9rem,1.2rem + 2.4vw,3.3rem);font-weight:300;max-width:16ch}
.drawing__panel p{max-width:52ch;color:var(--muted)}
.drawing__panel .bg{position:absolute;inset:0;z-index:-1;opacity:.22}
.drawing__panel .bg img,.drawing__panel .bg picture{width:100%;height:100%;object-fit:cover}
.drawing__panel .bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(248,245,238,1) 35%,rgba(248,245,238,.4))}
.drawing__meta{border-left:1px solid var(--ink);margin:0;display:grid;align-content:start}
.drawing__meta div{padding:.9rem 1.1rem;border-bottom:1px solid var(--line)}
.drawing__meta dt{font:500 .64rem/1 var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:.35rem}
.drawing__meta dd{margin:0;font:500 .95rem var(--mono);color:var(--ink);font-variant-numeric:tabular-nums}
.drawing__wire{height:1px;background:var(--ink);position:relative;overflow:hidden}
.drawing__wire::after{content:"";position:absolute;top:-1px;height:3px;width:80px;background:var(--amber);animation:charge 4s linear infinite}
@keyframes charge{from{left:-80px}to{left:100%}}
.drawing__cells{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);list-style:none;margin:0;padding:0}
.drawing__cell{background:var(--paper);position:relative}
.drawing__cell button{all:unset;box-sizing:border-box;display:flex;flex-direction:column;justify-content:space-between;gap:1rem;width:100%;height:100%;min-height:10.5rem;padding:1.3rem;cursor:pointer;transition:background .25s,translate .25s}
.drawing__cell button::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:var(--amber);scale:0 1;transform-origin:left;transition:scale .35s}
.drawing__cell button:hover,.drawing__cell button:focus-visible,.drawing__cell button[aria-pressed="true"]{background:#fff}
.drawing__cell button:hover::before,.drawing__cell button:focus-visible::before,.drawing__cell button[aria-pressed="true"]::before{scale:1 1}
.drawing__num{font:300 3.4rem/1 var(--serif);color:transparent;-webkit-text-stroke:1px var(--ink);transition:-webkit-text-stroke-color .25s}
.drawing__cell button:hover .drawing__num,.drawing__cell button[aria-pressed="true"] .drawing__num{-webkit-text-stroke-color:var(--amber)}
.drawing__name{font:600 1rem/1.3 var(--sans);color:var(--ink)}
.drawing__strip{display:flex;justify-content:space-between;gap:1rem;padding:.7rem 1.1rem;border-top:1px solid var(--ink);font:500 .66rem/1.4 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
/* no-JS: all panels stacked and visible */
.drawing:not([data-live]) .drawing__display{display:block}
.drawing:not([data-live]) .drawing__panel{border-bottom:1px solid var(--line)}
.drawing[data-live] .drawing__panel{opacity:0;visibility:hidden}
.drawing[data-live] .drawing__panel.is-on{opacity:1;visibility:visible;transition:opacity .34s .12s}

/* ===== Library pattern 3: backdrop capability list (guide index) ===== */
.cap{position:relative;overflow:hidden;background:var(--ink-2);color:var(--on-dark);padding:clamp(4.5rem,8vw,8rem) 0}
.cap__bgs{position:absolute;inset:0;z-index:0}
.cap__bg{position:absolute;inset:0;opacity:0;transition:opacity .7s}
.cap__bg.is-on{opacity:.42}
.cap__bg img,.cap__bg picture{width:100%;height:100%;object-fit:cover}
.cap::after{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(90deg,rgba(7,24,18,.95) 0%,rgba(7,24,18,.82) 55%,rgba(7,24,18,.6));pointer-events:none}
.cap__inner{position:relative;z-index:1;max-width:var(--wrap);margin:0 auto;padding-inline:var(--gut)}
.cap__head{text-align:center;max-width:760px;margin:0 auto 3rem}
.cap__head h2{color:#fff}
.cap__list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line-dk)}
.cap__row{border-bottom:1px solid var(--line-dk);position:relative}
.cap__row::before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--amber-lt);scale:1 0;transform-origin:top;transition:scale .4s}
.cap__row.is-on::before{scale:1 1}
.cap__btn{all:unset;box-sizing:border-box;width:100%;display:grid;grid-template-columns:3.4rem minmax(0,1fr) auto;align-items:center;gap:1rem;padding:1.3rem 0 1.3rem 1.2rem;cursor:pointer;transition:translate .3s}
.cap__btn:focus-visible{outline:2px solid var(--amber-lt);outline-offset:-2px}
.cap__row.is-on .cap__btn{translate:8px 0}
.cap__n{font:500 .85rem var(--mono);color:var(--amber-lt)}
.cap__t{font:400 clamp(1.5rem,1rem + 2vw,2.7rem)/1.1 var(--serif);letter-spacing:-.02em;color:#fff;text-transform:none}
.cap__arrow{width:28px;height:28px;color:var(--amber-lt);transition:rotate .3s}
.cap__row.is-on .cap__arrow{rotate:45deg}
.cap__panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s cubic-bezier(.2,.7,.2,1)}
.cap__row.is-on .cap__panel{grid-template-rows:1fr}
.cap__panel>div{overflow:hidden}
.cap__panel p{margin:0 0 .8rem 4.6rem;max-width:56ch;color:var(--on-dark-mute)}
.cap__panel a{display:inline-block;margin:0 0 1.4rem 4.6rem}
.cap__ghost{position:absolute;right:var(--gut);bottom:1rem;z-index:1;font:300 clamp(8rem,16vw,15rem)/1 var(--serif);color:transparent;-webkit-text-stroke:1px rgba(217,165,98,.35);pointer-events:none}
.cap:not([data-live]) .cap__panel{grid-template-rows:1fr}

/* ===== Library pattern 4: sticky stacking process cards ===== */
.stack{padding:clamp(4.5rem,8vw,8rem) var(--gut);background:var(--bone)}
.stack__head{max-width:760px;margin:0 auto 3rem;text-align:center}
.stack__head .rule{width:4.5rem;height:3px;background:var(--amber);margin:1.4rem auto 0;border-radius:2px}
.stack__list{list-style:none;margin:0 auto;padding:0;max-width:880px;position:relative}
.stack__card{position:sticky;top:calc(var(--head-h) + 1.4rem + var(--i,0) * 14px);z-index:2;display:grid;grid-template-columns:auto minmax(0,1fr);gap:1.5rem;align-items:start;background:#fff;padding:clamp(1.4rem,3vw,2.3rem);border-radius:4px;box-shadow:inset 0 0 0 1.5px var(--line),0 22px 48px -30px rgba(14,41,32,.55);margin-bottom:1.1rem}
.stack__badge{width:60px;height:60px;display:grid;place-items:center;background:var(--ink);color:var(--bone);font:600 1.3rem var(--serif);border-radius:3px;font-variant-numeric:tabular-nums}
.stack__card h3{margin:.2rem 0 .5rem}
.stack__card p{margin:0;color:var(--muted)}
.stack__chev{display:flex;justify-content:center;margin:-.4rem 0 .7rem;color:var(--amber);position:relative;z-index:1;animation:bob 1.9s ease-in-out infinite}
@keyframes bob{50%{translate:0 22%}}
.stack__list::after{content:"";display:block;height:4vh}
html:not(.mk-on) .stack__card{position:relative;top:auto}
html:not(.mk-on) .stack__chev{animation:none}

/* ===== Library pattern 5: expanding accordion gallery ===== */
.accord{display:flex;gap:6px;height:min(68svh,560px);margin:2.4rem 0;list-style:none;padding:0}
.accord__panel{position:relative;flex:1;min-width:0;overflow:hidden;background:var(--ink);color:#fff;transition:flex .6s cubic-bezier(.2,.7,.2,1);cursor:pointer}
.accord__panel.is-open{flex:5}
.accord__panel picture,.accord__panel img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.accord__panel::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(7,24,18,.95) 10%,rgba(7,24,18,.35) 70%,rgba(7,24,18,.2))}
.accord__btn{all:unset;position:absolute;inset:0;z-index:2;cursor:pointer}
.accord__btn:focus-visible{outline:2px solid var(--amber-lt);outline-offset:-4px}
.accord__tab{position:absolute;z-index:1;left:1rem;bottom:1.2rem;font:500 .8rem var(--mono);letter-spacing:.14em;text-transform:uppercase;writing-mode:vertical-rl;rotate:180deg;color:var(--amber-lt);transition:opacity .3s}
.accord__body{position:absolute;z-index:1;left:0;right:0;bottom:0;padding:1.6rem;opacity:0;translate:0 14px;transition:opacity .4s .15s,translate .4s .15s;pointer-events:none}
.accord__panel.is-open .accord__body{opacity:1;translate:0 0;pointer-events:auto}
.accord__panel.is-open .accord__tab{opacity:0}
.accord__body h3{color:#fff;margin:0 0 .4rem;font-size:1.6rem}
.accord__body p{margin:0;color:#D6DBD2;font-size:.94rem;max-width:44ch}
.accord__body a{position:relative;z-index:3}
.accord__body .tag{display:inline-block;font:500 .66rem var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--amber-lt);margin-bottom:.6rem}

/* ===== Library pattern 6: cut-out act words ===== */
.acts{position:relative;background:var(--ink-2);color:var(--on-dark)}
.acts__label{text-align:center;font:500 .74rem var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--amber-lt);padding:3rem var(--gut) 0;margin:0}
.acts__stage{position:relative}
.acts__sticky{position:relative}
.act{display:grid;place-items:center;padding:2rem var(--gut);text-align:center}
.act__phrase{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:center;gap:.2em 1.2rem}
.act__word{font:400 clamp(4.2rem,16vw,15rem)/.9 var(--serif);letter-spacing:-.035em;color:#fff;overflow:hidden;padding:.06em .08em .22em;margin:-.06em -.08em -.22em}
.act__word span{display:inline-block}
.act__suffix{font:italic 300 clamp(1.4rem,4vw,3.6rem)/1.1 var(--serif);color:var(--on-dark-mute)}
.act--accent .act__suffix{color:var(--amber-lt)}
.act__wash,.act__num,.acts__rail{display:none}
.acts__notes{max-width:var(--wrap);margin:0 auto;padding:2rem var(--gut) 5rem;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;border-top:1px solid var(--line-dk)}
.acts__notes h3{color:#fff;font-size:1.3rem}
.acts__notes p{color:var(--on-dark-mute);font-size:.95rem;margin:0}
.acts[data-live] .acts__stage{height:330vh}
.acts[data-live] .acts__sticky{position:sticky;top:0;height:100svh;overflow:hidden}
.acts[data-live] .act{position:absolute;inset:0;padding-left:clamp(10rem,18vw,22rem);opacity:calc(clamp(0, var(--t,1) * 12, 1) * clamp(0, (1 - var(--t,1)) * 12, 1))}
.acts[data-live] .act__wash{display:block;position:absolute;inset:-8%;background-size:cover;background-position:center;filter:blur(34px) saturate(1.1) brightness(.4);transform:scale(calc(1.1 + var(--t,0) * .12));z-index:-1}
.acts[data-live] .act__word span{color:transparent;background-image:var(--img);background-size:calc(var(--ww,600px) * 1.3) auto;background-position:calc(var(--ox,0px) * -1 - var(--t,0) * var(--ww,600px) * .28) 50%;-webkit-background-clip:text;background-clip:text;-webkit-text-stroke:1px rgba(242,236,223,.3);filter:brightness(1.18) contrast(1.06);
  --in:clamp(0, var(--t,0) / .3 * 1.6 - var(--li,0) * .1, 1);--out:clamp(0, (var(--t,0) - .7) / .3 * 1.6 - var(--li,0) * .1, 1);
  transform:translateY(calc((1 - var(--in)) * 108% - var(--out) * 108%)) rotate(calc((1 - var(--in)) * 7deg - var(--out) * 5deg))}
.acts[data-live] .act__suffix{opacity:calc(clamp(0, (var(--t,0) - .18) * 10, 1) * clamp(0, (.78 - var(--t,0)) * 10, 1))}
.acts[data-live] .act__num{display:block;position:absolute;right:5vw;top:50%;font:300 clamp(8rem,24vw,24rem)/1 var(--serif);color:transparent;-webkit-text-stroke:2px rgba(217,165,98,.6);transform:translateY(calc(-50% + (.5 - var(--t,0)) * 120vh));pointer-events:none}
.acts[data-live] .acts__rail{display:block;position:absolute;left:var(--gut);top:50%;translate:0 -50%;z-index:3;padding-left:1.2rem}
.acts__rail::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:rgba(242,236,223,.16)}
.acts__rail i{position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--amber);transform:scaleY(var(--p,0));transform-origin:top}
.acts__rail ol{list-style:none;margin:0;padding:0;display:grid;gap:1.1rem}
.acts__rail li{font:500 .72rem var(--mono);letter-spacing:.16em;text-transform:uppercase;color:rgba(233,227,213,.5);transition:color .4s,translate .4s}
.acts__rail li b{color:var(--amber-lt);font-weight:500;margin-right:.6rem}
.acts__rail li.is-on{color:var(--on-dark);translate:6px 0}

/* ===== Library pattern 7: scroll-drawn journey path ===== */
.journey{position:relative;overflow:clip;background:var(--ink-2);color:var(--on-dark)}
.journey__bg{position:absolute;inset:0;z-index:0}
.journey__bg picture,.journey__bg img{width:100%;height:100%;object-fit:cover;filter:brightness(.26) saturate(.7)}
.journey__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,var(--ink-2) 0%,transparent 22%,transparent 70%,var(--ink-2) 100%)}
.journey__frame{position:relative;z-index:1;max-width:1440px;margin:0 auto;padding:clamp(4rem,7vw,6rem) var(--gut)}
.journey__head{display:grid;grid-template-columns:1.35fr 1fr;gap:3rem;align-items:end;margin-bottom:2.5rem}
.journey__head h2{font-size:clamp(2.4rem,1rem + 4.2vw,5.4rem);font-weight:300;line-height:.95;letter-spacing:-.035em;color:#fff;max-width:14ch;margin:0}
.journey__head h2 em{color:var(--amber-lt)}
.journey__head p{color:var(--on-dark-mute);max-width:40ch;margin:0}
.journey__canvas{position:relative}
.journey__svg{display:none}
.journey__stops{list-style:none;margin:0;padding:0 0 0 2rem;display:grid;gap:2rem;position:relative}
.journey__stops::before{content:"";position:absolute;left:7px;top:0;bottom:0;width:2px;background:rgba(242,236,223,.16)}
.journey__stops::after{content:"";position:absolute;left:7px;top:0;bottom:0;width:2px;background:var(--amber-lt);transform:scaleY(var(--p,1));transform-origin:top}
.journey__stop{position:relative}
.journey__node{position:absolute;left:-2rem;top:.5rem;width:16px;height:16px;border-radius:50%;background:var(--amber-lt);box-shadow:0 0 0 6px rgba(217,165,98,.18)}
.journey__idx{font:500 .7rem var(--mono);letter-spacing:.18em;color:var(--amber-lt)}
.journey__stop h3{font-weight:300;font-size:clamp(1.15rem,.9rem + .7vw,1.6rem);color:#fff;margin:.2rem 0 .3rem}
.journey__stop p{font-size:.84rem;line-height:1.5;color:rgba(233,227,213,.78);margin:0;max-width:38ch}
@media (min-width:901px){
  .journey[data-live] .journey__stage{height:270vh}
  .journey[data-live] .journey__sticky{position:sticky;top:0;min-height:100svh;display:flex;flex-direction:column;justify-content:center}
  .journey[data-live] .journey__frame{padding-block:2rem}
  .journey[data-live] .journey__canvas{height:min(320px,30svh);margin:min(8.5rem,16svh) 0 min(8rem,15svh)}
  .journey[data-live] .journey__head{margin-bottom:0}
  .journey[data-live] .journey__head h2{font-size:clamp(2rem,1rem + 2.6vw,3.8rem)}
  .journey[data-live] .journey__frame{padding-block:1rem}
  .journey[data-live] .journey__svg{display:block;position:absolute;inset:0;width:100%;height:100%;overflow:visible}
  .journey__ghost{fill:none;stroke:rgba(242,236,223,.16);stroke-width:1;stroke-dasharray:3 7;vector-effect:non-scaling-stroke}
  .journey__line{fill:none;stroke:var(--amber-lt);stroke-width:2.5;stroke-linecap:round;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 6px rgba(217,165,98,.45))}
  .journey[data-live] .journey__stops{position:absolute;inset:0;padding:0;display:block}
  .journey[data-live] .journey__stops::before,.journey[data-live] .journey__stops::after{display:none}
  .journey[data-live] .journey__stop{position:absolute;width:0;height:0;left:var(--x);top:var(--y)}
  .journey[data-live] .journey__node{left:-9px;top:-9px;width:18px;height:18px;background:var(--ink-2);border:2px solid rgba(242,236,223,.3);box-shadow:none;scale:.7;transition:scale .4s}
  .journey[data-live] .journey__card{position:absolute;width:clamp(10.5rem,15.5vw,16rem);translate:-50% 18px;opacity:0;transition:opacity .65s,translate .65s}
  .journey[data-live] .journey__stop.is-hi .journey__card{bottom:1.9rem;translate:-50% 18px}
  .journey[data-live] .journey__stop.is-lo .journey__card{top:1.9rem;translate:-50% -18px}
  .journey[data-live] .journey__stop:first-child .journey__card{translate:-18% 0}
  .journey[data-live] .journey__stop:last-child .journey__card{translate:-82% 0;text-align:right}
  .journey[data-live] .journey__stop[data-reached] .journey__card{opacity:1;translate:-50% 0}
  .journey[data-live] .journey__stop:first-child[data-reached] .journey__card{translate:-18% 0}
  .journey[data-live] .journey__stop:last-child[data-reached] .journey__card{translate:-82% 0}
  .journey[data-live] .journey__stop[data-reached] .journey__node{background:var(--amber-lt);border-color:var(--amber-lt);scale:1;box-shadow:0 0 0 6px rgba(217,165,98,.18);animation:pulse .9s}
  .journey__marker{position:absolute;left:0;top:0;width:14px;height:14px;margin:-7px;border-radius:50%;background:#f3dd96;box-shadow:0 0 0 5px rgba(217,165,98,.22),0 0 24px 6px rgba(217,165,98,.55);opacity:0;pointer-events:none}
}
@keyframes pulse{0%{scale:1.35;box-shadow:0 0 0 0 rgba(217,165,98,.6)}100%{scale:1;box-shadow:0 0 0 16px rgba(217,165,98,0)}}

/* Marquee strip */
.ticker{background:var(--amber);color:#160F05;overflow:hidden;border-block:1px solid var(--amber-dk)}
.ticker__row{display:flex;gap:3rem;white-space:nowrap;padding:.9rem 0;font:500 .8rem var(--mono);letter-spacing:.18em;text-transform:uppercase;width:max-content}
.ticker__row span::after{content:"\25CB";margin-left:3rem;opacity:.6}

/* Home: intro split */
.split{max-width:var(--wrap);margin:0 auto;padding:clamp(4.5rem,8vw,8rem) var(--gut);display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(2rem,6vw,6rem);align-items:center}
.split__photo{position:relative;overflow:hidden;aspect-ratio:4/5}
.split__photo picture,.split__photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.split__copy h2{max-width:15ch}
.split__ledger{list-style:none;margin:2rem 0 0;padding:0;border-top:1px solid var(--ink)}
.split__ledger li{display:grid;grid-template-columns:8.5rem minmax(0,1fr);gap:1rem;padding:.9rem 0;border-bottom:1px solid var(--line);font-size:.96rem}
.split__ledger b{font:500 .72rem/1.7 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--amber-dk)}

/* Section head: heading left, lede right (no blank half) */
.sechead{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:1rem 3rem;align-items:end;margin-bottom:1.5rem}
.sechead h2{margin:0}.sechead .lede{margin:0}
.fill__head h2,.journey__head h2{line-height:1.02;padding-top:.08em}
.fill__head .eyebrow,.journey__head .eyebrow{margin-bottom:1.4rem}
/* Tool: conversation prep builder */
.tool{background:#fff;border:1px solid var(--line);margin:2.4rem 0;padding:clamp(1.3rem,3vw,2rem)}
.tool{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);column-gap:2.4rem;align-items:start}
.tool>fieldset,.tool__actions{grid-column:1}
.tool__out{grid-column:2;grid-row:2 / span 4;margin-top:0!important;align-self:stretch;display:flex;flex-direction:column}
.tool__foot{margin:auto 0 0!important;padding-top:1rem;font-size:.86rem;color:var(--muted)}
.tool__head{grid-column:1/-1;display:flex;justify-content:space-between;gap:1rem;align-items:baseline;border-bottom:1px solid var(--line);padding-bottom:.9rem;margin-bottom:1.2rem}
.tool__head h3{margin:0}
.tool__tag{font:500 .66rem var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--amber-dk)}
.tool fieldset{border:0;margin:0 0 1rem;padding:0}
.tool legend{font-weight:600;color:var(--ink);margin-bottom:.6rem}
.chips{display:flex;flex-wrap:wrap;gap:.5rem}
.chip{position:relative}
.chip input{position:absolute;opacity:0;inset:0;cursor:pointer}
.chip span{display:inline-flex;align-items:center;min-height:42px;padding:.5rem 1rem;border:1px solid var(--line);border-radius:2px;font-size:.92rem;background:var(--paper);transition:background .2s,border-color .2s,color .2s}
.chip input:checked+span{background:var(--ink);color:var(--bone);border-color:var(--ink)}
.chip input:focus-visible+span{outline:2px solid var(--amber);outline-offset:2px}
.tool__out{margin-top:1.2rem;padding:1.2rem 1.4rem;background:var(--bone);border-left:3px solid var(--amber)}
.tool__out ol{margin:0;padding-left:1.2rem}
.tool__out li{margin-bottom:.45rem}
.tool__out .empty{color:var(--muted);margin:0}
.tool__actions{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:1rem}
.meter{display:grid;gap:.9rem;margin:1.4rem 0;list-style:none;padding:0}
.meter li{display:grid;grid-template-columns:minmax(0,13rem) minmax(0,1fr);gap:1rem;align-items:center}
.meter__bar{height:10px;background:var(--bone);position:relative;overflow:hidden;border:1px solid var(--line)}
.meter__bar i{position:absolute;inset:0;background:var(--ink);transform-origin:left;transform:scaleX(var(--v,0))}
.meter__lab{font-size:.92rem;color:var(--ink);font-weight:600}
.meter__lab small{display:block;font:500 .66rem var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:500}

/* COA anatomy */
.coa{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0;border:1px solid var(--ink);margin:2.4rem 0;background:#fff}
.coa__doc{padding:1.4rem;border-right:1px solid var(--ink);font:400 .8rem/1.5 var(--mono);color:var(--ink)}
.coa__doc .row{display:flex;justify-content:space-between;gap:.6rem;padding:.4rem .5rem;border-bottom:1px dotted var(--line);cursor:pointer;transition:background .2s}
.coa__doc .row:hover,.coa__doc .row.is-on,.coa__doc .row:focus-visible{background:#FBF1E1}
.coa__doc .hd{font-weight:500;letter-spacing:.12em;text-transform:uppercase;font-size:.7rem;color:var(--amber-dk);padding:.8rem .5rem .3rem}
.coa__doc .row span:last-child{color:var(--muted);text-align:right}
.coa__note{padding:1.6rem;display:grid;align-content:start}
.coa__note h3{margin-top:0}
.coa__note p{color:var(--muted);font-size:.96rem}
.coa__sample{font:500 .62rem var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:.6rem}

/* Contact */
.contact{max-width:var(--wrap);margin:0 auto;padding:clamp(3rem,6vw,5rem) var(--gut);display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(2rem,6vw,5rem);align-items:start}
.form{background:#fff;border:1px solid var(--line);padding:clamp(1.3rem,3vw,2.2rem)}
.field{display:grid;gap:.35rem;margin-bottom:1.1rem}
.field label,.field legend{font-weight:600;color:var(--ink);font-size:.95rem}
.field input,.field select,.field textarea{width:100%;font:inherit;font-size:1rem;color:var(--text);background:var(--paper);border:1px solid #BDB4A1;border-radius:2px;padding:.75rem .85rem;min-height:48px}
.field textarea{min-height:150px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--amber);outline:2px solid rgba(173,115,45,.25);outline-offset:0}
.field__hint{font-size:.84rem;color:var(--muted)}
.field__error{color:#9B2C1B;font-size:.86rem;font-weight:600}
.field--check{grid-template-columns:auto 1fr;align-items:start;gap:.7rem}
.field--check input{width:20px;height:20px;min-height:0;margin-top:.2rem;accent-color:var(--ink)}
.field--check label{font-weight:400;font-size:.92rem}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.submitrow{display:grid;grid-template-columns:auto minmax(0,1fr);gap:1.2rem;align-items:center;margin-top:1.2rem}
.submitrow p{margin:0;font-size:.78rem;line-height:1.5;color:var(--muted)}
.form-status{padding:1rem 1.2rem;margin-bottom:1.4rem;border-left:3px solid}
.form-status--ok{background:#EAF2EC;border-color:#2F6B4A}
.form-status--err{background:#FBECE8;border-color:#9B2C1B}
.contact__aside .callout{margin-top:0}

/* Legal pages */
.legal{max-width:820px;margin:0 auto;padding:clamp(3rem,6vw,5rem) var(--gut)}
.legal h2{font-size:1.7rem;margin-top:2em}
.notfound{min-height:60svh;display:grid;place-items:center;text-align:center;padding:4rem var(--gut)}

/* Footer */
.site-foot{background:var(--ink-2);color:var(--on-dark);border-top:3px solid var(--amber);position:relative}
.site-foot::before{content:"";position:absolute;left:0;top:-3px;height:3px;background:var(--amber-lt);width:calc(var(--p,0) * 100%)}
.site-foot__inner{max-width:var(--wrap);margin:0 auto;padding:4rem var(--gut) 2.5rem;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,3fr) minmax(0,3fr);gap:3rem}
.site-foot__brand img{height:28px;width:auto;margin-bottom:1.2rem}
.site-foot__brand p{color:var(--on-dark-mute);font-size:.94rem;max-width:42ch}
.site-foot__nav ul{list-style:none;margin:0 0 1.4rem;padding:0}
.site-foot__nav li{margin-bottom:.5rem}
.site-foot__nav a{color:var(--on-dark);text-decoration:none;font-size:.94rem}
.site-foot__nav a:hover{color:var(--amber-lt);text-decoration:underline}
.site-foot .eyebrow{color:var(--amber-lt)}
.site-foot__legal{max-width:var(--wrap);margin:0 auto;padding:1.6rem var(--gut);border-top:1px solid var(--line-dk);font-size:.8rem;color:var(--on-dark-mute)}
.site-foot__legal p{margin:0 0 .6rem}
.site-foot__legal strong{color:var(--on-dark)}
.mk-toggle{color:var(--on-dark)}

/* View transitions */
@view-transition{navigation:auto}

/* Responsive */
@media (max-width:1100px){
  .nav__link{padding:0 .6rem}
  .site-head__cta{display:none}
  .mega__list{grid-template-columns:1fr}
  .phero__copy{grid-template-columns:1fr}
  .phero__aside{border-left:0;border-top:1px solid var(--line-dk);padding:1.4rem 0 0}
}
@media (max-width:900px){
  :root{--head-h:64px}
  .nav,.site-head__cta{display:none}
  .burger{display:block}
  .site-head__tools{margin-left:auto}
  .brand img{height:24px}
  .dock{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;left:0;right:0;bottom:0;z-index:90;background:rgba(7,24,18,.96);backdrop-filter:blur(10px);border-top:1px solid var(--line-dk);padding:.35rem .4rem calc(.35rem + env(safe-area-inset-bottom))}
  .dock__item{all:unset;display:grid;justify-items:center;gap:.2rem;padding:.45rem 0;color:var(--on-dark);font:500 .7rem var(--sans);text-align:center;cursor:pointer;min-height:44px}
  .dock__item--cta{color:var(--amber-lt)}
  .dock__item:focus-visible{outline:2px solid var(--amber-lt)}
  body{padding-bottom:calc(68px + env(safe-area-inset-bottom))}
  .article{grid-template-columns:1fr}
  .article--cont>.prose{grid-column:auto}
  .toc{position:relative;top:auto;border:1px solid var(--line);padding:1rem 1.2rem;background:#fff}
  .fill__head,.journey__head,.related__inner,.ctaband__inner,.contact,.split{grid-template-columns:1fr}
  .fill__row{grid-template-columns:1fr;gap:.7rem}
  .fill__row>p:last-child{text-align:left}
  .drawing__title{grid-template-columns:1fr}
  .drawing__meta{border-left:0;border-top:1px solid var(--ink);grid-template-columns:1fr 1fr}
  .drawing__cells{grid-template-columns:repeat(2,minmax(0,1fr))}
  .accord{flex-direction:column;height:auto}
  .accord__panel{flex:none;height:76px;transition:height .5s}
  .accord__panel.is-open{height:380px}
  .accord__tab{writing-mode:horizontal-tb;rotate:0deg;bottom:auto;top:50%;translate:0 -50%}
  .acts[data-live] .act{padding-left:var(--gut)}
  .acts[data-live] .acts__rail{top:auto;bottom:90px;left:50%;translate:-50% 0;padding:0}
  .acts[data-live] .acts__rail::before,.acts[data-live] .acts__rail i{display:none}
  .acts__rail ol{display:flex;gap:1rem}
  .acts__notes{grid-template-columns:1fr}
  .coa{grid-template-columns:1fr}
  .coa__doc{border-right:0;border-bottom:1px solid var(--ink)}
  .meter li{grid-template-columns:1fr}
  .tool,.sechead{grid-template-columns:1fr}
  .tool__out{grid-column:auto;grid-row:auto;margin-top:1.2rem!important}
  .cap__panel p,.cap__panel a{margin-left:0}
  .cap__btn{grid-template-columns:2.4rem minmax(0,1fr) auto;padding-left:.8rem}
  .cap__ghost{display:none}
  .split__photo{aspect-ratio:4/3}
  .matrix div{grid-template-columns:1fr;gap:.3rem}
  .bottomline{grid-template-columns:1fr}
  .bottomline__tag{writing-mode:horizontal-tb;rotate:0deg}
  .site-foot__inner{grid-template-columns:1fr}
}
@media (max-width:560px){
  .lang__select{width:64px;padding-right:.3rem}
  .hero{min-height:auto}
  .drawing__cells{grid-template-columns:1fr 1fr}
  .drawing__num{font-size:2.6rem}
  .split__ledger li{grid-template-columns:1fr;gap:.2rem}
  .submitrow{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  .drawing__wire::after,.stack__chev{animation:none}
  *{scroll-behavior:auto!important}
}
html[data-motion-tier="essential"] .drawing__wire::after,html[data-motion-tier="essential"] .stack__chev{animation:none}
@media print{.site-head,.dock,.sheet,.disclaimer-strip,.ticker{display:none}}
[data-compare] .chips{margin-bottom:.4rem}
[data-compare] [aria-pressed="true"]{background:var(--ink);color:var(--bone);border-color:var(--ink)}
[data-compare] tbody tr{transition:opacity .3s}
.coa__item[hidden]{display:none}
/* Journey, unpinned on tablets and small laptops: a 3-column ruled timeline */
@media (min-width:700px){
  .journey:not([data-live]) .journey__stops{grid-template-columns:repeat(3,minmax(0,1fr));gap:2.5rem 2rem;padding:2.2rem 0 0}
  .journey:not([data-live]) .journey__stops::before{left:0;right:0;top:7px;bottom:auto;width:auto;height:2px}
  .journey:not([data-live]) .journey__stops::after{left:0;right:0;top:7px;bottom:auto;width:auto;height:2px;transform:scaleX(var(--p,1));transform-origin:left}
  .journey:not([data-live]) .journey__node{left:0;top:-2.2rem}
}
