/* ===== Internal pages and shared components (extends the homepage system) ===== */
.forest{background:var(--forest);color:var(--ivory)}
.sand{background:var(--sand);color:var(--forest)}
.forest .lead,.forest .muted,.forest .note{color:var(--mute-d)}
.sand .lead,.sand .muted,.sand .note{color:var(--mute-l)}
.note{font-size:13.5px;color:var(--mute-l)}
.dark .note{color:var(--mute-d)}
.skip{position:fixed;left:16px;top:-80px;z-index:120;padding:12px 18px;background:var(--gold);color:var(--ink);font:700 12px/1 var(--f-display);letter-spacing:.16em;text-transform:uppercase;text-decoration:none}
.skip:focus{top:calc(env(safe-area-inset-top,0px) + 12px)}
.nav-links a[aria-current="page"]{background-size:100% 1px}
.phb{display:inline-flex;align-items:center;height:22px;padding:0 8px;margin-left:10px;border:1px dashed currentColor;font:600 9.5px/1 var(--f-display);letter-spacing:.18em;text-transform:uppercase;vertical-align:middle;opacity:.72;white-space:nowrap}
.ln.h>span{font-weight:800;font-stretch:69%}
.ln.l>span{font-weight:300;font-stretch:80%}
.ln.m>span{color:var(--mute-d)}
.light .ln.m>span,.sand .ln.m>span{color:var(--moss)}
.ln.g>span{color:var(--gold)}
.intro .ln>span{animation:lineUp 1.2s var(--ease) both;animation-delay:calc(.12s + var(--i,0)*.08s)}
.band{padding-block:clamp(88px,10vw,150px)}
.band.tight-top{padding-top:clamp(24px,3vw,48px)}
.light+.light.tight-top,.sand+.sand.tight-top{border-top:0}

/* Page transition */
.pt{position:fixed;inset:0;z-index:110;display:grid;place-items:center;background:var(--forest);transform:translateY(101%);pointer-events:none}
.pt svg{width:64px;color:var(--gold);opacity:0;transition:opacity .3s}
html.pt-go .pt{transform:translateY(0);transition:transform .55s var(--ease)}
html.pt-go .pt svg{opacity:1;transition-delay:.25s}
html.pt-in .pt{animation:ptOut .8s .05s var(--ease) both}
html.pt-in .pt svg{opacity:1;animation:fadeOut .3s both}
@keyframes ptOut{from{transform:translateY(0)}to{transform:translateY(-101%)}}
@keyframes fadeOut{to{opacity:0}}

/* Breadcrumb */
.crumbs{margin-bottom:clamp(28px,4vw,52px)}
.crumbs ol{display:flex;flex-wrap:wrap;gap:6px 10px;list-style:none;margin:0;padding:0;font:600 11px/1.5 var(--f-display);letter-spacing:.18em;text-transform:uppercase}
.crumbs li{display:flex;gap:10px;min-width:0}
.crumbs li+li::before{content:"/";opacity:.4}
.crumbs a{text-decoration:none;opacity:.7;transition:opacity .3s}
.crumbs a:hover{opacity:1}
.crumbs [aria-current]{color:var(--gold-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:40ch}
.light .crumbs [aria-current],.sand .crumbs [aria-current]{color:var(--moss)}

/* Page hero */
.phero{padding-block:calc(env(safe-area-inset-top,0px) + clamp(120px,13vw,180px)) clamp(64px,8vw,110px);overflow:clip}
.phero.dark{background:radial-gradient(80% 70% at 92% 0%,rgba(28,68,48,.55),transparent 62%),var(--ink)}
.phero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.5fr);gap:clamp(32px,5vw,80px);align-items:end}
.phero-grid.solo{grid-template-columns:1fr}
.phero-h{font-size:clamp(46px,8vw,146px);line-height:.88}
.phero-h.size-m{font-size:clamp(40px,6vw,104px)}
.phero-h.size-xl{font-size:clamp(60px,11.5vw,220px);line-height:.82}
.phero-h .ln.l>span{font-size:.62em;line-height:1.05}
.phero-side{display:grid;gap:26px;justify-items:start;padding-bottom:.5em}
.phero-meta{margin-top:clamp(40px,5vw,72px);padding-top:26px;border-top:1px solid var(--line-d)}
.phero-meta .meta{display:flex;flex-wrap:wrap;gap:18px clamp(28px,4vw,72px)}
.phero-meta .meta div{display:grid;gap:8px;grid-template-columns:none;border:0;padding:0}
.jump{display:flex;flex-wrap:wrap;gap:10px 28px;margin-top:clamp(40px,5vw,64px);padding-top:24px;border-top:1px solid var(--line-d)}
.jump a{font:600 12px/1 var(--f-display);letter-spacing:.18em;text-transform:uppercase;text-decoration:none;padding-block:10px;color:var(--mute-d);transition:color .3s}
.jump a:hover{color:var(--gold-soft)}

/* Section heading */
.shead{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.55fr);gap:clamp(24px,4vw,64px);align-items:end;margin-bottom:clamp(40px,5vw,80px)}
.shead.solo{grid-template-columns:1fr}
.shead h2,.shead h3{font-size:clamp(36px,5vw,90px)}
.shead .ln.l>span{font-size:.7em}

