/* ============================================================
   great{with}talent — workforce intelligence
   Design system. Editorial, bold, restrained. Official GWT palette
   in the navy family + Deep/Light Blue accent. DM Sans display,
   Inter body, Playfair italic reserved for pull-quotes only.
   ============================================================ */

:root{
  /* lifecycle spectrum — meaning-bearing only (products/stages/signals) */
  --cyan:#009FE3; --green:#4EAA33; --green-dark:#357223; --orange:#CF7000;
  --crimson:#C4014B; --purple:#B24B8C; --slate:#5E6896; --lime:#DED200; --lime-ink:#8A8200;
  /* brand + foundation */
  --navy:#003865; --ink:#0B1B2E;            /* deep-blue punctuation bands */
  --paper:#FBFAF7; --sand:#F1EFEA; --line:#E6E3DC; --line-strong:#D8D4CB;
  --text:#1B2A38; --muted:#5B6B78; --faint:#8A97A2;
  /* accent — Deep + Light Blue (locked) */
  --accent:#7EB2CE;      /* light blue — pops on dark, hero/band emphasis */
  --accent-ink:#00345C;  /* deep blue — buttons, links, light-section emphasis */
  /* per-page theme (overridden on product pages) */
  --page:#00345C; --page-accent:#7EB2CE; --page-soft:rgba(0,52,92,0.08);
  /* report signals */
  --pri:#C00000; --watch:#B45309; --str:#357223;
  /* type */
  --f-head:'DM Sans','Gill Sans',system-ui,sans-serif;
  --f-body:'Inter','Roboto',system-ui,sans-serif;
  --f-quote:'Playfair Display',Georgia,serif;
  --f-mono:'DM Sans','Gill Sans',system-ui,sans-serif; /* label font (no monospace) */
  --wrap:1220px; --wrap-narrow:900px; --nav-h:76px;
  --ease:cubic-bezier(0.22,1,0.36,1);
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;overflow-x:clip}
body{font-family:var(--f-body);background:var(--paper);color:var(--text);font-size:17px;line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden}
::selection{background:var(--accent-ink);color:#fff}

/* ---------- type ---------- */
h1,h2,h3,h4,h5{font-family:var(--f-head);color:var(--navy);font-weight:700;letter-spacing:0}
h1{font-weight:600;font-size:clamp(44px,7vw,92px);line-height:1.0;letter-spacing:0}
h2{font-weight:600;font-size:clamp(31px,4.4vw,58px);line-height:1.06;letter-spacing:0}
/* headings (esp. large display h2, tight line-height) need breathing room before the opening copy */
h2 + p,h2 + .lede{margin-top:clamp(20px,2vw,30px)}
h3{font-size:clamp(20px,2.1vw,26px);line-height:1.22;letter-spacing:0}
h4{font-size:18px;line-height:1.3}
p,.lede{letter-spacing:normal}
p{color:var(--muted)}
strong{color:var(--text);font-weight:600}
a{color:inherit;text-decoration:none}
em{font-style:normal}                       /* copy uses <em> for the accent phrase */
h1 em,h2 em,h3 em{color:var(--em,var(--accent-ink))}
em.lb{color:var(--accent)}

/* ---------- layout ---------- */
.wrap{max-width:var(--wrap);margin:0 auto;padding-inline:clamp(20px,5vw,52px)}
.narrow{max-width:var(--wrap-narrow);margin:0 auto;padding-inline:clamp(20px,5vw,52px)}
.sec{padding-block:clamp(76px,9.5vw,146px);position:relative}
.bg-sand{background:var(--sand)}
.rule{height:1px;background:var(--line);border:0}

/* scroll progress */
.progress{position:fixed;top:0;left:0;height:3px;width:100%;transform:scaleX(0);transform-origin:0 50%;z-index:300;background:linear-gradient(90deg,var(--accent),var(--accent-ink));will-change:transform}

/* skip + focus */
.skip{position:absolute;left:-999px;background:var(--accent-ink);color:#fff;padding:12px 20px;border-radius:8px;z-index:500;font-family:var(--f-head);font-weight:700}
.skip:focus{left:16px;top:16px}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent-ink);outline-offset:3px;border-radius:3px}

