/* FT Consulting Partners : prototype design system */

:root{
  --purple:#1800AD;
  --purple-deep:#11007A;
  --purple-wash:#F1EFFC;
  --purple-line:#DAD4F7;
  --orange:#FF751F;        /* DATA ONLY: chart bars, indicators, small accents */
  --teal:#5DAFB2;

  --ink:#14161A;
  --ink-2:#4A505A;
  --ink-3:#7C838E;

  --paper:#FFFFFF;
  --paper-2:#F7F8FA;
  --rule:#E4E7EC;
  --rule-2:#CBD1D9;

  --display:'Archivo','Helvetica Neue',Arial,sans-serif;
  --body:'Inter','Helvetica Neue',Arial,sans-serif;
  --mono:'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,monospace;

  --gut:clamp(20px,5vw,72px);
  --maxw:1200px;
  --r:12px;
  --r-lg:18px;
}

*,*::before,*::after{box-sizing:border-box;}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);line-height:1.6;-webkit-font-smoothing:antialiased;}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
.shell{max-width:var(--maxw);margin:0 auto;padding-inline:var(--gut);}

h1,h2,h3,h4{font-family:var(--display);letter-spacing:-.028em;margin:0;text-wrap:balance;}
h1{font-size:clamp(2.2rem,5.2vw,3.7rem);line-height:1.05;font-weight:600;}
h2{font-size:clamp(1.7rem,3.6vw,2.6rem);line-height:1.12;font-weight:600;}
h3{font-size:1.15rem;line-height:1.28;font-weight:600;letter-spacing:-.02em;}
h4{font-size:.98rem;line-height:1.3;font-weight:600;letter-spacing:-.015em;}
p{margin:0;}
.lead{font-size:clamp(1rem,1.5vw,1.13rem);line-height:1.58;color:var(--ink-2);max-width:58ch;}
.eyebrow{font-family:var(--mono);font-size:.68rem;font-weight:500;letter-spacing:.11em;text-transform:uppercase;color:var(--ink-3);margin:0 0 16px;}
.src{font-family:var(--mono);font-size:.62rem;letter-spacing:.05em;color:var(--ink-3);text-transform:uppercase;}