/* Overview */
.ov-grid{display:grid;grid-template-columns:minmax(0,.55fr) minmax(0,1fr);gap:clamp(28px,6vw,110px);align-items:start}
.ov-grid h2{font-size:clamp(34px,4vw,72px)}
.ov-grid .ln.l>span{font-size:.7em}
.ov-text{display:grid;gap:1.1em}
.ov-text p{font:400 clamp(20px,1.9vw,30px)/1.38 var(--f-display);font-stretch:94%;max-width:34ch;text-wrap:pretty}
.ov-text p+p{font-size:clamp(17px,1.3vw,20px);font-family:var(--f-body);color:var(--mute-l);max-width:56ch}

/* Problems */
.prob{list-style:none;margin:0;padding:0;border-bottom:1px solid var(--line-l)}
.prob li{display:grid;grid-template-columns:clamp(36px,5vw,72px) minmax(0,1fr);gap:20px;padding-block:clamp(18px,2vw,28px);border-top:1px solid var(--line-l);font:500 clamp(22px,2.6vw,42px)/1.15 var(--f-display);font-stretch:86%;text-wrap:balance}
.prob li::before{content:"";height:1px;background:var(--gold);margin-top:.6em}

/* Included */
.incl{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:clamp(28px,3vw,48px)}
.incl-col h3{margin:0 0 18px;font:600 12px/1.3 var(--f-display);letter-spacing:.22em;text-transform:uppercase;color:var(--gold-soft)}
.incl-col ul{list-style:none;margin:0;padding:0}
.incl-col li{padding-block:13px;border-top:1px solid var(--line-d);color:var(--mute-d)}
.pchips{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}
.pchips li{display:inline-flex;align-items:center;min-height:42px;padding:0 16px;border:1px solid var(--line-l);font:600 12px/1 var(--f-display);letter-spacing:.14em;text-transform:uppercase}
.dark .pchips li,.forest .pchips li{border-color:var(--line-d)}

/* Services archive */
.sarch{padding-top:0}
.sgroup{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(28px,6vw,110px);padding-block:clamp(56px,7vw,110px);border-top:1px solid var(--line-l);scroll-margin-top:80px}
.sgroup:first-child{border-top:0}
.sgroup-label{position:sticky;top:15vh;align-self:start;display:grid;gap:16px}
.sgroup-label .n{font:600 12px/1 var(--f-display);letter-spacing:.24em;color:var(--gold)}
.sg-word{margin:0;font:800 clamp(64px,9.4vw,170px)/.86 var(--f-display);font-stretch:66%;text-transform:uppercase}
.sgroup-label p{max-width:30ch;color:var(--mute-l)}
.slist{list-style:none;margin:0;padding:0}
.srow a{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 24px;align-items:center;padding-block:clamp(22px,2.4vw,34px);border-bottom:1px solid var(--line-l);text-decoration:none}
.srow:first-child a{border-top:1px solid var(--line-l)}
.srow h3{margin:0;font:800 clamp(28px,3vw,52px)/.95 var(--f-display);font-stretch:70%;text-transform:uppercase;transition:transform .6s var(--ease),color .3s}
.srow .ar{width:28px;height:28px;transition:transform .45s var(--ease),color .3s}
.srow p{grid-column:1/-1;color:var(--mute-l);max-width:52ch}
.srow-p{grid-column:1/-1;font:600 11px/1.4 var(--f-display);letter-spacing:.18em;text-transform:uppercase;color:var(--moss)}
.srow a:hover h3{transform:translateX(10px);color:var(--moss)}
.srow a:hover .ar{transform:translateX(6px);color:var(--gold)}

/* Project cards and archive */
.pcards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,400px),1fr));gap:clamp(28px,3vw,52px)}
.pcard a{display:grid;gap:14px;text-decoration:none}
.pcard-media{position:relative;aspect-ratio:4/3;overflow:hidden}
.pcard:hover .ph-in,.ac a:hover .ph-in{transform:scale(1.05)}
.pcard-sub{font:600 11px/1.4 var(--f-display);letter-spacing:.2em;text-transform:uppercase;color:var(--mute-d)}
.light .pcard-sub{color:var(--moss)}
.pcard h3{margin:0;font:800 clamp(30px,3vw,52px)/.92 var(--f-display);font-stretch:70%;text-transform:uppercase}
.wbody{padding-top:clamp(16px,2vw,32px)}
.dark-f button{border-color:var(--line-d);color:var(--ivory)}
.dark-f button:hover{border-color:var(--ivory)}
.dark-f button[aria-pressed="true"]{background:var(--gold);border-color:var(--gold);color:var(--ink)}
.pflist{margin-top:clamp(32px,4vw,56px)}
.pf{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:clamp(24px,4vw,72px);align-items:end;padding-block:clamp(40px,5vw,80px);border-top:1px solid var(--line-d)}
.pf:nth-of-type(even) .pf-media{order:2}
.pf-media{position:relative;display:block;aspect-ratio:16/11;overflow:hidden;transition:clip-path 1.5s var(--ease)}
html.js-rv .pf:not(.in) .pf-media{clip-path:inset(0 0 100% 0)}
html.js-rv .pf.rv:not(.in){opacity:1;transform:none}
.pf.feat{grid-template-columns:minmax(0,1fr) minmax(0,.62fr)}
.pf.feat .pf-media{grid-column:1/-1;aspect-ratio:21/9;order:0}
.pf-title{margin:0;font:800 clamp(38px,4.4vw,84px)/.9 var(--f-display);font-stretch:70%;text-transform:uppercase}
.pf:hover .ph-in{transform:scale(1.04)}
.windex{list-style:none;margin:0;padding:0;border-bottom:1px solid var(--line-d)}
.windex a{display:grid;grid-template-columns:56px minmax(0,1fr) minmax(0,.45fr) minmax(0,.35fr) 28px;gap:20px;align-items:center;padding-block:clamp(16px,2vw,26px);border-top:1px solid var(--line-d);text-decoration:none;transition:padding .5s var(--ease),color .3s}
.windex a:hover{padding-left:12px;color:var(--gold-soft)}
.wi-n{font:600 12px/1 var(--f-display);letter-spacing:.2em;color:var(--gold)}
.wi-t{font:800 clamp(26px,3vw,52px)/.95 var(--f-display);font-stretch:70%;text-transform:uppercase}
.wi-m{font-size:14px;color:var(--mute-d)}
.windex .ar{width:24px;height:24px}
.wi-prev{position:fixed;left:0;top:0;z-index:45;width:min(28vw,340px);aspect-ratio:4/3;pointer-events:none;opacity:0;transform:scale(.92);transition:opacity .3s,transform .45s var(--ease);overflow:hidden}
.wi-prev.on{opacity:1;transform:scale(1)}
.wi-prev .ph{position:absolute;inset:0}

