:root{
  --ink:#14151A; --porcelain:#F5F3ED; --white:#FFFFFF;
  --brass:#C9A961; --brass-deep:#96772A;
  --graphite:#5B6270; --slate:#262B38; --bone:#E3E0D8; --mist:#8A93A3;
  --serif:'Fraunces', ui-serif, 'New York', Georgia, 'Times New Roman', serif;
  --sans:'Hanken Grotesk', -apple-system, 'SF Pro Text', 'Segoe UI', sans-serif;
  --mono:'JetBrains Mono', ui-monospace, 'SF Mono', Menlo, monospace;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:hidden;overflow-x:clip;max-width:100%;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{overflow-x:hidden;overflow-x:clip;max-width:100%}
*{max-width:100%;box-sizing:border-box}
body{font-family:var(--sans);color:var(--ink);background:var(--porcelain);font-size:17.5px;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}
.eyebrow{font-family:var(--mono);font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--brass-deep)}
.dark .eyebrow{color:var(--brass)}
h1,h2,.serif{font-family:var(--serif);font-weight:480;letter-spacing:-0.01em}
.btn{display:inline-block;font-weight:600;font-size:15.5px;padding:14px 26px;border-radius:6px;transition:opacity .15s;border:none;cursor:pointer}
.btn:hover{opacity:.9}
.btn-brass{background:var(--brass-deep);color:var(--white)}
.dark .btn-brass{background:var(--brass);color:var(--ink)}
.btn-ghost{border:1px solid var(--slate);color:var(--porcelain);background:none}
.grid-bg{background-image:linear-gradient(var(--slate) 1px, transparent 1px),linear-gradient(90deg, var(--slate) 1px, transparent 1px);background-size:44px 44px}
section{padding:92px 0}
@media(max-width:700px){section{padding:66px 0}}

/* ---- details/summary drill-down primitives ---- */
details{border-top:1px solid var(--bone)}
details:last-child{border-bottom:1px solid var(--bone)}
summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:20px 4px;-webkit-tap-highlight-color:transparent}
summary::-webkit-details-marker{display:none}
summary::marker{content:"";display:none}
summary .tog{flex:none;width:26px;height:26px;border:1px solid var(--bone);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:15px;color:var(--brass-deep);transition:transform .2s}
details[open] summary .tog{transform:rotate(45deg)}
.d-body{padding:0 4px 24px}
.dark details, .dark details:last-child{border-color:var(--slate)}
.dark summary .tog{border-color:var(--slate);color:var(--brass)}

/* ---- visual layer ---- */
.hero-cols{display:grid;grid-template-columns:1fr;gap:44px;align-items:start}
@media(min-width:1020px){.hero-cols{grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:56px}.hero-cols .console{justify-self:end;margin-top:6px}}
.console{background:#101116;border:1px solid var(--slate);border-top:2px solid var(--brass);padding:0;font-family:var(--mono);max-width:520px;width:100%}
.console .c-head{display:flex;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid var(--slate);font-size:11.5px;letter-spacing:.12em;color:var(--mist)}
.console .c-head .live{width:8px;height:8px;border-radius:50%;background:var(--brass);animation:pulse 2s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.35}}
.sig{display:grid;grid-template-columns:96px 1fr 34px;gap:12px;align-items:center;padding:13px 18px;border-bottom:1px solid var(--slate)}
.sig .cat{font-size:10px;letter-spacing:.1em;color:var(--mist)}
.sig .desc{font-family:var(--sans);font-size:13.5px;color:#C8CCD6}
.sig .score{font-size:12px;color:var(--brass);text-align:right}
.sig .bar{grid-column:1 / -1;height:3px;background:var(--slate);margin-top:2px}
.sig .bar i{display:block;height:3px;background:var(--brass)}
.console .c-foot{padding:13px 18px;font-size:11px;letter-spacing:.06em;color:var(--porcelain)}
.console .c-foot b{color:var(--brass);font-weight:500}
.demo-note{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;color:var(--mist);text-transform:uppercase;padding:10px 18px;border-top:1px solid var(--slate)}

.practice{background:var(--porcelain)}
.walk{display:grid;grid-template-columns:repeat(auto-fit,minmax(255px,1fr));gap:20px;margin-top:8px}
.wcard{background:var(--white);border:1px solid var(--bone);padding:0;display:flex;flex-direction:column}
.wcard .w-head{padding:16px 20px;border-bottom:1px solid var(--bone);display:flex;justify-content:space-between;align-items:center}
.wcard .w-head .n{font-family:var(--mono);font-size:11px;letter-spacing:.12em;color:var(--brass-deep)}
.wcard .w-head h4{font-family:var(--serif);font-weight:480;font-size:18px}
.wcard .w-body{padding:16px 20px;flex:1}
.wcard .w-cap{padding:12px 20px;border-top:1px solid var(--bone);font-size:13px;color:var(--graphite)}
.mrow{display:flex;justify-content:space-between;gap:10px;font-family:var(--mono);font-size:11px;letter-spacing:.04em;color:var(--graphite);padding:7px 0;border-bottom:1px solid var(--bone)}
.mrow:last-child{border-bottom:none}
.mrow .v{color:var(--ink)}
.mrow .v.up{color:var(--brass-deep)}
.wbar{margin:9px 0}
.wbar .wl{display:flex;justify-content:space-between;font-family:var(--mono);font-size:10.5px;letter-spacing:.06em;color:var(--graphite);margin-bottom:4px}
.wbar .wt{height:5px;background:var(--bone)}
.wbar .wt i{display:block;height:5px;background:var(--brass-deep)}
.gate{display:inline-block;font-family:var(--mono);font-size:10px;letter-spacing:.12em;border:1px solid var(--brass-deep);color:var(--brass-deep);padding:4px 9px;border-radius:3px}
.draft{font-family:var(--mono);font-size:11.5px;line-height:1.7;color:var(--graphite);background:var(--porcelain);border:1px solid var(--bone);padding:12px 14px;margin-top:10px}
.draft .dh{color:var(--ink)}
.gactions{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}
.gactions span{font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;border:1px solid var(--bone);padding:5px 11px;border-radius:3px;color:var(--graphite)}
.gactions span:first-child{background:var(--brass-deep);border-color:var(--brass-deep);color:var(--white)}
.illus{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--mist);margin-top:26px}

.eng-line{display:flex;align-items:stretch;gap:0;margin:10px 0 48px;border:1px solid var(--bone);flex-wrap:wrap}
.eng-step{flex:1 1 210px;min-width:0;padding:20px 22px;border-right:1px solid var(--bone)}
.eng-step:last-child{border-right:none}
.eng-step .es-k{font-family:var(--mono);font-size:11px;letter-spacing:.12em;color:var(--brass-deep);margin-bottom:8px}
.eng-step h4{font-family:var(--serif);font-weight:480;font-size:19px;margin-bottom:5px}
.eng-step p{font-size:13.5px;color:var(--graphite)}

