/* ═══════════ Plushstreet: shared design system (light) ═══════════ */
:root{
  --paper:#ecefe9;        /* concrete off-white and not cream */
  --paper-2:#e3e6df;      /* band */
  --paper-3:#d9ddd3;      /* deeper band / hover */
  --ink:#1a1d18;          /* near-black text */
  --ink-soft:#3c413a;
  --line:rgba(26,29,24,.15);
  --line-2:rgba(26,29,24,.30);
  --muted:#6c7167;
  --gold:#b0492a;         /* tiny accent only */
}
*{margin:0;padding:0;box-sizing:border-box;}
html{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
body{background:var(--paper);color:var(--ink);font-family:'Archivo',-apple-system,BlinkMacSystemFont,sans-serif;font-weight:400;line-height:1.5;overflow-x:hidden;}
::selection{background:var(--gold);color:#fff;}
a{color:inherit;text-decoration:none;}
img{display:block;max-width:100%;}
.mono{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:400;}
.gold{color:var(--gold);}
.dsp{font-weight:600;letter-spacing:-.014em;line-height:.92;text-transform:none;}
.coord{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:11px;letter-spacing:.05em;color:var(--muted);}
.code{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);}
/* boxy split button (Enerblock) */
.ebtn{display:inline-flex;align-items:stretch;border:1px solid var(--line-2);width:max-content;background:transparent;cursor:pointer;transition:border-color .3s;font-family:'Archivo',sans-serif;}
.ebtn .lbl{padding:13px 22px;font-size:14px;font-weight:500;letter-spacing:-.01em;display:flex;align-items:center;color:var(--ink);}
.ebtn .arw{padding:0 15px;border-left:1px solid var(--line-2);display:flex;align-items:center;color:var(--ink);transition:color .3s,border-color .3s;}
.ebtn:hover{border-color:var(--gold);}
.ebtn:hover .lbl,.ebtn:hover .arw{color:var(--gold);}
.ebtn:hover .arw{border-color:var(--gold);}

/* ── dot cursor ── */
.cur{position:fixed;top:0;left:0;width:7px;height:7px;border-radius:50%;background:var(--gold);pointer-events:none;z-index:9999;transform:translate(-50%,-50%);}
.cur-ring{position:fixed;top:0;left:0;width:34px;height:34px;border:1px solid var(--line-2);border-radius:50%;pointer-events:none;z-index:9998;transform:translate(-50%,-50%);transition:width .3s,height .3s,border-color .3s;}
@media(hover:none),(max-width:900px){.cur,.cur-ring{display:none!important;}}

/* ── nav (red-dot brand + boxed split buttons) ── */
.nav{position:fixed;top:0;left:0;right:0;z-index:800;height:64px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:0 clamp(14px,2.4vw,26px);border-bottom:1px solid var(--line);background:rgba(236,239,233,.82);backdrop-filter:blur(12px);}
.nav__brand{display:flex;align-items:center;gap:11px;font-weight:600;font-size:18px;letter-spacing:-.02em;}
.nav__brand .dot{width:9px;height:9px;border-radius:50%;background:var(--gold);flex-shrink:0;}
.nav__actions{display:flex;align-items:stretch;gap:10px;}
/* boxed split button [ label | icon ] */
.navbtn{display:inline-flex;align-items:stretch;height:40px;border:1px solid var(--line-2);background:transparent;cursor:pointer;font-family:'Archivo',sans-serif;transition:border-color .3s;}
.navbtn__lbl{display:flex;align-items:center;padding:0 16px;font-size:14px;font-weight:500;letter-spacing:-.01em;color:var(--ink);transition:color .3s;}
.navbtn__ic{display:flex;align-items:center;justify-content:center;width:40px;border-left:1px solid var(--line-2);color:var(--ink);transition:color .3s,border-color .3s;}
.navbtn:hover{border-color:var(--gold);}
.navbtn:hover .navbtn__lbl,.navbtn:hover .navbtn__ic{color:var(--gold);}
.navbtn:hover .navbtn__ic{border-color:var(--gold);}
.navbtn--menu .navbtn__ic{flex-direction:column;gap:4px;}
.navbtn--menu .navbtn__ic i{width:15px;height:1.5px;background:currentColor;display:block;transition:background .3s;}
/* contact CTA: outline, gold arrow marks it as the action (no heavy black) */
.navbtn--cta{border-color:var(--ink);}
.navbtn--cta .navbtn__ic{color:var(--gold);}
.navbtn--cta:hover{border-color:var(--gold);}
.navbtn--cta:hover .navbtn__lbl{color:var(--gold);}
@media(max-width:560px){.navbtn--cta .navbtn__lbl{display:none;}.navbtn__lbl{padding:0 13px;}}

/* ── menu drawer (slides in from the right, with scrim) ── */
.menu-ov{position:fixed;inset:0;z-index:1000;background:rgba(20,22,18,0);visibility:hidden;transition:background .55s ease,visibility 0s .6s;}
.menu-ov.open{background:rgba(20,22,18,.34);visibility:visible;transition:background .55s ease;}
.menu-ov__panel{position:absolute;top:0;right:0;height:100%;width:min(460px,100%);background:var(--paper);color:var(--ink);display:flex;flex-direction:column;transform:translateX(100%);transition:transform .6s cubic-bezier(.76,0,.24,1);box-shadow:-30px 0 70px rgba(20,22,18,.14);}
.menu-ov.open .menu-ov__panel{transform:none;}
.menu-ov__top{height:64px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:0 clamp(18px,3vw,30px);}
.menu-ov__top .b{display:flex;align-items:center;gap:11px;font-weight:600;font-size:18px;letter-spacing:-.025em;}
.menu-ov__top .b .dot{width:9px;height:9px;border-radius:50%;background:var(--gold);}
.menu-close{cursor:pointer;background:none;border:none;color:var(--ink);font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.12em;text-transform:uppercase;display:flex;align-items:center;gap:10px;padding:8px 0;transition:color .3s;}
.menu-close:hover{color:var(--gold);}
.menu-close .x{position:relative;width:15px;height:15px;}
.menu-close .x:before,.menu-close .x:after{content:"";position:absolute;top:50%;left:0;width:15px;height:1.5px;background:currentColor;}
.menu-close .x:before{transform:rotate(45deg);}.menu-close .x:after{transform:rotate(-45deg);}
.menu-ov__links{flex:1;display:flex;flex-direction:column;justify-content:center;padding:clamp(20px,3vw,34px) clamp(18px,3vw,30px);}
.menu-ov__links a{font-weight:500;font-size:clamp(1.9rem,2.4vw,2.5rem);letter-spacing:-.02em;line-height:1;color:var(--ink);text-transform:none;transition:color .3s,padding-left .35s;display:flex;align-items:baseline;gap:16px;padding:clamp(11px,1.4vw,16px) 0;border-bottom:1px solid var(--line);}
.menu-ov__links a:last-child{border-bottom:none;}
.menu-ov__links a:hover{color:var(--gold);padding-left:14px;}
.menu-ov__links a .mn{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.14em;color:var(--muted);font-weight:400;}
.menu-ov__foot{display:flex;flex-direction:column;gap:8px;padding:22px clamp(18px,3vw,30px);border-top:1px solid var(--line);color:var(--muted);}

/* ── section base ── */
.sec{position:relative;border-top:1px solid var(--line);}
.sec--band{background:var(--paper-2);}
.pad{padding:clamp(30px,4.5vw,60px) clamp(18px,3vw,34px);}
.sec__head{display:flex;flex-direction:column;gap:clamp(18px,2.6vw,30px);}
.ey{display:flex;align-items:center;gap:12px;color:var(--muted);}
.ey .n{color:var(--gold);}
.h2{font-weight:500;letter-spacing:-.014em;line-height:.93;font-size:clamp(2.2rem,5.2vw,4.4rem);text-transform:none;}
.lead{max-width:54ch;color:var(--muted);font-size:clamp(1.05rem,1.4vw,1.28rem);font-weight:400;line-height:1.55;}

/* ── block reveal (bottom-right unfold, CSS transition on enter) ── */
.block{clip-path:inset(0 0 0 0);}
.js .block{clip-path:inset(100% 0 0 100%);transition:clip-path .85s cubic-bezier(.76,0,.24,1);}
.js .block.in{clip-path:inset(0 0 0 0);}

/* ── hero ── */
.hero{display:flex;flex-direction:column;padding-top:64px;position:relative;}
.hero__grid{flex:1;display:grid;grid-template-columns:1.25fr .75fr;min-height:calc(86vh - 64px);}
@media(max-width:820px){.hero__grid{grid-template-columns:1fr;}}
.hero__main{padding:clamp(30px,5vw,60px) clamp(18px,3vw,34px);display:flex;flex-direction:column;justify-content:space-between;border-right:1px solid var(--line);}
@media(max-width:820px){.hero__main{border-right:none;border-bottom:1px solid var(--line);}}
.hero__panel{display:flex;flex-direction:column;}
.hero__panel .prow{padding:clamp(16px,2.2vw,26px) clamp(18px,3vw,34px);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;color:var(--muted);}
.hero__panel .pindex{flex:1;display:flex;flex-direction:column;}
.hero__panel .pindex a{display:flex;align-items:baseline;gap:14px;padding:clamp(15px,1.9vw,24px) clamp(18px,3vw,34px);border-bottom:1px solid var(--line);transition:background .3s,color .3s,padding-left .3s;font-weight:500;font-size:clamp(1.05rem,1.5vw,1.32rem);letter-spacing:-.02em;}
.hero__panel .pindex a:hover{background:var(--paper-2);color:var(--gold);padding-left:clamp(24px,3.4vw,42px);}
.hero__panel .pindex a .pn{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--muted);}
.hero__panel .pcoord{padding:clamp(14px,1.8vw,22px) clamp(18px,3vw,34px);display:flex;justify-content:space-between;color:var(--muted);}
.hero__kicker{display:flex;gap:22px;flex-wrap:wrap;color:var(--muted);}
.hero h1{font-weight:600;letter-spacing:-.018em;line-height:.9;font-size:clamp(3rem,8vw,7rem);margin:clamp(30px,5vw,60px) 0;text-transform:none;max-width:13ch;}
.hero h1 .ln{display:block;overflow:hidden;}
.hero h1 .ln>span{display:block;}
.js .hero h1 .ln>span{transform:translateY(112%);transition:transform 1s cubic-bezier(.2,.75,.2,1);}
.js .hero h1 .ln:nth-child(2)>span{transition-delay:.12s;}
.js .hero.in h1 .ln>span{transform:none;}
.hero__sub{max-width:42ch;font-size:clamp(1.05rem,1.5vw,1.4rem);color:var(--ink-soft);font-weight:500;line-height:1.34;}
.hero__band{border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr);}
.hero__band a{padding:16px clamp(18px,3vw,34px);border-right:1px solid var(--line);font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);display:flex;align-items:center;justify-content:space-between;transition:background .3s,color .3s;}
.hero__band a:last-child{border-right:none;}
.hero__band a:hover{background:var(--paper-2);color:var(--gold);}
@media(max-width:820px){.hero__band{grid-template-columns:1fr 1fr;}.hero__band a:nth-child(2n){border-right:none;}}