/* Project single */
.pmedia{padding:0 var(--gutter) clamp(24px,3vw,40px)}
.pm-frame{position:relative;aspect-ratio:21/9;overflow:hidden;max-width:1600px;margin-inline:auto}
.pm-frame .ph-in{transition:transform 1.8s var(--ease)}
html.js-rv .pm-frame.rv:not(.in){opacity:1;transform:none}
html.js-rv .pm-frame:not(.in) .ph-in{transform:scale(1.14)}
.ca{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(28px,6vw,110px);padding-top:clamp(32px,4vw,64px);border-top:1px solid var(--line-l)}
.ca.one{grid-template-columns:minmax(0,1fr)}
.ca.one .ca-col{max-width:72ch}
.ca-col{display:grid;gap:18px;align-content:start}
.ca-h{margin:0;font:800 clamp(28px,3vw,48px)/.95 var(--f-display);font-stretch:70%;text-transform:uppercase}
.ca-col p{font-size:var(--t-body-l);color:var(--mute-l);max-width:56ch}
.details{display:grid}
.drow{display:grid;grid-template-columns:minmax(0,.6fr) minmax(0,1fr);gap:clamp(24px,5vw,90px);align-items:center;padding-block:clamp(32px,4vw,56px);border-top:1px solid var(--line-l)}
.drow:not(.has-media){grid-template-columns:minmax(0,1fr)}
.drow:not(.has-media) .d-text{display:grid;grid-template-columns:56px minmax(0,.5fr) minmax(0,1fr);gap:20px;align-items:baseline}
.drow:nth-child(even).has-media .d-media{order:-1}
.d-text{display:grid;gap:14px}
.d-text .n{font:600 12px/1 var(--f-display);letter-spacing:.2em;color:var(--gold)}
.d-text h3{margin:0;font:800 clamp(26px,2.6vw,44px)/.95 var(--f-display);font-stretch:70%;text-transform:uppercase}
.d-text p{color:var(--mute-l);max-width:52ch}
.d-media{position:relative;aspect-ratio:4/3;overflow:hidden}
.gallery{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(10px,1.4vw,20px)}
.g-item{position:relative;grid-column:span 6;aspect-ratio:4/3;padding:0;border:0;background:none;cursor:zoom-in;overflow:hidden}
.g-item:first-child,.g-item:last-child:nth-child(even){grid-column:span 12;aspect-ratio:21/9}
.g-item:hover .ph-in{transform:scale(1.04)}
.lb{width:min(1200px,calc(100% - 32px));max-height:calc(100svh - 32px);padding:0;border:0;background:transparent;overflow:visible}
.lb::backdrop{background:rgba(11,21,16,.92)}
.lb-in{position:relative;aspect-ratio:16/10;max-height:calc(100svh - 120px);margin-inline:auto}
.lb-in .ph{position:absolute;inset:0}
.lb-x{position:absolute;right:0;top:-56px;width:44px;height:44px;border:1px solid var(--line-d);background:none;color:var(--ivory);font-size:22px;cursor:pointer}
.ba{position:relative;aspect-ratio:16/9;overflow:hidden;--pos:50%;user-select:none}
.ba-before,.ba-after{position:absolute;inset:0}
.ba-after{clip-path:inset(0 0 0 var(--pos))}
.ba-line{position:absolute;top:0;bottom:0;left:var(--pos);width:2px;margin-left:-1px;background:var(--gold);pointer-events:none}
.ba-line::after{content:"";position:absolute;top:50%;left:50%;width:44px;height:44px;margin:-22px 0 0 -22px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 6px rgba(201,161,75,.25)}
.ba input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize}
.ba input:focus-visible+.ba-line,.ba:focus-within .ba-line{box-shadow:0 0 0 2px var(--ivory)}
.ba-tag{position:absolute;left:16px;bottom:16px;z-index:2;padding:8px 12px;background:rgba(11,21,16,.75);color:var(--ivory);font:600 10px/1 var(--f-display);letter-spacing:.2em;text-transform:uppercase}
.ba-tag.r{left:auto;right:16px}
.results{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:clamp(28px,3vw,48px)}
.res{display:grid;gap:12px;padding-top:24px;border-top:1px solid var(--line-d)}
.res-v{font:800 clamp(64px,8vw,140px)/.82 var(--f-display);font-stretch:66%;color:var(--gold);font-variant-numeric:tabular-nums}
.res p{color:var(--mute-d);max-width:34ch}
.rs{list-style:none;margin:0;padding:0;border-bottom:1px solid var(--line-l)}
.rs a{display:grid;grid-template-columns:110px minmax(0,1fr) auto;gap:20px;align-items:center;padding-block:22px;border-top:1px solid var(--line-l);text-decoration:none}
.rs-g{font:600 11px/1 var(--f-display);letter-spacing:.2em;text-transform:uppercase;color:var(--moss)}
.rs-t{font:700 clamp(20px,1.8vw,28px)/1.1 var(--f-display);font-stretch:88%;transition:transform .5s var(--ease)}
.rs .ar{width:24px;height:24px;transition:transform .45s var(--ease),color .3s}
.rs a:hover .rs-t{transform:translateX(8px)}
.rs a:hover .ar{color:var(--gold);transform:translateX(4px)}
.nextp a{display:grid;gap:18px;padding-block:clamp(80px,10vw,150px);text-decoration:none;border-top:1px solid var(--line-d)}
.nextp .eyebrow{margin:0}
.nextp strong{font:800 clamp(56px,10vw,190px)/.84 var(--f-display);font-stretch:66%;text-transform:uppercase;transition:color .4s,transform .7s var(--ease)}
.nextp a:hover strong{color:var(--gold);transform:translateX(16px)}
.np-sub{font-size:14px;color:var(--mute-d)}