/* ---------- buttons: purple only ---------- */
.btn{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--display);font-size:.88rem;font-weight:600;letter-spacing:-.01em;padding:.85rem 1.4rem;border-radius:10px;border:1px solid transparent;cursor:pointer;transition:transform .18s cubic-bezier(.2,.7,.3,1),background .18s,border-color .18s,box-shadow .18s;}
.btn-primary{background:var(--purple);color:#fff;}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 26px -14px rgba(24,0,173,.8);}
.btn-ghost{background:transparent;color:var(--purple);border-color:var(--purple-line);}
.btn-ghost:hover{border-color:var(--purple);background:var(--purple-wash);}
.btn-light{background:#fff;color:var(--purple);}
.btn-light:hover{transform:translateY(-2px);}
.btn .ar{transition:transform .2s;}
.btn:hover .ar{transform:translateX(3px);}
.btn:focus-visible{outline:2px solid var(--purple);outline-offset:3px;}

/* ---------- nav ---------- */
.nav{position:sticky;top:env(safe-area-inset-top,0px);z-index:60;background:rgba(255,255,255,.92);backdrop-filter:blur(14px);border-bottom:1px solid var(--rule);}
.nav-in{display:flex;align-items:center;justify-content:space-between;gap:20px;height:72px;}
.brand{display:flex;align-items:center;}
.brand img{height:27px;width:auto;}
.nav-links{display:flex;gap:26px;align-items:center;font-size:.87rem;font-weight:500;color:var(--ink-2);}
.nav-links>a:hover{color:var(--purple);}
.nav-links a[aria-current="page"]{color:var(--purple);}
@media(max-width:1020px){.nav-links{display:none;}}
.dd{position:relative;}
.dd>button{font:inherit;font-weight:500;color:var(--ink-2);background:none;border:0;cursor:pointer;display:inline-flex;align-items:center;gap:5px;padding:0;}
.dd>button:hover{color:var(--purple);}
.dd-menu{position:absolute;top:calc(100% + 16px);left:50%;transform:translateX(-50%) translateY(-6px);min-width:290px;background:#fff;border:1px solid var(--rule);border-radius:var(--r);box-shadow:0 26px 54px -26px rgba(20,22,26,.3);padding:8px;opacity:0;visibility:hidden;transition:opacity .18s,transform .18s,visibility .18s;list-style:none;margin:0;}
.dd:hover .dd-menu,.dd:focus-within .dd-menu{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);}
.dd-menu a{display:block;padding:13px 15px;border-radius:8px;transition:background .15s,color .15s;}
.dd-menu a:hover{background:var(--purple-wash);}
.dd-menu .t{display:block;font-family:var(--display);font-weight:600;font-size:.92rem;color:var(--ink);letter-spacing:-.015em;line-height:1.3;}
.mnav{display:none;}
@media(max-width:1020px){
  .mnav{display:block;}
  .mnav summary{list-style:none;cursor:pointer;font-family:var(--display);font-size:.84rem;font-weight:600;color:var(--purple);border:1px solid var(--purple-line);border-radius:9px;padding:.55rem .9rem;}
  .mnav summary::-webkit-details-marker{display:none;}
  .mnav[open] .m-panel{display:block;}
  .m-panel{display:none;position:absolute;left:0;right:0;top:72px;background:#fff;border-bottom:1px solid var(--rule);box-shadow:0 20px 40px -24px rgba(20,22,26,.3);padding:14px var(--gut) 22px;}
  .m-panel a{display:block;padding:11px 0;border-bottom:1px solid var(--rule);font-size:.92rem;}
  .m-panel a.sub{padding-left:16px;font-size:.86rem;color:var(--ink-2);}
  .m-panel .mlabel{font-family:var(--mono);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);padding-top:14px;}
}
.nav .btn{padding:.6rem 1.1rem;font-size:.82rem;}
@media(max-width:560px){.nav .btn{display:none;}}

/* ---------- sections ---------- */
.sec{padding-block:clamp(60px,8vw,106px);}
.sec-tight{padding-block:clamp(44px,5vw,72px);}
.sec-hd{margin-bottom:clamp(32px,4.5vw,50px);max-width:62ch;}
.sec-hd h2{margin-bottom:14px;}
.alt{background:var(--paper-2);border-block:1px solid var(--rule);}

/* ---------- hero ---------- */
.hero{padding-block:clamp(44px,6vw,76px) clamp(36px,5vw,64px);}
.hero-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(30px,4.5vw,60px);align-items:center;}
@media(max-width:940px){.hero-grid{grid-template-columns:1fr;}}
.hero h1{font-size:clamp(1.85rem,3.3vw,2.72rem);line-height:1.16;letter-spacing:-.021em;font-weight:600;max-width:19ch;margin-bottom:20px;}
.hero .lead{font-size:1.02rem;line-height:1.62;max-width:48ch;margin-bottom:0;}
.hero-cta{display:flex;gap:12px;flex-wrap:wrap;}
.hero-media{display:flex;flex-direction:column;gap:16px;}
.hero-media img{width:100%;height:auto;max-height:560px;object-fit:cover;object-position:50% 22%;border-radius:var(--r-lg);}
.hero-snap{width:100%;}

/* ---------- readiness snapshot ---------- */
.snap{background:#fff;border:1px solid var(--rule);border-radius:var(--r-lg);padding:20px;box-shadow:0 24px 54px -30px rgba(20,22,26,.45);}
.snap-hd{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:15px;flex-wrap:wrap;}
.snap-hd .t{font-family:var(--display);font-weight:600;font-size:.92rem;letter-spacing:-.02em;}
.score{display:flex;flex-direction:column;gap:3px;}
.srow{display:grid;grid-template-columns:1fr 52px 30px;gap:10px;align-items:center;padding:6px 8px;margin-inline:-8px;border-radius:7px;transition:background .2s;cursor:default;}
.srow:hover{background:var(--purple-wash);}
.srow .sl{font-size:.79rem;color:var(--ink-2);transition:color .2s;}
.srow:hover .sl{color:var(--purple);}
.strack{height:5px;background:var(--rule);border-radius:3px;overflow:hidden;}
.sfill{display:block;height:100%;width:0;border-radius:3px;background:var(--purple);transition:width 1.1s cubic-bezier(.3,.8,.3,1),box-shadow .2s;}
.sfill.low{background:var(--orange);}
.srow:hover .sfill{box-shadow:0 0 0 2px rgba(24,0,173,.16);}
.srow:hover .sfill.low{box-shadow:0 0 0 2px rgba(255,117,31,.22);}
.sval{font-family:var(--mono);font-size:.78rem;font-weight:700;text-align:right;font-variant-numeric:tabular-nums;color:var(--ink);transition:color .2s;}
.srow:hover .sval{color:var(--purple);}
.snap-ft{margin-top:14px;padding-top:12px;border-top:1px solid var(--rule);font-family:var(--mono);font-size:.58rem;letter-spacing:.05em;color:var(--ink-3);text-transform:uppercase;line-height:1.6;}

/* ---------- story chapters (statistics) ---------- */
.chapters{border-top:1px solid var(--ink);}
.chapter{display:grid;grid-template-columns:96px 1.05fr 1fr;gap:clamp(18px,3.5vw,44px);padding-block:clamp(32px,4vw,48px);border-bottom:1px solid var(--rule);align-items:start;}
@media(max-width:880px){.chapter{grid-template-columns:52px 1fr;}.chapter .ch-viz{grid-column:2;}}
.ch-mark{font-family:var(--mono);font-size:.68rem;font-weight:700;color:var(--ink-3);letter-spacing:.08em;padding-top:8px;}
.ch-fig{display:flex;align-items:baseline;gap:8px;margin-bottom:10px;}
.ch-fig .big{font-family:var(--display);font-size:clamp(2.8rem,6vw,4.1rem);font-weight:700;letter-spacing:-.05em;line-height:.95;font-variant-numeric:tabular-nums;}
.ch-fig .big.ink{color:var(--ink);}
.ch-fig .big.purple{color:var(--purple);}
.ch-fig{flex-wrap:wrap;}
.ch-fig .of{font-family:var(--mono);font-size:.7rem;color:var(--ink-3);letter-spacing:.04em;line-height:1.45;max-width:22ch;}
.ch-claim{font-family:var(--display);font-size:1.12rem;font-weight:600;letter-spacing:-.02em;line-height:1.35;margin-bottom:10px;}
.ch-body p{font-size:.92rem;color:var(--ink-2);line-height:1.6;}
.ch-body .src{display:block;margin-top:14px;}
.ch-viz{padding-top:6px;}
.viz-t{font-family:var(--mono);font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin-bottom:12px;}

/* bar row visual */
.blocks{display:flex;gap:4px;margin-bottom:9px;}
.blocks i{flex:1;height:26px;background:var(--rule);border-radius:3px;}
.blocks i.on{background:var(--orange);}
.blocks i.on.p{background:var(--purple);}
.bkey{font-size:.8rem;color:var(--ink-2);}
.bkey b{font-family:var(--mono);font-weight:700;}

/* comparison chart */
.hchart{display:flex;flex-direction:column;gap:13px;}
.hrow .hl{display:flex;justify-content:space-between;font-size:.82rem;margin-bottom:6px;gap:12px;}
.hrow .hl b{font-family:var(--mono);font-weight:700;font-variant-numeric:tabular-nums;}
.htrack{height:11px;background:var(--rule);border-radius:6px;overflow:hidden;}
.hfill{display:block;height:100%;width:0;border-radius:6px;background:var(--purple);transition:width 1.1s cubic-bezier(.3,.8,.3,1);}
.hfill.acc{background:var(--orange);}

/* ---------- practice rows ---------- */
.prac{border-top:1px solid var(--ink);}
.prow{display:grid;grid-template-columns:54px 1.1fr 1fr auto;gap:clamp(14px,3vw,36px);align-items:start;padding-block:30px;border-bottom:1px solid var(--rule);transition:background .2s;}
.prow:hover{background:#fff;}
@media(max-width:880px){.prow{grid-template-columns:40px 1fr;gap:12px 14px;}.prow .p-sub,.prow .p-go{grid-column:2;}}
.p-num{font-family:var(--mono);font-size:.7rem;font-weight:700;color:var(--ink-3);padding-top:5px;}
.p-main h3{margin-bottom:6px;}
.p-main p{font-size:.9rem;color:var(--ink-2);line-height:1.55;}
.p-sub{list-style:none;margin:0;padding:3px 0 0;display:flex;flex-direction:column;gap:6px;}
.p-sub li{font-family:var(--mono);font-size:.72rem;color:var(--ink-2);padding-left:14px;position:relative;line-height:1.45;}
.p-sub li::before{content:"";position:absolute;left:0;top:.6em;width:7px;height:1px;background:var(--orange);}
.p-go{font-family:var(--display);font-size:.83rem;font-weight:600;color:var(--purple);white-space:nowrap;padding-top:4px;display:inline-flex;gap:6px;align-items:center;}
.p-go .ar{transition:transform .2s;}
.prow:hover .p-go .ar{transform:translateX(4px);}

/* ---------- credentials ---------- */
.creds{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--rule);border:1px solid var(--rule);border-radius:var(--r-lg);overflow:hidden;}
@media(max-width:900px){.creds{grid-template-columns:repeat(2,1fr);}}
@media(max-width:430px){.creds{grid-template-columns:1fr;}}
.cred{background:#fff;padding:28px 18px;display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center;min-height:196px;transition:background .2s;}
.cred:hover{background:var(--purple-wash);}
.badge{width:64px;height:64px;border-radius:50%;border:1.5px solid var(--purple-line);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;flex:none;background:#fff;transition:border-color .2s;}
.cred:hover .badge{border-color:var(--purple);}
.badge .bm{font-family:var(--display);font-weight:700;font-size:.92rem;letter-spacing:-.03em;color:var(--purple);line-height:1;}
.badge .bs{font-family:var(--mono);font-size:.45rem;letter-spacing:.1em;color:var(--ink-3);text-transform:uppercase;}
.cred .cn{font-family:var(--display);font-weight:600;font-size:.96rem;letter-spacing:-.015em;}
.cred .cd{font-family:var(--mono);font-size:.62rem;line-height:1.55;color:var(--ink-3);letter-spacing:.03em;}

/* ---------- cards / icons ---------- */
.grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;}
.grid-4{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1px;background:var(--rule);border:1px solid var(--rule);border-radius:var(--r-lg);overflow:hidden;}
.cell{background:#fff;padding:26px 22px;}
.alt .cell{background:var(--paper-2);}
.cell .pn{font-family:var(--mono);font-size:.64rem;font-weight:700;color:var(--orange);letter-spacing:.1em;margin-bottom:14px;}
.cell h4{margin-bottom:7px;}
.cell p{font-size:.86rem;color:var(--ink-2);line-height:1.55;}
.icard{background:#fff;border:1px solid var(--rule);border-radius:var(--r);padding:24px;}
.icard svg{width:30px;height:30px;margin-bottom:14px;}
.icard h4{margin-bottom:7px;}
.icard p{font-size:.87rem;color:var(--ink-2);line-height:1.55;}

/* ---------- framework figure ---------- */
.fig{background:#fff;border:1px solid var(--rule);border-radius:var(--r-lg);padding:clamp(22px,4vw,38px);}
.fig figcaption{font-family:var(--mono);font-size:.63rem;letter-spacing:.06em;color:var(--ink-3);text-transform:uppercase;margin-top:20px;padding-top:14px;border-top:1px solid var(--rule);line-height:1.6;}
.fig svg{width:100%;height:auto;display:block;}
.figscroll{overflow-x:auto;}

/* ---------- outcomes ---------- */
.outcomes{border:1px solid var(--rule);border-radius:var(--r-lg);overflow:hidden;background:#fff;}
.orow{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;padding:17px 22px;border-bottom:1px solid var(--rule);}
.orow:last-child{border-bottom:0;}
.orow .ot{font-size:.92rem;color:var(--ink);}
.orow .om{font-family:var(--mono);font-size:.72rem;color:var(--ink-3);letter-spacing:.04em;white-space:nowrap;}
.tick{width:17px;height:17px;flex:none;vertical-align:-3px;}

/* ---------- case study ---------- */
.case{background:var(--purple-wash);border:1px solid var(--purple-line);border-radius:var(--r-lg);padding:clamp(24px,4vw,38px);}
.case .ctag{font-family:var(--mono);font-size:.63rem;letter-spacing:.1em;text-transform:uppercase;color:var(--purple);margin-bottom:14px;}
.case h3{margin-bottom:12px;font-size:1.35rem;}
.case p{font-size:.95rem;color:var(--ink-2);line-height:1.6;max-width:68ch;}
.case p+p{margin-top:12px;}

/* ---------- media band ---------- */
.media{display:grid;grid-template-columns:1fr 1fr;gap:clamp(26px,4.5vw,56px);align-items:center;}
@media(max-width:860px){.media{grid-template-columns:1fr;}}
.media img{width:100%;height:auto;max-height:480px;object-fit:cover;object-position:50% 20%;border-radius:var(--r-lg);}
.media.flip img{order:2;}
@media(max-width:860px){.media.flip img{order:0;}}

/* ---------- assessment promo ---------- */
.assess{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(26px,4vw,52px);align-items:center;background:var(--purple);border-radius:var(--r-lg);padding:clamp(28px,4.5vw,52px);}
@media(max-width:860px){.assess{grid-template-columns:1fr;}}
.assess h2{color:#fff;margin-bottom:12px;}
.assess p{color:#C6C0F0;font-size:1rem;margin-bottom:22px;max-width:46ch;}
.dims{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);border-radius:var(--r);padding:20px;}
.dims .dh{font-family:var(--mono);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:#A79EE8;margin-bottom:14px;}
.dims ol{margin:0;padding:0;list-style:none;counter-reset:d;}
.dims li{counter-increment:d;display:flex;gap:12px;align-items:baseline;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.1);color:#fff;font-size:.88rem;}
.dims li:last-child{border-bottom:0;}
.dims li::before{content:"0" counter(d);font-family:var(--mono);font-size:.66rem;color:var(--orange);font-weight:700;}

/* ---------- articles ---------- */
.arts{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;}
.art{border:1px solid var(--rule);border-radius:var(--r);overflow:hidden;background:#fff;display:flex;flex-direction:column;transition:border-color .2s,transform .2s;}
.art:hover{border-color:var(--purple-line);transform:translateY(-3px);}
.art .athumb{aspect-ratio:16/10;background:linear-gradient(135deg,var(--purple),#5C6E91);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;}
.art .athumb img{width:100%;height:100%;object-fit:cover;object-position:50% 28%;}
.art .abody{padding:20px;display:flex;flex-direction:column;gap:9px;flex:1;}
.art .atag{font-family:var(--mono);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:var(--purple);}
.art h4{font-size:1rem;line-height:1.3;}
.art .adate{font-family:var(--mono);font-size:.63rem;color:var(--ink-3);margin-top:auto;}

/* ---------- geography map ---------- */
.geo{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(26px,4vw,52px);align-items:center;}
@media(max-width:900px){.geo{grid-template-columns:1fr;}}
.regions{display:flex;flex-direction:column;gap:2px;}
.rbtn{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 14px;border:0;background:none;border-bottom:1px solid var(--rule);font:inherit;text-align:left;cursor:pointer;border-radius:8px;transition:background .18s;width:100%;}
.rbtn:hover,.rbtn.active{background:var(--purple-wash);}
.rbtn .rn{font-family:var(--display);font-weight:600;font-size:.98rem;letter-spacing:-.015em;transition:color .18s;}
.rbtn:hover .rn,.rbtn.active .rn{color:var(--purple);}
.rbtn .rd{font-family:var(--mono);font-size:.63rem;color:var(--ink-3);letter-spacing:.04em;}
.mapwrap{background:var(--paper-2);border:1px solid var(--rule);border-radius:var(--r-lg);padding:clamp(16px,3vw,28px);}
#worldmap{width:100%;height:auto;display:block;}
#worldmap circle{transition:fill .35s,opacity .35s,r .35s;}

/* ---------- problem panel ---------- */
.problem{background:var(--paper-2);border:1px solid var(--rule);border-left:3px solid var(--orange);border-radius:var(--r);padding:26px 28px;}
.problem h3{margin-bottom:10px;}
.problem p{font-size:.95rem;color:var(--ink-2);line-height:1.6;max-width:62ch;}

/* ---------- page header ---------- */
.phead{border-bottom:1px solid var(--rule);padding-block:clamp(30px,4vw,52px) clamp(30px,4vw,50px);}
.crumb{font-family:var(--mono);font-size:.66rem;letter-spacing:.06em;color:var(--ink-3);margin-bottom:20px;}
.crumb a:hover{color:var(--purple);}
.phead-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(26px,4vw,56px);align-items:center;}
@media(max-width:900px){.phead-grid{grid-template-columns:1fr;}}
.phead-media img{width:100%;height:auto;max-height:430px;object-fit:cover;object-position:50% 22%;border-radius:var(--r-lg);}

/* ---------- CTA ---------- */
.cta{background:var(--purple);border-radius:var(--r-lg);padding:clamp(34px,6vw,62px);text-align:center;}
.cta h2{color:#fff;margin-bottom:14px;}
.cta p{color:#C6C0F0;max-width:52ch;margin:0 auto 26px;font-size:1rem;}

/* ---------- about ---------- */
.yrs{display:flex;align-items:baseline;gap:12px;margin-bottom:18px;}
.yrs .n{font-family:var(--display);font-size:3.4rem;font-weight:700;letter-spacing:-.05em;color:var(--purple);line-height:1;}
.yrs .l{font-family:var(--mono);font-size:.7rem;letter-spacing:.06em;color:var(--ink-3);line-height:1.45;max-width:16ch;text-transform:uppercase;}

/* ---------- footer ---------- */
.foot{border-top:1px solid var(--rule);padding-block:40px;background:var(--paper-2);}
.foot-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:32px;}
@media(max-width:760px){.foot-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:460px){.foot-grid{grid-template-columns:1fr;}}
.foot img{height:23px;width:auto;margin-bottom:14px;}
.foot .fh{font-family:var(--mono);font-size:.63rem;letter-spacing:.11em;text-transform:uppercase;color:var(--ink-3);margin-bottom:14px;}
.foot a,.foot p{font-size:.85rem;color:var(--ink-2);display:block;margin-bottom:9px;}
.foot a:hover{color:var(--purple);}
.foot-base{border-top:1px solid var(--rule);margin-top:32px;padding-top:22px;font-size:.78rem;color:var(--ink-3);}

.protobar{background:var(--ink);color:#fff;padding:10px var(--gut);text-align:center;font-family:var(--mono);font-size:.65rem;letter-spacing:.05em;}
.protobar span{color:#9AA2B1;}

@media(prefers-reduced-motion:reduce){
  *{animation-duration:.001ms !important;transition-duration:.001ms !important;}
  .sfill,.hfill{transition:none !important;}
}

/* ---------- forms (Web3Forms delivery) ---------- */
.rfp{display:grid;grid-template-columns:1fr 1fr;gap:13px;}
@media(max-width:620px){.rfp{grid-template-columns:1fr;}}
.rfp .full{grid-column:1/-1;}
.fin{
  width:100%;font:inherit;font-size:.9rem;color:#fff;
  background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.24);
  border-radius:10px;padding:.82rem .95rem;
  transition:border-color .18s,background .18s;
}
.fin::placeholder{color:#B4ACEA;}
.fin:focus{outline:none;border-color:#fff;background:rgba(255,255,255,.16);}
.fin option{color:#14161A;background:#fff;}
textarea.fin{resize:vertical;min-height:108px;}
.fnote{font-family:var(--mono);font-size:.62rem;color:#A79EE8;letter-spacing:.03em;line-height:1.65;margin:0;}
.cta-split{display:grid;grid-template-columns:.88fr 1.12fr;gap:clamp(26px,4vw,52px);align-items:start;text-align:left;}
@media(max-width:880px){.cta-split{grid-template-columns:1fr;}}
.cta-split h2{text-align:left;}
.cta-split p.cta-lead{color:#C6C0F0;margin:0 0 14px;max-width:38ch;font-size:1rem;text-align:left;}
.assess form{margin-top:4px;}

/* ---------- branded article thumbnail (matches the Insights page) ---------- */
.thumb-word{font-family:var(--display);font-weight:700;color:#fff;font-size:1.15rem;
  letter-spacing:.03em;text-align:center;line-height:1;opacity:.96;}
.thumb-word small{display:block;font-weight:400;font-size:.46rem;letter-spacing:.4em;
  color:rgba(255,255,255,.85);margin-top:.45rem;}

/* ---------- hero capability line ---------- */
.hero-caps{display:flex;flex-wrap:wrap;align-items:center;gap:9px 0;
  border-top:1px solid var(--rule);margin-top:30px;padding-top:20px;margin-bottom:46px;}
.hero-caps span{font-family:var(--mono);font-size:.7rem;font-weight:500;letter-spacing:.05em;
  text-transform:uppercase;color:var(--purple);}
.hero-caps span:not(:last-child)::after{content:"\00b7";color:var(--rule-2);margin:0 .62rem;}

/* ---------- client pain points (self-diagnosis block) ---------- */
.pains{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1px;
  background:var(--rule);border:1px solid var(--rule);border-radius:var(--r-lg);overflow:hidden;}
.pain{background:#fff;padding:21px 24px 21px 46px;position:relative;
  font-size:.95rem;line-height:1.56;color:var(--ink);}
.alt .pain{background:var(--paper-2);}
.pain::before{content:"";position:absolute;left:24px;top:31px;width:11px;height:1px;background:var(--orange);}
.pains-note{font-family:var(--mono);font-size:.68rem;letter-spacing:.04em;color:var(--ink-3);
  margin-top:18px;line-height:1.6;}

/* problem panel with no scorecard beside it: size the box to the copy */
.problem-solo{max-width:820px;}
.problem-solo p{max-width:68ch;}

/* single-line thesis statement (used where a problem panel would talk down) */
.statement{border-block:1px solid var(--rule);padding-block:clamp(34px,5vw,54px);}
.statement p{font-family:var(--display);font-weight:600;letter-spacing:-.022em;
  font-size:clamp(1.35rem,2.6vw,1.95rem);line-height:1.3;max-width:26ch;color:var(--ink);}
.statement .sub{font-family:var(--body);font-weight:400;font-size:.95rem;
  letter-spacing:0;line-height:1.6;color:var(--ink-2);max-width:56ch;margin-top:14px;}

/* protobar is prototype-only and unused on the live site */
.protobar{display:none;}