/* ── premise ── */
.premise{padding:clamp(60px,10vw,140px) clamp(18px,3vw,34px);}
.premise .big{font-weight:500;letter-spacing:-.014em;line-height:1.02;font-size:clamp(1.9rem,4.4vw,3.5rem);max-width:20ch;margin-top:clamp(26px,3vw,40px);text-transform:none;}

/* ── interventions grid ── */
.ints{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);}
@media(max-width:820px){.ints{grid-template-columns:1fr;}}
.int{position:relative;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:clamp(28px,3.4vw,50px);min-height:clamp(280px,28vw,360px);display:flex;flex-direction:column;transition:background .4s ease;}
.ints .int:nth-child(2n){border-right:none;}
.int:hover{background:var(--paper-2);}
.int__no{font-weight:600;font-size:clamp(2.2rem,4vw,3.4rem);letter-spacing:-.03em;color:#b7bcb2;line-height:1;transition:color .4s;}
.int:hover .int__no{color:var(--gold);}
.int__k{margin-top:14px;color:var(--gold);}
.int h3{font-weight:700;font-size:clamp(1.5rem,2.4vw,2.1rem);letter-spacing:-.02em;margin-top:auto;text-transform:none;}
.int p{color:var(--muted);max-width:44ch;margin-top:14px;font-size:15px;line-height:1.5;}
.int__go{margin-top:22px;display:inline-flex;align-items:center;gap:8px;color:var(--ink);font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;transition:gap .3s,color .3s;}
.int:hover .int__go{gap:16px;color:var(--gold);}

/* ── marquee ── */
.marq{overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:15px 0;background:var(--paper-2);}
.marq__t{display:flex;gap:40px;width:max-content;animation:sx 40s linear infinite;font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.16em;text-transform:uppercase;}
.marq:hover .marq__t{animation-play-state:paused;}
.marq__t .d{color:var(--gold);}
@keyframes sx{to{transform:translateX(-50%);}}

/* ── work ── */
.work__grid{display:grid;grid-template-columns:.9fr 1.1fr;border-top:1px solid var(--line);}
@media(max-width:860px){.work__grid{grid-template-columns:1fr;}}
.wk-list{border-right:1px solid var(--line);}
@media(max-width:860px){.wk-list{border-right:none;border-bottom:1px solid var(--line);}}
.wk-pick{display:flex;align-items:center;gap:16px;width:100%;text-align:left;background:none;border:none;border-bottom:1px solid var(--line);padding:clamp(14px,1.5vw,20px) clamp(18px,3vw,30px);cursor:pointer;transition:background .35s ease,padding-left .35s ease;}
.wk-pick:last-child{border-bottom:none;}
.wk-pick:hover,.wk-pick.on{background:var(--paper-2);padding-left:clamp(24px,3.4vw,40px);}
.wk-pick .cdot{width:12px;height:12px;flex-shrink:0;}
.wk-pick .cname{font-weight:700;font-size:clamp(1.3rem,2.2vw,2rem);letter-spacing:-.03em;color:#9ca196;transition:color .35s;text-transform:none;}
.wk-pick:hover .cname,.wk-pick.on .cname{color:var(--ink);}
.wk-stage{position:relative;min-height:clamp(380px,38vw,480px);}
.wk-panel{position:absolute;inset:0;padding:clamp(28px,3.4vw,52px);display:flex;flex-direction:column;color:#fff;opacity:0;visibility:hidden;transition:opacity .5s;}
.wk-panel.on{opacity:1;visibility:visible;}
.wk-panel .ptop{display:flex;justify-content:space-between;color:rgba(255,255,255,.72);font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.18em;text-transform:uppercase;margin-bottom:auto;}
.wk-panel .pmeta{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.82);margin:24px 0 14px;}
.wk-panel h3{font-weight:600;font-size:clamp(2rem,4vw,3.4rem);letter-spacing:-.04em;line-height:.95;margin-bottom:18px;text-transform:none;}
.wk-panel .pdesc{color:rgba(255,255,255,.92);max-width:46ch;font-size:clamp(1rem,1.2vw,1.14rem);line-height:1.5;}
.wk-panel .pout{margin-top:24px;padding-top:16px;border-top:1px solid rgba(255,255,255,.28);font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.14em;text-transform:uppercase;}

/* ── principles ── */
.princ{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);}
@media(max-width:820px){.princ{grid-template-columns:1fr;}}
.princ .cell{padding:clamp(28px,3.4vw,48px);border-right:1px solid var(--line);min-height:clamp(230px,20vw,290px);display:flex;flex-direction:column;transition:background .4s;}
.princ .cell:last-child{border-right:none;}
.princ .cell:hover{background:var(--paper-2);}
.princ .cell .k{color:var(--gold);margin-bottom:auto;}
.princ .cell h3{font-weight:700;font-size:clamp(1.4rem,2.2vw,1.9rem);letter-spacing:-.02em;margin-bottom:12px;text-transform:none;}
.princ .cell p{color:var(--muted);font-size:15px;}

/* ── stats ── */
.stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);}
@media(max-width:820px){.stats{grid-template-columns:1fr 1fr;}}
.stat{padding:clamp(28px,3.4vw,48px);border-right:1px solid var(--line);}
.stats .stat:last-child{border-right:none;}
@media(max-width:820px){.stats .stat:nth-child(2n){border-right:none;}}
.stat .tk{width:22px;height:2px;background:var(--gold);margin-bottom:20px;}
.stat .big{font-weight:600;font-size:clamp(2.8rem,5.5vw,4.6rem);letter-spacing:-.04em;line-height:.9;}
.stat .big .u{font-size:.34em;color:var(--muted);font-weight:500;}
.stat .cap{margin-top:14px;color:var(--muted);}

/* ── principal (typographic monogram: no stock image) ── */
.principal{display:grid;grid-template-columns:.85fr 1.15fr;border-top:1px solid var(--line);}
@media(max-width:760px){.principal{grid-template-columns:1fr;}}
.principal__mono{display:flex;flex-direction:column;justify-content:space-between;padding:clamp(22px,3vw,38px);background:var(--paper-2);border-right:1px solid var(--line);min-height:clamp(340px,36vw,480px);}
@media(max-width:760px){.principal__mono{border-right:none;border-bottom:1px solid var(--line);}}
.principal__mono .pm-row{display:flex;justify-content:space-between;color:var(--muted);}
.principal__mono .pm-big{flex:1;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:clamp(5.5rem,14vw,12rem);letter-spacing:-.06em;line-height:1;color:var(--ink);}
.principal__mono .pm-big .g{color:var(--gold);}
.principal__c{padding:clamp(30px,4vw,60px);display:flex;flex-direction:column;justify-content:center;}
.principal__c .k{color:var(--gold);}
.principal__c h2{font-weight:500;font-size:clamp(1.7rem,3vw,2.7rem);letter-spacing:-.015em;line-height:1.04;margin:20px 0;text-transform:none;}
.principal__c p{color:var(--muted);max-width:56ch;margin-bottom:16px;}
.principal__c strong{color:var(--ink);font-weight:600;}
.principal .sig{display:flex;align-items:center;gap:14px;margin-top:20px;flex-wrap:wrap;}
.principal .sig .in{font-weight:600;font-size:20px;color:var(--gold);}
.principal .sig .who{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);}
.principal .sig .more{margin-left:auto;font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);transition:padding-right .3s;}
.principal .sig .more:hover{padding-right:8px;}

/* ── CTA ── */
.cta{padding:clamp(70px,11vw,150px) clamp(18px,3vw,34px);text-align:center;position:relative;background:var(--paper-2);}
.cta h2{font-weight:600;font-size:clamp(2.6rem,7vw,6rem);letter-spacing:-.016em;line-height:.92;margin:22px auto 36px;max-width:16ch;text-transform:none;}
.cta h2 .gold{color:var(--gold);}

/* ── buttons (outline, gold hover: never black) ── */
.pill,.btn{display:inline-flex;align-items:center;gap:10px;font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.1em;text-transform:uppercase;padding:16px 32px;border:1.5px solid var(--ink);border-radius:999px;color:var(--ink);background:transparent;cursor:pointer;transition:color .3s ease,border-color .3s ease,padding .3s ease;}
.pill:hover,.btn:hover{color:var(--gold);border-color:var(--gold);}

/* ── footer (light) ── */
.foot{background:var(--paper-2);border-top:1px solid var(--line);}
.foot__grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;}
@media(max-width:760px){.foot__grid{grid-template-columns:1fr 1fr;}}
.foot__cell{padding:clamp(30px,4vw,54px);border-right:1px solid var(--line);}
.foot__grid .foot__cell:last-child{border-right:none;}
.foot__b{font-weight:600;font-size:24px;letter-spacing:-.03em;}
.foot__b .gold{color:var(--gold);}
.foot__cell p{color:var(--muted);max-width:32ch;margin-top:12px;font-size:14px;}
.foot__cell .lbl{color:var(--muted);margin-bottom:18px;}
.foot__cell a{display:block;color:var(--ink);opacity:.82;margin-bottom:10px;font-size:15px;transition:opacity .25s,color .25s,padding-left .25s;}
.foot__cell a:hover{opacity:1;color:var(--gold);padding-left:6px;}
.foot__bot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:24px clamp(18px,3vw,34px);border-top:1px solid var(--line);color:var(--muted);}