/* ---------- editorial section header ---------- */
.eyebrow{display:inline-flex;align-items:center;gap:9px;font-family:var(--f-head);font-size:12px;font-weight:700;letter-spacing:0.09em;text-transform:uppercase;
  color:color-mix(in srgb,var(--page) 62%,#0B1B2E);
  background:color-mix(in srgb,var(--page) 10%,transparent);border:1px solid color-mix(in srgb,var(--page) 26%,transparent);border-radius:100px;padding:7px 15px 7px 13px;margin-bottom:22px}
.eyebrow::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--page);animation:eb-pulse 3.4s ease-in-out infinite}
@keyframes eb-pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(.82)}}
.shead{max-width:64ch;margin-bottom:clamp(40px,5vw,72px)}
.shead .eyebrow{margin-bottom:24px}
.shead h2{margin-bottom:18px}
.shead .lede{max-width:60ch}
.shead.center{margin-inline:auto;text-align:center}
.shead.center .lede{margin-inline:auto}
.lede{font-size:clamp(18px,1.5vw,22px);font-weight:300;line-height:1.55;color:#3E4E5B}

/* ---------- ring mark ---------- */
.ring{flex:none;display:block}

/* ---------- nav ---------- */
.nav{position:fixed;top:0;left:0;right:0;height:var(--nav-h);z-index:200;display:flex;align-items:center;
  background:color-mix(in srgb,var(--paper) 86%,transparent);backdrop-filter:blur(14px) saturate(150%);
  border-bottom:1px solid transparent;transition:border-color .35s,background .35s}
.nav.scrolled{border-bottom-color:var(--line);background:color-mix(in srgb,var(--paper) 94%,transparent)}
.nav-in{width:100%;max-width:1400px;margin:0 auto;padding-inline:clamp(20px,5vw,52px);display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;gap:11px;font-family:var(--f-head);font-weight:700;font-size:20px;color:var(--navy);letter-spacing:0}
.brand .br{color:var(--faint);font-weight:400}
.brand img{height:35px;width:auto;display:block}
@media(max-width:480px){.brand img{height:30px}}
.nav-links{display:flex;gap:28px;align-items:center}
.nav-links a{font-family:var(--f-head);font-size:15px;font-weight:500;color:var(--muted);transition:color .18s;position:relative}
.nav-links a:not(.btn):hover{color:var(--navy)}
.nav-links a.sign{color:var(--accent-ink);font-weight:600}
.nav-links a.btn-primary,.nav-links a.btn-primary:hover{color:#fff}

/* Life Cycle mega-dropdown */
.navdd{position:relative;display:flex}
.navdd-btn{display:inline-flex;align-items:center;gap:6px;font-family:var(--f-head);font-size:15px;font-weight:500;color:var(--muted);background:none;border:0;padding:0;cursor:pointer;transition:color .18s}
.navdd-btn:hover,.navdd-btn[aria-expanded="true"]{color:var(--navy)}
.navdd:hover .navdd-btn,.navdd:focus-within .navdd-btn{color:var(--navy)}
.navdd-btn .chev{width:12px;height:12px;transition:transform .25s var(--ease)}
.navdd:hover .navdd-btn .chev,.navdd:focus-within .navdd-btn .chev,.navdd-btn[aria-expanded="true"] .chev{transform:rotate(180deg)}
.navdd-panel{position:absolute;top:calc(100% + 20px);left:50%;transform:translateX(-50%) translateY(-8px);width:min(468px,90vw);
  background:#0B1B2E;border:1px solid rgba(255,255,255,0.09);border-radius:16px;padding:12px;
  box-shadow:0 44px 84px -30px rgba(0,0,0,0.6),0 4px 14px rgba(0,0,0,0.3);
  opacity:0;visibility:hidden;transition:opacity .24s var(--ease),transform .24s var(--ease),visibility .24s;z-index:210}
.navdd-panel::before{content:"";position:absolute;top:-22px;left:0;right:0;height:22px}
.navdd:hover .navdd-panel,.navdd:focus-within .navdd-panel,.navdd-panel.open{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.dd-grid{display:grid;grid-template-columns:1fr 1fr;gap:3px 8px}
.dd-item{display:flex;align-items:center;gap:13px;padding:11px 13px;border-radius:10px;
  background:transparent;border:1px solid transparent;
  transition:background .18s,border-color .18s}
.dd-item:hover,.dd-item:focus-visible{background:rgba(255,255,255,0.07);border-color:rgba(255,255,255,0.10);outline:none}
.dd-dot{width:3px;height:28px;border-radius:2px;flex:none;background:color-mix(in srgb,var(--c) 64%,#fff);box-shadow:0 0 14px -3px color-mix(in srgb,var(--c) 64%,#fff);transition:box-shadow .18s}
.dd-item:hover .dd-dot,.dd-item:focus-visible .dd-dot{box-shadow:0 0 18px -1px color-mix(in srgb,var(--c) 72%,#fff)}
.dd-txt{display:flex;flex-direction:column;line-height:1.25}
.dd-txt b{font-family:var(--f-head);font-weight:600;font-size:15px;color:#fff}
.dd-txt span{font-size:12px;color:rgba(255,255,255,0.55)}
.navdd-panel .dd-foot{display:block;margin-top:8px;padding:14px 14px 6px;border-top:1px solid rgba(255,255,255,0.1);font-family:var(--f-head);font-weight:600;font-size:13.5px;color:var(--accent);transition:color .2s,text-shadow .2s}
.navdd-panel a.dd-foot:hover{color:#fff;text-shadow:0 0 16px rgba(126,178,206,0.55)}
@media(max-width:1000px){
  .navdd{width:100%;flex-direction:column}
  .navdd-btn{width:100%;justify-content:space-between;font-size:17px;padding:8px 0}
  .navdd-panel{position:static;transform:none;width:100%;background:transparent;box-shadow:none;border:0;padding:4px 0 6px;opacity:1;visibility:visible;display:none}
  .navdd-panel.open{display:block}
  .navdd-panel.open,.navdd:hover .navdd-panel,.navdd:focus-within .navdd-panel{transform:none}
  .navdd-panel::before{display:none}
  .dd-grid{grid-template-columns:1fr;gap:0}
  .dd-item{padding:12px 6px;border-radius:8px}
  .dd-item:hover,.dd-item:focus-visible{background:rgba(11,27,46,0.05);border-color:transparent}
  .dd-dot{height:22px;background:var(--c);box-shadow:none}
  .dd-txt b{color:var(--navy);font-size:16px}
  .dd-txt span{display:none}
  .navdd-panel .dd-foot{border-top-color:var(--line);color:var(--accent-ink)}
  .navdd-panel a.dd-foot:hover{color:var(--navy);text-shadow:none}
}
.nav-burger{display:none;background:none;border:0;cursor:pointer;padding:10px;margin:-10px}
.nav-burger span{display:block;width:24px;height:2px;background:var(--navy);margin:5px 0;border-radius:2px;transition:transform .25s,opacity .2s}
.nav-burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav-burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@media(max-width:1000px){
  .nav-burger{display:block}
  .nav-links{position:absolute;top:var(--nav-h);left:0;right:0;flex-direction:column;align-items:flex-start;gap:4px;
    background:var(--paper);border-bottom:1px solid var(--line);padding:18px clamp(20px,5vw,52px) 28px;
    box-shadow:0 24px 40px -24px rgba(11,27,46,.3);max-height:calc(100vh - var(--nav-h));overflow-y:auto;
    opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .25s,transform .25s,visibility .25s}
  .nav-links.open{opacity:1;visibility:visible;transform:none}
  .nav-links a{font-size:17px;padding:8px 0;width:100%}
  .nav-links .btn{margin-top:12px;justify-content:center;padding:13px 22px}
}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;gap:9px;font-family:var(--f-head);font-weight:600;font-size:15px;
  padding:14px 26px;border-radius:9px;border:1.5px solid transparent;cursor:pointer;
  transition:transform .25s var(--ease),box-shadow .25s,background .2s,color .2s,border-color .2s}
.btn .arw{transition:transform .25s var(--ease)}
.btn:hover .arw{transform:translateX(4px)}
.btn-primary{background:var(--accent-ink);color:#fff;box-shadow:0 10px 26px -12px var(--accent-ink)}
.btn-primary:hover{transform:translateY(-3px) scale(1.015);box-shadow:0 18px 38px -12px var(--accent-ink)}
.btn-primary:active{transform:translateY(-1px) scale(.99)}
.btn-outline{border-color:var(--line-strong);color:var(--navy);background:transparent}
.btn-outline:hover{border-color:var(--navy);transform:translateY(-2px)}
.btn-page{background:var(--page);color:var(--on,#fff);box-shadow:0 10px 26px -12px var(--page)}
.btn-page:hover{transform:translateY(-2px);box-shadow:0 16px 34px -12px var(--page)}
.btn-lg{padding:16px 32px;font-size:16px}
.btn-ic{width:18px;height:18px;flex:none}
/* Book a demo — lime CTA, consistent in every context (dark ink text for contrast on lime) */
.btn-demo,.nav-links a.btn-demo{background:#B8D62E;color:var(--ink);border-color:#B8D62E;box-shadow:0 10px 26px -12px rgba(139,166,20,0.55)}
.btn-demo:hover,.nav-links a.btn-demo:hover{background:#A6C220;border-color:#A6C220;color:var(--ink);transform:translateY(-3px) scale(1.015);box-shadow:0 18px 40px -12px rgba(139,166,20,0.7)}
.btn-demo:active{transform:translateY(-1px) scale(.99)}
.btns{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.tlink{display:inline-flex;align-items:center;gap:8px;font-family:var(--f-head);font-weight:600;font-size:15px;color:var(--accent-ink);transition:gap .2s}
.tlink:hover{gap:12px}

/* on dark bands */
.on-dark,.on-dark p{color:rgba(255,255,255,0.82)}
.on-dark h1,.on-dark h2,.on-dark h3,.on-dark h4{color:#fff}
.on-dark .eyebrow{color:var(--page-accent,var(--accent));background:color-mix(in srgb,var(--page-accent,var(--accent)) 14%,transparent);border-color:color-mix(in srgb,var(--page-accent,var(--accent)) 34%,transparent)}
.on-dark .eyebrow::before{background:var(--page-accent,var(--accent))}
.on-dark h1 em,.on-dark h2 em,.on-dark h3 em{color:var(--page-accent,var(--accent))}
.on-dark .lede{color:rgba(255,255,255,0.78)}
.on-dark .btn-outline{border-color:rgba(255,255,255,0.28);color:#fff}
.on-dark .btn-outline:hover{border-color:#fff;background:rgba(255,255,255,0.06)}
.on-dark .btn-primary{background:var(--page-accent,var(--accent));color:var(--ink);box-shadow:0 12px 30px -14px color-mix(in srgb,var(--page-accent,var(--accent)) 55%,transparent)}
.on-dark .btn-primary:hover{filter:brightness(1.07);box-shadow:0 18px 42px -14px color-mix(in srgb,var(--page-accent,var(--accent)) 65%,transparent)}
.on-dark .tlink{color:var(--accent)}
.on-dark .hero-meta{color:rgba(255,255,255,0.55)}
.on-dark .hero-meta span::before{background:var(--accent)}
/* Reversed dark cards: on ink bands the cards become rich, brand-tinted dark panels that lift off the band */
.on-dark .acard,.on-dark .wcard{
  background:color-mix(in srgb,var(--k,#7EB2CE) 15%,#0A1626);
  border-color:color-mix(in srgb,var(--k,#7EB2CE) 40%,transparent);
  box-shadow:0 22px 46px -30px #000,inset 0 1px 0 rgba(255,255,255,0.05)}
.on-dark .acard h3,.on-dark .wcard h4{color:#fff}
.on-dark .acard p,.on-dark .wcard p{color:rgba(255,255,255,0.76)}
.on-dark .acard .who,.on-dark .wcard .wt{color:color-mix(in srgb,var(--k,#7EB2CE) 42%,#fff)}
.on-dark .acard.key{border-color:color-mix(in srgb,var(--k,#7EB2CE) 64%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--k,#7EB2CE) 44%,transparent),0 26px 52px -28px #000}
.on-dark .acard:hover,.on-dark .wcard:hover{box-shadow:0 32px 58px -26px #000,inset 0 1px 0 rgba(255,255,255,0.06)}
/* keep the flow (.fc) cards readable if ever placed on a dark band */
.on-dark .fc h3{color:var(--navy)}
.on-dark .fc p{color:var(--muted)}
.band-ink{background:var(--ink);position:relative;overflow:hidden}
.band-ink::before{content:"";position:absolute;inset:-35% -12%;z-index:0;pointer-events:none;
  background:radial-gradient(ellipse 42% 52% at 18% 26%,rgba(126,178,206,0.16),transparent 60%),
             radial-gradient(ellipse 46% 56% at 84% 74%,rgba(0,159,227,0.12),transparent 60%);
  animation:drift 26s ease-in-out infinite alternate}
.band-ink > *{position:relative;z-index:1}
.band-navy{background:var(--navy)}
@keyframes drift{from{transform:translate3d(-2%,2%,0) scale(1)}to{transform:translate3d(3%,-4%,0) scale(1.1)}}

/* ---------- HERO (editorial, asymmetric) ---------- */
.hero{position:relative;padding-top:calc(var(--nav-h) + clamp(56px,8vw,104px));padding-bottom:clamp(72px,9vw,120px);overflow:hidden;
  background:radial-gradient(ellipse 60% 55% at 82% 2%,rgba(0,159,227,0.18),transparent 58%),
             radial-gradient(ellipse 55% 55% at 4% 94%,rgba(126,178,206,0.12),transparent 60%),
             linear-gradient(165deg,#0B1B2E 0%,#0A2338 58%,#0B1B2E 100%)}
.hero h1{font-size:clamp(38px,4.9vw,64px);max-width:15ch}
.hero-ring{position:absolute;top:-18%;right:-15%;width:min(720px,68vw);aspect-ratio:1;z-index:0;pointer-events:none;
  background:url(/assets/img/GWTSpriteBG-white.png) center/contain no-repeat;opacity:0.07;animation:spin 90s linear infinite}
@keyframes spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}
.hero-cardwrap{margin-top:28px}
@media(max-width:980px){.hero-cardwrap{margin-top:0}}
.hero .wrap{max-width:1400px}
.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.15fr 0.85fr;gap:clamp(36px,5vw,68px);align-items:start}
.hero-grid > div:first-child{margin-top:-20px}
@media(max-width:980px){.hero-grid > div:first-child{margin-top:0}}
@media(max-width:980px){.hero-grid{grid-template-columns:1fr;gap:60px}}
.hero h1{margin:20px 0 0}
.hero .lede{margin-top:28px;max-width:40ch}
.hero .btns{margin-top:38px}
.hero-meta{margin-top:32px;display:flex;flex-wrap:wrap;gap:8px 22px;font-family:var(--f-mono);font-size:12px;letter-spacing:0.04em;color:var(--faint)}
.hero-meta span{display:inline-flex;align-items:center;gap:8px}
.hero-meta span::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--page)}

/* ---------- report artefact ---------- */
.report{background:#fff;border:1px solid var(--line);border-radius:16px;padding:clamp(22px,2.4vw,30px);
  box-shadow:0 1px 2px rgba(11,27,46,.04),0 30px 60px -26px rgba(11,27,46,.28);position:relative}
.report .rhead{display:flex;justify-content:space-between;align-items:baseline;gap:12px;border-bottom:1px solid var(--line);padding-bottom:15px;margin-bottom:6px}
.report .rhead b{font-family:var(--f-head);color:var(--navy);font-size:15px;letter-spacing:0}
.report .rhead .tag-il{font-family:var(--f-mono);font-size:10.5px;letter-spacing:0.1em;color:var(--faint);text-transform:uppercase}
.rrow{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px 14px;padding:14px 0 8px;border-bottom:1px solid var(--sand)}
.rrow:last-of-type{border-bottom:0}
.rrow .lbl{font-size:14.5px;color:var(--text)}
.rrow .sig{grid-column:2;font-family:var(--f-head);font-size:10px;font-weight:700;letter-spacing:0.09em;color:#fff;border-radius:5px;padding:4px 9px;white-space:nowrap}
.rrow .bar{grid-column:1/-1;position:relative;height:9px;border-radius:100px;background:var(--sand);overflow:visible}
.rrow .bar i{display:block;height:100%;border-radius:100px;width:var(--w)}
.js .rrow .bar i{width:0;transition:width 1.1s var(--ease)}
.js .report.in .bar i{width:var(--w)}
.rrow .bar .bm{position:absolute;top:-3px;height:15px;width:2px;background:rgba(11,27,46,0.42);border-radius:2px;transform:translateX(-1px)}
.sig.pri{background:var(--pri)}.sig.watch{background:var(--watch)}.sig.str{background:var(--str)}
.report .rlegend{display:flex;justify-content:space-between;gap:12px;margin-top:16px;font-family:var(--f-mono);font-size:10.5px;letter-spacing:0.03em;color:var(--faint)}
.report .rlegend .bmk{display:inline-block;width:2px;height:11px;background:rgba(11,27,46,0.5);border-radius:2px;margin-right:6px;vertical-align:-1px}
.report .verdict{font-family:var(--f-quote);font-style:italic;font-size:16px;line-height:1.5;color:var(--navy);margin-top:16px}
/* dark hero report (reversed) + dataset toggle */
.report-dark{background:#0F2338;border-color:rgba(255,255,255,0.13);box-shadow:0 34px 70px -34px rgba(0,0,0,0.65);position:relative;overflow:hidden}
.report-dark::after{content:"";position:absolute;inset:0;z-index:4;pointer-events:none;background:linear-gradient(115deg,transparent 42%,rgba(255,255,255,0.055) 50%,transparent 58%);transform:translateX(-120%);animation:sweep 7s ease-in-out infinite}
@keyframes sweep{0%,70%{transform:translateX(-120%)}100%{transform:translateX(120%)}}
.report-dark .rhead{border-bottom-color:rgba(255,255,255,0.12);flex-wrap:wrap;gap:10px;align-items:flex-start}
.rhead-l{display:flex;flex-direction:column;gap:8px}
.live{display:inline-flex;align-items:center;gap:7px;font-family:var(--f-head);font-size:10px;font-weight:700;letter-spacing:0.13em;text-transform:uppercase;color:#7ADE5A}
.live i{width:7px;height:7px;border-radius:50%;background:#7ADE5A;animation:livedot 2s ease-out infinite}
@keyframes livedot{0%{box-shadow:0 0 0 0 rgba(122,222,90,0.55)}70%,100%{box-shadow:0 0 0 9px rgba(122,222,90,0)}}
.report-dark .rhead b{color:#fff}
.report-dark .rrow{border-bottom-color:rgba(255,255,255,0.09)}
.report-dark .rrow .lbl{color:rgba(255,255,255,0.86)}
.report-dark .rrow .bar{background:rgba(255,255,255,0.10)}
.report-dark .rrow .bar .bm{background:rgba(255,255,255,0.5)}
.report-dark .rlegend{color:rgba(255,255,255,0.5)}
.report-dark .rlegend .bmk{background:rgba(255,255,255,0.6)}
.report-dark .verdict{color:rgba(255,255,255,0.9)}
.phero-tag{font-family:var(--f-mono);font-size:10px;letter-spacing:0.09em;text-transform:uppercase;color:rgba(255,255,255,0.6);border:1px solid rgba(255,255,255,0.16);border-radius:100px;padding:4px 11px;white-space:nowrap;align-self:center}
.phero-report{box-shadow:0 40px 80px -36px rgba(0,0,0,0.7)}
.rrow-metric .rmetric{grid-column:2;font-family:var(--f-head);font-weight:700;font-size:14px;color:#fff;text-align:right}
/* FindingPotential hero — the Match candidate table on the dark report card */
.fp-hero-sub{font-size:13px;color:rgba(255,255,255,0.6);line-height:1.5;margin:16px 0 14px}
.fp-hero .fp-table{border-spacing:4px 5px}
.report-dark .fp-table th{color:rgba(255,255,255,0.45)}
.report-dark .fp-th-fit{color:#fff}
.report-dark .fp-tname{color:rgba(255,255,255,0.9);font-size:11.5px}
.report-dark .fp-sc,.report-dark .fp-fitcell{background:color-mix(in srgb,var(--sc) 24%,#12233a);color:color-mix(in srgb,var(--sc) 60%,#fff);font-size:11.5px;padding:6px 0}
.report-dark .fp-fitcell{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--sc) 45%,transparent)}
.fp-hero-key{display:flex;flex-wrap:wrap;gap:14px;margin-top:14px;font-family:var(--f-head);font-size:10.5px;font-weight:600;color:rgba(255,255,255,0.5)}
.fp-hero-key span{display:inline-flex;align-items:center;gap:6px}
.fp-hero-key i{width:9px;height:9px;border-radius:2px;flex:none}
.fp-hero.in .fp-trow{animation:rdfadein .5s var(--ease) both;animation-delay:calc(.12s + var(--i) * .07s)}
.rtoggle{display:none;gap:3px;background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.14);border-radius:100px;padding:3px}
.js .rtoggle{display:inline-flex}
.rtab{font-family:var(--f-head);font-weight:600;font-size:11px;color:rgba(255,255,255,0.62);background:none;border:0;border-radius:100px;padding:5px 12px;cursor:pointer;transition:color .2s,background .2s}
.rtab:hover{color:#fff}
.rtab[aria-pressed="true"]{background:var(--accent);color:var(--ink)}
.rset{display:block}
.js .rset{display:none}
.js .rset.is-active{display:block;animation:rsetIn .34s var(--ease) both}
@keyframes rsetIn{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}

/* ---------- lifecycle question carousel (homepage signature) ---------- */
.qs{margin-top:8px}
.qs-tabs{display:none;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:30px}
.js .qs-tabs{display:flex}
.qs-tab{display:inline-flex;align-items:center;gap:8px;font-family:var(--f-head);font-weight:600;font-size:12.5px;color:var(--muted);background:var(--paper);border:1px solid var(--line);border-radius:100px;padding:8px 15px;cursor:pointer;transition:color .25s,background .25s,border-color .25s}
.qs-tab i{width:9px;height:9px;border-radius:50%;background:var(--ac);flex:none}
.qs-tab:hover{color:var(--navy);border-color:var(--line-strong)}
.qs-tab[aria-selected="true"]{color:var(--on,#fff);background:var(--c);border-color:var(--c)}
.qs-tab[aria-selected="true"] i{background:var(--on,#fff)}
.qs-stagewrap{display:flex;align-items:center;gap:14px}
.qs-arrow{display:none;flex:none;width:48px;height:48px;border-radius:50%;border:1px solid var(--line-strong);background:var(--paper);color:var(--navy);font-size:24px;line-height:1;cursor:pointer;align-items:center;justify-content:center;transition:transform .25s var(--ease),background .25s,color .25s,border-color .25s}
.js .qs-arrow{display:flex}
.qs-arrow:hover{background:var(--navy);color:#fff;border-color:var(--navy);transform:scale(1.06)}
.qs-stage{flex:1;min-width:0}
.qs-panel{display:grid;grid-template-columns:1.02fr 0.98fr;gap:clamp(28px,4vw,60px);align-items:center;background:#fff;border:1px solid var(--line);border-radius:22px;padding:clamp(30px,4vw,56px);box-shadow:0 28px 64px -34px rgba(11,27,46,0.24);margin-bottom:16px}
/* All panels share one grid cell so the stage is always as tall as the tallest panel —
   stops the page below jumping up and down as the carousel changes. */
.js .qs-stage{display:grid;grid-template-columns:minmax(0,1fr)}
.js .qs-panel{grid-area:1/1;margin-bottom:0;visibility:hidden;opacity:0;pointer-events:none}
.js .qs-panel.is-active{visibility:visible;opacity:1;pointer-events:auto;animation:qsin .55s var(--ease)}
@keyframes qsin{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@media(max-width:820px){.qs-panel{grid-template-columns:1fr;gap:34px}.qs-viz{order:-1}}
/* phones: drop the illustrative report card, give the question full width, and move the
   prev/next arrows to a centred pair below the card so nothing overlaps or sits off-centre */
@media(max-width:620px){
  .qs-viz{display:none}
  .qs-stagewrap{flex-wrap:wrap;justify-content:center;row-gap:18px}
  .qs-stage{flex-basis:100%;order:-1}
}
.qs-copy .stage{font-family:var(--f-mono);font-size:11px;letter-spacing:0.1em;text-transform:uppercase;color:var(--navy);display:flex;align-items:center;gap:9px;margin-bottom:18px}
.qs-copy .stage i{width:11px;height:11px;border-radius:50%;background:var(--ac);flex:none}
.qs-q{font-family:var(--f-head);font-weight:600;font-size:clamp(26px,3vw,42px);line-height:1.1;letter-spacing:0;color:var(--navy);margin-bottom:16px}
.qs-copy p{font-size:16px;margin-bottom:28px;max-width:46ch}
/* output-preview card */
.vcard{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:26px 26px 24px}
.vhead{display:flex;justify-content:space-between;align-items:baseline;gap:10px;border-bottom:1px solid var(--line);padding-bottom:13px;margin-bottom:8px}
.vhead b{font-family:var(--f-head);font-size:14.5px;color:var(--navy)}
.vhead span{font-family:var(--f-mono);font-size:10px;letter-spacing:0.08em;text-transform:uppercase;color:var(--faint)}
.vrow{margin:15px 0 0}
.vrow .vl{font-size:13px;color:var(--text);display:block;margin-bottom:7px}
.vbar{position:relative;height:9px;background:var(--sand);border-radius:100px}
.vbar i{display:block;height:100%;border-radius:100px;background:var(--ac);width:var(--w)}
.js .qs-panel:not(.is-active) .vbar i{width:0}
.qs-panel.is-active .vbar i{width:var(--w);transition:width 1s var(--ease) .15s}
.vbar .bm{position:absolute;top:-3px;height:15px;width:2px;background:rgba(11,27,46,0.4);border-radius:2px;transform:translateX(-1px)}
.vlegend{font-family:var(--f-mono);font-size:10.5px;color:var(--faint);margin-top:16px;display:flex;align-items:center;gap:7px}
.vlegend .bmk{width:2px;height:11px;background:rgba(11,27,46,0.5);display:inline-block;border-radius:2px}
.qs-controls{display:none;justify-content:center;margin-top:24px}
.js .qs-controls{display:flex}
.qs-play{font-family:var(--f-mono);font-size:11.5px;letter-spacing:0.06em;color:var(--muted);background:none;border:1px solid var(--line);border-radius:100px;padding:8px 18px;cursor:pointer;transition:color .2s,border-color .2s}
.qs-play:hover{color:var(--navy);border-color:var(--line-strong)}

/* ---------- evidence / interpretation ---------- */
.split{display:grid;grid-template-columns:5fr 7fr;gap:clamp(36px,5vw,72px);align-items:start}
.split.rev{grid-template-columns:7fr 5fr}
@media(max-width:900px){.split,.split.rev{grid-template-columns:1fr;gap:40px}}
.evlist{display:flex;flex-direction:column;gap:26px;margin-top:6px}
.ev{display:grid;grid-template-columns:auto 1fr;gap:20px;align-items:start}
.ev .n{display:inline-flex;align-items:center;justify-content:center;width:50px;height:50px;border-radius:14px;background:var(--k,var(--accent-ink));color:#fff;font-family:var(--f-head);font-weight:700;font-size:20px;letter-spacing:0;flex:none}
.evlist .ev:nth-child(1){--k:#C3006B}
.evlist .ev:nth-child(2){--k:#166E8B}
.evlist .ev:nth-child(3){--k:#357223}
.ev h4{margin-bottom:8px}
.ev p{font-size:15.5px}
.chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.chip{font-family:var(--f-head);font-size:10.5px;font-weight:700;letter-spacing:0.08em;color:#fff;border-radius:5px;padding:4px 10px}

/* flow steps (we do the reading -> you decide) */
.flow{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px;align-items:center}
.flow span{font-family:var(--f-head);font-size:13px;font-weight:600;color:#fff;background:rgba(255,255,255,0.07);border:1px solid rgba(255,255,255,0.16);border-radius:100px;padding:8px 16px}
.flow .arr{background:none;border:0;color:var(--accent);padding:0 2px;font-size:15px}
.flow span.hi{background:color-mix(in srgb,var(--accent) 22%,transparent);border-color:color-mix(in srgb,var(--accent) 50%,transparent);color:#fff}

/* vertical flow stepper */
/* interpretation section — centred manifesto + "we do the hard three -> you decide" handoff */
.interp-lede{max-width:66ch;margin:22px auto 0;text-align:center;color:rgba(255,255,255,0.82)}
.handoff{display:flex;align-items:center;justify-content:center;gap:clamp(20px,3.5vw,48px);margin-top:clamp(46px,6vw,82px);flex-wrap:wrap}
.ho-track{list-style:none;display:flex;align-items:flex-start;gap:clamp(14px,2.5vw,34px);flex:1 1 440px;position:relative;padding:0;margin:0}
.ho-track::before{content:"";position:absolute;top:24px;left:16.6%;right:16.6%;height:2px;background:rgba(255,255,255,0.16);z-index:0}
.ho-node{flex:1;display:flex;flex-direction:column;align-items:center;text-align:center;gap:15px}
.ho-n{width:48px;height:48px;border-radius:50%;flex:none;display:grid;place-items:center;font-family:var(--f-head);font-weight:700;font-size:18px;color:#fff;background:var(--ink);border:1.5px solid rgba(255,255,255,0.26);position:relative;z-index:1}
.ho-t{font-family:var(--f-head);font-weight:600;font-size:15.5px;line-height:1.3;color:rgba(255,255,255,0.82);max-width:15ch}
.ho-arrow{flex:none;color:var(--accent);display:flex}
.ho-you{flex:0 1 320px;background:color-mix(in srgb,var(--accent) 9%,var(--ink));border:1px solid color-mix(in srgb,var(--accent) 42%,transparent);border-radius:18px;padding:22px 26px;box-shadow:0 22px 50px -24px color-mix(in srgb,var(--accent) 55%,transparent)}
.ho-you-cap{display:block;font-family:var(--f-mono);font-size:11px;letter-spacing:0.1em;text-transform:uppercase;color:var(--accent)}
.ho-you-t{display:block;font-family:var(--f-head);font-weight:700;font-size:clamp(19px,2.2vw,24px);color:#fff;margin-top:7px;line-height:1.06;letter-spacing:-0.01em}
.ho-you-sub{display:block;color:rgba(255,255,255,0.68);font-size:13.5px;line-height:1.45;margin-top:11px}
@media(max-width:760px){
  .handoff{flex-direction:column;align-items:stretch;gap:8px}
  .ho-track{flex-direction:column;gap:0;flex-basis:auto}
  .ho-track::before{top:22px;bottom:22px;left:23px;right:auto;width:2px;height:auto}
  .ho-node{flex-direction:row;justify-content:flex-start;gap:16px;padding:9px 0}
  .ho-t{max-width:none;text-align:left}
  .ho-arrow{align-self:center;margin:4px 0}
  .ho-arrow svg{transform:rotate(90deg)}
  .ho-you{flex-basis:auto;margin-top:6px}
}
.js .ho-node,.js .ho-arrow,.js .ho-you{opacity:0;transform:translateY(14px)}
.reveal.in .ho-node,.reveal.in .ho-arrow,.reveal.in .ho-you{opacity:1;transform:none;transition:opacity .55s var(--ease),transform .55s var(--ease)}
.reveal.in .ho-node:nth-child(1){transition-delay:.15s}
.reveal.in .ho-node:nth-child(2){transition-delay:.3s}
.reveal.in .ho-node:nth-child(3){transition-delay:.45s}
.reveal.in .ho-arrow{transition-delay:.55s}
.reveal.in .ho-you{transition-delay:.68s}
@media(prefers-reduced-motion:reduce){.js .ho-node,.js .ho-arrow,.js .ho-you{opacity:1;transform:none;transition:none}}

/* employee-lifecycle dots = the "questions" carousel navigation (highlight only, no connecting line) */
.lifecycle{position:relative;margin:4px 0 clamp(40px,5vw,64px)}
.lc-line{position:absolute;top:20px;left:7.1%;right:7.1%;height:3px;background:var(--line-strong);border-radius:3px;z-index:0}
.lc-nodes{display:flex;justify-content:space-between;gap:6px;position:relative;z-index:1}
.lc-node{display:flex;flex-direction:column;align-items:center;gap:14px;flex:1 1 0;min-width:0;background:none;border:0;padding:6px 0;cursor:pointer;font:inherit}
.lc-node:focus-visible{outline:2px solid var(--accent-ink);outline-offset:3px;border-radius:10px}
.lc-dot{width:28px;height:28px;border-radius:50%;background:var(--c);transform:scale(.88);transition:transform .3s var(--ease),box-shadow .3s}
.lc-node:hover .lc-dot{transform:scale(.98)}
.lc-node[aria-selected="true"] .lc-dot{transform:scale(1.14);box-shadow:0 0 0 7px color-mix(in srgb,var(--ac) 22%,transparent)}
.lc-lbl{font-family:var(--f-head);font-weight:600;font-size:12px;color:var(--muted);text-align:center;line-height:1.2;transition:color .3s}
.lc-node[aria-selected="true"] .lc-lbl{color:var(--navy);font-weight:700}
/* "across the lifecycle" (D&I) — a spanning element rather than a dot on the line */
.lc-across{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;margin-top:24px;padding:12px 18px;border-radius:12px;background:transparent;border:1px dashed var(--line-strong);cursor:pointer;font-family:var(--f-head);font-weight:600;font-size:13px;color:var(--muted);transition:background .25s,border-color .25s,color .25s}
.lc-across:hover{border-color:var(--muted);color:var(--navy)}
.lc-across:focus-visible{outline:2px solid var(--accent-ink);outline-offset:3px}
.lc-across[aria-selected="true"]{background:color-mix(in srgb,#02B2BE 14%,#fff);border-style:solid;border-color:color-mix(in srgb,#02B2BE 45%,#fff);color:var(--navy)}
.lc-across-line{flex:none;width:34px;height:6px;border-radius:6px;background:linear-gradient(90deg,#357223,#166E8B,#173961,#943B5B,#215968,#C3006B)}
.lc-across b{color:var(--navy);font-weight:700}
@media(max-width:720px){.lc-line{top:16px}.lc-dot{width:20px;height:20px}.lc-lbl{font-size:10px}.lc-node{gap:9px}.lc-across{font-size:12px}}

/* ---------- audience depth ---------- */
.aud{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
@media(max-width:1080px){.aud{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.aud{grid-template-columns:1fr}}
.acard{border:1px solid var(--line);border-radius:14px;padding:30px 26px;background:var(--paper);position:relative;overflow:hidden;transition:transform .3s var(--ease),box-shadow .3s,border-color .3s}
.acard::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--k,var(--accent-ink))}
.acard:hover{transform:translateY(-5px);box-shadow:0 24px 44px -22px color-mix(in srgb,var(--k,var(--navy)) 40%,rgba(11,27,46,.2))}
.acard.key{border-color:color-mix(in srgb,var(--k,var(--accent-ink)) 45%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--k,var(--accent-ink)) 24%,transparent)}
.acard .who{font-family:var(--f-mono);font-size:11px;letter-spacing:0.08em;text-transform:uppercase;color:var(--k,var(--muted))}
.acard h3{font-size:clamp(22px,2vw,27px);margin:10px 0 15px}
.acard p{font-size:14.5px}

/* ---------- stats strip ---------- */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.band-ink .stats{max-width:1400px}
.stats-3{grid-template-columns:repeat(3,1fr);text-align:center}
@media(max-width:720px){.stats{grid-template-columns:repeat(2,1fr);gap:32px}.stats-3{grid-template-columns:1fr;gap:30px}}
.stat b{display:block;font-family:var(--f-head);font-weight:700;font-size:clamp(52px,7vw,92px);color:#fff;letter-spacing:0;line-height:1;white-space:nowrap}
.stat b .u{color:var(--accent)}
.stat > span{font-size:13.5px;color:rgba(255,255,255,0.6);margin-top:12px;display:block}

/* ---------- why-now cards ---------- */
.why{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
@media(max-width:920px){.why{grid-template-columns:1fr}}
.wcard{border:1px solid var(--line);border-radius:14px;padding:32px;background:var(--paper);position:relative;overflow:hidden;transition:transform .3s var(--ease),box-shadow .3s,border-color .3s}
.wcard::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--k,var(--accent-ink))}
.wcard:hover{transform:translateY(-4px);box-shadow:0 22px 42px -24px color-mix(in srgb,var(--k,var(--navy)) 40%,rgba(11,27,46,.2))}
.wcard .wt{font-family:var(--f-mono);font-size:11px;letter-spacing:0.09em;text-transform:uppercase;color:var(--k,var(--accent-ink));margin-bottom:16px;display:block}
.wcard h4{margin-bottom:13px;font-size:18px}
.wcard p{font-size:14.5px}
/* dark feature cards (Why now / Where change) — stand out on light sections */
.dcard{position:relative;overflow:hidden;background:linear-gradient(158deg,#152c46,#0b1a2c);border:1px solid rgba(255,255,255,0.09);border-radius:18px;padding:clamp(24px,2.4vw,30px);transition:transform .35s var(--ease),box-shadow .35s,border-color .35s}
.dcard::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--k,#7EB2CE);opacity:.9}
.dcard::after{content:"";position:absolute;top:-45%;right:-30%;width:75%;height:130%;background:radial-gradient(circle,color-mix(in srgb,var(--k,#7EB2CE) 20%,transparent),transparent 66%);pointer-events:none;opacity:.5;transition:opacity .35s}
.dcard:hover{transform:translateY(-5px);border-color:color-mix(in srgb,var(--k,#7EB2CE) 42%,transparent);box-shadow:0 34px 64px -30px rgba(0,0,0,0.7)}
.dcard:hover::after{opacity:1}
.dcard > *{position:relative;z-index:1}
.dc-ic{display:inline-flex;width:48px;height:48px;border-radius:14px;align-items:center;justify-content:center;color:var(--k,#7EB2CE);background:color-mix(in srgb,var(--k,#7EB2CE) 16%,transparent);border:1px solid color-mix(in srgb,var(--k,#7EB2CE) 34%,transparent);margin-bottom:20px}
.dc-ic svg{width:24px;height:24px}
.dc-tag{display:block;font-family:var(--f-mono);font-size:11px;letter-spacing:0.09em;text-transform:uppercase;color:color-mix(in srgb,var(--k,#7EB2CE) 45%,#fff);margin-bottom:9px}
.dcard h4{color:#fff;font-size:18.5px;line-height:1.2;margin:0 0 12px;font-weight:600}
.dcard p{color:rgba(255,255,255,0.7);font-size:14.5px;line-height:1.55;margin:0}
.lcards{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:clamp(26px,3vw,36px)}
@media(max-width:600px){.lcards{grid-template-columns:1fr}}

/* ---------- icon feature cards ---------- */
.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
@media(max-width:920px){.feature-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.feature-grid{grid-template-columns:1fr}}
.fcard{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:28px 26px;position:relative;overflow:hidden;transition:transform .3s var(--ease),box-shadow .3s,border-color .3s}
.fcard:hover{transform:translateY(-6px);box-shadow:0 24px 46px -24px color-mix(in srgb,var(--k,var(--navy)) 40%,rgba(11,27,46,.2));border-color:color-mix(in srgb,var(--k) 40%,var(--line))}
.fic{width:48px;height:48px;border-radius:13px;display:flex;align-items:center;justify-content:center;margin-bottom:20px;
  background:color-mix(in srgb,var(--k) 12%,transparent);color:var(--k);border:1px solid color-mix(in srgb,var(--k) 26%,transparent);transition:transform .3s var(--ease)}
.fcard:hover .fic{transform:scale(1.08) rotate(-3deg)}
.fic svg{width:23px;height:23px;stroke-width:1.7}
.fcard p{font-size:15px;color:#3E4E5B;line-height:1.55}
/* Bespoke section: narrative left, 2x2 deliverable cards right */
.bespoke-split{display:grid;grid-template-columns:0.82fr 1.18fr;gap:clamp(30px,4.5vw,64px);align-items:center}
@media(max-width:900px){.bespoke-split{grid-template-columns:1fr;gap:36px}}
.bespoke-intro .lede{margin-bottom:16px}
.feature-grid.bespoke-cards{grid-template-columns:repeat(2,1fr)}
@media(max-width:560px){.feature-grid.bespoke-cards{grid-template-columns:1fr}}
/* Reversed dark cards on the (light) bespoke section — same treatment as the ink-band cards */
.bespoke-cards .fcard{background:color-mix(in srgb,var(--k,#7EB2CE) 15%,#0A1626);border-color:color-mix(in srgb,var(--k,#7EB2CE) 40%,transparent);box-shadow:0 22px 46px -30px rgba(11,27,46,0.5),inset 0 1px 0 rgba(255,255,255,0.05)}
.bespoke-cards .fcard:hover{border-color:color-mix(in srgb,var(--k) 60%,transparent);box-shadow:0 30px 56px -26px rgba(11,27,46,0.6),inset 0 1px 0 rgba(255,255,255,0.06)}
.bespoke-cards .fcard p{color:rgba(255,255,255,0.82)}
.bespoke-cards .fic{background:color-mix(in srgb,var(--k) 24%,transparent);color:color-mix(in srgb,var(--k) 55%,#fff);border-color:color-mix(in srgb,var(--k) 45%,transparent)}

/* ---------- pricing: offer columns ---------- */
.offer-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:16px}
@media(max-width:900px){.offer-cols{grid-template-columns:1fr;gap:18px;max-width:520px;margin-inline:auto}}
.offer{background:linear-gradient(158deg,#152c46,#0b1a2c);border:1px solid rgba(255,255,255,0.09);border-radius:18px;padding:30px 28px;position:relative;overflow:hidden;transition:transform .3s var(--ease),box-shadow .3s,border-color .3s}
.offer::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--a,var(--accent))}
.offer::after{content:"";position:absolute;inset:0;background:radial-gradient(105% 80% at 100% 0%,color-mix(in srgb,var(--a) 22%,transparent),transparent 55%);pointer-events:none;opacity:.6;transition:opacity .3s}
.offer:hover{transform:translateY(-6px);box-shadow:0 34px 64px -30px rgba(0,0,0,0.7);border-color:color-mix(in srgb,var(--a) 45%,transparent)}
.offer:hover::after{opacity:1}
.offer > *{position:relative;z-index:1}
.offer-ic{display:flex;width:48px;height:48px;border-radius:14px;align-items:center;justify-content:center;color:var(--a);background:color-mix(in srgb,var(--a) 16%,transparent);border:1px solid color-mix(in srgb,var(--a) 34%,transparent);margin-bottom:18px}
.offer-ic svg{width:24px;height:24px}
.offer-tag{display:inline-block;font-family:var(--f-mono);font-size:11px;letter-spacing:0.09em;text-transform:uppercase;font-weight:600;color:color-mix(in srgb,var(--a) 42%,#fff);background:color-mix(in srgb,var(--a) 18%,transparent);border:1px solid color-mix(in srgb,var(--a) 32%,transparent);padding:5px 11px;border-radius:20px}
.offer-head h3{color:#fff;font-size:clamp(19px,1.8vw,23px);margin:13px 0 8px}
.offer-head p{font-size:14px;color:rgba(255,255,255,0.68);line-height:1.5;margin-bottom:20px}
.offer-list{list-style:none;padding:0;margin:0;border-top:1px solid rgba(255,255,255,0.1)}
.offer-list li{display:flex;flex-direction:column;gap:2px;padding:14px 0 14px 16px;position:relative;border-bottom:1px solid rgba(255,255,255,0.1)}
.offer-list li:last-child{border-bottom:0;padding-bottom:0}
.offer-list li::before{content:"";position:absolute;left:0;top:16px;width:4px;height:22px;border-radius:2px;background:var(--c)}
.offer-list b{font-family:var(--f-head);font-weight:600;font-size:15.5px;color:#fff}
.offer-list span{font-size:13px;color:rgba(255,255,255,0.6)}

/* ---------- pricing: headcount estimator ---------- */
.calc{margin-top:38px;background:rgba(255,255,255,0.045);border:1px solid rgba(255,255,255,0.12);border-radius:20px;padding:clamp(24px,4vw,42px)}
.calc-readout{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:30px;flex-wrap:wrap}
.calc-emp{display:block;font-family:var(--f-head);font-weight:600;font-size:clamp(30px,4.5vw,50px);color:#fff;line-height:1}
.calc-emp-lbl{font-size:12px;letter-spacing:0.09em;text-transform:uppercase;color:rgba(255,255,255,0.55)}
.calc-cost-wrap{text-align:right;font-family:var(--f-head);line-height:1}
.calc-cur{font-size:clamp(22px,3vw,34px);color:var(--accent);vertical-align:top;margin-right:2px}
.calc-cost{font-weight:600;font-size:clamp(40px,7vw,72px);color:var(--accent);line-height:1}
.calc-per{display:block;font-size:12px;letter-spacing:0.06em;text-transform:uppercase;color:rgba(255,255,255,0.5);margin-top:8px}
.calc-range{-webkit-appearance:none;appearance:none;width:100%;height:10px;border-radius:6px;cursor:pointer;
  background:linear-gradient(90deg,var(--accent) 0%,var(--accent) var(--fill,50%),rgba(255,255,255,0.14) var(--fill,50%),rgba(255,255,255,0.14) 100%)}
.calc-range:focus-visible{outline:2px solid var(--accent);outline-offset:6px}
.calc-range::-webkit-slider-thumb{-webkit-appearance:none;width:28px;height:28px;border-radius:50%;background:#fff;border:3px solid var(--ink);box-shadow:0 6px 16px rgba(0,0,0,0.45);cursor:grab;transition:transform .12s}
.calc-range::-webkit-slider-thumb:active{transform:scale(1.14);cursor:grabbing}
.calc-range::-moz-range-thumb{width:28px;height:28px;border-radius:50%;background:#fff;border:3px solid var(--ink);box-shadow:0 6px 16px rgba(0,0,0,0.45);cursor:grab}
.calc-range::-moz-range-track{height:10px;border-radius:6px;background:rgba(255,255,255,0.14)}
.calc-range::-moz-range-progress{height:10px;border-radius:6px;background:var(--accent)}
.calc-scale{display:flex;justify-content:space-between;margin-top:14px;font-size:12px;color:rgba(255,255,255,0.45)}

/* ---------- clients / trust ---------- */
.clients{display:flex;flex-wrap:wrap;gap:12px}
.clients .c{font-family:var(--f-head);font-weight:600;color:var(--navy);font-size:15.5px;border:1px solid var(--line);border-radius:8px;padding:14px 20px;flex:1 1 auto;text-align:center;min-width:160px;background:var(--paper)}
.trust{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-top:32px}
@media(max-width:820px){.trust{grid-template-columns:repeat(2,1fr);gap:22px}}
.trust .t{display:flex;flex-direction:column;gap:3px}
.trust .t b{font-family:var(--f-head);font-size:14.5px;color:var(--navy)}
.trust .t span{font-size:12.5px;color:var(--muted)}
.trust .t{border:1px solid var(--line);border-radius:12px;padding:18px 16px;background:var(--paper);transition:transform .25s var(--ease),box-shadow .25s,border-color .25s}
.trust .t:hover{transform:translateY(-3px);box-shadow:0 16px 30px -18px rgba(11,27,46,0.18);border-color:var(--line-strong)}
.trust .t .k{font-family:var(--f-head);font-weight:700;font-size:12px;color:var(--accent-ink);letter-spacing:0.06em;margin-bottom:8px}
/* table + inline-link polish */
.spectable tbody tr{transition:background .2s}
.spectable tr:hover td{background:color-mix(in srgb,var(--accent-ink) 5%,transparent)}
.prose a:not(.btn){color:var(--accent-ink);font-weight:600;text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--accent-ink) 35%,transparent);text-underline-offset:3px;transition:text-decoration-color .2s}
.prose a:not(.btn):hover{text-decoration-color:var(--accent-ink)}

/* ---------- pull-quote (the one serif) ---------- */
.pull{max-width:20ch}
.pull blockquote{font-family:var(--f-quote);font-style:italic;font-weight:500;font-size:clamp(26px,3.4vw,44px);line-height:1.28;color:var(--navy)}
.on-dark .pull blockquote{color:#fff}
.pull .src{font-family:var(--f-head);font-size:14px;color:var(--muted);margin-top:20px;font-style:normal}
.on-dark .pull .src{color:rgba(255,255,255,0.6)}

/* ---------- CTA ---------- */
.cta{text-align:center}
.cta h2{max-width:20ch;margin:0 auto 18px}
.cta .lede{max-width:56ch;margin:0 auto 34px}
.cta .btns{justify-content:center}

/* ---------- footer ---------- */
.footer{background:#0F2338;color:rgba(255,255,255,0.62);padding-block:clamp(56px,7vw,80px) 40px;font-size:14.5px;position:relative}
.footer::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#357223,#B34B8C,#173961,#166E8B,#943B5B,#215968,#C3006B)}
.footer-top{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px}
@media(max-width:900px){.footer-top{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.footer-top{grid-template-columns:1fr}}
.footer-logo-img{height:34px;width:auto;display:block;margin-bottom:18px;filter:brightness(0) invert(1)}
.footer-strap{max-width:34ch;color:rgba(255,255,255,0.6);margin-bottom:22px;font-size:14.5px}
.footer a.footer-cta{display:inline-flex;align-items:center;justify-content:center;width:auto;padding:13px 26px;margin-top:4px;background:var(--accent);color:var(--ink);border-radius:9px}
.footer a.footer-cta:hover{background:#95c3da;color:var(--ink);transform:translateY(-2px)}
.footer-rule{height:1px;background:rgba(255,255,255,0.1);margin:38px 0 24px}
.footer h5{font-family:var(--f-mono);font-size:11px;font-weight:500;letter-spacing:0.12em;text-transform:uppercase;color:rgba(255,255,255,0.42);margin-bottom:16px}
.footer a{display:block;padding:5px 0;color:rgba(255,255,255,0.62);transition:color .18s}
.footer a:hover{color:#fff}
.footer .spectrum{display:flex;height:3px;border-radius:3px;overflow:hidden;margin:40px 0 24px}
.footer .spectrum span{flex:1}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:12px 24px;flex-wrap:wrap;font-family:var(--f-body);font-size:13px;color:rgba(255,255,255,0.5)}
.footer-legal{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px}
.footer-legal a{display:inline;padding:0;color:rgba(255,255,255,0.6)}
.footer-legal a:hover{color:#fff}
.footer-gwt{color:rgba(255,255,255,0.42)}

/* ---------- product / page hero ---------- */
.phero{position:relative;padding-top:calc(var(--nav-h) + clamp(44px,6vw,88px));padding-bottom:clamp(56px,7vw,96px);overflow:hidden;
  background:radial-gradient(ellipse 58% 66% at 92% -6%,color-mix(in srgb,var(--page-accent) 28%,transparent),transparent 56%),
             radial-gradient(ellipse 46% 56% at -2% 104%,color-mix(in srgb,var(--page) 42%,transparent),transparent 58%),
             linear-gradient(165deg,#0B1B2E 0%,#0A2033 58%,#0B1B2E 100%)}
.phero .wrap{position:relative;z-index:1}
/* hero background watermark — half off the right edge, vertically centred (clipped by .phero overflow) */
.phero::before{content:"";position:absolute;top:50%;right:0;transform:translate(50%,-50%);width:min(640px,60vw);aspect-ratio:1;
  background:url(/assets/img/GWTSpriteBG-white.png) center/contain no-repeat;opacity:0.07;pointer-events:none;z-index:0}
.phero.on-dark .crumb{color:rgba(255,255,255,0.5)}
.phero.on-dark .crumb a:hover{color:#fff}
.phero.on-dark .stage-tag{color:var(--page-accent)}
.phero.on-dark .stage-tag::before{background:var(--page-accent)}
.phero.on-dark .phero-note{color:rgba(255,255,255,0.62)}
.phero.on-dark .phero-note a{color:var(--page-accent)}
.phero-grid{display:grid;grid-template-columns:1.06fr 0.94fr;gap:clamp(36px,5vw,64px);align-items:center}
.phero-grid>*{min-width:0}
@media(max-width:940px){.phero-grid{grid-template-columns:1fr;gap:44px}}
.crumb{font-family:var(--f-mono);font-size:12px;letter-spacing:0.05em;color:var(--faint);margin-bottom:22px}
.crumb a:hover{color:var(--navy)}
.crumb .sep{opacity:.5;margin:0 8px}
.stage-tag{display:inline-flex;align-items:center;gap:9px;font-family:var(--f-head);font-size:12px;font-weight:700;letter-spacing:0.09em;text-transform:uppercase;color:var(--page);margin-bottom:20px}
.stage-tag::before{content:"";width:11px;height:11px;border-radius:50%;background:var(--page)}
.phero h1{font-size:clamp(38px,5.4vw,72px);max-width:16ch}
.phero .lede{margin-top:22px;max-width:56ch}
.phero-note{margin-top:22px;font-family:var(--f-mono);font-size:12.5px;letter-spacing:0.02em;color:var(--muted);max-width:64ch}
.phero-note a{color:var(--page);font-weight:600;text-decoration:underline;text-underline-offset:2px;font-family:var(--f-body)}

/* product hero data card (scales) */
.pcard{background:#fff;border:1px solid var(--line);border-radius:20px;padding:clamp(24px,2.6vw,32px);box-shadow:0 30px 66px -34px color-mix(in srgb,var(--page) 42%,rgba(11,27,46,0.3))}
.pcard .ph{display:flex;justify-content:space-between;align-items:baseline;gap:10px;border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:4px}
.pcard .ph b{font-family:var(--f-head);color:var(--navy);font-size:15px;letter-spacing:0}
.pcard .ph span{font-family:var(--f-head);font-size:10.5px;letter-spacing:0.08em;text-transform:uppercase;color:var(--faint)}
.pr{margin-top:18px}
.pr .pl{display:flex;justify-content:space-between;align-items:baseline;font-size:13.5px;color:var(--text);margin-bottom:8px}
.pr .pl .pv{font-family:var(--f-head);font-weight:700;color:var(--page);font-size:15px}
.pbar{position:relative;height:10px;background:var(--sand);border-radius:100px}
.pbar i{display:block;height:100%;border-radius:100px;background:var(--page-accent);width:var(--w)}
.js .pcard:not(.in) .pbar i{width:0}
.pcard.in .pbar i{width:var(--w);transition:width 1.05s var(--ease) .15s}
.pbar .bm{position:absolute;top:-3px;height:16px;width:2px;background:rgba(11,27,46,0.32);border-radius:2px;transform:translateX(-1px)}
.pcard .pleg{font-size:11px;color:var(--faint);margin-top:18px;display:flex;align-items:center;gap:7px}
.pcard .pleg b{display:inline-block;width:2px;height:11px;background:rgba(11,27,46,0.4);border-radius:2px}

/* product feature cards (big numeral, colour-differentiated) */
.fcards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
@media(max-width:860px){.fcards{grid-template-columns:1fr}}
.fc{background:color-mix(in srgb,var(--fc,var(--page-accent)) 12%,#0A1626);border:1px solid color-mix(in srgb,var(--fc,var(--page-accent)) 36%,transparent);border-radius:18px;padding:34px 30px;position:relative;overflow:hidden;box-shadow:0 22px 46px -30px rgba(11,27,46,0.55),inset 0 1px 0 rgba(255,255,255,0.05);transition:transform .3s var(--ease),box-shadow .3s,border-color .3s}
.fc::after{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:var(--fc,var(--page-accent));transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease)}
.fc:hover{transform:translateY(-6px);box-shadow:0 34px 62px -26px rgba(0,0,0,0.5);border-color:color-mix(in srgb,var(--fc,var(--page-accent)) 58%,transparent)}
.fc:hover::after{transform:scaleX(1)}
.fnum{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:15px;font-family:var(--f-head);font-weight:700;font-size:23px;color:#fff;background:var(--k,var(--page));margin-bottom:22px;letter-spacing:0;transition:transform .3s var(--ease)}
.fc .fnum{background:color-mix(in srgb,var(--fc,var(--page-accent)) 22%,transparent);color:color-mix(in srgb,var(--fc,var(--page-accent)) 58%,#fff);border:1px solid color-mix(in srgb,var(--fc,var(--page-accent)) 42%,transparent)}
.fc:hover .fnum{transform:scale(1.06) rotate(-3deg)}
.fc-ic{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:15px;color:var(--fc,var(--page-accent));background:color-mix(in srgb,var(--fc,var(--page-accent)) 18%,transparent);border:1px solid color-mix(in srgb,var(--fc,var(--page-accent)) 40%,transparent);margin-bottom:22px;transition:transform .3s var(--ease)}
.fc-ic svg{width:27px;height:27px}
.fc:hover .fc-ic{transform:scale(1.06) rotate(-3deg)}
.fc h3{margin-bottom:14px;font-size:20px;color:#fff}
.fc p{font-size:15px;color:rgba(255,255,255,0.78);line-height:1.55}
.fc-link{display:inline-block;margin-top:13px;font-family:var(--f-head);font-weight:600;font-size:14px;color:color-mix(in srgb,var(--page-accent) 64%,#fff);text-decoration:none;transition:color .18s}
.fc-link:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}
.fc>*,.tp>*{position:relative;z-index:1}
.fc::before,.tp::before{content:"";position:absolute;right:-30%;top:-30%;width:64%;aspect-ratio:1;background:url(/assets/img/GWTGreySpriteBG.png) center/contain no-repeat;opacity:0.15;pointer-events:none;z-index:0}

/* image placeholder (people/other) */
.imgph{position:relative;border-radius:20px;overflow:hidden;min-height:360px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center;padding:28px;
  background:linear-gradient(155deg,color-mix(in srgb,var(--page) 14%,var(--sand)),color-mix(in srgb,var(--page-accent) 6%,var(--paper)));
  border:1px dashed color-mix(in srgb,var(--page) 42%,var(--line));color:var(--page)}
.imgph svg{width:46px;height:46px;opacity:.85}
.imgph span{font-family:var(--f-head);font-weight:600;font-size:14px;opacity:.9;letter-spacing:0.01em}

/* sample-report graphic (replaces the old "imagery to follow" placeholder) */
.repdoc{background:#fff;border:1px solid var(--line);border-radius:20px;padding:26px 26px 30px;position:relative;overflow:hidden;box-shadow:0 34px 70px -34px color-mix(in srgb,var(--page) 45%,rgba(11,27,46,0.3))}
.repdoc::before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:linear-gradient(90deg,var(--page),var(--page-accent))}
.rd-head{display:flex;align-items:center;gap:9px;margin-top:6px}
.rd-mark{width:11px;height:11px;border-radius:3px;background:var(--page-accent)}
.rd-head b{font-family:var(--f-head);font-weight:600;font-size:14px;color:var(--navy)}
.rd-tag{margin-left:auto;font-family:var(--f-mono);font-size:9.5px;letter-spacing:0.1em;text-transform:uppercase;color:var(--faint);border:1px solid var(--line);padding:3px 9px;border-radius:20px}
.rd-name{font-family:var(--f-head);font-weight:600;font-size:20px;color:var(--navy);margin:16px 0}
.rd-signals{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}
.rd-sig{font-family:var(--f-head);font-size:11.5px;font-weight:600;padding:5px 12px 5px 25px;border-radius:20px;position:relative}
.rd-sig::before{content:"";position:absolute;left:11px;top:50%;transform:translateY(-50%);width:8px;height:8px;border-radius:50%}
.rd-p{background:color-mix(in srgb,#C00000 10%,transparent);color:#C00000}.rd-p::before{background:#C00000}
.rd-w{background:color-mix(in srgb,#B45309 12%,transparent);color:#B45309}.rd-w::before{background:#B45309}
.rd-s{background:color-mix(in srgb,#357223 12%,transparent);color:#357223}.rd-s::before{background:#357223}
.rd-chart{display:flex;align-items:flex-end;gap:9px;height:100px;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.rd-chart i{flex:1;height:var(--h);background:linear-gradient(180deg,var(--page-accent),color-mix(in srgb,var(--page-accent) 50%,var(--page)));border-radius:5px 5px 0 0;transform-origin:bottom;transition:transform .8s var(--ease)}
.js .repdoc:not(.in) .rd-chart i{transform:scaleY(0)}
.repdoc.in .rd-chart i:nth-child(1){transition-delay:.10s}
.repdoc.in .rd-chart i:nth-child(2){transition-delay:.17s}
.repdoc.in .rd-chart i:nth-child(3){transition-delay:.24s}
.repdoc.in .rd-chart i:nth-child(4){transition-delay:.31s}
.repdoc.in .rd-chart i:nth-child(5){transition-delay:.38s}
.repdoc.in .rd-chart i:nth-child(6){transition-delay:.45s}
.rd-lines{margin-top:18px;display:flex;flex-direction:column;gap:9px}
.rd-lines i{height:8px;border-radius:4px;background:var(--sand)}
.rd-lines i:nth-child(1){width:100%}.rd-lines i:nth-child(2){width:86%}.rd-lines i:nth-child(3){width:58%}
@media(prefers-reduced-motion:reduce){.js .repdoc:not(.in) .rd-chart i{transform:none}}
/* report card — Board / Line-manager tabs */
.rd-tabs{display:inline-flex;gap:4px;background:var(--sand);border:1px solid var(--line);border-radius:12px;padding:5px;margin:16px 0 18px}
.rd-tab{border:0;background:transparent;font-family:var(--f-head);font-weight:600;font-size:13px;color:var(--muted);padding:8px 15px;border-radius:8px;cursor:pointer;transition:background .18s,color .18s,box-shadow .18s}
.rd-tab:hover:not(.is-on){background:rgba(11,27,46,0.055);color:var(--navy)}
.rd-tab.is-on{background:#fff;color:var(--page);box-shadow:0 3px 10px -4px rgba(11,27,46,0.32)}
.rd-tab:focus-visible{outline:2px solid var(--page-accent);outline-offset:2px}
.rd-panel{display:none}
.rd-panel.is-on{display:block;animation:rdfade .35s var(--ease)}
@keyframes rdfade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.rd-sub{font-size:13px;color:var(--muted);margin-bottom:18px;line-height:1.5}
.rd-sub em{font-style:normal;color:var(--faint);font-family:var(--f-mono);font-size:11px}

/* ---- four-view report card (LastOpinion etc.) ---- */
.repdoc-full .rd-tabs{display:flex;flex-wrap:wrap}
.repdoc-full .rd-tab{padding:6px 12px;font-size:12.5px}
.repdoc-full .rd-panel.is-on{min-height:296px}
/* Board */
.rd-verdict{font-family:var(--f-head);font-weight:600;font-size:clamp(15px,1.5vw,17.5px);line-height:1.35;color:var(--navy);margin-bottom:18px}
.rd-chips{display:flex;flex-direction:column;gap:7px;margin-bottom:18px}
.rd-chips-sm{margin-top:16px;margin-bottom:0}
.rd-chip{display:flex;align-items:center;gap:9px;padding:8px 13px;border-radius:9px;font-family:var(--f-head);font-weight:600;font-size:13px}
.rd-chips-sm .rd-chip{font-size:12px;padding:6px 12px}
.rd-chip i{width:9px;height:9px;border-radius:50%;background:currentColor;flex:none}
.rd-chip b{margin-left:auto;font-family:var(--f-mono);font-weight:700;font-size:9px;letter-spacing:0.09em;text-transform:uppercase;opacity:.72}
.rd-kpirow{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.rd-kpirow-4{grid-template-columns:repeat(4,1fr);margin-bottom:14px}
@media(max-width:520px){.rd-kpirow-4{grid-template-columns:repeat(2,1fr)}}
.rd-kpi{background:var(--sand);border-radius:11px;padding:12px 14px}
.rd-kpi b{display:block;font-family:var(--f-head);font-weight:700;font-size:clamp(17px,1.9vw,22px);color:var(--page);line-height:1}
.rd-kpi span{font-size:11px;color:var(--muted);margin-top:4px;display:block;line-height:1.3}
/* Line-manager bars */
.rd-bars{display:flex;flex-direction:column;gap:15px}
.rd-bartop{display:flex;justify-content:space-between;align-items:baseline;font-family:var(--f-head);font-size:13px;font-weight:600;color:var(--navy);margin-bottom:6px}
.rd-bartop b{background:transparent}
.rd-bartrack{position:relative;height:12px;background:var(--sand);border-radius:100px}
.rd-barfill{position:absolute;inset:0 auto 0 0;width:var(--w);border-radius:100px;transform-origin:left}
.rd-barfill.rd-p{background:#C00000}.rd-barfill.rd-w{background:#B45309}.rd-barfill.rd-s{background:#357223}
.rd-barmark{position:absolute;top:-3px;height:18px;width:2px;background:rgba(11,27,46,0.32);border-radius:2px}
.rd-panel.is-on .rd-barfill{animation:rdbar .8s var(--ease) both;animation-delay:calc(.2s + var(--i,0) * .08s)}
@keyframes rdbar{from{transform:scaleX(0)}to{transform:scaleX(1)}}
/* Individual radar */
.rd-radar{width:100%;max-width:280px;height:auto;display:block;margin:4px auto 2px;overflow:visible}
.rd-rring{fill:none;stroke:var(--line);stroke-width:1}
.rd-rax{stroke:var(--line);stroke-width:1}
.rd-rarea{fill:color-mix(in srgb,var(--page) 20%,transparent);stroke:var(--page);stroke-width:2;stroke-linejoin:round;transform-box:fill-box;transform-origin:center}
.rd-rdot{fill:var(--page)}
.rd-rlbl{font-family:var(--f-head);font-size:9.5px;font-weight:600;fill:var(--muted)}
.rd-panel.is-on .rd-rarea{animation:rdradar .6s var(--ease) .2s both}
.rd-panel.is-on .rd-rdot{animation:rdfadein .5s var(--ease) .48s both}
@keyframes rdradar{from{transform:scale(.05);opacity:0}to{transform:scale(1);opacity:1}}
@keyframes rdfadein{from{opacity:0}to{opacity:1}}
/* Dashboard */
.rd-dashgrid{display:grid;grid-template-columns:1.25fr 0.75fr;gap:14px;margin-top:16px}
@media(max-width:520px){.rd-dashgrid{grid-template-columns:1fr}}
.rd-dashcell{background:var(--sand);border-radius:12px;padding:12px 12px 8px}
.rd-cellcap{display:block;font-family:var(--f-mono);font-size:9px;letter-spacing:0.08em;text-transform:uppercase;color:var(--faint);margin-bottom:6px}
.rd-trend{width:100%;height:auto;display:block;overflow:visible}
.rd-tfill{fill:color-mix(in srgb,var(--page) 10%,transparent);stroke:none}
.rd-tline{fill:none;stroke:var(--page);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.rd-tdot{fill:#fff;stroke:var(--page);stroke-width:2}
.rd-tlbl{font-family:var(--f-head);font-size:9px;fill:var(--muted);font-weight:600}
.rd-donut{width:104px;height:104px;display:block;margin:0 auto}
.rd-donut-track{fill:none;stroke:#fff;stroke-width:15}
.rd-donut-un{fill:none;stroke:var(--page);stroke-width:15}
.rd-donut-hp{fill:none;stroke:color-mix(in srgb,var(--page) 30%,#fff);stroke-width:15}
.rd-donut-big{fill:var(--navy);font-family:var(--f-head);font-weight:700;font-size:21px;text-anchor:middle}
.rd-donut-small{fill:var(--muted);font-family:var(--f-head);font-size:8.5px;text-anchor:middle;letter-spacing:0.05em;text-transform:uppercase}
.rd-panel.is-on .rd-tline{stroke-dasharray:400;animation:rddraw 1s var(--ease) .5s both}
.rd-panel.is-on .rd-tfill,.rd-panel.is-on .rd-tdot{animation:rdfadein .6s var(--ease) .75s both}
.rd-panel.is-on .rd-donut{animation:rddonut .7s var(--ease) .5s both}
@keyframes rddraw{from{stroke-dashoffset:400}to{stroke-dashoffset:0}}
@keyframes rddonut{from{opacity:0;transform:rotate(-18deg) scale(.85)}to{opacity:1;transform:none}}

/* choreographed "loading" of each view's bits + big report title + individual chip groups */
@keyframes rdup{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}
.rd-panel.is-on .rd-verdict,.rd-panel.is-on .rd-sub{animation:rdup .5s var(--ease) .02s both}
.rd-panel.is-on .rd-chip{animation:rdup .45s var(--ease) both;animation-delay:calc(.16s + var(--i,0) * .06s)}
.rd-board.is-on .rd-kpi{animation:rdup .45s var(--ease) both;animation-delay:calc(.5s + var(--i,0) * .07s)}
.rd-dashboard.is-on .rd-kpi{animation:rdup .45s var(--ease) both;animation-delay:calc(.06s + var(--i,0) * .06s)}
.rd-panel.is-on .rd-barrow{animation:rdup .45s var(--ease) both;animation-delay:calc(.12s + var(--i,0) * .08s)}
.rd-panel.is-on .rd-radar{animation:rdup .5s var(--ease) .08s both}
.rd-panel.is-on .rd-indgrps{animation:rdup .5s var(--ease) .42s both}
.rd-dashboard.is-on .rd-dashcell{animation:rdup .5s var(--ease) both}
.rd-dashboard.is-on .rd-dashcell:nth-child(1){animation-delay:.34s}
.rd-dashboard.is-on .rd-dashcell:nth-child(2){animation-delay:.44s}
.rd-head-full{display:block}
.rd-head-full .rd-topline{display:flex;align-items:center;gap:9px;margin-bottom:14px}
.rd-head-full .rd-topline .rd-tag{margin-left:auto}
.rd-head-full .rd-title{display:block;font-family:var(--f-head);font-weight:700;font-size:clamp(30px,3.6vw,42px);line-height:1.02;color:var(--navy);letter-spacing:0}
.rd-kind{display:block;font-family:var(--f-head);font-weight:600;font-size:14px;color:var(--page);margin-top:5px}
.rd-indgrps{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}
@media(max-width:520px){.rd-indgrps{grid-template-columns:1fr}}
.rd-ingrp .rd-chips{margin:0}
.rd-inlbl{display:block;font-family:var(--f-mono);font-size:9px;letter-spacing:0.08em;text-transform:uppercase;color:var(--faint);margin-bottom:7px}
.rd-inlbl-s{color:#357223}

/* ---- ReferenceExpert — verification panels (Standard / Detailed / Personal / Safeguarding) ---- */
.re-record{display:flex;flex-direction:column}
.re-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid var(--line)}
.re-row:last-child{border-bottom:0}
.re-k{font-family:var(--f-mono);font-size:9.5px;letter-spacing:0.08em;text-transform:uppercase;color:var(--faint);white-space:nowrap}
.re-v{font-family:var(--f-head);font-weight:600;font-size:14px;color:var(--navy);text-align:right}
.re-tick{width:19px;height:19px;border-radius:50%;background:#357223;position:relative;flex:none}
.re-tick::after{content:"";position:absolute;left:6.5px;top:4px;width:4px;height:8px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(42deg)}
/* Detailed — rated reference profile with segment meters */
.re-rate{display:flex;flex-direction:column;gap:13px;margin-bottom:16px}
.re-rtop{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:6px}
.re-rlab{font-family:var(--f-head);font-weight:600;font-size:13px;color:var(--navy)}
.re-rval{font-family:var(--f-head);font-weight:600;font-size:12px;color:var(--page)}
.re-pips{display:flex;gap:5px}
.re-pips i{flex:1;height:10px;border-radius:100px;background:var(--sand)}
.re-pips i.on{background:var(--pipc,var(--page))}
.re-badges{margin-top:4px}
/* Safeguarding — clearance checks */
.re-clear{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}
.re-crow{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;background:var(--sand);border-radius:11px;padding:12px 14px}
.re-ck{font-family:var(--f-head);font-weight:600;font-size:13.5px;color:var(--navy)}
.re-cstat{font-family:var(--f-head);font-weight:700;font-size:12px;color:#357223;white-space:nowrap}
/* Personal — strengths + shared note treatment */
.re-strengths{margin-top:16px}
.re-strengths .rd-signals{margin-top:8px;margin-bottom:0}
.re-note{margin-top:14px;font-size:11.5px;color:var(--muted);line-height:1.6}
.re-note .rd-tag{color:var(--page);border-color:color-mix(in srgb,var(--page) 30%,var(--line))}
.re-noteline{display:block;margin-top:8px}
/* choreographed load-in */
.rd-panel.is-on .re-row{animation:rdup .45s var(--ease) both;animation-delay:calc(.1s + var(--i,0) * .07s)}
.rd-panel.is-on .re-rrow{animation:rdup .45s var(--ease) both;animation-delay:calc(.12s + var(--i,0) * .08s)}
.rd-panel.is-on .re-crow{animation:rdup .45s var(--ease) both;animation-delay:calc(.1s + var(--i,0) * .09s)}
.rd-panel.is-on .rd-sig{animation:rdup .4s var(--ease) both;animation-delay:calc(.2s + var(--i,0) * .06s)}
.rd-panel.is-on .re-badges .rd-kpi{animation:rdup .45s var(--ease) both;animation-delay:calc(.5s + var(--i,0) * .08s)}
.rd-panel.is-on .re-tick{animation:rdpop .45s var(--ease) both;animation-delay:calc(.3s + var(--i,0) * .08s)}
.rd-panel.is-on .re-pips i.on{animation:rdpop .4s var(--ease) both;animation-delay:calc(.34s + var(--i,0) * .08s + var(--j,0) * .05s)}
@keyframes rdpop{from{opacity:0;transform:scale(.3)}to{opacity:1;transform:none}}

/* ---- FeedForward — 360 self-vs-raters gap, switchable competency model ---- */
.ff-dumbbell{display:flex;flex-direction:column;gap:16px;margin-bottom:14px}
.ff-dtop{display:flex;justify-content:space-between;align-items:baseline;gap:10px;font-family:var(--f-head);font-size:13px;font-weight:600;color:var(--navy);margin-bottom:9px}
.ff-dtop b{font-family:var(--f-mono);font-weight:700;font-size:10.5px;letter-spacing:.02em;white-space:nowrap}
.ff-you{color:var(--page)}
.ff-all{color:#669900}
.ff-dtrack{position:relative;height:16px}
.ff-dbase{position:absolute;left:0;right:0;top:7px;height:2px;background:var(--sand);border-radius:2px}
.ff-dconn{position:absolute;top:7px;height:2px;background:color-mix(in srgb,#669900 45%,#fff);border-radius:2px;transform-origin:left}
.ff-ddot{position:absolute;top:0;width:16px;height:16px;border-radius:50%;margin-left:-8px}
.ff-ddot.you{background:#fff;border:3px solid var(--page);z-index:2}
.ff-ddot.all{background:#669900;z-index:1}
.ff-legend{display:flex;gap:18px;margin:4px 0;font-family:var(--f-head);font-size:11px;font-weight:600;color:var(--muted)}
.ff-legend span{display:inline-flex;align-items:center}
.ff-legend .ff-ddot{position:static;display:inline-block;width:12px;height:12px;vertical-align:middle;margin:0 7px 0 0}
.rd-panel.is-on .ff-drow{animation:rdup .5s var(--ease) both;animation-delay:calc(.1s + var(--i,0) * .09s)}
.rd-panel.is-on .ff-dconn{animation:rdbar .7s var(--ease) both;animation-delay:calc(.28s + var(--i,0) * .09s)}
.rd-panel.is-on .ff-dtrack .ff-ddot{animation:rdpop .45s var(--ease) both;animation-delay:calc(.36s + var(--i,0) * .09s)}
.rd-panel.is-on .ff-legend{animation:rdfadein .5s var(--ease) .5s both}

/* ---- ED&I "Taking Action" — ranked success-area bars + witnessed-discomfort split ---- */
.edi-brow{display:flex;align-items:center;gap:12px}
.edi-rank{flex:none;width:23px;height:23px;border-radius:50%;background:var(--page);color:#fff;font-family:var(--f-head);font-weight:700;font-size:12px;display:flex;align-items:center;justify-content:center}
.edi-bmain{flex:1;min-width:0}
.edi-split{display:flex;height:36px;border-radius:10px;overflow:hidden}
.edi-sseg{display:flex;align-items:center;gap:6px;padding:0 13px;color:#fff;font-family:var(--f-head);font-weight:600;font-size:12px;min-width:0;white-space:nowrap}
.edi-sseg b{font-size:14px;font-weight:700}
.edi-sno{background:#669900}
.edi-syes{background:#C00000}
.rd-dashboard.is-on .edi-split{animation:ediwipe .8s var(--ease) .45s both}
@keyframes ediwipe{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}

/* ---- SafeSpace — confidential incidence split bars (harassment / bullying) ---- */
.ss-splits{display:flex;flex-direction:column;gap:17px;margin-bottom:14px}
.ss-top{display:flex;justify-content:space-between;align-items:baseline;gap:10px;font-family:var(--f-head);font-size:13px;font-weight:600;color:var(--navy);margin-bottom:7px}
.ss-top b{font-family:var(--f-mono);font-weight:700;font-size:11px;color:#C00000;white-space:nowrap}
.ss-bar{display:flex;height:16px;border-radius:8px;overflow:hidden;background:var(--sand)}
.ss-seg{height:100%}
.ss-sig{background:#C00000}
.ss-som{background:color-mix(in srgb,#C00000 40%,#fff)}
.ss-no{background:#357223}
.rd-incidence.is-on .ss-bar{animation:ediwipe .85s var(--ease) both;animation-delay:calc(.15s + var(--i,0) * .16s)}
.ss-legend{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:13px;font-family:var(--f-head);font-size:10.5px;font-weight:600;color:var(--muted)}
.ss-legend span{display:inline-flex;align-items:center;gap:6px}
.ss-d{width:10px;height:10px;border-radius:3px;flex:none}
.ss-note{font-family:var(--f-head);font-size:12.5px;color:var(--navy);background:var(--sand);border-radius:9px;padding:10px 13px}
.ss-note b{color:var(--page)}
.rd-incidence.is-on .ss-note{animation:rdup .5s var(--ease) .5s both}

/* ---- FindingPotential "Match" — FIT gauge, competency pills, ranked shortlist ---- */
.fp-fit{display:flex;align-items:center;gap:18px;margin-bottom:16px}
.fp-fitscore{flex:none;display:flex;align-items:baseline;gap:5px}
.fp-fitscore b{font-family:var(--f-head);font-weight:700;font-size:clamp(34px,4.4vw,48px);line-height:.9;color:var(--page)}
.fp-fitscore span{font-family:var(--f-mono);font-size:10px;line-height:1.1;color:var(--muted);letter-spacing:.08em;text-transform:uppercase}
.fp-gaugewrap{flex:1;min-width:0}
.fp-gauge{position:relative;height:16px;background:var(--sand);border-radius:100px;margin-bottom:16px}
.fp-gaugefill{position:absolute;inset:0 auto 0 0;width:var(--w);border-radius:100px;transform-origin:left}
.fp-gaugemark{position:absolute;left:var(--w,87.4%);top:50%;transform:translate(-50%,-50%);width:26px;height:26px;border-radius:50%;background:var(--page);border:2px solid #fff;box-shadow:0 0 0 3px color-mix(in srgb,var(--page) 30%,transparent);display:flex;align-items:center;justify-content:center;font-family:var(--f-head);font-size:9px;font-weight:700;color:#fff;left:87.4%}
.fp-gaugecap{font-family:var(--f-mono);font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;color:#357223}
.fp-fitlabel{font-family:var(--f-head);font-weight:600;font-size:13.5px;color:var(--navy);margin-bottom:16px}
.fp-comps{display:flex;flex-wrap:wrap;gap:8px}
.fp-comp{display:flex;align-items:center;gap:7px;background:color-mix(in srgb,var(--page) 8%,#fff);border:1px solid color-mix(in srgb,var(--page) 28%,var(--line));border-radius:8px;padding:7px 11px;font-family:var(--f-head);font-weight:600;font-size:11.5px;color:var(--navy)}
.fp-comp i{flex:none;width:14px;height:14px;border-radius:50%;background:var(--page);position:relative}
.fp-comp i::after{content:"";position:absolute;left:5px;top:3px;width:3px;height:6px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(42deg)}
.fp-ranklist{display:flex;flex-direction:column}
.fp-rrow{display:grid;grid-template-columns:18px 30px 1fr 46px;gap:11px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}
.fp-rrow:last-child{border-bottom:0}
.fp-rank{font-family:var(--f-mono);font-size:12px;font-weight:700;color:var(--faint);text-align:center}
.fp-av{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--f-head);font-size:10px;font-weight:700;color:#fff;letter-spacing:.02em}
.fp-rmain{min-width:0}
.fp-rname{font-family:var(--f-head);font-weight:600;font-size:13px;color:var(--navy);margin-bottom:5px}
.fp-rbar{height:5px;background:var(--sand);border-radius:3px;overflow:hidden}
.fp-rbar i{display:block;height:100%;width:var(--w);border-radius:3px;transform-origin:left}
.fp-rscore{font-family:var(--f-head);font-weight:700;font-size:15px;text-align:right}
.fp-key{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:12px;font-family:var(--f-head);font-size:10.5px;font-weight:600;color:var(--muted)}
.fp-key span{display:inline-flex;align-items:center;gap:6px}
.fp-kd{width:9px;height:9px;border-radius:2px;flex:none}
.fp-tablewrap{overflow-x:auto}
.fp-table{width:100%;border-collapse:separate;border-spacing:5px 5px}
.fp-table th{font-family:var(--f-mono);font-size:9px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--faint);padding:0 0 4px;text-align:center;white-space:nowrap}
.fp-th-name{text-align:left}
.fp-th-fit{color:var(--accent-ink)}
.fp-tname{font-family:var(--f-head);font-weight:600;font-size:12.5px;color:var(--navy);white-space:nowrap;text-align:left;padding-right:6px}
.fp-sc,.fp-fitcell{background:color-mix(in srgb,var(--sc) 14%,#fff);color:var(--sc);border-radius:7px;text-align:center;font-family:var(--f-head);font-weight:700;font-size:12px;padding:7px 0}
.fp-fitcell{font-weight:800;font-size:13px;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--sc) 32%,transparent)}
.rd-candidate.is-on .fp-fitscore{animation:rdup .5s var(--ease) .04s both}
.rd-candidate.is-on .fp-gaugefill{animation:rdbar .9s var(--ease) .2s both}
.rd-candidate.is-on .fp-gaugemark{animation:rdpop .5s var(--ease) .62s both}
.rd-candidate.is-on .fp-fitlabel{animation:rdup .5s var(--ease) .3s both}
.rd-candidate.is-on .fp-comp{animation:rdup .45s var(--ease) both;animation-delay:calc(.4s + var(--i,0) * .07s)}
.rd-shortlist.is-on .fp-rrow{animation:rdup .45s var(--ease) both;animation-delay:calc(.08s + var(--i,0) * .08s)}
.rd-shortlist.is-on .fp-rbar i{animation:rdbar .8s var(--ease) both;animation-delay:calc(.18s + var(--i,0) * .08s)}
.rd-dashboard.is-on .fp-key{animation:rdfadein .5s var(--ease) .1s both}
.rd-dashboard.is-on .fp-trow{animation:rdfadein .5s var(--ease) both;animation-delay:calc(.14s + var(--i,0) * .07s)}

/* "The problem" — drop the prose to line up with the headline (not the pill), and lead with a lede */
@media(min-width:901px){.pblm .prose{padding-top:58px}}
.pblm .prose > p:first-child{font-size:clamp(16.5px,1.4vw,19px);color:#2B3A46;line-height:1.55}

/* "The problem" — big before/after feature card (full width, below the intro) */
.baf{margin-top:clamp(44px,6vw,78px);border:1px solid var(--line);border-radius:22px;padding:clamp(28px,4vw,48px);background:#fff;box-shadow:0 30px 66px -38px rgba(11,27,46,0.45);display:grid;grid-template-columns:1fr auto 1fr;gap:clamp(24px,4vw,60px);align-items:center}
@media(max-width:720px){.baf{grid-template-columns:1fr;gap:26px;padding:26px}}
.baf-panel{display:flex;flex-direction:column;gap:5px;min-width:0}
.baf-k{font-family:var(--f-mono);font-size:11px;letter-spacing:0.12em;text-transform:uppercase;font-weight:700;color:var(--faint)}
.baf-k.baf-on{color:var(--page)}
.baf-v{font-family:var(--f-head);font-weight:600;font-size:clamp(18px,2vw,25px);line-height:1.15;color:var(--muted);margin-bottom:16px}
.baf-v.baf-v-on{color:var(--navy)}
.baf-bars{display:flex;align-items:flex-end;gap:8px;height:clamp(64px,9vw,100px)}
.baf-bars i{flex:1;height:var(--h);border-radius:5px 5px 0 0}
.baf-b i{background:color-mix(in srgb,var(--ink) 15%,var(--sand))}
.baf-a i{background:linear-gradient(180deg,var(--page-accent),color-mix(in srgb,var(--page-accent) 55%,var(--page)));transform-origin:bottom;transition:transform .7s var(--ease)}
.js .baf:not(.in) .baf-a i{transform:scaleY(0)}
.baf.in .baf-a i:nth-child(1){transition-delay:.12s}
.baf.in .baf-a i:nth-child(2){transition-delay:.19s}
.baf.in .baf-a i:nth-child(3){transition-delay:.26s}
.baf.in .baf-a i:nth-child(4){transition-delay:.33s}
.baf.in .baf-a i:nth-child(5){transition-delay:.40s}
.baf.in .baf-a i:nth-child(6){transition-delay:.47s}
.baf.in .baf-a i:nth-child(7){transition-delay:.54s}
.baf-arrow{display:flex;align-items:center;justify-content:center;flex:none;color:color-mix(in srgb,var(--page) 60%,var(--faint))}
.baf-arrow svg{width:34px;height:34px}
@media(max-width:720px){.baf-arrow{transform:rotate(90deg);margin:2px 0}}
@media(prefers-reduced-motion:reduce){.js .baf:not(.in) .baf-a i{transform:none}}

/* ---- per-product before/after illustrations ---- */
.bf{position:relative;height:clamp(114px,14vw,150px);width:100%}
/* shared AFTER — a mini scored report */
.bf-rows{display:flex;flex-direction:column;justify-content:center;gap:13px;height:100%;padding:0 2px}
.bfr{display:grid;grid-template-columns:minmax(70px,auto) 1fr auto;align-items:center;gap:11px}
.bfr-l{font-family:var(--f-head);font-weight:600;font-size:12.5px;color:var(--navy);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bfr-tr{height:9px;background:var(--sand);border-radius:100px;overflow:hidden}
.bfr-tr i{display:block;height:100%;width:var(--w);border-radius:100px;transform-origin:left}
.bfr-v{font-family:var(--f-head);font-weight:700;font-size:12.5px;text-align:right;min-width:32px}
.baf.in .bf-rows .bfr{animation:baffade .5s var(--ease) both;animation-delay:calc(.08s + var(--i) * .09s)}
.baf.in .bf-rows .bfr-tr i{animation:bafgrow .7s var(--ease) both;animation-delay:calc(.14s + var(--i) * .09s)}
/* FindingPotential — stacked CVs -> ranked shortlist */
.bf-fp-b .fpc{position:absolute;top:50%;left:50%;width:48px;height:62px;border-radius:6px;background:color-mix(in srgb,var(--ink) 7%,#fff);border:1px solid var(--line)}
.bf-fp-b .fpc::before{content:"";position:absolute;left:7px;right:9px;top:11px;height:3px;border-radius:2px;background:var(--line);box-shadow:0 7px 0 var(--line),0 14px 0 var(--line),0 21px 0 var(--line),0 28px 0 var(--line)}
.bf-fp-b .fpc:nth-child(1){transform:translate(-50%,-50%) rotate(-10deg) translateX(-20px)}
.bf-fp-b .fpc:nth-child(2){transform:translate(-50%,-50%)}
.bf-fp-b .fpc:nth-child(3){transform:translate(-50%,-50%) rotate(10deg) translateX(20px)}
.bf-fp-a{display:flex;flex-direction:column;justify-content:center;gap:11px;padding:0 2px}
.bf-fp-a .fpr{display:flex;align-items:center;gap:10px}
.bf-fp-a .fpr i{width:10px;height:10px;border-radius:50%;background:var(--c);flex:none}
.bf-fp-a .fpr b{height:9px;border-radius:5px;width:var(--w);background:color-mix(in srgb,var(--c) 60%,#fff);transform-origin:left}
.baf.in .bf-fp-a .fpr i{animation:bafpop .45s var(--ease) both;animation-delay:calc(.1s + var(--i) * .1s)}
.baf.in .bf-fp-a .fpr b{animation:bafgrow .7s var(--ease) both;animation-delay:calc(.14s + var(--i) * .1s)}
/* OnBoarder before — a "fine on paper" ticklist */
.bf-checklist{display:flex;flex-direction:column;justify-content:center;gap:15px;height:100%;padding:0 2px}
.bf-checklist .clr{position:relative;height:9px;border-radius:5px;background:color-mix(in srgb,var(--ink) 8%,var(--sand));margin-left:30px}
.bf-checklist .clr::before{content:"";position:absolute;left:-30px;top:50%;transform:translateY(-50%);width:19px;height:19px;border-radius:5px;background:color-mix(in srgb,var(--ink) 11%,var(--sand))}
.bf-checklist .clr::after{content:"";position:absolute;left:-23px;top:50%;width:5px;height:10px;border:solid var(--faint);border-width:0 2px 2px 0;transform:translateY(-66%) rotate(42deg)}
/* WinningFormula before — one stale annual snapshot */
/* WinningFormula "before": a stale month calendar — one survey day marked, the rest silent */
.bf-cal{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;height:clamp(150px,15vw,166px)}
.bf-cal .cal-page{width:min(240px,94%);border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--ink) 4%,#fff);overflow:hidden;box-shadow:0 12px 28px -18px rgba(11,27,46,0.35)}
.bf-cal .cal-top{display:block;height:15px;background:color-mix(in srgb,var(--ink) 13%,var(--sand));position:relative}
.bf-cal .cal-top::before,.bf-cal .cal-top::after{content:"";position:absolute;top:-3px;width:3px;height:8px;border-radius:2px;background:color-mix(in srgb,var(--ink) 30%,var(--sand))}
.bf-cal .cal-top::before{left:28%}
.bf-cal .cal-top::after{right:28%}
.bf-cal .cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;padding:7px}
.bf-cal .cal-grid span{height:15px;border-radius:3px;background:color-mix(in srgb,var(--ink) 7%,var(--sand))}
.bf-cal .cal-grid span.on{background:var(--muted);box-shadow:0 0 0 2.5px color-mix(in srgb,var(--muted) 26%,transparent)}
.bf-cal .cal-cap{font-family:var(--f-mono);font-size:10px;letter-spacing:.05em;text-transform:uppercase;color:var(--faint)}
.bf-cal .cal-cap b{color:var(--muted);font-weight:700}
@keyframes calpulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--muted) 42%,transparent),0 0 0 2.5px color-mix(in srgb,var(--muted) 26%,transparent)}70%{box-shadow:0 0 0 10px color-mix(in srgb,var(--muted) 0%,transparent),0 0 0 2.5px color-mix(in srgb,var(--muted) 26%,transparent)}100%{box-shadow:0 0 0 0 color-mix(in srgb,var(--muted) 0%,transparent),0 0 0 2.5px color-mix(in srgb,var(--muted) 26%,transparent)}}
.baf.in .bf-cal .cal-grid span.on{animation:calpulse 2.1s ease-out infinite}
@media(prefers-reduced-motion:reduce){.bf-cal .cal-grid span.on{animation:none}}
/* FeedForward before — a backward grade */
.bf-grade{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;height:100%}
.bf-grade .gr-num{font-family:var(--f-head);font-weight:700;font-size:36px;line-height:1;color:color-mix(in srgb,var(--ink) 34%,var(--sand))}
.bf-grade .gr-num b{font-size:17px;font-weight:600;color:var(--faint)}
.bf-grade .gr-stars{display:flex;gap:5px}
.bf-grade .gr-stars i{width:14px;height:14px;background:color-mix(in srgb,var(--ink) 15%,var(--sand));clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%)}
.bf-grade .gr-cap{font-family:var(--f-mono);font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--faint)}
/* ReferenceExpert before — chasing (awaiting) / after — returned */
.bf-pending,.bf-status{display:flex;flex-direction:column;justify-content:center;gap:14px;height:100%;padding:0 2px}
.bf-pending .pend{display:grid;grid-template-columns:16px 1fr auto;align-items:center;gap:11px}
.bf-pending .pdot{width:14px;height:14px;border-radius:50%;border:2px solid var(--line);border-top-color:var(--faint);animation:refspin 1.3s linear infinite}
.bf-pending .pl{height:8px;border-radius:4px;background:color-mix(in srgb,var(--ink) 8%,var(--sand))}
.bf-pending .pw{font-family:var(--f-mono);font-size:10px;letter-spacing:.04em;text-transform:uppercase;color:var(--faint)}
.bf-status .strow{display:grid;grid-template-columns:19px 1fr auto;align-items:center;gap:11px}
.bf-status .stick{width:19px;height:19px;border-radius:50%;background:var(--page-accent);position:relative}
.bf-status .stick::after{content:"";position:absolute;left:6.5px;top:4px;width:4px;height:8px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(42deg)}
.bf-status .sl{font-family:var(--f-head);font-weight:600;font-size:12.5px;color:var(--navy)}
.bf-status .sv{font-family:var(--f-mono);font-size:10px;letter-spacing:.03em;text-transform:uppercase;color:#357223;white-space:nowrap}
.baf.in .bf-status .strow{animation:baffade .5s var(--ease) both;animation-delay:calc(.1s + var(--i) * .12s)}
.baf.in .bf-status .stick{animation:bafpop .45s var(--ease) both;animation-delay:calc(.2s + var(--i) * .12s)}
/* LastOpinion before — scattered "?" (attrition looks random) */
.bf-scatter .qc{position:absolute;left:var(--x);top:var(--y);width:36px;height:44px;border-radius:6px;background:color-mix(in srgb,var(--ink) 6%,#fff);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-family:var(--f-head);font-weight:700;font-size:18px;color:var(--faint);transform:translate(-50%,-50%) rotate(var(--r))}
/* ED&I before — a stated commitment badge */
.bf-badge{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;height:100%}
.bf-badge .bdg{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:100px;background:color-mix(in srgb,var(--ink) 6%,var(--sand));border:1px solid var(--line);font-family:var(--f-head);font-weight:700;font-size:13.5px;color:var(--muted)}
.bf-badge .bdg-tick{width:16px;height:16px;border-radius:50%;background:color-mix(in srgb,var(--ink) 22%,var(--sand));position:relative;flex:none}
.bf-badge .bdg-tick::after{content:"";position:absolute;left:5.5px;top:3.5px;width:4px;height:7px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(42deg)}
.bf-badge .bdg-sub{font-family:var(--f-mono);font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--faint)}

/* FindingPotential problem infographic — same candidates, CVs -> evidenced (dark card) */
.fpbaf{margin-top:clamp(44px,6vw,78px);display:grid;grid-template-columns:1fr auto 1fr;gap:clamp(18px,3vw,44px);align-items:stretch;background:linear-gradient(158deg,#13294a,#091827);border:1px solid rgba(255,255,255,0.1);border-radius:22px;padding:clamp(26px,3.4vw,44px);box-shadow:0 38px 76px -42px rgba(0,0,0,0.72)}
.fpbaf-col{display:flex;flex-direction:column;min-width:0}
.fpbaf-hd{margin-bottom:18px}
.fpbaf-k{display:block;font-family:var(--f-mono);font-size:11px;letter-spacing:0.12em;text-transform:uppercase;font-weight:700;color:rgba(255,255,255,0.38);margin-bottom:7px}
.fpbaf-k.on{color:#6ABF43}
.fpbaf-h{font-family:var(--f-head);font-weight:600;font-size:clamp(17px,1.7vw,22px);color:rgba(255,255,255,0.6)}
.fpbaf-h.on{color:#fff}
.fpbaf-rows{display:flex;flex-direction:column;gap:9px;flex:1}
.fpb-row{display:flex;align-items:center;gap:11px;padding:10px 13px;border-radius:12px;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.07)}
.fpb-av{flex:none;width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--f-head);font-weight:700;font-size:10.5px;color:rgba(255,255,255,0.5);background:rgba(255,255,255,0.09);border:1px solid rgba(255,255,255,0.13)}
.fpb-nm{flex:none;font-family:var(--f-head);font-weight:600;font-size:13px;color:rgba(255,255,255,0.58);white-space:nowrap}
.fpb-cv{flex:1;display:flex;flex-direction:column;gap:4px;min-width:14px}
.fpb-cv i{height:4px;border-radius:2px;background:rgba(255,255,255,0.1)}
.fpb-cv i:first-child{width:85%}
.fpb-cv i:last-child{width:55%}
.fpb-q{flex:none;width:23px;height:23px;border-radius:7px;display:flex;align-items:center;justify-content:center;font-family:var(--f-head);font-weight:700;font-size:13px;color:rgba(255,255,255,0.5);background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.14)}
.fpa-row{display:flex;align-items:center;gap:11px;padding:10px 13px;border-radius:12px;background:color-mix(in srgb,var(--c) 11%,rgba(255,255,255,0.02));border:1px solid color-mix(in srgb,var(--c) 32%,transparent)}
.fpa-av{flex:none;width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--f-head);font-weight:700;font-size:10.5px;color:#06121f;background:var(--c)}
.fpa-nm{flex:none;font-family:var(--f-head);font-weight:600;font-size:13px;color:#fff;white-space:nowrap}
.fpa-bar{flex:1;height:8px;min-width:24px;border-radius:100px;background:rgba(255,255,255,0.1);overflow:hidden}
.fpa-bar i{display:block;height:100%;width:var(--w);border-radius:100px;background:var(--c)}
.fpa-fit{flex:none;min-width:28px;text-align:right;font-family:var(--f-head);font-weight:700;font-size:14px;color:var(--c)}
/* checklist "before" (OnBoarder false all-clear) */
.ckb-row{display:flex;align-items:center;gap:12px;padding:11px 13px;border-radius:12px;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.07)}
.ckb-tick{flex:none;width:22px;height:22px;border-radius:50%;background:rgba(124,194,78,0.16);border:1px solid rgba(124,194,78,0.42);position:relative}
.ckb-tick::after{content:"";position:absolute;left:7.5px;top:4.5px;width:5px;height:9px;border:solid #8FD16A;border-width:0 2px 2px 0;transform:rotate(42deg)}
.ckb-l{font-family:var(--f-head);font-weight:500;font-size:13px;color:rgba(255,255,255,0.6)}
/* generic scored "after" metric rows (no avatar) */
.scb-row{display:flex;align-items:center;gap:12px;padding:11px 13px;border-radius:12px;background:color-mix(in srgb,var(--c) 10%,rgba(255,255,255,0.02));border:1px solid color-mix(in srgb,var(--c) 30%,transparent)}
.scb-l{flex:none;width:122px;font-family:var(--f-head);font-weight:600;font-size:12px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.scb-bar{flex:1;height:8px;min-width:22px;border-radius:100px;background:rgba(255,255,255,0.1);overflow:hidden}
.scb-bar i{display:block;height:100%;width:var(--w);border-radius:100px;background:var(--c)}
.scb-v{flex:none;min-width:36px;text-align:right;font-family:var(--f-head);font-weight:700;font-size:13px;color:var(--c)}
.js .fpbaf .scb-bar i{width:0}
.js .fpbaf.in .scb-bar i{width:var(--w);transition:width .85s var(--ease);transition-delay:calc(.2s + var(--i) * .1s)}
@media(prefers-reduced-motion:reduce){.js .fpbaf .scb-bar i{width:var(--w);transition:none}}
/* LastOpinion scatter "before" — unexplained exits with no pattern */
.lo-scatter{position:relative;flex:1;min-height:208px}
.lo-quote{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%) rotate(var(--r));max-width:220px;padding:12px 17px;border-radius:12px;font-family:var(--f-head);font-weight:600;font-size:16px;line-height:1.2;color:rgba(255,255,255,0.92);background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.18);box-shadow:0 16px 30px -14px rgba(0,0,0,0.6);white-space:nowrap}
/* ReferenceExpert: manual chase -> returned, hands-off */
.re-row{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:12px}
.re-chase{background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08)}
.re-done{background:color-mix(in srgb,#5BC24A 10%,rgba(255,255,255,0.02));border:1px solid color-mix(in srgb,#5BC24A 28%,transparent)}
.re-spin{flex:none;width:20px;height:20px;border-radius:50%;border:2px solid rgba(255,255,255,0.15);border-top-color:#E59A3A;animation:refspin 1.1s linear infinite}
.re-check{flex:none;width:20px;height:20px;border-radius:50%;background:#5BC24A;position:relative}
.re-check::after{content:"";position:absolute;left:6.5px;top:4px;width:4px;height:8px;border:solid #06212b;border-width:0 2px 2px 0;transform:rotate(42deg)}
.re-role{flex:1;min-width:0;font-family:var(--f-head);font-weight:600;font-size:13.5px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.re-stat{flex:none;font-family:var(--f-mono);font-size:10.5px;letter-spacing:0.03em;text-transform:uppercase;color:rgba(255,255,255,0.45)}
.re-ret{color:#5BC24A}
@media(prefers-reduced-motion:reduce){.re-spin{animation:none}}
/* FeedForward: backward star grade -> forward coaching action */
.ff-row{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:12px}
.ff-grade{background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08)}
.ff-coach{background:color-mix(in srgb,var(--c) 10%,rgba(255,255,255,0.02));border:1px solid color-mix(in srgb,var(--c) 28%,transparent)}
.ff-bhv{flex:1;min-width:0;font-family:var(--f-head);font-weight:600;font-size:13.5px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ff-stars{display:inline-flex;gap:3px;flex:none}
.ff-stars i{width:13px;height:13px;background:rgba(255,255,255,0.14);clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%)}
.ff-stars i.on{background:rgba(255,255,255,0.5)}
.ff-act{flex:none;font-family:var(--f-head);font-weight:700;font-size:11.5px;color:var(--c);background:color-mix(in srgb,var(--c) 15%,transparent);border:1px solid color-mix(in srgb,var(--c) 38%,transparent);padding:5px 12px;border-radius:100px}
/* SafeSpace: false "all clear" complaints ledger -> concerns that surface safely */
.sb-clear{display:flex;flex-direction:column;gap:14px}
.sb-clear-hd{display:flex;align-items:center;gap:11px}
.sb-tick{display:grid;place-items:center;width:34px;height:34px;flex:none;border-radius:50%;color:#fff;background:#3BA552;box-shadow:0 0 0 5px rgba(59,165,82,0.16)}
.sb-tick svg{width:19px;height:19px}
.sb-clear-t{font-family:var(--f-head);font-weight:800;font-size:21px;color:#fff;letter-spacing:-0.01em}
.sb-clear-s{font-size:12.5px;color:rgba(255,255,255,0.5);align-self:flex-end;padding-bottom:3px}
.sb-ledger{display:flex;flex-direction:column;border:1px solid rgba(255,255,255,0.1);border-radius:13px;overflow:hidden}
.sb-lrow{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 15px;background:rgba(255,255,255,0.03)}
.sb-lrow+.sb-lrow{border-top:1px solid rgba(255,255,255,0.07)}
.sb-ch{font-family:var(--f-head);font-weight:600;font-size:13.5px;color:rgba(255,255,255,0.82)}
.sb-z{font-family:var(--f-head);font-weight:700;font-size:16px;color:rgba(255,255,255,0.32);font-variant-numeric:tabular-nums}
/* ED&I: a stated commitment -> lived experience measured across the lifecycle */
.edi-pledge{position:relative;flex:1;display:flex;flex-direction:column;justify-content:center;gap:12px;min-height:200px;padding:26px 24px;border-radius:16px;background:linear-gradient(155deg,rgba(226,101,160,0.15),rgba(226,101,160,0.04));border:1px solid rgba(226,101,160,0.26);overflow:hidden}
/* ED&I after: real success-area names are longer than the default scb label, so widen + wrap */
.edi-sbrow{min-height:50px}
.edi-sbrow .scb-l{width:150px;white-space:normal;line-height:1.2}
.edi-quote{position:absolute;top:-20px;left:16px;font-family:var(--f-head);font-weight:800;font-size:120px;line-height:1;color:rgba(226,101,160,0.28)}
.edi-stmt{position:relative;margin:0;font-family:var(--f-head);font-weight:700;font-size:23px;line-height:1.24;color:#fff;letter-spacing:-0.01em}
.edi-src{position:relative;display:inline-flex;align-items:center;gap:8px;font-size:11.5px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:rgba(226,101,160,0.92)}
.edi-src::before{content:"";width:18px;height:1px;background:currentColor}
/* WinningFormula: stale annual-survey calendar (dark) -> live, graded signal bars */
.wf-cal{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:8px 0}
.wf-cal-page{width:min(264px,96%);border:1px solid rgba(255,255,255,0.14);border-radius:12px;background:rgba(255,255,255,0.045);overflow:hidden}
.wf-cal-top{display:block;height:18px;background:rgba(255,255,255,0.09);position:relative}
.wf-cal-top::before,.wf-cal-top::after{content:"";position:absolute;top:-3px;width:3px;height:9px;border-radius:2px;background:rgba(255,255,255,0.32)}
.wf-cal-top::before{left:27%}
.wf-cal-top::after{right:27%}
.wf-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;padding:9px}
.wf-cal-grid span{height:16px;border-radius:3px;background:rgba(255,255,255,0.07)}
.wf-cal-grid span.on{background:#A78BFA;box-shadow:0 0 0 2.5px rgba(167,139,250,0.3)}
.wf-cal-cap{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,0.5)}
.wf-cal-cap b{color:rgba(255,255,255,0.85);font-weight:700}
@keyframes wfpulse{0%{box-shadow:0 0 0 0 rgba(167,139,250,0.5),0 0 0 2.5px rgba(167,139,250,0.3)}70%{box-shadow:0 0 0 11px rgba(167,139,250,0),0 0 0 2.5px rgba(167,139,250,0.3)}100%{box-shadow:0 0 0 0 rgba(167,139,250,0),0 0 0 2.5px rgba(167,139,250,0.3)}}
.fpbaf.in .wf-cal-grid span.on{animation:wfpulse 2.1s ease-out infinite}
@media(prefers-reduced-motion:reduce){.wf-cal-grid span.on{animation:none}}
.fpbaf-mid{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px}
.fpbaf-arrow{display:flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:50%;color:#6ABF43;background:rgba(106,191,67,0.13);border:1px solid rgba(106,191,67,0.32)}
.fpbaf-arrow svg{width:22px;height:22px}
.fpbaf-act{font-family:var(--f-mono);font-size:9.5px;letter-spacing:0.09em;text-transform:uppercase;color:rgba(255,255,255,0.45)}
.fpbaf-note{margin-top:15px;font-size:12.5px;line-height:1.5;color:rgba(255,255,255,0.48)}
.fpbaf-note.on{color:rgba(255,255,255,0.72)}
.js .fpbaf .fpa-bar i{width:0}
.js .fpbaf.in .fpa-bar i{width:var(--w);transition:width .85s var(--ease);transition-delay:calc(.2s + var(--i) * .1s)}
@media(max-width:820px){.fpbaf{grid-template-columns:1fr;gap:16px}.fpbaf-mid{flex-direction:row;gap:12px}.fpbaf-arrow svg{transform:rotate(90deg)}}
@media(prefers-reduced-motion:reduce){.js .fpbaf .fpa-bar i{width:var(--w);transition:none}}
@keyframes bafgrow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes bafpop{from{opacity:0;transform:scale(.2)}to{opacity:1;transform:none}}
@keyframes baffade{from{opacity:0}to{opacity:1}}
@keyframes refspin{to{transform:rotate(360deg)}}

/* ---------- contact trust panel (FP.COM-style, tailored) ---------- */
.contact-first{padding-top:calc(var(--nav-h) + clamp(30px,4vw,60px))}
.form-trust > h1{font-size:clamp(34px,4.6vw,56px);line-height:1.05;letter-spacing:0}
.form-trust-points{list-style:none;display:flex;flex-direction:column;gap:13px;margin-top:26px}
.form-trust-points li{display:flex;align-items:center;gap:12px;font-size:15px;color:#3E4E5B;line-height:1.4}
.form-trust-points li svg{width:19px;height:19px;color:var(--page);flex:none}
.contact-tiles{display:flex;flex-direction:column;gap:14px;margin-top:28px}
.contact-tile{display:flex;align-items:center;gap:13px;text-decoration:none}
.ct-ic{width:40px;height:40px;border-radius:11px;background:color-mix(in srgb,var(--page) 11%,transparent);display:flex;align-items:center;justify-content:center;flex:none;transition:background .2s}
.ct-ic svg{width:17px;height:17px;color:var(--page)}
.contact-tile:hover .ct-ic{background:color-mix(in srgb,var(--page) 18%,transparent)}
.ct-t{display:flex;flex-direction:column}
.ct-t b{font-family:var(--f-head);font-weight:600;font-size:14px;color:var(--navy)}
.ct-t em{font-style:normal;font-size:12px;color:var(--muted);margin-top:1px}
.contact-fine{margin-top:20px;font-size:12.5px;color:var(--muted);line-height:1.7}
.contact-fine a{color:var(--accent-ink);font-weight:600}
.contact-demo{margin-top:30px;background:var(--ink);border-radius:18px;padding:26px 28px;position:relative;overflow:hidden}
.contact-demo::after{content:"";position:absolute;right:-70px;bottom:-70px;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--page) 55%,transparent),transparent 68%);pointer-events:none}
.contact-demo > *{position:relative;z-index:1}
.cd-badges{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.cd-badge{font-family:var(--f-mono);font-size:10px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;background:rgba(184,214,46,0.16);color:#B8D62E;border:1px solid rgba(184,214,46,0.35);border-radius:20px;padding:3px 10px}
.cd-note{font-size:12px;color:rgba(255,255,255,0.45)}
.cd-h{font-family:var(--f-head);font-weight:700;font-size:19px;color:#fff;margin-bottom:6px;line-height:1.25}
.cd-p{font-size:13px;color:rgba(255,255,255,0.55);margin-bottom:20px;line-height:1.55}
.cd-btn{width:100%;justify-content:center}

/* ---------- ReferenceExpert "bring any reference" section ---------- */
.anyref-split{align-items:center;gap:clamp(36px,5vw,72px)}
.out-link{color:var(--page-accent);font-weight:600;text-decoration:underline;text-underline-offset:2px;white-space:nowrap}
.on-dark .out-link{color:var(--page-accent)}
.anyref-chips{display:flex;flex-wrap:wrap;gap:9px;margin-top:26px}
.anyref-chips span{font-family:var(--f-head);font-weight:600;font-size:12.5px;color:#fff;background:rgba(255,255,255,0.07);border:1px solid rgba(255,255,255,0.16);border-radius:100px;padding:7px 14px}
.anyref-viz{position:relative}
.ar-flow{display:grid;grid-template-columns:1fr clamp(64px,8vw,104px) 1fr;align-items:center;gap:8px}
.ar-in{display:flex;flex-direction:column;gap:14px}
.ar-tpl{background:#fff;border-radius:11px;padding:12px 14px;box-shadow:0 20px 40px -24px rgba(0,0,0,0.6);animation:arfloat 4.5s ease-in-out infinite;animation-delay:calc(var(--i) * .55s)}
.ar-tpl b{display:block;font-family:var(--f-head);font-weight:700;font-size:10.5px;letter-spacing:0.02em;color:var(--page);margin-bottom:9px}
.ar-tpl-a span{display:block;height:5px;border-radius:3px;background:var(--line);margin-bottom:6px}
.ar-tpl-a span:nth-child(3){width:82%}.ar-tpl-a span:last-child{width:58%;margin-bottom:0}
.ar-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}
.ar-grid i{height:11px;border-radius:3px;background:color-mix(in srgb,var(--page) 12%,var(--sand))}
.ar-crow{position:relative;height:6px;border-radius:3px;background:var(--sand);margin:0 0 9px 22px}
.ar-crow:last-child{margin-bottom:0;width:78%}
.ar-crow::before{content:"";position:absolute;left:-22px;top:50%;transform:translateY(-50%);width:14px;height:14px;border-radius:4px;background:var(--page-accent)}
.ar-crow::after{content:"";position:absolute;left:-18px;top:50%;width:4px;height:7px;border:solid #fff;border-width:0 2px 2px 0;transform:translateY(-62%) rotate(42deg)}
.ar-conn{width:100%;height:100%;min-height:150px;overflow:visible}
.ar-conn .ar-path{fill:none;stroke:var(--page-accent);stroke-width:2;stroke-linecap:round;stroke-dasharray:5 9;vector-effect:non-scaling-stroke;opacity:.85;animation:arflow 1.1s linear infinite}
.ar-plat{background:linear-gradient(160deg,color-mix(in srgb,var(--page-accent) 24%,#12233a),#0F2338);border:1px solid color-mix(in srgb,var(--page-accent) 32%,rgba(255,255,255,0.12));border-radius:14px;padding:16px;box-shadow:0 26px 54px -26px color-mix(in srgb,var(--page-accent) 55%,#000);position:relative;overflow:hidden}
.ar-plat::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 44%,rgba(255,255,255,0.06) 50%,transparent 56%);transform:translateX(-120%);animation:sweep 6s ease-in-out infinite}
.ar-plat-h{display:flex;align-items:center;gap:8px;font-family:var(--f-head);font-weight:700;font-size:13px;color:#fff;margin-bottom:14px}
.ar-mark{width:11px;height:11px;border-radius:3px;background:var(--page-accent)}
.ar-plat-rows{display:flex;flex-direction:column;gap:9px;margin-bottom:14px}
.ar-plat-rows i{height:8px;border-radius:4px;background:rgba(255,255,255,0.14)}
.ar-plat-rows i:nth-child(2){width:86%}.ar-plat-rows i:nth-child(3){width:64%}
.ar-plat-badge{display:inline-flex;align-items:center;gap:7px;font-family:var(--f-head);font-weight:600;font-size:11.5px;color:#7ADE5A;background:rgba(122,222,90,0.12);border:1px solid rgba(122,222,90,0.3);border-radius:100px;padding:6px 12px}
.ar-tick{width:14px;height:14px;border-radius:50%;background:#7ADE5A;position:relative;flex:none}
.ar-tick::after{content:"";position:absolute;left:5px;top:3px;width:3px;height:6px;border:solid #12233a;border-width:0 2px 2px 0;transform:rotate(42deg)}
.ar-cap{margin-top:18px;font-size:12.5px;color:rgba(255,255,255,0.55);text-align:center;max-width:none}
@keyframes arflow{to{stroke-dashoffset:-14}}
@keyframes arfloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@media(max-width:560px){.ar-flow{grid-template-columns:1fr 1fr;gap:16px}.ar-conn{display:none}.ar-out{grid-column:1/-1;margin-top:4px}}

/* ---------- about timeline ---------- */
.tl{position:relative;margin-top:12px}
.tl::before{content:"";position:absolute;left:104px;top:14px;bottom:14px;width:2px;background:var(--line)}
.tl-row{display:grid;grid-template-columns:92px 1fr;gap:36px;padding:15px 0;position:relative}
.tl-row .yr{text-align:right;font-family:var(--f-head);font-weight:700;color:var(--navy);font-size:15px}
.tl-row::before{content:"";position:absolute;left:98px;top:20px;width:14px;height:14px;border-radius:50%;background:var(--paper);border:3px solid var(--k,var(--page-accent));z-index:1;transition:transform .3s var(--ease)}
.tl-row:hover::before{transform:scale(1.35)}
.tl-row.now::before{background:var(--k,var(--page));border-color:var(--k,var(--page))}
.tl-row h4{transition:color .25s}
.tl-row:hover h4{color:var(--k,var(--navy))}
.tl-row h4{margin-bottom:4px}
.tl-row p{font-size:14.5px;max-width:62ch}
@media(max-width:620px){.tl::before{left:7px}.tl-row{grid-template-columns:1fr;gap:6px;padding-left:30px}.tl-row .yr{text-align:left}.tl-row::before{left:1px}}

/* ---------- two-column content ---------- */
.cols2{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,4vw,52px)}
@media(max-width:820px){.cols2{grid-template-columns:1fr;gap:36px}}
.scell{background:#fff;border:1px solid var(--line);border-radius:18px;padding:clamp(28px,3vw,40px);position:relative;overflow:hidden;transition:transform .3s var(--ease),box-shadow .3s,border-color .3s}
.scell::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--page);transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease)}
.scell:hover{transform:translateY(-5px);box-shadow:0 26px 50px -28px color-mix(in srgb,var(--page) 42%,rgba(11,27,46,.2));border-color:color-mix(in srgb,var(--page) 30%,var(--line))}
.scell:hover::before{transform:scaleX(1)}
.scell h3{margin-bottom:15px}
.scell .eyebrow{margin-bottom:14px}
.scell .prose p{font-size:15.5px}
/* science — four foundations (dark, icon, linked by a spectrum connector) */
.sci-found .shead{margin-bottom:clamp(38px,5vw,58px)}
.sci-pillars{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(18px,2.5vw,30px)}
.sci-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;text-align:left;background:color-mix(in srgb,var(--k) 13%,#0A1626);border:1px solid color-mix(in srgb,var(--k) 34%,transparent);border-radius:20px;padding:clamp(30px,3.4vw,44px);box-shadow:0 22px 46px -30px rgba(0,0,0,0.6);transition:transform .3s var(--ease),border-color .3s,box-shadow .3s}
.sci-card:hover{transform:translateY(-6px);border-color:color-mix(in srgb,var(--k) 62%,transparent);box-shadow:0 34px 62px -28px rgba(0,0,0,0.7)}
.sci-node{width:58px;height:58px;border-radius:15px;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--k) 20%,#0A1626);border:1.5px solid color-mix(in srgb,var(--k) 55%,transparent);color:color-mix(in srgb,var(--k) 64%,#fff);margin-bottom:20px}
.sci-node svg{width:26px;height:26px}
.sci-eyebrow{font-family:var(--f-mono);font-size:10.5px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:color-mix(in srgb,var(--k) 62%,#fff);margin-bottom:12px}
.sci-card h3{font-size:clamp(19px,1.8vw,23px);color:#fff;margin-bottom:12px;line-height:1.2}
.sci-card p{font-size:15px;color:rgba(255,255,255,0.74);line-height:1.6}
@media(max-width:600px){.sci-pillars{grid-template-columns:1fr}}
/* science — Security & trust narrative */
.sec-trust .shead{margin-bottom:clamp(26px,3.5vw,40px)}
.trust-narr{max-width:940px;margin:0 auto}
.trust-lead{font-size:clamp(17px,1.7vw,20px);line-height:1.6;color:#2B3A46;text-align:center;max-width:770px;margin:0 auto clamp(34px,4.5vw,50px)}
.trust-principles{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
@media(max-width:760px){.trust-principles{grid-template-columns:1fr;gap:14px}}
.tp{position:relative;overflow:hidden;background:color-mix(in srgb,#166E8B 13%,#0A1626);border:1px solid color-mix(in srgb,#166E8B 34%,transparent);border-radius:16px;padding:28px 26px;box-shadow:0 22px 46px -30px rgba(0,0,0,0.6);transition:transform .3s var(--ease),box-shadow .3s,border-color .3s}
.tp:hover{transform:translateY(-4px);box-shadow:0 32px 58px -28px rgba(0,0,0,0.7);border-color:color-mix(in srgb,#166E8B 60%,transparent)}
.tp-ic{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:12px;background:color-mix(in srgb,#166E8B 22%,#0A1626);color:color-mix(in srgb,#166E8B 62%,#fff);margin-bottom:16px}
.tp-ic svg{width:22px;height:22px}
.tp h3{font-size:17px;color:#fff;margin-bottom:8px}
.tp p{font-size:14.5px;color:rgba(255,255,255,0.74);line-height:1.55}
.trust-creds{text-align:center;margin-top:clamp(30px,4vw,42px);font-size:14px;color:var(--muted);line-height:1.7}
.trust-creds b{color:var(--navy);font-weight:600}
.sci-more{text-align:center;margin-top:clamp(30px,4vw,44px)}

/* ---- overlay / modal (engagement model, etc.) ---- */
.modal{position:fixed;inset:0;z-index:400;display:flex;align-items:center;justify-content:center;padding:clamp(16px,4vw,48px)}
.modal[hidden]{display:none}
.modal-backdrop{position:absolute;inset:0;background:rgba(6,14,24,0.64);backdrop-filter:blur(4px)}
.modal-box{position:relative;z-index:1;width:min(940px,100%);max-height:88vh;overflow:auto;background:var(--paper);border-radius:22px;box-shadow:0 50px 110px -30px rgba(0,0,0,0.72);padding:clamp(28px,4vw,54px)}
.modal:not([hidden]) .modal-box{animation:modalIn .4s var(--ease)}
.modal-close{position:absolute;top:16px;right:16px;width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--muted);font-size:22px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .18s,color .18s;z-index:2}
.modal-close:hover{background:var(--sand);color:var(--navy)}
body.modal-open{overflow:hidden}
@keyframes modalIn{from{transform:translateY(16px)}to{transform:none}}
.em-head{max-width:660px;margin-bottom:clamp(22px,3vw,34px)}
.em-head h2{font-size:clamp(24px,3vw,34px);color:var(--navy);margin:8px 0 12px;line-height:1.1}
.em-head p{color:var(--muted);font-size:15px;line-height:1.6}
.em-clusters{display:flex;flex-direction:column;gap:16px}
.em-cluster{border:1px solid var(--line);border-left:4px solid var(--k);border-radius:14px;padding:20px 24px;background:#fff}
.em-chead{display:flex;align-items:center;gap:12px;margin-bottom:15px}
.em-cnum{width:30px;height:30px;border-radius:9px;background:var(--k);color:#fff;font-family:var(--f-head);font-weight:700;font-size:14px;display:flex;align-items:center;justify-content:center;flex:none}
.em-chead h3{font-size:19px;color:var(--navy)}
.em-areas{display:grid;grid-template-columns:1fr 1fr;gap:13px 26px}
@media(max-width:620px){.em-areas{grid-template-columns:1fr}}
.em-area b{display:block;font-family:var(--f-head);font-weight:600;font-size:14.5px;color:var(--k);margin-bottom:3px}
.em-area span{font-size:13.5px;color:#3E4E5B;line-height:1.5}
/* timeline era colours (spectrum down the years) */
.tl-row:nth-child(1){--k:#C3006B}
.tl-row:nth-child(2){--k:#173961}
.tl-row:nth-child(3){--k:#02B2BE}
.tl-row:nth-child(4){--k:#357223}
.tl-row:nth-child(5){--k:#166E8B}
.tl-row:nth-child(6){--k:#215968}
.tl-row:nth-child(7){--k:#943B5B}
.tl-row:nth-child(8){--k:#3F1A32}
.tl-row:nth-child(9){--k:#00345C}

/* ---------- contact details / demo prompt ---------- */
.cdetail{display:flex;align-items:center;gap:14px;padding:11px 0}
.cdetail .ci{width:44px;height:44px;border-radius:12px;background:var(--page-soft);color:var(--page);display:flex;align-items:center;justify-content:center;flex:none}
.cdetail .ci svg{width:18px;height:18px}
.cdetail b{font-family:var(--f-head);font-size:14.5px;color:var(--navy);display:block}
.cdetail span{font-size:13px;color:var(--muted)}
.prompt-card{background:var(--ink);border-radius:20px;padding:30px 32px;position:relative;overflow:hidden;margin-top:20px}
.prompt-card h3{color:#fff;margin-bottom:8px;font-size:19px}
.prompt-card p{color:rgba(255,255,255,0.6);font-size:14px;margin-bottom:20px}

/* prose */
.prose{max-width:66ch}
.prose p{margin-bottom:18px;color:#3E4E5B;font-size:16.5px}
.prose p:last-child{margin-bottom:0}
.prose h3{margin:32px 0 12px}
.checks{list-style:none;display:flex;flex-direction:column;gap:18px;margin-top:clamp(40px,4vw,56px)}
.checks li{position:relative;padding-left:44px;font-size:16px;color:#3E4E5B;line-height:1.5}
.checks li::before{content:"";position:absolute;left:0;top:1px;width:26px;height:26px;border-radius:50%;background:var(--em,var(--page));box-shadow:0 7px 16px -7px color-mix(in srgb,var(--em,var(--page)) 62%,transparent);transform-origin:center}
.checks li::after{content:"";position:absolute;left:8.5px;top:9.5px;width:9px;height:5px;border-left:2.4px solid #fff;border-bottom:2.4px solid #fff;transform:rotate(-45deg);transform-origin:center}
.js .checks li.reveal:not(.in)::before{transform:scale(0)}
.js .checks li.reveal:not(.in)::after{opacity:0}
.checks li.in::before{animation:chkpop .45s var(--ease) both;animation-delay:var(--d,0s)}
.checks li.in::after{animation:chkdraw .4s var(--ease) both;animation-delay:calc(var(--d,0s) + .14s)}
@keyframes chkpop{from{transform:scale(0)}62%{transform:scale(1.14)}to{transform:scale(1)}}
@keyframes chkdraw{from{opacity:0;transform:rotate(-45deg) scale(.3)}to{opacity:1;transform:rotate(-45deg) scale(1)}}

/* homepage "where change happens" — top-down / bottom-up org-flow motif */
.orgflow{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:16px;align-items:stretch;margin-top:36px;max-width:460px}
.of-tiers{display:flex;flex-direction:column;gap:12px}
.of-tier{background:#fff;border:1px solid var(--line);border-left:4px solid var(--c);border-radius:14px;padding:13px 18px;box-shadow:0 16px 32px -26px rgba(11,27,46,.6)}
.of-tier b{display:block;font-family:var(--f-head);font-weight:600;font-size:16.5px;color:var(--navy);line-height:1.15}
.of-tier span{font-size:12.5px;color:var(--muted)}
.of-rail{display:flex;flex-direction:column;align-items:center;gap:10px;color:color-mix(in srgb,var(--accent-ink) 42%,transparent);padding:2px 0}
.of-cap{writing-mode:vertical-rl;text-orientation:mixed;font-family:var(--f-mono);font-size:9.5px;letter-spacing:0.18em;text-transform:uppercase;font-weight:700;color:var(--muted)}
.of-rail-up .of-cap{transform:rotate(180deg)}
.of-line{flex:1;width:2px;min-height:38px;background:currentColor;border-radius:2px;position:relative}
.of-rail-down .of-line::after{content:"";position:absolute;bottom:0;left:50%;transform:translateX(-50%);border-left:5px solid transparent;border-right:5px solid transparent;border-top:7px solid currentColor}
.of-rail-up .of-line::after{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:7px solid currentColor}
.js .orgflow .of-tier{opacity:0;transform:translateY(14px) scale(.985);transition:opacity .55s var(--ease),transform .55s var(--ease)}
.orgflow.in .of-tier{opacity:1;transform:none}
.orgflow.in .of-tier:nth-child(1){transition-delay:.14s}
.orgflow.in .of-tier:nth-child(2){transition-delay:.30s}
.orgflow.in .of-tier:nth-child(3){transition-delay:.46s}
.js .orgflow .of-rail{opacity:0;transition:opacity .6s var(--ease) .12s}
.orgflow.in .of-rail{opacity:1}
@media(max-width:520px){.orgflow{max-width:none}}
@media(prefers-reduced-motion:reduce){.js .orgflow .of-tier,.js .orgflow .of-rail{opacity:1;transform:none;transition:none}}
.local-viz{align-self:stretch;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(160deg,#152c46,#0b1a2c);border:1px solid rgba(255,255,255,0.09);border-radius:22px;padding:clamp(24px,3vw,42px);box-shadow:0 34px 70px -40px rgba(0,0,0,0.6)}
.local-viz .orgflow{margin-top:0;margin-inline:auto}
.local-viz .of-tier{background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.10);border-left:4px solid var(--c);box-shadow:none}
.local-viz .of-tier b{color:#fff}
.local-viz .of-tier span{color:rgba(255,255,255,0.62)}
.local-viz .of-cap{color:rgba(255,255,255,0.5)}
.local-viz .of-rail{color:rgba(255,255,255,0.32)}
.checks.checks-2{display:grid;grid-template-columns:1fr 1fr;column-gap:18px;row-gap:16px;margin-top:28px}
@media(max-width:600px){.checks.checks-2{grid-template-columns:1fr}}
.checks.checks-2 li{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px 18px 16px 48px;box-shadow:0 14px 30px -26px rgba(11,27,46,0.45);transition:transform .25s var(--ease),box-shadow .25s,border-color .25s}
.checks.checks-2 li:hover{transform:translateY(-3px);box-shadow:0 22px 42px -26px rgba(11,27,46,0.5);border-color:color-mix(in srgb,var(--page) 30%,var(--line))}
.checks.checks-2 li::before{left:18px;top:16px}
.checks.checks-2 li::after{left:26.5px;top:24px}
.pill-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.pill-row span{font-family:var(--f-head);font-size:12.5px;font-weight:600;color:var(--navy);background:var(--page-soft);border-radius:100px;padding:6px 14px}

/* feature trio (product pages) — typographic, not icon-boxes */
.trio{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line)}
@media(max-width:860px){.trio{grid-template-columns:1fr}}
.feat{padding:34px 30px 34px 0;border-bottom:1px solid var(--line)}
.trio .feat:not(:last-child){border-right:1px solid var(--line);padding-right:30px}
@media(max-width:860px){.trio .feat{border-right:0!important;padding-right:0}}
.feat .fn{font-family:var(--f-mono);font-size:12px;color:var(--page);letter-spacing:0.06em}
.feat h3{font-size:19px;margin:14px 0 10px}
.feat p{font-size:15px}

/* system band (product connects) */
/* "Part of the system" — light card + interactive lifecycle map */
.sysband{background:#fff;border:1px solid var(--line);border-radius:22px;padding:clamp(28px,3.6vw,52px);position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) clamp(320px,38vw,460px);gap:clamp(30px,4.5vw,58px);align-items:center;box-shadow:0 34px 80px -46px rgba(11,27,46,0.30)}
@media(max-width:880px){.sysband{grid-template-columns:1fr;gap:34px}}
.sys-text{min-width:0;position:relative;z-index:1}
.sysband h3{color:var(--navy);margin:14px 0 14px;font-size:clamp(28px,3.2vw,42px);line-height:1.05;letter-spacing:-0.01em}
.sysband p{color:var(--muted);max-width:52ch;font-size:16px;line-height:1.62}
.sys-hint{margin-top:20px;font-family:var(--f-head);font-weight:600;font-size:13px;color:var(--faint);display:inline-flex;align-items:center;gap:7px}
.sys-ring{display:flex;justify-content:center;position:relative;z-index:1}

.lifemap{display:flex;flex-direction:column;align-items:center;gap:14px;width:100%}
.lm-stage{position:relative;width:100%;max-width:440px;aspect-ratio:1;margin:0 auto}
.lm-svg{width:100%;height:100%;display:block;overflow:visible}
.lm-track{fill:none;stroke:var(--line-strong);stroke-width:2}
.lm-core{fill:#0F2338}
.lm-comet{fill:none;stroke:var(--muted);stroke-width:3;stroke-linecap:round;opacity:0}
.lm-arrowhead{fill:var(--muted)}
.lm-rotor{transform-box:view-box;transform-origin:220px 220px}
.lifemap.in .lm-comet{opacity:.7}
.lifemap.in .lm-rotor{animation:lm-travel 7s linear infinite}
@keyframes lm-travel{to{transform:rotate(360deg)}}
.lm-halo{fill:none;stroke:var(--c);stroke-width:2;opacity:.45}
.lifemap.in .lm-halo{animation:lm-halo 3.2s ease-in-out infinite}
@keyframes lm-halo{0%,100%{opacity:.5;r:28}50%{opacity:.12;r:34}}
.lm-node{cursor:pointer}
.lm-hit{fill:transparent}
.lm-dot{fill:var(--c);transition:r .25s var(--ease)}
.lm-lbl{font-family:var(--f-head);font-weight:600;font-size:18px;fill:var(--muted);transition:fill .2s,font-weight .2s;pointer-events:none}
.lm-node.is-current .lm-dot{r:19}
.lm-node:hover .lm-dot,.lm-node.is-active .lm-dot{r:21}
.lm-node.is-active .lm-dot{filter:drop-shadow(0 3px 7px color-mix(in srgb,var(--c) 55%,transparent))}
.lm-node.is-active .lm-lbl,.lm-node:hover .lm-lbl{fill:var(--navy);font-weight:700}
.lm-node:focus-visible{outline:none}
.lm-node:focus-visible .lm-dot{stroke:var(--navy);stroke-width:2.5}

.lm-hub{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:44%;max-width:182px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:6px;pointer-events:none}
.lm-hub-name{font-family:var(--f-head);font-weight:700;font-size:clamp(18px,2.2vw,23px);line-height:1.06;letter-spacing:-0.01em;color:#fff}
.lm-hub .lm-hub-desc{color:rgba(255,255,255,0.72);font-size:12.5px;line-height:1.4;margin:0}
.lm-hub-link{font-family:var(--f-head);font-weight:600;font-size:13px;color:var(--accent);display:inline-flex;gap:5px;transition:gap .2s;pointer-events:auto}
.lm-hub-link:hover{gap:9px}
@media(max-width:620px){
  /* the centre disc is small on phones: enlarge it a touch (still clears the ring dots),
     keep every product name on one line, and shrink the supporting copy so the longest
     CamelCase names (FindingPotential, ReferenceExpert) sit fully inside the disc */
  .lm-core{r:126px}
  .lm-hub{width:54%;max-width:none}
  .lm-hub-name{font-size:clamp(14px,4.3vw,16px);white-space:nowrap}
  .lm-hub .lm-hub-desc{font-size:11px;line-height:1.34}
  .lm-hub-link{font-size:11.5px}
}

.lm-edi{display:inline-flex;align-items:center;gap:11px;background:none;border:1px solid transparent;cursor:pointer;padding:8px 14px;border-radius:100px;font:inherit;transition:background .2s,border-color .2s}
.lm-edi:hover,.lm-edi.is-active{background:color-mix(in srgb,#5E6896 9%,transparent);border-color:color-mix(in srgb,#5E6896 24%,transparent)}
.lm-edi-band{flex:none;width:52px;height:8px;border-radius:6px;background:linear-gradient(90deg,#357223,#B34B8C,#173961,#166E8B,#943B5B,#215968,#C3006B)}
.lm-edi-lbl{font-family:var(--f-head);font-size:13px;color:var(--muted);white-space:nowrap}
.lm-edi-lbl b{color:var(--navy);font-weight:700}
@media(prefers-reduced-motion:reduce){.lifemap.in .lm-rotor{animation:none}.lifemap.in .lm-halo{animation:none}}
@media(max-width:520px){.lm-lbl{font-size:20px}.lm-edi-lbl{font-size:12px}}

/* ---------- API page ---------- */
.apicode{background:#0A1526;border:1px solid rgba(255,255,255,0.12);border-radius:16px;padding:20px 22px;font-family:ui-monospace,'SF Mono',Menlo,Consolas,'Liberation Mono',monospace;font-size:12.5px;line-height:1.7;color:rgba(255,255,255,0.82);box-shadow:0 34px 70px -34px rgba(0,0,0,0.6);overflow-x:auto}
.apicode-bar{display:flex;align-items:center;gap:7px;padding-bottom:14px;margin-bottom:14px;border-bottom:1px solid rgba(255,255,255,0.1)}
.ac-dot{width:10px;height:10px;border-radius:50%;display:inline-block;flex:none}
.ac-file{font-family:var(--f-head);font-size:11px;color:rgba(255,255,255,0.4);margin-left:6px}
.apicode pre{margin:0;white-space:pre;font:inherit}
.ac-verb{color:#7EC8A4}.ac-path{color:#A8C7FA}.ac-key{color:#A8C7FA}.ac-str{color:#90E0AF}.ac-arr{color:#F9C74F}.ac-dim{color:rgba(255,255,255,0.4)}.ac-ok{color:#7EC8A4}
.apigrid2{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-top:44px}
@media(max-width:760px){.apigrid2{grid-template-columns:1fr}}
.apinote{background:#fff;border:1px solid var(--line);border-radius:22px;padding:clamp(28px,4vw,44px);display:flex;gap:28px;align-items:flex-start;flex-wrap:wrap;box-shadow:0 24px 50px -34px rgba(11,27,46,0.35)}
.apinote-ic{flex:none;width:54px;height:54px;border-radius:15px;background:color-mix(in srgb,var(--page) 10%,transparent);color:var(--page);display:flex;align-items:center;justify-content:center;border:1px solid color-mix(in srgb,var(--page) 24%,transparent)}
.apinote-ic svg{width:26px;height:26px}
.apinote > div{flex:1;min-width:260px}
.apinote h2{font-size:clamp(21px,2.2vw,28px);margin-bottom:12px}
.apinote p{color:#3E4E5B;font-size:15px;line-height:1.7;margin-bottom:14px}
.apinote .btns{margin-top:20px}

/* ---------- forms (book-demo / contact — Formspree) ---------- */
.form-card{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 30px 66px -38px rgba(11,27,46,0.4);padding:clamp(26px,3vw,40px);position:relative;overflow:hidden}
.form-card-header{margin-bottom:26px}
.form-card-title{font-family:var(--f-head);font-size:21px;font-weight:600;color:var(--navy);margin-bottom:5px}
.form-card-subtitle{font-size:13.5px;color:var(--muted)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:520px){.form-row{grid-template-columns:1fr}}
.form-group{display:flex;flex-direction:column;gap:6px;margin-bottom:18px}
.form-label{font-family:var(--f-head);font-size:13px;font-weight:600;color:var(--navy)}
.form-label .required,.required{color:#C00000;margin-left:2px}
.form-hint{font-size:12px;color:var(--faint);font-weight:400}
.form-input,.form-select,.form-textarea{font-family:var(--f-body);font-size:15px;color:var(--ink);background:var(--sand);border:1.5px solid var(--line-strong);border-radius:10px;padding:11px 14px;width:100%;transition:border-color .18s,box-shadow .18s,background .18s;outline:none;appearance:none;-webkit-appearance:none}
.form-input::placeholder,.form-textarea::placeholder{color:#9aa4ad}
.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--page-accent);background:#fff;box-shadow:0 0 0 3px color-mix(in srgb,var(--page-accent) 22%,transparent)}
.form-input.error,.form-select.error,.form-textarea.error{border-color:#C00000;background:#fff8f8;box-shadow:0 0 0 3px rgba(192,0,0,0.08)}
.form-select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%235F6B75' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px;cursor:pointer}
.form-textarea{resize:vertical;min-height:110px}
.form-error{display:none;font-size:12px;color:#C00000;font-weight:600;align-items:center;gap:5px;margin-top:2px}
.form-error.visible{display:flex}
.form-check{display:flex;align-items:flex-start;gap:10px;cursor:pointer}
.form-check-input{width:18px;height:18px;min-width:18px;border:1.5px solid var(--line-strong);border-radius:5px;background:var(--sand);appearance:none;-webkit-appearance:none;cursor:pointer;margin-top:2px;transition:border-color .15s,background .15s;position:relative;flex:none}
.form-check-input:checked{background:var(--page);border-color:var(--page)}
.form-check-input:checked::after{content:"";position:absolute;inset:3px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='2 6 5 9 10 3'/%3E%3C/svg%3E") center/contain no-repeat}
.form-check-input:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--page-accent) 30%,transparent)}
.form-check-input.error{border-color:#C00000}
.form-check-label{font-size:13px;color:var(--muted);line-height:1.5}
.form-check-label a{color:var(--accent-ink);font-weight:600;text-decoration:underline;text-underline-offset:2px}
.form-checks{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:20px}
@media(max-width:520px){.form-checks{grid-template-columns:1fr}}
.form-section-divider{border:0;border-top:1px solid var(--line);margin:24px 0}
.form-privacy{margin-top:20px;padding:16px;background:var(--sand);border-radius:10px;border:1px solid var(--line)}
.form-privacy p{font-size:12px;color:var(--muted);line-height:1.55;margin:0}
.form-privacy a{color:var(--accent-ink);font-weight:600}
.form-submit{width:100%;justify-content:center;margin-top:24px;padding:15px}
.form-submit:disabled{opacity:0.6;cursor:not-allowed}
.form-submit.loading{position:relative;color:transparent}
.form-submit.loading::after{content:"";position:absolute;inset:0;margin:auto;width:20px;height:20px;border:2px solid rgba(255,255,255,0.4);border-top-color:#fff;border-radius:50%;animation:spin .65s linear infinite}
.btn-demo.form-submit.loading::after{border-color:rgba(11,27,46,0.3);border-top-color:var(--ink)}
.form-success-state{display:none;text-align:center;padding:clamp(44px,6vw,64px) 30px}
.form-success-state.visible{display:block;animation:heroIn .45s var(--ease) both}
.form-success-icon{position:relative;width:88px;height:88px;background:var(--page);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 26px;color:#fff;box-shadow:0 18px 40px -14px color-mix(in srgb,var(--page) 55%,transparent),0 0 0 7px color-mix(in srgb,var(--page-accent) 18%,transparent)}
.form-success-icon svg{width:42px;height:42px}
.form-success-icon svg polyline{stroke-dasharray:30}
.form-success-icon::after{content:"";position:absolute;inset:-3px;border-radius:50%;border:2px solid var(--page-accent);opacity:0}
.form-success-state.visible .form-success-icon{animation:successPop .55s var(--ease) both}
.form-success-state.visible .form-success-icon::after{animation:successRing 1s var(--ease) .15s both}
.form-success-state.visible .form-success-icon svg polyline{animation:successDraw .5s var(--ease) .28s both}
.form-success-state h2{font-size:clamp(24px,2.6vw,30px);margin-bottom:12px;color:var(--navy);letter-spacing:-0.01em}
.form-success-state p{color:var(--muted);max-width:44ch;margin:0 auto;font-size:15.5px;line-height:1.55}
@keyframes successPop{0%{transform:scale(0);opacity:0}60%{transform:scale(1.14)}100%{transform:scale(1);opacity:1}}
@keyframes successRing{0%{transform:scale(1);opacity:.85}100%{transform:scale(1.75);opacity:0}}
@keyframes successDraw{from{stroke-dashoffset:30}to{stroke-dashoffset:0}}
@media(prefers-reduced-motion:reduce){.form-success-state.visible .form-success-icon,.form-success-state.visible .form-success-icon::after,.form-success-state.visible .form-success-icon svg polyline{animation:none}}

/* spec table (pricing) */
.spectable{width:100%;border-collapse:collapse;font-size:15px}
.spectable th{font-family:var(--f-head);font-size:13px;font-weight:700;text-align:left;color:#fff;background:var(--navy);padding:14px 18px}
.spectable td{padding:14px 18px;border-bottom:1px solid var(--line);color:#3E4E5B}
.spectable tr:last-child td{border-bottom:0}
.spectable td:first-child{font-weight:600;color:var(--navy);font-family:var(--f-head);font-size:14px}

/* suite cards (free-trial) */
.suite{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
@media(max-width:940px){.suite{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.suite{grid-template-columns:1fr}}
.scard{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:0 28px 28px;overflow:hidden;display:flex;flex-direction:column;transition:transform .3s var(--ease),box-shadow .3s}
.scard:hover{transform:translateY(-5px);box-shadow:0 24px 44px -22px rgba(11,27,46,.18)}
.scard .top{height:4px;margin:0 -28px 24px;background:var(--c)}
.scard .stage{font-family:var(--f-mono);font-size:11px;letter-spacing:0.09em;text-transform:uppercase;color:var(--muted)}
.scard h3{font-size:22px;margin:6px 0 4px}
.scard .what{font-family:var(--f-head);font-size:13px;font-weight:700;margin-bottom:10px}
.scard p{font-size:14px;flex:1}

/* forms */
.formcard{background:#fff;border:1px solid var(--line);border-radius:16px;padding:clamp(26px,3vw,40px);box-shadow:0 24px 50px -30px rgba(11,27,46,.22)}
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:600px){.fgrid{grid-template-columns:1fr}}
.field{display:flex;flex-direction:column}
.field.full{grid-column:1/-1}
.field label{font-family:var(--f-head);font-size:13.5px;font-weight:600;color:var(--navy);margin-bottom:6px}
.field input,.field select,.field textarea{width:100%;border:1.5px solid var(--line-strong);border-radius:9px;padding:12px 14px;font:400 15px/1.5 var(--f-body);color:var(--text);background:var(--paper)}
.field textarea{min-height:120px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--accent-ink);box-shadow:0 0 0 3px rgba(0,52,92,0.12)}
.form-confirm{display:none;margin-top:18px;background:color-mix(in srgb,var(--str) 12%,transparent);border:1px solid color-mix(in srgb,var(--str) 34%,transparent);border-radius:10px;padding:14px 18px;font-size:14.5px;color:#245018}
.form-confirm.show{display:block}

/* ---------- ring sprite watermark ---------- */
.has-sprite,.has-sprite-grey{position:relative;overflow:hidden}
.has-sprite > *,.has-sprite-grey > *{position:relative;z-index:1}
.has-sprite::after{content:"";position:absolute;bottom:-20%;right:-6%;width:min(460px,48%);aspect-ratio:1;
  background:url(/assets/img/GWTSpriteBG-white.png) center/contain no-repeat;opacity:0.05;pointer-events:none;z-index:0}
.has-sprite-grey::after{content:"";position:absolute;top:50%;right:0;transform:translate(50%,-50%);width:min(780px,66%);aspect-ratio:1;
  background:url(/assets/img/GWTGreySpriteBG.png) center/contain no-repeat;opacity:0.5;pointer-events:none;z-index:0}

/* ---------- testimonials ---------- */
.tst{max-width:60ch;margin:0 auto 52px;text-align:center;position:relative;padding-top:26px}
.tst::before{content:"\201C";position:absolute;top:-24px;left:50%;transform:translateX(-50%);font-family:var(--f-quote);font-size:120px;line-height:1;color:var(--accent-ink);opacity:0.14}
.tst blockquote{font-family:var(--f-quote);font-style:italic;font-weight:500;font-size:clamp(23px,3vw,36px);line-height:1.32;color:var(--navy)}
.tst figcaption{margin-top:24px;display:flex;flex-direction:column;gap:3px}
.tst-who{font-family:var(--f-head);font-weight:700;color:var(--navy);font-size:15px}
.tst-org{font-family:var(--f-head);font-size:13px;color:var(--muted)}
.tst-org .ind{color:var(--faint);font-style:italic}
/* client quote carousel */
.qcarousel{max-width:760px;margin:8px auto 54px;position:relative;background:linear-gradient(162deg,#16304c,#0b1a2c);border:1px solid rgba(255,255,255,0.09);border-radius:22px;padding:clamp(44px,5vw,66px) clamp(30px,4.5vw,60px);box-shadow:0 40px 80px -44px rgba(11,27,46,0.55)}
.qcarousel::before{content:"\201C";position:absolute;top:14px;left:50%;transform:translateX(-50%);font-family:var(--f-quote);font-size:104px;line-height:1;color:var(--accent);opacity:0.22;pointer-events:none}
.qc-track{position:relative;z-index:1}
.qc-slide{display:none;text-align:center}
.qc-slide.is-active{display:block;animation:qsin .5s var(--ease)}
.qc-slide blockquote{font-family:var(--f-quote);font-style:italic;font-weight:500;font-size:clamp(22px,2.8vw,34px);line-height:1.34;color:#fff}
.qc-slide figcaption{margin-top:22px}
.qc-slide .qc-who{font-family:var(--f-head);font-weight:700;color:#fff;font-size:15px;display:block}
.qc-slide .qc-org{font-size:13px;color:rgba(255,255,255,0.62)}
.qc-nav{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:30px}
.qc-arrow{width:44px;height:44px;border-radius:50%;border:1px solid var(--line-strong);background:var(--paper);color:var(--navy);font-size:22px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .25s var(--ease),background .25s,color .25s,border-color .25s}
.qc-arrow:hover{background:var(--navy);color:#fff;border-color:var(--navy);transform:scale(1.06)}
.qc-dots{display:flex;gap:10px}
.qc-dot{width:9px;height:9px;border-radius:50%;background:var(--line-strong);border:0;padding:0;cursor:pointer;transition:transform .2s,background .2s}
.qc-dot[aria-selected="true"]{background:var(--accent-ink);transform:scale(1.35)}
.qc-note{text-align:center;font-size:11px;color:var(--faint);margin-top:16px;font-style:italic}
.logowall-label{text-align:center;font-family:var(--f-mono);font-size:11px;letter-spacing:0.12em;text-transform:uppercase;color:var(--faint);margin-bottom:22px}
.logowall{display:flex;flex-wrap:wrap;justify-content:center;gap:16px;margin-bottom:44px;max-width:1040px;margin-inline:auto}
.logowall .lg{flex:1 1 calc(33.333% - 16px);min-width:240px;max-width:calc(33.333% - 11px)}
@media(max-width:820px){.logowall .lg{max-width:none}}
.lg{display:flex;align-items:center;justify-content:center;text-align:center;min-height:120px;padding:22px 24px;border:1px solid var(--line);border-radius:12px;background:#fff;font-family:var(--f-head);font-weight:700;font-size:14px;line-height:1.2;color:var(--muted);transition:transform .25s var(--ease),box-shadow .25s,border-color .25s,color .25s}
.lg:hover{color:var(--navy);border-color:var(--line-strong)}
.lg img{max-width:100%;max-height:56px;width:auto;object-fit:contain;display:block;filter:grayscale(1);opacity:.72;transition:filter .3s var(--ease),opacity .3s}
.lg:hover img{filter:grayscale(0);opacity:1}
.lg:hover{transform:translateY(-3px);box-shadow:0 16px 30px -18px rgba(11,27,46,0.2);border-color:var(--line-strong)}

/* ---------- reveal (progressive enhancement) ---------- */
.reveal,.reveal-right{transition:opacity .7s var(--ease),transform .7s var(--ease),filter .7s var(--ease)}
.js .reveal{opacity:0;transform:translateY(30px);filter:blur(5px)}
.js .reveal-right{opacity:0;transform:translateX(46px);filter:blur(5px)}
.reveal.in,.reveal-right.in{opacity:1;transform:none;filter:none}
.js .d1{transition-delay:.09s}.js .d2{transition-delay:.18s}.js .d3{transition-delay:.27s}.js .d4{transition-delay:.36s}
/* per-item cascade (question grid etc.) */
.js .casc{transition-delay:var(--d,0s)}

/* subtle hero load-in for sub-page heroes (product/home heroes animate via .reveal).
   Targets direct .wrap children only, so product .phero (content nested in .reveal) is untouched.
   Disabled automatically under prefers-reduced-motion via the global animation:none rule. */
@keyframes heroIn{from{opacity:0;transform:translateY(28px);filter:blur(5px)}to{opacity:1;transform:none;filter:none}}
.phero .wrap > .eyebrow,.phero .wrap > h1,.phero .wrap > .lede{animation:heroIn .7s var(--ease) both}
.phero .wrap > h1{animation-delay:.09s}
.phero .wrap > .lede{animation-delay:.18s}

/* gentle continuous float on the hero artefact */
@media(prefers-reduced-motion:no-preference){
  .float{animation:float 7s ease-in-out infinite}
}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}

@media(prefers-reduced-motion:reduce){
  *{animation:none!important;scroll-behavior:auto}
  .reveal,.reveal-right{opacity:1!important;transform:none!important;filter:none!important;transition:none}
  .band-ink::before{animation:none}
  .rrow .bar i{transition:none}
  .js .rrow .bar i{width:var(--w)}
  .qs-panel .vbar i{width:var(--w)!important;transition:none}
}

/* WinningFormula page additions (2026-10-09) */
.wf-chip{display:inline-block;font-family:var(--f-head);font-weight:600;font-size:14px;color:#fff;border:1px solid rgba(255,255,255,0.24);background:rgba(255,255,255,0.06);border-radius:100px;padding:8px 18px}
.on-dark .checks li{color:rgba(255,255,255,0.86)}
.on-dark .checks li strong{color:#fff}
.on-dark .checks li::before{background:var(--page-accent)}

/* Pricing: NHS tile + pop-out (2026-10-09) */
.nhs-tile{display:flex;align-items:center;gap:18px;width:100%;margin-top:34px;padding:18px 22px;text-align:left;cursor:pointer;color:#fff;font:inherit;background:rgba(2,178,190,0.10);border:1px solid rgba(2,178,190,0.5);border-radius:16px;transition:transform .25s var(--ease),background .25s,border-color .25s}
.nhs-tile:hover{transform:translateY(-3px);background:rgba(2,178,190,0.18);border-color:#02B2BE}
.nhs-tile:focus-visible{outline:2px solid #fff;outline-offset:4px}
.nhs-tag{flex:none;font-family:var(--f-head);font-weight:700;font-size:15px;letter-spacing:.04em;background:#005EB8;color:#fff;border-radius:8px;padding:8px 14px}
.nhs-txt{flex:1;display:flex;flex-direction:column;gap:3px}
.nhs-txt b{font-family:var(--f-head);font-weight:600;font-size:18px}
.nhs-txt span{font-size:14.5px;color:rgba(255,255,255,0.78)}
.nhs-go{flex:none;font-size:24px;color:#02B2BE;transition:transform .25s var(--ease)}
.nhs-tile:hover .nhs-go{transform:translateX(5px)}
.nhs-dialog{border:0;margin:auto;padding:0;border-radius:22px;max-width:min(620px,calc(100vw - 32px));width:100%;background:#fff;color:#3E4E5B;box-shadow:0 40px 90px -30px rgba(0,0,0,0.6)}
.nhs-dialog::backdrop{background:rgba(11,27,46,0.72)}
.nhs-in{position:relative;padding:clamp(28px,4vw,46px)}
.nhs-dialog h2{font-size:clamp(28px,4vw,38px);margin-bottom:16px}
.nhs-dialog p{font-size:16.5px;margin-bottom:16px;color:#3E4E5B}
.nhs-dialog .btn{margin-top:10px}
.nhs-close{position:absolute;top:14px;right:16px;width:40px;height:40px;border-radius:50%;border:1px solid var(--line-strong);background:#fff;color:var(--navy);font-size:24px;line-height:1;cursor:pointer}
.nhs-close:hover{background:var(--navy);color:#fff}

/* Homepage "Managers change Mondays": four cards across now the side panel is gone */
.lcards.lcards-4{grid-template-columns:repeat(4,1fr)}
@media(max-width:1080px){.lcards.lcards-4{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.lcards.lcards-4{grid-template-columns:1fr}}

/* WinningFormula six-driver cards */
.wf-drivers{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:clamp(34px,4vw,52px)}
@media(max-width:820px){.wf-drivers{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.wf-drivers{grid-template-columns:1fr}}
.wf-dcard{position:relative;overflow:hidden;border-radius:16px;padding:26px 24px 24px;border:1px solid rgba(255,255,255,0.12);background:linear-gradient(162deg,rgba(255,255,255,0.065),rgba(255,255,255,0.02));transition:transform .3s var(--ease),border-color .3s,box-shadow .3s}
.wf-dcard::after{content:"";position:absolute;top:-45%;right:-30%;width:72%;height:125%;background:radial-gradient(circle,color-mix(in srgb,var(--k) 24%,transparent),transparent 66%);pointer-events:none;opacity:.45;transition:opacity .3s}
.wf-dcard:hover{transform:translateY(-5px);border-color:color-mix(in srgb,var(--k) 55%,transparent);box-shadow:0 30px 56px -30px rgba(0,0,0,0.6)}
.wf-dcard:hover::after{opacity:.9}
.wf-dic{position:relative;z-index:1;display:inline-flex;width:46px;height:46px;border-radius:13px;align-items:center;justify-content:center;color:var(--k);background:color-mix(in srgb,var(--k) 18%,transparent);border:1px solid color-mix(in srgb,var(--k) 38%,transparent);margin-bottom:16px}
.wf-dic svg{width:23px;height:23px}
.wf-dcard b{position:relative;z-index:1;display:block;font-family:var(--f-head);font-weight:600;font-size:19px;color:#fff;margin-bottom:5px}
.wf-dsub{position:relative;z-index:1;display:block;font-size:13.5px;line-height:1.5;color:rgba(255,255,255,0.64)}
.wf-dtag{position:absolute;top:13px;right:13px;z-index:2;font-family:var(--f-mono);font-size:9px;letter-spacing:0.06em;text-transform:uppercase;color:color-mix(in srgb,var(--k) 55%,#fff);background:color-mix(in srgb,var(--k) 16%,transparent);border:1px solid color-mix(in srgb,var(--k) 34%,transparent);padding:3px 8px;border-radius:100px}
.wf-dcard.key{background:linear-gradient(162deg,color-mix(in srgb,var(--k) 20%,#0A1626),color-mix(in srgb,var(--k) 7%,#0A1626));border-color:color-mix(in srgb,var(--k) 55%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--k) 28%,transparent),0 26px 52px -30px color-mix(in srgb,var(--k) 55%,#000)}
.wf-dcard.key::after{opacity:.85}
.wf-dcard.key .wf-dic{background:var(--k);border-color:var(--k);color:#06212b}
.wf-dcard.key .wf-dsub{color:rgba(255,255,255,0.8)}
/* WinningFormula feature blocks (rich icon rows) — used by #reach (dark) and #any-survey (light) */
.reach-list{display:flex;flex-direction:column;gap:14px}
.reach-item{display:flex;gap:18px;align-items:center;padding:18px 20px;border-radius:14px;border:1px solid var(--line);background:var(--paper);transition:transform .3s var(--ease),border-color .3s,box-shadow .3s}
.reach-item:hover{transform:translateX(5px);border-color:color-mix(in srgb,var(--k) 45%,var(--line));box-shadow:0 22px 44px -26px color-mix(in srgb,var(--k) 26%,rgba(11,27,46,.22))}
.reach-ic{flex:none;display:inline-flex;width:50px;height:50px;border-radius:13px;align-items:center;justify-content:center;color:var(--k);background:color-mix(in srgb,var(--k) 15%,transparent);border:1px solid color-mix(in srgb,var(--k) 34%,transparent)}
.reach-ic svg{width:24px;height:24px}
.reach-tx b{display:block;font-family:var(--f-head);font-weight:600;font-size:17px;color:var(--navy);margin-bottom:3px}
.reach-tx span{display:block;font-size:14px;line-height:1.5;color:var(--muted)}
.on-dark .reach-item{border-color:rgba(255,255,255,0.1);background:linear-gradient(162deg,rgba(255,255,255,0.055),rgba(255,255,255,0.018))}
.on-dark .reach-item:hover{border-color:color-mix(in srgb,var(--k) 52%,transparent);box-shadow:0 20px 44px -28px rgba(0,0,0,0.6)}
.on-dark .reach-ic{background:color-mix(in srgb,var(--k) 18%,transparent);border-color:color-mix(in srgb,var(--k) 38%,transparent)}
.on-dark .reach-tx b{color:#fff}
.on-dark .reach-tx span{color:rgba(255,255,255,0.64)}