/* Reviews */
.review{position:relative;margin:0;display:grid;gap:26px;align-content:start}
.review blockquote{margin:0}
.review blockquote p{position:relative;padding-top:28px;font:500 clamp(18px,1.5vw,22px)/1.45 var(--f-display);font-stretch:94%}
.review blockquote p::before{content:"";position:absolute;left:0;top:0;width:40px;height:1px;background:var(--gold)}
.review.card{padding:clamp(24px,3vw,36px);border:1px solid var(--line-l);background:var(--paper)}
.dark .review.card,.forest .review.card{border-color:var(--line-d);background:rgba(237,234,223,.03)}
.review.feature blockquote p{font-size:clamp(26px,3vw,50px);line-height:1.18;font-stretch:88%;max-width:28ch;text-wrap:balance}
.review figcaption{display:flex;flex-wrap:wrap;align-items:center;gap:14px 18px}
.rv-av{position:relative;width:52px;height:52px;flex:none;border-radius:50%;overflow:hidden}
.rv-av .ph{position:absolute;inset:0}
.rv-who{display:grid;gap:3px}
.rv-who b{font:700 15px/1.2 var(--f-body)}
.rv-who span{font-size:14px;color:var(--mute-l)}
.dark .rv-who span,.forest .rv-who span{color:var(--mute-d)}
.rv-logo{display:inline-flex;align-items:center;height:32px;padding:0 12px;border:1px solid currentColor;font:700 12px/1 var(--f-display);letter-spacing:.14em;text-transform:uppercase;opacity:.6}
.has-logo .rv-logo{margin-left:auto}
.rv-src{padding:7px 10px;border:1px solid var(--line-l);font:600 10px/1 var(--f-display);letter-spacing:.2em;text-transform:uppercase}
.dark .rv-src,.forest .rv-src{border-color:var(--line-d)}
.rv-stars{display:flex;gap:4px;color:var(--gold)}
.rv-stars svg{width:16px;height:16px}
.review .phb{position:absolute;right:0;top:0;margin:0}
.review.card .phb{right:16px;top:16px}
.rv-solo{display:grid;gap:8px;max-width:1100px}
.reviews-list{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px}
.reviews-list .review{flex:none;width:min(440px,85vw);scroll-snap-align:start}
.rv-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:28px}
.rv-grid .k{margin-bottom:12px;color:var(--moss)}

/* FAQ */
.faq-grid{display:grid;grid-template-columns:minmax(0,.55fr) minmax(0,1fr);gap:clamp(28px,6vw,110px);align-items:start}
.faq-grid h2{font-size:clamp(34px,4vw,72px)}
.faq-grid .ln.l>span{font-size:.7em}
.faq{border-top:1px solid var(--line-l)}
.faq details{border-bottom:1px solid var(--line-l)}
.faq summary{display:flex;justify-content:space-between;align-items:baseline;gap:24px;padding-block:24px;list-style:none;cursor:pointer;font:600 clamp(19px,1.7vw,26px)/1.25 var(--f-display);font-stretch:92%}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";flex:none;font:300 32px/.8 var(--f-display);color:var(--gold);transition:transform .45s var(--ease)}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq-a{padding-bottom:26px}
.faq-a p{max-width:62ch;color:var(--mute-l)}