/* ── page hero (services/about/contact) ── */
.phero{padding-top:64px;border-bottom:1px solid var(--line);}
.phero__in{padding:clamp(56px,9vw,120px) clamp(18px,3vw,34px) clamp(36px,4.5vw,64px);position:relative;}
.phero .ey{margin-bottom:clamp(22px,3vw,34px);}
.phero h1{font-weight:600;letter-spacing:-.018em;line-height:.9;font-size:clamp(2.8rem,8vw,7rem);text-transform:none;max-width:15ch;}
.phero h1 .gold{color:var(--gold);}
.phero .lead{margin-top:clamp(22px,3vw,34px);}

/* ── services detail rows ── */
.svc{position:relative;border-top:1px solid var(--line);}
.svc__in{display:grid;grid-template-columns:1.15fr .85fr;}
@media(max-width:860px){.svc__in{grid-template-columns:1fr;}}
.svc__l{padding:clamp(30px,4vw,60px) clamp(18px,3vw,34px);border-right:1px solid var(--line);}
@media(max-width:860px){.svc__l{border-right:none;border-bottom:1px solid var(--line);}}
.svc__no{font-weight:600;font-size:clamp(2.4rem,4.4vw,3.8rem);letter-spacing:-.03em;color:#b7bcb2;line-height:1;}
.svc__k{color:var(--gold);margin:16px 0 20px;}
.svc__l h2{font-weight:500;font-size:clamp(1.7rem,3.2vw,2.8rem);letter-spacing:-.015em;line-height:1.02;text-transform:none;margin-bottom:18px;}
.svc__l p{color:var(--muted);max-width:46ch;font-size:1.02rem;}
.svc__r{padding:clamp(30px,4vw,60px) clamp(18px,3vw,34px);display:flex;flex-direction:column;justify-content:center;}
.svc__r .lbl{color:var(--muted);margin-bottom:8px;}
.svc__list{display:flex;flex-direction:column;}
.svc__list span{display:flex;align-items:center;gap:14px;padding:15px 0;border-bottom:1px solid var(--line);font-weight:500;font-size:clamp(1.05rem,1.5vw,1.28rem);letter-spacing:-.01em;color:var(--ink);}
.svc__list .ar{color:var(--gold);font-family:'JetBrains Mono',monospace;}

/* ── engagement tiers ── */
.tiers{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);}
@media(max-width:820px){.tiers{grid-template-columns:1fr;}}
.tier{padding:clamp(30px,3.4vw,52px);border-right:1px solid var(--line);min-height:clamp(270px,24vw,330px);display:flex;flex-direction:column;transition:background .4s;}
.tiers .tier:last-child{border-right:none;}
.tier:hover{background:var(--paper-3);}
.tier .tno{color:var(--gold);margin-bottom:auto;}
.tier h3{font-weight:500;font-size:clamp(1.6rem,2.6vw,2.2rem);letter-spacing:-.015em;text-transform:none;}
.tier .amt{font-family:'JetBrains Mono',monospace;font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:10px 0 18px;}
.tier p{color:var(--muted);font-size:15px;max-width:34ch;}

/* ── about story blocks ── */
.story{display:grid;grid-template-columns:.9fr 1.1fr;border-top:1px solid var(--line);}
@media(max-width:860px){.story{grid-template-columns:1fr;}}
.story__k{padding:clamp(30px,4vw,58px) clamp(18px,3vw,34px);border-right:1px solid var(--line);}
@media(max-width:860px){.story__k{border-right:none;border-bottom:1px solid var(--line);}}
.story__k .ey{color:var(--gold);}
.story__c{padding:clamp(30px,4vw,58px) clamp(18px,3vw,34px);}
.story__c h2{font-weight:500;font-size:clamp(1.6rem,3vw,2.6rem);letter-spacing:-.015em;line-height:1.05;text-transform:none;margin-bottom:20px;}
.story__c p{color:var(--muted);max-width:56ch;margin-bottom:16px;font-size:1.05rem;}
.story__c strong{color:var(--ink);font-weight:600;}

/* ── contact form ── */
.cform{display:grid;grid-template-columns:1.4fr .6fr;border-top:1px solid var(--line);}
@media(max-width:860px){.cform{grid-template-columns:1fr;}}
.cform__main{padding:clamp(30px,4vw,60px) clamp(18px,3vw,34px);border-right:1px solid var(--line);}
@media(max-width:860px){.cform__main{border-right:none;border-bottom:1px solid var(--line);}}
.cform__side{padding:clamp(30px,4vw,60px) clamp(18px,3vw,34px);display:flex;flex-direction:column;gap:30px;}
.cform__side .lbl{color:var(--muted);margin-bottom:12px;}
.cform__side a{display:block;color:var(--ink);font-weight:500;font-size:15px;margin-bottom:10px;transition:color .25s,padding-left .25s;}
.cform__side a:last-child{margin-bottom:0;}
.cform__side a:hover{color:var(--gold);padding-left:6px;}
.fields{border:1px solid var(--line);}
.frow{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line);}
.frow:last-child{border-bottom:none;}
.frow.one{grid-template-columns:1fr;}
.field{display:flex;flex-direction:column;padding:16px clamp(16px,2vw,22px);border-right:1px solid var(--line);}
.frow.one .field,.field:last-child{border-right:none;}
.field label{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:8px;}
.field input,.field select,.field textarea{border:none;background:transparent;font-family:'Archivo',sans-serif;font-size:1.05rem;color:var(--ink);outline:none;width:100%;resize:none;}
.field textarea{min-height:120px;}
.field input::placeholder,.field textarea::placeholder{color:#a7aca2;}
.cform__submit{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:24px;flex-wrap:wrap;}
.ferror{color:var(--gold);font-size:14px;}
.csuccess h2{font-weight:600;font-size:clamp(1.8rem,3.4vw,2.8rem);letter-spacing:-.03em;margin-bottom:18px;text-transform:none;}
.csuccess p{color:var(--muted);max-width:52ch;margin-bottom:12px;}
.hidden{display:none!important;}

@media(prefers-reduced-motion:reduce){*{animation-duration:.001s!important;}.js .block{clip-path:inset(0 0 0 0)!important;}.hero h1 .ln>span{transform:none!important;}}

/* ═══ statement band (repeated marquee headline) ═══ */
.stmt{border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;padding:clamp(26px,4vw,54px) 0;}
.stmt__t{display:flex;gap:38px;width:max-content;animation:sx 38s linear infinite;font-weight:500;font-size:clamp(1.6rem,3.4vw,2.8rem);letter-spacing:-.014em;color:var(--ink);white-space:nowrap;}
.stmt__t .d{color:var(--gold);}

/* ═══ approach: coded capability blocks ═══ */
.approach{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);}
@media(max-width:820px){.approach{grid-template-columns:1fr;}}
.approach .cellx{padding:clamp(28px,3.4vw,50px);border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:clamp(240px,24vw,320px);display:flex;flex-direction:column;}
.approach .cellx:nth-child(2n){border-right:none;}
.approach .cellx .code{margin-bottom:auto;}
.approach .cellx p{color:var(--muted);margin:16px 0 22px;max-width:42ch;}

/* ═══ accordion ═══ */
.acc{border-top:1px solid var(--line);}
.acc-item{border-bottom:1px solid var(--line);padding:0 clamp(18px,3vw,34px);}
.acc-head{display:flex;align-items:center;justify-content:space-between;padding:clamp(22px,2.8vw,34px) 0;cursor:pointer;gap:16px;}
.acc-head h3{font-weight:500;font-size:clamp(1.5rem,3vw,2.4rem);letter-spacing:-.015em;text-transform:none;}
.acc-plus{position:relative;width:22px;height:22px;flex-shrink:0;}
.acc-plus:before,.acc-plus:after{content:"";position:absolute;background:var(--ink);transition:transform .35s,background .35s;}
.acc-plus:before{top:50%;left:0;width:22px;height:1.5px;transform:translateY(-50%);}
.acc-plus:after{left:50%;top:0;height:22px;width:1.5px;transform:translateX(-50%);}
.acc-item.open .acc-plus:after{transform:translateX(-50%) scaleY(0);}
.acc-item.open .acc-plus:before{background:var(--gold);}
.acc-body{max-height:0;overflow:hidden;transition:max-height .5s ease;}
.acc-item.open .acc-body{max-height:260px;}
.acc-body .inner{padding-bottom:clamp(22px,2.8vw,34px);color:var(--muted);max-width:62ch;font-size:1.05rem;}

/* ═══ project carousel ═══ */
.carousel{position:relative;border-top:1px solid var(--line);}
.car-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;}
.car-track::-webkit-scrollbar{display:none;}
.car-card{flex:0 0 clamp(280px,33vw,440px);scroll-snap-align:start;border-right:1px solid var(--line);min-height:clamp(300px,30vw,400px);padding:clamp(20px,2.4vw,30px);display:flex;flex-direction:column;justify-content:space-between;transition:background .35s;background:var(--paper-2);}
.car-card:hover{background:var(--paper-3);}
.car-card .ctop{display:flex;justify-content:space-between;align-items:flex-start;}
.car-card .cswatch{width:14px;height:14px;flex-shrink:0;}
.car-card .cbot{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;}
.car-card .cmeta{color:var(--muted);margin-bottom:8px;}
.car-card .cname{font-weight:600;font-size:clamp(1.4rem,2.2vw,1.95rem);letter-spacing:-.03em;line-height:1.02;text-transform:none;}
.car-plus{width:44px;height:44px;border:1px solid var(--line-2);position:relative;flex-shrink:0;transition:border-color .3s;}
.car-card:hover .car-plus{border-color:var(--gold);}
.car-plus:before,.car-plus:after{content:"";position:absolute;top:50%;left:50%;background:var(--ink);transition:background .3s;}
.car-plus:before{width:14px;height:1.5px;transform:translate(-50%,-50%);}
.car-plus:after{height:14px;width:1.5px;transform:translate(-50%,-50%);}
.car-card:hover .car-plus:before,.car-card:hover .car-plus:after{background:var(--gold);}
.car-nav{display:flex;align-items:stretch;border-top:1px solid var(--line);}
.car-nav button{background:none;border:none;border-right:1px solid var(--line);width:58px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--ink);transition:color .3s,background .3s;}
.car-nav button:hover{color:var(--gold);background:var(--paper-2);}
.car-nav .allw{display:flex;align-items:center;padding:0 24px;font-weight:500;font-size:14px;letter-spacing:-.01em;}

