:root{--bg:#f5f0e6;--sur:#faf6ec;--ink:#2a2418;--i2:#5c5240;--i3:#8a7f6a;--bdr:#e0d6c4;--b2:#cbbfa8;--teal:#2d5d52;--td:#234a41;--tlt:#ebe2d1;--gold:#8b6f3a;--sh:0 4px 24px rgba(42,36,24,.10);--t:.18s ease;--accent:#8b6f3a;--accent-deep:#6b5028;--paper:#faf6ec;--bgwarm:#ede4d2}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{-webkit-font-smoothing:antialiased}
body{background:var(--bg);color:var(--ink);font-family:'DM Sans',sans-serif;overflow-x:hidden}
button{cursor:pointer;font-family:inherit;border:none;background:none}
/* PAGE SYSTEM */
.page{display:none}
.page.active{display:block;animation:pgIn .3s ease}
@keyframes pgIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:900;height:60px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;background:rgba(247,246,242,.96);backdrop-filter:blur(20px);border-bottom:1px solid var(--bdr);transition:box-shadow var(--t)}
nav.up{box-shadow:var(--sh)}
.logo{display:flex;align-items:baseline;gap:0;cursor:pointer;line-height:1}
.logo-t{font-family:'Fraunces',serif;font-size:1.55rem;font-weight:600;color:var(--ink);letter-spacing:-.04em;line-height:1}
.logo-s{font-family:'Fraunces',serif;font-size:.7rem;font-weight:300;color:var(--teal);vertical-align:super;letter-spacing:0;margin-left:1px;position:relative;top:-.55em}
.pills{display:flex;gap:4px}
.np{padding:7px 14px;border-radius:3px;font-size:.82rem;font-weight:500;color:var(--i3);transition:all var(--t)}
.np:hover,.np.on{color:var(--ink);background:var(--bdr);font-weight:600}
.nav-r{display:flex;align-items:center;gap:12px}
.nbk{display:flex;align-items:center;gap:6px;padding:8px 16px;background:var(--teal);color:#fff;border-radius:3px;font-size:.82rem;font-weight:600;transition:background var(--t)}
.nbk:hover{background:var(--td)}
.hmb{display:none;flex-direction:column;gap:4px;padding:4px;cursor:pointer}
.hmb span{display:block;width:22px;height:2px;background:var(--ink);border-radius:2px}
.mmenu{display:none;position:fixed;top:60px;left:0;right:0;background:var(--sur);border-bottom:1px solid var(--bdr);padding:16px 5vw 20px;z-index:899;box-shadow:var(--sh)}
.mmenu.open{display:block}
.mmenu a{display:block;padding:12px 0;font-size:.95rem;font-weight:500;color:var(--ink);border-bottom:1px solid var(--bdr);cursor:pointer}
.mmenu a:last-of-type{border:none}
.mcta{margin-top:14px;width:100%;padding:13px;background:var(--teal);color:#fff;border-radius:4px;font-weight:600;font-size:.92rem}
/* LAYOUT */
.sec{padding:72px 5vw;max-width:1380px;margin:0 auto}
.label{font-family:'JetBrains Mono',monospace;font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:var(--teal)}
.shd{display:grid;grid-template-columns:1fr 1fr;gap:3rem;margin-bottom:48px;align-items:start}
.shd h2{font-family:'Fraunces',serif;font-size:clamp(1.8rem,3vw,2.8rem);font-weight:700;letter-spacing:-.02em;line-height:1.12;margin-top:1rem}
.shd h2 em{font-style:italic;color:var(--teal)}
.shd-r p{font-size:.95rem;color:var(--i2);line-height:1.82}
/* PAGE HERO */
.ph{background:var(--ink);padding:80px 5vw 60px;margin-top:60px}
.ph .label{color:rgba(255,255,255,.4);margin-bottom:1rem}
.ph h1{font-family:'Fraunces',serif;font-size:clamp(2.4rem,5vw,4rem);font-weight:700;color:#fff;letter-spacing:-.025em;line-height:1.06;margin-bottom:1rem}
.ph h1 em{font-style:italic;color:#cfa961}
.ph p{font-size:.98rem;color:rgba(255,255,255,.6);max-width:560px;line-height:1.82}
.ph-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
/* REVEAL */
.rev{opacity:0;transform:translateY(14px);transition:opacity .5s ease,transform .5s ease}
.rev.vis{opacity:1;transform:none}
.d1{transition-delay:.08s}.d2{transition-delay:.16s}.d3{transition-delay:.24s}
/* BUTTONS */
.bteal{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;background:var(--teal);color:#fff;border-radius:3px;font-size:.9rem;font-weight:600;transition:background var(--t),transform var(--t)}
.bteal:hover{background:var(--td);transform:translateY(-1px)}
.bdark{display:inline-flex;align-items:center;gap:8px;padding:11px 22px;background:var(--ink);color:#fff;border-radius:3px;font-size:.88rem;font-weight:600;transition:opacity var(--t)}
.bdark:hover{opacity:.82}
.bghost{display:inline-flex;align-items:center;gap:8px;padding:11px 22px;border:1.5px solid var(--b2);color:var(--ink);border-radius:3px;font-size:.88rem;font-weight:500;transition:border-color var(--t)}
.bghost:hover{border-color:var(--ink)}
/* HOME HERO */
.hwrap{margin-top:60px;min-height:calc(100vh - 60px);display:grid;grid-template-columns:1fr 420px}
.hcopy{padding:72px 5vw;display:flex;flex-direction:column;justify-content:center}
.eyebrow{font-family:'JetBrains Mono',monospace;font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--teal);display:flex;align-items:center;gap:.7rem;margin-bottom:1.6rem}
.eyebrow::before{content:'';width:16px;height:1px;background:var(--teal)}
.hh1{font-family:'Fraunces',serif;font-size:clamp(2.8rem,5vw,5.2rem);font-weight:700;line-height:1.04;letter-spacing:-.028em;margin-bottom:1.4rem}
.hh1 em{font-style:italic;color:var(--teal)}
.hsub{font-size:1.02rem;color:var(--i2);line-height:1.82;max-width:500px;margin-bottom:2rem}
.hbtns{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:2.4rem}
.htrust{display:flex;align-items:center;gap:20px;padding:16px 0;border-top:1px solid var(--bdr);flex-wrap:wrap}
.htrust-ln{width:1px;height:36px;background:var(--b2)}
.htrust-t{font-size:.78rem;color:var(--i3);line-height:1.5}
.htrust-t strong{display:block;color:var(--ink);font-size:.84rem}
.stars{color:var(--gold);font-size:.74rem;letter-spacing:2px}
/* HERO DASH */
.hdash{background:var(--ink);display:flex;align-items:center;justify-content:center;padding:40px 28px;position:relative;overflow:hidden}
.hdash::before{content:'';position:absolute;top:-80px;right:-80px;width:320px;height:320px;background:radial-gradient(circle,rgba(45,93,82,.18) 0%,transparent 65%)}
.dcard{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:20px;width:100%;max-width:340px;position:relative;z-index:1}
.dtop{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.dtl{font-family:'JetBrains Mono',monospace;font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.4)}
.pulse{width:7px;height:7px;border-radius:50%;background:#cfa961;animation:pulse 2s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.3}}
.dstats{display:flex;gap:10px;margin-bottom:12px}
.ds{flex:1;background:rgba(255,255,255,.04);border-radius:5px;padding:12px;text-align:center}
.dsn{font-family:'Fraunces',serif;font-size:1.5rem;font-weight:700;color:#fff}
.dsl{font-family:'JetBrains Mono',monospace;font-size:.52rem;color:rgba(255,255,255,.4);margin-top:2px}
.mini{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;background:rgba(255,255,255,.03);border-radius:4px;margin-bottom:4px;border:1px solid rgba(255,255,255,.05)}
.mml{display:flex;align-items:center;gap:8px}
.md{width:6px;height:6px;border-radius:50%;background:#cfa961}
.md.am{background:#F59E0B}.md.bl{background:#3B82F6}
.mn{font-family:'JetBrains Mono',monospace;font-size:.6rem;color:rgba(255,255,255,.55)}
.mb{font-family:'JetBrains Mono',monospace;font-size:.55rem;color:#cfa961;background:rgba(110,229,212,.1);padding:2px 7px;border-radius:20px}
.mb.or{color:#F59E0B;background:rgba(245,158,11,.1)}.mb.bl{color:#93C5FD;background:rgba(147,197,253,.1)}
/* CLIENT BAND */
.cband{background:var(--sur);border-bottom:1px solid var(--bdr);padding:14px 5vw}
.cband-in{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:center}
.clbl{font-family:'JetBrains Mono',monospace;font-size:.56rem;letter-spacing:.13em;text-transform:uppercase;color:var(--i3);margin-right:6px}
.cnm{font-family:'Fraunces',serif;font-size:.92rem;font-weight:700;color:var(--i2)}
.cdot{color:var(--b2)}
/* TICKER */
.tkw{background:var(--ink);overflow:hidden;padding:9px 0}
.tkin{display:flex;white-space:nowrap;animation:ticker 38s linear infinite}
.tkin span{font-family:'JetBrains Mono',monospace;font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.45);padding:0 1.1rem}
.tkin .dot{color:var(--teal)}
@keyframes ticker{from{transform:translateX(0)}to{transform:translateX(-50%)}}
/* STATS */
.sbar{display:grid;grid-template-columns:repeat(4,1fr);background:var(--bdr);gap:1px}
.si{background:var(--sur);padding:24px;text-align:center}
.sbn{font-family:'Fraunces',serif;font-size:2.2rem;font-weight:700;color:var(--ink);display:block}
.sbl{font-size:.78rem;color:var(--i3);margin-top:4px}
/* SERVICES */
.sgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.svc{background:var(--sur);border:1px solid var(--bdr);border-radius:6px;padding:24px;transition:box-shadow var(--t),transform var(--t),border-color var(--t)}
.svc:hover{box-shadow:var(--sh);transform:translateY(-2px);border-color:var(--teal)}
.sico{width:40px;height:40px;background:var(--tlt);border-radius:6px;display:flex;align-items:center;justify-content:center;margin-bottom:14px;color:var(--teal)}
.svc h3{font-family:'Fraunces',serif;font-size:1.05rem;font-weight:700;margin-bottom:8px}
.svc p{font-size:.84rem;color:var(--i2);line-height:1.72;margin-bottom:12px}
.stags{display:flex;flex-wrap:wrap;gap:4px}
.stag{font-family:'JetBrains Mono',monospace;font-size:.52rem;padding:2px 8px;border-radius:20px;background:var(--tlt);color:var(--teal);border:1px solid rgba(45,93,82,.2)}
/* PM BAND */
.pmb{background:var(--ink);padding:72px 5vw}
.pmbi{max-width:1380px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
.pmbc h2{font-family:'Fraunces',serif;font-size:clamp(1.8rem,3vw,2.8rem);font-weight:700;color:#fff;letter-spacing:-.022em;line-height:1.12;margin-bottom:1rem}
.pmbc h2 em{font-style:italic;color:#cfa961}
.pmbc p{font-size:.95rem;color:rgba(255,255,255,.6);line-height:1.82;margin-bottom:1.8rem}
.pmmodes{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.pmm{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:5px;padding:14px}
.pmm h4{font-size:.86rem;font-weight:600;color:#fff;margin-bottom:4px}
.pmm p{font-size:.78rem;color:rgba(255,255,255,.5);line-height:1.6}
/* CASES */
.cgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.case{background:var(--sur);border:1px solid var(--bdr);border-radius:6px;overflow:hidden;display:flex;flex-direction:column}
.cset{padding:24px;flex:1}
.csec{font-family:'JetBrains Mono',monospace;font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;color:var(--teal);background:var(--tlt);padding:3px 10px;border-radius:20px;display:inline-block;margin-bottom:10px}
.case h3{font-family:'Fraunces',serif;font-size:.95rem;font-weight:700;line-height:1.35;margin-bottom:10px}
.case p{font-size:.83rem;color:var(--i2);line-height:1.75}
.cbot{padding:14px 24px;background:var(--bg);border-top:1px solid var(--bdr);display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
.cres{font-size:.78rem;font-weight:600;color:var(--teal)}
.ctype{font-family:'JetBrains Mono',monospace;font-size:.56rem;color:var(--i3)}
/* PHILOSOPHY */
.phil{background:var(--teal);padding:48px 5vw;text-align:center}
.phil blockquote{font-family:'Fraunces',serif;font-style:italic;font-size:clamp(1.2rem,2.5vw,1.8rem);color:#fff;line-height:1.5;max-width:700px;margin:0 auto}
.phil cite{font-family:'JetBrains Mono',monospace;font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.5);display:block;margin-top:16px}
/* TESTIMONIALS */
.tgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.tc{background:var(--sur);border:1px solid var(--bdr);border-radius:6px;padding:22px}
.tcst{color:var(--gold);font-size:.72rem;letter-spacing:2px;margin-bottom:10px}
.tc blockquote{font-family:'Fraunces',serif;font-style:italic;font-size:.9rem;color:var(--i2);line-height:1.7;margin-bottom:14px}
.tca{font-size:.84rem;font-weight:600}
.tcr{font-size:.75rem;color:var(--i3);margin-top:2px}
/* FAQ */
.faq{max-width:760px;margin:0 auto}
.fi{border-bottom:1px solid var(--bdr);cursor:pointer}
.fq{padding:18px 0;display:flex;justify-content:space-between;align-items:center;font-weight:600;font-size:.92rem;gap:12px}
.ficon{width:24px;height:24px;border-radius:50%;border:1.5px solid var(--b2);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:1rem;color:var(--i3);transition:all var(--t)}
.fi.open .ficon{background:var(--teal);border-color:var(--teal);color:#fff;transform:rotate(45deg)}
.fb{display:none;padding:0 0 16px;font-size:.88rem;color:var(--i2);line-height:1.78}
.fi.open .fb{display:block}
/* HOME CTA */
.hcta{background:var(--ink);padding:72px 5vw;text-align:center;position:relative;overflow:hidden}
.hcta::before{content:'';position:absolute;top:-80px;left:50%;transform:translateX(-50%);width:500px;height:300px;background:radial-gradient(ellipse,rgba(45,93,82,.15) 0%,transparent 60%);pointer-events:none}
.hcta-i{position:relative;z-index:1;max-width:600px;margin:0 auto}
.hcta h2{font-family:'Fraunces',serif;font-size:clamp(2rem,4vw,3.2rem);font-weight:700;color:#fff;letter-spacing:-.022em;line-height:1.1;margin-bottom:.9rem}
.hcta h2 em{font-style:italic;color:#cfa961}
.hcta p{font-size:.96rem;color:rgba(255,255,255,.6);line-height:1.78;margin-bottom:2rem}
.hctabtns{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
/* FOOTER */
footer{background:#211c12}
.ft{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:2rem;padding:48px 5vw 32px;max-width:1380px;margin:0 auto}
.fbn{font-family:'Fraunces',serif;font-size:1.55rem;font-weight:600;color:#fff;margin-bottom:8px;letter-spacing:-.04em;line-height:1;display:inline-block}
.fbn span{color:var(--teal);vertical-align:super;font-size:.7rem;font-family:'Fraunces',serif;font-weight:300;position:relative;top:-.55em;margin-left:1px}
.fb p{font-size:.84rem;color:rgba(255,255,255,.35);line-height:1.7}
.fc h4{font-family:'JetBrains Mono',monospace;font-size:.57rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.25);margin-bottom:14px}
.fc ul{list-style:none;display:flex;flex-direction:column;gap:7px}
.fc a{font-size:.85rem;color:rgba(255,255,255,.4);transition:color var(--t);cursor:pointer}
.fc a:hover{color:#fff}
.fbot{border-top:1px solid rgba(255,255,255,.06);padding:16px 5vw;display:flex;justify-content:space-between;font-family:'JetBrains Mono',monospace;font-size:.56rem;color:rgba(255,255,255,.2);max-width:1380px;margin:0 auto;width:100%}
/* METHODOLOGY */
.pblk{display:grid;grid-template-columns:70px 1fr;border:1px solid var(--bdr);border-radius:5px;background:var(--sur);overflow:hidden;margin-bottom:3px;transition:box-shadow var(--t),transform var(--t)}
.pblk:hover{box-shadow:var(--sh);transform:translateY(-1px)}
.pnc{background:var(--bg);border-right:1px solid var(--bdr);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px 8px;gap:4px}
.pord{font-family:'JetBrains Mono',monospace;font-size:.44rem;letter-spacing:.1em;text-transform:uppercase;color:var(--i3)}
.pbig{font-family:'Fraunces',serif;font-size:1.8rem;font-weight:700;color:var(--b2)}
.pmain{padding:22px 28px}
.ptrow{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.ptit{font-family:'Fraunces',serif;font-size:1.4rem;font-weight:700}
.psub{font-family:'JetBrains Mono',monospace;font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;color:var(--teal);background:var(--tlt);padding:3px 10px;border-radius:20px}
.pdesc{font-size:.88rem;color:var(--i2);line-height:1.8;margin-bottom:14px}
.psgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--bdr);border-radius:4px;overflow:hidden}
.pstep{background:var(--sur);padding:14px 12px}
.pstep:hover{background:var(--tlt)}
.psn{font-family:'JetBrains Mono',monospace;font-size:.52rem;color:var(--teal);background:var(--tlt);width:18px;height:18px;border-radius:3px;display:flex;align-items:center;justify-content:center;margin-bottom:8px}
.pstep h5{font-size:.8rem;font-weight:600;margin-bottom:3px}
.pstep p{font-size:.75rem;color:var(--i3);line-height:1.55}
.modes{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.mcard{background:var(--sur);border:1px solid var(--bdr);border-radius:6px;padding:24px;position:relative}
.mcard.feat{border-color:var(--teal);box-shadow:0 0 0 1px var(--teal)}
.mcard.feat::before{content:'Most Popular';position:absolute;top:-1px;right:20px;background:var(--teal);color:#fff;font-family:'JetBrains Mono',monospace;font-size:.52rem;letter-spacing:.1em;padding:3px 10px;border-radius:0 0 4px 4px}
.mico{width:38px;height:38px;background:var(--tlt);border-radius:5px;display:flex;align-items:center;justify-content:center;margin-bottom:12px;color:var(--teal)}
.mcard h3{font-family:'Fraunces',serif;font-size:1rem;font-weight:700;margin-bottom:8px}
.mcard p{font-size:.84rem;color:var(--i2);line-height:1.7;margin-bottom:12px}
.mlist{list-style:none;display:flex;flex-direction:column;gap:5px}
.mlist li{font-size:.82rem;color:var(--i2);display:flex;align-items:center;gap:7px}
.mlist li::before{content:'';width:5px;height:5px;border-radius:50%;background:var(--teal);flex-shrink:0}
/* SERVICES PAGE */
.alist{max-width:1100px;margin:0 auto;display:flex;flex-direction:column;gap:2px}
.ai{background:var(--sur);border:1px solid var(--bdr);border-radius:5px;overflow:hidden;cursor:pointer}
.ahd{display:flex;align-items:center;gap:16px;padding:18px 22px}
.anum{font-family:'JetBrains Mono',monospace;font-size:.58rem;letter-spacing:.1em;color:var(--teal)}
.atit{font-weight:600;font-size:.94rem;flex:1}
.atog{width:24px;height:24px;border-radius:50%;border:1.5px solid var(--b2);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:1rem;color:var(--i3);transition:all var(--t)}
.ai.open .atog{background:var(--teal);border-color:var(--teal);color:#fff;transform:rotate(45deg)}
.abody{display:none;padding:20px 22px;border-top:1px solid var(--bdr)}
.ai.open .abody{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
.abl{font-size:.88rem;color:var(--i2);line-height:1.8}
.abr{list-style:none;display:flex;flex-direction:column;gap:6px}
.abr li{font-size:.84rem;color:var(--i2);display:flex;align-items:center;gap:8px}
.abr li::before{content:'';width:4px;height:4px;border-radius:50%;background:var(--teal);flex-shrink:0}
/* TEAM / ABOUT - Premium circular photo style */
.tcard{background:var(--sur);border:1px solid var(--bdr);border-radius:12px;padding:32px 36px;margin-bottom:24px;display:grid;grid-template-columns:auto 1fr;gap:32px;align-items:start}
.tpp{display:flex;flex-direction:column;align-items:center;width:160px;flex-shrink:0}
.tphoto-wrap{width:140px;height:140px;border-radius:50%;overflow:hidden;border:3px solid var(--teal);box-shadow:0 0 0 6px rgba(45,93,82,.1),0 8px 32px rgba(0,0,0,.12);margin-bottom:14px;flex-shrink:0}
.tphoto-wrap img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}
.tnm{font-family:'Fraunces',serif;font-size:1rem;font-weight:700;color:var(--ink);text-align:center;line-height:1.3}
.trl{font-family:'JetBrains Mono',monospace;font-size:.52rem;letter-spacing:.1em;text-transform:uppercase;color:var(--teal);text-align:center;margin-top:4px;margin-bottom:10px;line-height:1.4}
.tcrd{font-family:'JetBrains Mono',monospace;font-size:.48rem;padding:3px 8px;border-radius:3px;border:1px solid var(--bdr);color:var(--i3);display:block;margin-bottom:4px;text-align:center}
.tcont{padding:0}
.tbio{font-size:.9rem;color:var(--i2);line-height:1.82;margin-bottom:24px}
.tmlbl{font-family:'JetBrains Mono',monospace;font-size:.55rem;letter-spacing:.13em;text-transform:uppercase;color:var(--i3);margin-bottom:14px}
.tmline{border-left:2px solid var(--bdr);margin-left:8px}
.tmi{position:relative;padding:0 0 20px 22px}
.tmi:last-child{padding-bottom:0}
.tmd{position:absolute;left:-7px;top:3px;width:12px;height:12px;border-radius:50%;background:var(--teal);border:2px solid var(--sur)}
.tmd.g{background:var(--b2)}
.tmdt{font-family:'JetBrains Mono',monospace;font-size:.56rem;letter-spacing:.06em;color:var(--teal);margin-bottom:3px}
.tmdt.g{color:var(--i3)}
.tmro{font-weight:700;font-size:.88rem;margin-bottom:4px}
.tmdesc{font-size:.79rem;color:var(--i3);line-height:1.65;margin-bottom:7px}
.tmtags{display:flex;flex-wrap:wrap;gap:4px}
.tmt{font-family:'JetBrains Mono',monospace;font-size:.5rem;padding:2px 7px;border-radius:20px;background:var(--tlt);color:var(--teal);border:1px solid rgba(45,93,82,.2)}
.tmt.g{background:var(--bg);color:var(--i3);border-color:var(--bdr)}
/* TEAM PAGE - supporting cast */
.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.team-card{background:var(--sur);border:1px solid var(--bdr);border-radius:12px;padding:28px 24px;text-align:center;transition:box-shadow var(--t),transform var(--t)}
.team-card:hover{box-shadow:0 8px 32px rgba(0,0,0,.1);transform:translateY(-3px)}
.tc-photo{width:100px;height:100px;border-radius:50%;overflow:hidden;border:3px solid var(--teal);box-shadow:0 0 0 5px rgba(45,93,82,.08),0 6px 20px rgba(0,0,0,.1);margin:0 auto 16px}
.tc-photo img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}
.tc-name{font-family:'Fraunces',serif;font-size:1rem;font-weight:700;margin-bottom:4px}
.tc-role{font-family:'JetBrains Mono',monospace;font-size:.52rem;letter-spacing:.1em;text-transform:uppercase;color:var(--teal);margin-bottom:12px}
.tc-bio{font-size:.83rem;color:var(--i2);line-height:1.72;margin-bottom:14px}
.tc-tags{display:flex;flex-wrap:wrap;gap:4px;justify-content:center}
.tc-tag{font-family:'JetBrains Mono',monospace;font-size:.48rem;padding:2px 7px;border-radius:20px;background:var(--tlt);color:var(--teal);border:1px solid rgba(45,93,82,.2)}
/* VALUES */
.vgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:48px}
.vc{background:var(--sur);border:1px solid var(--bdr);border-radius:6px;padding:22px}
.vcn{font-family:'Fraunces',serif;font-size:1.4rem;font-weight:700;color:var(--b2);margin-bottom:10px}
.vc h4{font-size:.92rem;font-weight:600;margin-bottom:6px}
.vc p{font-size:.82rem;color:var(--i2);line-height:1.7}
/* LOGO CHIPS */
.lband{border:1px solid var(--bdr);border-radius:8px;background:var(--bg);padding:26px 36px}
.llbl{font-family:'JetBrains Mono',monospace;font-size:.58rem;letter-spacing:.16em;text-transform:uppercase;color:var(--i3);text-align:center;margin-bottom:18px}
.lgrid{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px}
.lchip{font-family:'Fraunces',serif;font-size:.95rem;font-weight:700;color:var(--i2);padding:7px 16px;background:var(--sur);border:1px solid var(--bdr);border-radius:4px;transition:border-color var(--t),color var(--t);cursor:default}
.lchip:hover{border-color:var(--teal);color:var(--teal)}
/* BOOKING */
.bwrap{display:grid;grid-template-columns:1fr 400px;gap:3rem;align-items:start;padding:48px 5vw;max-width:1380px;margin:0 auto}
.stlist{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:20px}
.stype{background:var(--bg);border:1.5px solid var(--bdr);border-radius:5px;padding:12px 14px;cursor:pointer;transition:all var(--t);text-align:left}
.stype:hover,.stype.on{border-color:var(--teal);background:var(--tlt)}
.stype h5{font-size:.84rem;font-weight:600;margin-bottom:2px}
.stype span{font-family:'JetBrains Mono',monospace;font-size:.56rem;color:var(--i3)}
.stype.on span{color:var(--teal)}
.bfc{background:var(--sur);border:1px solid var(--bdr);border-radius:8px;overflow:hidden;position:sticky;top:78px}
.bfct{background:var(--teal);padding:20px 22px}
.bfctag{font-family:'JetBrains Mono',monospace;font-size:.56rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.6);margin-bottom:5px}
.bfcttl{font-family:'Fraunces',serif;font-size:1.2rem;font-weight:700;color:#fff}
.bfcsub{font-size:.8rem;color:rgba(255,255,255,.6);margin-top:3px}
.bkprog{height:2px;background:rgba(0,0,0,.06)}
.bkpf{height:100%;background:rgba(255,255,255,.5);transition:width .3s ease;width:33%}
.btabs{display:flex;border-bottom:1px solid var(--bdr)}
.btab{flex:1;padding:9px 4px;text-align:center;font-family:'JetBrains Mono',monospace;font-size:.54rem;letter-spacing:.06em;color:var(--i3);border-bottom:2px solid transparent;transition:all var(--t)}
.btab.act{color:var(--ink);border-color:var(--ink)}.btab.dn{color:var(--teal);border-color:var(--teal)}
.bfcb{padding:18px 20px}
.cnav{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.cmth{font-size:.86rem;font-weight:600}
.carrs{display:flex;gap:3px}
.carr{width:26px;height:26px;border:1px solid var(--bdr);border-radius:4px;display:flex;align-items:center;justify-content:center;background:var(--bg);cursor:pointer;transition:border-color var(--t)}
.carr:hover{border-color:var(--ink)}
.cdow{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:2px}
.cdow span{text-align:center;font-family:'JetBrains Mono',monospace;font-size:.52rem;color:var(--i3);padding:2px 0}
.ccells{display:grid;grid-template-columns:repeat(7,1fr);gap:1px}
.cc{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:.75rem;border-radius:3px;border:1px solid transparent;position:relative}
.cc.av{cursor:pointer}.cc.av:hover{background:var(--bg);border-color:var(--bdr)}
.cc.td{font-weight:700;color:var(--teal)}
.cc.av::after{content:'';position:absolute;bottom:2px;left:50%;transform:translateX(-50%);width:3px;height:3px;border-radius:50%;background:var(--teal)}
.cc.sel{background:var(--teal);color:#fff;border-color:var(--teal);font-weight:600}
.cc.past{color:var(--b2)}
.slots{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin-bottom:12px}
.slotb{padding:7px;text-align:center;border:1px solid var(--bdr);background:var(--bg);border-radius:4px;font-family:'JetBrains Mono',monospace;font-size:.62rem;color:var(--i2);cursor:pointer;transition:all var(--t)}
.slotb:hover:not(.unav){border-color:var(--teal);color:var(--teal);background:var(--tlt)}
.slotb.sel{background:var(--teal);border-color:var(--teal);color:#fff}
.slotb.unav{color:var(--b2);cursor:not-allowed}
.fg{display:flex;flex-direction:column;gap:4px;margin-bottom:9px}
.fg label{font-family:'JetBrains Mono',monospace;font-size:.52rem;letter-spacing:.1em;text-transform:uppercase;color:var(--i3)}
.fg input,.fg select,.fg textarea{padding:9px 11px;border:1px solid var(--bdr);border-radius:4px;background:var(--bg);font-family:'DM Sans',sans-serif;font-size:.86rem;color:var(--ink);outline:none;transition:border-color var(--t),box-shadow var(--t)}
.fg input:focus,.fg select:focus,.fg textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(45,93,82,.1)}
.fg textarea{resize:vertical;min-height:56px}
.fr2{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.bksum{background:var(--bg);border-top:1px solid var(--bdr);padding:12px 20px}
.srow{display:flex;justify-content:space-between;font-size:.77rem;margin-bottom:3px}
.sl{color:var(--i3)}.sv{font-weight:600;color:var(--ink)}
.bkbtn{width:100%;padding:13px;background:var(--teal);color:#fff;border-radius:4px;font-weight:700;font-size:.9rem;margin-top:10px;display:flex;align-items:center;justify-content:center;gap:7px;transition:background var(--t)}
.bkbtn:hover{background:var(--td)}
.bkback{font-size:.75rem;color:var(--i3);padding:5px 0;display:block;margin-top:6px;cursor:pointer}
.bkback:hover{color:var(--ink)}
.conf{padding:28px 20px;text-align:center}
.cring{width:50px;height:50px;background:var(--teal);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;animation:popIn .4s ease}
@keyframes popIn{from{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}
.conf h3{font-family:'Fraunces',serif;font-size:1.2rem;font-weight:700;margin-bottom:7px}
.conf p{font-size:.83rem;color:var(--i2);line-height:1.7;max-width:260px;margin:0 auto}
.cdet{background:var(--tlt);border:1px solid rgba(45,93,82,.18);border-radius:5px;padding:12px;margin:14px 0;text-align:left}
.cdr{display:flex;justify-content:space-between;font-size:.78rem;padding:2px 0}
.cdl{color:var(--i3)}.cdv{font-weight:600;color:var(--teal)}
/* CHAT WIDGET */
.chat-fab{position:fixed;bottom:28px;right:28px;width:56px;height:56px;background:var(--teal);border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px rgba(45,93,82,.4);z-index:800;cursor:pointer;transition:transform var(--t),box-shadow var(--t)}
.chat-fab:hover{transform:scale(1.08);box-shadow:0 6px 28px rgba(45,93,82,.5)}
.chat-panel{position:fixed;bottom:96px;right:28px;width:360px;height:520px;background:var(--sur);border-radius:12px;box-shadow:0 28px 72px rgba(0,0,0,.15);z-index:800;display:none;flex-direction:column;overflow:hidden;border:1px solid var(--bdr)}
.chat-panel.open{display:flex}
.chat-hd{background:var(--ink);padding:16px 18px;display:flex;align-items:center;gap:12px}
.chat-av{width:36px;height:36px;border-radius:50%;background:var(--teal);display:flex;align-items:center;justify-content:center;font-family:'Fraunces',serif;font-size:.9rem;font-weight:700;color:#fff;flex-shrink:0}
.chat-hd-info h4{font-size:.88rem;font-weight:600;color:#fff}
.chat-hd-info p{font-family:'JetBrains Mono',monospace;font-size:.52rem;letter-spacing:.08em;color:rgba(255,255,255,.4);margin-top:1px}
.chat-close{margin-left:auto;color:rgba(255,255,255,.4);font-size:1.4rem;line-height:1;cursor:pointer;transition:color var(--t)}
.chat-close:hover{color:#fff}
.chat-msgs{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:10px}
.chat-msgs::-webkit-scrollbar{width:4px}
.chat-msgs::-webkit-scrollbar-thumb{background:var(--b2);border-radius:2px}
.msg{max-width:85%}
.msg.bot{align-self:flex-start}
.msg.user{align-self:flex-end}
.msg-bub{padding:10px 13px;border-radius:10px;font-size:.84rem;line-height:1.6}
.msg.bot .msg-bub{background:var(--bg);border:1px solid var(--bdr);color:var(--ink);border-radius:3px 10px 10px 10px}
.msg.user .msg-bub{background:var(--teal);color:#fff;border-radius:10px 3px 10px 10px}
.msg-time{font-family:'JetBrains Mono',monospace;font-size:.5rem;color:var(--i3);margin-top:3px;padding:0 2px}
.msg.user .msg-time{text-align:right}
.typing{display:flex;gap:4px;align-items:center;padding:10px 13px;background:var(--bg);border:1px solid var(--bdr);border-radius:3px 10px 10px 10px;width:fit-content}
.ty-dot{width:6px;height:6px;border-radius:50%;background:var(--b2);animation:ty .9s ease infinite}
.ty-dot:nth-child(2){animation-delay:.2s}.ty-dot:nth-child(3){animation-delay:.4s}
@keyframes ty{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px);background:var(--teal)}}
.chat-sugs{padding:0 14px 10px;display:flex;flex-wrap:wrap;gap:5px}
.chat-sug{font-size:.75rem;padding:5px 10px;border:1px solid var(--bdr);border-radius:20px;background:var(--bg);color:var(--i2);cursor:pointer;transition:all var(--t);white-space:nowrap}
.chat-sug:hover{border-color:var(--teal);color:var(--teal);background:var(--tlt)}
.chat-inp-row{border-top:1px solid var(--bdr);padding:10px 12px;display:flex;gap:8px;align-items:flex-end}
.chat-inp{flex:1;border:1px solid var(--bdr);border-radius:6px;padding:8px 11px;font-family:'DM Sans',sans-serif;font-size:.84rem;resize:none;outline:none;max-height:100px;min-height:38px;background:var(--bg);transition:border-color var(--t)}
.chat-inp:focus{border-color:var(--teal)}
.chat-send{width:36px;height:36px;background:var(--teal);border-radius:6px;display:flex;align-items:center;justify-content:center;flex-shrink:0;cursor:pointer;transition:background var(--t)}
.chat-send:hover{background:var(--td)}
/* RESPONSIVE */
@media(max-width:1000px){
  .hwrap{grid-template-columns:1fr}.hdash{display:none}
  .shd{grid-template-columns:1fr}.sgrid{grid-template-columns:repeat(2,1fr)}
  .cgrid{grid-template-columns:1fr}.tgrid{grid-template-columns:1fr}
  .modes{grid-template-columns:1fr}.ft{grid-template-columns:1fr 1fr}
  .bwrap{grid-template-columns:1fr}.bfc{position:static}
  .sbar{grid-template-columns:repeat(2,1fr)}.pmbi{grid-template-columns:1fr}
  .pmmodes{grid-template-columns:1fr}.ph-grid{grid-template-columns:1fr}
  .psgrid{grid-template-columns:1fr 1fr}.tcard{grid-template-columns:1fr;justify-items:center}.tcard .tpp{width:auto;align-items:center;flex-direction:row;gap:16px;flex-wrap:wrap;justify-content:center}.tcard .tphoto-wrap{width:90px;height:90px}
  .vgrid{grid-template-columns:1fr 1fr}.pills{display:none}
  .hmb{display:flex}
  .ai.open .abody{grid-template-columns:1fr}
  .chat-panel{width:calc(100vw - 40px);right:20px}
  .sec5{grid-template-columns:repeat(2,1fr)!important}
}
@media(max-width:600px){
  .sgrid{grid-template-columns:1fr}.fr2{grid-template-columns:1fr}
  .ft{grid-template-columns:1fr}.vgrid{grid-template-columns:1fr}
  .psgrid{grid-template-columns:1fr}.stlist{grid-template-columns:1fr}
  .hh1{font-size:2.4rem}
.team-grid{grid-template-columns:1fr}}

/* ═══════════ EDITORIAL HERITAGE REFINEMENTS ═══════════ */
body{font-weight:400}
/* Logo → serif column w/ italic tagline */
.logo{flex-direction:column;align-items:flex-start;gap:0;line-height:1}
.logo-row{display:flex;align-items:baseline}
.logo-t{font-weight:500;letter-spacing:-.03em}
.logo-s{color:var(--accent);font-weight:300}
.logo-tag{font-family:'Fraunces',serif;font-style:italic;font-size:.58rem;color:var(--accent);letter-spacing:.02em;line-height:1;margin-top:2px;white-space:nowrap}
/* Nav → warm, editorial serif links */
nav{background:rgba(245,240,230,.94)}
.np{font-family:'Fraunces',serif;font-weight:400;font-size:.86rem;letter-spacing:.005em;color:var(--i2);border-radius:2px}
.np:hover,.np.on{background:transparent;color:var(--accent);font-weight:500}
.np.on{color:var(--ink)}
.nbk{background:var(--ink);border-radius:100px;font-family:'Fraunces',serif;font-weight:400;letter-spacing:.01em;padding:9px 18px}
.nbk:hover{background:var(--accent-deep)}
/* Masthead strip (home) */
.masthead{margin-top:60px;padding:11px 5vw;border-bottom:1px solid var(--bdr);background:var(--bg)}
.masthead-in{max-width:1380px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:1rem;font-family:'JetBrains Mono',monospace;font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--i3)}
.masthead-in .mh-c{color:var(--accent)}
.hwrap{margin-top:0}
/* Home hero */
.hh1{font-weight:400;letter-spacing:-.02em}
.hh1 em{color:var(--accent);font-style:italic}
.eyebrow{color:var(--accent)}
.eyebrow::before{background:var(--accent)}
.htrust-t strong{font-family:'Fraunces',serif;font-weight:600}
/* Home hero 4A card → warm PAPER brand-card (was dark) */
.hdash{background:var(--bgwarm);border-left:1px solid var(--bdr);padding:48px 32px}
.hdash::before{display:none}
.dcard{background:var(--paper);border:1px solid var(--bdr);box-shadow:0 10px 40px rgba(42,36,24,.09);border-radius:6px}
.dtl{color:var(--i3)}
.dtop{border-bottom:1px solid var(--bdr);padding-bottom:12px}
.mini{background:transparent;border:1px solid var(--bdr);margin-bottom:6px;padding:11px 12px}
.mn{color:var(--ink);font-family:'Fraunces',serif;font-size:.72rem;font-weight:500;display:flex;align-items:baseline;gap:7px}
.mrn{font-family:'JetBrains Mono',monospace;font-size:.56rem;color:var(--accent);letter-spacing:.05em}
.md{background:var(--accent)}.md.am{background:var(--teal)}.md.bl{background:var(--accent-deep)}
.mb{color:var(--accent);background:rgba(139,111,58,.09);font-family:'DM Sans',sans-serif;text-transform:none;letter-spacing:0;font-size:.6rem;font-weight:500}
.mb.or{color:var(--teal);background:rgba(45,93,82,.09)}
.mb.bl{color:var(--accent-deep);background:rgba(107,80,40,.09)}
/* Page heroes .ph → warm paper (was espresso) */
.ph{background:var(--bgwarm);border-bottom:1px solid var(--bdr);position:relative;padding-top:92px}
.ph .label{color:var(--accent)}
.ph h1{color:var(--ink);font-weight:400}
.ph h1 em{color:var(--accent);font-style:italic}
.ph p{color:var(--i2)}
.ph::after{content:'';position:absolute;left:5vw;top:64px;width:54px;height:1px;background:var(--accent)}
/* Serif heading weights */
.shd h2,.pmbc h2,.hcta h2{font-weight:400}
.shd h2 em{color:var(--accent)}
.hcta h2 em,.pmbc h2 em{color:var(--accent)}
/* Buttons → heritage pill + serif */
.bteal{background:var(--teal);border-radius:100px;font-family:'Fraunces',serif;font-weight:400;letter-spacing:.01em;padding:12px 26px}
.bteal:hover{background:var(--td)}
.bdark{background:var(--ink);border-radius:100px;font-family:'Fraunces',serif;font-weight:400;padding:11px 24px}
.bghost{border-radius:100px;font-family:'Fraunces',serif;font-weight:400;border-color:var(--b2)}
.mcta,.bkbtn{border-radius:100px;font-family:'Fraunces',serif}
.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 26px;background:var(--teal);color:#fff;border-radius:100px;font-family:'Fraunces',serif;font-weight:400;font-size:.9rem;transition:background var(--t)}
.btn:hover{background:var(--td)}
/* Cards → warm paper */
.svc,.mcard,.ai,.tcard,.team-card,.vc,.case,.tc,.bfc,.stype,.slotb,.carr,.pblk,.pnc,.pstep{background:var(--paper)}
.pnc{background:var(--bgwarm)}
.svc:hover{border-color:var(--accent)}
.svc h3,.mcard h3,.case h3,.vc h4,.stype h5{font-weight:600}
/* Icon tints + tags → warm parchment */
.sico,.mico{background:var(--tlt);color:var(--teal)}
.stag,.tmt,.tc-tag,.psub{background:var(--tlt);color:var(--accent);border-color:rgba(139,111,58,.22)}
.psub{border:1px solid rgba(139,111,58,.22)}
/* Client band + chips serif */
.cnm,.lchip{font-family:'Fraunces',serif;font-weight:600;color:var(--i2)}
.cband{background:var(--paper)}
.lchip{background:var(--paper)}
.lchip:hover{border-color:var(--accent);color:var(--accent)}
/* Methodology phase numeral → serif */
.pbig{font-family:'Fraunces',serif;color:var(--b2);font-weight:400}
.ptit{font-weight:600}
.psn{background:var(--tlt);color:var(--accent)}
.pstep:hover{background:var(--tlt)}
/* Engagement feature card → gold */
.mcard.feat{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}
.mcard.feat::before{background:var(--accent)}
.mlist li::before,.abr li::before{background:var(--accent)}
/* Philosophy → teal, serif */
.phil{background:var(--teal)}
.phil blockquote{font-family:'Fraunces',serif;font-weight:400}
/* Values numerals */
.vcn{font-family:'Fraunces',serif;color:var(--b2);font-weight:400}
/* Team photos → heritage rings */
.tphoto-wrap{border-color:var(--accent);box-shadow:0 0 0 6px rgba(139,111,58,.1),0 8px 32px rgba(42,36,24,.12)}
.tc-photo{border-color:var(--accent);box-shadow:0 0 0 5px rgba(139,111,58,.08),0 6px 20px rgba(42,36,24,.1)}
.tnm,.tc-name{font-weight:600}
.trl,.tc-role{color:var(--accent)}
.tmd{background:var(--accent)}
.tmdt{color:var(--accent)}
.tmt.g{background:var(--bg);color:var(--i3)}
/* Services accordion */
.anum{color:var(--accent)}
.ai.open .atog{background:var(--accent);border-color:var(--accent)}
/* FAQ */
.fi.open .ficon{background:var(--accent);border-color:var(--accent)}
/* Booking accents */
.stype.on,.stype:hover{border-color:var(--accent);background:var(--tlt)}
.stype.on span{color:var(--accent)}
.bfct{background:var(--teal)}
.btab.dn{color:var(--accent);border-color:var(--accent)}
.cc.sel,.slotb.sel{background:var(--accent);border-color:var(--accent);color:#fff}
.cc.av::after{background:var(--accent)}
.cc.td{color:var(--accent)}
.slotb:hover:not(.unav){border-color:var(--accent);color:var(--accent);background:var(--tlt)}
.cring{background:var(--accent)}
.cdet{background:var(--tlt);border-color:rgba(139,111,58,.18)}
.cdv{color:var(--accent)}
.bkbtn{background:var(--teal)}.bkbtn:hover{background:var(--td)}
.fg input:focus,.fg select:focus,.fg textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(139,111,58,.12)}
/* Footer */
footer{background:#211c12}
.fbn{font-weight:500}
.fbn span{color:var(--accent)}
/* Chat widget */
.chat-fab{background:var(--accent)}
.chat-fab:hover{box-shadow:0 6px 28px rgba(139,111,58,.45)}
.chat-send{background:var(--accent)}
.chat-av{background:var(--accent);color:var(--paper);font-weight:500}
.msg.user .msg-bub{background:var(--accent)}
.chat-sug:hover{border-color:var(--accent);color:var(--accent);background:var(--tlt)}
.chat-inp:focus{border-color:var(--accent)}


/* ─── Sample Engagement ─── */
.samp{border-top:1px solid var(--bdr)}
.samp-note{font-family:'DM Sans',sans-serif;font-size:.86rem;color:var(--i2);font-style:italic;line-height:1.75}
.samp-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:40px;border:1px solid var(--bdr);border-radius:8px;overflow:hidden;background:var(--paper)}
.samp-step{padding:30px 26px;border-right:1px solid var(--bdr)}
.samp-step:last-child{border-right:none}
.samp-rn{font-family:'Fraunces',serif;font-size:1.5rem;color:var(--b2);line-height:1;margin-bottom:10px}
.samp-step h4{font-family:'Fraunces',serif;font-size:1.2rem;font-weight:600;margin-bottom:3px}
.samp-ph{font-family:'JetBrains Mono',monospace;font-size:.54rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:14px}
.samp-step p{font-size:.83rem;color:var(--i2);line-height:1.74}
@media(max-width:1000px){.samp-grid{grid-template-columns:1fr 1fr}.samp-step:nth-child(2){border-right:none}.samp-step:nth-child(1),.samp-step:nth-child(2){border-bottom:1px solid var(--bdr)}}
@media(max-width:600px){.samp-grid{grid-template-columns:1fr}.samp-step{border-right:none;border-bottom:1px solid var(--bdr)}.samp-step:last-child{border-bottom:none}}


/* ─── Animated 4A Cycle ─── */
.cyc-wrap{display:flex;justify-content:center;padding:8px 0 20px}
.cyc{width:100%;max-width:500px;height:auto;overflow:visible}
.cyc-track{fill:none;stroke:var(--bdr);stroke-width:1.5}
.cyc-ring{fill:none;stroke:var(--accent);stroke-width:2.5;stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:100;transition:stroke-dashoffset 2.4s cubic-bezier(.4,0,.2,1)}
.vis .cyc-ring{stroke-dashoffset:0}
.cyc-nodecirc{fill:var(--paper);stroke:var(--accent);stroke-width:2}
.cyc-num{font-family:'JetBrains Mono',monospace;font-size:15px;fill:var(--accent);text-anchor:middle;dominant-baseline:central;letter-spacing:.04em}
.cyc-name{font-family:'Fraunces',serif;font-size:21px;font-weight:600;fill:var(--ink);text-anchor:middle}
.cyc-sub{font-family:'JetBrains Mono',monospace;font-size:8.5px;fill:var(--muted,#8a7f6a);text-anchor:middle;letter-spacing:.14em;text-transform:uppercase}
.cyc-ctr-a{font-family:'Fraunces',serif;font-size:34px;font-weight:600;fill:var(--ink);text-anchor:middle}
.cyc-ctr-b{font-family:'JetBrains Mono',monospace;font-size:9px;fill:var(--muted,#8a7f6a);text-anchor:middle;letter-spacing:.24em}
.cyc-node,.cyc-lbl,.cyc-dot,.cyc-ctr{opacity:0;transition:opacity .6s ease}
.vis .cyc-node,.vis .cyc-lbl,.vis .cyc-dot,.vis .cyc-ctr{opacity:1}
.vis .cyc-ctr{transition-delay:.2s}
.vis .cyc-g1{transition-delay:.4s}.vis .cyc-g2{transition-delay:1.0s}.vis .cyc-g3{transition-delay:1.6s}.vis .cyc-g4{transition-delay:2.2s}
.vis .cyc-dot{transition-delay:2.6s}
.cyc-travel{fill:var(--teal)}
@media(prefers-reduced-motion:reduce){.cyc-ring{transition:none;stroke-dashoffset:0}.cyc-node,.cyc-lbl,.cyc-dot,.cyc-ctr{transition:none;opacity:1}.cyc-travel{display:none}}


/* ─── Refined editorial reveals ─── */
.rev{opacity:0;transform:translateY(22px);filter:blur(4px);transition:opacity .75s cubic-bezier(.22,.61,.36,1),transform .75s cubic-bezier(.22,.61,.36,1),filter .75s ease}
.rev.vis{opacity:1;transform:none;filter:blur(0)}
.d1{transition-delay:.10s}.d2{transition-delay:.20s}.d3{transition-delay:.30s}
/* grid containers become stagger triggers (no own motion) */
.sgrid.rev,.modes.rev,.vgrid.rev,.samp-grid.rev,.pmmodes.rev{opacity:1;transform:none;filter:none;transition:none}
.sgrid.rev>*,.modes.rev>*,.vgrid.rev>*,.samp-grid.rev>*,.pmmodes.rev>*{opacity:0;transform:translateY(24px);transition:opacity .65s cubic-bezier(.22,.61,.36,1),transform .65s cubic-bezier(.22,.61,.36,1)}
.sgrid.rev.vis>*,.modes.rev.vis>*,.vgrid.rev.vis>*,.samp-grid.rev.vis>*,.pmmodes.rev.vis>*{opacity:1;transform:none}
.sgrid.rev.vis>*:nth-child(2),.modes.rev.vis>*:nth-child(2),.vgrid.rev.vis>*:nth-child(2),.samp-grid.rev.vis>*:nth-child(2),.pmmodes.rev.vis>*:nth-child(2){transition-delay:.09s}
.sgrid.rev.vis>*:nth-child(3),.modes.rev.vis>*:nth-child(3),.vgrid.rev.vis>*:nth-child(3),.samp-grid.rev.vis>*:nth-child(3),.pmmodes.rev.vis>*:nth-child(3){transition-delay:.18s}
.sgrid.rev.vis>*:nth-child(4),.vgrid.rev.vis>*:nth-child(4),.samp-grid.rev.vis>*:nth-child(4){transition-delay:.27s}
.sgrid.rev.vis>*:nth-child(5){transition-delay:.36s}
.sgrid.rev.vis>*:nth-child(6){transition-delay:.45s}
@media(prefers-reduced-motion:reduce){.rev,.rev>*,.sgrid.rev>*,.modes.rev>*,.vgrid.rev>*,.samp-grid.rev>*,.pmmodes.rev>*{opacity:1!important;transform:none!important;filter:none!important;transition:none!important}}


/* ─── Stat band ─── */
.sbar{border:1px solid var(--bdr);border-radius:8px;overflow:hidden;background:var(--bdr)}
.si{background:var(--paper);padding:30px 20px}
.sbn{font-family:'Fraunces',serif;font-size:2.6rem;font-weight:400;color:var(--accent);display:block;line-height:1}
.sbl{font-size:.78rem;color:var(--i2);margin-top:8px;line-height:1.4}


/* ─── Interactive sector cards ─── */
.svc.sector{position:relative;overflow:hidden;cursor:pointer;min-height:188px;display:flex;flex-direction:column;outline:none}
.svc.sector .stags{margin-top:12px}
.sector-hint{margin-top:auto;padding-top:14px;font-family:'JetBrains Mono',monospace;font-size:.5rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted,#8a7f6a)}
.sector-detail{position:absolute;inset:0;background:var(--ink);padding:24px;display:flex;flex-direction:column;justify-content:center;transform:translateY(101%);transition:transform .45s cubic-bezier(.4,0,.2,1)}
.svc.sector:hover .sector-detail,.svc.sector.open .sector-detail,.svc.sector:focus-visible .sector-detail{transform:translateY(0)}
.sector-detail h4{font-family:'Fraunces',serif;font-weight:600;color:var(--paper);font-size:1.05rem;margin-bottom:10px}
.sector-detail p{font-size:.82rem;line-height:1.68;color:rgba(245,240,230,.82)}
.sector-close{margin-top:14px;font-family:'JetBrains Mono',monospace;font-size:.5rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(245,240,230,.4);display:none}
@media(hover:none){.sector-close{display:block}}


/* ─── Heritage paper grain ─── */
body::after{content:'';position:fixed;inset:0;pointer-events:none;z-index:9999;opacity:.04;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27160%27%20height%3D%27160%27%3E%3Cfilter%20id%3D%27n%27%3E%3CfeTurbulence%20type%3D%27fractalNoise%27%20baseFrequency%3D%270.85%27%20numOctaves%3D%272%27%20stitchTiles%3D%27stitch%27%2F%3E%3CfeColorMatrix%20type%3D%27saturate%27%20values%3D%270%27%2F%3E%3C%2Ffilter%3E%3Crect%20width%3D%27100%25%27%20height%3D%27100%25%27%20filter%3D%27url%28%23n%29%27%2F%3E%3C%2Fsvg%3E");background-size:160px 160px}
@media(prefers-reduced-motion:reduce){body::after{opacity:.03}}


/* ═══ HANDMADE PAPER BACKGROUND ═══ */
:root{--bg:#ece3d0;--bgwarm:#e4dac2;--paper:#f3ecdd;--bdr:#ddd0b6;--b2:#c8bb9f;--rule:rgba(42,36,24,.16)}
html::before,html::after,body::after{content:'';position:fixed;inset:0;pointer-events:none;mix-blend-mode:multiply;background-repeat:repeat}
html::before{z-index:9997;opacity:.07;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27500%27%20height%3D%27500%27%3E%3Cfilter%20id%3D%27m%27%3E%3CfeTurbulence%20type%3D%27fractalNoise%27%20baseFrequency%3D%270.014%27%20numOctaves%3D%273%27%20stitchTiles%3D%27stitch%27%2F%3E%3CfeColorMatrix%20type%3D%27saturate%27%20values%3D%270%27%2F%3E%3C%2Ffilter%3E%3Crect%20width%3D%27100%25%27%20height%3D%27100%25%27%20filter%3D%27url%28%23m%29%27%2F%3E%3C%2Fsvg%3E");background-size:560px 560px}   /* cloudy mottle */
html::after{z-index:9998;opacity:.085;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27180%27%20height%3D%27180%27%3E%3Cfilter%20id%3D%27g%27%3E%3CfeTurbulence%20type%3D%27fractalNoise%27%20baseFrequency%3D%270.9%27%20numOctaves%3D%272%27%20stitchTiles%3D%27stitch%27%2F%3E%3CfeColorMatrix%20type%3D%27saturate%27%20values%3D%270%27%2F%3E%3C%2Ffilter%3E%3Crect%20width%3D%27100%25%27%20height%3D%27100%25%27%20filter%3D%27url%28%23g%29%27%2F%3E%3C%2Fsvg%3E");background-size:180px 180px}  /* fine grain */
body::after{z-index:9999;opacity:.5;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27260%27%20height%3D%27260%27%3E%3Cfilter%20id%3D%27s%27%3E%3CfeTurbulence%20type%3D%27fractalNoise%27%20baseFrequency%3D%271.1%27%20numOctaves%3D%271%27%20seed%3D%278%27%20stitchTiles%3D%27stitch%27%2F%3E%3CfeColorMatrix%20type%3D%27saturate%27%20values%3D%270%27%2F%3E%3CfeComponentTransfer%3E%3CfeFuncR%20type%3D%27discrete%27%20tableValues%3D%271%201%201%201%201%201%201%201%201%200.5%27%2F%3E%3CfeFuncG%20type%3D%27discrete%27%20tableValues%3D%271%201%201%201%201%201%201%201%201%200.42%27%2F%3E%3CfeFuncB%20type%3D%27discrete%27%20tableValues%3D%271%201%201%201%201%201%201%201%201%200.3%27%2F%3E%3CfeFuncA%20type%3D%27discrete%27%20tableValues%3D%271%27%2F%3E%3C%2FfeComponentTransfer%3E%3C%2Ffilter%3E%3Crect%20width%3D%27100%25%27%20height%3D%27100%25%27%20filter%3D%27url%28%23s%29%27%2F%3E%3C%2Fsvg%3E");background-size:260px 260px}    /* sparse flecks */
@media(prefers-reduced-motion:reduce){html::before{opacity:.05}html::after{opacity:.06}body::after{opacity:.4}}


/* ═══ ENHANCED MOTION ═══ */
@keyframes heroRise{from{opacity:0;transform:translateY(28px);filter:blur(8px)}to{opacity:1;transform:none;filter:blur(0)}}
@keyframes heroCardIn{from{opacity:0;filter:blur(10px)}to{opacity:1;filter:blur(0)}}
@keyframes drawLine{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes drawUnder{to{transform:scaleX(1)}}
@keyframes floatY{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes breathe{0%,100%{opacity:.92}50%{opacity:.5}}

/* Hero entrance sequence */
#page-home .eyebrow{animation:heroRise .85s cubic-bezier(.22,.61,.36,1) .15s both}
#page-home .eyebrow::before{transform-origin:left;animation:drawLine .6s ease .4s both}
#page-home .hh1{animation:heroRise .95s cubic-bezier(.22,.61,.36,1) .3s both}
#page-home .hh1 em{position:relative}
#page-home .hh1 em::after{content:'';position:absolute;left:.02em;right:.04em;bottom:.04em;height:3px;background:var(--accent);opacity:.45;transform:scaleX(0);transform-origin:left;animation:drawUnder .85s cubic-bezier(.22,.61,.36,1) 1.2s both}
#page-home .hsub{animation:heroRise .85s cubic-bezier(.22,.61,.36,1) .55s both}
#page-home .hbtns{animation:heroRise .85s cubic-bezier(.22,.61,.36,1) .72s both}
#page-home .htrust{animation:heroRise .85s cubic-bezier(.22,.61,.36,1) .88s both}
#page-home .masthead{animation:heroRise .8s ease .05s both}
#page-home .hdash{animation:heroRise 1s ease .5s both}
#page-home .hdash .dcard{animation:heroCardIn 1s ease .65s both, floatY 7.5s ease-in-out 2s infinite}

/* Nav underline */
.np::after{content:'';position:absolute;left:14px;right:14px;bottom:4px;height:1.5px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .32s cubic-bezier(.22,.61,.36,1)}
.np:hover::after,.np.on::after{transform:scaleX(1)}

/* Buttons: lift + shadow */
.bteal,.bdark,.bghost,.nbk,.btn,.bkbtn{transition:transform .25s cubic-bezier(.22,.61,.36,1),box-shadow .25s ease,background var(--t)}
.bteal:hover,.bdark:hover,.btn:hover,.nbk:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(42,36,24,.18)}
.bghost:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(42,36,24,.10)}

/* Card hover polish */
.svc:not(.sector):hover,.mcard:hover,.team-card:hover,.tcard:hover{box-shadow:0 16px 44px rgba(42,36,24,.13)}
.tc-photo img,.tphoto-wrap img{transition:transform .55s cubic-bezier(.22,.61,.36,1)}
.team-card:hover .tc-photo img,.tcard:hover .tphoto-wrap img{transform:scale(1.06)}
.svc.sector{transition:box-shadow .3s ease,transform .3s ease}
.svc.sector:hover{transform:translateY(-3px);box-shadow:0 18px 44px rgba(42,36,24,.16)}

/* 4A cycle polish */
.cyc-travel{filter:drop-shadow(0 0 7px rgba(45,93,82,.55))}
.vis .cyc-ctr-a{animation:breathe 3.6s ease-in-out 2.9s infinite}

/* Smoother SPA page transition */
@keyframes pgIn{from{opacity:0;transform:translateY(16px) scale(.995);filter:blur(3px)}to{opacity:1;transform:none;filter:blur(0)}}
.page.active{animation:pgIn .55s cubic-bezier(.22,.61,.36,1)}

@media(prefers-reduced-motion:reduce){
 #page-home .eyebrow,#page-home .hh1,#page-home .hsub,#page-home .hbtns,#page-home .htrust,#page-home .masthead,#page-home .hdash,#page-home .hdash .dcard{animation:none!important;opacity:1!important;transform:none!important;filter:none!important}
 #page-home .hh1 em::after{animation:none;transform:scaleX(1)}
 #page-home .eyebrow::before{animation:none;transform:none}
 .page.active{animation:none}
 .cyc-travel{filter:none}.vis .cyc-ctr-a{animation:none}
}


/* ─── Hide chatbot (v1, reversible: delete this rule to restore) ─── */
.chat-fab,.chat-panel{display:none!important}
/* ─── Accessibility ─── */
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,.svc.sector:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:3px}
.skip{position:absolute;left:-999px;top:0;z-index:10001;background:var(--ink);color:var(--paper);padding:11px 18px;border-radius:0 0 6px 0;font-family:'DM Sans',sans-serif;font-size:.85rem;text-decoration:none}
.skip:focus{left:0}
/* ─── Contact page ─── */
.contact-wrap{display:grid;grid-template-columns:1fr 1.1fr;gap:3.5rem;align-items:start;max-width:1000px;margin:0 auto}
.contact-intro h2{font-family:'Fraunces',serif;font-size:clamp(1.6rem,3vw,2.4rem);font-weight:400;line-height:1.15;margin:1rem 0}
.contact-intro h2 em{font-style:italic;color:var(--accent)}
.contact-intro>p{font-size:.95rem;color:var(--i2);line-height:1.8;margin-bottom:1.8rem}
.contact-lines{display:flex;flex-direction:column;gap:14px;border-top:1px solid var(--bdr);padding-top:20px}
.cl{display:flex;flex-direction:column;gap:2px}
.cl-l{font-family:'JetBrains Mono',monospace;font-size:.56rem;letter-spacing:.14em;text-transform:uppercase;color:var(--i3)}
.cl a,.cl span:not(.cl-l){font-family:'Fraunces',serif;font-size:1.05rem;color:var(--ink);text-decoration:none}
.cl a:hover{color:var(--accent)}
.contact-form{background:var(--paper);border:1px solid var(--bdr);border-radius:10px;padding:32px}
.contact-form .bteal{margin-top:8px;width:100%;justify-content:center}
.cf-note{margin-top:14px;font-size:.85rem;line-height:1.6;padding:12px 14px;border-radius:6px;display:none}
.cf-note.ok{display:block;background:rgba(45,93,82,.1);color:var(--teal);border:1px solid rgba(45,93,82,.25)}
.cf-note.err{display:block;background:rgba(150,60,40,.08);color:#9a4a32;border:1px solid rgba(150,60,40,.22)}
/* ─── Legal pages ─── */
.legal{max-width:760px;margin:0 auto;padding:8px 0 40px}
.legal .legal-note{background:var(--bgwarm);border:1px solid var(--bdr);border-radius:6px;padding:14px 18px;font-size:.82rem;color:var(--i2);font-style:italic;line-height:1.7;margin-bottom:32px}
.legal h3{font-family:'Fraunces',serif;font-size:1.25rem;font-weight:600;margin:28px 0 10px}
.legal p,.legal li{font-size:.92rem;color:var(--i2);line-height:1.85}
.legal ul{margin:8px 0 8px 20px;display:flex;flex-direction:column;gap:6px}
.legal .legal-meta{font-family:'JetBrains Mono',monospace;font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:var(--i3);margin-bottom:6px}
@media(max-width:800px){.contact-wrap{grid-template-columns:1fr;gap:2rem}}


/* ─── Mobile masthead tidy ─── */
@media(max-width:600px){.masthead-in{justify-content:center;font-size:.54rem;letter-spacing:.14em}.masthead-in span:first-child,.masthead-in span:last-child{display:none}}


/* ─── Why It Matters (industry ledger) ─── */
.whym{border-top:1px solid var(--bdr)}
.whym-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--bdr);border-radius:8px;overflow:hidden;background:var(--paper);margin-top:36px}
.whym-cell{padding:28px 24px;border-right:1px solid var(--bdr)}
.whym-cell:last-child{border-right:none}
.whym-n{font-family:'Fraunces',serif;font-size:2.5rem;font-weight:400;color:var(--accent);line-height:1;margin-bottom:12px}
.whym-l{font-size:.84rem;color:var(--ink);line-height:1.58;margin-bottom:14px}
.whym-src{font-family:'JetBrains Mono',monospace;font-size:.52rem;letter-spacing:.08em;text-transform:uppercase;color:var(--i3);line-height:1.5}
.whym-tag{display:inline-block;font-family:'JetBrains Mono',monospace;font-size:.5rem;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);background:var(--tlt);border:1px solid rgba(139,111,58,.22);padding:2px 7px;border-radius:20px;margin-bottom:8px}
.whym-out{margin-top:28px;font-size:.98rem;color:var(--i2);line-height:1.85;max-width:730px}
.whym-out strong{color:var(--ink);font-weight:600}
@media(max-width:900px){.whym-grid{grid-template-columns:1fr 1fr}.whym-cell:nth-child(2){border-right:none}.whym-cell:nth-child(1),.whym-cell:nth-child(2){border-bottom:1px solid var(--bdr)}}
@media(max-width:560px){.whym-grid{grid-template-columns:1fr}.whym-cell{border-right:none;border-bottom:1px solid var(--bdr)}.whym-cell:last-child{border-bottom:none}}


/* ─── Sector proof-point stat ─── */
.sector-stat{margin-top:14px;padding-top:12px;border-top:1px solid rgba(245,240,230,.16);font-size:.74rem;color:rgba(245,240,230,.8);line-height:1.5}
.sector-stat strong{display:block;font-family:'Fraunces',serif;font-weight:400;font-size:1.5rem;color:#cfa961;line-height:1.1;margin-bottom:3px}
.sector-stat .ss-src{display:block;font-family:'JetBrains Mono',monospace;font-size:.48rem;letter-spacing:.08em;text-transform:uppercase;color:rgba(245,240,230,.42);margin-top:5px}
.sector-detail{justify-content:flex-start;overflow:auto}
.svc.sector{min-height:210px}


/* ─── Sector panel fit ─── */
.sector-detail{padding:20px}
.sector-detail h4{font-size:1rem;margin-bottom:7px}
.sector-detail p{font-size:.78rem;line-height:1.5}
.sector-stat{margin-top:12px;padding-top:10px;font-size:.72rem}
.sector-stat strong{font-size:1.3rem}
.svc.sector{min-height:240px}


/* ─── 3D tilt + sheen ─── */
.svc:not(.sector),.mcard,.team-card{position:relative;transform-style:preserve-3d;transition:transform .4s cubic-bezier(.22,.61,.36,1),box-shadow .4s ease;will-change:transform}
.svc:not(.sector)::after,.mcard::after,.team-card::after{content:'';position:absolute;inset:0;border-radius:inherit;background:radial-gradient(circle at var(--mx,50%) var(--my,50%),rgba(255,248,230,.5),transparent 50%);opacity:0;transition:opacity .4s ease;pointer-events:none;mix-blend-mode:soft-light;z-index:2}
.svc:not(.sector).tilting::after,.mcard.tilting::after,.team-card.tilting::after{opacity:1}
.svc:not(.sector) .sico,.mcard .mico{transform:translateZ(34px)}
.svc:not(.sector) h3,.mcard h3{transform:translateZ(22px)}
.team-card .tc-photo{transform:translateZ(38px)}
.team-card .tc-name{transform:translateZ(20px)}
.hdash{perspective:1000px}
.dcard{transition:transform .5s cubic-bezier(.22,.61,.36,1)}
@media(hover:none),(prefers-reduced-motion:reduce){.svc,.mcard,.team-card,.dcard{transform:none!important}.svc::after,.mcard::after,.team-card::after{display:none}}


/* ─── Interactive 4A model ─── */
.m4a{margin-top:10px}
.m4a-picker{margin:8px 0}
.m4a-picker-l{font-family:'JetBrains Mono',monospace;font-size:.56rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted,#8a7f6a);margin-bottom:12px}
.m4a-chips{display:flex;flex-wrap:wrap;gap:8px}
.m4a-chip{font-family:'Fraunces',serif;font-size:.9rem;padding:9px 18px;border:1px solid var(--bdr);background:var(--paper);color:var(--i2);border-radius:100px;cursor:pointer;transition:all .25s ease}
.m4a-chip:hover{border-color:var(--accent);color:var(--accent)}
.m4a-chip.on{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.m4a-stage{position:relative;height:640px;margin-top:22px}
.m4a-lines{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.m4a-line{fill:none;stroke:var(--bdr);stroke-width:1.5}
.m4a-line-live{fill:none;stroke:var(--accent);stroke-width:2;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1}
.m4a-pulse{fill:var(--teal)}
.m4a-hub{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:168px;height:168px;border-radius:50%;background:var(--ink);color:var(--paper);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:18px;z-index:3;box-shadow:0 14px 40px rgba(42,36,24,.2)}
.m4a-hub-k{font-family:'JetBrains Mono',monospace;font-size:.5rem;letter-spacing:.18em;text-transform:uppercase;color:#cfa961;margin-bottom:7px}
.m4a-hub-t{font-family:'Fraunces',serif;font-size:1.02rem;font-weight:500;line-height:1.2;transition:opacity .3s ease}
.m4a-node{position:absolute;width:200px;background:var(--paper);border:1px solid var(--bdr);border-radius:10px;padding:16px 18px;z-index:2;box-shadow:0 8px 28px rgba(42,36,24,.08);transition:transform .4s cubic-bezier(.22,.61,.36,1),box-shadow .3s ease,opacity .4s ease}
.m4a-node .m4a-nk{display:flex;align-items:baseline;gap:8px;margin-bottom:8px}
.m4a-node .m4a-rn{font-family:'JetBrains Mono',monospace;font-size:.6rem;color:var(--accent);letter-spacing:.06em}
.m4a-node h3{font-family:'Fraunces',serif;font-size:1.15rem;font-weight:600}
.m4a-node .m4a-nsub{font-family:'JetBrains Mono',monospace;font-size:.5rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted,#8a7f6a);margin-left:auto}
.m4a-node .m4a-action{font-size:.82rem;color:var(--i2);line-height:1.58;transition:opacity .35s ease}
.m4a-assess{left:50%;top:0;transform:translateX(-50%)}
.m4a-align{right:0;top:50%;transform:translateY(-50%)}
.m4a-activate{left:50%;bottom:0;transform:translateX(-50%)}
.m4a-anchor{left:0;top:50%;transform:translateY(-50%)}
.m4a-node.m4a-pop.m4a-assess,.m4a-node.m4a-pop.m4a-activate{animation:m4apopX .5s cubic-bezier(.22,.61,.36,1)}
.m4a-node.m4a-pop.m4a-align,.m4a-node.m4a-pop.m4a-anchor{animation:m4apopY .5s cubic-bezier(.22,.61,.36,1)}
@keyframes m4apopX{0%{transform:translateX(-50%) scale(.96)}100%{transform:translateX(-50%) scale(1)}}
@keyframes m4apopY{0%{transform:translateY(-50%) scale(.96)}100%{transform:translateY(-50%) scale(1)}}
.m4a-outcome{margin-top:24px;background:var(--teal);color:var(--paper);border-radius:10px;padding:18px 24px;display:flex;align-items:center;gap:14px}
.m4a-outcome .m4a-ok{font-family:'JetBrains Mono',monospace;font-size:.52rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(245,240,230,.6);white-space:nowrap}
.m4a-outcome .m4a-ot{font-family:'Fraunces',serif;font-style:italic;font-size:1.1rem;line-height:1.3;transition:opacity .3s ease}
@media(max-width:760px){
 .m4a-stage{height:auto;display:flex;flex-direction:column;gap:12px}
 .m4a-lines{display:none}
 .m4a-hub{position:static;transform:none;width:100%;height:auto;border-radius:12px;flex-direction:row;gap:12px;justify-content:flex-start;text-align:left;padding:18px 22px}
 .m4a-hub-k{margin-bottom:0}
 .m4a-node{position:static!important;width:100%!important;transform:none!important}
 .m4a-node.m4a-pop{animation:m4apopM .45s ease}
 @keyframes m4apopM{0%{transform:scale(.98)}100%{transform:scale(1)}}
 .m4a-outcome{flex-direction:column;align-items:flex-start;gap:6px}
}
@media(prefers-reduced-motion:reduce){.m4a-line-live,.m4a-pulse{display:none}.m4a-hub-t,.m4a-action,.m4a-ot{transition:none}}


/* ─── Compact mobile radial (the spider, phone-sized) ─── */
.m4a-mini{display:none}
.m4a-mini-hub{fill:var(--ink)}
.m4a-mini-hubt{fill:#cfa961;font-family:'Fraunces',serif;font-size:22px;font-weight:500;text-anchor:middle;dominant-baseline:central}
.m4a-mini-node circle{fill:var(--paper);stroke:var(--accent);stroke-width:2}
.m4a-mini-node text{fill:var(--accent);font-family:'JetBrains Mono',monospace;font-size:13px;text-anchor:middle;dominant-baseline:central}
.m4a-mini-nm{fill:var(--i2);font-family:'Fraunces',serif;font-size:12px;font-weight:600;text-anchor:middle}
.m4a-mini-line{stroke:var(--bdr);stroke-width:2;fill:none}
.m4a-mini-live{stroke:var(--accent);stroke-width:2.5;fill:none;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1}
.m4a-mini-pulse{fill:var(--teal)}
@media(max-width:760px){.m4a-mini{display:block;width:260px;max-width:80vw;height:auto;margin:10px auto 22px;overflow:visible}}


/* ─── Operational Health Check ─── */
.hc-wrap{max-width:620px;margin:0 auto}
.hc-card{background:var(--paper);border:1px solid var(--bdr);border-radius:16px;padding:40px;box-shadow:0 20px 56px rgba(42,36,24,.10);position:relative;overflow:hidden}
.hc-screen{animation:hcFade .45s ease}
@keyframes hcFade{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.hc-card h2{font-family:'Fraunces',serif;font-size:1.9rem;font-weight:400;line-height:1.12;margin:14px 0 12px}
.hc-card h2 em{font-style:italic;color:var(--accent)}
.hc-intro p{font-size:.98rem;color:var(--i2);line-height:1.7}
.hc-meta{display:flex;gap:24px;margin:22px 0 28px;flex-wrap:wrap}
.hc-meta div{font-size:.82rem;color:var(--i2)}
.hc-meta b{font-family:'Fraunces',serif;font-size:1.3rem;color:var(--accent);display:block;font-weight:500}
.hc-btn{display:inline-flex;align-items:center;gap:9px;padding:14px 30px;background:var(--ink);color:var(--paper);border:none;border-radius:100px;font-family:'Fraunces',serif;font-size:1rem;cursor:pointer;transition:background .25s,transform .25s}
.hc-btn:hover{background:var(--accent-deep);transform:translateY(-2px)}
.hc-btn.teal{background:var(--teal)}.hc-btn.teal:hover{background:var(--td)}
.hc-prog{height:3px;background:var(--bdr);border-radius:3px;margin-bottom:26px;overflow:hidden}
.hc-prog-f{height:100%;background:var(--accent);width:0;transition:width .4s cubic-bezier(.22,.61,.36,1)}
.hc-qn{font-family:'JetBrains Mono',monospace;font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted,#8a7f6a);margin-bottom:14px}
.hc-qt{font-family:'Fraunces',serif;font-size:1.45rem;font-weight:500;line-height:1.25;margin-bottom:26px}
.hc-opts{display:flex;flex-direction:column;gap:9px}
.hc-opt{text-align:left;padding:15px 20px;background:var(--bgwarm);border:1px solid var(--bdr);border-radius:10px;font-family:'DM Sans',sans-serif;font-size:.95rem;color:var(--ink);cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:13px}
.hc-opt:hover{border-color:var(--accent);background:var(--paper);transform:translateX(3px)}
.hc-opt .hc-dot{width:16px;height:16px;border-radius:50%;border:2px solid var(--muted,#8a7f6a);flex-shrink:0;transition:all .2s}
.hc-opt:hover .hc-dot{border-color:var(--accent);background:rgba(139,111,58,.15)}
.hc-back{margin-top:22px;font-size:.84rem;color:var(--muted,#8a7f6a);cursor:pointer;display:inline-block}
.hc-back:hover{color:var(--ink)}
.hc-res-top{text-align:center;margin-bottom:24px}
.hc-gauge{position:relative;width:170px;height:170px;margin:6px auto 14px}
.hc-gauge svg{transform:rotate(-90deg)}
.hc-gt{fill:none;stroke:var(--bdr);stroke-width:12}
.hc-gfll{fill:none;stroke:var(--accent);stroke-width:12;stroke-linecap:round;transition:stroke-dashoffset 1.3s cubic-bezier(.22,.61,.36,1)}
.hc-gnum{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
.hc-gnum .n{font-family:'Fraunces',serif;font-size:2.5rem;font-weight:500;color:var(--ink);line-height:1}
.hc-gnum .l{font-family:'JetBrains Mono',monospace;font-size:.5rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted,#8a7f6a);margin-top:4px}
.hc-band{font-family:'Fraunces',serif;font-size:1.35rem;font-weight:500;color:var(--accent);font-style:italic}
.hc-bars{display:flex;flex-direction:column;gap:12px;margin:24px 0}
.hc-bar-row{display:grid;grid-template-columns:96px 1fr 44px;align-items:center;gap:12px}
.hc-bar-l{font-family:'Fraunces',serif;font-size:.92rem;font-weight:600}
.hc-bar-l .rn{font-family:'JetBrains Mono',monospace;font-size:.56rem;color:var(--accent);margin-right:5px}
.hc-bar-track{height:10px;background:var(--bgwarm);border-radius:6px;overflow:hidden}
.hc-bar-fill{height:100%;background:var(--accent);width:0;border-radius:6px;transition:width 1s cubic-bezier(.22,.61,.36,1)}
.hc-bar-row.low .hc-bar-fill{background:var(--teal)}
.hc-bar-row.low .hc-bar-l{color:var(--teal)}
.hc-bar-v{font-family:'JetBrains Mono',monospace;font-size:.72rem;color:var(--i2);text-align:right}
.hc-diag{background:var(--bgwarm);border-left:3px solid var(--teal);border-radius:8px;padding:16px 20px;font-size:.92rem;color:var(--i2);line-height:1.65;margin-bottom:24px}
.hc-diag b{color:var(--ink)}
.hc-res-cta{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.hc-retake{font-size:.84rem;color:var(--muted,#8a7f6a);cursor:pointer}
.hc-retake:hover{color:var(--ink)}
@media(prefers-reduced-motion:reduce){.hc-screen{animation:none}.hc-gfll,.hc-bar-fill{transition:none}}
@media(max-width:560px){.hc-card{padding:28px 22px}.hc-qt{font-size:1.25rem}.hc-card h2{font-size:1.6rem}.hc-bar-row{grid-template-columns:80px 1fr 40px}}


/* ─── About feature band ─── */
.feat-band{border-top:1px solid var(--bdr)}
.feat-grid{display:grid;grid-template-columns:0.92fr 1.08fr;gap:3.4rem;align-items:center;max-width:1100px;margin:0 auto}
.feat-img{position:relative;border-radius:12px;overflow:hidden;border:1px solid var(--bdr);box-shadow:0 18px 50px rgba(42,36,24,.16)}
.feat-img img{width:100%;height:100%;object-fit:cover;display:block}
.feat-cap{font-family:'JetBrains Mono',monospace;font-size:.54rem;letter-spacing:.1em;text-transform:uppercase;color:var(--i3);margin-top:12px}
.feat-txt h2{font-family:'Fraunces',serif;font-size:clamp(1.6rem,3vw,2.3rem);font-weight:400;line-height:1.15;margin:12px 0 16px}
.feat-txt h2 em{font-style:italic;color:var(--accent)}
.feat-txt p{font-size:.98rem;color:var(--i2);line-height:1.8;margin-bottom:14px}
@media(max-width:820px){.feat-grid{grid-template-columns:1fr;gap:2rem}.feat-img{max-width:440px}}


/* ═══ WIDE-DESKTOP LAYOUT ═══ */
.masthead-in{max-width:1380px}
/* Hero: balanced, centred composition that fills the width without a dead zone */
.hwrap{max-width:1440px;margin:0 auto;grid-template-columns:1.15fr 460px;gap:64px;align-items:center;min-height:auto;padding:64px 5vw 76px}
.hcopy{padding:0}
.hh1{font-size:clamp(2.8rem,4.4vw,4.6rem)}
.hsub{max-width:600px;font-size:1.05rem}
.hdash{border:1px solid var(--bdr);border-left:1px solid var(--bdr);border-radius:14px;min-height:470px;padding:44px 34px}
.dcard{max-width:none}
/* Page heroes: cap line length + centre within the wide band */
.ph{padding-left:0;padding-right:0}
.ph>*{max-width:1440px;margin-left:auto;margin-right:auto;padding-left:5vw;padding-right:5vw}
.ph h1,.ph p{max-width:860px}
.ph-grid{max-width:1440px}
/* Section headers + bands breathe wider */
.pmbi,.hcta-i{max-width:1440px}
.faq{max-width:820px}
/* On very wide screens, nudge the service/mode grids to richer columns */
@media(min-width:1500px){
  .sgrid:not(.sec5){grid-template-columns:repeat(3,1fr);gap:22px}
  .sec5{grid-template-columns:repeat(5,1fr)!important}
  .sec{padding-top:88px;padding-bottom:88px}
}
@media(max-width:1000px){
  .hwrap{grid-template-columns:1fr;padding:40px 5vw 56px;gap:0}
  .hdash{display:none}
  .ph>*{padding-left:5vw;padding-right:5vw}
}


/* ═══ VISIBILITY & CONTRAST ═══ */
/* Darker muted tones so small labels are readable on cream */
:root{--i3:#6b6150;--muted:#6b6150}
/* Logo: larger and more prominent */
.logo-t{font-size:2.15rem;font-weight:600;letter-spacing:-.02em}
.logo-s{font-size:.92rem;top:-.72em}
.logo-tag{font-size:.66rem;letter-spacing:.05em;margin-top:3px;font-weight:500}
/* Tag pills: darker text, firmer background + border, slightly larger */
.stag,.tmt,.tc-tag,.psub,.csec{color:var(--accent-deep);background:#e8dec6;border-color:rgba(107,80,40,.38);font-size:.6rem}
.tmt.g{color:var(--i2);background:var(--bgwarm);border-color:var(--bdr)}
.stag{padding:3px 9px}
/* Eyebrow / section labels: darker gold for contrast */
.label,.eyebrow,.masthead-in .mh-c,.label.rev{color:var(--accent-deep)}
.eyebrow::before,.eyebrow::after{background:var(--accent-deep)}
/* Bump the very small mono labels up a notch */
.sector-hint,.sector-close,.nsub,.sbl,.ss-src,.whym-src,.trl,.tc-role,.tmdt,.clbl,.cl-l,.m4a-nsub{font-size:.6rem}
.tc-role,.trl{color:var(--accent-deep)}
/* Masthead strip: a touch more legible */
.masthead-in{color:var(--i3);font-size:.63rem}


/* ═══ 4A WEB (multi-branch spider) ═══ */
.w4a{--gold-lt:#cfa961;margin-top:8px}
.w4a-picker{margin:4px 0 8px}
.w4a-picker-l{font-family:'JetBrains Mono',monospace;font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--i3);margin-bottom:12px}
.w4a-chips{display:flex;flex-wrap:wrap;gap:8px}
.w4a-chip{font-family:'Fraunces',serif;font-size:.9rem;padding:9px 18px;border:1px solid var(--bdr);background:var(--paper);color:var(--i2);border-radius:100px;cursor:pointer;transition:all .25s ease}
.w4a-chip:hover{border-color:var(--accent);color:var(--accent)}
.w4a-chip.on{background:var(--ink);color:var(--paper);border-color:var(--ink)}
/* desktop web */
.w4a-web{position:relative;width:100%;max-width:880px;margin:22px auto 0;aspect-ratio:880/820}
.w4a-lines{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.w4a-l-main{stroke:var(--bdr);stroke-width:2;fill:none}
.w4a-l-main-live{stroke:var(--accent);stroke-width:2.5;fill:none;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1}
.w4a-l-leaf{stroke:var(--bdr);stroke-width:1.25;fill:none}
.w4a-l-leaf-live{stroke:var(--accent);stroke-width:1.5;fill:none;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;opacity:.75}
.w4a-pulse{fill:var(--teal)}
.w4a-hub{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:150px;height:150px;border-radius:50%;background:var(--ink);color:var(--paper);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:16px;z-index:5;box-shadow:0 16px 44px rgba(42,36,24,.22)}
.w4a-hub .k{font-family:'JetBrains Mono',monospace;font-size:.48rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-lt);margin-bottom:6px}
.w4a-hub .t{font-family:'Fraunces',serif;font-size:.86rem;font-weight:500;line-height:1.22;transition:opacity .3s ease}
.w4a-phase{position:absolute;transform:translate(-50%,-50%);background:var(--ink);color:var(--paper);border-radius:100px;padding:8px 16px;display:flex;align-items:baseline;gap:7px;z-index:4;white-space:nowrap;box-shadow:0 8px 22px rgba(42,36,24,.16);opacity:0}
.w4a-phase .rn{font-family:'JetBrains Mono',monospace;font-size:.58rem;color:var(--gold-lt)}
.w4a-phase .pn{font-family:'Fraunces',serif;font-size:.98rem;font-weight:500}
.w4a-leaf{position:absolute;transform:translate(-50%,-50%);width:134px;background:var(--paper);border:1px solid var(--bdr);border-radius:8px;padding:9px 11px;text-align:center;z-index:3;box-shadow:0 6px 18px rgba(42,36,24,.08);opacity:0}
.w4a-leaf span{font-size:.74rem;color:var(--i2);line-height:1.35;transition:opacity .3s ease}
.w4a-pop{animation:w4apop .45s cubic-bezier(.22,.61,.36,1) forwards}
@keyframes w4apop{from{opacity:0;transform:translate(-50%,-50%) scale(.82)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
/* mobile */
.w4a-webm{display:none}
.w4a-mchal{background:var(--ink);color:var(--paper);border-radius:12px;padding:16px 20px;margin:16px 0 14px}
.w4a-mchal .k{font-family:'JetBrains Mono',monospace;font-size:.52rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-lt);margin-bottom:5px}
.w4a-mchal .t{font-family:'Fraunces',serif;font-size:1.05rem;font-weight:500;line-height:1.2}
.w4a-mphase{background:var(--paper);border:1px solid var(--bdr);border-radius:10px;padding:16px 18px;margin-bottom:10px;position:relative;overflow:hidden}
.w4a-mphase::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--accent)}
.w4a-mphase .hd{display:flex;align-items:baseline;gap:8px;margin-bottom:10px}
.w4a-mphase .rn{font-family:'JetBrains Mono',monospace;font-size:.6rem;color:var(--accent)}
.w4a-mphase h4{font-family:'Fraunces',serif;font-size:1.1rem;font-weight:600}
.w4a-mphase .sub{font-family:'JetBrains Mono',monospace;font-size:.54rem;letter-spacing:.1em;text-transform:uppercase;color:var(--i3);margin-left:auto}
.w4a-mleaves{display:flex;flex-direction:column;gap:7px}
.w4a-mleaf{display:flex;gap:9px;align-items:flex-start;font-size:.86rem;color:var(--i2);line-height:1.45}
.w4a-mleaf::before{content:'';width:5px;height:5px;border-radius:50%;background:var(--accent);margin-top:7px;flex-shrink:0}
.w4a-outcome{margin-top:24px;background:var(--teal);color:var(--paper);border-radius:10px;padding:18px 24px;display:flex;align-items:center;gap:14px}
.w4a-outcome .ok{font-family:'JetBrains Mono',monospace;font-size:.54rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(245,240,230,.65);white-space:nowrap}
.w4a-outcome .ot{font-family:'Fraunces',serif;font-style:italic;font-size:1.1rem;line-height:1.3;transition:opacity .3s ease}
/* compact mobile spider */
.w4a-mini{display:none}
.w4a-wm-hub{fill:var(--ink)}
.w4a-wm-hubt{fill:var(--gold-lt,#cfa961);font-family:'Fraunces',serif;font-size:17px;font-weight:500;text-anchor:middle;dominant-baseline:central}
.w4a-wm-phase circle{fill:var(--ink)}
.w4a-wm-phase text{fill:var(--gold-lt,#cfa961);font-family:'JetBrains Mono',monospace;font-size:10px;text-anchor:middle;dominant-baseline:central}
.w4a-wm-leaf{fill:var(--paper);stroke:var(--accent);stroke-width:1.5}
.w4a-wm-line{stroke:var(--bdr);stroke-width:1.5;fill:none}
.w4a-wm-line-live{stroke:var(--accent);stroke-width:2;fill:none;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1}
.w4a-wm-leaf-line{stroke:var(--bdr);stroke-width:1;fill:none}
.w4a-wm-leaf-live{stroke:var(--accent);stroke-width:1.4;fill:none;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;opacity:.8}
.w4a-wm-pulse{fill:var(--teal)}
@media(max-width:820px){
  .w4a-web{display:none}
  .w4a-webm{display:block}
  .w4a-mini{display:block;width:300px;max-width:86vw;height:auto;margin:16px auto 20px;overflow:visible}
  .w4a-outcome{flex-direction:column;align-items:flex-start;gap:6px}
}
@media(prefers-reduced-motion:reduce){
  .w4a-l-main-live,.w4a-l-leaf-live,.w4a-pulse,.w4a-wm-line-live,.w4a-wm-leaf-live{display:none}
  .w4a-phase,.w4a-leaf{opacity:1!important;animation:none!important;transform:translate(-50%,-50%)!important}
}


/* 4A web interactivity */
.w4a-pop{animation:w4apop .45s cubic-bezier(.22,.61,.36,1)}
.w4a-phase{cursor:pointer}
.w4a-leaf,.w4a-phase{transition:opacity .35s ease,transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.w4a-leaf:hover{transform:translate(-50%,-50%) scale(1.07)!important;border-color:var(--accent);box-shadow:0 12px 30px rgba(42,36,24,.18);z-index:7}
.w4a-phase:hover{transform:translate(-50%,-50%) scale(1.06)!important}
.w4a-dim{opacity:.24!important}
.w4a-l-main-live.w4a-dim-line,.w4a-l-leaf-live.w4a-dim-line{opacity:.12}
.w4a-l-main-live.hot,.w4a-l-leaf-live.hot{stroke-width:3.4;opacity:1}
.w4a-note{max-width:640px;margin:22px auto 0;text-align:center;font-size:.92rem;color:var(--i2);line-height:1.6;opacity:0;transform:translateY(6px);transition:opacity .3s ease,transform .3s ease}
.w4a-note.on{opacity:1;transform:none}
.w4a-note-k{display:block;font-family:'JetBrains Mono',monospace;font-size:.56rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-deep);margin-bottom:5px}
@media(max-width:820px){.w4a-note{display:none}}


/* ═══ Logo wall (credentials) ═══ */
.cband{padding:24px 5vw}
.cband-in{flex-direction:column;gap:14px}
.clbl{font-size:.6rem;letter-spacing:.16em}
.logowall{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;max-width:980px;margin:0 auto}
.lw,.lband .lchip{font-family:'Fraunces',serif;font-weight:600;font-size:1rem;color:var(--i2);letter-spacing:.005em;padding:11px 22px;border:1px solid var(--bdr);border-radius:6px;background:var(--paper);transition:border-color .22s ease,color .22s ease,transform .22s ease;white-space:nowrap;line-height:1;display:inline-flex;align-items:center;min-height:46px}
.lw:hover,.lband .lchip:hover{border-color:var(--accent);color:var(--accent-deep);transform:translateY(-2px)}
.lband .lgrid{gap:10px;max-width:860px;margin:0 auto}
@media(max-width:600px){.lw,.lband .lchip{font-size:.9rem;padding:9px 16px;min-height:42px}}


/* Health check in hero */
.hero-hc{width:100%}
.hero-hc .hc-card{padding:30px 30px 32px;box-shadow:0 16px 46px rgba(42,36,24,.12)}
.hero-hc .hc-card h2{font-size:1.5rem}
.hero-hc .hc-intro p{font-size:.92rem}
@media(max-width:1000px){.hero-hc{margin-top:8px}}


/* ═══ Logo wall (image logos) ═══ */
.logowall{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:18px 38px;max-width:1040px;margin:0 auto}
.lw-logo{display:inline-flex;align-items:center;height:44px;opacity:.92;transition:opacity .2s ease}
.lw-logo:hover{opacity:1}
.lw-logo img{max-height:33px;max-width:140px;width:auto;object-fit:contain;display:block}
.lw-logo.tall img{max-height:46px}
.lw-txt{font-family:'Fraunces',serif;font-weight:600;font-size:1.02rem;color:var(--i2);letter-spacing:.01em;white-space:nowrap;display:inline-flex;align-items:center;height:44px}
@media(max-width:600px){.logowall{gap:14px 24px}.lw-logo img{max-height:26px}.lw-logo.tall img{max-height:38px}.lw-txt{font-size:.88rem}}
/* multi-page anchor nav */
.np,.logo,.nbk,.mmenu a,.fc a,.fbot a{text-decoration:none}
.np{display:inline-flex;align-items:center}

/* ═══ Insights / blog ═══ */
.insights-list{max-width:1000px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:22px}
.ins-card{background:var(--paper);border:1px solid var(--bdr);border-radius:12px;padding:26px 26px 22px;display:flex;flex-direction:column;transition:box-shadow .3s ease,transform .3s ease;text-decoration:none;color:inherit}
.ins-card:hover{box-shadow:0 16px 40px rgba(42,36,24,.12);transform:translateY(-3px);border-color:var(--accent)}
.ins-card .ins-meta{font-family:'JetBrains Mono',monospace;font-size:.56rem;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-bottom:12px}
.ins-card h3{font-family:'Fraunces',serif;font-size:1.3rem;font-weight:600;line-height:1.2;margin-bottom:10px}
.ins-card p{font-size:.9rem;color:var(--i2);line-height:1.7;margin-bottom:16px;flex:1}
.ins-card .ins-read{font-family:'Fraunces',serif;font-style:italic;color:var(--accent);font-size:.95rem}
.article-body{max-width:760px;margin:0 auto}
.art-meta{font-family:'JetBrains Mono',monospace;font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted,#8a7f6a);margin-bottom:28px;padding-bottom:18px;border-bottom:1px solid var(--bdr)}
.article-body p{font-size:1.02rem;color:var(--i2);line-height:1.85;margin:16px 0}
.article-body h2{font-family:'Fraunces',serif;font-size:1.5rem;font-weight:600;color:var(--ink);margin:34px 0 8px}
.article-body ul{margin:14px 0 14px 22px}
.article-body li{font-size:1.02rem;color:var(--i2);line-height:1.8;margin:7px 0}
.article-body strong{color:var(--ink);font-weight:600}
.art-cta{background:var(--ink);color:var(--paper);border-radius:12px;padding:30px 32px;margin:40px 0 28px;text-align:center}
.art-cta h3{font-family:'Fraunces',serif;font-weight:500;font-size:1.35rem;margin-bottom:8px}
.art-cta p{color:rgba(245,240,230,.7);font-size:.95rem;margin-bottom:18px}
.art-back{display:inline-block;font-family:'Fraunces',serif;font-style:italic;color:var(--accent);font-size:.95rem;text-decoration:none}
.art-back:hover{color:var(--accent-deep)}
@media(max-width:600px){.article-body p,.article-body li{font-size:.98rem}}

/* explicit section-heading + lead (used by insights/articles) */
.sh{font-family:'Fraunces',serif;font-size:clamp(2rem,4vw,3.1rem);font-weight:600;color:var(--ink);letter-spacing:-.02em;line-height:1.1}
.sh em{font-style:italic;color:var(--accent)}
.lead{font-size:1.05rem;color:var(--i2);line-height:1.8}