/* Article cards */
.acards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:clamp(36px,4vw,56px) clamp(20px,2.4vw,36px);margin-top:clamp(28px,3vw,44px)}
.shead+.acards{margin-top:0}
.ac a{display:grid;gap:18px;text-decoration:none;color:inherit;align-content:start}
.ac .media{position:relative;aspect-ratio:4/3;overflow:hidden}
.ac-type{position:relative;aspect-ratio:4/3;display:flex;flex-direction:column;justify-content:space-between;padding:22px;background:var(--forest);color:var(--ivory);overflow:hidden}
.ac-t-k{font:600 10.5px/1 var(--f-display);letter-spacing:.22em;text-transform:uppercase;color:var(--gold-soft)}
.ac-t-big{font:800 clamp(40px,4.6vw,76px)/.86 var(--f-display);font-stretch:64%;text-transform:uppercase;color:rgba(237,234,223,.92);border-top:1px solid var(--gold);padding-top:14px}
.ac:nth-child(3n+2) .ac-type{background:var(--moss)}
.ac:nth-child(3n) .ac-type{background:var(--ink)}
.ac-body{display:grid;gap:10px}
.ac h3{margin:0;font:700 clamp(20px,1.7vw,26px)/1.15 var(--f-display);font-stretch:88%;text-wrap:balance;background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;transition:background-size .5s var(--ease);justify-self:start}
.ac a:hover h3{background-size:100% 1px}
.ac-date{font-size:13px;color:var(--mute-l)}
.dark .ac-date,.forest .ac-date{color:var(--mute-d)}
.ac.big a{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:clamp(24px,4vw,64px);align-items:end}
.ac.big .media,.ac.big .ac-type{aspect-ratio:16/11}
.ac.big h3{font:800 clamp(34px,4vw,72px)/.92 var(--f-display);font-stretch:70%;text-transform:uppercase;background:none}
.ac.big p{color:var(--mute-l);max-width:46ch;font-size:var(--t-body-l)}
.pager{display:flex;justify-content:center;gap:8px;margin-top:clamp(48px,6vw,80px)}
.pager a,.pager span{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:46px;height:46px;padding:0 14px;border:1px solid var(--line-l);font:600 12px/1 var(--f-display);letter-spacing:.14em;text-transform:uppercase;text-decoration:none}
.pager [aria-current]{background:var(--forest);color:var(--ivory);border-color:var(--forest)}
.pager .ar{width:16px;height:16px}
.isearch{display:flex;align-items:center;width:100%;max-width:440px;border-bottom:1px solid currentColor}
.isearch input{flex:1;min-width:0;min-height:52px;padding:8px 0;border:0;background:none;color:inherit;font:400 18px/1.3 var(--f-body)}
.isearch input:focus{outline:none}
.isearch:focus-within{border-bottom-color:var(--gold);box-shadow:0 1px 0 var(--gold)}
.isearch button{width:48px;height:48px;border:0;background:none;color:inherit;cursor:pointer}
.isearch .ar{width:22px;height:22px;margin-inline:auto}
.isearch.big{max-width:720px}
.isearch.big input{font:500 clamp(24px,3vw,44px)/1.2 var(--f-display);font-stretch:90%;min-height:72px}