.arch{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:14px 0 50px}
.arch .abox{font-family:var(--mono);font-size:11.5px;letter-spacing:.08em;border:1px solid var(--slate);color:#C8CCD6;padding:12px 16px;background:#101116;cursor:pointer;transition:border-color .2s,color .2s}
.arch .abox:hover{border-color:var(--brass);color:var(--brass)}
.arch .abox.g{border-color:var(--brass);color:var(--brass)}
.arch .aarr{color:var(--mist);font-family:var(--mono)}

/* ---- end-to-end polish ---- */
body.anim .rv{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}
body.anim .rv.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){body.anim .rv{opacity:1;transform:none;transition:none}}
.wcard,.person,.offer{transition:transform .2s ease,border-color .2s ease}
.wcard:hover,.person:hover{transform:translateY(-3px);border-color:var(--brass-deep)}
summary:hover h3, summary:hover h4{color:var(--brass-deep)}
.dark summary:hover h3, .dark summary:hover h4{color:var(--brass)}
.statband{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1px;background:var(--bone);border:1px solid var(--bone);margin-top:44px}
.statband .sb{background:var(--white);padding:22px 20px}
.statband .sb .v{font-family:var(--serif);font-weight:540;font-size:34px;color:var(--ink)}
.statband .sb .l{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;color:var(--graphite);text-transform:uppercase;margin-top:6px}
.persp{background:var(--ink);color:var(--porcelain)}
.pov{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--slate);border:1px solid var(--slate)}
.pov .pv:last-child:nth-child(odd):not(:first-child){grid-column:span 2}
@media(max-width:700px){.pov{grid-template-columns:1fr}.pov .pv:last-child:nth-child(odd):not(:first-child){grid-column:auto}}
.pov .pv{background:var(--ink);padding:34px 30px}
.pov .pv .k{font-family:var(--mono);font-size:11.5px;letter-spacing:.12em;color:var(--brass);margin-bottom:14px}
.pov .pv h3{font-family:var(--serif);font-weight:480;font-size:24px;line-height:1.25;margin-bottom:12px}
.pov .pv p{font-size:15px;color:#B9BEC9}
.faq{background:var(--white)}
.faq summary h3{font-family:var(--serif);font-weight:480;font-size:20px}
.faq .d-body p{font-size:15.5px;color:var(--graphite);max-width:800px;margin-bottom:8px}
.cform{margin-top:8px;display:grid;grid-template-columns:1fr 1fr;gap:14px;max-width:720px}
.cform .full{grid-column:1 / -1}
.cform input,.cform textarea{width:100%;background:#101116;border:1px solid var(--slate);color:var(--porcelain);font-family:var(--sans);font-size:15px;padding:13px 15px;border-radius:5px}
.cform input:focus,.cform textarea:focus{outline:none;border-color:var(--brass)}
.cform label{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;color:var(--mist);text-transform:uppercase;display:block;margin-bottom:6px}
.cform textarea{min-height:110px;resize:vertical}
.cform .btn{grid-column:1 / -1;justify-self:start}
@media(max-width:640px){.cform{grid-template-columns:1fr}}
.or-book{margin-top:26px;font-size:15px;color:#C8CCD6}
.or-book a{color:var(--brass);border-bottom:1px solid var(--brass)}
.bigfoot{background:var(--ink);border-top:1px solid var(--slate);padding:56px 0 28px;color:var(--mist)}
.bf-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:36px;margin-bottom:44px}
@media(max-width:820px){.bf-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.bf-grid{grid-template-columns:1fr}}
.bf-grid .bfh{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;color:var(--mist);text-transform:uppercase;margin-bottom:14px}
.bf-grid a{display:block;font-size:14px;color:#B9BEC9;padding:5px 0}
.bf-grid a:hover{color:var(--porcelain)}
.bf-grid .tag{font-size:14px;color:#B9BEC9;max-width:280px;margin-top:12px}
.bf-bottom{border-top:1px solid var(--slate);padding-top:22px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:13px}

/* ---- data-viz layer ---- */
.num[data-count]{font-variant-numeric:tabular-nums}
.bchart{margin-top:46px;border:1px solid var(--slate);padding:28px 26px}
.bchart .bt{font-family:var(--serif);font-size:21px;font-weight:480;margin-bottom:4px}
.bchart .bs{font-family:var(--mono);font-size:10.5px;letter-spacing:.09em;color:var(--mist);text-transform:uppercase;margin-bottom:22px}
.brow{display:grid;grid-template-columns:210px 1fr 52px;gap:14px;align-items:center;padding:9px 0}
@media(max-width:640px){.brow{grid-template-columns:130px 1fr 44px}}
.brow .bl{font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:#B9BEC9}
.brow .btr{height:10px;background:#101116;border:1px solid var(--slate)}
.brow .btr i{display:block;height:100%;background:var(--brass);width:0;transition:width 1.1s cubic-bezier(.2,.7,.2,1)}
.brow.hl .btr i{background:var(--brass)}
.brow .bv{font-family:var(--mono);font-size:12px;color:var(--porcelain);text-align:right}
.bchart .bnote{margin-top:18px;font-size:13px;color:var(--mist)}
.calc{background:var(--porcelain)}
.calc-fallback{display:block}body.ready .calc-fallback{display:none}.calc-grid{display:none}body.ready .calc-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:44px;align-items:start;margin-top:28px}
.calc-live-note{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;color:var(--brass-deep);text-transform:uppercase;margin:26px 0 -14px}
body.ready .calc-live-note{display:none}
@media(max-width:860px){body.ready .calc-grid{grid-template-columns:1fr}}
.cin{background:var(--white);border:1px solid var(--bone);padding:30px 28px}
.cin .fld{margin-bottom:20px}
.cin label{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;color:var(--graphite);text-transform:uppercase;display:flex;justify-content:space-between;margin-bottom:8px}
.cin label output{color:var(--brass-deep)}
.cin input[type=range]{width:100%;accent-color:#96772A}
.cout{background:var(--ink);color:var(--porcelain);padding:34px 30px;border-top:2px solid var(--brass)}
.cin .grp{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;color:var(--brass-deep);text-transform:uppercase;margin:0 0 14px;padding-top:6px}
.cin .grp + .fld{margin-top:0}
.cout .legend{font-family:var(--mono);font-size:10px;letter-spacing:.07em;color:var(--mist);margin:2px 0 20px;line-height:1.8}
.cout .co-k{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;color:var(--mist);text-transform:uppercase}
.cout .co-v{font-family:var(--serif);font-weight:540;font-size:clamp(38px,4.5vw,54px);color:var(--porcelain);line-height:1.1;font-variant-numeric:tabular-nums}
.cout .co-v .u{color:var(--brass)}
.cout .co-math{font-family:var(--mono);font-size:11px;color:var(--mist);margin:8px 0 22px;line-height:1.7}
.cout .tier{display:inline-block;font-family:var(--mono);font-size:11px;letter-spacing:.1em;border:1px solid var(--brass);color:var(--brass);padding:5px 12px;border-radius:3px;margin-bottom:20px}
.gauge{float:right;width:118px;height:118px;margin-left:14px}
@media(max-width:520px){.gauge{display:none}}
.cout .co-note{font-size:12.5px;color:var(--mist);border-top:1px solid var(--slate);padding-top:16px;clear:both}
.diamond-wrap{display:grid;grid-template-columns:300px 1fr;gap:40px;align-items:center;margin:6px 0 44px}
@media(max-width:820px){.diamond-wrap{grid-template-columns:1fr;justify-items:center}}
.diamond-wrap svg{width:100%;max-width:300px;height:auto}
.dseg{fill:#101116;stroke:var(--slate);stroke-width:1.5;cursor:pointer;transition:fill .2s}
.dseg:hover,.dseg.on{fill:var(--brass);stroke:var(--brass)}
.dseg:hover + .dlab, .dseg.on + .dlab{fill:var(--ink)}
.dlab{font-family:var(--mono);font-size:10px;letter-spacing:.12em;fill:#B9BEC9;pointer-events:none;text-anchor:middle}
.dhint{font-family:var(--mono);font-size:11px;letter-spacing:.08em;color:var(--mist)}

/* ---- industry playbooks ---- */
.plays{background:var(--white)}
.ptabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:0}
.ptab{font-family:var(--mono);font-size:11.5px;letter-spacing:.08em;border:1px solid var(--bone);background:none;color:var(--graphite);padding:10px 16px;border-radius:4px;cursor:pointer}
.ptab.on{background:var(--ink);border-color:var(--ink);color:var(--porcelain)}
.ppanel{display:grid;grid-template-columns:1.15fr 1fr;gap:40px;padding:6px 4px 26px}
@media(max-width:820px){.ppanel{grid-template-columns:1fr}}
.plays summary .uc-t{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}
.plays summary h3{font-family:var(--serif);font-weight:480;font-size:21px}
.plays summary .k{font-family:var(--mono);font-size:11.5px;letter-spacing:.09em;color:var(--brass-deep);white-space:nowrap}
.ppanel .ph{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;color:var(--brass-deep);text-transform:uppercase;margin-bottom:10px}
.ppanel h3{font-family:var(--serif);font-weight:480;font-size:24px;margin-bottom:12px}
.ppanel p{font-size:15px;color:var(--graphite);margin-bottom:18px}
.ppanel .chg{border-left:2px solid var(--brass-deep);padding-left:16px;font-size:15px;color:var(--ink)}
.chips{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:22px}
.chip{font-family:var(--mono);font-size:10.5px;letter-spacing:.06em;border:1px solid var(--brass-deep);color:var(--brass-deep);padding:5px 10px;border-radius:3px}
.plist{list-style:none}
.plist li{font-size:14px;color:var(--graphite);padding:8px 0 8px 16px;position:relative;border-top:1px solid var(--bone)}
.plist li:first-child{border-top:none}
.plist li::before{content:"";position:absolute;left:0;top:15px;width:5px;height:5px;background:var(--brass-deep);border-radius:50%}

.calc-fallback{border:1px solid var(--bone);background:var(--white)}
.calc-fallback .cf-row{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:16px;padding:18px 22px;border-top:1px solid var(--bone);align-items:baseline}
.calc-fallback .cf-row:first-child{border-top:none;background:var(--ink)}
.calc-fallback .cf-h{font-family:var(--mono);font-size:10.5px;letter-spacing:.11em;color:var(--mist);text-transform:uppercase}
.calc-fallback .cf-in{font-size:14px;color:var(--graphite)}
.calc-fallback .cf-v{font-family:var(--serif);font-weight:540;font-size:22px;color:var(--ink)}
.calc-fallback .cf-m{font-family:var(--mono);font-size:10.5px;color:var(--graphite)}
@media(max-width:700px){.calc-fallback .cf-row{grid-template-columns:1fr;gap:6px}}
.calc-fallback .cf-note{padding:16px 22px;font-size:13px;color:var(--graphite);border-top:1px solid var(--bone)}

a[data-go]{cursor:pointer}
body:not(.ready) .ind-hint, body:not(.ready) .dhint{display:none}
body:not(.ready) .cin input[type=range]{pointer-events:none;opacity:.4}
body:not(.ready) .ind{cursor:default}


/* ============ NAV ============ */
nav{position:sticky;top:0;z-index:100;background:var(--ink);border-bottom:1px solid var(--slate)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:64px;gap:12px}
.logo{display:flex;align-items:center;gap:9px;flex:none}
.logo svg{width:32px;height:32px}
.logo .m-serif{font-family:var(--serif);font-weight:540;font-size:22px;color:var(--porcelain)}
.logo .m-ai{font-family:var(--mono);font-weight:500;font-size:12.5px;letter-spacing:.06em;color:var(--brass)}
.nav-links{display:flex;gap:4px;align-items:center;flex-wrap:nowrap}
.nav-links > a, .ddbtn{font-family:var(--sans);font-size:14.5px;font-weight:500;color:#B9BEC9;padding:10px 13px;background:none;border:none;cursor:pointer;display:flex;align-items:center;gap:6px;white-space:nowrap}
.nav-links > a:hover, .ddbtn:hover{color:var(--porcelain)}
.nav-cta{margin-left:8px;padding:10px 17px;font-size:14px;background:var(--brass);color:var(--ink);border-radius:6px;font-weight:600}
.dd{position:relative}
.ddbtn .caret{font-size:10px;color:var(--mist);transition:transform .2s}
.dd.open .ddbtn .caret{transform:rotate(180deg)}
.dd-menu{position:absolute;top:100%;left:0;min-width:min(320px,calc(100vw - 32px));background:var(--ink);border:1px solid var(--slate);border-top:2px solid var(--brass);padding:10px;display:none;max-height:70vh;overflow-y:auto}
.nav-links .dd:nth-last-of-type(-n+2) .dd-menu{left:auto;right:0}
.dd.open .dd-menu{display:block}
.dd-menu a{display:block;padding:11px 14px;font-size:14.5px;color:#B9BEC9;border-radius:4px}
.dd-menu a:hover{background:var(--slate);color:var(--porcelain)}
.dd-h{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;color:var(--mist);text-transform:uppercase;padding:12px 14px 6px}
.burger{display:none;flex-direction:column;gap:5px;background:none;border:none;padding:10px;cursor:pointer}
.burger span{display:block;width:22px;height:2px;background:var(--porcelain)}
.m-menu{display:none;position:fixed;inset:64px 0 0 0;background:var(--ink);z-index:99;overflow-y:auto;padding:14px 24px 48px}
.m-menu.open{display:block}
.m-menu a{display:block;padding:14px 4px;font-size:18px;color:var(--porcelain);border-bottom:1px solid var(--slate)}
.m-menu .dd-h{padding:24px 4px 8px}
.m-menu .btn{margin-top:24px;display:block;text-align:center}
@media(max-width:920px){.nav-links{display:none}.burger{display:flex}}

nav details, nav details:last-child{border:none}
nav summary.ddbtn{padding:10px 13px;justify-content:flex-start;gap:6px}
nav summary.ddbtn::-webkit-details-marker{display:none}
details.dd[open] .caret{transform:rotate(180deg)}
details.dd[open] .dd-menu{display:block}
#menu-t:checked ~ .m-menu{display:block}
@media(min-width:921px){#menu-t:checked ~ .m-menu{display:none}}

.m-menu details{border-bottom:1px solid var(--slate)}
.m-menu details, .m-menu details:last-child{border-top:none}
.m-menu summary{padding:15px 4px}
.m-menu summary h4{font-family:var(--sans);font-weight:500;font-size:18px;color:var(--porcelain)}
.m-menu summary .tog{border-color:var(--slate);color:var(--brass)}
.m-menu .md-b{padding:0 4px 18px}
.m-menu .md-b p{font-size:14.5px;line-height:1.55;color:#B9BEC9;margin-bottom:9px}
.m-menu .md-b p b{color:var(--porcelain);font-weight:600}
.m-menu .md-b .mh{font-family:var(--mono);font-size:10.5px;letter-spacing:.11em;color:var(--brass);text-transform:uppercase;margin:14px 0 6px}
.m-menu .md-b ul{list-style:none}
.m-menu .md-b li{font-size:13.5px;color:#B9BEC9;padding:6px 0 6px 15px;position:relative;border-top:1px solid var(--slate)}
.m-menu .md-b li:first-child{border-top:none}
.m-menu .md-b li::before{content:"";position:absolute;left:0;top:13px;width:4px;height:4px;background:var(--brass);border-radius:50%}
.m-menu .md-b .go{display:inline-block;font-family:var(--mono);font-size:11px;letter-spacing:.09em;color:var(--brass);border-bottom:1px solid var(--brass);padding:0;margin-top:10px}

/* ============ HERO ============ */
.hero{background:var(--ink);color:var(--porcelain);position:relative;overflow:hidden;padding:96px 0 84px}
.hero .grid-overlay{position:absolute;inset:0;opacity:.45;pointer-events:none}
.hero-inner{position:relative}
.hero h1{font-size:clamp(36px,4.5vw,58px);line-height:1.08;margin:20px 0 22px;max-width:900px}
.hero h1 .accent{color:var(--brass)}
.hero p.lead{font-size:19px;color:#C8CCD6;max-width:700px;margin-bottom:32px}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap}
.flow{display:flex;align-items:center;margin-top:70px;flex-wrap:wrap}
.flow .node{display:flex;flex-direction:column;align-items:center;gap:9px}
.flow .dot{width:13px;height:13px;border-radius:50%;background:var(--porcelain)}
.flow .dot.b{background:var(--brass)}
.flow .lbl{font-family:var(--mono);font-size:11.5px;letter-spacing:.1em;color:var(--mist)}
.flow .edge{height:2px;width:clamp(30px,7.5vw,105px);background:var(--slate);margin:0 6px;margin-bottom:21px}

/* ============ SECTION HEADINGS ============ */
.sec-h h2{font-size:clamp(29px,3.7vw,45px);margin:18px 0 14px;max-width:820px}
.sec-h p.sub{color:var(--graphite);max-width:700px;margin-bottom:44px}
.dark .sec-h p.sub{color:#C8CCD6}

/* ============ FIRM ============ */
.firm{background:var(--porcelain)}
.firm-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:60px;align-items:start}
@media(max-width:860px){.firm-grid{grid-template-columns:1fr;gap:36px}}
.firm p{color:var(--graphite);margin-bottom:16px}
.firm p b{color:var(--ink);font-weight:600}
.principle-list details summary h3{font-family:var(--serif);font-weight:480;font-size:21px}
.pcard{border:1px solid var(--bone);background:var(--white);padding:18px 20px 16px;margin-bottom:12px}
.pcard .pn{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--brass-deep);margin-bottom:8px}
.pcard p{font-size:14.5px;line-height:1.6;color:var(--graphite);margin:0}
.principle-list details.story{border-top:0;border:1px solid var(--bone);background:var(--white);padding:0 20px;margin-top:12px}
.principle-list .n{font-family:var(--mono);font-size:12px;letter-spacing:.1em;color:var(--brass-deep);margin-right:12px}
.principle-list .d-body p{font-size:15.5px;color:var(--graphite)}

/* ============ STATS ============ */
.problem{background:var(--ink);color:var(--porcelain)}
.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--slate);border:1px solid var(--slate)}
.stats .stat:last-child:nth-child(3n+2){grid-column:span 2}
.stats .stat:last-child:nth-child(3n+1):not(:first-child){grid-column:span 3}
.stat{background:var(--ink);padding:30px 25px;transition:background .25s ease,box-shadow .25s ease}
.stat .pl{font-family:var(--mono);font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--brass);margin-bottom:12px}
.stat:hover{background:#1C212D;box-shadow:inset 0 2px 0 var(--brass)}
.stat .num{font-family:var(--serif);font-weight:540;font-size:50px;line-height:1}
.stat .num .u{color:var(--brass)}
.stat .cap{margin-top:12px;font-size:14.5px;color:#B9BEC9}
.stat .src{margin-top:10px;font-family:var(--mono);font-size:11px;letter-spacing:.08em;color:var(--mist);text-transform:uppercase}
.problem .close{margin-top:42px;max-width:780px;font-family:var(--serif);font-size:clamp(20px,2.5vw,26px);line-height:1.35}
.problem .close .accent{color:var(--brass)}

/* ============ DEPLOY (use cases) ============ */
.deploy{background:var(--white)}
.deploy summary .uc-t{display:flex;align-items:baseline;gap:14px;flex-wrap:nowrap}
.deploy summary h3{font-family:var(--serif);font-weight:480;font-size:18.5px;transition:color .15s}
.deploy summary .k{font-family:var(--mono);font-size:12px;letter-spacing:.1em;color:var(--brass-deep)}
.deploy .d-body p{font-size:15.5px;color:var(--graphite);max-width:760px;margin-bottom:10px}
.deploy .d-body .out{font-size:15px;color:var(--ink)}
.deploy .d-body .out b{font-weight:600}
/* Executive-compact presentation: two-up cards; an open item spans full width */
.deploy .wrap,.caps .wrap{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px;align-items:stretch}
.deploy .wrap > *,.caps .wrap > *{grid-column:1/-1;min-width:0}
.deploy .wrap > details,.caps .wrap > details{grid-column:auto;border:1px solid var(--bone);background:var(--white);padding:2px 18px;transition:border-color .15s}
.deploy .wrap > details:hover,.caps .wrap > details:hover{border-color:var(--brass)}
.deploy .wrap > details[open],.caps .wrap > details[open]{grid-column:1/-1;border-color:var(--brass)}
.deploy summary,.caps summary{padding:16px 0;align-items:center}
.deploy summary .uc-t,.caps summary .uc-t{flex-wrap:nowrap;align-items:baseline}
.deploy summary .k,.caps summary .k{flex:none;min-width:24px}
.deploy summary .uc-t h3,.caps summary .uc-t h3{min-width:0}
@media(max-width:640px){.deploy summary .uc-t,.caps summary .uc-t{gap:10px}.deploy .wrap > .dep-g{padding:16px 16px 4px}}
.deploy summary:hover h3,.caps summary:hover h3{color:var(--brass-deep)}
.deploy .wrap > .dgroup,.caps .wrap > .dgroup{margin:26px 0 0;padding-top:0;border-top:0}
@media(max-width:880px){.deploy .wrap,.caps .wrap{display:block}.deploy .wrap > details,.caps .wrap > details{margin-bottom:12px}}
/* What We Deploy: one card per system group, sub-systems as slim rows inside */
.deploy .wrap > .dep-g{grid-column:auto;border:1px solid var(--bone);background:var(--white);padding:22px 24px 8px;min-width:0}
.dep-g .dgroup{margin:0;padding:0;border:0;gap:8px 12px}
.dep-g .dgroup h3{font-size:19px}
.dep-g .dgroup p{font-size:13.5px;color:var(--graphite);margin-top:2px}
.dep-g details{margin-top:0;border-top:1px solid var(--bone)}
.dep-g details:first-of-type{margin-top:16px;border-top:1px solid var(--bone)}
.dep-g details:last-child{border-bottom:0}
.deploy .dep-g summary{padding:13px 0}
.deploy .dep-g summary h3{font-size:16.5px}
@media(max-width:880px){.deploy .wrap > .dep-g{margin-bottom:12px}}

.dgroup{display:flex;align-items:baseline;gap:14px;margin:44px 0 6px;flex-wrap:wrap}
.dgroup:first-of-type{margin-top:0}
.dgroup .gk{font-family:var(--mono);font-size:12px;letter-spacing:.12em;color:var(--brass-deep)}
.dgroup h3{font-family:var(--serif);font-weight:480;font-size:20px}
.dgroup p{width:100%;font-size:15px;color:var(--graphite);margin-top:2px}

/* ============ CAPABILITIES ============ */
.caps{background:var(--porcelain)}
.caps summary .uc-t{display:flex;align-items:baseline;gap:14px;flex-wrap:nowrap}
.caps summary h3{font-family:var(--serif);font-weight:480;font-size:19px;transition:color .15s}
.caps summary .k{font-family:var(--mono);font-size:12px;letter-spacing:.1em;color:var(--brass-deep)}
.caps .d-body{display:grid;grid-template-columns:1.1fr 1fr;gap:36px}
@media(max-width:760px){.caps .d-body{grid-template-columns:1fr;gap:18px}}
.caps .d-body > p{font-size:15.5px;color:var(--graphite)}
.caps ul{list-style:none}
.caps li{font-size:14.5px;color:var(--graphite);padding:8px 0 8px 18px;position:relative;border-top:1px solid var(--bone)}
.caps li:first-child{border-top:none}
.caps li::before{content:"";position:absolute;left:2px;top:16px;width:5px;height:5px;background:var(--brass-deep);border-radius:50%}

/* ============ PROGRAMS ============ */
.services{background:var(--white)}
.track{margin-bottom:56px}
.track:last-child{margin-bottom:0}
.track-head{display:flex;align-items:baseline;gap:16px;margin-bottom:8px;flex-wrap:wrap}
.track-head .tno{font-family:var(--mono);font-size:12.5px;letter-spacing:.12em;color:var(--brass-deep)}
.track-head h3{font-family:var(--serif);font-weight:480;font-size:28px}
.track > p{color:var(--graphite);max-width:720px;margin-bottom:14px;font-size:16px}
.services summary .uc-t{display:flex;flex-direction:column;gap:4px}
.services summary h4{font-family:var(--serif);font-weight:480;font-size:21px}
.services summary .meta{font-family:var(--mono);font-size:11.5px;letter-spacing:.09em;color:var(--mist);text-transform:uppercase}
.services .d-body{display:grid;grid-template-columns:1.1fr 1fr;gap:36px}
@media(max-width:760px){.services .d-body{grid-template-columns:1fr;gap:16px}}
.services .d-body p{font-size:15.5px;color:var(--graphite)}
.services .d-h{font-family:var(--mono);font-size:11px;letter-spacing:.12em;color:var(--brass-deep);text-transform:uppercase;margin-bottom:8px}
.services ul{list-style:none}
.services li{font-size:14.5px;color:var(--graphite);padding:7px 0 7px 16px;position:relative;border-top:1px solid var(--bone)}
.services li:first-child{border-top:none}
.services li::before{content:"";position:absolute;left:0;top:14px;width:5px;height:5px;background:var(--brass-deep);border-radius:50%}
.services .for{margin-top:14px;font-size:14px;color:var(--graphite)}
.services .for b{color:var(--ink);font-weight:600}

/* ============ METHOD ============ */
.method{background:var(--ink);color:var(--porcelain)}
.method summary h3{font-family:var(--serif);font-weight:480;font-size:22px}
.method summary .n{font-family:var(--mono);font-size:12px;letter-spacing:.12em;color:var(--brass);margin-right:12px}
.method .d-body p{font-size:15.5px;color:#B9BEC9;max-width:760px}
.derisk{margin-top:52px;border:1px solid var(--slate);padding:36px 32px}
@media(max-width:700px){.derisk{padding:26px 20px}}
.derisk h3{font-family:var(--serif);font-weight:480;font-size:26px;line-height:1.25;margin-bottom:20px}
.derisk h3 .accent{color:var(--brass)}
.derisk ul{list-style:none}
.derisk li{padding:12px 0;border-bottom:1px solid var(--slate);font-size:15.5px;color:#C8CCD6}
.derisk li:last-child{border-bottom:none}
.derisk li b{color:var(--porcelain);font-weight:600}

/* ============ INDUSTRIES / PRINCIPALS / CTA ============ */
.industries{background:var(--white);padding:64px 0}
.ind-row{display:none;flex-wrap:wrap;gap:10px;margin-top:22px}body.ready .ind-row{display:flex}
.ind{font-family:var(--mono);font-size:13px;letter-spacing:.05em;border:1px solid var(--bone);padding:11px 18px;border-radius:4px;color:var(--graphite);background:none;cursor:pointer;transition:border-color .2s,color .2s}
.ind:hover{border-color:var(--brass-deep);color:var(--brass-deep)}
.people{background:var(--porcelain)}
.pgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:26px}
.person{background:var(--white);border:1px solid var(--bone);padding:34px 30px}
.person .role{font-family:var(--mono);font-size:11.5px;letter-spacing:.1em;color:var(--brass-deep);text-transform:uppercase;margin-bottom:13px}
.person h3{font-family:var(--serif);font-weight:480;font-size:26px;margin-bottom:13px}
.person p{font-size:15px;color:var(--graphite);margin-bottom:12px}
.creds{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.cred{font-family:var(--mono);font-size:11px;letter-spacing:.05em;border:1px solid var(--bone);color:var(--graphite);padding:6px 10px;border-radius:4px}
.cta{background:var(--ink);color:var(--porcelain)}
.cta h2{font-size:clamp(31px,4.3vw,52px);max-width:840px;margin:18px 0 18px}
.cta p{color:#C8CCD6;max-width:660px;margin-bottom:32px;font-size:18px}
.cta p.honest{font-size:15px;color:var(--mist);margin-top:22px;margin-bottom:0}
footer{background:var(--ink);color:var(--mist);border-top:1px solid var(--slate);padding:32px 0}
.foot{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;font-size:13.5px}
.foot .logo .m-serif{font-size:18px}.foot .logo .m-ai{font-size:11px}

/* Live signal demo */
.sig-hint{display:none;font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;color:var(--brass);margin:10px 2px 0;text-transform:uppercase}
body.ready .sig-hint{display:block}
body.ready .console .sig{cursor:pointer}
body.ready .console .sig:active .desc,body.ready .console .sig:hover .desc{color:var(--brass)}
#sigstage{display:none;margin-top:14px;border-top:1px solid var(--slate);padding-top:14px}
#sigstage.on{display:block}
.sd-step{display:flex;gap:10px;align-items:flex-start;margin:0 0 10px;opacity:0;transform:translateY(4px);transition:opacity .35s,transform .35s}
.sd-step.in{opacity:1;transform:none}
.sd-k{font-family:var(--mono);font-size:10px;letter-spacing:.08em;color:var(--brass);white-space:nowrap;padding-top:3px;min-width:118px}
.sd-b{font-size:13px;color:#C7CBD4;line-height:1.5;min-width:0}
.sd-b ul{margin:4px 0 0;padding-left:16px}
.sd-b li{margin:2px 0}
.sd-draft{font-family:var(--mono);font-size:12px;line-height:1.55;background:rgba(255,255,255,.03);border:1px solid var(--slate);border-left:2px solid var(--brass);padding:12px;white-space:pre-wrap;color:#DDE0E6;margin-top:6px;min-height:40px}
.sd-gate{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px}
.sd-send{font-family:var(--mono);font-size:11px;letter-spacing:.08em;border:1px solid var(--brass);color:var(--brass);background:none;padding:9px 14px;border-radius:4px;cursor:pointer}
.sd-close{margin-left:auto;font-family:var(--mono);font-size:10px;color:var(--mist);background:none;border:none;cursor:pointer;letter-spacing:.08em}
/* ROI presets */
#calculator.flash{animation:calcflash 1.4s ease}
@keyframes calcflash{0%{box-shadow:inset 0 0 0 2px var(--brass)}100%{box-shadow:inset 0 0 0 0 rgba(0,0,0,0)}}
/* Inbox deliverables */
.inbox-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:18px;margin-top:32px}
.doc{border:1px solid var(--bone);background:var(--white);padding:20px 20px 18px}
.doc .dk{font-family:var(--mono);font-size:10px;letter-spacing:.12em;color:var(--brass-deep);text-transform:uppercase;display:flex;justify-content:space-between;gap:8px;margin-bottom:12px}
.doc .dk .tm{color:var(--mist)}
.doc pre{font-family:var(--mono);font-size:12.3px;line-height:1.6;white-space:pre-wrap;color:var(--graphite);margin:0}
.doc .gate-badge{display:inline-block;font-family:var(--mono);font-size:10px;letter-spacing:.1em;border:1px solid var(--brass-deep);color:var(--brass-deep);padding:3px 8px;border-radius:3px;margin-top:12px}
/* First 14 days */
.d14{display:flex;flex-wrap:wrap;margin-top:26px;border:1px solid var(--bone)}
.d14 .dstep{flex:1 1 160px;min-width:0;padding:16px 18px;border-right:1px solid var(--bone)}
.d14 .dstep:last-child{border-right:none}
.d14 .dd-k{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;color:var(--brass-deep)}
.d14 h5{font-size:16.5px;margin:6px 0 4px;color:var(--ink)}
.d14 p{font-size:13px;color:var(--graphite);margin:0;line-height:1.5}
@media(max-width:700px){.d14 .dstep{flex:1 1 100%;border-right:none;border-bottom:1px solid var(--bone)}.d14 .dstep:last-child{border-bottom:none}}

/* Architecture stack */
.arch-wrap{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:34px;margin-top:30px;align-items:start}
@media(max-width:860px){.arch-wrap{grid-template-columns:1fr;gap:18px}}
.arch-stack{display:flex;flex-direction:column;gap:8px}
.arch-layer{border:1px solid var(--slate);padding:16px 18px;cursor:pointer;transition:border-color .2s,background .2s;background:rgba(255,255,255,.015)}
.arch-layer .al-k{font-family:var(--mono);font-size:10px;letter-spacing:.14em;color:var(--mist)}
.arch-layer h4{font-size:17px;margin:5px 0 3px;color:var(--porcelain)}
.arch-layer p{font-size:12.5px;color:#9AA0AC;margin:0;line-height:1.45}
.arch-layer.on{border-color:var(--brass);background:rgba(201,169,97,.05)}
.arch-layer.on .al-k{color:var(--brass)}
.arch-panel{border:1px solid var(--slate);border-top:2px solid var(--brass);padding:22px;min-height:200px}
.arch-panel .ap-k{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;color:var(--brass);margin-bottom:10px}
.arch-panel p{font-size:14.5px;color:#C7CBD4;line-height:1.6}
.arch-panel ul{margin:10px 0 0;padding-left:18px;font-size:13.5px;color:#B9BEC9;line-height:1.6}
body:not(.ready) .arch-panel{display:none}
body:not(.ready) .arch-layer{cursor:default}
body:not(.ready) .arch-nojs{display:block}
.arch-nojs{display:none}
.arch-nojs .arch-panel{display:block;margin-top:10px;min-height:0}
/* Agent roster */
.agent-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin-top:26px}
.agent{border:1px solid var(--slate);padding:15px 16px;background:rgba(255,255,255,.015)}
.agent .ag-k{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;color:var(--brass)}
.agent p{font-size:13px;color:#B9BEC9;margin:6px 0 0;line-height:1.5}
.agent .ag-gate{font-family:var(--mono);font-size:10px;letter-spacing:.08em;color:var(--mist);margin-top:8px;display:block}
/* Persona switcher */
.persona-row{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 0}
.persona{font-family:var(--mono);font-size:11px;letter-spacing:.06em;border:1px solid var(--bone);background:none;color:var(--graphite);padding:8px 12px;border-radius:4px;cursor:pointer;transition:border-color .2s,color .2s}
.persona.on{border-color:var(--brass-deep);color:var(--brass-deep)}
.persona-panel{border:1px solid var(--bone);border-left:2px solid var(--brass-deep);padding:16px 18px;margin-top:12px}
.persona-panel .pp-row{display:flex;gap:10px;margin:6px 0;font-size:14px;line-height:1.55}
.persona-panel .pp-k{font-family:var(--mono);font-size:10px;letter-spacing:.1em;color:var(--brass-deep);min-width:64px;padding-top:3px}
body:not(.ready) .persona-row{display:none}
body:not(.ready) .persona-all{display:block}
.persona-all{display:none}
.persona-all .persona-panel{margin-top:10px}
.persona-all .pa-name{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;color:var(--brass-deep);margin-top:14px}

/* Persona explorer */
.pmx{display:none;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:26px;margin-top:30px;align-items:start}
body.ready .pmx{display:grid}
@media(max-width:860px){.pmx{grid-template-columns:1fr;gap:14px}}
.pmx-rail{display:flex;flex-direction:column;gap:6px}
@media(max-width:860px){.pmx-rail{flex-direction:row;flex-wrap:wrap}}
.pmx-tab{font-family:var(--mono);font-size:11.5px;letter-spacing:.06em;text-align:left;border:1px solid var(--bone);background:none;color:var(--graphite);padding:12px 14px;border-radius:4px;cursor:pointer;transition:border-color .2s,color .2s}
.pmx-tab.on{border-color:var(--brass-deep);color:var(--brass-deep);background:rgba(150,119,42,.04)}
.pmx-panel{border:1px solid var(--bone);border-top:2px solid var(--brass-deep);padding:22px 24px}
.pmx-panel .px-owns{font-size:15.5px;color:var(--ink);margin:0 0 14px;line-height:1.55}
.pmx-panel .px-h{font-family:var(--mono);font-size:10px;letter-spacing:.12em;color:var(--brass-deep);margin:14px 0 6px;text-transform:uppercase}
.pmx-panel ul{margin:0;padding-left:18px;font-size:14px;color:var(--graphite);line-height:1.6}
.pmx-panel .px-win{font-size:14.5px;color:var(--ink);line-height:1.55;margin:0}
.pmx-panel .px-motion{font-size:13.5px;color:var(--graphite);line-height:1.55;margin:0;border-left:2px solid var(--bone);padding-left:12px}
.pmx-panel .chips{margin-top:8px}
.pmx-all{display:none}
body:not(.ready) .pmx-all{display:block}
.pmx-all .pa-name{font-family:var(--mono);font-size:11px;letter-spacing:.12em;color:var(--brass-deep);margin:20px 0 8px;text-transform:uppercase}
.pmx-all .pmx-panel{margin-top:0}

/* Full funnel */
.fn-rail{display:none;flex-wrap:wrap;gap:8px;margin-top:28px}
body.ready .fn-rail{display:flex}
.fn-tab{font-family:var(--mono);font-size:11px;letter-spacing:.06em;border:1px solid var(--bone);background:none;color:var(--graphite);padding:9px 13px;border-radius:4px;cursor:pointer;transition:border-color .2s,color .2s}
.fn-tab.on{border-color:var(--brass-deep);color:var(--brass-deep);background:rgba(150,119,42,.04)}
.fn-arr{color:var(--mist);align-self:center;font-size:12px}
.fn-panel-wrap{display:none;margin-top:14px}
body.ready .fn-panel-wrap{display:block}
.fn-panel{border:1px solid var(--bone);border-top:2px solid var(--brass-deep);padding:22px 24px}
.fn-panel .fp-what{font-size:15px;color:var(--ink);margin:0 0 6px;line-height:1.55}
.fn-panel .px-h{font-family:var(--mono);font-size:10px;letter-spacing:.12em;color:var(--brass-deep);margin:14px 0 6px;text-transform:uppercase}
.fn-panel p{font-size:14px;color:var(--graphite);line-height:1.6;margin:0}
.fn-panel ul{margin:0;padding-left:18px;font-size:14px;color:var(--graphite);line-height:1.6}
.fn-panel .fp-seam{border-left:2px solid #B4544A;padding-left:12px}
.fn-panel .fp-num{font-size:14.5px;color:var(--ink)}
.fn-all{display:none}
body:not(.ready) .fn-all{display:block}
.fn-all .pa-name{font-family:var(--mono);font-size:11px;letter-spacing:.12em;color:var(--brass-deep);margin:20px 0 8px;text-transform:uppercase}

/* Plain-English explainer */
.plain{background:var(--porcelain);border-top:1px solid var(--bone);border-bottom:1px solid var(--bone);padding:44px 0}
.plain-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:22px;margin-top:6px}
.plain .pk{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;color:var(--brass-deep)}
.plain h3{font-size:18px;margin:6px 0 6px;color:var(--ink)}
.plain p{font-size:14.5px;color:var(--graphite);line-height:1.6;margin:0}
.plain .plead{font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:var(--mist);text-transform:uppercase;margin-bottom:16px}
/* In-feed signal definition */
.sig-def{font-size:12px;color:#9AA0AC;line-height:1.5;margin:6px 0 12px}

/* Panel live-reveal */
.rise{opacity:0;transform:translateY(6px);animation:riseIn .38s forwards}
@keyframes riseIn{to{opacity:1;transform:none}}
/* Agent run stage */
.agent-hint{display:none;font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;color:var(--brass);margin:18px 0 0;text-transform:uppercase}
body.ready .agent-hint{display:block}
body.ready .agent{cursor:pointer;transition:border-color .2s}
body.ready .agent:hover,body.ready .agent.on{border-color:var(--brass)}
#agentstage{display:none;margin-top:16px;border:1px solid var(--slate);border-left:2px solid var(--brass);background:rgba(0,0,0,.25);padding:16px 18px}
#agentstage.on{display:block}
#agentstage .as-h{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;color:var(--brass);margin-bottom:10px}
#agentstage .as-line{font-family:var(--mono);font-size:12px;line-height:1.7;color:#C7CBD4;opacity:0;transform:translateY(4px);transition:opacity .3s,transform .3s}
#agentstage .as-line.in{opacity:1;transform:none}
#agentstage .as-line b{color:var(--brass);font-weight:500}
/* Doc replay */
body.ready .doc{cursor:pointer;transition:border-color .2s}
body.ready .doc:hover{border-color:var(--brass-deep)}
.doc-hint{display:none;font-family:var(--mono);font-size:10px;letter-spacing:.12em;color:var(--brass-deep);margin-top:16px;text-transform:uppercase}
body.ready .doc-hint{display:block}

/* Drill-downs open under the tap */
#agentstage{grid-column:1/-1}
@media(max-width:860px){.arch-stack #archpanel{margin:2px 0 8px}}
/* Architecture travels */
.tv-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;margin-top:30px}
.tv-stage{margin:10px 0 14px;border-left:2px solid var(--brass);padding:12px 0 2px 14px}

.to-top{position:fixed;right:14px;bottom:16px;z-index:98;width:44px;height:44px;border-radius:50%;background:var(--ink);color:var(--brass);border:1px solid var(--brass);font-size:19px;line-height:1;display:none;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.4)}
.to-top.show{display:flex}
/* ---- polish pass: navigation, accessibility, brand details ---- */
[id]{scroll-margin-top:82px}
a:focus-visible, button:focus-visible, summary:focus-visible, [role="button"]:focus-visible, input:focus-visible, textarea:focus-visible, [tabindex]:focus-visible{outline:2px solid var(--brass);outline-offset:3px;border-radius:2px}
::selection{background:var(--brass);color:var(--ink)}
a, [onclick], [role="button"], summary, button{-webkit-tap-highlight-color:transparent}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .wcard,.person,.offer{transition:none}
  .wcard:hover,.person:hover{transform:none}
}
/* ---- narrative wayfinding: part markers ---- */
.act-k{font-family:var(--mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--brass-deep);display:flex;align-items:center;gap:14px;margin:0 0 34px}
.act-k::after{content:"";flex:1;height:1px;background:var(--bone);opacity:.9}
.dark .act-k{color:var(--brass)}
.dark .act-k::after{background:var(--slate)}
/* ---- executive briefing band ---- */
.execsum{background:var(--ink);border-top:1px solid var(--slate);padding:64px 0 60px}
.execsum .es-k{font-family:var(--mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--brass);margin-bottom:10px}
.execsum .es-lead{font-family:var(--serif);font-weight:480;font-size:clamp(21px,2.6vw,29px);line-height:1.32;color:var(--porcelain);max-width:900px;margin-bottom:44px}
.execsum .es-lead b{color:var(--brass);font-weight:540}
.es-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;margin-bottom:48px}
.es-col .es-h{font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--mist);padding-bottom:10px;border-bottom:1px solid var(--slate);margin-bottom:12px}
.es-col p{font-size:14.5px;line-height:1.65;color:#B9BEC9}
.es-col p b{color:var(--porcelain);font-weight:600}
.es-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;background:var(--slate);border:1px solid var(--slate);margin-bottom:36px}
.es-stat{background:var(--ink);padding:20px 18px}
.es-stat .n{font-family:var(--serif);font-weight:540;font-size:25px;color:var(--brass)}
.es-stat .l{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--mist);margin-top:6px;line-height:1.5}
.es-cta{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.es-note{font-size:13px;color:var(--mist);margin-left:6px}
@media(max-width:860px){.es-cols{grid-template-columns:1fr;gap:26px}.es-stats{grid-template-columns:1fr 1fr}}
b,strong{font-weight:600}


/* ============================================================
   EXECUTIVE DESIGN REFINEMENT
   Layout, spacing and typography only. Brand palette/content unchanged.
   ============================================================ */
:root{
  --page-max:1240px;
  --copy-max:760px;
}
html{scroll-padding-top:84px}
body{
  font-size:16.25px;
  line-height:1.58;
  letter-spacing:-.006em;
  font-kerning:normal;
  text-rendering:optimizeLegibility;
}
h1,h2,.serif,.logo .m-serif{
  font-optical-sizing:auto;
  font-feature-settings:"kern" 1,"liga" 1;
}
.wrap{
  width:100%;
  max-width:var(--page-max);
  padding-left:clamp(24px,4vw,56px);
  padding-right:clamp(24px,4vw,56px);
}
body > section{
  position:relative;
  border-top:1px solid var(--bone);
}
body > section.dark{border-top-color:var(--slate)}
section{padding:clamp(74px,7vw,102px) 0}

/* Navigation */
nav{
  box-shadow:0 1px 0 rgba(255,255,255,.015),0 12px 32px rgba(20,21,26,.08);
}
.nav-inner{height:72px}
.logo{gap:10px}
.logo svg{width:34px;height:34px}
.logo .m-serif{font-size:23px;letter-spacing:-.015em}
.logo .m-ai{font-size:11.5px;letter-spacing:.1em}
.nav-links{gap:2px}
.nav-links > a,.ddbtn{font-size:14px;padding:11px 12px}
.nav-cta{margin-left:10px;padding:10px 18px}
.dd-menu{padding:8px;box-shadow:0 22px 50px rgba(0,0,0,.3)}
.dd-menu a{padding:12px 14px}

/* Hero */
.hero{padding:clamp(94px,9vw,126px) 0 clamp(82px,8vw,104px)}
.hero-cols{gap:clamp(48px,6vw,80px)}
.hero h1{
  font-size:clamp(43px,5.2vw,68px);
  line-height:1.035;
  letter-spacing:-.035em;
  margin:18px 0 24px;
  max-width:820px;
}
.hero p.lead{font-size:18px;line-height:1.65;max-width:680px;margin-bottom:34px}
.hero-ctas{gap:12px}
.btn{padding:14px 24px;border-radius:4px;letter-spacing:-.005em}
.console{max-width:540px;box-shadow:0 24px 70px rgba(0,0,0,.16)}
.flow{margin-top:62px}

/* Section rhythm and type hierarchy */
.eyebrow{
  font-size:10.75px;
  letter-spacing:.17em;
  line-height:1.4;
  margin-bottom:14px;
}
.sec-h{
  max-width:920px;
  margin-bottom:38px;
}
.sec-h h2,
.industries > .wrap > h2,
.cta h2{
  font-size:clamp(36px,4vw,52px);
  line-height:1.07;
  letter-spacing:-.028em;
  margin:0 0 18px;
  max-width:900px;
}
.sec-h > p,
.sec-h p.sub{
  max-width:var(--copy-max);
  margin:0 0 14px;
  font-size:16.5px;
  line-height:1.66;
}
.sec-h > p:last-child,.sec-h p.sub:last-child{margin-bottom:0}
.sec-h p.sub{color:var(--graphite)}
.dark .sec-h p.sub{color:#C8CCD6}
.act-k{
  font-size:10px;
  letter-spacing:.24em;
  gap:18px;
  margin:0 0 30px;
}
.act-k::after{opacity:.75}

/* Cleaner accordion system */
section details{
  transition:background-color .2s ease,border-color .2s ease;
}
section details > summary{
  min-height:68px;
  padding:20px 14px;
  line-height:1.25;
}
section details > summary h3,
section details > summary h4{
  line-height:1.25;
  letter-spacing:-.012em;
}
section details > .d-body{
  padding:0 58px 28px 14px;
}
section details[open]{background:rgba(20,21,26,.018)}
section.dark details[open],section.problem details[open],section.method details[open]{background:rgba(255,255,255,.025)}
section details summary .tog{
  width:29px;
  height:29px;
  font-size:14px;
  background:transparent;
}
section details[open] summary .tog{
  background:var(--brass-deep);
  border-color:var(--brass-deep);
  color:var(--white);
}
section.dark details[open] summary .tog,
section.problem details[open] summary .tog,
section.method details[open] summary .tog{
  background:var(--brass);
  border-color:var(--brass);
  color:var(--ink);
}
.dgroup{
  margin:48px 0 8px;
  padding-top:30px;
  border-top:1px solid var(--bone);
  gap:12px 16px;
}
.dgroup:first-of-type{padding-top:0;border-top:0;margin-top:0}
.dgroup h3{font-size:21px;letter-spacing:-.015em}
.dgroup p{max-width:720px;margin-top:0}

/* Structured data and cards */
.stats,.statband,.pov,.eng-line,.d14,.inbox-grid,.walk,.pgrid{
  margin-top:34px;
}
.stats{grid-template-columns:repeat(3,minmax(0,1fr))}
.stat{padding:28px 24px;min-height:190px}
.stat .num{font-size:46px;letter-spacing:-.025em}
.stat .cap{line-height:1.55}
.bchart{margin-top:34px;padding:30px}
.statband{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:0}
.statband .sb{padding:25px 22px;min-height:126px}
.statband .sb .v{font-size:35px;letter-spacing:-.02em}
.pov .pv{padding:36px 32px;min-height:230px}
.pov .pv h3{font-size:25px;line-height:1.2}
.wcard,.person,.doc,.track,.cin,.cout,.pmx-panel,.fn-panel,.arch-panel{
  box-shadow:0 14px 38px rgba(20,21,26,.045);
}
.wcard{min-height:100%}

/* About: remove the dead left column and create a deliberate editorial grid */
.firm-grid{
  display:grid;
  grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);
  grid-template-areas:
    "part part"
    "intro principles"
    "stats stats";
  column-gap:clamp(48px,6vw,82px);
  row-gap:34px;
  align-items:start;
}
.firm-grid > .act-k{grid-area:part;margin-bottom:0}
.firm-grid > .sec-h{grid-area:intro;max-width:none;margin:0}
.firm-grid > .principle-list{grid-area:principles;min-width:0}
.firm-grid > .statband{grid-area:stats;width:100%;margin-top:8px}
.firm .sec-h h2{font-size:clamp(40px,4.3vw,56px);max-width:650px}
.firm .sec-h > p{font-size:16px;line-height:1.66;max-width:650px}
.principle-list details > summary{padding-left:0;padding-right:0}
.principle-list details > .d-body{padding-left:0}

/* Principals */
#principals{
  padding-top:clamp(76px,7vw,100px)!important;
  padding-bottom:clamp(76px,7vw,100px)!important;
}
#principals .sec-h{margin-bottom:34px}
.pgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.person{
  padding:38px 36px 34px;
  border-top:3px solid var(--brass-deep);
}
.person h3{font-size:30px;letter-spacing:-.018em;margin-bottom:16px}
.person p{font-size:15.25px;line-height:1.68}
.creds{margin-top:22px}
.cred{padding:7px 10px}

/* Engagements: two clear executive paths instead of one long undifferentiated stack */
#engagements .wrap{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:28px;
  align-items:start;
}
#engagements .act-k,
#engagements .sec-h{grid-column:1 / -1;width:100%;max-width:none}
#engagements .sec-h{margin-bottom:18px}
.eng-line{margin:34px 0 24px}
.eng-step{padding:22px 24px;min-height:126px}
.d14{margin-top:18px}
.d14 .dstep{padding:18px 20px;min-height:120px}
#engagements .track{
  margin:0;
  padding:34px 30px 26px;
  border:1px solid var(--bone);
  border-top:3px solid var(--brass-deep);
  background:var(--white);
  min-width:0;
}
.track-head{align-items:flex-start;margin-bottom:12px;gap:10px 14px}
.track-head h3{font-size:27px;line-height:1.15;letter-spacing:-.018em}
.track > p{font-size:15px;line-height:1.62;margin-bottom:20px}
.services details > summary{padding-left:0;padding-right:0}
.services details > .d-body{padding-left:0;padding-right:42px}

/* FAQ */
#faq .wrap{max-width:1040px}
#faq .sec-h{margin-bottom:26px}
.faq details > summary{padding-left:16px;padding-right:12px}
.faq details > .d-body{padding-left:16px}

/* Contact: a balanced two-column close */
.cta .wrap{
  display:grid;
  grid-template-columns:minmax(0,.82fr) minmax(440px,1.18fr);
  column-gap:clamp(54px,7vw,96px);
  align-items:start;
}
.cta .wrap > .eyebrow,
.cta .wrap > h2,
.cta .wrap > p,
.cta .wrap > .btn{grid-column:1}
.cta .wrap > .eyebrow{grid-row:1}
.cta .wrap > h2{grid-row:2}
.cta .wrap > p:not(.or-book):not(.honest){grid-row:3}
.cta .wrap > .btn{grid-row:4;justify-self:start;margin-top:8px}
.cta .wrap > .or-book{grid-row:5}
.cta .wrap > .honest{grid-row:6}
.cta .cform{
  grid-column:2;
  grid-row:1 / 7;
  margin:0;
  max-width:none;
  gap:16px;
  padding:30px;
  border:1px solid var(--slate);
  border-top:2px solid var(--brass);
  background:#101116;
}
.cta .wrap > p{margin-bottom:0}
.cta .wrap > .or-book{margin-top:6px}
.cta .wrap > .honest{margin-top:0}
.cta h2{font-size:clamp(38px,4vw,54px)}
.cta p{font-size:17px;line-height:1.65}
.cta p.honest{font-size:13.5px;line-height:1.55}

/* Footer */
.bigfoot{padding:62px 0 30px}
.bf-grid{gap:42px;margin-bottom:48px}
.bf-grid a{padding:6px 0}

/* Responsive refinement */
@media(max-width:1020px){
  .firm-grid{
    grid-template-columns:1fr;
    grid-template-areas:"part" "intro" "principles" "stats";
    row-gap:28px;
  }
  .firm .sec-h h2,.firm .sec-h > p{max-width:780px}
  #engagements .wrap{grid-template-columns:1fr}
  #engagements .act-k,#engagements .sec-h{grid-column:1}
  .cta .wrap{grid-template-columns:1fr;row-gap:22px}
  .cta .wrap > .eyebrow,.cta .wrap > h2,.cta .wrap > p,.cta .wrap > .btn,.cta .cform{grid-column:1;grid-row:auto}
  .cta .cform{max-width:760px;width:100%}
}
@media(max-width:760px){
  body{font-size:16px;line-height:1.58}
  .wrap{padding-left:21px;padding-right:21px}
  section{padding:62px 0}
  .nav-inner{height:64px}
  .m-menu{inset:64px 0 0 0;padding-left:21px;padding-right:21px}
  .hero{padding:72px 0 68px}
  .hero h1{font-size:clamp(38px,11vw,50px);line-height:1.03}
  .hero p.lead{font-size:17px}
  .sec-h{margin-bottom:28px}
  .sec-h h2,.industries > .wrap > h2,.cta h2{font-size:clamp(32px,9vw,42px)}
  .sec-h > p,.sec-h p.sub{font-size:16px}
  .act-k{margin-bottom:24px}
  section details > summary{padding:18px 4px;min-height:62px}
  section details > .d-body{padding:0 4px 24px}
  .dgroup{margin-top:38px;padding-top:24px}
  .stats{grid-template-columns:1fr 1fr}
  .stats .stat:last-child:nth-child(3n+2),.stats .stat:last-child:nth-child(3n+1):not(:first-child){grid-column:auto}
  .stats .stat:last-child:nth-child(odd):not(:first-child){grid-column:span 2}
  .stat{min-height:155px;padding:22px 18px}
  .stat .num{font-size:39px}
  .statband{grid-template-columns:1fr 1fr}
  .pgrid{grid-template-columns:1fr}
  .person{padding:30px 24px}
  #engagements .track{padding:28px 22px 22px}
  .eng-line{display:grid;grid-template-columns:1fr}
  .eng-step{border-right:none;border-bottom:1px solid var(--bone);min-height:auto}
  .eng-step:last-child{border-bottom:none}
  .d14{display:grid;grid-template-columns:1fr 1fr}
  .d14 .dstep{border-right:0;border-bottom:1px solid var(--bone)}
  .cta .cform{padding:22px 18px}
  .bf-grid{gap:28px}
}
@media(max-width:460px){
  .stats,.statband,.d14{grid-template-columns:1fr}
  .hero-ctas .btn{width:100%;text-align:center}
  .flow{gap:8px 0}
  .flow .edge{width:28px}
}

/* ---- pinned context columns (re-applied after refinement layer) ---- */
@media(min-width:1020px){
  .calc-grid > div:first-child{position:sticky;top:100px}
  .arch-wrap > div:last-child{position:sticky;top:100px}
  .ppanel{align-items:start}
  .ppanel > div:first-child{position:sticky;top:100px}
}

/* ============================================================
   CONVERSION UPGRADE LAYER
   Hero two-beat + stat bar, why-now, proof band, trust, visible
   pricing cards, readiness score, contact partners. Palette unchanged.
   ============================================================ */
/* Hero */
.hero h1 .beat2{display:block;font-style:italic;font-weight:400;margin-top:4px}
.hero-aud{font-family:var(--mono);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--mist);margin:-18px 0 30px}
.hero-micro{margin-top:18px;font-size:12.5px;line-height:1.7;color:var(--mist);max-width:640px}
.hero-stats{display:flex;flex-wrap:wrap;margin-top:56px;border-top:1px solid var(--slate);border-bottom:1px solid var(--slate)}
.hstat{flex:1 1 220px;min-width:200px;padding:18px 22px 18px 0}
.hstat + .hstat{border-left:1px solid var(--slate);padding-left:22px}
.hstat .n{font-family:var(--serif);font-weight:540;font-size:26px;color:var(--brass);letter-spacing:-.01em}
.hstat .n .u{font-size:15px;color:var(--mist)}
.hstat .l{margin-top:5px;font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--mist);line-height:1.6}
@media(max-width:700px){.hstat + .hstat{border-left:none;padding-left:0;border-top:1px solid var(--slate)}}
/* Kicker (retained hero line) */
.kicker{font-family:var(--serif);font-style:italic;font-size:clamp(19px,2.4vw,24px);color:var(--brass-deep);margin:-6px 0 30px;max-width:760px}
/* Why now */
.whynow{background:var(--porcelain);padding:clamp(54px,5vw,72px) 0!important}
.wn-lead{font-family:var(--serif);font-weight:480;font-size:clamp(20px,2.6vw,27px);line-height:1.4;max-width:900px;margin-top:14px;color:var(--ink)}
.wn-close{font-style:italic;color:var(--brass-deep)}
/* Proof band small numerals */
.stat .num .nsm{font-size:22px;letter-spacing:0}
/* Anatomy three-layer summary */
.layer3{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--slate);border:1px solid var(--slate);margin:34px 0 8px}
@media(max-width:860px){.layer3{grid-template-columns:1fr}}
.layer3 .l3{background:rgba(255,255,255,.02);padding:20px 20px 18px}
.layer3 .l3k{font-family:var(--mono);font-size:10px;letter-spacing:.14em;color:var(--brass);display:block;margin-bottom:8px}
.layer3 .l3 p{font-size:13.5px;line-height:1.6;color:#C7CBD4;margin:0}
details.l3{border:0;transition:background .15s}
details.l3:last-child{border-bottom:0}
details.l3 summary{display:block;padding:0 36px 0 0;position:relative}
details.l3 summary .tog{position:absolute;top:0;right:0;border-color:#4a4e59;color:var(--brass)}
details.l3 summary .l3k{padding-right:0}
details.l3:hover{background:rgba(255,255,255,.05)}
details.l3[open]{grid-column:1/-1;background:rgba(255,255,255,.04)}
details.l3 .d-body{padding:6px 0 20px}
details.l3 .d-body p,details.l3 .d-body li{color:#C7CBD4;font-size:14.5px}
.layer3-hint{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--mist);margin:0 0 18px}
/* Trust */
.trust-nda{margin-top:14px;font-size:14px;color:var(--mist)}
.trust-nda a{color:var(--brass);border-bottom:1px solid var(--brass)}
/* Visible pricing cards */
.tiercard{position:relative;border-top:1px solid var(--bone);padding:24px 0 26px}
.tiercard:first-of-type{border-top:none;padding-top:14px}
.tc-tag{display:inline-block;font-family:var(--mono);font-size:9.5px;letter-spacing:.16em;background:var(--brass-deep);color:var(--white);padding:4px 10px;border-radius:3px;margin-bottom:12px}
.tc-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 16px}
.tc-head h4{font-family:var(--serif);font-weight:480;font-size:22px;letter-spacing:-.012em}
.tc-head .meta{font-family:var(--mono);font-size:11.5px;letter-spacing:.09em;color:var(--brass-deep);text-transform:uppercase}
.tc-out{margin:10px 0 4px;font-size:14.5px;line-height:1.62;color:var(--graphite);max-width:640px}
.tc-more{border:none!important;margin:2px 0 0}
.tc-more summary{min-height:0!important;padding:10px 0!important;justify-content:flex-start;gap:10px}
.tc-more .tc-ms{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--brass-deep)}
.tc-more summary .tog{width:22px;height:22px;font-size:12px}
.tc-more .d-body{padding:4px 0 14px!important}
.tc-run{margin:10px 0 4px;padding-left:14px;border-left:2px solid var(--bone);font-size:12.5px;line-height:1.65;color:var(--graphite);max-width:620px}
.tc-cta{margin-top:14px;padding:12px 20px;font-size:14.5px}
.tiercard .btn-ghost{border-color:var(--brass-deep);color:var(--brass-deep)}
/* Readiness score */
.rs-card{border:1px solid var(--slate);border-top:2px solid var(--brass);background:rgba(255,255,255,.015);padding:clamp(22px,3vw,34px);max-width:820px;margin-top:34px}
.rs-q{margin-bottom:26px}
.rs-k{font-family:var(--mono);font-size:10px;letter-spacing:.18em;color:var(--brass);margin-bottom:6px}
.rs-t{font-weight:600;font-size:16px;color:var(--porcelain);margin-bottom:12px}
.rs-opts{display:grid;gap:8px}
.rs-opt{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--slate);background:#101116;border-radius:4px;padding:12px 14px;cursor:pointer;font-size:13.5px;line-height:1.55;color:#B9BEC9;transition:border-color .15s,color .15s}
.rs-opt:hover{border-color:var(--brass-deep)}
.rs-opt.sel{border-color:var(--brass);color:var(--porcelain);background:rgba(201,169,97,.07)}
.rs-opt input{accent-color:#C9A961;margin-top:3px;flex:none}
.rs-bar{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:4px}
.rs-verdict{display:none;margin-top:24px;border-top:1px solid var(--slate);padding-top:22px}
.rs-verdict.on{display:block}
.rs-vs{font-family:var(--serif);font-weight:540;font-size:clamp(26px,3vw,34px);color:var(--brass)}
.rs-vb{font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;color:var(--mist);margin:6px 0 12px}
.rs-verdict p{font-size:14.5px;line-height:1.65;color:#C8CCD6;max-width:640px;margin-bottom:18px}
/* Contact partners + tier select */
.cta-partners{grid-column:1;grid-row:4;display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.cp-row{display:flex;gap:12px;margin-bottom:0}
.cp-ava{width:62px;height:62px;border-radius:50%;border:1px solid var(--brass);background:#101116;display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-weight:540;font-size:19px;color:var(--brass)}
.cp-cap{font-family:var(--serif);font-style:italic;font-size:17.5px;line-height:1.45;color:var(--porcelain);max-width:340px}
.cta .wrap > .btn{grid-row:7}
.cta .cform{grid-row:1 / 8}
.cform select{width:100%;background:#101116;border:1px solid var(--slate);color:var(--porcelain);font-family:var(--sans);font-size:15px;padding:13px 15px;border-radius:5px;-webkit-appearance:none;appearance:none;background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="10" height="6"><path d="M0 0l5 6 5-6z" fill="%238A93A3"/></svg>');background-repeat:no-repeat;background-position:right 15px center}
.cform select:focus{outline:none;border-color:var(--brass)}
@media(max-width:1020px){
  .cta .wrap > .cta-partners{grid-column:1;grid-row:auto}
  .cta .wrap > .btn{grid-row:auto}
  .cta .cform{grid-row:auto}
  .cta .wrap > .or-book,.cta .wrap > .honest{grid-row:auto;grid-column:1}
}

/* === post-audit additions === */
.skip-link{position:absolute;left:-9999px;top:8px;z-index:9999;background:var(--brass,#C9A961);color:#14151A;padding:10px 16px;border-radius:4px;font-weight:600;text-decoration:none}
.skip-link:focus{left:12px;outline:3px solid #fff;outline-offset:2px}
a:focus-visible,button:focus-visible,summary:focus-visible,[role="button"]:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--brass,#C9A961);outline-offset:3px}
.nav-h4{display:block}
.es-lead-2{margin-top:14px;font-size:.92em;opacity:.92}
summary:hover h3, summary:hover .nav-h4{color:var(--brass-deep)}
.dark summary:hover h3, .dark summary:hover .nav-h4{color:var(--brass)}
.m-menu summary .nav-h4{font-family:var(--sans);font-weight:500;font-size:18px;color:var(--porcelain)}
.services summary .nav-h4{font-family:var(--serif);font-weight:480;font-size:21px}
section details > summary h3,
section details > summary .nav-h4{
  line-height:1.25;
  letter-spacing:-.012em;
}

/* === phase five: why / platform / fits === */
.why{background:var(--white);padding:72px 0 64px;border-top:1px solid var(--bone)}
.why-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:34px}
.why-col{border-top:2px solid var(--brass);padding-top:16px}
.why-k{font-family:var(--mono);font-size:11px;letter-spacing:.14em;color:var(--brass-deep);margin-bottom:10px}
.why-col h3{font-family:var(--serif);font-weight:480;font-size:22px;line-height:1.25;letter-spacing:-.012em;margin:0 0 10px}
.why-col p{font-size:15.5px;line-height:1.6;color:var(--graphite);margin:0}
.why-honest{margin-top:34px;max-width:780px;font-size:15.5px;line-height:1.6;color:var(--graphite);border-left:3px solid var(--brass);padding-left:16px}
.why-honest b{color:var(--ink)}
.why .go{display:inline-block;margin-top:22px;font-family:var(--mono);font-size:11.5px;letter-spacing:.08em;color:var(--brass-deep)}
.platform{background:var(--ink);padding:72px 0 64px;border-top:1px solid var(--slate)}
.platform .sec-h h2{color:var(--porcelain)}
.platform .sec-h .sub{color:#B9BEC9}
.platform .close{color:var(--porcelain)}
.plat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--slate);border:1px solid var(--slate);margin-top:34px}
.plat-card{background:#1A1B21;padding:26px 26px 28px}
.plat-card h3{font-family:var(--serif);font-weight:480;font-size:22px;line-height:1.25;letter-spacing:-.012em;color:var(--porcelain);margin:0 0 10px}
.plat-card p{font-size:15px;line-height:1.6;color:#B9BEC9;margin:0}
.fits{background:var(--porcelain);padding:64px 0 60px;border-top:1px solid var(--bone)}
.fits-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:30px}
.fit{display:flex;flex-direction:column;gap:6px;padding:16px 18px;border:1px solid var(--bone);background:var(--white);color:var(--ink);text-decoration:none;transition:border-color .2s}
.fit:hover{border-color:var(--brass)}
.fit.on{border-color:var(--brass)}
.fit b{font-family:var(--serif);font-weight:480;font-size:19px;letter-spacing:-.01em}
.fit .fit-s{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--mist)}
.fit.on .fit-s{color:var(--brass-deep)}
.fit span:last-child{font-size:13.5px;line-height:1.5;color:var(--graphite)}
.fits .go{display:inline-block;margin-top:24px;font-family:var(--mono);font-size:11.5px;letter-spacing:.08em;color:var(--brass-deep)}
@media(max-width:860px){.why-grid{grid-template-columns:1fr}.plat-grid{grid-template-columns:1fr}}
/* standalone pages */
.pg-hero{background:var(--ink);padding:72px 0 56px;border-bottom:1px solid var(--slate)}
.pg-hero h1{font-family:var(--serif);font-weight:480;letter-spacing:-.012em;font-size:clamp(30px,4.2vw,50px);line-height:1.1;color:var(--porcelain);margin:16px 0 14px;max-width:920px;text-wrap:balance}
.pg-hero .sub{color:#B9BEC9;max-width:760px;font-size:17.5px}
.pg-body{background:var(--white);padding:56px 0 64px}
.pg-body h2{font-family:var(--serif);font-weight:480;letter-spacing:-.01em;font-size:clamp(24px,3vw,34px);margin:44px 0 12px}
.pg-body h2:first-child{margin-top:0}
.pg-body p{max-width:70ch;color:var(--graphite);line-height:1.62;margin:0 0 14px}
.pg-body p b{color:var(--ink)}
.pg-k{font-family:var(--mono);font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--brass-deep);margin:26px 0 8px;font-weight:600}
.pg-tw{overflow-x:auto;border:1px solid var(--bone);margin:14px 0 8px}
.pg-tw table{border-collapse:collapse;width:100%;min-width:760px}
.pg-tw th,.pg-tw td{text-align:left;padding:11px 13px;border-bottom:1px solid var(--bone);vertical-align:top;font-size:14px;line-height:1.45}
.pg-tw th{font-family:var(--mono);font-size:10px;letter-spacing:.11em;text-transform:uppercase;color:var(--mist);font-weight:500;background:var(--porcelain)}
.pg-tw tr:last-child td{border-bottom:none}
.pg-tw td.r{font-weight:600;white-space:nowrap}
.pg-tw td.us{background:rgba(201,169,97,.08)}
.opt{border:1px solid var(--bone);padding:20px 22px;margin-top:14px;background:var(--white)}
.opt h3{font-family:var(--serif);font-size:22px;font-weight:480;margin:0 0 4px}
.opt .fitl{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--mist);margin-bottom:14px}
.g4{display:grid;grid-template-columns:1fr 1fr;gap:14px 26px}
.g4 .k{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--brass-deep);margin-bottom:5px}
.g4 p{font-size:14.5px;margin:0;max-width:none}
.pg-faq details{border-top:1px solid var(--bone);padding:12px 0}
.pg-faq summary{cursor:pointer;font-weight:600;font-size:15.5px;list-style:none}
.pg-faq summary::-webkit-details-marker{display:none}
.pg-faq p{margin:8px 0 0}
.fn{border-top:1px solid var(--bone);padding:26px 0 10px}
.fn h3{font-family:var(--serif);font-size:26px;font-weight:480;margin:0 0 2px;letter-spacing:-.01em}
.fn .depth{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--mist);margin-bottom:14px}
.fn.on .depth{color:var(--brass-deep)}
.fn .g3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.fn .g3 .k{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--brass-deep);margin-bottom:6px}
.fn .g3 ul{margin:0;padding-left:16px;font-size:14.5px;color:var(--graphite)}
.fn .g3 li{margin-bottom:4px}
.fn .plat{margin-top:14px;font-size:14.5px;color:var(--graphite);border-left:3px solid var(--bone);padding-left:12px}
.fn .gate{margin-top:8px;font-size:14.5px;color:var(--graphite);border-left:3px solid var(--brass);padding-left:12px}
.pg-cta{background:var(--ink);padding:64px 0;border-top:1px solid var(--slate)}
.pg-cta h2{font-family:var(--serif);font-weight:480;font-size:clamp(26px,3.2vw,36px);color:var(--porcelain);margin:14px 0 10px}
.pg-cta .sub{color:#B9BEC9;max-width:720px}
.pg-nav{display:flex;gap:22px;align-items:center;font-size:14.5px}
.pg-nav a{color:var(--porcelain)}
.pg-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 24px}
.pg-tabs a{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;padding:7px 11px;border:1px solid var(--bone);color:var(--graphite);text-decoration:none}
.pg-tabs a:hover{border-color:var(--brass)}
.ill{font-family:var(--mono);font-size:12px;letter-spacing:.04em;color:var(--mist);margin-top:26px;line-height:1.6;max-width:70ch}
@media(max-width:760px){.g4,.fn .g3{grid-template-columns:1fr}.pg-nav{gap:14px;font-size:13.5px}.pg-nav .hide-m{display:none}}

/* === standalone page nav: always-visible Home, back link, top button === */
.pg-nav .pb-home,.pb-nav .pb-home{display:inline-flex;align-items:center;gap:6px;font-weight:600;color:var(--porcelain)}
.pg-nav .pb-home::before,.pb-nav .pb-home::before{content:"\2190";color:var(--brass)}
.pb-back{display:inline-block;margin-top:18px;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--brass);text-decoration:none}
.pb-back:hover{color:var(--porcelain)}
.pb-back-light{color:var(--brass-deep)}
.pb-back-light:hover{color:var(--ink)}
a.to-top-static{position:fixed;right:14px;bottom:16px;z-index:98;width:44px;height:44px;border-radius:50%;background:var(--ink);color:var(--brass);border:1px solid var(--brass);font-size:19px;line-height:1;display:flex;align-items:center;justify-content:center;text-decoration:none;box-shadow:0 4px 14px rgba(0,0,0,.4)}
@media(max-width:760px){.pg-nav,.pb-nav{gap:12px}.pg-nav .hide-m,.pb-nav .hide-m{display:none}.pg-nav .nav-cta,.pb-nav .nav-cta{padding:9px 13px;font-size:13.5px}}


/* ============================================================
   PHASE EIGHT: DESIGN AND UI POLISH
   Phone first, section rhythm, label tiers, tables, forms, print.
   No new fonts. One derived text tone for brass on light grounds
   (brass-deep mixed 78/22 with ink) so small brass labels clear WCAG AA.
   ============================================================ */
:root{--brass-text:#796127}
@supports(color:color-mix(in srgb,red,blue)){:root{--brass-text:color-mix(in srgb,var(--brass-deep) 78%,var(--ink))}}

/* ---- label tiers ----
   Tier 1, structural: section kickers and part markers. 12px, wide tracking.
   Tier 2, component: card, row and column labels. 11px, .12em.
   Tier 3, footnote: hints, timestamps, illustrative and legal notes. 12px, .08em, full AA. */
.eyebrow{font-size:12px;letter-spacing:.16em;color:var(--brass-text)}
.dark .eyebrow{color:var(--brass)}
.act-k{font-size:12px;letter-spacing:.22em;color:var(--brass-text)}
.dark .act-k{color:var(--brass)}
.execsum .es-k{font-size:12px}
.why-k,.pov .pv .k,.es-col .es-h,.dgroup .gk,.deploy summary .k,.caps summary .k,.plays summary .k,.ppanel .ph,.pmx-panel .px-h,.fn-panel .px-h,.services .d-h,.agent .ag-k,.arch-layer .al-k,.arch-panel .ap-k,.doc .dk,.d14 .dd-k,.eng-step .es-k,.track-head .tno,.person .role,.pcard .pn,.plain .pk,.g4 .k,.fn .g3 .k,.pg-k,.pg-tw th,.bf-grid .bfh,.dd-h,.m-menu .md-b .mh,.tc-more .tc-ms,.rs-k,.cout .co-k,.cin label,.cform label,.cin .grp,.wcard .w-head .n,.wbar .wl,.mrow,.sig .cat,.console .c-head,.stat .pl,.layer3 .l3k,.es-stat .l,.gate,.chip,.gactions span,.persona-panel .pp-k,.sd-k,.tc-tag,.calc-fallback .cf-h,.pmx-all .pa-name,.fn-all .pa-name,.persona-all .pa-name,.statband .sb .l,.hstat .l,.method summary .n,.principle-list .n,.cred,.doc .gate-badge{font-size:11px;letter-spacing:.12em}
.hero-aud,.tc-head .meta,.services .meta{font-size:11.5px}
.demo-note,.illus,.ill,.pb-note,.cout .legend,.layer3-hint,.calc-live-note,.sig-hint,.agent-hint,.doc-hint,.dhint,.ind-hint,.stat .src,.agent .ag-gate,.fit .fit-s,.fn .depth,.opt .fitl,.plain .plead,.doc .dk .tm,.cout .co-math,.bchart .bs,.pg-tabs a,.fn-tab,.persona,.pmx-tab,.ptab,.arch .abox{font-size:12px;letter-spacing:.08em}
.ind{font-size:12.5px}
.hero-micro{font-size:13px}
.cout .co-note,.cta p.honest{font-size:14px}

/* Brass text on light grounds: use the AA tone. Borders and bars keep brass-deep. */
.eyebrow,.act-k,.why-k,.why .go,.fits .go,.dgroup .gk,.deploy summary .k,.caps summary .k,.plays summary .k,.ppanel .ph,.pmx-panel .px-h,.fn-panel .px-h,.services .d-h,.d14 .dd-k,.eng-step .es-k,.track-head .tno,.person .role,.pcard .pn,.plain .pk,.g4 .k,.fn .g3 .k,.pg-k,.tc-more .tc-ms,.tc-head .meta,.cin label output,.cin .grp,.wcard .w-head .n,.mrow .v.up,.gate,.chip,.persona-panel .pp-k,.pmx-all .pa-name,.fn-all .pa-name,.persona-all .pa-name,.principle-list .n,.wn-close,.kicker,.calc-live-note,.doc-hint,.doc .dk,.doc .gate-badge,.layer3-hint,.fn.on .depth,.pb-back-light,.pb-other .k,.persona.on,.pmx-tab.on,.fn-tab.on,.ind:hover,.tiercard .btn-ghost,.deploy summary:hover h3,.caps summary:hover h3,summary:hover h3,summary:hover h4,summary:hover .nav-h4{color:var(--brass-text)}
.persona.on,.pmx-tab.on,.fn-tab.on,.tiercard .btn-ghost{border-color:var(--brass-text)}
.dark summary:hover h3,.dark summary:hover h4,.dark summary:hover .nav-h4,.m-menu summary:hover .nav-h4{color:var(--brass)}
.btn-brass,.tc-tag,.gactions span:first-child,section details[open] summary .tog{background:var(--brass-text)}
.gactions span:first-child,section details[open] summary .tog{border-color:var(--brass-text)}
.dark .btn-brass{background:var(--brass)}
section.dark details[open] summary .tog,section.problem details[open] summary .tog,section.method details[open] summary .tog{background:var(--brass);border-color:var(--brass)}
.dark .pcard .pn{color:var(--brass)}

/* Grey label text on light grounds: mist fails AA, graphite passes. */
.fit .fit-s,.services .meta,.pg-tw th,.opt .fitl,.fn .depth,.plain .plead,.illus,.ill,.doc .dk .tm,.wbar .wl,.pmx-panel .px-motion,.ind-hint,.statband .sb .l{color:var(--graphite)}
.fit.on .fit-s{color:var(--brass)}

/* ---- section rhythm ----
   Primary: hero, Why Mabry, The Platform, Where it fits, Trust Architecture, Engagements, Contact.
   Supporting: everything else. Differentiated by padding, headline scale and the weight of the top rule. */
#why,#platform,#fits,#trust,#engagements,#contact{padding-top:clamp(92px,8.5vw,128px);padding-bottom:clamp(92px,8.5vw,128px)}
#why,#fits,#engagements{border-top:2px solid var(--brass-deep)}
#platform,#trust,#contact{border-top:2px solid var(--brass)}
#why .sec-h h2,#platform .sec-h h2,#fits .sec-h h2,#trust .sec-h h2,#engagements .sec-h h2,#contact h2{font-size:clamp(38px,4.4vw,58px);line-height:1.05;letter-spacing:-.03em}
#why .sec-h,#platform .sec-h,#fits .sec-h,#trust .sec-h,#engagements .sec-h{margin-bottom:44px}
#engagements .sec-h{margin-bottom:18px}
.deploy,.inbox,.practice,.calc,.industries,.faq,.persp,#capabilities,#personas,#method,#funnel,#build,#architecture,#readiness,#approach{padding-top:clamp(64px,6vw,84px);padding-bottom:clamp(64px,6vw,84px)}
.deploy .sec-h h2,.inbox .sec-h h2,.practice .sec-h h2,.calc .sec-h h2,.faq .sec-h h2,.persp .sec-h h2,.people .sec-h h2,#capabilities .sec-h h2,#personas .sec-h h2,#method .sec-h h2,#funnel .sec-h h2,#build .sec-h h2,#architecture .sec-h h2,#readiness .sec-h h2,#approach .sec-h h2{font-size:clamp(30px,3.3vw,42px);letter-spacing:-.024em}
.firm .sec-h h2{font-size:clamp(34px,3.8vw,48px)}
.plat-grid{margin-top:40px}
.plat-card{padding:30px 30px 32px}
.plat-card h3{font-size:24px}
.platform .close{margin-top:40px;font-family:var(--serif);font-size:clamp(20px,2.4vw,26px);line-height:1.35;max-width:820px}
.why-grid{gap:32px;margin-top:40px}
.why-col{padding-top:18px}
.why-col h3{font-size:23px}
.why .go,.fits .go{font-size:12px;letter-spacing:.1em;line-height:1.7;padding:10px 0;margin-top:22px;border-bottom:1px solid var(--brass-deep);max-width:70ch}
.why .go:hover,.fits .go:hover{color:var(--ink);border-bottom-color:var(--ink)}

/* ---- Where it fits strip (home) ---- */
.fits-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:36px}
.fit{padding:20px 22px 22px;gap:8px;min-height:168px}
.fit b{font-size:20px}
.fit .fit-s{order:-1;margin-bottom:2px}
.fit span:last-child{font-size:14px;line-height:1.55}
.fit.on{grid-column:span 2;background:var(--ink);border-color:var(--ink);color:var(--porcelain)}
.fit.on b{color:var(--porcelain);font-size:24px}
.fit.on .fit-s{color:var(--brass)}
.fit.on span:last-child{color:#C8CCD6;font-size:15px;max-width:44ch}
.fit.on:hover{border-color:var(--brass)}
@media(max-width:1020px){.fits-row{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.fits-row{grid-template-columns:1fr}.fit.on{grid-column:auto}.fit{min-height:0}}

/* ---- where-it-fits.html function blocks ---- */
.fn{padding:30px 0 14px}
.fn h3{font-size:24px}
.fn .g3{gap:22px;margin-top:6px}
.fn.on{border-top:2px solid var(--brass-deep);padding:34px 0 18px;margin-top:6px}
.fn.on h3{font-size:32px}
.fn.on .depth{color:var(--brass-text)}
.fn.on .g3 ul,.fn.on .plat,.fn.on .gate{color:var(--ink)}
.fn .depth{margin-bottom:18px}
.pg-tabs{gap:8px;margin:6px 0 28px}
.pg-tabs a{padding:9px 12px;border-radius:3px}
.pg-tabs a:first-child{border-color:var(--ink);background:var(--ink);color:var(--porcelain)}

/* ---- comparison tables ---- */
.pg-tw{position:relative;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
.pg-tw table{min-width:820px}
.pg-tw th,.pg-tw td{padding:12px 14px;font-size:14.5px}
.pg-tw th{padding-top:12px;padding-bottom:12px}
.pg-tw th:first-child,.pg-tw td:first-child{position:sticky;left:0;z-index:1;background:var(--white);box-shadow:1px 0 0 var(--bone)}
.pg-tw th:first-child{background:var(--porcelain)}
.pg-tw td.r{white-space:normal;min-width:150px;max-width:190px;color:var(--ink)}
.pg-tw th:nth-child(2){color:var(--brass-text);background:rgba(201,169,97,.16);border-top:2px solid var(--brass-deep)}
.pg-tw td.us{background:rgba(201,169,97,.14);color:var(--ink);font-weight:500;min-width:220px}
.pg-tw td:not(.r):not(.us){color:var(--graphite)}
.pg-tw tr:last-child td{border-bottom:none}

/* ---- navigation and tap targets ---- */
.logo{min-height:44px}
.burger{min-width:44px;min-height:44px;justify-content:center;align-items:center}
@media(max-width:920px){.nav-inner{height:64px}.m-menu{inset:64px 0 0 0}}
.m-menu .md-b .go{display:inline-flex;align-items:center;min-height:44px;padding:0;font-size:12px;letter-spacing:.1em;margin-top:6px}
.m-menu > a.go{font-family:var(--mono);font-size:12.5px;letter-spacing:.1em;color:var(--brass);display:flex;align-items:center;min-height:52px;padding:10px 4px}
.m-menu .dd-h{font-size:11px;letter-spacing:.14em}
.pg-nav a,.pb-nav a{display:inline-flex;align-items:center;min-height:44px}
.pg-nav .nav-cta,.pb-nav .nav-cta,.nav-cta{display:inline-flex;align-items:center;min-height:44px}
.pb-back{display:inline-flex;align-items:center;min-height:44px;padding:0;font-size:12px;letter-spacing:.1em;border-bottom:1px solid currentColor;line-height:1.2;margin-top:14px}
.pb-back:hover{color:var(--porcelain)}
.pb-back-light:hover{color:var(--ink)}
.ptab,.ind,.persona,.fn-tab,.pmx-tab,.pg-tabs a,.arch .abox,.sd-send,.rs-opt{min-height:44px}
.ptab,.ind,.persona,.fn-tab,.pg-tabs a,.arch .abox{display:inline-flex;align-items:center}
.tc-more summary{min-height:44px!important}
.dd-menu a,.bf-grid a{min-height:40px;display:flex;align-items:center}
.bf-grid a{display:flex}

/* ---- forms ---- */
.cform input,.cform textarea,.cform select{font-size:16px;padding:14px 16px;min-height:52px;border-radius:4px}
.cform label{margin-bottom:8px;color:#B9BEC9}
.cform textarea{min-height:132px}
.cform input:focus,.cform textarea:focus,.cform select:focus{border-color:var(--brass);box-shadow:0 0 0 1px var(--brass)}
.cform input:user-invalid,.cform textarea:user-invalid{border-color:#B4544A}
.cform .btn{min-height:50px;padding:14px 28px;font-size:16px}
.cform .btn:focus-visible{outline-color:var(--porcelain)}
.cform input::placeholder,.cform textarea::placeholder{color:var(--mist)}

/* ---- phone ---- */
@media(max-width:760px){
  #why,#platform,#fits,#trust,#engagements,#contact{padding-top:80px;padding-bottom:80px}
  .deploy,.inbox,.practice,.calc,.industries,.faq,.persp,#capabilities,#personas,#method,#funnel,#build,#architecture,#readiness,#approach{padding-top:56px;padding-bottom:56px}
  #why .sec-h h2,#platform .sec-h h2,#fits .sec-h h2,#trust .sec-h h2,#engagements .sec-h h2,#contact h2{font-size:clamp(34px,9.6vw,44px)}
  .deploy .sec-h h2,.inbox .sec-h h2,.practice .sec-h h2,.calc .sec-h h2,.faq .sec-h h2,.persp .sec-h h2,.people .sec-h h2,.firm .sec-h h2,#capabilities .sec-h h2,#personas .sec-h h2,#method .sec-h h2,#funnel .sec-h h2,#build .sec-h h2,#architecture .sec-h h2,#readiness .sec-h h2,#approach .sec-h h2{font-size:clamp(28px,8vw,34px)}
  #why .sec-h,#platform .sec-h,#fits .sec-h,#trust .sec-h{margin-bottom:32px}
  .why-grid{gap:26px;margin-top:30px}
  .plat-card{padding:24px 20px 26px}
  .hero{padding:64px 0 60px}
  .hero-aud{margin:-12px 0 26px}
  .hero-stats{margin-top:44px}
  .flow{margin-top:48px}
  /* Body copy at or above 16px on phones */
  .why-col p,.plat-card p,.pov .pv p,.fit span:last-child,.fit.on span:last-child,.es-col p,.plain p,.pg-body p,.g4 p,.fn .g3 ul,.fn .plat,.fn .gate,.pg-faq summary,.pg-faq p,.d-body p,.faq .d-body p,.deploy .d-body p,.deploy .d-body .out,.caps .d-body > p,.caps li,.services .d-body p,.services li,.services .for,.plist li,.pmx-panel ul,.pmx-panel .px-win,.pmx-panel .px-motion,.fn-panel p,.fn-panel ul,.fn-panel .fp-num,.person p,.tc-out,.tc-run,.track > p,.eng-step p,.d14 p,.agent p,.arch-layer p,.arch-panel p,.arch-panel ul,.stat .cap,.rs-opt,.rs-verdict p,.bf-grid a,.bf-grid .tag,.or-book,.es-note,.sig .desc,.sd-b,.wcard .w-cap,.pcard p,.principle-list .d-body p,.m-menu .md-b p,.m-menu .md-b li,.why-honest,.trust-nda,.bchart .bnote,.cout .co-note,.calc-fallback .cf-in,.calc-fallback .cf-note,.cin .fld p,.layer3 .l3 p,details.l3 .d-body p,details.l3 .d-body li,.sig-def,.ppanel p,.ppanel .chg,.derisk li,.method .d-body p,.firm p,.pg-hero .sub,.pg-cta .sub,.pb-hero .sub,.pb-start .card p,.persona-panel .pp-row,.pg-tw td,.dgroup p,.dep-g .dgroup p,.doc pre,.es-lead-2,.cta p.honest,.hero-micro,.bf-bottom,.bf-play,.pb-note{font-size:16px;line-height:1.55}
  .hero-micro,.cta p.honest,.bf-bottom,.bf-play,.pb-note,.cout .co-note{font-size:15px}
  .doc pre{font-size:13.5px}
  .sig .desc{font-size:15px}
  .pg-tw td.r{min-width:132px;max-width:150px;font-size:15px}
  .pg-tw td.us{min-width:200px}
  .fit{padding:18px 18px 20px}
  .fit.on b{font-size:22px}
  .fn.on h3{font-size:28px}
  .fn h3{font-size:22px}
  .pg-tabs a{min-height:44px;padding:8px 13px}
  .bf-grid a{padding:10px 0;min-height:44px}
  .bf-bottom a,.bf-play a,.or-book a,.trust-nda a{display:inline-block;padding:10px 0}
  .cform .btn{width:100%;text-align:center}
  .btn{min-height:48px;display:inline-flex;align-items:center;justify-content:center}
  .es-cta .btn,.hero-ctas .btn{width:100%}
  .es-note{margin-left:0}
  .cta .cform{padding:22px 16px}
  .rs-opt{padding:12px 14px}
  .to-top,a.to-top-static{right:12px;bottom:14px;width:46px;height:46px}
  .pg-hero,.pb-hero{padding:56px 0 44px}
  .pg-body{padding:44px 0 56px}
  .pg-body h2{margin-top:36px}
  .opt{padding:18px 18px}
  .g4{gap:16px}
  .fn.on{padding-top:28px}
  .why .go,.fits .go{font-size:12px;line-height:1.75}
}
@media(max-width:400px){
  .wrap{padding-left:18px;padding-right:18px}
  .m-menu{padding-left:18px;padding-right:18px}
  .hero h1{font-size:clamp(34px,10.4vw,42px)}
  .pg-tw td.r{min-width:118px;max-width:132px}
}

/* ---- phase eight, nav fix: hamburger on every page ---- */
@media(max-width:920px){.pg-nav,.pb-nav{margin-left:auto;margin-right:6px}}
@media(max-width:760px){.pg-nav .nav-cta,.pb-nav .nav-cta{padding:9px 11px}.pg-nav,.pb-nav{gap:8px}}
@media(max-width:360px){.pg-nav .nav-cta,.pb-nav .nav-cta{display:none}}

/* ---- phase eight, audit fixes ---- */
.pg-nav .nav-cta,.pb-nav .nav-cta{color:var(--ink)}
.pb-agents .agent p{color:var(--ink-2)}
.pb-agents .agent .ag-k{color:var(--brass-text)}
.pb-agents .agent .ag-gate{color:var(--graphite)}
.pb-other .k{color:var(--brass-text)}
.pg-tw:focus-visible{outline:2px solid var(--brass);outline-offset:2px}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---- phase eight, AI SDR page ---- */
.pg-quote{font-family:var(--serif);font-size:clamp(20px,2.4vw,26px);line-height:1.35;color:var(--ink);border-left:3px solid var(--brass-deep);padding:6px 0 6px 20px;margin:28px 0 8px;max-width:760px}

/* ---- print (the two comparison pages export to PDF) ---- */
@media print{
  nav,.to-top,a.to-top-static,.burger,.skip-link,.m-menu,.pb-back,.pg-cta .btn,.pg-cta .hero-micro{display:none!important}
  body{background:#fff;color:#14151A;font-size:11.5pt}
  .dark,.dark *,.pg-hero,.pg-hero *,.pg-cta,.pg-cta *,.bigfoot,.bigfoot *,.execsum,.execsum *,.pb-start,.pb-start *,.pb-hero,.pb-hero *,.trust,.trust *,.pov,.pov *{background:#fff!important;color:#14151A!important;box-shadow:none!important}
  .eyebrow,.act-k,.pg-k{color:#796127!important}
  .pg-hero,.pg-cta,.pb-hero,.pb-start{border-top:1px solid #14151A;border-bottom:1px solid #14151A}
  .pg-hero h1,.pb-hero h1{font-size:28pt}
  .pg-body h2{break-after:avoid}
  .pg-tw{overflow:visible;border:1px solid #14151A}
  .pg-tw table{min-width:0;width:100%}
  .pg-tw th:first-child,.pg-tw td:first-child{position:static;box-shadow:none}
  .pg-tw th,.pg-tw td{font-size:9.5pt;padding:7pt 8pt;border-bottom:1px solid #C8C5BD}
  .pg-tw td.us{background:#F1EBDC!important}
  .pg-tw th:nth-child(2){background:#F1EBDC!important;border-top:2px solid #796127}
  .pg-tw tr,.opt,.fn{break-inside:avoid}
  .opt,.fn{border-color:#C8C5BD}
  .bigfoot .bf-grid,.bigfoot .tag{display:none}
  .logo svg path{stroke:#14151A!important}
  a{text-decoration:none;color:inherit}
  .pg-faq details{break-inside:avoid}
}


/* ============ v10.0 additions: split + competitive layer (structure only) ============ */
.abar{background:var(--slate);border-bottom:1px solid #333A4A}
.abar-in{display:flex;align-items:center;gap:12px;padding:9px 20px;justify-content:center}
.abar a{color:var(--porcelain);font-family:var(--mono);font-size:12px;letter-spacing:.04em;text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.abar a:hover{color:var(--brass)}
.abar-x{background:none;border:0;color:var(--mist);font-size:17px;line-height:1;cursor:pointer;padding:4px 8px;min-width:44px;min-height:32px}
.abar-x:hover{color:var(--porcelain)}
@media(max-width:640px){.abar-in{padding:8px 12px}.abar a{font-size:11px}}

.mcta{position:fixed;left:0;right:0;bottom:0;z-index:60;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:rgba(20,21,26,.96);border-top:1px solid #333A4A;display:none}
.mcta .btn{display:block;text-align:center;min-height:44px}
@media(max-width:640px){.mcta:not([hidden]){display:block}}

.tease{display:block;color:inherit;text-decoration:none}
a.tease:focus-visible{outline:2px solid var(--brass);outline-offset:3px}
.t-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;margin:26px 0 22px}
.t-groups .dgroup{border:1px solid var(--bone);padding:20px 22px;margin:0}
.t-layers{margin-top:26px}
.t-layers .l3s{border:1px solid #333A4A;padding:18px 20px;margin-bottom:12px}
.t-layers .l3s p{margin-top:6px;color:var(--mist)}
.t-tracks{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px;margin-top:26px}
.t-tracks .track{border:1px solid var(--bone);padding:22px 24px;margin:0}
.t-tracks .track .go{display:inline-block;margin-top:14px}
#t-trust .pov{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}
#t-trust .pv h3{margin-bottom:0}

.next-sec .wrap{padding-top:34px;padding-bottom:0}
.cta-ladder-sec .wrap{padding-top:26px;padding-bottom:34px}
.cta-ladder{display:flex;flex-wrap:wrap;gap:18px 28px;align-items:center;border-top:1px solid var(--bone);padding-top:26px}
.pg-cta .cta-ladder{border-color:#333A4A}

.results-band .wrap{padding-top:34px;padding-bottom:8px}
.rb-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;background:var(--bone);border:1px solid var(--bone)}
.rb{background:var(--white);padding:20px 18px}
.rb .v{font-family:var(--serif);font-size:clamp(30px,4vw,44px);color:var(--ink);font-variant-numeric:tabular-nums}
.rb .l{font-family:var(--mono);font-size:10.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--graphite);margin-top:6px}

.sys-mocks .wrap{padding-top:0;padding-bottom:8px}
.mock-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}
.mock{border:1px solid var(--bone);padding:16px 18px;background:var(--white)}
.mock .mk{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--graphite);margin-bottom:12px}
.mock:empty,.mock:not(:has(> :nth-child(2))){min-height:90px}

.bf-grid-6{grid-template-columns:2fr repeat(6,1fr)}
@media(max-width:1080px){.bf-grid-6{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:640px){.bf-grid-6{grid-template-columns:1fr 1fr}}

/* 2.9 motion + polish tokens */
.t-groups .dgroup,.t-layers .l3s,.t-tracks .track,#t-trust .pv,.mock,.rb{transition:transform .15s ease,box-shadow .15s ease}
a.tease:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgba(20,21,26,.10)}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--brass);outline-offset:2px}
@media(prefers-reduced-motion:reduce){
  .t-groups .dgroup,.t-layers .l3s,.t-tracks .track,#t-trust .pv,.mock,.rb,a.tease{transition:none!important;transform:none!important}
}

.persp-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));display:grid;gap:14px}
.persp-card{border:1px solid var(--bone);padding:22px 24px;background:var(--white)}
.persp-card h3{font-family:var(--serif);font-size:19px;color:var(--ink)}
.persp-card p{color:var(--graphite);font-size:14px;margin-top:8px}
.persp-card .go{display:inline-block;margin-top:14px}