/* ═══ big statement footer block ═══ */
.fstmt{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);}
@media(max-width:760px){.fstmt{grid-template-columns:1fr;}}
.fstmt__l{padding:clamp(36px,5vw,80px) clamp(18px,3vw,34px);border-right:1px solid var(--line);}
@media(max-width:760px){.fstmt__l{border-right:none;border-bottom:1px solid var(--line);}}
.fstmt__l h2{font-weight:500;font-size:clamp(1.8rem,3.4vw,3rem);letter-spacing:-.014em;line-height:1.06;text-transform:none;margin-bottom:30px;max-width:22ch;}
.fstmt__r{padding:clamp(36px,5vw,80px) clamp(18px,3vw,34px);display:flex;flex-direction:column;justify-content:space-between;gap:30px;background:var(--paper-2);}
.fstmt__r .big{font-weight:500;font-size:clamp(2rem,4.4vw,3.6rem);letter-spacing:-.014em;line-height:1.02;text-transform:none;}
.fstmt__r .big .gold{color:var(--gold);}

/* ═══════════ v10: fewer labels, one hero, imagery, calmer rhythm ═══════════ */
.skip{position:absolute;left:-9999px;top:8px;z-index:2000;background:var(--ink);color:var(--paper);padding:10px 16px;}
.skip:focus{left:8px;}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;}
img{height:auto;}
.wrapx{padding-left:clamp(18px,3vw,34px);padding-right:clamp(18px,3vw,34px);}
.ebtn--solid{background:var(--ink);border-color:var(--ink);}
.ebtn--solid .lbl,.ebtn--solid .arw{color:var(--paper);}
.ebtn--solid .arw{border-color:rgba(236,239,233,.25);color:var(--gold);}
.ebtn--solid:hover{background:var(--gold);border-color:var(--gold);}
.ebtn--solid:hover .lbl,.ebtn--solid:hover .arw{color:#fff;border-color:rgba(255,255,255,.35);}
.ebtn--light{border-color:rgba(236,239,233,.55);}
.ebtn--light .lbl,.ebtn--light .arw{color:#f3f4ef;border-color:rgba(236,239,233,.55);}
.ebtn--light:hover{border-color:#fff;background:rgba(255,255,255,.08);}
.ebtn--light:hover .lbl,.ebtn--light:hover .arw{color:#fff;}
.btnrow{display:flex;flex-wrap:wrap;gap:12px;}
.tlink{display:inline-flex;align-items:center;gap:10px;font-weight:500;color:var(--ink);border-bottom:1px solid var(--line-2);padding-bottom:4px;transition:color .3s,border-color .3s,gap .3s;}
.tlink:hover{color:var(--gold);border-color:var(--gold);gap:16px;}

/* ── nav: links expanded on desktop, drawer only on small screens ── */
.nav__links{display:flex;align-items:center;gap:clamp(18px,2.4vw,34px);margin-left:auto;margin-right:clamp(14px,2vw,26px);}
.nav__links a{font-size:15px;font-weight:500;letter-spacing:-.01em;color:var(--ink-soft);position:relative;padding:6px 0;transition:color .3s;}
.nav__links a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1.5px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .4s cubic-bezier(.2,.75,.2,1);}
.nav__links a:hover,.nav__links a[aria-current="page"]{color:var(--ink);}
.nav__links a:hover::after,.nav__links a[aria-current="page"]::after{transform:scaleX(1);}
.navbtn--menu{display:none;}
@media(max-width:900px){.nav__links{display:none;}.navbtn--menu{display:inline-flex;}}
.nav.on-dark{background:rgba(20,22,18,.18);border-bottom-color:rgba(255,255,255,.14);backdrop-filter:blur(10px);}
.nav.on-dark .nav__brand,.nav.on-dark .nav__links a{color:#f3f4ef;}
.nav.on-dark .navbtn{border-color:rgba(255,255,255,.45);}
.nav.on-dark .navbtn__lbl,.nav.on-dark .navbtn__ic{color:#f3f4ef;border-color:rgba(255,255,255,.45);}
.nav{transition:background .4s,border-color .4s;}

/* ── video hero ── */
.vhero{position:relative;min-height:max(640px,92vh);display:flex;align-items:flex-end;overflow:hidden;background:#1d211c;color:#f3f4ef;isolation:isolate;}
.vhero__media{position:absolute;inset:0;z-index:-2;}
.vhero__media video,.vhero__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.6s ease;}
.vhero__media .on{opacity:1;}
.vhero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(18,20,17,.45) 0%,rgba(18,20,17,.3) 35%,rgba(18,20,17,.55) 70%,rgba(18,20,17,.85) 100%);}
.vhero__in{width:100%;padding:0 clamp(18px,3vw,34px) clamp(36px,6vw,72px);display:grid;grid-template-columns:1.35fr .65fr;gap:clamp(24px,4vw,64px);align-items:end;}
@media(max-width:900px){.vhero__in{grid-template-columns:1fr;}}
.vhero h1{font-weight:600;letter-spacing:-.025em;line-height:.92;font-size:clamp(3rem,7.6vw,7rem);max-width:12ch;}
.vhero h1 .ln{display:block;overflow:hidden;}
.vhero h1 .ln>span{display:block;}
.js .vhero h1 .ln>span{transform:translateY(110%);transition:transform 1.1s cubic-bezier(.2,.75,.2,1);}
.js .vhero.in h1 .ln>span{transform:none;}
.vhero h1 .ln:nth-child(2)>span{transition-delay:.12s;}
.vhero__sub{display:block;margin-top:clamp(14px,1.6vw,22px);font-weight:400;font-size:clamp(1.3rem,2.3vw,2.1rem);letter-spacing:-.015em;line-height:1.15;color:rgba(243,244,239,.78);max-width:24ch;}
.js .vhero__sub,.js .vhero__side{opacity:0;transform:translateY(14px);transition:opacity 1s .5s,transform 1s .5s cubic-bezier(.2,.75,.2,1);}
.js .vhero.in .vhero__sub,.js .vhero.in .vhero__side{opacity:1;transform:none;}
.vhero__side{display:flex;flex-direction:column;gap:22px;}
.vhero__side p{font-size:clamp(1rem,1.25vw,1.15rem);line-height:1.5;color:rgba(243,244,239,.88);max-width:36ch;}
.vhero__pause{position:absolute;right:clamp(18px,3vw,34px);bottom:18px;z-index:2;}
.vhero__dots{display:flex;gap:6px;}
.vhero__dots i{width:22px;height:2px;background:rgba(255,255,255,.35);display:block;transition:background .4s;}
.vhero__dots i.on{background:#fff;}
.vhero__pause{background:none;border:1px solid rgba(255,255,255,.4);color:#f3f4ef;font:500 12px 'Archivo',sans-serif;padding:6px 10px;cursor:pointer;}
.vhero__pause:hover{border-color:#fff;}

/* ── section heads without eyebrows ── */
.head{padding:clamp(56px,8vw,112px) clamp(18px,3vw,34px) clamp(30px,4vw,52px);display:grid;grid-template-columns:1fr 1fr;gap:clamp(18px,4vw,64px);align-items:end;}
@media(max-width:860px){.head{grid-template-columns:1fr;}}
.head h2{font-weight:500;letter-spacing:-.018em;line-height:.98;font-size:clamp(2rem,4.2vw,3.6rem);max-width:16ch;}
.head p{color:var(--muted);font-size:clamp(1rem,1.3vw,1.18rem);line-height:1.55;max-width:46ch;}
.head .tlink{justify-self:start;}
.head--solo{grid-template-columns:1fr;}

/* ── decide (calm) ── */
.decide{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);}
@media(max-width:900px){.decide{grid-template-columns:1fr 1fr;}}
@media(max-width:560px){.decide{grid-template-columns:1fr;}}
.decide > div{padding:clamp(24px,2.8vw,38px) clamp(18px,2.4vw,30px) clamp(30px,3.4vw,46px);border-right:1px solid var(--line);border-bottom:1px solid var(--line);position:relative;}
.decide > div:last-child{border-right:none;}
.decide > div::before{content:"";position:absolute;left:0;top:-1px;height:2px;width:var(--w);background:var(--gold);}
.decide .s{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.12em;color:var(--muted);}
.decide h3{font-weight:600;font-size:clamp(1.15rem,1.6vw,1.4rem);letter-spacing:-.02em;margin:clamp(18px,2.4vw,30px) 0 10px;}
.decide p{color:var(--muted);font-size:15px;line-height:1.5;max-width:30ch;}

/* ── quorum stage ── */
.qstage{border-top:1px solid var(--line);background:var(--paper-2);padding:clamp(18px,3vw,34px);}
.qstage__cap{margin-top:14px;color:var(--muted);font-size:14px;}
.qd{--q-bg:#111318;--q-side:#0D0F13;--q-line:rgba(255,255,255,.08);--q-ink:#E8EAEE;--q-ink-2:#C3C8D2;--q-muted:#858D9B;--q-accent:#6E95FF;
  display:grid;grid-template-columns:230px minmax(0,1fr);height:clamp(480px,44vw,580px);background:var(--q-bg);color:var(--q-ink);border:1px solid var(--line-2);overflow:hidden;
  box-shadow:0 40px 80px -40px rgba(20,22,18,.55);font-size:.9rem;line-height:1.5;text-align:left;font-family:'Archivo',sans-serif;}
.qd noscript img{width:100%;height:100%;object-fit:cover;object-position:top left;}
.qd-side{background:var(--q-side);border-right:1px solid var(--q-line);padding:18px 14px;display:grid;align-content:start;gap:6px;overflow:hidden;}
.qd-h{font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--q-muted);margin:10px 6px 2px;}
.qd-rooms,.qd-agents{list-style:none;margin:0;padding:0;display:grid;gap:2px;}
.qd-rooms li{padding:6px 8px;border-radius:2px;color:var(--q-ink-2);}
.qd-rooms li.on{background:rgba(255,255,255,.06);color:var(--q-ink);}
.qd-agents li{display:grid;grid-template-columns:22px 1fr auto;grid-template-rows:auto auto;column-gap:10px;align-items:center;padding:6px 8px;position:relative;}
.qd-agents .qd-av{grid-row:span 2;}
.qd-an{font-weight:500;}
.qd-am{grid-column:2;font-size:.75rem;color:var(--q-muted);}
.qd-dot{grid-column:3;grid-row:1/span 2;width:7px;height:7px;border-radius:50%;background:#3A4150;transition:background-color .2s,box-shadow .2s;}
.qd-dot.on{background:var(--q-accent);box-shadow:0 0 0 4px rgba(110,149,255,.18);}
.qd-av{width:22px;height:22px;border-radius:2px;display:grid;place-items:center;font-size:.72rem;font-weight:700;color:#0D0F13;flex:none;}
.qd-main{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto 1fr auto;min-width:0;min-height:0;}
.qd-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;border-bottom:1px solid var(--q-line);}
.qd-steps{list-style:none;margin:0;padding:10px 16px;display:flex;gap:6px;border-bottom:1px solid var(--q-line);overflow:hidden;}
.qd-steps li{font-size:.78rem;color:var(--q-muted);padding:.2rem .55rem;border-radius:2px;border:1px solid transparent;transition:color .3s,background-color .3s,border-color .3s;white-space:nowrap;}
.qd-steps li.done{color:var(--q-ink-2);}
.qd-steps li.done::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:#4FA37A;margin-right:6px;vertical-align:middle;}
.qd-steps li.on{color:var(--q-ink);border-color:rgba(110,149,255,.5);background:rgba(110,149,255,.12);}
.qd-thread{overflow-y:auto;padding:18px 20px 8px;display:flex;flex-direction:column;gap:14px;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:#2A303B transparent;}
.qd-msg{display:grid;grid-template-columns:22px 1fr;gap:12px;animation:qd-in .35s ease both;}
.qd-head{display:flex;gap:8px;align-items:baseline;margin-bottom:2px;}
.qd-head strong{font-weight:600;}
.qd-kind{font-size:.72rem;color:var(--q-muted);border:1px solid var(--q-line);padding:0 .4rem;border-radius:2px;}
.qd-text{color:var(--q-ink-2);max-width:64ch;min-height:1.5em;}
.qd-you .qd-text{color:var(--q-ink);}
.qd-sep{align-self:center;font-size:.75rem;color:var(--q-muted);padding:2px 0;}
.qd-title{margin:0;min-width:0;font-size:.9rem;color:var(--q-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.qd-title strong{color:var(--q-ink);font-weight:600;}
.qd-ctrl{background:none;border:1px solid var(--q-line);color:var(--q-muted);font:500 .82rem 'Archivo',sans-serif;padding:.35rem .65rem;border-radius:2px;cursor:pointer;}
.qd-ctrl:hover{color:var(--q-ink);}
.qd-text p,.qd-text ul,.qd-text ol{margin:0 0 .55em;}
.qd-text ul,.qd-text ol{padding-left:1.2em;}
.qd-text li{margin-bottom:.3em;}
.qd-text strong{color:var(--q-ink);font-weight:600;}
.qd-vote{margin-left:34px;display:flex;flex-wrap:wrap;align-items:center;gap:8px;animation:qd-in .35s ease both;}
.qd-vl{font-size:.78rem;font-weight:600;color:var(--q-ink-2);margin-right:4px;}
.qd-chip{font-size:.78rem;padding:.2rem .55rem;border:1px solid var(--q-line);color:var(--q-ink-2);border-radius:2px;animation:qd-in .3s ease both;}
.qd-chip.qd-approve{border-color:rgba(79,163,122,.5);color:#9ED7B9;}
.qd-chip.qd-conditional{border-color:rgba(214,170,80,.5);color:#E6C98A;}
.qd-chip.qd-reject{border-color:rgba(224,108,108,.5);color:#F0A7A7;}
.qd-tally{font-size:.8rem;color:var(--q-ink);font-weight:600;margin-left:4px;animation:qd-in .3s ease both;}
.qd-end{margin-left:34px;padding:10px 14px;border:1px dashed rgba(110,149,255,.5);border-radius:2px;font-size:.82rem;color:var(--q-ink-2);animation:qd-in .35s ease both;}
.qd-typing{display:flex;align-items:center;gap:8px;min-height:40px;padding:8px 20px 12px 54px;font-size:.8rem;color:var(--q-muted);}
.qd-dots{display:inline-flex;gap:3px;}
.qd-dots i{width:4px;height:4px;border-radius:50%;background:var(--q-muted);animation:qd-blink 1s infinite;}
.qd-dots i:nth-child(2){animation-delay:.15s;}
.qd-dots i:nth-child(3){animation-delay:.3s;}
@keyframes qd-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes qd-blink{0%,100%{opacity:.25}50%{opacity:1}}
@media(prefers-reduced-motion:reduce){.qd *,.qd-thread{animation:none!important;scroll-behavior:auto;}}
@media(max-width:760px){.qd{grid-template-columns:minmax(0,1fr);height:520px;}.qd-side{display:none;}.qd-title span{display:none;}.qd-steps{padding:8px 10px;gap:2px;}.qd-thread{padding:14px 14px 6px;}.qd-typing{padding-left:14px;}.qd-end,.qd-vote{margin-left:0;}}

/* ── image cards (capabilities on home, featured work) ── */
.cards{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);}
@media(max-width:1000px){.cards{grid-template-columns:1fr 1fr;}}
@media(max-width:560px){.cards{grid-template-columns:1fr;}}
.card{display:flex;flex-direction:column;border-right:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--ink);transition:background .4s;}
.cards .card:nth-child(4n){border-right:none;}
.cards--3{grid-template-columns:repeat(3,1fr);}
.cards--3 .card:nth-child(4n){border-right:1px solid var(--line);}
.cards--3 .card:nth-child(3n){border-right:none;}
@media(max-width:1000px){.cards--3{grid-template-columns:1fr 1fr;}.cards--3 .card:nth-child(3n){border-right:1px solid var(--line);}.cards .card:nth-child(2n){border-right:none;}}
@media(max-width:560px){.cards--3{grid-template-columns:1fr;}.cards .card{border-right:none!important;}}
.card:hover{background:var(--paper-2);}
.card__img{aspect-ratio:var(--ar,4/3);overflow:hidden;background:var(--paper-3);}
.card__img img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s cubic-bezier(.2,.75,.2,1);filter:saturate(.9);}
.card:hover .card__img img{transform:scale(1.04);}
.card__b{padding:clamp(20px,2.4vw,30px);display:flex;flex-direction:column;gap:10px;flex:1;}
.card__b h3{font-weight:600;font-size:clamp(1.15rem,1.6vw,1.4rem);letter-spacing:-.02em;line-height:1.15;}
.card__b p{color:var(--muted);font-size:15px;line-height:1.5;}
.card__b .go{margin-top:auto;padding-top:10px;color:var(--ink);font-size:14px;font-weight:500;display:flex;align-items:center;gap:8px;transition:gap .3s,color .3s;}
.card:hover .card__b .go{gap:14px;color:var(--gold);}
.card__n{font-weight:600;font-size:clamp(2.6rem,4.4vw,3.8rem);letter-spacing:-.05em;line-height:.9;}
.card__k{font-size:14px;color:var(--muted);}

/* ── client logos (quiet) ── */
.logos{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:clamp(20px,4vw,56px);padding:clamp(28px,3.4vw,44px) clamp(18px,3vw,34px);border-top:1px solid var(--line);}
.logos span{color:var(--muted);font-size:14px;}
.logos img{height:24px;width:auto;filter:grayscale(1) brightness(0);opacity:.5;}

/* ── closing call to action (one column) ── */
.cta2{border-top:1px solid var(--line);padding:clamp(64px,10vw,140px) clamp(18px,3vw,34px);display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(24px,4vw,64px);align-items:end;background:var(--paper-2);}
@media(max-width:860px){.cta2{grid-template-columns:1fr;}}
.cta2 h2{font-weight:600;letter-spacing:-.025em;line-height:.95;font-size:clamp(2.6rem,6vw,5.4rem);max-width:13ch;}
.cta2__r{display:flex;flex-direction:column;gap:22px;}
.cta2__r p{color:var(--muted);font-size:clamp(1rem,1.3vw,1.18rem);line-height:1.55;max-width:40ch;}
.cta2__r small{font-size:14px;color:var(--muted);}
.cta2__r small a{color:var(--ink);border-bottom:1px solid var(--line-2);}
.cta2__r small a:hover{color:var(--gold);border-color:var(--gold);}

/* ── page hero (no eyebrow) ── */
.phero__in{padding-top:clamp(64px,10vw,140px);}
.phero h1{max-width:16ch;}
.pimg{border-bottom:1px solid var(--line);height:clamp(260px,40vw,560px);overflow:hidden;}
.pimg img{width:100%;height:100%;object-fit:cover;}

/* ── capability rows (capabilities page) ── */
.caprow{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);}
@media(max-width:900px){.caprow{grid-template-columns:1fr;}}
.caprow__img{min-height:clamp(300px,34vw,520px);overflow:hidden;border-right:1px solid var(--line);}
.caprow:nth-of-type(even) .caprow__img{order:2;border-right:none;border-left:1px solid var(--line);}
@media(max-width:900px){.caprow__img,.caprow:nth-of-type(even) .caprow__img{order:0;border:none;border-bottom:1px solid var(--line);min-height:260px;}}
.caprow__img img{width:100%;height:100%;object-fit:cover;}
.caprow__c{padding:clamp(30px,4.4vw,64px) clamp(18px,3vw,40px);display:flex;flex-direction:column;gap:18px;justify-content:center;}
.caprow__c h2{font-weight:500;font-size:clamp(1.8rem,3.2vw,2.8rem);letter-spacing:-.018em;line-height:1;}
.caprow__c > p{color:var(--muted);max-width:52ch;font-size:1.02rem;line-height:1.55;}
.twocol{display:grid;grid-template-columns:1fr 1fr;gap:clamp(18px,2.4vw,32px);margin-top:8px;}
@media(max-width:600px){.twocol{grid-template-columns:1fr;}}
.twocol h4{font-size:13px;font-weight:600;color:var(--ink);margin-bottom:6px;}
.twocol ul{list-style:none;border-top:1px solid var(--line);}
.twocol li{padding:10px 0;border-bottom:1px solid var(--line);font-size:15px;color:var(--ink-soft);}

/* ── split with image ── */
.split{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);}
@media(max-width:900px){.split{grid-template-columns:1fr;}}
.split__c{padding:clamp(36px,5vw,80px) clamp(18px,3vw,40px);display:flex;flex-direction:column;gap:20px;justify-content:center;}
.split__c h2{font-weight:500;font-size:clamp(1.9rem,3.6vw,3.1rem);letter-spacing:-.018em;line-height:1;max-width:15ch;}
.split__c > p{color:var(--muted);max-width:46ch;line-height:1.55;}
.split__img{min-height:clamp(320px,36vw,560px);overflow:hidden;border-left:1px solid var(--line);}
@media(max-width:900px){.split__img{border-left:none;border-top:1px solid var(--line);min-height:280px;}}
.split__img img{width:100%;height:100%;object-fit:cover;}
.plist{list-style:none;border-top:1px solid var(--line);margin-top:6px;}
.plist li{padding:14px 0;border-bottom:1px solid var(--line);color:var(--muted);line-height:1.5;}
.plist strong{color:var(--ink);font-weight:600;}

/* ── steps / tiers / faq (how we work) ── */
.g4{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);}
@media(max-width:1000px){.g4{grid-template-columns:1fr 1fr;}}
@media(max-width:600px){.g4{grid-template-columns:1fr;}}
.g4 .c{padding:clamp(26px,3vw,40px);border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:12px;}
.g4 .c:last-child{border-right:none;}
.g4 .c .s{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.12em;color:var(--gold);}
.g4 .c h3{font-weight:600;font-size:clamp(1.25rem,1.8vw,1.55rem);letter-spacing:-.02em;}
.g4 .c p{color:var(--muted);font-size:15px;}
.g4 .c ul{list-style:none;border-top:1px solid var(--line);margin-top:auto;}
.g4 .c li{padding:10px 0;border-bottom:1px solid var(--line);font-size:14px;font-weight:500;}
.tiers{border-top:1px solid var(--line);}
.tier{gap:0;min-height:clamp(340px,28vw,420px);transition:background .5s,color .5s;position:relative;}
.tier::before{content:"";position:absolute;left:0;top:-1px;height:2px;width:0;background:var(--gold);transition:width .7s cubic-bezier(.2,.75,.2,1);}
.tier:hover::before{width:100%;}
.tier .tno{margin-bottom:0;color:var(--muted);font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.12em;}
.tier h3{font-weight:600;letter-spacing:-.025em;line-height:1.05;margin:auto 0 14px;padding-top:clamp(40px,5vw,72px);}
.tier p{flex:0;margin-bottom:24px;}
.tier:hover{background:var(--ink);color:var(--paper);}
.tier:hover p,.tier:hover .tno{color:#b9beb4;}
.tier:hover .ebtn{border-color:rgba(236,239,233,.35);}
.tier:hover .ebtn .lbl{color:var(--paper);}
.tier:hover .ebtn .arw{color:var(--gold);border-color:rgba(236,239,233,.35);}
.acc-head{width:100%;background:none;border:none;text-align:left;font:inherit;color:inherit;}
.acc-head h3{transition:color .3s;font-size:clamp(1.2rem,2.2vw,1.8rem);}
.acc-head:hover h3{color:var(--gold);}

/* ── work ── */
.pdetail{display:grid;grid-template-columns:1.1fr .9fr;border-top:1px solid var(--line);}
@media(max-width:900px){.pdetail{grid-template-columns:1fr;}}
.pdetail__shot{background:var(--paper-2);padding:clamp(22px,3vw,44px);border-right:1px solid var(--line);display:flex;align-items:center;}
@media(max-width:900px){.pdetail__shot{border-right:none;border-bottom:1px solid var(--line);}}
.pdetail__shot img{width:100%;border:1px solid var(--line-2);box-shadow:0 30px 60px -30px rgba(20,22,18,.45);height:clamp(300px,34vw,500px);object-fit:cover;object-position:top left;}
.pdetail__c{padding:clamp(30px,4vw,60px) clamp(18px,3vw,34px);display:flex;flex-direction:column;gap:18px;}
.pdetail__c .k{font-size:14px;color:var(--muted);}
.pdetail__c h2{font-weight:600;font-size:clamp(2rem,3.8vw,3.2rem);letter-spacing:-.03em;line-height:.95;}
.pdetail__c > p{color:var(--muted);max-width:52ch;font-size:1.03rem;}
.feat{display:flex;flex-direction:column;border-top:1px solid var(--line);}
.feat div{padding:14px 0;border-bottom:1px solid var(--line);color:var(--muted);font-size:15px;}
.feat strong{color:var(--ink);font-weight:600;}
.caught{border:1px solid var(--line-2);padding:clamp(18px,2.4vw,26px);display:flex;flex-direction:column;gap:10px;background:var(--paper);}
.caught h4{font-size:15px;font-weight:600;}
.caught p{color:var(--muted);font-size:15px;line-height:1.55;}
.caught .chips{display:flex;flex-wrap:wrap;gap:6px;}
.caught .chips span{font-size:12px;padding:4px 9px;border:1px solid var(--line-2);color:var(--ink-soft);}
.caught .chips span.r{border-color:var(--gold);color:var(--gold);}
.prog .card__b{gap:8px;}
.prog .meta{font-size:14px;color:var(--muted);}
.prog h3{margin-top:6px;}
.prog .res{display:flex;align-items:baseline;gap:10px;margin-top:4px;}
.prog .res b{font-weight:600;font-size:clamp(1.8rem,2.6vw,2.4rem);letter-spacing:-.04em;}
.prog .res span{color:var(--muted);font-size:14px;}

/* ── about ── */
.leader{display:grid;grid-template-columns:.8fr 1.2fr;border-top:1px solid var(--line);}
@media(max-width:860px){.leader{grid-template-columns:1fr;}}
.leader__photo{background:var(--paper-2);border-right:1px solid var(--line);min-height:clamp(360px,36vw,520px);position:relative;overflow:hidden;display:flex;align-items:flex-end;}
@media(max-width:860px){.leader__photo{border-right:none;border-bottom:1px solid var(--line);}}
.leader__photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.leader__photo .ph{padding:clamp(20px,2.6vw,32px);color:var(--muted);font-size:14px;}
.leader__c{padding:clamp(30px,4.4vw,64px) clamp(18px,3vw,40px);display:flex;flex-direction:column;gap:16px;justify-content:center;}
.leader__c h2{font-weight:500;font-size:clamp(1.9rem,3.4vw,3rem);letter-spacing:-.018em;line-height:1;}
.leader__c .role{font-size:15px;color:var(--gold);font-weight:500;}
.leader__c p{color:var(--muted);max-width:56ch;line-height:1.6;}
.leader__c strong{color:var(--ink);font-weight:600;}
.princ{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);}
@media(max-width:860px){.princ{grid-template-columns:1fr;}}
.princ .cell{padding:clamp(26px,3vw,40px);border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:0;}
.princ .cell:nth-child(3n){border-right:none;}
.princ .cell h3{margin-bottom:10px;font-size:clamp(1.2rem,1.7vw,1.45rem);}
.dl{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);}
@media(max-width:760px){.dl{grid-template-columns:1fr;}}
.dl > div{display:grid;grid-template-columns:170px 1fr;gap:16px;padding:20px clamp(18px,3vw,34px);border-bottom:1px solid var(--line);border-right:1px solid var(--line);}
.dl > div:nth-child(2n){border-right:none;}
.dl dt{color:var(--muted);font-size:14px;}
.dl dd{font-weight:500;}
.dl dd a{border-bottom:1px solid var(--line-2);}.dl dd a:hover{color:var(--gold);border-color:var(--gold);}

/* ── contact ── */
.field select{appearance:none;-webkit-appearance:none;cursor:pointer;background-image:linear-gradient(45deg,transparent 50%,var(--ink) 50%),linear-gradient(135deg,var(--ink) 50%,transparent 50%);background-position:calc(100% - 12px) 55%,calc(100% - 7px) 55%;background-size:5px 5px;background-repeat:no-repeat;padding-right:24px;}
.field .hint{font-size:13px;color:var(--muted);margin-top:8px;}
.ebtn[disabled]{opacity:.6;cursor:progress;}
.social{display:flex;gap:10px;}
.social a{width:44px;height:44px;border:1px solid var(--line-2);display:grid!important;place-items:center;padding:0!important;margin:0!important;transition:border-color .3s,color .3s;}
.social a:hover{border-color:var(--gold);color:var(--gold);padding-left:0!important;}
.foot .social a{opacity:1;}
.foot__cell .social{margin-top:6px;}
.vhero h1{max-width:none;font-size:clamp(3rem,6.6vw,6.2rem);}
.head .tlink,.head div > .tlink{align-self:flex-start;}
.head h2{max-width:18ch;}
.cta2 h2{font-size:clamp(2.4rem,5vw,4.6rem);max-width:15ch;}
@media(max-width:600px){.frow{grid-template-columns:1fr;}.frow .field{border-right:none;border-bottom:1px solid var(--line);}.frow .field:last-child{border-bottom:none;}}
.vhero__sub{max-width:30ch;}
/* text-only split: when there is no image, heading left, text right */
.split:not(:has(.split__img)) .split__c{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:clamp(18px,4vw,64px);align-items:start;}
.split:not(:has(.split__img)) .split__c > h2{grid-row:span 4;}
@media(max-width:860px){.split:not(:has(.split__img)) .split__c{grid-template-columns:1fr;}}
.card__b h3{font-size:clamp(1.25rem,1.8vw,1.6rem);}
.split:not(:has(.split__img)) .split__c{align-content:start;row-gap:18px;}
.social{gap:18px;align-items:center;}
.social a{width:auto;height:auto;border:none!important;display:inline-flex!important;color:var(--ink);opacity:.8;transition:opacity .3s,color .3s;min-height:44px;align-items:center;}
.social a:hover{color:var(--gold);opacity:1;}
/* ── v12: type-led, no photography ── */
.thero{padding:calc(64px + clamp(72px,12vw,170px)) clamp(18px,3vw,34px) clamp(48px,6vw,80px);border-bottom:1px solid var(--line);}
.thero h1{font-weight:600;letter-spacing:-.03em;line-height:.92;font-size:clamp(3.2rem,9vw,8.6rem);max-width:13ch;}
.thero h1 .ln{display:block;overflow:hidden;padding-bottom:.04em;}
.thero h1 .ln>span{display:block;}
.thero h1 .sub{font-weight:500;color:var(--muted);font-size:.42em;letter-spacing:-.02em;line-height:1.1;margin-top:.5em;max-width:none;}
.js .thero h1 .ln>span{transform:translateY(110%);transition:transform 1.1s cubic-bezier(.2,.75,.2,1);}
.js .thero.in h1 .ln>span{transform:none;}
.thero h1 .ln:nth-child(2)>span{transition-delay:.15s;}
.thero__foot{display:flex;justify-content:space-between;align-items:flex-end;gap:28px;flex-wrap:wrap;margin-top:clamp(40px,6vw,88px);padding-top:clamp(22px,2.6vw,32px);border-top:1px solid var(--line);}
.thero__foot p{max-width:42ch;font-size:clamp(1.05rem,1.4vw,1.3rem);color:var(--ink-soft);line-height:1.45;}
.js .thero__foot{opacity:0;transform:translateY(14px);transition:opacity 1s .45s,transform 1s .45s cubic-bezier(.2,.75,.2,1);}
.js .thero.in .thero__foot{opacity:1;transform:none;}
.caprow--text{grid-template-columns:.9fr 1.1fr;}
.caprow--text .caprow__c{display:contents;}
.caprow--text .caprow__c > h2{padding:clamp(30px,4.4vw,64px) clamp(18px,3vw,40px);border-right:1px solid var(--line);}
.caprow--text .caprow__c > p,.caprow--text .caprow__c > .twocol{grid-column:2;padding:0 clamp(18px,3vw,40px);}
.caprow--text .caprow__c > p{padding-top:clamp(30px,4.4vw,64px);}
.caprow--text .caprow__c > .twocol{padding-bottom:clamp(30px,4.4vw,64px);margin-top:22px;}
.caprow--text .caprow__c > h2{grid-row:1/span 2;}
@media(max-width:900px){.caprow--text .caprow__c > h2{border-right:none;padding-bottom:0;}.caprow--text .caprow__c > p,.caprow--text .caprow__c > .twocol{grid-column:1;}}
.pdetail:not(:has(.pdetail__shot)){grid-template-columns:1fr;}
.pdetail:not(:has(.pdetail__shot)) .pdetail__c{display:grid;grid-template-columns:.9fr 1.1fr;column-gap:clamp(18px,4vw,64px);row-gap:18px;align-items:start;}
.pdetail:not(:has(.pdetail__shot)) .pdetail__c > .k,.pdetail:not(:has(.pdetail__shot)) .pdetail__c > h2{grid-column:1;}
.pdetail:not(:has(.pdetail__shot)) .pdetail__c > *:not(.k):not(h2){grid-column:2;}
.pdetail:not(:has(.pdetail__shot)) .pdetail__c > h2{grid-row:2/span 4;}
@media(max-width:860px){.pdetail:not(:has(.pdetail__shot)) .pdetail__c{grid-template-columns:1fr;}.pdetail:not(:has(.pdetail__shot)) .pdetail__c > *{grid-column:1!important;grid-row:auto!important;}}
.leader{grid-template-columns:1fr;}
.leader__c{display:grid;grid-template-columns:.9fr 1.1fr;column-gap:clamp(18px,4vw,64px);row-gap:14px;}
.leader__c > .role,.leader__c > h2{grid-column:1;}
.leader__c > p,.leader__c > .social{grid-column:2;}
.leader__c > h2{grid-row:2/span 3;}
@media(max-width:860px){.leader__c{grid-template-columns:1fr;}.leader__c > *{grid-column:1!important;grid-row:auto!important;}}
.prog .card__b{padding-top:clamp(30px,3.6vw,48px);}

/* ═══════════ v12 refinement: calmer type scale, more air, finer detail ═══════════ */
body{font-size:16.5px;font-feature-settings:"ss01","kern";}
.thero{position:relative;overflow:hidden;isolation:isolate;padding:calc(64px + clamp(64px,9vw,128px)) clamp(18px,3vw,34px) clamp(44px,5vw,72px);}
.thero__field{position:absolute;inset:0;width:100%;height:100%;z-index:-1;}
.thero h1{font-size:clamp(2.6rem,5.4vw,5rem);line-height:.98;letter-spacing:-.032em;max-width:15ch;font-weight:600;}
.thero h1 .sub{font-size:.5em;line-height:1.15;margin-top:.55em;letter-spacing:-.018em;max-width:26ch;}
.thero__foot{margin-top:clamp(40px,5vw,72px);}
.thero__foot p{font-size:clamp(1rem,1.2vw,1.12rem);color:var(--muted);}
.phero__in{padding-top:clamp(56px,7vw,104px);padding-bottom:clamp(32px,4vw,56px);}
.phero h1{font-size:clamp(2.3rem,4.4vw,3.9rem);line-height:1;letter-spacing:-.028em;max-width:18ch;}
.phero .lead{font-size:clamp(1rem,1.2vw,1.12rem);margin-top:clamp(16px,2vw,24px);}
.head{padding-top:clamp(56px,7vw,104px);padding-bottom:clamp(26px,3vw,40px);}
.head h2{font-size:clamp(1.7rem,2.8vw,2.5rem);line-height:1.05;letter-spacing:-.022em;max-width:20ch;}
.head p{font-size:clamp(.98rem,1.1vw,1.06rem);}
.cta2{padding:clamp(56px,8vw,112px) clamp(18px,3vw,34px);}
.cta2 h2{font-size:clamp(2rem,3.6vw,3.2rem);line-height:1.02;letter-spacing:-.028em;max-width:16ch;}
.caprow__c h2,.split__c h2,.leader__c h2{font-size:clamp(1.5rem,2.3vw,2.1rem);line-height:1.08;letter-spacing:-.02em;}
.pdetail__c h2{font-size:clamp(1.8rem,3vw,2.6rem);}
.card__n{font-size:clamp(2.2rem,3.4vw,3rem);}
.card__b h3{font-size:clamp(1.1rem,1.4vw,1.3rem);}
.decide h3,.g4 .c h3{font-size:clamp(1.05rem,1.3vw,1.2rem);}
.acc-head h3{font-size:clamp(1.1rem,1.6vw,1.4rem);font-weight:500;}
.tier h3{font-size:clamp(1.3rem,1.9vw,1.7rem);}
.foot__b{font-size:20px;}
.lead,.head p,.caprow__c > p,.split__c > p{max-width:56ch;}
/* finer rules and quieter accents */
.decide > div::before{height:1px;}
.tier::before{height:1px;}
.thero h1{max-width:22ch;}
/* headings sit on one line where the width allows */
.head h2,.cta2 h2,.split__c h2,.caprow__c h2,.leader__c h2,.phero h1,.thero h1,.thero h1 .sub{max-width:none;text-wrap:balance;}
.cta2{grid-template-columns:1fr auto;}
@media(max-width:860px){.cta2{grid-template-columns:1fr;}}
.cta2__r{max-width:420px;}
/* questions: tighter, in a readable column beside the heading */
.faqwrap{display:grid;grid-template-columns:.8fr 1.2fr;border-top:1px solid var(--line);}
@media(max-width:860px){.faqwrap{grid-template-columns:1fr;}}
.faqwrap .head{border:none;padding-bottom:0;align-items:start;}
.faqwrap .acc{border-top:none;max-width:820px;padding:clamp(40px,5vw,72px) clamp(18px,3vw,34px) clamp(40px,5vw,72px) 0;}
@media(max-width:860px){.faqwrap .acc{padding-left:clamp(18px,3vw,34px);padding-top:12px;}}
.faqwrap .acc-item{padding:0;}
.faqwrap .acc-head{padding:18px 0;gap:24px;}
.faqwrap .acc-body .inner{padding-bottom:20px;font-size:1rem;}
.faqwrap .acc-plus{width:16px;height:16px;}
.faqwrap .acc-plus:before{width:16px;}
.faqwrap .acc-plus:after{height:16px;}
.faqwrap .acc-item:first-child{border-top:1px solid var(--line);}
.cta2{align-items:center;}

/* ═══════════ v14: one grid, one left edge ═══════════
   Every text block starts on the same line: page gutter (--gx) + cell inset (--cx).
   Every two-column section splits at the same point (--col). */
:root{--gx:max(clamp(16px,4.2vw,80px),calc((100vw - 1520px) / 2));--cx:clamp(16px,1.8vw,28px);--pi:calc(var(--gx) + var(--cx));--col:minmax(0,5fr) minmax(0,7fr);--cg:clamp(28px,5vw,96px);}
.nav{padding-left:var(--pi);padding-right:var(--pi);}
.thero,.phero__in{padding-left:var(--pi);padding-right:var(--pi);}
.head{padding-left:var(--pi);padding-right:var(--pi);grid-template-columns:var(--col);column-gap:var(--cg);}
.head--solo{grid-template-columns:1fr;}
.cta2{padding-left:var(--pi);padding-right:var(--pi);grid-template-columns:var(--col);column-gap:var(--cg);}
.cta2__r{max-width:560px;}
/* two-column text sections */
.row2{display:grid;grid-template-columns:var(--col);column-gap:var(--cg);row-gap:20px;padding:clamp(52px,6.5vw,96px) var(--pi);border-top:1px solid var(--line);align-items:start;}
.row2__l{display:flex;flex-direction:column;gap:14px;}
.row2__l h2{font-weight:500;font-size:clamp(1.5rem,2.3vw,2.1rem);line-height:1.08;letter-spacing:-.02em;text-wrap:balance;}
.row2__l h2{margin-top:0;}
.row2__l .k,.row2__l .role{font-size:14px;color:var(--muted);order:-1;}
.row2__l .role{color:var(--gold);font-weight:500;}
.row2__r{display:flex;flex-direction:column;gap:18px;max-width:720px;}
.row2__r > p{color:var(--muted);line-height:1.6;}
.row2__r strong{color:var(--ink);font-weight:600;}
.row2__r .twocol{margin-top:6px;}
@media(max-width:860px){.row2{grid-template-columns:1fr;}}
/* full-width grids sit inside the gutter; cells use the same inset so text lines up */
.decide,.cards,.g4,.princ,.tiers,.dl{padding-left:var(--gx);padding-right:var(--gx);}
.decide > div,.card__b,.g4 .c,.princ .cell,.tier,.dl > div{padding-left:var(--cx);padding-right:var(--cx);}
.logos,.qstage{padding-left:var(--pi);padding-right:var(--pi);}
.faqwrap{grid-template-columns:var(--col);column-gap:var(--cg);padding:0 var(--pi);}
.faqwrap .head{padding-left:0;padding-right:0;}
.faqwrap .acc{padding-left:0;padding-right:0;max-width:720px;}
@media(max-width:860px){.faqwrap{grid-template-columns:1fr;}.faqwrap .acc{padding-top:0;}}
.cform{padding-left:var(--gx);padding-right:var(--gx);}
.cform__main,.cform__side{padding-left:var(--cx);padding-right:var(--cx);}
.foot__grid{padding-left:var(--gx);padding-right:var(--gx);}
.foot__cell{padding-left:var(--cx);padding-right:var(--cx);}
.foot__bot{padding-left:var(--pi);padding-right:var(--pi);}

/* ═══════════ appearance: light, dark, system ═══════════ */
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --paper:#131512;--paper-2:#191c18;--paper-3:#21251f;--ink:#e6e8e1;--ink-soft:#c7cac1;--line:rgba(230,232,225,.12);--line-2:rgba(230,232,225,.26);--muted:#9ba095;--gold:#dc7553;color-scheme:dark;}}
:root[data-theme="dark"]{--paper:#131512;--paper-2:#191c18;--paper-3:#21251f;--ink:#e6e8e1;--ink-soft:#c7cac1;--line:rgba(230,232,225,.12);--line-2:rgba(230,232,225,.26);--muted:#9ba095;--gold:#dc7553;color-scheme:dark;}
:root[data-theme="light"]{color-scheme:light;}
.nav{background:color-mix(in srgb,var(--paper) 84%,transparent);}
.menu-ov__panel{background:var(--paper);}
.field input::placeholder,.field textarea::placeholder{color:var(--muted);opacity:.7;}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .logos img{filter:grayscale(1) brightness(0) invert(1);opacity:.6;}}
:root[data-theme="dark"] .logos img{filter:grayscale(1) brightness(0) invert(1);opacity:.6;}
.cur-ring{border-color:var(--line-2)!important;}
.theme{display:inline-flex;border:1px solid var(--line);}
.theme button{all:unset;cursor:pointer;width:36px;height:36px;display:grid;place-items:center;color:var(--muted);transition:color .3s,background .3s;}
.theme button + button{border-left:1px solid var(--line);}
.theme button:hover{color:var(--ink);}
.theme button[aria-pressed="true"]{color:var(--ink);background:var(--paper-3);}
.theme button:focus-visible{outline:2px solid var(--gold);outline-offset:2px;}
.foot__bot{align-items:center;}
.foot__bot > span{text-transform:none;letter-spacing:.02em;font-size:12px;line-height:1.5;max-width:70ch;}
.head{align-items:start;}

/* ═══════════ mobile polish ═══════════ */
@media(max-width:700px){
  .thero{padding-top:calc(64px + 56px);}
  .thero__foot{flex-direction:column;align-items:flex-start;}
  .thero__foot .btnrow{width:100%;}
  .btnrow .ebtn{flex:1 1 auto;}
  .ebtn .lbl{flex:1;}
  .head{row-gap:16px;}
  .cta2__r{max-width:none;}
  .foot__grid{grid-template-columns:1fr;}
  .foot__cell{border-right:none;border-bottom:1px solid var(--line);}
  .foot__bot{flex-direction:column;align-items:flex-start;gap:16px;}
  .dl > div{grid-template-columns:1fr;gap:4px;border-right:none;}
  .twocol{grid-template-columns:1fr;}
  .nav__brand{font-size:17px;}
  .navbtn--cta .navbtn__lbl{display:none;}
  .qd{height:480px;}
  .decide > div,.card__b,.g4 .c,.princ .cell,.tier{border-right:none!important;}
}
.ebtn--solid .arw{border-color:color-mix(in srgb,var(--paper) 25%,transparent);}.tier:hover .ebtn,.tier:hover .ebtn .arw{border-color:color-mix(in srgb,var(--paper) 35%,transparent);}
@media(max-width:700px){.ebtn{width:auto;max-width:100%;}.btnrow{flex-direction:column;align-items:stretch;}.btnrow .ebtn{width:100%;}.cta2__r .ebtn{align-self:stretch;}}
@media(max-width:860px){.head,.cta2,.faqwrap,.row2{grid-template-columns:1fr;}.head{align-items:start;}.faqwrap .head{padding-bottom:8px;}}

/* ═══════════ colour options (temporary switcher for review) ═══════════ */
:root[data-palette="cobalt"]{--paper:#f5f6f8;--paper-2:#eceef2;--paper-3:#e1e5ec;--ink:#0f1b2d;--ink-soft:#2f3b4e;--muted:#5b6575;--gold:#1f4fd1;--line:rgba(15,27,45,.15);--line-2:rgba(15,27,45,.30);color-scheme:light;}
@media (prefers-color-scheme: dark){:root[data-palette="cobalt"]:not([data-theme="light"]){--paper:#0b111c;--paper-2:#111a28;--paper-3:#182335;--ink:#e9edf3;--ink-soft:#c3cbd7;--muted:#97a1b1;--gold:#7d9bff;--line:rgba(233,237,243,.12);--line-2:rgba(233,237,243,.26);color-scheme:dark;}}
:root[data-palette="cobalt"][data-theme="dark"]{--paper:#0b111c;--paper-2:#111a28;--paper-3:#182335;--ink:#e9edf3;--ink-soft:#c3cbd7;--muted:#97a1b1;--gold:#7d9bff;--line:rgba(233,237,243,.12);--line-2:rgba(233,237,243,.26);color-scheme:dark;}

/* ═══════════ multi-colour options: one colour per capability / step ═══════════ */
:root{--c1:var(--gold);--c2:var(--gold);--c3:var(--gold);--c4:var(--gold);}

/* where the colours appear: rules, large numbers, hover lines, the dot field. Small text stays ink. */
.decide > div:nth-child(4n+1),.cards .card:nth-child(4n+1),.g4 .c:nth-child(4n+1),.tiers .tier:nth-child(3n+1),.princ .cell:nth-child(4n+1),.cards--3 .card:nth-child(3n+1){--cc:var(--c1);}
.decide > div:nth-child(4n+2),.cards .card:nth-child(4n+2),.g4 .c:nth-child(4n+2),.tiers .tier:nth-child(3n+2),.princ .cell:nth-child(4n+2),.cards--3 .card:nth-child(3n+2){--cc:var(--c2);}
.decide > div:nth-child(4n+3),.cards .card:nth-child(4n+3),.g4 .c:nth-child(4n+3),.tiers .tier:nth-child(3n+3),.princ .cell:nth-child(4n+3),.cards--3 .card:nth-child(3n+3){--cc:var(--c3);}
.decide > div:nth-child(4n+4),.cards .card:nth-child(4n+4),.g4 .c:nth-child(4n+4),.princ .cell:nth-child(4n+4){--cc:var(--c4);}
.decide > div::before{background:var(--cc,var(--gold));height:2px;}
.g4 .c,.princ .cell,.card{position:relative;}
.g4 .c::before,.princ .cell::before,.card::before{content:"";position:absolute;left:0;top:-1px;height:2px;width:28px;background:var(--cc,var(--gold));transition:width .6s cubic-bezier(.2,.75,.2,1);}
.g4 .c:hover::before,.princ .cell:hover::before,.card:hover::before{width:100%;}
.g4 .c .s{color:var(--muted);}
.card__n{color:var(--cc,var(--ink));}
.tier::before{background:var(--cc,var(--gold));height:2px;}
.card:hover .card__b .go{color:var(--ink);}
.caprow-mark{display:inline-block;width:28px;height:2px;margin-bottom:6px;}
.row2:nth-of-type(4n+1) .row2__l::before,.row2:nth-of-type(4n+2) .row2__l::before,.row2:nth-of-type(4n+3) .row2__l::before,.row2:nth-of-type(4n+4) .row2__l::before{content:"";display:block;width:28px;height:2px;background:var(--gold);order:-2;}
.row2:nth-of-type(4n+2) .row2__l::before{background:var(--c2);}
.row2:nth-of-type(4n+3) .row2__l::before{background:var(--c3);}
.row2:nth-of-type(4n+4) .row2__l::before{background:var(--c4);}

/* ═══════════ bold options: colour as surface, not just line ═══════════ */

/* deep surfaces re-scope the tokens, so every component inside just works */
  --paper:var(--deep);--paper-2:color-mix(in srgb,var(--deep) 88%,#fff);--paper-3:color-mix(in srgb,var(--deep) 80%,#fff);
  --ink:var(--deep-ink);--ink-soft:color-mix(in srgb,var(--deep-ink) 85%,transparent);--muted:color-mix(in srgb,var(--deep-ink) 68%,var(--deep));
  --gold:var(--deep-accent);--line:color-mix(in srgb,var(--deep-ink) 16%,transparent);--line-2:color-mix(in srgb,var(--deep-ink) 32%,transparent);
  background:var(--deep);color:var(--ink);}
/* tinted cards: each capability / step in its own colour */