/* Article */
.ahead{padding-block:calc(env(safe-area-inset-top,0px) + clamp(120px,12vw,170px)) clamp(36px,4vw,56px)}
.a-wrap{max-width:960px}
.ahead .topic{margin-bottom:20px}
.a-h1{margin:0;font:800 clamp(38px,5.4vw,88px)/.95 var(--f-display);font-stretch:74%;text-transform:none;letter-spacing:-.01em;text-wrap:balance}
.a-dek{margin-top:24px;max-width:52ch;font-size:clamp(18px,1.5vw,22px);line-height:1.5;color:var(--mute-l)}
.ameta{display:flex;flex-wrap:wrap;align-items:center;gap:10px 28px;margin-top:32px;padding-top:20px;border-top:1px solid var(--line-l);font-size:14px}
.ameta .k{display:inline;color:var(--moss);margin-right:4px}
.sample-note{margin-top:20px;font-size:13px;color:var(--mute-l)}
.sample-note .phb{margin:0 8px 0 0}
.a-feat{position:relative;margin:0 auto clamp(48px,6vw,80px);max-width:1200px;aspect-ratio:21/9;overflow:hidden}
.a-layout{display:grid;grid-template-columns:200px minmax(0,68ch);gap:clamp(32px,6vw,96px);justify-content:center}
.a-layout.no-toc{grid-template-columns:minmax(0,68ch)}
.toc{position:sticky;top:110px;align-self:start;display:grid;gap:14px;font-size:14px}
.toc ol{list-style:none;margin:0;padding:0;display:grid;gap:2px;border-left:1px solid var(--line-l)}
.toc a{display:block;padding:6px 0 6px 14px;margin-left:-1px;border-left:1px solid transparent;text-decoration:none;color:var(--mute-l);transition:color .3s,border-color .3s}
.toc a:hover,.toc a.active{color:var(--forest);border-left-color:var(--gold)}
.toc .k{color:var(--moss)}
.prose{font-size:18px;line-height:1.72;color:var(--charcoal);min-width:0}
.prose>*+*{margin-top:1.15em}
.prose h2{margin-top:2.2em;font:700 clamp(26px,2.4vw,36px)/1.15 var(--f-display);font-stretch:88%;color:var(--forest);scroll-margin-top:100px}
.prose h3{margin-top:1.8em;font:700 clamp(20px,1.7vw,24px)/1.25 var(--f-display);font-stretch:92%;color:var(--forest);scroll-margin-top:100px}
.prose h2+*,.prose h3+*{margin-top:.6em}
.prose ul,.prose ol{padding-left:1.3em}
.prose li+li{margin-top:.4em}
.prose li::marker{color:var(--gold)}
.prose ol li::marker{font-weight:700;color:var(--moss)}
.prose a{color:var(--moss);text-decoration-color:var(--gold);text-decoration-thickness:1px;text-underline-offset:3px}
.prose a:hover{color:var(--forest)}
.prose blockquote{margin:1.8em 0;padding:4px 0 4px 26px;border-left:2px solid var(--gold);font:500 clamp(21px,1.9vw,27px)/1.4 var(--f-display);font-stretch:92%;color:var(--forest)}
.prose code{padding:.12em .38em;background:rgba(16,41,28,.07);font:500 .88em/1.4 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.prose pre{margin:1.6em 0;padding:20px 22px;background:var(--ink);color:var(--ivory);overflow-x:auto;font-size:14px;line-height:1.6}
.prose pre code{padding:0;background:none;color:inherit}
.prose figure{margin:2em 0}
.prose .fig-ph{position:relative;aspect-ratio:16/9}
.prose figcaption{margin-top:10px;font-size:14px;color:var(--mute-l)}
.prose .tbl{overflow-x:auto;margin:1.6em 0}
.prose table{width:100%;border-collapse:collapse;font-size:16px;line-height:1.5}
.prose th{text-align:left;padding:12px 14px;border-bottom:2px solid var(--forest);font:600 11px/1.3 var(--f-display);letter-spacing:.16em;text-transform:uppercase;color:var(--moss)}
.prose td{padding:14px;border-bottom:1px solid var(--line-l);vertical-align:top}
.callout{padding:20px 24px;background:var(--paper);border:1px solid var(--line-l);border-left:3px solid var(--gold)}
.callout strong{display:block;margin-bottom:6px;font:600 11px/1 var(--f-display);letter-spacing:.2em;text-transform:uppercase;color:var(--moss)}
.author{display:grid;gap:18px;max-width:calc(68ch + 296px);margin:clamp(56px,7vw,96px) auto 0;padding-block:28px;border-top:1px solid var(--line-l);border-bottom:1px solid var(--line-l)}
.author.has-av{grid-template-columns:auto minmax(0,1fr)}
.au-n{margin:6px 0 8px;font:800 24px/1 var(--f-display);font-stretch:74%;text-transform:uppercase}
.author p:last-child{color:var(--mute-l);max-width:60ch}
.author .k{color:var(--moss)}

/* Support page */
.plates{display:grid;gap:28px}
.plates-2,.plates-3{grid-template-columns:repeat(auto-fit,minmax(min(100%,520px),1fr))}
.plates-2 .offer,.plates-3 .offer{grid-template-columns:1fr}
.plates .offer{margin-top:0}
.offer.solo-col{grid-template-columns:1fr}
.amt-sm{font-size:clamp(44px,5vw,80px)!important}
.tiers-1{grid-template-columns:auto minmax(0,1fr)}
.acards3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,3vw,48px)}
.acard{display:grid;gap:16px;align-content:start;padding-top:24px;border-top:3px solid var(--c)}
.acard h3{margin:0;font:800 clamp(28px,2.6vw,44px)/.95 var(--f-display);font-stretch:70%;text-transform:uppercase}
.acard>p{color:var(--mute-l)}
.acard ul{list-style:none;margin:8px 0 0;padding:0}
.acard li{padding-block:11px;border-top:1px solid var(--line-l);font-size:15.5px}
.fit{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(28px,4vw,72px)}
.fit-col h3{margin:0 0 20px;font:800 clamp(26px,2.4vw,40px)/.95 var(--f-display);font-stretch:70%;text-transform:uppercase}
.fit-col ul{list-style:none;margin:0;padding:0}
.fit-col li{display:grid;grid-template-columns:28px minmax(0,1fr);gap:12px;padding-block:16px;border-top:1px solid var(--line-l);font-size:17px}
.fit-col li::before{content:"";width:14px;height:14px;margin-top:.3em;border:1px solid var(--moss)}
.fit-col.yes li::before{background:var(--gold);border-color:var(--gold)}
.fit-col.no li{color:var(--mute-l)}
.light .steps .step::before,.sand .steps .step::before{background:var(--ivory)}
.light .steps::before,.sand .steps::before{background:var(--line-l)}
.light .step p,.sand .step p{color:var(--mute-l)}
.light .steps .step.on::before,.sand .steps .step.on::before{background:var(--gold)}

