html{scroll-padding-top:100px}
/* ClarroxWeb — shared subpage styles (light · Avenir, lighter weights) */
:root{
  --paper:#FBF9F4; --paper-2:#F1EDE5; --card:#fff;
  --ink:#1b1e24; --ink-dim:#5a5e67; --ink-faint:#6b6f77;
  --navy:#2B3448; --sage:#7F988D; --sage-deep:#557064;
  --line:rgba(27,30,36,.13); --line-2:rgba(27,30,36,.08);
  --maxw:1320px; --gut:clamp(22px,5vw,80px);
  --f:'Avenir Next','Avenir','Hanken Grotesk',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --ease:cubic-bezier(.22,.7,.16,1);
}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:var(--f);color:var(--ink);background:linear-gradient(178deg,#FEFDFB 0%,var(--paper) 26%,var(--paper-2) 100%) no-repeat fixed var(--paper);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--gut)}
a{color:inherit;text-decoration:none}
h1,h2,h3{font-weight:600;letter-spacing:-0.035em;line-height:1.04}
::selection{background:var(--navy);color:#fff}
:focus-visible{outline:2px solid var(--sage-deep);outline-offset:3px}
.ey{font-size:.74rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--sage-deep);display:inline-flex;align-items:center;gap:.7em}
.ey::before{content:"✳";color:var(--sage)}
.skip{position:absolute;left:-999px;top:0;z-index:600;background:var(--navy);color:#fff;padding:12px 18px;font-weight:600}.skip:focus{left:0}

.btn{display:inline-flex;align-items:center;gap:.6em;font-weight:560;font-size:.96rem;padding:1em 1.7em;border-radius:100px;cursor:pointer;border:1.5px solid transparent;transition:background .35s,color .35s,border-color .35s}
.btn-p{background:var(--navy);color:#fff}.btn-p:hover{background:var(--sage-deep)}
.btn-g{border-color:var(--line);color:var(--ink)}.btn-g:hover{background:var(--ink);border-color:var(--ink);color:#fff}
.btn .ar,.tlink .ar{transition:transform .3s}.btn:hover .ar,.tlink:hover .ar{transform:translateX(4px)}
.tlink{font-weight:560;display:inline-flex;align-items:center;gap:.5em;border-bottom:1.5px solid var(--ink);padding-bottom:3px}

/* nav (same band as homepage) */
header{position:fixed;top:0;left:0;right:0;z-index:100;padding:22px 0;transition:padding .4s,background .4s,box-shadow .4s;background:rgba(251,249,244,.86);backdrop-filter:saturate(160%) blur(14px)}
header.scrolled{padding:12px 0;box-shadow:0 1px 0 var(--line-2)}
.nav{display:flex;align-items:center;justify-content:space-between}
.logo{height:26px;width:auto;display:block}
.nav-links{display:none}
.nav-right{margin-left:auto}
.nav-right .lang,.nav-right .btn-g{display:none}
.nav-links a{color:var(--ink-dim);position:relative;transition:color .3s}
.nav-links a::after{content:"";position:absolute;left:0;bottom:-5px;height:2px;width:0;background:var(--sage);transition:width .3s}
.nav-links a:hover,.nav-links a.cur{color:var(--ink)}.nav-links a:hover::after,.nav-links a.cur::after{width:100%}
.nav-right{display:flex;align-items:center;gap:16px}
.lang{display:flex;align-items:center;gap:5px;font-size:.8rem;font-weight:560;color:var(--ink-faint)}
.lang a{cursor:pointer;transition:color .3s}.lang a.on{color:var(--ink)}.lang a:hover{color:var(--sage-deep)}
.nav-right .btn{padding:.6em 1.05em;font-size:.84rem}
.burger{display:flex;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:8px;z-index:260;margin-left:12px}
.burger span{width:24px;height:2px;background:var(--ink);transition:.3s}
body.menu-open .burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
body.menu-open .burger span:nth-child(2){opacity:0}
body.menu-open .burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.drawer{position:fixed;inset:0;z-index:200;background:var(--paper);display:flex;flex-direction:column;padding:clamp(90px,13vh,148px) var(--gut) 42px;transform:translateY(-100%);transition:transform .6s var(--ease),visibility .6s;visibility:hidden;overflow-y:auto}
body.menu-open .drawer{transform:translateY(0);visibility:visible}
.d-inner{flex:1;display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(28px,5vw,72px);align-items:center}
.d-nav{display:flex;flex-direction:column;gap:2px;counter-reset:m}
.d-nav a:not(.btn){counter-increment:m;font-size:clamp(1.9rem,5vw,4rem);font-weight:600;letter-spacing:-.035em;line-height:1.16;padding:4px 0;color:var(--ink);display:inline-flex;align-items:baseline;gap:16px;width:max-content;max-width:100%;opacity:0;transform:translateY(28px);transition:opacity .55s var(--ease),transform .55s var(--ease),color .3s}
.d-nav a:not(.btn)::before{content:"0" counter(m);font-size:.74rem;font-weight:560;color:var(--sage-deep);letter-spacing:.06em}
.d-nav a:not(.btn):hover{color:var(--sage-deep)}
body.menu-open .d-nav a:not(.btn){opacity:1;transform:none}
body.menu-open .d-nav a:not(.btn):nth-child(1){transition-delay:.16s}
body.menu-open .d-nav a:not(.btn):nth-child(2){transition-delay:.22s}
body.menu-open .d-nav a:not(.btn):nth-child(3){transition-delay:.28s}
body.menu-open .d-nav a:not(.btn):nth-child(4){transition-delay:.34s}
body.menu-open .d-nav a:not(.btn):nth-child(5){transition-delay:.40s}
.d-nav .btn{margin-top:22px;align-self:flex-start;opacity:0;transition:opacity .5s .46s}
body.menu-open .d-nav .btn{opacity:1}
.d-featured{display:flex;flex-direction:column;gap:12px;opacity:0;transform:translateY(20px);transition:opacity .6s .42s,transform .6s .42s}
body.menu-open .d-featured{opacity:1;transform:none}
.d-featured .h{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--sage-deep);font-weight:600}
.d-fcard{display:block;border-radius:14px;overflow:hidden;border:1px solid var(--line);background:var(--card);transition:transform .4s var(--ease),box-shadow .4s}
.d-fcard:hover{transform:translateY(-3px);box-shadow:0 20px 40px -24px rgba(27,30,36,.4)}
.d-fcard .im{display:block;aspect-ratio:16/9;background-size:cover;background-position:top center}
.d-fcard .im.g{background:linear-gradient(135deg,var(--navy),var(--sage))}
.d-fcard b{display:block;font-size:1.02rem;font-weight:600;letter-spacing:-.02em;padding:13px 16px 2px;color:var(--ink)}
.d-fcard .s{display:block;font-size:.82rem;color:var(--ink-faint);padding:0 16px 13px}
.d-foot{flex-shrink:0;display:flex;justify-content:space-between;align-items:flex-end;gap:20px 50px;flex-wrap:wrap;padding-top:28px;margin-top:28px;border-top:1px solid var(--line-2);opacity:0;transition:opacity .5s .5s}
body.menu-open .d-foot{opacity:1}
.d-foot .dcol{display:flex;flex-direction:column;gap:7px;font-size:.9rem;color:var(--ink-dim)}
.d-foot .dcol .h{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--sage-deep);font-weight:560;margin-bottom:3px}
.d-foot a{color:var(--ink);font-weight:560}
.d-foot .dlang a{color:var(--ink-dim);margin-right:12px;cursor:pointer}.d-foot .dlang a.on{color:var(--ink)}
@media(max-width:860px){.d-inner{grid-template-columns:1fr}.d-featured{display:none}.drawer{justify-content:center}}

/* ===== WPP-style floating pill + menu modal ===== */
header#hdr,header#hdr.scrolled{position:fixed;top:16px;left:0;right:0;z-index:120;display:flex;justify-content:center;padding:0 16px;background:none;box-shadow:none;backdrop-filter:none}
.pill{pointer-events:auto;background:rgba(43,52,72,.82);-webkit-backdrop-filter:blur(14px) saturate(1.3);backdrop-filter:blur(14px) saturate(1.3);color:#fff;border-radius:100px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:9px 14px 9px 21px;box-shadow:0 14px 40px -18px rgba(27,30,36,.5);width:min(348px,94vw)}
.pill-logo img{height:19px;display:block;filter:brightness(0) invert(1)}
.pill-menu{display:flex;align-items:center;gap:11px;background:none;border:none;color:#fff;cursor:pointer;font-family:inherit;padding:5px 6px;border-radius:100px}
.pill-menu .word{font-size:.94rem;font-weight:560;letter-spacing:.01em}
.pill-lang{position:relative;margin-left:auto}
.pill-globe{background:none;border:none;color:#fff;cursor:pointer;display:flex;padding:5px;border-radius:50%;transition:background .3s}
.pill-globe:hover{background:rgba(255,255,255,.16)}
.pill-globe svg{width:22px;height:22px}
.lang-pop{position:absolute;top:calc(100% + 12px);right:0;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:0 20px 44px -20px rgba(27,30,36,.4);padding:6px;display:flex;flex-direction:column;gap:2px;opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .25s,transform .25s,visibility .25s;min-width:74px}
.pill-lang.open .lang-pop{opacity:1;visibility:visible;transform:none}
.lang-pop button{font-family:inherit;font-size:.82rem;font-weight:600;color:var(--ink-dim);background:none;border:none;border-radius:7px;padding:8px 12px;text-align:left;cursor:pointer;transition:.2s}
.lang-pop button:hover{background:var(--paper-2)}
.lang-pop button.on{color:#fff;background:var(--navy)}
.pill-menu .dots{display:grid;grid-template-columns:repeat(3,1fr);gap:3.5px}
#curtain{position:fixed;inset:0;z-index:600;background:var(--navy);display:flex;align-items:center;justify-content:center;transform:translateY(100%);transition:transform .55s var(--ease);pointer-events:none}
#curtain.in{transform:translateY(0)}
#curtain .mk{color:#fff;font-size:clamp(3rem,8vw,5rem);font-weight:600;letter-spacing:-.05em}#curtain .mk i{color:var(--sage);font-style:normal}
.to-top{position:fixed;right:22px;bottom:22px;z-index:95;width:46px;height:46px;border-radius:50%;background:var(--navy);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .4s,transform .4s,visibility .4s,background .3s;box-shadow:0 16px 34px -14px rgba(27,30,36,.55)}
.to-top.show{opacity:1;visibility:visible;transform:none}
.to-top:hover{background:var(--sage-deep)}
.to-top svg{width:18px;height:18px}
@media(max-width:980px){.to-top{bottom:86px;right:16px}}
.pill-menu .dots span{width:4px;height:4px;border-radius:50%;background:#fff;transition:transform .3s}
.pill-menu:hover .dots span{transform:scale(1.2)}
.menu-modal{position:fixed;inset:0;z-index:300;display:flex;align-items:center;justify-content:center;padding:clamp(14px,3vw,38px);opacity:0;visibility:hidden;transition:opacity .35s,visibility .35s}
.menu-modal.open{opacity:1;visibility:visible}
.menu-bg{position:absolute;inset:0;background:rgba(35,38,44,.5);backdrop-filter:blur(2px);cursor:pointer}
.menu-panel{position:relative;background:#fff;border-radius:20px;width:min(1340px,96vw);max-height:86vh;overflow-y:auto;padding:clamp(28px,3.4vw,54px);transform:translateY(18px) scale(.99);transition:transform .42s var(--ease);box-shadow:0 40px 100px -30px rgba(0,0,0,.5)}
.menu-modal.open .menu-panel{transform:none}
.menu-search{display:flex;align-items:center;gap:12px;background:var(--paper-2);border-radius:12px;padding:15px 22px;margin-bottom:clamp(24px,3vw,42px)}
.menu-search input{flex:1;border:none;background:none;font-family:inherit;font-size:1.05rem;color:var(--ink)}.menu-search input:focus-visible{outline:2px solid var(--sage-deep);outline-offset:3px;border-radius:6px}
.menu-search input::placeholder{color:var(--ink-faint)}
.menu-search svg{width:20px;height:20px;stroke:var(--ink-faint);fill:none;stroke-width:2}
.menu-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(28px,3vw,44px) 30px}
.menu-col h4{font-size:.92rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--navy);margin-bottom:15px}
.menu-col h4 a.menu-h{color:inherit;text-decoration:none;display:inline-flex;align-items:center;gap:6px;transition:color .2s}
.menu-col h4 a.menu-h:hover{color:var(--sage-deep)}
.menu-col h4 a.menu-h::after{content:"→";font-size:.85em;opacity:0;transform:translateX(-4px);transition:opacity .2s,transform .2s}
.menu-col h4 a.menu-h:hover::after{opacity:1;transform:none}
.menu-col a{display:block;font-size:1rem;color:var(--ink-dim);margin-bottom:9px;transition:color .25s,transform .25s;width:max-content;max-width:100%}
.menu-col a:hover{color:var(--navy);transform:translateX(5px)}
.menu-col.hidden{display:none}
.menu-close{position:absolute;left:50%;bottom:20px;transform:translateX(-50%);z-index:301;background:var(--navy);color:#fff;border:none;border-radius:100px;padding:14px 26px;font-family:inherit;font-size:.95rem;font-weight:560;cursor:pointer;display:flex;align-items:center;gap:10px;box-shadow:0 16px 34px -12px rgba(0,0,0,.45)}
.menu-close:hover{background:var(--sage-deep)}
.menu-close .cd{display:grid;grid-template-columns:repeat(2,1fr);gap:2.5px}.menu-close .cd span{width:3.5px;height:3.5px;border-radius:50%;background:#fff}
@media(max-width:900px){.menu-grid{grid-template-columns:1fr 1fr}.pill{gap:14px}}
@media(max-width:520px){.menu-grid{grid-template-columns:1fr}.pill-menu .word{display:none}}

/* page hero */
.phero{padding:160px 0 clamp(40px,6vw,80px)}
.phero h1{font-size:clamp(2.6rem,6.2vw,5rem);font-weight:600;letter-spacing:-.04em;line-height:1.0;max-width:16ch}
.phero h1 .s{color:var(--sage-deep)}
.phero .lead{font-size:clamp(1.1rem,1.6vw,1.34rem);color:var(--ink-dim);max-width:56ch;margin-top:26px}

.sec{padding:clamp(50px,7vw,110px) 0}
.sec.alt{background:var(--paper-2)}
.sec-h{font-size:clamp(1.9rem,3.6vw,3rem);letter-spacing:-.035em;margin-bottom:30px}
.sec .lead{font-size:1.12rem;color:var(--ink-dim);max-width:56ch}

/* service blocks */
.svc-list{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.svc-row{display:grid;grid-template-columns:64px 1.1fr 1.3fr;gap:clamp(16px,4vw,50px);padding:clamp(28px,4vw,46px) 0;border-bottom:1px solid var(--line);align-items:start;scroll-margin-top:110px}
.svc-row .n{font-size:.85rem;font-weight:600;color:var(--sage-deep);padding-top:.3em}
.svc-row h3{font-size:clamp(1.5rem,2.6vw,2.1rem);letter-spacing:-.03em}
.svc-row .d{color:var(--ink-dim);font-size:1.04rem}
.svc-row ul{list-style:none;margin-top:14px;display:flex;flex-direction:column;gap:9px}
.svc-row li{display:flex;gap:10px;font-size:.98rem;color:var(--ink)}
.svc-row li::before{content:"→";color:var(--sage-deep)}
.svc-row .tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.svc-row .tags span{font-size:.78rem;font-weight:560;color:var(--sage-deep);background:rgba(127,152,141,.13);border:1px solid rgba(127,152,141,.28);padding:.3em .8em;border-radius:100px}

/* engagement cards */
.eng{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:24px}
.engc{background:var(--navy);color:#fff;border-radius:18px;padding:34px 30px;display:flex;flex-direction:column;gap:12px}
.engc h3{color:#fff;font-size:1.4rem}.engc p{color:rgba(255,255,255,.75)}
.engc .li{font-size:.95rem;color:rgba(255,255,255,.82)}.engc .btn{align-self:flex-start;margin-top:6px;background:#fff;color:var(--navy)}

/* case grid */
.cases{display:grid;grid-template-columns:1fr 1fr;gap:clamp(26px,4vw,48px)}
.case{display:block}
.case .shot{aspect-ratio:16/11;border-radius:14px;overflow:hidden;background:var(--paper-2);box-shadow:0 30px 70px -42px rgba(27,30,36,.5)}
.case .shot img{width:100%;height:100%;object-fit:cover;object-position:top center;transition:transform .7s var(--ease)}
.case:hover .shot img{transform:scale(1.04)}
.case .n{font-size:.8rem;font-weight:600;letter-spacing:.08em;color:var(--sage-deep);margin-top:16px}
.case h3{font-size:1.5rem;letter-spacing:-.03em;margin-top:6px}
.case .s{font-size:.9rem;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.06em;margin-top:5px}
.case p{color:var(--ink-dim);margin-top:12px;max-width:46ch}

/* pricing table */
.tiers{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.tier{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:30px 26px;display:flex;flex-direction:column;transition:transform .4s,box-shadow .4s}
.tier:hover{transform:translateY(-6px);box-shadow:0 30px 60px -36px rgba(27,30,36,.4)}
.tier.feat{border-color:var(--sage)}
.tier .pop{font-size:.68rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--navy);background:rgba(127,152,141,.25);display:inline-block;padding:.3em .7em;border-radius:100px;margin-bottom:12px}
.tier h3{font-size:1.3rem}.tier .pr{font-size:1.7rem;font-weight:600;margin:6px 0 16px}.tier .pr small{font-size:.78rem;color:var(--ink-dim);font-weight:560;display:block}
.tier ul{list-style:none;display:flex;flex-direction:column;gap:10px;flex:1;margin-bottom:20px}
.tier li{display:flex;gap:9px;font-size:.92rem;color:var(--ink-dim)}.tier li::before{content:"✓";color:var(--sage-deep);font-weight:600}
.retainers{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:24px}
.ret{background:var(--paper-2);border:1px solid var(--line);border-radius:16px;padding:26px}.ret h4{font-size:1.1rem}.ret .pr{font-size:1.3rem;font-weight:600;margin:6px 0 12px}.ret .pr small{font-size:.76rem;color:var(--ink-dim);font-weight:560}
.ret ul{list-style:none;display:flex;flex-direction:column;gap:7px}.ret li{font-size:.92rem;color:var(--ink-dim)}.ret li::before{content:"–";color:var(--sage);margin-right:6px}

/* about */
.founders{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,3vw,36px)}
.fc-card .photo{aspect-ratio:1012/853;border-radius:12px;overflow:hidden;border:1px solid var(--line-2)}
.fc-card .photo img{width:100%;height:100%;object-fit:cover}
.fc-card h3{font-size:1.6rem;margin-top:18px}.fc-card .role{font-size:.84rem;font-weight:560;color:var(--sage-deep);margin-top:6px}.fc-card .loc{font-size:.84rem;color:var(--ink-faint);margin-top:3px}
.fc-card p{color:var(--ink-dim);margin-top:12px;max-width:42ch}
.diffs{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line-2);border:1px solid var(--line-2);border-radius:14px;overflow:hidden;margin-top:10px}
.diff{background:var(--paper);padding:26px}.diff .n{font-size:.72rem;font-weight:600;color:var(--sage-deep);letter-spacing:.1em}.diff h4{font-size:1.2rem;margin:8px 0 5px}.diff p{color:var(--ink-dim);font-size:.95rem}

/* blog */
.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(22px,3vw,36px)}
.post{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:16px;overflow:hidden;transition:transform .4s,box-shadow .4s}
.post:hover{transform:translateY(-6px);box-shadow:0 30px 60px -40px rgba(27,30,36,.4)}
.post .th{aspect-ratio:4/3;background:linear-gradient(135deg,var(--navy),var(--sage));position:relative;overflow:hidden}
.post .th img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.03);transition:filter .5s ease}
.post:hover .th img{filter:none}
.post .b{padding:22px;display:flex;flex-direction:column;gap:8px;flex:1}
.post .cat{font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--sage-deep)}
.post h3{font-size:1.2rem;letter-spacing:-.02em}.post p{color:var(--ink-dim);font-size:.94rem;flex:1}.post .meta{font-size:.82rem;color:var(--ink-faint)}

/* CTA strip */
.ctaband{background:var(--navy);color:#fff;text-align:center;border-radius:24px;padding:clamp(44px,6vw,80px) 30px;margin:0 auto}
.ctaband h2{color:#fff;font-size:clamp(1.9rem,4vw,3rem);letter-spacing:-.03em;max-width:18ch;margin:0 auto 16px}
.ctaband p{color:rgba(255,255,255,.78);max-width:46ch;margin:0 auto 28px}
.ctaband .btn-p{background:#fff;color:var(--navy)}.ctaband .btn-p:hover{background:var(--sage)}

/* footer */
footer{background:var(--paper-2);padding:60px 0 32px;margin-top:0;position:relative;overflow:hidden}
.foot{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:34px;padding-bottom:38px;border-bottom:1px solid var(--line)}
.foot .logo{margin-bottom:14px}.foot p{font-size:.92rem;color:var(--ink-dim);max-width:30ch}
.fc h4{font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--sage-deep);margin-bottom:14px;font-weight:600}
.fc a{display:block;font-size:.92rem;color:var(--ink-dim);margin-bottom:9px;transition:color .3s}.fc a:hover{color:var(--ink)}
.fc .foot-cc{display:block;background:none;border:0;padding:0;font:inherit;font-size:.92rem;color:var(--ink-dim);margin-bottom:9px;cursor:pointer;text-align:left;transition:color .3s}.fc .foot-cc:hover{color:var(--ink)}
/* company-presentation download card (about) */
.dlcard{display:flex;align-items:center;justify-content:space-between;gap:28px 48px;flex-wrap:wrap;background:var(--card);border:1px solid var(--line);border-radius:20px;padding:clamp(28px,4vw,48px)}
.dlcard .dl-txt{flex:1 1 380px;max-width:56ch}
.dlcard h2{font-size:clamp(1.5rem,2.6vw,2rem);letter-spacing:-.025em;margin:10px 0 10px}
.dlcard p{color:var(--ink-dim);line-height:1.6}
.dlcard .dl-btns{display:flex;gap:12px;flex-wrap:wrap}
/* no-JS header fallback — replaced by the pill at runtime */
.nav-fallback{display:flex;align-items:center;justify-content:space-between;padding:18px 0}
.nav-fallback .logo{height:26px;width:auto}
.nav-fallback nav a{margin-left:18px;font-size:.95rem;color:var(--ink-dim)}
.nav-fallback nav a:hover{color:var(--ink)}
.foot-bot{display:flex;justify-content:space-between;align-items:center;padding-top:22px;font-size:.84rem;color:var(--ink-faint);flex-wrap:wrap;gap:14px}
.socials{display:flex;gap:12px}.socials a{width:34px;height:34px;border:1px solid var(--line);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:var(--ink-dim);transition:.3s}.socials a:hover{background:var(--navy);border-color:var(--navy);color:#fff}.socials svg{width:15px;height:15px}

.rv{opacity:1}
html.js .rv{opacity:0;transform:translateY(28px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
html.js .rv.in{opacity:1;transform:none}

@media(max-width:1180px){.lang,.nav-right .btn-g{display:none}}
@media(max-width:980px){
  .nav-links,.nav-right{display:none}.burger{display:flex}
  .eng,.cases,.founders,.diffs,.foot{grid-template-columns:1fr}
  .tiers,.posts{grid-template-columns:1fr 1fr}.retainers{grid-template-columns:1fr}
  .svc-row{grid-template-columns:40px 1fr}.svc-row .d{grid-column:2}
  .foot{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){.tiers,.posts{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html.js .rv{opacity:1;transform:none}}

/* ---- footer legal + cookie settings link ---- */
.foot-legal{font-size:.8rem;color:var(--ink-faint);line-height:1.6;max-width:900px;margin:24px 0 4px}
.foot-legal a{color:var(--ink-dim)}
.fc button.fc-link{display:block;background:none;border:none;padding:0;font-family:inherit;font-size:.92rem;color:var(--ink-dim);margin-bottom:9px;cursor:pointer;text-align:left;transition:color .3s}
.fc button.fc-link:hover{color:var(--ink)}
/* ---- cookie consent (GDPR / Consent Mode v2) ---- */
.cc{position:fixed;left:22px;bottom:22px;z-index:190;width:min(94vw,420px);background:var(--card);border:1px solid var(--line);border-radius:18px;box-shadow:0 30px 70px -26px rgba(27,30,36,.55);padding:22px 22px 20px;transform:translateY(140%);opacity:0;transition:transform .5s var(--ease),opacity .4s var(--ease);visibility:hidden}
.cc.show{transform:none;opacity:1;visibility:visible}
.cc h3{font-size:1.02rem;font-weight:700;color:var(--ink);margin-bottom:7px;letter-spacing:-.01em}
.cc p{font-size:.86rem;line-height:1.55;color:var(--ink-dim);margin-bottom:14px}
.cc a{color:var(--sage-deep);text-decoration:underline;text-underline-offset:2px}
.cc-btns{display:flex;flex-wrap:wrap;gap:9px}
.cc-btn{flex:1 1 auto;min-width:120px;padding:11px 16px;border-radius:100px;font-family:inherit;font-size:.85rem;font-weight:600;cursor:pointer;border:1.5px solid var(--navy);transition:background .25s,color .25s,transform .25s;text-align:center}
.cc-btn:hover{transform:translateY(-2px)}
.cc-accept{background:var(--navy);color:#fff}
.cc-accept:hover{background:var(--sage-deep);border-color:var(--sage-deep)}
.cc-reject{background:var(--paper-2);color:var(--navy)}
.cc-reject:hover{background:var(--line);border-color:var(--navy)}
.cc-more{flex:1 1 100%;background:none;border:none;color:var(--ink-faint);font-family:inherit;font-size:.8rem;font-weight:600;cursor:pointer;text-decoration:underline;text-underline-offset:2px;margin-top:2px;padding:4px}
.cc-more:hover{color:var(--sage-deep)}
.cc-cats{margin:2px 0 14px;border-top:1px solid var(--line-2);border-bottom:1px solid var(--line-2)}
.cc-cat{display:flex;align-items:flex-start;gap:12px;padding:13px 0;border-bottom:1px solid var(--line-2)}
.cc-cat:last-child{border-bottom:none}
.cc-cat .cc-info{flex:1}
.cc-cat b{display:block;font-size:.85rem;color:var(--ink);font-weight:700;margin-bottom:2px}
.cc-cat span{font-size:.78rem;line-height:1.45;color:var(--ink-faint)}
.cc-sw{position:relative;width:40px;height:23px;flex:none;margin-top:2px}
.cc-sw input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}
.cc-track{position:absolute;inset:0;background:var(--line);border-radius:100px;transition:background .25s}
.cc-track::after{content:"";position:absolute;top:2px;left:2px;width:19px;height:19px;background:#fff;border-radius:50%;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform .25s}
.cc-sw input:checked~.cc-track{background:var(--sage-deep)}
.cc-sw input:checked~.cc-track::after{transform:translateX(17px)}
.cc-sw input:disabled{cursor:not-allowed}
.cc-sw input:disabled~.cc-track{background:var(--sage);opacity:.65}
.cc-hide{display:none}
@media(prefers-reduced-motion:reduce){.cc{transition:opacity .3s}.cc-btn:hover{transform:none}}
@media(max-width:520px){.cc{left:10px;right:10px;bottom:10px;width:auto;padding:18px 16px 16px}}

/* v49 · facet decor system — design-council directive.
   Rules: warm (sage) tints only on light surfaces; navy/black tints only inside navy bands;
   no hard shape edge may land on an internal section seam (gradient fades / solid bridge wedges);
   one sage thread per page: hero → CTA band → footer terminus. */
.fx-decor{position:absolute;pointer-events:none;z-index:0;display:block}
.fx-tr{top:0;right:0;width:min(44vw,640px);height:auto}
.fx-tl{top:0;left:0;width:min(44vw,640px);height:auto;transform:scaleX(-1)}
.fx-bl{bottom:0;left:0;width:min(19vw,260px);height:auto}
.fx-fill{inset:0;width:100%;height:100%}
.fx-seam{position:relative;height:0;overflow:visible;pointer-events:none;z-index:2}
.fx-seam svg{position:absolute;top:-1px;height:auto;display:block}
.fx-seam.l svg{left:0;width:min(38vw,560px)}
.fx-seam.r svg{right:0;width:min(38vw,560px);transform:scaleX(-1)}
.fx-pass{position:absolute;pointer-events:none;z-index:0}
footer .fx-foot{position:absolute;bottom:0;left:0;width:min(32vw,460px);height:auto;pointer-events:none}
footer>.wrap{position:relative;z-index:1}
.phero,.about-hero,.shero{position:relative;overflow:hidden}
.phero>.wrap,.about-hero>.wrap,.shero>.wrap{position:relative;z-index:1}
.ctaband{position:relative;overflow:hidden}
.ctaband>h2,.ctaband>p,.ctaband>.btn{position:relative;z-index:1}
@media(max-width:900px){.fx-decor,.fx-pass{display:none}footer .fx-foot{width:56vw}}
