:root{--bg:#F6F0E7;--bg2:#FBF9F5;--sand:#E8D9C8;--ink:#24211F;--brown:#4A3426;--mute:#6E6458;--line:rgba(36,33,31,.3);--gold:#D4B05A;--navy:#3A2A1E;
--ease:cubic-bezier(.2,.7,.2,1)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#1F1C1A;--bg2:#262321;--sand:#34302C;--ink:#F3ECE1;--brown:#D9B99B;--mute:#B3A79A;--line:rgba(243,236,225,.3)}}
:root[data-theme="dark"]{--bg:#1F1C1A;--bg2:#262321;--sand:#34302C;--ink:#F3ECE1;--brown:#D9B99B;--mute:#B3A79A;--line:rgba(243,236,225,.3)}
*{box-sizing:border-box}html{scroll-behavior:auto}
body{margin:0;background:var(--bg);color:var(--ink);font:300 15px/1.55 Inter,system-ui,sans-serif;overflow-x:hidden}
img{display:block;width:100%;height:100%;object-fit:cover}a{color:inherit}
.disp{font-family:Fraunces,Georgia,serif;font-weight:300;text-transform:uppercase;letter-spacing:-.035em;line-height:.92;margin:0}
.tiny{font-size:10.5px;letter-spacing:.09em;text-transform:uppercase;line-height:1.6;color:var(--mute);font-weight:400}
.it{font-family:Fraunces,Georgia,serif;font-style:italic;text-transform:none;letter-spacing:-.01em}
.gold{display:inline-block;background:var(--gold);color:#24211F;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;padding:15px 30px;clip-path:polygon(0 0,100% 0,100% 62%,92% 100%,0 100%);font-weight:500;transition:.3s}
.gold:hover{background:#fff}
/* ---------- scroll engine ---------- */
.scene{position:relative;--p:0}
.stage{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden}
.t{--t:clamp(0,calc((var(--p) - var(--a,0)) / (var(--b,1) - var(--a,0))),1);--e:calc(var(--t) * (2 - var(--t)))}
/* ---------- loader ---------- */
#loader{position:fixed;inset:0;z-index:100;background:var(--bg);display:grid;place-items:center;transition:transform 1s cubic-bezier(.7,0,.2,1);animation:lfail 0s 5s forwards}
#loader.done{transform:translateY(-100%)}@keyframes lfail{to{visibility:hidden}}
#loader .in{width:min(320px,70vw)}#loader .lg{font:300 clamp(34px,6vw,54px) Fraunces,serif;letter-spacing:-.03em;text-transform:uppercase;text-align:center}
#loader .bar{height:3px;background:var(--gold);width:0;margin:22px 0 10px}#loader .n{font:300 54px/1 Fraunces,serif;text-align:center}
/* ---------- header ---------- */
header{position:fixed;top:0;left:0;right:0;z-index:50;mix-blend-mode:difference;color:#fff;padding-top:env(safe-area-inset-top,0px)}
header .in{display:flex;justify-content:space-between;align-items:center;height:68px;padding:0 clamp(20px,5vw,64px)}
header a{text-decoration:none;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:#fff}
header nav{display:flex;gap:clamp(18px,3vw,48px)}.mk{font:300 20px Fraunces,serif!important;letter-spacing:-.02em!important}
#burger{display:none;background:none;border:0;color:#fff;font:inherit;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase}
@media(max-width:820px){header nav{display:none}#burger{display:block}
header.open{mix-blend-mode:normal;background:var(--ink);bottom:0}header.open a,header.open #burger{color:var(--bg)}
header.open nav{display:flex;flex-direction:column;position:absolute;top:96px;left:clamp(20px,5vw,64px);gap:22px}header.open nav a{font:300 38px Fraunces,serif;text-transform:uppercase;letter-spacing:-.02em}}
/* ---------- 1 HERO ---------- */
.hero{height:400vh}.hero .stage{background:var(--bg)}
.hero .ph{position:absolute;inset:0;overflow:hidden;--c:clamp(0,calc((var(--p) - .64) / .16),1);
 clip-path:inset(calc(var(--c) * 11%) calc(var(--c) * 8%) calc(var(--c) * 11%) calc(var(--c) * 8%) round calc(var(--c) * 28px))}
.hero .ph img{transform:scale(calc(1.25 - var(--p) * .25));object-position:50% 45%}
.hero .ph::after{content:"";position:absolute;inset:0;background:linear-gradient(rgba(20,14,10,.34),rgba(20,14,10,.04) 42%,rgba(20,14,10,.5))}
.hero .wm{position:absolute;left:clamp(14px,4.4vw,60px);bottom:5vh;color:#fff;--k:clamp(0,calc((var(--p) - .06) / .2),1);opacity:calc(1 - var(--k));transform:translateY(calc(var(--k) * -26vh))}
.hero .wm .disp{font-size:clamp(64px,21vw,340px)}
.hero .ln{display:block;overflow:hidden;padding-bottom:.05em}
.hero .wm .ch{display:inline-block;transform:translateY(112%);transition:transform 1.2s var(--ease);transition-delay:calc(var(--i) * 55ms + .1s)}
html.go .hero .wm .ch{transform:none}
.hero .sc{position:absolute;right:clamp(20px,5vw,64px);bottom:calc(5vh + 1vw);color:#fff;font-size:clamp(18px,2.3vw,34px);--k:clamp(0,calc((var(--p) - .06) / .2),1);opacity:calc(1 - var(--k));transform:translateY(calc(var(--k) * -26vh))}
.hero .lab{position:absolute;right:clamp(20px,5vw,64px);top:calc(68px + 3vh);text-align:right;color:rgba(255,255,255,.85);--k:clamp(0,calc((var(--p) - .06) / .2),1);opacity:calc(1 - var(--k) * 2)}
.hero .cue{position:absolute;left:50%;bottom:2.2vh;color:rgba(255,255,255,.8);--k:clamp(0,calc((var(--p) - .06) / .2),1);opacity:calc(1 - var(--k) * 3);text-align:center;transform:translateX(-50%)}
.hero .cue i{display:block;width:1px;height:34px;margin:6px auto 0;background:#fff;transform-origin:top;animation:cue 1.8s var(--ease) infinite}
@keyframes cue{0%{transform:scaleY(0)}60%{transform:scaleY(1)}100%{transform:scaleY(1);opacity:0}}
.hero .m{position:absolute;left:clamp(20px,5vw,64px);right:clamp(20px,5vw,64px);top:50%;color:#fff;font-size:clamp(40px,8vw,128px);
 --in:clamp(0,calc((var(--p) - var(--s)) / .08),1);--out:clamp(0,calc((var(--p) - var(--o)) / .07),1);opacity:calc(var(--in) * (1 - var(--out)));
 transform:translateY(calc(-50% + (1 - var(--in)) * 7vh - var(--out) * 6vh))}
.hero .m.a{--s:.17;--o:.38}.hero .m.b{--s:.38;--o:.6;text-align:right}.hero .m.b em{color:var(--gold)}
.hero .m small{display:block;margin-top:2.2vh;font:400 10.5px/1.6 Inter,sans-serif;letter-spacing:.1em;text-transform:uppercase;opacity:.85}
/* ---------- 2 STATEMENT ---------- */
.stmt{height:380vh}.stmt .stage{display:grid;place-items:center}
.stmt .big{max-width:880px;margin:0;padding:0 clamp(20px,5vw,64px);font-size:clamp(28px,4.6vw,68px);line-height:1.08;position:relative;z-index:2}
.stmt .big .w{display:inline-block;margin-right:.26em;opacity:calc(.13 + .87 * var(--t));transform:translateY(calc((1 - var(--t)) * .18em))}
.stmt .big .w.hl{color:var(--brown)}
.stmt .sub{position:absolute;left:clamp(20px,5vw,64px);bottom:8vh;max-width:36ch;z-index:2;--a:.78;--b:.92;opacity:var(--e);transform:translateY(calc((1 - var(--e)) * 24px))}
.stmt .ms{position:absolute;right:clamp(20px,5vw,64px);bottom:8vh;max-width:30ch;text-align:right;z-index:2;--a:.84;--b:.97;opacity:var(--e);transform:translateY(calc((1 - var(--e)) * 24px))}
.stmt .ms b{display:block;font:300 22px/1.1 Fraunces,serif;text-transform:uppercase;letter-spacing:-.02em;margin-top:6px;color:var(--ink)}
.stmt .fl{position:absolute;z-index:1;width:clamp(96px,12vw,190px);--y:calc((.5 - var(--p)) * var(--s) * 1px);transform:translateY(var(--y));opacity:calc(.35 + .65 * min(1, var(--p) * 6))}
.stmt .fl .im{aspect-ratio:3/4}.stmt .f1{left:2.2vw;top:14vh;--s:340}.stmt .f2{right:2.2vw;top:26vh;--s:-260}.stmt .f3{left:78vw;bottom:-8vh;--s:520;width:clamp(80px,9vw,140px)}
.fm{position:relative}.fm::before{content:"";position:absolute;top:-14px;left:-14px;width:62%;height:62%;border:1px solid var(--line);border-right:0;border-bottom:0;transition:.6s}
.fm.r::before{left:auto;right:-14px;top:auto;bottom:-14px;border:1px solid var(--line);border-left:0;border-top:0}
.fm .im{position:relative;overflow:hidden;background:var(--sand)}
/* ---------- 3 SERVICES ---------- */
.svs{height:600vh}.svs .stage{background:var(--bg)}
.pn{position:absolute;inset:0;display:grid;grid-template-columns:repeat(12,1fr);column-gap:clamp(16px,3vw,48px);align-items:center;padding:0 clamp(20px,5vw,64px);
 --in:clamp(0,calc((var(--p) - var(--s)) / .1),1);--ine:calc(var(--in) * (2 - var(--in)));--out:clamp(0,calc((var(--p) - var(--o)) / .1),1);
 transform:translateY(calc((1 - var(--ine)) * 102%)) scale(calc(1 - .06 * var(--out)));filter:brightness(calc(1 - .4 * var(--out)));will-change:transform}
.pn{background:var(--pb,var(--bg2))}.pn.dk{color:#fff}
.pn .tx{grid-column:1/6;--r:clamp(0,calc((var(--in) - .45) * 2),1);opacity:var(--r);transform:translateY(calc((1 - var(--r)) * 40px))}
.pn .fm{grid-column:7/12;--ci:clamp(0,calc((var(--in) - .35) * 1.8),1)}
.pn .fm .im{height:min(66vh,56vw);clip-path:inset(0 0 calc((1 - var(--ci)) * 100%) 0)}.pn .fm .im img{transform:scale(calc(1.18 - var(--ci) * .18))}
.pn .gn{position:absolute;right:0;top:-48px;font:300 clamp(30px,3.4vw,48px)/1 Fraunces,serif;color:transparent;-webkit-text-stroke:1px var(--line)}
.pn h3{font:400 clamp(17px,1.5vw,21px)/1.2 Inter,sans-serif;text-transform:uppercase;letter-spacing:.02em;margin:0 0 18px;display:flex;justify-content:space-between;gap:16px}.pn h3::after{content:"—";color:var(--mute)}
.pn p{margin:0;font-size:13.5px;line-height:1.65;max-width:42ch;color:var(--mute)}.pn.dk p{color:rgba(255,255,255,.72)}.pn.dk .gn{-webkit-text-stroke-color:rgba(255,255,255,.35)}.pn.dk .fm::before{border-color:rgba(255,255,255,.35)}.pn.dk h3::after{color:rgba(255,255,255,.5)}
.pn.p0 .tt{grid-column:1/-1}.pn.p0 h2{font-size:clamp(54px,12vw,190px)}
.hl2{display:block;overflow:hidden;padding-bottom:.06em}.hl2>span{display:block;transform:translateY(105%);transition:transform 1.1s var(--ease)}.hl2:nth-child(2){margin-left:clamp(30px,13vw,230px);color:var(--brown)}
.in-view .hl2>span{transform:none}.hl2:nth-child(2)>span{transition-delay:.14s}
.svs .cnt{position:absolute;right:clamp(20px,5vw,64px);bottom:3vh;z-index:5;mix-blend-mode:difference;color:#fff}
/* marquee */
.mq{overflow:hidden;white-space:nowrap;padding:22px 0;background:var(--ink);color:var(--bg);position:relative;z-index:3}
.mq div{display:inline-block;animation:mq 40s linear infinite;font:300 clamp(20px,2.6vw,36px) Fraunces,serif;text-transform:uppercase;letter-spacing:-.02em}
.mq span{margin:0 22px}.mq i{color:var(--gold);font-style:normal}@keyframes mq{to{transform:translateX(-50%)}}
/* ---------- 4 PROCESS ---------- */
.prc{height:420vh}.prc .stage{background:var(--bg2)}
.prc .hd{position:absolute;left:clamp(20px,5vw,64px);top:calc(68px + 4vh)}
.prc .rail{position:absolute;left:clamp(20px,5vw,64px);bottom:8vh;display:flex;gap:clamp(14px,3vw,40px);align-items:center}
.prc .rail span{opacity:.3;transition:opacity .5s,color .5s;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase}.prc .rail span.on{opacity:1;color:var(--brown)}
.prc .bar{position:absolute;left:clamp(20px,5vw,64px);right:clamp(20px,5vw,64px);bottom:5.5vh;height:1px;background:var(--line)}.prc .bar i{display:block;height:1px;width:calc(var(--p) * 100%);background:var(--gold)}
.st{position:absolute;inset:0;display:grid;grid-template-columns:repeat(12,1fr);align-items:center;padding:0 clamp(20px,5vw,64px);column-gap:clamp(16px,3vw,48px);
 --in:clamp(0,calc((var(--p) - var(--s)) / .06),1);--out:clamp(0,calc((var(--p) - var(--o)) / .06),1);opacity:min(var(--in),calc(1 - var(--out)))}
.st .nm{grid-column:7/13;grid-row:1;justify-self:end;font-size:clamp(150px,34vw,520px);line-height:.8;color:transparent;-webkit-text-stroke:1px var(--line);transform:translateY(calc((1 - var(--in)) * 16vh - var(--out) * 10vh))}
.st .tx{grid-column:1/7;grid-row:1;z-index:2;transform:translateY(calc((1 - var(--in)) * 6vh - var(--out) * 6vh))}
.st h3{font-size:clamp(56px,10vw,160px)}.st h3 em{color:var(--brown)}.st p{margin:22px 0 0;max-width:38ch;font-size:15px;color:var(--mute)}
/* ---------- 5 PORTFOLIO (horizontal) ---------- */
.pf{height:600vh}.pf .stage{background:var(--bg)}
.pf .track{position:absolute;left:0;top:0;height:100%;display:flex;align-items:center;gap:clamp(40px,6vw,110px);padding:0 clamp(20px,5vw,64px);will-change:transform;transform:translateX(calc(var(--p) * var(--dist,0) * -1px))}
.pf .intro{flex:none;padding-right:3vw}.pf .intro h2{font-size:clamp(54px,10vw,160px);white-space:nowrap}
.pf .prj{flex:none;display:flex;gap:clamp(18px,2.4vw,40px);align-items:flex-end;height:78vh;margin-top:6vh}
.pf .info{flex:none;width:clamp(210px,22vw,320px);align-self:flex-start}
.pf .info .gn{display:block;font:300 clamp(44px,5vw,76px)/1 Fraunces,serif;color:transparent;-webkit-text-stroke:1px var(--line);margin-bottom:26px}
.pf .info h3{font:400 17px/1.25 Inter,sans-serif;text-transform:uppercase;margin:0 0 12px}.pf .info p{margin:0 0 20px;font-size:13px;color:var(--mute)}
.pf .sp{display:grid;grid-template-columns:1fr;gap:10px}.pf .sp div{border-top:1px solid var(--line);padding-top:8px}.pf .sp span{display:block;font-size:10px;letter-spacing:.06em;color:var(--mute)}.pf .sp strong{font:400 15px Inter,sans-serif;text-transform:uppercase}
.pf .shot{flex:none;height:62vh;overflow:hidden;background:var(--sand);aspect-ratio:var(--r)}.pf .shot:nth-of-type(even){align-self:flex-start}
.pf .shot img{transition:transform 1.4s var(--ease)}.pf .shot:hover img{transform:scale(1.05)}
.pf .prog{position:absolute;left:clamp(20px,5vw,64px);right:clamp(20px,5vw,64px);bottom:5vh;height:1px;background:var(--line)}.pf .prog i{display:block;height:1px;width:calc(var(--p) * 100%);background:var(--ink)}
.pf .sc{position:absolute;left:clamp(20px,5vw,64px);bottom:6.5vh}
/* ---------- 6 PROOF ---------- */
.prf{height:300vh}.prf .stage{background:var(--bg2);display:grid;align-content:center}
.prf .row{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,4vw,64px);padding:0 clamp(20px,5vw,64px)}
.prf .s{border-top:1px solid var(--line);padding-top:22px;opacity:var(--e);transform:translateY(calc((1 - var(--e)) * 60px))}
.prf .s b{display:block;font:300 clamp(54px,9vw,150px)/.95 Fraunces,serif;letter-spacing:-.04em;color:var(--brown)}
.prf .s h3{font:400 15px Inter,sans-serif;text-transform:uppercase;margin:14px 0 6px}.prf .s p{margin:0;font-size:12.5px;color:var(--mute)}
.prf .ti{padding:0 clamp(20px,5vw,64px);margin-bottom:8vh}.prf .ti h2{font-size:clamp(44px,8vw,120px)}
/* ---------- 7 CLOSE ---------- */
.cls{height:400vh}.cls .stage{background:var(--bg)}
.cls .ph{position:absolute;inset:0;clip-path:circle(calc(clamp(0,calc(var(--p) / .3),1) * 78%) at 50% 52%)}
.cls .ph img{transform:scale(calc(1.3 - var(--p) * .3));object-position:50% 58%}.cls .ph::after{content:"";position:absolute;inset:0;background:linear-gradient(rgba(20,14,10,.5),rgba(20,14,10,.62))}
.cls .pre{position:absolute;inset:0;display:grid;place-items:center;text-align:center;opacity:calc(1 - clamp(0,calc(var(--p) / .12),1))}
.cls .c{position:absolute;left:clamp(20px,5vw,64px);right:clamp(20px,5vw,64px);top:50%;color:#fff;transform:translateY(-50%)}
.cls h2{font-size:clamp(50px,11vw,180px);text-align:right}
.cls h2 .ln{display:block;overflow:hidden;padding-bottom:.05em}.cls h2 .ln>span{display:block;transform:translateY(calc((1 - clamp(0,calc((var(--p) - var(--s)) / .12),1)) * 110%))}
.cls h2 .ln:nth-child(1){--s:.26}.cls h2 .ln:nth-child(2){--s:.36}.cls h2 em{color:var(--gold)}
.cls .ct{position:absolute;left:clamp(20px,5vw,64px);bottom:14vh;color:#fff;--a:.58;--b:.74;opacity:var(--e);transform:translateY(calc((1 - var(--e)) * 30px))}
.cls .ct a{display:block;text-decoration:none;font:300 clamp(18px,2.2vw,30px)/1.45 Fraunces,serif;letter-spacing:-.01em}
.cls .gob{position:absolute;right:clamp(20px,5vw,64px);bottom:14vh;--a:.66;--b:.82;opacity:var(--e);transform:translateY(calc((1 - var(--e)) * 30px))}
.cls .ft{position:absolute;left:clamp(20px,5vw,64px);right:clamp(20px,5vw,64px);bottom:3.5vh;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;--a:.8;--b:.95;opacity:var(--e)}
.cls .ft .tiny,.cls .ft a{color:rgba(255,255,255,.75);text-decoration:none;font-size:10px;letter-spacing:.1em;text-transform:uppercase;margin-right:18px}
a:focus-visible,button:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
/* ---------- mobile ---------- */
@media(max-width:820px){
 .stmt .f2,.stmt .f3{display:none}.stmt .f1{width:90px;top:18vh}.hero .sc{display:none}.pf .intro h2{font-size:13vw}.stmt .sub{bottom:5vh;max-width:24ch}.stmt .ms{display:none}
 .pn{grid-template-columns:1fr;align-content:center;row-gap:22px}.pn .tx,.pn .fm{grid-column:1}.pn .fm .im{height:38vh}.pn .gn{display:none}.pn.p0 .tt{grid-column:1}
 .pn .tx{order:2}.pn .fm{order:1}.pn.p0 .tt{order:1}
 .prc .st{align-items:stretch}.prc .st .nm{grid-column:1/-1;grid-row:1;align-self:end;font-size:62vw;justify-self:end}.prc .st .tx{grid-column:1/-1;grid-row:1;align-self:start;margin-top:24vh}.prc .rail{display:none}
 .pf{height:auto!important}.pf .stage{position:relative;height:auto;overflow:visible}.pf .track{position:relative;height:auto;flex-direction:column;align-items:stretch;transform:none;padding:12vh 20px 8vh;gap:12vh}.pf .intro{padding-right:0}.pf .intro h2{font-size:13vw}.pf .prj{flex-direction:column;height:auto;align-items:stretch;margin:0;gap:16px}.pf .info{width:auto}.pf .shot{height:auto;width:100%;aspect-ratio:var(--r)}.pf .prog,.pf .sc{display:none}.pf .shot:nth-of-type(even){align-self:auto}
 .prf .row{grid-template-columns:1fr;gap:26px}.prf .s b{font-size:18vw}
 .cls .ct{bottom:auto;top:calc(50% + 17vh)}.cls .gob{bottom:auto;top:calc(50% + 34vh);right:auto;left:clamp(20px,5vw,64px)}.cls h2{text-align:left}.cls .ft{bottom:2.5vh}
}
.im img,.shot img{filter:sepia(.14) saturate(.92) contrast(1.03)}
/* =====================================================================
   v2 — multi-page additions
   ===================================================================== */
[hidden]{display:none!important}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
header a[aria-current="page"]{border-bottom:1px solid currentColor;padding-bottom:3px}
h1,h2,h3{font-weight:300}
.btn-row{display:flex;gap:14px 28px;flex-wrap:wrap;align-items:center}
.lnk{font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:4px;font-weight:400}
.lnk:hover{color:var(--brown)}

/* reveal helpers (only when JS is on) */
html.js .rv{opacity:0;transform:translateY(34px);transition:opacity .9s var(--ease),transform .9s var(--ease);transition-delay:var(--d,0s)}
html.js .rv.in-view{opacity:1;transform:none}
html.js .rvi{clip-path:inset(0 0 99% 0);transition:clip-path 1.4s var(--ease)}
html.js .rvi.in-view{clip-path:inset(0)}
.rvi img{transform:scale(1.14);transition:transform 1.9s var(--ease)}.rvi.in-view img{transform:none}

/* layout helpers */
.sec{position:relative;padding:clamp(80px,14vh,160px) clamp(20px,5vw,64px)}
.g12{display:grid;grid-template-columns:repeat(12,1fr);column-gap:clamp(16px,3vw,48px)}
.alt{background:var(--bg2)}
.dkb{background:var(--navy);color:#fff}.dkb .tiny{color:rgba(255,255,255,.65)}
.lede{font:300 clamp(24px,2.5vw,38px)/1.22 Fraunces,Georgia,serif;letter-spacing:-.015em;color:var(--ink);margin:0 0 .9em;max-width:32ch}
.lede em{color:var(--brown)}
.prose p{margin:0 0 1.35em;font-size:clamp(15.5px,1.15vw,18px);line-height:1.75;color:var(--mute);max-width:58ch}
.prose p.hi,.prose p strong{color:var(--ink)}
.prose p.lede{font:300 clamp(24px,2.5vw,38px)/1.22 Fraunces,Georgia,serif;letter-spacing:-.015em;color:var(--ink);max-width:30ch;margin:0 0 .9em}
.prose p.lede em{color:var(--brown)}
.prose p.sig{font:italic 300 clamp(20px,1.8vw,28px)/1.3 Fraunces,Georgia,serif;color:var(--brown);max-width:30ch}
.prose p strong{font-weight:500}
.sig{font:italic 300 clamp(20px,1.8vw,28px)/1.3 Fraunces,Georgia,serif;color:var(--brown);border-left:2px solid var(--gold);padding-left:18px;margin:1.6em 0;max-width:36ch}
.h2d{font-size:clamp(30px,4.4vw,68px);line-height:.98}
.h2d em{color:var(--brown)}
.mt1{margin-top:3vh}.mt2{margin-top:6vh}

/* image slot — space left for pictures to come */
.slot{position:relative;aspect-ratio:var(--r,4/5);background:linear-gradient(145deg,var(--sand),var(--bg2));border:1px solid var(--line);display:grid;place-items:center;overflow:hidden}
.slot::before{content:"";position:absolute;inset:14px;border:1px dashed var(--line)}
.slot span{position:relative;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--mute);text-align:center;padding:0 24px;line-height:1.7}
.imgbox{position:relative;overflow:hidden;background:var(--sand);aspect-ratio:var(--r,4/5)}

/* ---------- home hero extras ---------- */
.hero .end{position:absolute;left:calc(8vw + clamp(20px,3vw,44px));bottom:calc(11vh + clamp(18px,3vh,36px));max-width:min(62ch,calc(84vw - 90px));color:#fff;--a:.8;--b:.93;opacity:var(--e);transform:translateY(calc((1 - var(--e)) * 36px));pointer-events:none}
.hero .end a{pointer-events:none}.hero .end.live a{pointer-events:auto}
.hero .end .big1{font:300 clamp(19px,2vw,30px)/1.25 Fraunces,Georgia,serif;letter-spacing:-.01em;margin:0 0 14px}
.hero .end p{margin:0 0 14px;font-size:clamp(13.5px,1.1vw,16px);line-height:1.6;color:rgba(255,255,255,.86)}
.hero .end .btn-row{margin:20px 0 16px}
.hero .end .tiny{color:rgba(255,255,255,.7)}
.hero .end .lnk:hover{color:var(--gold)}

/* ---------- statement (home) ---------- */
.stmt .cw{position:relative;z-index:2;max-width:900px;padding:0 clamp(20px,5vw,64px)}
.stmt .cw>.tiny{display:block;margin-bottom:3.2vh}
.stmt .big{max-width:none;padding:0;font-size:clamp(30px,5.6vw,86px)}

/* ---------- principles (process engine, longer copy) ---------- */
.prc.sm .st h3{font-size:clamp(30px,5vw,80px);line-height:.98}
.prc.sm .st .tx{grid-column:1/8}
.prc.sm .st p{max-width:50ch;font-size:clamp(15px,1.25vw,18px);line-height:1.65}
.prc.sm .st p+p{margin-top:12px}
.prc.sm .st.intro .tx{grid-column:1/11}
.prc.sm .st.intro h2{font-size:clamp(34px,5.6vw,92px);line-height:.96}
.prc.sm .st.intro h2 em{color:var(--brown)}
.prc.sm .st.intro .tiny{display:block;margin-bottom:3vh}
.prc.sm .st .nm{font-size:clamp(150px,30vw,460px)}
.prc.sm .hd{display:none}

/* ---------- services stack (longer copy) ---------- */
.pn .lede2{font:italic 300 clamp(18px,1.9vw,28px)/1.25 Fraunces,Georgia,serif;margin:0 0 16px;max-width:30ch;letter-spacing:-.01em}
.pn .tx{grid-column:1/7}
.pn .fm{grid-column:8/12}
.pn p{max-width:46ch}
.pn.p0 .tt .tiny{display:block;margin-bottom:3vh}
.pn.p0 h2{font-size:clamp(36px,6.2vw,104px)}
.pn.p0 .tt p{margin:4vh 0 0;max-width:48ch;font-size:clamp(14px,1.1vw,16px);color:var(--mute)}
.pn.dk .lede2{color:#fff}
.pn.big h3{font:300 clamp(36px,6.4vw,104px)/.95 Fraunces,Georgia,serif;text-transform:uppercase;letter-spacing:-.03em;margin:0 0 3vh;display:block}
.pn.big h3::after{content:none}
.pn.big .tx{grid-column:1/-1}
.pn.big p{font-size:clamp(15px,1.3vw,19px);max-width:44ch}
.pn.big .gn{position:static;display:block;font-size:clamp(54px,7vw,110px);margin-bottom:2vh}
.cta-band{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;padding:clamp(30px,5vh,56px) clamp(20px,5vw,64px);background:var(--ink);color:var(--bg);position:relative;z-index:3}
.cta-band .it{font-size:clamp(20px,2.2vw,32px)}

/* ---------- work scene (home) ---------- */
.pf .intro.w{width:min(36vw,560px);padding-right:2vw}
.pf .intro.w h2{font-size:clamp(30px,3.7vw,60px);white-space:normal;line-height:.98;margin-top:3vh}
.pf .intro.w p{font-size:clamp(13px,1vw,15px);color:var(--mute);margin:3vh 0 0;max-width:40ch}
.pf .info .out{font:italic 300 15px/1.4 Fraunces,Georgia,serif;color:var(--brown);margin:0 0 18px}
.pf .info .out b{display:block;font:300 clamp(30px,3vw,46px)/1 Fraunces,serif;font-style:normal;color:var(--ink);margin-bottom:6px}
.pf .info{width:clamp(220px,23vw,330px)}
.pf .end{flex:none;width:min(28vw,380px);align-self:center}
.pf .end .it{font-size:clamp(26px,2.8vw,44px);line-height:1.1;margin:0 0 3vh}

/* ---------- method (home) ---------- */
.mth{height:320vh}.mth .stage{background:var(--bg);padding:calc(68px + 4vh) clamp(20px,5vw,64px) 5vh;display:flex;flex-direction:column;justify-content:center;gap:9vh}
.mth h2{font-size:clamp(34px,5.4vw,88px)}.mth h2 em{color:var(--brown)}
.mth .tiny.eb{display:block;margin-bottom:2.4vh}
.mth .cols{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(16px,3vw,48px)}
.mth .line{position:absolute;left:0;right:0;top:0;height:1px;background:var(--line)}
.mth .line i{display:block;height:1px;width:calc(var(--p) * 140%);max-width:100%;background:var(--gold)}
.mth .col{padding-top:26px;opacity:var(--e);transform:translateY(calc((1 - var(--e)) * 50px))}
.mth .col .n{font:300 clamp(40px,4.6vw,72px)/1 Fraunces,serif;color:transparent;-webkit-text-stroke:1px var(--line);margin-bottom:14px}
.mth .col h3{font:400 19px/1.2 Inter,sans-serif;text-transform:uppercase;letter-spacing:.03em;margin:0 0 12px}
.mth .col p{margin:0;font-size:clamp(14px,1.15vw,17px);line-height:1.65;color:var(--mute);max-width:34ch}
.mth .note{font:italic 300 clamp(20px,2.3vw,34px)/1.2 Fraunces,serif;color:var(--brown);--a:.84;--b:.97;opacity:var(--e);transform:translateY(calc((1 - var(--e)) * 24px))}

/* ---------- "done beats stuck" (home) ---------- */
.dn{height:300vh}.dn .stage{background:var(--bg2);display:grid;grid-template-columns:repeat(12,1fr);column-gap:clamp(16px,3vw,48px);align-items:center;padding:68px clamp(20px,5vw,64px) 0}
.dn .vis{grid-column:1/6;--g:clamp(0,calc(var(--p) / .35),1)}
.dn .vis .imgbox{height:min(72vh,46vw);aspect-ratio:auto;clip-path:inset(calc((1 - var(--g)) * 40%) 0 0 0)}
.dn .vis .imgbox img{transform:scale(calc(1.25 - var(--g) * .25))}
.dn .tx{grid-column:7/13}
.dn h2{font-size:clamp(32px,5vw,80px)}
.dn .tiny.eb{display:block;margin-bottom:2.4vh}
.dn .pp{margin:0 0 14px;font-size:clamp(14.5px,1.2vw,18px);line-height:1.65;color:var(--mute);max-width:52ch;opacity:var(--e);transform:translateY(calc((1 - var(--e)) * 24px))}
.dn .pp.hi{color:var(--ink)}
.dn .btn-row.t{opacity:var(--e);transform:translateY(calc((1 - var(--e)) * 24px));margin-top:22px}

/* ---------- closing circle scene (all pages) ---------- */
.cls{height:360vh}
.cls h2{font-size:clamp(34px,6vw,100px);text-align:right}
.cls h2 .ln:nth-child(3){--s:.46}
.cls .c{top:46%}
.cls .ct{max-width:min(46ch,40vw);bottom:12vh;--a:.6;--b:.76}
.cls .ct p{margin:0 0 12px;font-size:clamp(14px,1.2vw,18px);line-height:1.6;color:rgba(255,255,255,.88)}
.cls .ct p.hi{font:300 clamp(18px,1.8vw,26px)/1.3 Fraunces,serif}
.cls .gob{bottom:12vh}
.cls .pre{color:var(--mute)}

/* ---------- footer ---------- */
.foot{background:var(--ink);color:var(--bg);padding:clamp(50px,9vh,100px) clamp(20px,5vw,64px) 28px;position:relative;z-index:3}
.foot a{text-decoration:none}
.foot .top{display:grid;grid-template-columns:2fr 1fr 1fr 1.4fr;gap:clamp(20px,4vw,60px)}
.foot .mark{font:300 clamp(32px,4.6vw,72px)/1 Fraunces,serif;letter-spacing:-.03em;text-transform:uppercase}
.foot .mark em{color:var(--gold)}
.foot h4{margin:0 0 14px;font:400 10.5px Inter,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.5)}
.foot li{list-style:none;margin:0 0 8px;font-size:14px}.foot ul{padding:0;margin:0}
.foot a:hover{color:var(--gold)}
.foot .bt{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:clamp(36px,7vh,80px);padding-top:18px;border-top:1px solid rgba(255,255,255,.2);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.55)}
.foot .bt a{color:rgba(255,255,255,.7)}

/* ---------- inner page hero (pinned, image opens up) ---------- */
.ph-hero{height:260vh}
.ph-hero .stage{background:var(--bg)}
.ph-hero .txt{position:absolute;left:clamp(20px,5vw,64px);top:calc(68px + 6vh);width:min(60vw,860px);--k:clamp(0,calc((var(--p) - .1) / .22),1);opacity:calc(1 - var(--k));transform:translateY(calc(var(--k) * -5vh));z-index:2}
.ph-hero .tiny.eb{display:block;margin-bottom:3vh}
.ph-hero h1{font-size:clamp(36px,5.8vw,98px)}
.ph-hero h1 em{color:var(--brown)}
.ph-hero .lead{margin-top:4vh;max-width:52ch}
.ph-hero .lead p{margin:0 0 12px;font-size:clamp(14px,1.15vw,17px);line-height:1.65;color:var(--mute)}
.ph-hero .vis{position:absolute;inset:0;--g:clamp(0,calc((var(--p) - .3) / .45),1);
 clip-path:inset(calc(16vh * (1 - var(--g))) calc(5vw * (1 - var(--g))) calc(10vh * (1 - var(--g))) calc(68vw * (1 - var(--g))) round calc(24px * (1 - var(--g))))}
.ph-hero .vis img{transform:scale(calc(1.2 - var(--g) * .2))}
.ph-hero .vis::after{content:"";position:absolute;inset:0;background:linear-gradient(rgba(20,14,10,.3),rgba(20,14,10,.55))}
.ph-hero .cap{position:absolute;left:clamp(20px,5vw,64px);right:clamp(20px,5vw,64px);bottom:10vh;color:#fff;--a:.72;--b:.9;opacity:var(--e);transform:translateY(calc((1 - var(--e)) * 30px));z-index:2}
.ph-hero .cap p{margin:0;font:300 clamp(24px,3.6vw,58px)/1.08 Fraunces,Georgia,serif;letter-spacing:-.02em;max-width:22ch}
.ph-hero .cap p em{color:var(--gold)}
.ph-hero .cue{position:absolute;left:50%;bottom:2.2vh;transform:translateX(-50%);z-index:3;mix-blend-mode:difference;color:#fff;text-align:center;opacity:calc(1 - var(--p) * 6)}
.ph-hero .cue i{display:block;width:1px;height:30px;margin:6px auto 0;background:#fff;transform-origin:top;animation:cue 1.8s var(--ease) infinite}
.ph-hero.plain{height:auto}.ph-hero.plain .stage{position:relative;height:auto;min-height:72vh;padding:calc(68px + 10vh) clamp(20px,5vw,64px) 8vh}
.ph-hero.plain .txt{position:static;width:min(80vw,1000px);opacity:1;transform:none}

/* ---------- services page ---------- */
.svc{display:grid;grid-template-columns:repeat(12,1fr);column-gap:clamp(16px,3vw,48px);padding:clamp(70px,12vh,140px) clamp(20px,5vw,64px);border-top:1px solid var(--line);position:relative}
.svc:nth-of-type(even){background:var(--bg2)}
.svc .l{grid-column:1/6;position:sticky;top:96px;align-self:start}
.svc .l .n{font:300 clamp(54px,6vw,96px)/1 Fraunces,serif;color:transparent;-webkit-text-stroke:1px var(--line)}
.svc .l h2{font-size:clamp(28px,3.4vw,54px);margin:14px 0 4vh;line-height:.98}
.svc .l .slot,.svc .l .imgbox{max-width:420px}
.svc .r{grid-column:7/13}
.svc .r .lede{max-width:24ch}
.svc .r p{margin:0 0 1.3em;font-size:clamp(15px,1.1vw,17px);line-height:1.7;color:var(--mute);max-width:56ch}
.svc h3{font:400 10.5px Inter,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--mute);margin:2.4em 0 12px}
.svc ul{list-style:none;padding:0;margin:0}
.svc li{padding:11px 0;border-top:1px solid var(--line);font-size:14.5px;color:var(--ink)}
.svc li:last-child{border-bottom:1px solid var(--line)}
.svc .why{color:var(--ink)!important}

/* ---------- work page ---------- */
.filters{display:flex;flex-wrap:wrap;gap:10px;padding:0 clamp(20px,5vw,64px) 26px;position:sticky;top:68px;z-index:20;background:var(--bg);padding-top:14px}
.chip{font:400 10.5px Inter,sans-serif;letter-spacing:.1em;text-transform:uppercase;padding:11px 18px;border:1px solid var(--line);background:none;color:var(--ink);cursor:pointer;border-radius:99px;transition:.3s}
.chip[aria-pressed="true"]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.chip:hover{border-color:var(--ink)}
.wk{display:grid;grid-template-columns:repeat(12,1fr);column-gap:clamp(16px,3vw,48px);padding:clamp(56px,10vh,120px) clamp(20px,5vw,64px);border-top:1px solid var(--line);align-items:start}
.wk .vis{grid-column:1/8;position:sticky;top:130px}
.wk .tx{grid-column:9/13}
.wk.rev .vis{grid-column:6/13;grid-row:1}.wk.rev .tx{grid-column:1/5;grid-row:1}
.wk .pn1{font:300 clamp(40px,4.4vw,68px)/1 Fraunces,serif;color:transparent;-webkit-text-stroke:1px var(--line);margin-bottom:18px}
.wk .sp{display:grid;grid-template-columns:1fr;gap:8px;margin-bottom:26px}
.wk .sp div{border-top:1px solid var(--line);padding-top:8px;display:flex;justify-content:space-between;gap:12px}
.wk .sp span{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--mute)}.wk .sp strong{font:400 13.5px Inter,sans-serif;text-align:right}
.wk h2{font:300 clamp(26px,2.5vw,38px)/1.12 Fraunces,serif;letter-spacing:-.015em;margin:0 0 18px}
.wk p{margin:0 0 14px;font-size:clamp(14px,1.05vw,16px);line-height:1.7;color:var(--mute)}
.metric{border-top:1px solid var(--line);margin:26px 0 8px;padding-top:16px}
.metric b{display:block;font:300 clamp(54px,6.2vw,100px)/1 Fraunces,serif;letter-spacing:-.04em;color:var(--brown);margin-bottom:8px}
.metric p{color:var(--ink);margin:0}
.take{font:italic 300 clamp(16px,1.35vw,20px)/1.4 Fraunces,serif;color:var(--brown);margin-top:18px!important}
.wknote{padding:0 clamp(20px,5vw,64px);margin:0 0 6vh;max-width:70ch}

/* ---------- about page ---------- */
.four{display:grid;grid-template-columns:repeat(2,1fr);gap:0 clamp(24px,5vw,80px);margin-top:7vh}
.four .card{border-top:1px solid var(--line);padding:26px 0 40px}
.four h3{font:300 clamp(22px,2.2vw,34px)/1.12 Fraunces,serif;letter-spacing:-.015em;margin:0 0 14px}
.four p{margin:0;font-size:clamp(14.5px,1.1vw,17px);line-height:1.7;color:var(--mute);max-width:46ch}
.band{margin-top:8vh}
.stick{position:sticky;top:110px;align-self:start}

/* ---------- contact page ---------- */
.fgrid{display:grid;grid-template-columns:repeat(12,1fr);column-gap:clamp(16px,3vw,48px)}
.fgrid .l{grid-column:1/6;position:sticky;top:110px;align-self:start}
.fgrid .r{grid-column:7/13}
.fld{display:block;margin-bottom:30px}
.fld span{display:block;font-size:10.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--mute);margin-bottom:6px}
.fld input,.fld textarea,.fld select{width:100%;background:none;border:0;border-bottom:1px solid var(--line);padding:10px 0;font:300 17px/1.5 Inter,sans-serif;color:var(--ink);border-radius:0;appearance:none;-webkit-appearance:none}
.fld select{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none' stroke='%236E6458'%3E%3Cpath d='M1 1l5 5 5-5'/%3E%3C/svg%3E") no-repeat right 4px center}
.fld textarea{min-height:96px;resize:vertical}
.fld input:focus,.fld textarea:focus,.fld select:focus{outline:0;border-bottom-color:var(--gold);box-shadow:0 1px 0 var(--gold)}
.fld select option{color:#24211F}
.fnote{font:italic 300 16px/1.4 Fraunces,serif;color:var(--brown);margin:22px 0 0}
.sent{display:none;margin-top:26px;padding:22px;border:1px solid var(--line);background:var(--bg2)}
.sent.on{display:block}.sent p{margin:0 0 10px;font-size:15px}
.cgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,3vw,48px);margin-top:5vh}
.cgrid a{display:block;text-decoration:none;border-top:1px solid var(--line);padding-top:14px;font:300 clamp(20px,2.2vw,32px)/1.3 Fraunces,serif}
.cgrid a span{display:block;font:400 10.5px Inter,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--mute);margin-bottom:8px}
.cgrid a:hover{color:var(--brown)}
.endline{font:300 clamp(30px,5vw,80px)/1 Fraunces,serif;text-transform:uppercase;letter-spacing:-.03em;margin:0}
.endline em{color:var(--brown)}

/* ---------- blog ---------- */
.posts{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(40px,6vh,70px) clamp(20px,3vw,48px);padding:0 clamp(20px,5vw,64px) clamp(70px,12vh,140px)}
.pc{display:block;text-decoration:none}
.pc .imgbox{--r:4/3}.pc .imgbox img{transition:transform 1.2s var(--ease)}.pc:hover .imgbox img{transform:scale(1.05)}
.pc .meta{margin:18px 0 10px}
.pc h3{font:300 clamp(24px,2.6vw,40px)/1.1 Fraunces,serif;letter-spacing:-.02em;margin:0 0 12px}
.pc p{margin:0;font-size:14.5px;line-height:1.65;color:var(--mute);max-width:52ch}
.pc .more{display:inline-block;margin-top:16px}
.post-h{padding:calc(68px + 9vh) clamp(20px,5vw,64px) 5vh}
.post-h h1{font-size:clamp(34px,5.6vw,92px);max-width:18ch}
.post-h .lede{margin-top:4vh;max-width:36ch}
.post-cover{padding:0 clamp(20px,5vw,64px)}.post-cover .imgbox{--r:21/9;max-height:70vh}
.post-b{max-width:700px;margin:0 auto;padding:clamp(50px,9vh,100px) 20px clamp(40px,8vh,90px)}
.post-b h2{font:300 clamp(26px,2.8vw,40px)/1.12 Fraunces,serif;letter-spacing:-.02em;margin:1.6em 0 .6em}
.post-b p{font-size:clamp(16px,1.2vw,18.5px);line-height:1.8;color:var(--ink);margin:0 0 1.3em;font-weight:300}
.post-b blockquote{margin:2em 0;padding-left:20px;border-left:2px solid var(--gold);font:italic 300 clamp(20px,2vw,28px)/1.3 Fraunces,serif;color:var(--brown)}
.post-b figure{margin:2em 0}.post-b figcaption{font-size:12px;color:var(--mute);margin-top:8px}
.post-nav{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;max-width:700px;margin:0 auto;padding:0 20px clamp(60px,10vh,120px)}

/* ---------- 404 ---------- */
.nf{min-height:100svh;display:grid;align-content:center;padding:calc(68px + 4vh) clamp(20px,5vw,64px) 6vh}
.nf .big4{font:300 clamp(120px,30vw,460px)/.8 Fraunces,serif;color:transparent;-webkit-text-stroke:1px var(--line)}
.nf h1{font-size:clamp(30px,4.6vw,72px);margin:3vh 0 3vh;max-width:18ch}

/* ---------- mobile ---------- */
@media(max-width:820px){
 .hero{height:380vh}
 .hero .end{left:calc(8vw + 14px);bottom:calc(11vh + 14px);max-width:calc(84vw - 28px)}
 .hero .end .big1{font-size:17px}.hero .end p{font-size:12.5px;margin-bottom:8px}.hero .end .btn-row{margin:12px 0 10px}
 .stmt .cw>.tiny{margin-bottom:2vh}
 .prc.sm .st .tx,.prc.sm .st.intro .tx{grid-column:1/-1;margin-top:0;align-self:center}
 .prc.sm .st{align-items:center}
 .prc.sm .st .nm{align-self:end;font-size:70vw;opacity:.6}
 .prc.sm .st h3{font-size:clamp(28px,9vw,44px)}
 .prc.sm .st.intro h2{font-size:clamp(30px,9.4vw,52px)}
 .pn .tx{grid-column:1}.pn .fm{grid-column:1}
 .pn .fm .im{height:26vh}.pn .lede2{font-size:17px}.pn p{font-size:12.5px}.pn h3{margin-bottom:10px}
 .pn.big h3{font-size:clamp(34px,10vw,54px)}
 .pn.p0 h2{font-size:clamp(34px,10.5vw,60px)}
 .pn.p0 .tt p{margin-top:2vh}
 .pf .intro.w{width:auto}.pf .intro.w h2{font-size:clamp(30px,9vw,44px)}.pf .end{width:auto}
 .pf .info{width:auto}
 .mth{height:auto}.mth .stage{position:relative;height:auto;display:block;padding-bottom:10vh}
 .mth .cols{grid-template-columns:1fr;gap:34px;margin:6vh 0}
 .mth .col,.mth .note{opacity:1;transform:none}
 .mth .line{display:none}
 .dn{height:auto}.dn .stage{position:relative;height:auto;display:block;padding:12vh 20px 10vh}
 .dn .vis{margin-bottom:5vh}.dn .vis .imgbox{height:48vh;clip-path:none}
 .dn .pp,.dn .btn-row.t{opacity:1;transform:none}
 .cls h2{font-size:clamp(30px,9.4vw,52px);text-align:left}
 .cls .ct{max-width:none;right:clamp(20px,5vw,64px);bottom:auto;top:calc(46% + 17vh)}.cls .ct p:not(.hi){display:none}
 .cls .gob{bottom:auto;top:calc(46% + 30vh);right:auto;left:clamp(20px,5vw,64px)}
 .foot .top{grid-template-columns:1fr 1fr}.foot .top>div:first-child{grid-column:1/-1}
 .ph-hero{height:auto}.ph-hero .stage{position:relative;height:auto;padding:calc(68px + 6vh) 20px 6vh}
 .ph-hero .txt{position:static;width:auto;opacity:1;transform:none}
 .ph-hero h1{font-size:clamp(32px,10vw,52px)}
 .ph-hero .vis{position:relative;inset:auto;clip-path:none;height:52vh;margin-top:5vh}.ph-hero .vis::after{display:none}
 .ph-hero .cap{position:static;opacity:1;transform:none;color:var(--ink);margin-top:4vh}.ph-hero .cap p{font-size:24px;max-width:none}.ph-hero .cap p em{color:var(--brown)}
 .ph-hero .cue{display:none}
 .svc{display:block}.svc .l{position:static;margin-bottom:4vh}.svc .l .slot,.svc .l .imgbox{max-width:none}
 .wk{display:block}.wk .vis{position:static;margin-bottom:5vh}
 .filters{top:56px}
 .four{grid-template-columns:1fr}
 .fgrid{display:block}.fgrid .l{position:static;margin-bottom:6vh}
 .cgrid{grid-template-columns:1fr}
 .posts{grid-template-columns:1fr}
 .g12.stk>*{grid-column:1/-1!important}
 .stick{position:static;margin-bottom:5vh}
 .stmt .fl{display:none}
 .stick .slot{aspect-ratio:4/3!important}
}

.pf .track::after{content:"";flex:none;width:clamp(20px,5vw,64px)}
@media(max-width:820px){.pf .track::after{display:none}}

.hl2:nth-child(2){margin-left:0;color:inherit}
.pn.p0 .hl2:nth-child(2){margin-left:clamp(30px,13vw,230px);color:var(--brown)}
.h2d .hl2:nth-child(2){margin-left:0;color:inherit}

.svc .r p.lede{font:300 clamp(24px,2.5vw,38px)/1.22 Fraunces,Georgia,serif;letter-spacing:-.015em;color:var(--ink);max-width:24ch;margin:0 0 .9em}
.svc .r p.sig{font:italic 300 clamp(20px,1.8vw,28px)/1.3 Fraunces,Georgia,serif;color:var(--brown);max-width:30ch}
.wk p.take{font:italic 300 clamp(16px,1.35vw,20px)/1.4 Fraunces,serif;color:var(--brown)}

/* statement tiles: medium size, kept clear of the headline */
.stmt .fl{width:clamp(150px,17vw,270px)}
.stmt .f1{left:3vw;top:17vh;--s:120}
.stmt .f2{right:3vw;top:11vh;--s:-100}
.stmt .f3{left:5vw;right:auto;bottom:3vh;--s:120;width:clamp(110px,11vw,170px)}

.prc.sm .st.intro .sub2{margin:3vh 0 0;font:italic 300 clamp(20px,2.4vw,36px)/1.25 Fraunces,Georgia,serif;color:var(--brown);max-width:30ch;letter-spacing:-.01em;text-transform:none}

.pn.p0 .sub2{margin:3vh 0 0;font:italic 300 clamp(20px,2.4vw,36px)/1.25 Fraunces,Georgia,serif;color:var(--brown);max-width:none;letter-spacing:-.01em}
.pn.p0 h2{font-size:clamp(48px,9vw,150px)}
@media(max-width:820px){.pn.p0 h2{font-size:clamp(44px,14vw,80px)}.pn.p0 .sub2{font-size:20px}}

.prc.sm .st.intro h2{font-weight:700;font-size:clamp(48px,8vw,130px);line-height:.95}
.prc.sm .st.intro .sub3{margin:3vh 0 0;font:italic 300 clamp(20px,2.4vw,36px)/1.25 Fraunces,Georgia,serif;color:var(--brown);letter-spacing:-.01em;max-width:none}
.prc.sm .st.intro .sub3+.sub2{margin-top:1.4vh;font:400 clamp(15px,1.3vw,19px)/1.5 Inter,sans-serif;font-style:normal;color:var(--mut,#6b5d52);max-width:34ch}
@media(max-width:820px){.prc.sm .st.intro h2{font-size:clamp(40px,12vw,72px)}}
.prc.sm .st.intro h2{font-size:clamp(44px,6.6vw,106px)}@media(max-width:820px){.prc.sm .st.intro h2{font-size:clamp(38px,11vw,64px)}}
.stmt .sub.tiny{left:calc(17vw + 3vw + clamp(20px,5vw,64px));right:calc(17vw + 6vw);bottom:12vh;max-width:none;text-transform:none;letter-spacing:0;font:400 clamp(17px,1.6vw,24px)/1.5 Inter,sans-serif;color:var(--brown)}
@media(max-width:820px){.stmt .sub.tiny{left:clamp(20px,5vw,64px);right:clamp(20px,5vw,64px);bottom:9vh;font-size:18px;max-width:none}}
.mth{height:150vh}

.subh{margin:3vh 0 0;font:italic 300 clamp(20px,2.1vw,32px)/1.3 Fraunces,Georgia,serif;color:var(--brown);text-transform:none;letter-spacing:-.01em;max-width:24ch}

.subh{max-width:28ch}

.ph-hero h1 .h1s{display:block;font:italic 300 clamp(22px,2.4vw,36px)/1.2 Fraunces,Georgia,serif;text-transform:none;letter-spacing:-.01em;color:var(--brown);margin-bottom:2vh}

/* services v3 layout */
.svc{display:block;padding:clamp(64px,11vh,130px) clamp(20px,5vw,64px);border-top:1px solid var(--line)}
.svc.alt{background:var(--bg2)}
.svc:nth-of-type(even){background:transparent}.svc.alt:nth-of-type(even){background:var(--bg2)}
.svc .hd{display:flex;align-items:baseline;gap:clamp(16px,3vw,44px);margin-bottom:clamp(28px,5vh,56px)}
.svc .hd .n{font:300 clamp(40px,4.4vw,72px)/1 Fraunces,serif;color:transparent;-webkit-text-stroke:1px var(--brown);flex:none}
.svc .hd h2{font-size:clamp(28px,3.6vw,58px);line-height:1;margin:0;max-width:22ch}
.svc .bd{display:grid;grid-template-columns:repeat(12,1fr);column-gap:clamp(16px,3vw,48px);align-items:start}
.svc .bd .l{grid-column:1/6;position:sticky;top:96px;align-self:start}
.svc .bd .l .slot,.svc .bd .l .imgbox{max-width:none;width:100%}
.svc .bd .r{grid-column:7/13}
.svc.alt .bd .l{grid-column:8/13;grid-row:1}.svc.alt .bd .r{grid-column:1/7;grid-row:1}
.svc .wy{margin-top:2em;padding:22px 24px;border-left:2px solid var(--gold);background:rgba(255,255,255,.35)}
.svc .wy .tiny{display:block;margin-bottom:8px}
.svc .wy .why{margin:0;font-size:clamp(16px,1.2vw,19px);line-height:1.6}
@media(max-width:820px){.svc .bd{display:block}.svc .bd .l{position:static;margin-bottom:4vh}.svc .hd{flex-direction:column;gap:6px}}
.svc .r p.sig{border:0;padding:0;margin:1.6em 0 0}

/* statement: sub line flows under the headline (no fixed position) */
.stmt .cw{max-width:min(1000px,62vw);margin-left:auto;margin-right:auto}
.stmt .big{font-size:clamp(28px,4.8vw,78px)}
.stmt .cw .sub.tiny{position:static;left:auto;right:auto;bottom:auto;max-width:36ch;margin-top:4vh;font:400 clamp(17px,1.5vw,22px)/1.5 Inter,sans-serif;text-transform:none;letter-spacing:0;color:var(--brown)}
@media(max-width:820px){.stmt .cw{max-width:none;margin:0}.stmt .cw .sub.tiny{max-width:none}}

/* ===== unified visual system (Oct 2026) ===== */
/* 1. one warm grade across every supporting photo (hero + closing image stay as-is) */
.imgbox img,.shot img,.fm .im img{filter:sepia(.3) saturate(.86) contrast(1.05) brightness(.97) hue-rotate(-6deg)}
.imgbox::after,.shot::after,.fm .im::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(160deg,rgba(176,122,62,.16),rgba(60,36,20,.22));mix-blend-mode:multiply}
.shot{position:relative}
/* 2. paper grain over everything, very light */
body::after{content:"";position:fixed;inset:0;z-index:90;pointer-events:none;opacity:.075;mix-blend-mode:multiply;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .35  0 0 0 0 .25  0 0 0 0 .15  0 0 0 .9 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}
@media(prefers-reduced-motion:reduce){body::after{display:none}}
/* 3. services: image only where it earns its place; the rest are type-led */
.svc .bd.nol .r{grid-column:3/12;grid-row:1}
.svc.alt .bd.nol .r{grid-column:3/12;grid-row:1}
.svc .bd.nol .r p.lede{font-size:clamp(30px,3.4vw,52px);max-width:22ch}
@media(max-width:820px){.svc .bd.nol .r,.svc.alt .bd.nol .r{grid-column:auto}}

/* cut-out PNG artwork: no crop, no grade, sits on a warm tile */
.imgbox:has(img[src$=".png"]){background:radial-gradient(120% 90% at 50% 40%,var(--bg2),var(--sand))}
.imgbox img[src$=".png"]{object-fit:contain;padding:7%;filter:drop-shadow(0 14px 18px rgba(60,36,20,.18))}
.imgbox:has(img[src$=".png"])::after{display:none}

/* cut-outs inside home panels / collage */
.fm .im:has(img[src$=".png"]){background:radial-gradient(120% 90% at 50% 40%,var(--bg2),var(--sand))}
.fm .im img[src$=".png"]{object-fit:contain;padding:6%;filter:drop-shadow(0 14px 18px rgba(60,36,20,.18))}
.fm .im:has(img[src$=".png"])::after{display:none}
.stmt .fl .im{background:transparent}
.stmt .fl .im:has(img[src$=".png"]){background:transparent}

/* about: icons + textured section */
.four .ico{display:grid;place-items:center;width:66px;height:66px;border-radius:50%;background:rgba(176,125,48,.12);border:1px solid rgba(176,125,48,.35);margin-bottom:18px}
.four .ico svg{width:36px;height:36px;fill:none;stroke:var(--brown);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.four .ico svg .f{fill:var(--gold);stroke:none}
.sec.alt{background-image:radial-gradient(rgba(90,62,40,.14) 1px,transparent 1.2px),repeating-linear-gradient(135deg,rgba(90,62,40,.035) 0 1px,transparent 1px 14px);background-size:22px 22px,auto}

.band{position:relative;min-height:84vh;display:flex;align-items:center;background:#0e1822 url(pic-chairs-wide.jpg) right center/cover no-repeat;color:#f4ece0;padding:12vh clamp(20px,5vw,64px)}
.band::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,14,20,.45),transparent 60%);pointer-events:none}
.band .bi{position:relative;z-index:1}
.band .tiny{color:rgba(244,236,224,.75)}
.band h2,.band h2 *{color:#f7efe3!important}
.band .lede{color:rgba(244,236,224,.9)}
@media(max-width:820px){.band{align-items:flex-start;background-image:linear-gradient(180deg,#0e1822 0,#0e1822 42%,rgba(14,24,34,0) 62%),url(pic-chairs-wide.jpg);background-size:100% 100%,auto 56%;background-position:0 0,right bottom;min-height:92vh;padding-top:14vh}.band::after{background:linear-gradient(180deg,rgba(8,14,20,.55),transparent 70%)}}

/* Param-way panels: warm photo backgrounds with a text-side veil */
.pn.wimg{background:linear-gradient(90deg,color-mix(in srgb,var(--pb) 93%,transparent) 0,color-mix(in srgb,var(--pb) 78%,transparent) 34%,color-mix(in srgb,var(--pb) 18%,transparent) 66%,transparent 100%),var(--wi) 72% center/cover no-repeat,var(--pb)}
.pn.wimg.dk{background:linear-gradient(90deg,color-mix(in srgb,var(--pb) 96%,transparent) 0,color-mix(in srgb,var(--pb) 84%,transparent) 42%,color-mix(in srgb,var(--pb) 45%,transparent) 80%,color-mix(in srgb,var(--pb) 35%,transparent) 100%),var(--wi) 72% center/cover no-repeat,var(--pb)}
.pn.wimg .gn{-webkit-text-stroke-color:rgba(90,62,40,.55)}.pn.wimg.dk .gn{-webkit-text-stroke-color:rgba(255,255,255,.55)}
.pn.wimg p{color:#4a3f35}.pn.wimg.dk p{color:rgba(255,255,255,.86)}
@media(max-width:820px){.pn.wimg{background:linear-gradient(180deg,color-mix(in srgb,var(--pb) 90%,transparent),color-mix(in srgb,var(--pb) 72%,transparent)),var(--wi) 70% center/cover no-repeat,var(--pb)}.pn.wimg.dk{background:linear-gradient(180deg,color-mix(in srgb,var(--pb) 90%,transparent),color-mix(in srgb,var(--pb) 70%,transparent)),var(--wi) 70% center/cover no-repeat,var(--pb)}}
.pn.wimg:not(.dk) h3{text-shadow:0 0 28px rgba(244,236,224,.9),0 0 10px rgba(244,236,224,.75),0 0 2px rgba(244,236,224,.6)}

.pn.wimg.w2{align-items:start;padding-top:calc(68px + 9vh);background:linear-gradient(180deg,color-mix(in srgb,var(--pb) 94%,transparent) 0,color-mix(in srgb,var(--pb) 86%,transparent) 38%,transparent 62%),var(--wi) 50% center/cover no-repeat,var(--pb)}
.pn.wimg.w2 .tx{padding-top:0}
@media(max-width:820px){.pn.wimg.w2{align-items:center;padding-top:0;background:linear-gradient(180deg,color-mix(in srgb,var(--pb) 92%,transparent),color-mix(in srgb,var(--pb) 70%,transparent)),var(--wi) 30% center/cover no-repeat,var(--pb)}}
.pn.wimg.w2 p{text-shadow:0 0 14px rgba(240,226,200,.95),0 0 4px rgba(240,226,200,.9);color:#3c322a}
@media(max-width:820px){.pn.wimg.w2{align-items:start;padding-top:calc(68px + 4vh)}}