/* About */
.statement{max-width:1200px}
.st-big{font:400 clamp(26px,3.3vw,56px)/1.18 var(--f-display);font-stretch:86%;text-wrap:pretty}
.st-big b{font-weight:800;font-stretch:72%}
.prins{border-bottom:1px solid var(--line-l)}
.dark .prins{border-color:var(--line-d)}
.prin{display:grid;grid-template-columns:minmax(0,.55fr) minmax(0,1fr);gap:clamp(20px,5vw,90px);padding-block:clamp(24px,3vw,40px);border-top:1px solid var(--line-l)}
.dark .prin{border-color:var(--line-d)}
.prin h3{margin:0;font:800 clamp(26px,2.6vw,46px)/.95 var(--f-display);font-stretch:70%;text-transform:uppercase}
.prin p{font-size:var(--t-body-l);color:var(--mute-l);max-width:56ch}
.dark .prin p{color:var(--mute-d)}
.founder{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1fr);gap:clamp(32px,6vw,110px);align-items:center}
.mono{position:relative;aspect-ratio:4/5;display:grid;place-items:center;overflow:hidden;background:var(--ink)}
.mono-i{font:800 clamp(150px,22vw,380px)/.8 var(--f-display);font-stretch:62%;color:#173523;letter-spacing:-.02em;user-select:none}
.mono-mark{position:absolute;left:24px;top:24px;width:52px;color:var(--gold)}
.mono-k{position:absolute;left:24px;bottom:22px;font:600 11px/1 var(--f-display);letter-spacing:.22em;text-transform:uppercase;color:var(--gold-soft)}
.founder-text{display:grid;gap:20px;justify-items:start}
.founder-text h2{font-size:clamp(48px,6.6vw,120px)}
.founder-text .role{font:600 12px/1.4 var(--f-display);letter-spacing:.2em;text-transform:uppercase;color:var(--gold-soft)}
.team{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:24px}
.rel{display:grid;grid-template-columns:auto minmax(40px,1fr) auto minmax(40px,1fr) auto;align-items:center}
.rel .node{padding:14px 20px;border:1px solid var(--line-d);font:700 12px/1.2 var(--f-display);letter-spacing:.2em;text-transform:uppercase;white-space:nowrap}
.rel .node.you{background:var(--ivory);color:var(--forest);border-color:var(--ivory)}
.rel .node.lead{border-color:var(--gold);color:var(--gold-soft)}
.rel .wire{height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform 1.2s var(--ease)}
.rel.in .wire,html:not(.js-rv) .rel .wire{transform:scaleX(1)}
.rel .wire:nth-of-type(2){transition-delay:.4s}
.rel ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.rel li{padding:9px 12px;border-left:1px solid var(--gold);background:rgba(237,234,223,.04);font:600 12px/1 var(--f-display);letter-spacing:.16em;text-transform:uppercase}

/* Contact */
.contact-hero{padding-bottom:clamp(64px,8vw,120px)}
.contact-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(32px,6vw,100px);align-items:start}
.c-left{display:grid;gap:28px;align-content:start}
.c-left .eyebrow{margin:0}
.cform{padding:clamp(24px,4vw,56px);background:var(--ivory);color:var(--forest)}
.cf-fields{display:grid;gap:24px}
.cf-err{padding:12px 14px;border-left:3px solid #9b3b2a;background:rgba(155,59,42,.08);font-size:15px}
.cf-done{display:grid;gap:16px}
.cf-done h2{font-size:clamp(48px,6vw,96px)}
.cf-done p:last-child{color:var(--mute-l)}
.cform .btn-gold{justify-self:start}
.cdet{display:grid;gap:0;border-top:1px solid var(--line-d)}
.cd-row{display:grid;grid-template-columns:90px minmax(0,1fr);gap:16px;align-items:center;padding-block:18px;border-bottom:1px solid var(--line-d)}
.cd-row .k{color:var(--gold-soft)}
.cd-val{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:17px;min-width:0}
.cd-text{overflow-wrap:anywhere}
.copy{min-height:36px;padding:0 12px;border:1px solid var(--line-d);background:none;cursor:pointer;font:600 10.5px/1 var(--f-display);letter-spacing:.16em;text-transform:uppercase;color:var(--ivory)}
.copy:hover{border-color:var(--gold)}
.socials{display:flex;flex-wrap:wrap;gap:6px 18px;list-style:none;margin:0;padding:0}
.socials li{display:flex;align-items:center}
.socials a{text-decoration:none;padding-block:6px;background:linear-gradient(var(--gold),var(--gold)) 0 100%/0 1px no-repeat;transition:background-size .45s var(--ease)}
.socials a:hover{background-size:100% 1px}
.socials .phb{margin-left:6px;height:18px;padding:0 5px;font-size:8.5px}
.menu-foot .socials{font:600 12px/1 var(--f-display);letter-spacing:.16em;text-transform:uppercase}
.fh2{margin:28px 0 14px!important}
.foot-col .socials{display:grid;gap:10px}
.foot-col .socials a{color:var(--mute-d)}

/* 404 and search */
.nf{min-height:92svh;display:grid;align-items:center;padding-block:calc(env(safe-area-inset-top,0px) + 120px) 80px}
.nf-in{display:grid;gap:26px;justify-items:start}
.nf-mark{width:72px;color:var(--gold)}
.nf-in .eyebrow{margin:0}
.nf-h{font-size:clamp(64px,12vw,220px);line-height:.84}
.nf-links{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin:8px 0 0;padding:0}
.nf-links a{display:inline-flex;align-items:center;gap:10px;min-height:46px;padding:0 18px;border:1px solid var(--line-d);font:600 12px/1 var(--f-display);letter-spacing:.14em;text-transform:uppercase;text-decoration:none;transition:border-color .3s,color .3s}
.nf-links a:hover{border-color:var(--gold);color:var(--gold-soft)}
.nf-links .ar{width:16px;height:16px}
.s-count{font-size:15px;color:var(--mute-l)}
.s-group{margin-top:clamp(36px,4vw,56px)}
.s-group h2{margin:0 0 8px;font:600 12px/1 var(--f-display);letter-spacing:.22em;text-transform:uppercase;color:var(--moss)}
.s-group ul{list-style:none;margin:0;padding:0}
.s-group a{display:grid;gap:6px;padding-block:20px;border-top:1px solid var(--line-l);text-decoration:none}
.s-group a strong{font:700 clamp(20px,1.8vw,28px)/1.15 var(--f-display);font-stretch:88%}
.s-group a span{color:var(--mute-l);font-size:15px}
.s-group mark{background:rgba(201,161,75,.35);color:inherit;padding:0 .1em}
.s-empty{margin-top:28px}

/* Design system page */
.swatches{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:20px;list-style:none;margin:0;padding:0}
.swatches li{display:grid;gap:8px}
.swatches .sw{aspect-ratio:4/3;border:1px solid var(--line-l)}
.swatches code{font-size:12px;color:var(--mute-l)}
.ty{display:grid;gap:10px;padding-block:24px;border-top:1px solid var(--line-l)}
.ty .k,.rv-grid .k{color:var(--moss)}
.routes{list-style:none;margin:0;padding:0}
.routes li{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);gap:16px;padding-block:14px;border-top:1px solid var(--line-d);font-size:15px}
.routes code{color:var(--gold-soft);overflow-wrap:anywhere}
.routes span{color:var(--mute-d)}

/* Responsive */
@media (max-width:899px){
  .phero-grid,.shead,.ov-grid,.faq-grid,.sgroup,.ca,.drow,.drow:not(.has-media) .d-text,.founder,.contact-grid,.fit,.prin{grid-template-columns:1fr}
  .phero-side{padding-bottom:0}
  .sgroup-label{position:static}
  .drow:nth-child(even).has-media .d-media{order:0}
  .pf,.pf.feat{grid-template-columns:1fr;gap:22px}
  .pf:nth-of-type(even) .pf-media{order:0}
  .pf.feat .pf-media{aspect-ratio:4/3}
  .pm-frame{aspect-ratio:4/3}
  .g-item,.g-item:first-child,.g-item:last-child:nth-child(even){grid-column:span 12;aspect-ratio:4/3}
  .windex a{grid-template-columns:40px minmax(0,1fr) 24px;gap:14px}
  .wi-m{display:none}
  .ac.big a{grid-template-columns:1fr}
  .acards3{grid-template-columns:1fr}
  .a-layout{grid-template-columns:minmax(0,1fr)}
  .toc{position:static;padding:18px;border:1px solid var(--line-l)}
  .a-feat{aspect-ratio:4/3}
  .rel{grid-template-columns:1fr;justify-items:start}
  .rel .wire{width:1px;height:32px;margin-left:28px;transform:scaleY(0);transform-origin:top}
  .rel.in .wire,html:not(.js-rv) .rel .wire{transform:scaleY(1)}
  .rs a{grid-template-columns:minmax(0,1fr) auto}
  .rs-g{grid-column:1/-1}
  .routes li{grid-template-columns:1fr;gap:4px}
  .mono{max-width:420px}
  .tiers-1{grid-template-columns:1fr}
  .crumbs [aria-current]{max-width:22ch}
  .ba{aspect-ratio:4/3}
}
@media (prefers-reduced-motion:reduce){
  .pt{display:none}
}

.ln{overflow-x:visible;overflow-y:clip}
.step{align-content:start}
.step h3{font-size:clamp(28px,2.9vw,52px);overflow-wrap:anywhere}

/* ===== WordPress additions (do not alter the approved design; they only cover real content) ===== */
:root{padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.admin-bar .nav,.admin-bar .menu{top:32px}
@media (max-width:782px){.admin-bar .nav,.admin-bar .menu{top:46px}}
/* Real images inside the placeholder frame */
.ph-in img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover}
.ph.has-img .ph-in{background:none!important}
.rv-av .ph-in,.au-av .ph-in{inset:0}
.prose img{max-width:100%;height:auto}
/* Topic links on the insights archive (server-side filter) */
.filters a{display:inline-flex;align-items:center;min-height:42px;padding:0 16px;border:1px solid var(--line-l);background:none;font:600 11px/1 var(--f-display);letter-spacing:.16em;text-transform:uppercase;text-decoration:none;color:var(--forest);transition:all .3s}
.filters a:hover{border-color:var(--forest)}
.filters a[aria-current]{background:var(--forest);border-color:var(--forest);color:var(--ivory)}
.pager .page-numbers.dots{border-color:transparent}
.pager a.prev .ar{transform:rotate(180deg)}
/* Block editor content */
.prose .wp-block-image,.prose .wp-block-table,.prose .wp-block-quote,.prose .wp-block-code{margin-inline:0}
.prose .wp-block-image img{width:100%;height:auto}
.prose .alignwide,.prose .alignfull{max-width:100%}
.prose .alignleft{float:left;margin:.3em 1.4em 1em 0;max-width:50%}
.prose .alignright{float:right;margin:.3em 0 1em 1.4em;max-width:50%}
.prose .aligncenter{margin-inline:auto}
.prose .wp-block-quote cite{display:block;margin-top:.8em;font:600 12px/1.4 var(--f-display);letter-spacing:.16em;text-transform:uppercase;color:var(--moss)}
.prose .wp-block-table figcaption{margin-top:10px}
.prose .is-style-callout{padding:20px 24px;background:var(--paper);border:1px solid var(--line-l);border-left:3px solid var(--gold)}
.prose .is-style-callout>p:first-child>strong:only-child{display:block;margin-bottom:6px;font:600 11px/1 var(--f-display);letter-spacing:.2em;text-transform:uppercase;color:var(--moss)}
.prose .is-style-callout>*+*{margin-top:.6em}
.prose hr{border:0;border-top:1px solid var(--line-l);margin:2.4em 0}
.prose .fig-ph{position:relative}
.cf-err[hidden],.cf-done[hidden],.cf-fields[hidden]{display:none}
.hp-field{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.cform .btn-gold[disabled]{opacity:.6;pointer-events:none}
.cf-done:focus{outline:none}
.s-count{margin-top:16px}
.empty-state{display:grid;gap:18px;justify-items:start;padding-block:clamp(24px,4vw,56px)}
.empty-state p{max-width:52ch;color:var(--mute-l)}
.dark .empty-state p{color:var(--mute-d)}
[hidden]{display:none!important}

/* Capability items that link to a service keep the list styling. */
.cap li a{color:inherit;text-decoration:none}
.cap li a:focus-visible{outline:1px solid var(--gold);outline-offset:3px}
