
@font-face{font-family:"Nohemi";font-weight:500;font-style:normal;font-display:swap;
  src:url("assets/fonts/Nohemi-Medium.woff") format("woff");}
@font-face{font-family:"Nohemi";font-weight:600;font-style:normal;font-display:swap;
  src:url("assets/fonts/Nohemi-SemiBold.woff") format("woff");}
@font-face{font-family:"Nohemi";font-weight:700;font-style:normal;font-display:swap;
  src:url("assets/fonts/Nohemi-Bold.woff") format("woff");}
@font-face{font-family:"Nohemi";font-weight:800;font-style:normal;font-display:swap;
  src:url("assets/fonts/Nohemi-ExtraBold.woff") format("woff");}

:root{
  --display:"Nohemi",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --cumberland-blue:#1548e0; --blue-11:#1f43c4; --blue-10:#103dc4; --blue-3:#e9effd;
  --basalt-black:#141414; --deep-slate:#182535;
  --red-clay:#bb6809; --clay-11:#8a4d05; --clay-3:#fbf0dd;
  --calcified-white:#fffffa;
  --sagebrush:#bcd2f7; --sage-2:#eef3fd; --sage-4:#cfddf8; --sage-11:#2f5fd0;
  --gray-2:#f9f9f9; --gray-3:#f0f0f0; --gray-4:#e8e8e8; --gray-6:#d9d9d9;
  --gray-9:#8d8d8d; --gray-11:#646464; --gray-12:#202020;
  --green-9:#30a46c; --green-11:#1a7349; --green-3:#e6f6eb;
  --amber-9:#ffc53d; --amber-11:#815100; --amber-3:#fff4d5; --amber-6:#f3d673;
  --red-9:#e5484d; --red-11:#ce2c31; --red-3:#feebec;
  --serif:"Newsreader",Georgia,serif;
  --sans:"DM Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --mono:"Roboto Mono",ui-monospace,Menlo,monospace;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
img{display:block;max-width:100%;}
a{color:inherit;text-decoration:none;}
.container{max-width:1200px;margin:0 auto;padding:0 40px;}
.container-narrow{max-width:920px;margin:0 auto;padding:0 40px;}
section{position:relative;}

/* GROVE (light): bold sans, big rounded cards, on cream */
body{margin:0;font-family:var(--sans);line-height:1.55;-webkit-font-smoothing:antialiased;
  background:linear-gradient(165deg,#e6eefc 0%,#dde8fa 45%,#e4ecfd 100%);
  background-attachment:fixed;color:#16201f;
  --paper:#e6eefc; --panel:#ffffff; --ink:#16201f; --muted:#566275;
  --line:#d4e0f4; --hair:#e0e9f7;
  --signal:#1548e0; --signal-soft:#e9effd; --signal-text:#1f43c4;
  --accent:#2f5fd0; --accent-fill:#bcd2f7; --accent-soft:#e7eefc; --accent-deep:#16306e;}
body{
  /* surgical-scrub chart paper: uniform thin grid, one weight */
  background-image:
    linear-gradient(rgba(53,99,214,.07) 1px, transparent 1px),
    linear-gradient(90deg, rgba(53,99,214,.07) 1px, transparent 1px);
  background-size:27px 27px, 27px 27px;
  background-position:-1px -1px, -1px -1px;
  background-attachment:fixed;
}
.gw{position:relative;z-index:1;}

/* type */
.g-h1{font-family:var(--display);font-weight:700;font-size:clamp(46px,6.6vw,92px);line-height:.97;
  letter-spacing:-.035em;margin:24px 0 0;max-width:15ch;text-wrap:balance;color:var(--ink);}
.g-acc{color:var(--accent);}
.g-sub{font-size:20px;line-height:1.55;color:var(--muted);margin:24px 0 0;max-width:52ch;}
.g-subhead{font-family:var(--serif);font-weight:500;font-style:italic;font-size:clamp(22px,2.6vw,30px);
  line-height:1.2;letter-spacing:-.01em;color:var(--accent);margin:16px 0 0;max-width:24ch;text-wrap:balance;}
.g-h2{font-family:var(--display);font-weight:700;font-size:clamp(32px,4.2vw,56px);line-height:1.02;
  letter-spacing:-.03em;margin:0;color:var(--ink);text-wrap:balance;}
.g-eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);}

/* badge + buttons (pills) */
.g-badge{display:inline-flex;align-items:center;gap:9px;background:var(--accent-soft);border:1px solid var(--sage-4);
  color:var(--accent);border-radius:999px;padding:8px 16px;font-size:13px;font-weight:600;letter-spacing:.01em;}
.g-badge .d{width:7px;height:7px;border-radius:50%;background:var(--accent);}
.g-badge.hairline{background:none;border:0;padding:0;color:var(--muted);white-space:nowrap;
  font-family:var(--mono);font-size:11.5px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;}
.g-badge.hairline .d{display:none;}
.btn{font-family:var(--sans);font-weight:600;font-size:15.5px;display:inline-flex;align-items:center;gap:9px;
  border-radius:999px;padding:15px 28px;cursor:pointer;border:1px solid transparent;
  transition:background .16s,color .16s,border-color .16s,transform .16s;}
.btn:active{transform:translateY(1px);}
.btn .arr{transition:transform .16s;} .btn:hover .arr{transform:translateX(3px);}
.btn-blue{background:var(--signal);color:#fff;box-shadow:0 8px 20px -14px var(--signal);}
.btn-blue:hover{background:var(--blue-10);}
.btn-lime{background:var(--accent-fill);color:var(--accent-deep);}
.btn-lime:hover{filter:brightness(.95);}
.btn-outline{background:transparent;color:var(--ink);border-color:var(--line);}
.btn-outline:hover{border-color:var(--ink);}

/* nav */
.g-nav{position:sticky;top:0;z-index:50;padding:14px 0;
  transition:transform .4s cubic-bezier(.2,.7,.2,1),opacity .4s ease;}
.g-nav.nav-hidden{transform:translateY(-130%);opacity:0;pointer-events:none;}
@media(prefers-reduced-motion:reduce){.g-nav{transition:none;}}
.g-nav .container{max-width:none;padding:0 34px;}
.g-nav-in{display:flex;align-items:center;gap:14px;
  background:color-mix(in srgb,var(--panel) 58%,transparent);
  border:0;border-radius:46px;padding:14px 16px 14px 30px;
  backdrop-filter:blur(20px) saturate(1.4);-webkit-backdrop-filter:blur(20px) saturate(1.4);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.5),0 14px 40px -20px rgba(20,40,90,.22),0 2px 8px -5px rgba(20,40,90,.08);}
.g-navpill{display:flex;align-items:center;gap:36px;background:none;border:0;padding:0;backdrop-filter:none;}
.g-navpill .logo{height:22px;width:auto;flex-shrink:0;max-width:none;object-fit:contain;}
.g-navpill > a{flex-shrink:0;display:inline-flex;align-items:center;}
.g-navpill a{font-size:14.5px;color:var(--muted);transition:color .15s;white-space:nowrap;}
.g-navpill a:hover{color:var(--ink);}
.g-navpill .links a{position:relative;}
.g-navpill .links a.is-active{color:var(--ink);font-weight:600;
  background:var(--accent-soft);border-radius:8px;box-shadow:0 0 0 8px var(--accent-soft);}
.g-navright{margin-left:auto;display:flex;align-items:center;gap:10px;}
.g-nav .navbtn{padding:0 26px;height:42px;display:inline-flex;align-items:center;justify-content:center;line-height:1;font-size:15px;border-radius:999px;}
.g-navright .signin{font-size:14.5px;color:var(--muted);white-space:nowrap;}
.g-navright .signin:hover{color:var(--ink);}
.g-navpill .links{display:flex;align-items:center;gap:28px;}
@media(max-width:820px){.g-navpill .links{display:none;}}

/* hero */
.g-hero{padding:46px 0 70px;}
.g-hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:50px;align-items:center;}
@media(max-width:940px){.g-hero-grid{grid-template-columns:1fr;gap:38px;}}
.g-cta{display:flex;gap:13px;margin-top:36px;flex-wrap:wrap;}
.g-note{font-family:var(--mono);font-size:12px;color:var(--muted);letter-spacing:.04em;margin-top:24px;}
.g-herocard{position:relative;background:linear-gradient(180deg,rgba(255,255,255,.55),rgba(241,241,231,.32));
  border:0;border-radius:28px;padding:22px 24px 16px;overflow:hidden;backdrop-filter:blur(16px) saturate(1.2);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.5),0 18px 44px -34px rgba(20,20,20,.22);}
.g-herocard::before{content:"";position:absolute;left:50%;top:-26%;width:120%;height:75%;transform:translateX(-50%);
  background:radial-gradient(closest-side,rgba(190,210,157,.35),transparent 70%);pointer-events:none;}
.g-hc-svg{position:relative;z-index:2;}
.g-hc-svg svg{width:100%;height:auto;display:block;}
.g-hc-foot{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;gap:8px;padding-top:6px;
  font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);}
/* hero placeholder */
.g-placeholder{display:flex;align-items:center;justify-content:center;min-height:380px;
  background:repeating-linear-gradient(135deg,#f3f2ea,#f3f2ea 12px,#efeee5 12px,#efeee5 24px);
  border:1.5px dashed #c9c4b6;}
.g-placeholder::before{display:none;}
.g-ph-inner{text-align:center;max-width:30ch;padding:24px;}
.g-ph-ic{width:54px;height:54px;border-radius:14px;background:var(--panel);border:1px solid var(--line);
  color:var(--muted);display:flex;align-items:center;justify-content:center;margin:0 auto 16px;}
.g-ph-ic svg{width:26px;height:26px;}
.g-ph-t{font-family:var(--mono);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink);font-weight:500;}
.g-ph-d{font-size:14px;color:var(--muted);line-height:1.55;margin-top:10px;}

/* proof */
.g-proof{padding:30px 0 8px;}
.g-proof-lab{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);
  text-align:center;margin-bottom:20px;}
.g-proof-row{display:flex;align-items:center;justify-content:center;gap:46px;flex-wrap:wrap;opacity:.55;}
.g-proof-row .pl{font-weight:700;font-size:19px;letter-spacing:-.01em;color:var(--ink);display:flex;align-items:center;gap:9px;}
.g-proof-row .pl .dot{width:13px;height:13px;border-radius:4px;background:var(--accent);}

/* section */
.sec{padding:70px 0;}
.sec-head{max-width:64ch;}
.sec-head .g-eyebrow{margin-bottom:16px;display:block;}
.sec-head .g-sub{margin-top:16px;}

/* compare module: continuous solid lane (Function-style) */
.cmp{background:color-mix(in srgb,var(--panel) 55%,transparent);border:0;border-radius:30px;padding:40px;
  display:grid;grid-template-columns:.82fr 1.18fr;gap:44px;align-items:center;backdrop-filter:blur(16px) saturate(1.2);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.45),0 18px 44px -36px rgba(20,20,20,.2);}
@media(max-width:900px){.cmp{grid-template-columns:1fr;gap:28px;padding:30px;}}
.cmp-left .g-h2{margin-top:14px;}
.cmp-left p{font-size:16px;color:var(--muted);margin:16px 0 26px;line-height:1.6;}
.cmp-grid{width:100%;}
.cmp-hrow,.cmp-row{display:grid;grid-template-columns:1fr 124px 132px;align-items:stretch;gap:0;}
.cmp-h{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);
  text-align:center;padding:0 8px 14px;align-self:end;}
.cmp-h.basalt{color:var(--accent-deep);background:var(--accent-fill);border-radius:16px 16px 0 0;padding:14px 0;font-weight:700;
  font-family:var(--sans);letter-spacing:.01em;text-transform:none;font-size:14.5px;}
.cmp-feat{font-size:15.5px;color:var(--ink);line-height:1.35;display:flex;align-items:center;
  padding:15px 18px 15px 0;border-top:1px solid var(--line);}
.cmp-row:first-of-type .cmp-feat{border-top:0;}
.cmp-cell{text-align:center;font-size:13px;color:var(--muted);display:flex;align-items:center;justify-content:center;
  padding:15px 14px;border-top:1px solid var(--line);}
.cmp-row:first-of-type .cmp-cell{border-top:0;}
.cmp-cell.basalt{background:var(--accent-fill);border-top:0;}
.cmp-row.last .cmp-cell.basalt{border-radius:0 0 16px 16px;}
.cmp-dot{width:26px;height:26px;border-radius:50%;background:#fff;color:var(--accent);
  display:flex;align-items:center;justify-content:center;box-shadow:0 1px 2px rgba(20,20,20,.1);}
.cmp-dot svg{width:14px;height:14px;}

/* timeline: how a referral moves through Basalt */
.tl{display:grid;grid-template-columns:1.05fr 1fr;gap:54px;align-items:start;}
@media(max-width:900px){.tl{grid-template-columns:1fr;gap:34px;}}
.tl-steps{position:relative;padding-left:4px;}
.tl-line{position:absolute;left:11px;top:10px;bottom:10px;width:2px;background:var(--line);}
.tl-prog{position:absolute;left:11px;top:10px;width:2px;height:0;background:var(--accent);transition:height .55s ease;}
.tl-step{position:relative;padding:0 0 16vh 42px;cursor:pointer;}
.tl-step:last-child{padding-bottom:8vh;}
.tl-node{position:absolute;left:4px;top:2px;width:16px;height:16px;border-radius:50%;background:var(--panel);
  border:2px solid var(--line);transition:border-color .3s,background .3s;z-index:2;}
.tl-step.active .tl-node,.tl-step.done .tl-node{border-color:var(--accent);background:var(--accent);}
.tl-badge{display:inline-block;white-space:nowrap;font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;
  background:var(--gray-3);color:var(--muted);border-radius:999px;padding:4px 12px;transition:background .3s,color .3s;}
.tl-step.active .tl-badge{background:var(--accent);color:#fff;}
.tl-title{font-size:20px;font-weight:700;letter-spacing:-.012em;margin:10px 0 4px;color:var(--muted);transition:color .3s;}
.tl-step.active .tl-title{color:var(--ink);}
.tl-desc{font-size:14.5px;color:var(--muted);max-width:40ch;opacity:.5;transition:opacity .3s;line-height:1.55;}
.tl-step.active .tl-desc{opacity:1;}
.tl-vis{position:sticky;top:110px;align-self:start;
  background:linear-gradient(180deg,rgba(255,255,255,.55),rgba(238,243,253,.3));
  border:0;backdrop-filter:blur(16px) saturate(1.2);-webkit-backdrop-filter:blur(16px) saturate(1.2);
  border-radius:26px;min-height:300px;overflow:hidden;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.5),0 18px 44px -34px rgba(18,40,90,.24);}
.tl-layer{position:absolute;inset:0;padding:26px;opacity:0;transition:opacity .5s ease;pointer-events:none;display:flex;flex-direction:column;}
.tl-layer.show{opacity:1;}
.tl-vlab{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:14px;}
.tl-ic{width:40px;height:40px;border-radius:11px;background:var(--accent-soft);color:var(--accent);display:flex;align-items:center;justify-content:center;margin-bottom:14px;}
.tl-ic svg{width:21px;height:21px;}
.tl-vt{font-size:18px;font-weight:700;letter-spacing:-.015em;color:var(--ink);margin:0 0 5px;}
.tl-vd{font-size:14px;color:var(--muted);margin:0;}
.tl-card{margin-top:auto;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:16px;}
.tl-frow{display:flex;align-items:center;gap:10px;font-size:13.5px;color:var(--ink);padding:7px 0;}
.tl-frow .tk{width:20px;height:20px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;flex:0 0 auto;}
.tl-frow .tk svg{width:12px;height:12px;}
.tl-prog2{height:6px;border-radius:6px;background:var(--gray-3);overflow:hidden;margin:2px 0 14px;}
.tl-prog2 i{display:block;height:100%;width:74%;background:var(--accent);border-radius:6px;}
.tl-fields{display:flex;gap:8px;flex-wrap:wrap;}
.tl-field{font-family:var(--mono);font-size:11px;color:var(--accent-deep);background:var(--accent-soft);border:1px solid var(--sage-4);border-radius:8px;padding:5px 10px;}
.tl-sign{display:flex;align-items:center;gap:13px;}
.tl-ava{width:46px;height:46px;border-radius:50%;background:var(--deep-slate);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:15px;flex:0 0 auto;}
.tl-sign .nm{font-size:14px;font-weight:600;color:var(--ink);}
.tl-sign .rl{font-size:12px;color:var(--muted);}
.tl-approved{margin-left:auto;display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600;color:var(--green-11);background:var(--green-3);border-radius:999px;padding:6px 13px;}
.tl-approved svg{width:13px;height:13px;}

/* feature split cards */
.fcards{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
@media(max-width:900px){.fcards{grid-template-columns:1fr;}}
.fcard{position:relative;background:var(--panel);border:1px solid var(--line);
  border-radius:28px;padding:36px;overflow:hidden;min-height:340px;display:flex;flex-direction:column;
  box-shadow:0 1px 0 rgba(20,20,20,.02),0 16px 40px -42px rgba(20,20,20,.13);}
.fcard.glow::after{content:"";position:absolute;right:-20%;bottom:-30%;width:80%;height:80%;
  background:radial-gradient(closest-side,rgba(190,210,157,.4),transparent 70%);pointer-events:none;}
.fcard h3{font-family:var(--sans);font-weight:700;font-size:27px;letter-spacing:-.02em;line-height:1.08;margin:0;color:var(--ink);}
.fcard p{font-size:15.5px;color:var(--muted);margin:14px 0 0;line-height:1.6;max-width:34ch;}
.fcard .spacer{flex:1;}
.fcard .bignum{font-family:var(--sans);font-weight:700;font-size:88px;letter-spacing:-.04em;line-height:1;color:var(--ink);position:relative;z-index:2;}
.fcard .bignum .u{font-size:24px;color:var(--accent);margin-left:6px;letter-spacing:0;}
.fcard .bignum.stacked .u{display:block;margin-left:0;margin-top:16px;line-height:1.15;max-width:14ch;}
.fcard .fnote{font-size:13px;color:var(--muted);margin-top:10px;font-family:var(--mono);letter-spacing:.04em;position:relative;z-index:2;}
.fcard .doc-mini{margin-top:20px;display:flex;flex-direction:column;gap:9px;position:relative;z-index:2;}
.fcard .dm-row{display:flex;align-items:center;gap:11px;background:var(--paper);border:1px solid var(--line);
  border-radius:12px;padding:11px 14px;}
.fcard .dm-row .dm-ic{width:30px;height:30px;border-radius:8px;background:var(--accent-soft);color:var(--accent);
  display:flex;align-items:center;justify-content:center;flex:0 0 auto;}
.fcard .dm-row .dm-ic svg{width:16px;height:16px;}
.fcard .dm-row .dm-t{font-size:13.5px;color:var(--ink);font-weight:600;}
.fcard .dm-row .dm-d{font-size:11.5px;color:var(--muted);white-space:nowrap;}

/* ── STAT CARDS (elevated, basalt-column motif) ───────────────── */
.stats-sec{--stat-accent:var(--signal);--stat-weight:300;}
.statgrid{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
@media(max-width:760px){.statgrid{grid-template-columns:1fr;}}
.statcard{position:relative;overflow:hidden;border-radius:28px;padding:34px 34px 0;min-height:312px;
  display:flex;flex-direction:column;isolation:isolate;}
/* surface variants */
.stats-sec[data-tw-cards="glass"] .statcard{
  background:linear-gradient(180deg,rgba(255,255,255,.6),rgba(238,243,253,.32));
  backdrop-filter:blur(16px) saturate(1.2);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.5),0 18px 46px -34px rgba(18,40,90,.26);}
.stats-sec[data-tw-cards="solid"] .statcard{background:var(--panel);
  box-shadow:0 18px 46px -38px rgba(18,40,90,.24);}
.stats-sec[data-tw-cards="outline"] .statcard{background:transparent;
  box-shadow:inset 0 0 0 1.5px var(--line);}
/* basalt trend-line band (sits below the text) */
.sc-body{margin-top:auto;padding-bottom:20px;}
.sc-graphwrap{margin:0 -34px;height:92px;position:relative;}
.sc-graph{position:absolute;inset:0;width:100%;height:100%;}
.sc-line{fill:none;stroke:color-mix(in srgb,var(--stat-accent) 60%,transparent);stroke-width:2;
  stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;
  vector-effect:non-scaling-stroke;}
.statcard.in .sc-line{animation:scdraw 1s cubic-bezier(.3,.7,.2,1) forwards;}
@keyframes scdraw{to{stroke-dashoffset:0;}}
.sc-area{fill:var(--stat-accent);opacity:0;
  -webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.55),transparent 92%);
  mask-image:linear-gradient(180deg,rgba(0,0,0,.55),transparent 92%);}
.statcard.in .sc-area{animation:scarea .9s ease .12s forwards;}
@keyframes scarea{to{opacity:.14;}}
.stats-sec[data-tw-columns="off"] .sc-graphwrap{display:none;}
@media(prefers-reduced-motion:reduce){
  .sc-line{stroke-dashoffset:0;animation:none;}.sc-area{opacity:.14;animation:none;}}
/* content */
.sc-cat{position:relative;z-index:2;font-family:var(--mono);font-size:11.5px;
  letter-spacing:.16em;text-transform:uppercase;color:var(--muted);}
.stats-sec[data-tw-labels="off"] .sc-cat{display:none;}
.sc-figure{position:relative;z-index:2;}
.sc-num{display:inline-block;font-family:"Nohemi",var(--sans);font-weight:var(--stat-weight);
  font-size:clamp(50px,6.4vw,74px);line-height:.94;letter-spacing:-.02em;color:var(--ink);
  font-variant-numeric:tabular-nums;}
.sc-desc{position:relative;z-index:2;margin:15px 0 0;font-family:"DM Sans",var(--sans);font-weight:600;
  font-size:20px;line-height:1.32;color:var(--stat-accent);max-width:24ch;}

/* demo marquee */
.demo-sec{padding:74px 0;}
.demo-wrap{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:stretch;}
@media(max-width:900px){.demo-wrap{grid-template-columns:1fr;}}
.demo-panel{background:color-mix(in srgb,var(--panel) 55%,transparent);border:0;backdrop-filter:blur(16px) saturate(1.2);
  border-radius:22px;padding:24px;display:flex;flex-direction:column;box-shadow:inset 0 0 0 1px rgba(255,255,255,.45),0 16px 40px -34px rgba(20,20,20,.2);}
.demo-lab{font-family:var(--mono);font-size:10.5px;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);
  margin-bottom:16px;display:flex;justify-content:space-between;align-items:center;}
.doc{font-size:13.5px;line-height:1.62;color:var(--ink);}
.doc .dh{font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:var(--muted);
  padding-bottom:10px;margin-bottom:12px;border-bottom:1px solid var(--hair);}
.doc p{margin:0 0 11px;}
.doc .field{color:var(--muted);font-weight:600;}
.doc mark{background:transparent;color:inherit;border-bottom:1.5px solid var(--signal-soft);
  padding:0 1px;cursor:pointer;transition:background .25s,box-shadow .25s,color .25s;border-radius:3px;}
.doc mark.hot{background:var(--signal);color:#fff;border-bottom-color:transparent;
  box-shadow:0 0 0 4px var(--signal-soft);}
.find{display:flex;gap:12px;align-items:flex-start;padding:13px 0;border-top:1px solid var(--hair);}
.find:first-of-type{border-top:0;}
.find .fb{flex:1;min-width:0;}
.find .ft{font-size:14.5px;font-weight:600;letter-spacing:-.005em;color:var(--ink);}
.find .fd{font-size:12.5px;color:var(--muted);margin-top:2px;}
.find .src{font-family:var(--mono);font-size:10.5px;color:var(--signal-text);cursor:pointer;white-space:nowrap;
  border-bottom:1px dotted var(--signal-text);margin-top:6px;display:inline-block;}
.find .src:hover{opacity:.65;}
.fcheck{width:26px;height:26px;border-radius:7px;display:flex;align-items:center;justify-content:center;flex:0 0 auto;
  margin-top:1px;font-family:var(--sans);font-weight:700;font-size:15px;line-height:1;}
.fcheck.risk{background:var(--red-9);color:#fff;} .fcheck.review{background:var(--amber-9);color:#5c3d00;} .fcheck.likely{background:var(--green-9);color:#fff;}
.chip{font-family:var(--mono);font-size:11px;font-weight:600;border-radius:20px;padding:3px 11px;white-space:nowrap;align-self:center;}
.chip.risk{background:var(--red-3);color:var(--red-11);} .chip.review{background:var(--amber-3);color:var(--amber-11);} .chip.likely{background:var(--green-3);color:var(--green-11);}
.demo-foot{font-size:11.5px;color:var(--muted);margin-top:14px;line-height:1.55;padding-top:14px;border-top:1px solid var(--hair);}

/* pull quote — animated testimonial carousel */
.quote-sec{padding:90px 0;overflow:hidden;}
.qrotator{position:relative;max-width:920px;margin:0 auto;text-align:center;padding:8px 20px;}
.qbg{position:absolute;top:-72px;left:50%;transform:translateX(-50%);z-index:0;pointer-events:none;
  font-family:var(--serif);font-weight:600;font-size:300px;line-height:1;color:var(--accent);opacity:.07;}
.qstage{position:relative;z-index:2;display:grid;min-height:188px;}
.qslide{grid-area:1/1;opacity:0;transform:translateY(16px) scale(.992);
  transition:opacity .55s ease,transform .55s cubic-bezier(.2,.7,.2,1);pointer-events:none;}
.qslide.is-active{opacity:1;transform:none;pointer-events:auto;}
.pq{font-family:var(--sans);font-weight:300;font-size:clamp(24px,3vw,38px);line-height:1.26;
  letter-spacing:-.02em;color:var(--ink);max-width:25ch;margin:0 auto;text-wrap:balance;}
.pq .hl{color:var(--accent);font-weight:500;}
.qname{margin-top:26px;font-family:var(--sans);font-weight:600;font-size:17px;color:var(--ink);}
.qrole{font-family:var(--mono);font-size:11.5px;letter-spacing:.05em;color:var(--muted);margin-top:5px;}
.qfaces{display:flex;justify-content:center;align-items:center;gap:13px;margin-top:38px;position:relative;z-index:2;
  flex-wrap:wrap;}
.qface{width:46px;height:46px;border-radius:50%;overflow:hidden;padding:0;border:0;background:none;cursor:pointer;
  opacity:.5;filter:grayscale(.35);transform:scale(.84);
  transition:opacity .4s,filter .4s,transform .4s,box-shadow .4s;position:relative;-webkit-tap-highlight-color:transparent;}
.qface svg{width:100%;height:100%;display:block;}
.qface:hover{opacity:.82;transform:scale(.92);}
.qface.is-active{opacity:1;filter:none;transform:scale(1.16);
  box-shadow:0 0 0 3px var(--paper),0 0 0 5px var(--accent);}
.qprog{margin:32px auto 0;width:118px;height:3px;border-radius:3px;position:relative;z-index:2;overflow:hidden;
  background:color-mix(in srgb,var(--accent) 16%,transparent);}
.qprog i{position:absolute;inset:0;transform-origin:left;transform:scaleX(0);background:var(--accent);}
.qprog i.run{animation:qfill var(--qdur,5200ms) linear forwards;}
@keyframes qfill{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(prefers-reduced-motion:reduce){
  .qslide{transition:opacity .3s;transform:none;}
  .qprog i.run{animation:none;transform:scaleX(1);}}
@media(max-width:600px){.qbg{font-size:200px;top:-44px;}.qfaces{gap:9px;}.qface{width:40px;height:40px;}}

/* cta band: the one dark, heavy moment */
.cta-sec{padding:30px 0 84px;}
.ctacard{background:linear-gradient(160deg,#1d2a16,#11160d);border:1px solid rgba(196,218,156,.22);border-radius:32px;
  padding:74px 40px;text-align:center;position:relative;overflow:hidden;}
.ctacard::before{content:"";position:absolute;left:50%;bottom:-50%;width:100%;height:120%;transform:translateX(-50%);
  background:radial-gradient(closest-side,rgba(196,218,156,.2),transparent 70%);pointer-events:none;}
.ctacard .inner{position:relative;z-index:2;}
.ctacard .g-h2{margin:0 auto;color:#fff;}
.ctacard .g-sub{margin:18px auto 0;text-align:center;color:#c8d2bd;}
.ctacard .g-cta{justify-content:center;margin-top:32px;}
.ctacard .btn-outline{color:#fff;border-color:rgba(255,255,255,.28);}
.ctacard .btn-outline:hover{border-color:#fff;background:rgba(255,255,255,.05);}

/* footer */
.footer{background:var(--basalt-black);color:#cfcfca;padding:60px 0 40px;margin-top:20px;}
.footer a{color:#aeb8a3;font-size:14px;line-height:2.1;transition:color .15s;}
.footer .fcol a{display:block;}
.footer a:hover{color:#fff;}
.footer .fcol h5{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#76806c;margin:0 0 12px;font-weight:500;}
.footer .flogo{height:23px;margin-bottom:16px;}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px;}
@media(max-width:760px){.footer-grid{grid-template-columns:1fr 1fr;gap:30px;}}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;
  margin-top:46px;padding-top:24px;border-top:1px solid rgba(255,255,255,.1);
  font-family:var(--mono);font-size:11.5px;color:#76806c;letter-spacing:.03em;}


/* ════════════════ SHARED INNER-PAGE COMPONENTS ════════════════ */
.page-hero{padding:54px 0 40px;}
.page-hero .g-eyebrow{display:block;margin-bottom:16px;}
.page-hero .g-h1{font-size:clamp(40px,5.2vw,74px);max-width:18ch;}
.page-hero .g-sub{max-width:56ch;}
.crumb{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:18px;display:flex;gap:8px;}
.crumb a:hover{color:var(--ink);}
.center{text-align:center;margin-left:auto;margin-right:auto;}
.sec-head.center .g-sub{margin-left:auto;margin-right:auto;}

/* feature rows (alternating image/text) */
.frow-split{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;padding:48px 0;}
.frow-split.flip .frow-text{order:2;}
@media(max-width:900px){.frow-split{grid-template-columns:1fr;gap:30px;}.frow-split.flip .frow-text{order:0;}}
.frow-text h3{font-size:clamp(26px,3vw,40px);font-weight:700;letter-spacing:-.025em;line-height:1.05;margin:14px 0 0;color:var(--ink);}
.frow-text p{font-size:16.5px;color:var(--muted);line-height:1.6;margin:16px 0 0;max-width:46ch;}
.frow-list{list-style:none;padding:0;margin:22px 0 0;display:flex;flex-direction:column;gap:12px;}
.frow-list li{display:flex;gap:11px;align-items:flex-start;font-size:15.5px;color:var(--ink);}
.frow-list .ck{width:22px;height:22px;border-radius:50%;background:var(--accent-soft);color:var(--accent);display:flex;align-items:center;justify-content:center;flex:0 0 auto;margin-top:1px;}
.frow-list .ck svg{width:13px;height:13px;}
.frow-visual{background:linear-gradient(180deg,rgba(255,255,255,.5),rgba(241,241,231,.3));border:0;border-radius:26px;padding:28px;min-height:340px;position:relative;overflow:hidden;backdrop-filter:blur(16px) saturate(1.2);box-shadow:inset 0 0 0 1px rgba(255,255,255,.5),0 18px 44px -36px rgba(20,20,20,.02),0 18px 44px -44px rgba(20,20,20,.13);display:flex;flex-direction:column;}
.frow-visual .vlab{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:16px;}

/* stat band */
.statband{display:grid;grid-template-columns:repeat(3,1fr);gap:0;background:color-mix(in srgb,var(--panel) 55%,transparent);border:0;border-radius:24px;overflow:hidden;backdrop-filter:blur(16px) saturate(1.2);box-shadow:inset 0 0 0 1px rgba(255,255,255,.45),0 16px 40px -36px rgba(20,20,20,.18);}
.statband.four{grid-template-columns:repeat(4,1fr);}
@media(max-width:760px){.statband,.statband.four{grid-template-columns:1fr 1fr;}}
.statband .sb{padding:34px 30px;border-left:1px solid var(--line);}
.statband .sb:first-child{border-left:0;}
@media(max-width:760px){.statband .sb:nth-child(odd){border-left:0;}}
.statband .sbv{font-weight:700;font-size:46px;letter-spacing:-.03em;line-height:1;color:var(--ink);}
.statband .sbv .u{font-size:18px;color:var(--accent);margin-left:4px;}
.statband .sbk{font-size:14px;color:var(--muted);margin-top:10px;max-width:26ch;line-height:1.5;}

/* pricing tiers */
.tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:stretch;}
@media(max-width:900px){.tiers{grid-template-columns:1fr;}}
.tier{background:color-mix(in srgb,var(--panel) 55%,transparent);border:0;border-radius:26px;padding:34px;display:flex;flex-direction:column;backdrop-filter:blur(16px) saturate(1.2);box-shadow:inset 0 0 0 1px rgba(255,255,255,.45),0 16px 40px -36px rgba(20,20,20,.16);}
.tier.feat{box-shadow:inset 0 0 0 1.5px var(--accent),0 18px 44px -38px rgba(20,20,20,.2);}
.tier .ttag{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-bottom:12px;}
.tier .tname{font-weight:700;font-size:22px;letter-spacing:-.01em;color:var(--ink);}
.tier .tprice{font-weight:700;font-size:42px;letter-spacing:-.03em;margin:16px 0 4px;color:var(--ink);}
.tier .tprice .per{font-size:15px;color:var(--muted);font-weight:500;letter-spacing:0;}
.tier .tdesc{font-size:14.5px;color:var(--muted);line-height:1.55;min-height:46px;}
.tier ul{list-style:none;padding:0;margin:20px 0 26px;display:flex;flex-direction:column;gap:12px;}
.tier li{display:flex;gap:10px;font-size:14.5px;color:var(--ink);align-items:flex-start;line-height:1.4;}
.tier li .ck{color:var(--accent);flex:0 0 auto;margin-top:2px;}
.tier li .ck svg{width:15px;height:15px;display:block;}
.tier .btn{margin-top:auto;justify-content:center;}

/* faq */
.faq{max-width:820px;margin:0 auto;}
.faq details{border-top:2px solid var(--cumberland-blue);padding:22px 0;}
.faq details:last-child{border-bottom:2px solid var(--cumberland-blue);}
.faq summary{list-style:none;cursor:pointer;font-size:18px;font-weight:600;color:var(--ink);display:flex;justify-content:space-between;align-items:center;gap:20px;letter-spacing:-.01em;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary .pl{flex:0 0 auto;width:22px;height:22px;position:relative;}
.faq summary .pl::before,.faq summary .pl::after{content:"";position:absolute;background:var(--muted);border-radius:2px;}
.faq summary .pl::before{left:0;right:0;top:10px;height:2px;}
.faq summary .pl::after{top:0;bottom:0;left:10px;width:2px;transition:opacity .2s;}
.faq details[open] summary .pl::after{opacity:0;}
.faq .ans{font-size:15.5px;color:var(--muted);line-height:1.62;margin-top:14px;max-width:70ch;}

/* principles: photo + accordion */
.principles-grid{display:grid;grid-template-columns:0.82fr 1.18fr;gap:44px;align-items:start;max-width:1040px;margin:0 auto;}
.principles-photo{border-radius:14px;overflow:hidden;border:1px solid var(--line);align-self:stretch;}
.principles-photo img{display:block;width:100%;height:100%;object-fit:cover;}

.pr-list{display:flex;flex-direction:column;}
.pr-item{position:relative;border-top:1px solid var(--line);}
.pr-item:last-child{border-bottom:1px solid var(--line);}
.pr-item::before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--cumberland-blue);
  transform:scaleY(0);transform-origin:top;transition:transform .4s cubic-bezier(.2,.7,.2,1);}
.pr-item.is-open::before{transform:scaleY(1);}
.pr-head{width:100%;display:flex;align-items:center;gap:16px;padding:20px 8px 20px 18px;background:none;border:0;
  cursor:pointer;text-align:left;font-family:var(--sans);color:var(--ink);transition:padding .3s ease;}
.pr-n{font-family:var(--mono);font-size:12px;font-weight:500;color:var(--gray-11);letter-spacing:.04em;
  transition:color .3s ease;width:20px;flex:0 0 auto;}
.pr-item.is-open .pr-n{color:var(--cumberland-blue);}
.pr-t{flex:1;font-size:19px;font-weight:700;letter-spacing:-.01em;line-height:1.2;transition:color .3s ease;}
.pr-ic{position:relative;width:14px;height:14px;flex:0 0 auto;}
.pr-ic::before,.pr-ic::after{content:"";position:absolute;background:var(--muted);border-radius:2px;transition:transform .35s cubic-bezier(.2,.7,.2,1),background .3s ease;}
.pr-ic::before{left:0;right:0;top:6px;height:2px;}
.pr-ic::after{top:0;bottom:0;left:6px;width:2px;}
.pr-item.is-open .pr-ic::after{transform:scaleY(0);}
.pr-item.is-open .pr-ic::before{background:var(--cumberland-blue);}
.pr-head:hover .pr-t{color:var(--cumberland-blue);}
.pr-body{overflow:hidden;height:0;opacity:0;transition:height .4s cubic-bezier(.2,.7,.2,1),opacity .3s ease;}
.pr-item.is-open .pr-body{opacity:1;}
.pr-inner{padding:0 18px 22px 54px;font-size:15.5px;color:var(--muted);line-height:1.62;}
@media(prefers-reduced-motion:reduce){
  .pr-body,.pr-item::before,.pr-ic::before,.pr-ic::after{transition:none;}
}
@media(max-width:820px){
  .principles-grid{grid-template-columns:1fr;gap:24px;}
  .principles-photo{aspect-ratio:16/10;}
}

/* team */
.team{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
@media(max-width:900px){.team{grid-template-columns:1fr 1fr;}}
.member .ava{width:100%;aspect-ratio:1;border-radius:18px;background:repeating-linear-gradient(135deg,#f3f2ea,#f3f2ea 10px,#efeee5 10px,#efeee5 20px);border:1px dashed #c9c4b6;display:flex;align-items:center;justify-content:center;margin-bottom:15px;color:var(--muted);font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;text-align:center;}
.member .mn{font-weight:700;font-size:17px;color:var(--ink);letter-spacing:-.01em;}
.member .mr{font-size:13.5px;color:var(--accent);margin-top:3px;}

/* blog cards */
.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
@media(max-width:900px){.posts{grid-template-columns:1fr;}}
.post{background:color-mix(in srgb,var(--panel) 55%,transparent);border:0;border-radius:22px;overflow:hidden;display:flex;flex-direction:column;backdrop-filter:blur(16px) saturate(1.2);box-shadow:inset 0 0 0 1px rgba(255,255,255,.45),0 14px 36px -36px rgba(20,20,20,.16);transition:transform .18s,box-shadow .18s;}
.post:hover{transform:translateY(-3px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.5),0 22px 46px -32px rgba(20,20,20,.22);}
.post .pimg{aspect-ratio:16/9;background:repeating-linear-gradient(135deg,#f3f2ea,#f3f2ea 12px,#efeee5 12px,#efeee5 24px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--muted);font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;}
.post .pbody{padding:24px;display:flex;flex-direction:column;flex:1;}
.post .ptag{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);}
.post .pt{font-size:19px;font-weight:700;letter-spacing:-.02em;line-height:1.2;margin:10px 0 0;color:var(--ink);}
.post .pd{font-size:14px;color:var(--muted);line-height:1.55;margin:10px 0 0;}
.post .pmeta{margin-top:auto;padding-top:16px;font-family:var(--mono);font-size:11.5px;color:var(--muted);letter-spacing:.03em;}

/* form */
.form{background:color-mix(in srgb,var(--panel) 55%,transparent);border:0;border-radius:26px;padding:34px;backdrop-filter:blur(16px) saturate(1.2);box-shadow:inset 0 0 0 1px rgba(255,255,255,.45),0 16px 40px -36px rgba(20,20,20,.16);}
.form .frow{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
@media(max-width:620px){.form .frow{grid-template-columns:1fr;}}
.field{margin-top:16px;}
.field label{display:block;font-size:13px;font-weight:600;color:var(--ink);margin-bottom:7px;}
.field input,.field select,.field textarea{width:100%;font-family:var(--sans);font-size:15px;color:var(--ink);
  background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:13px 15px;outline:none;transition:border-color .15s,box-shadow .15s;}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--signal);box-shadow:0 0 0 3px var(--signal-soft);}
.field textarea{resize:vertical;min-height:96px;}

/* ════════════════ GATED DOWNLOAD CARD ════════════════ */
.dl-card{text-align:center;}
.dl-doc{display:flex;justify-content:center;margin-bottom:20px;}
.dl-doc-page{position:relative;width:150px;aspect-ratio:8.5/11;background:#fff;border:1px solid var(--line);
  border-radius:8px;box-shadow:0 12px 28px -22px rgba(20,20,20,.18);
  display:flex;flex-direction:column;gap:9px;padding:20px 16px;text-align:left;overflow:hidden;}
.dl-doc-page::before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:var(--cumberland-blue);}
.dl-pdftag{position:absolute;top:13px;right:13px;font-family:var(--mono);font-size:8.5px;font-weight:700;letter-spacing:.1em;
  color:#fff;background:var(--red-9);border-radius:3px;padding:2px 5px;}
.dl-doc-kicker{font-family:var(--mono);font-size:8px;letter-spacing:.14em;text-transform:uppercase;color:var(--gray-9);margin-top:6px;}
.dl-doc-title{font-family:var(--serif,"Newsreader",serif);font-weight:600;font-size:16px;line-height:1.12;color:var(--basalt-black);}
.dl-doc-lines{display:flex;flex-direction:column;gap:5px;margin-top:auto;}
.dl-doc-lines i{height:3px;border-radius:2px;background:var(--gray-4);display:block;}
.dl-doc-lines i:nth-child(1){width:100%;} .dl-doc-lines i:nth-child(2){width:88%;} .dl-doc-lines i:nth-child(3){width:64%;}
.dl-h{font-size:23px;font-weight:700;letter-spacing:-.02em;margin:0;color:var(--ink);}
.dl-sub{font-size:14.5px;color:var(--muted);line-height:1.5;margin:10px 0 20px;}
.dl-fine{font-size:11.5px;color:var(--muted);line-height:1.45;margin:14px 0 0;}
.dl-ok{text-align:center;}
.dl-ok-check{width:54px;height:54px;border-radius:50%;background:var(--green-9);color:#fff;
  display:inline-flex;align-items:center;justify-content:center;margin:0 auto;}
.dl-ok-check svg{width:26px;height:26px;}
/* "what's inside" list on the case-study page — opaque card, roomy rows */
.dl-inside{padding:14px 30px;}
.dl-inside .ci{padding:18px 0;gap:14px;align-items:flex-start;}
.dl-inside .ci b{font-size:15.5px;}
.dl-inside .ci .cd{margin-top:4px;line-height:1.5;}

/* section tints */
.tint{background:var(--panel);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.tint-sage{background:var(--sage-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}

/* "Team culture" header treatment — columnar mark + title + baseline rule */
.tc-head{display:flex;flex-direction:column;align-items:center;gap:16px;}
.tc-cols{display:flex;align-items:flex-end;gap:5px;height:34px;}
.tc-cols i{width:9px;border-radius:3px 3px 0 0;background:var(--accent);opacity:.9;
  transform-origin:bottom;transform:scaleY(1);animation:tcRise .7s cubic-bezier(.2,.7,.2,1) backwards;}
.tc-cols i:nth-child(1){height:46%;animation-delay:.02s;opacity:.5;}
.tc-cols i:nth-child(2){height:74%;animation-delay:.08s;opacity:.7;}
.tc-cols i:nth-child(3){height:100%;animation-delay:.14s;}
.tc-cols i:nth-child(4){height:66%;animation-delay:.2s;opacity:.7;}
.tc-cols i:nth-child(5){height:40%;animation-delay:.26s;opacity:.5;}
@keyframes tcRise{to{transform:scaleY(1);}}
.tc-title{font-family:"Nohemi",var(--sans);font-weight:700;text-transform:uppercase;
  font-size:clamp(30px,4.4vw,52px);letter-spacing:.04em;line-height:1;color:var(--ink);}
.tc-rule{width:64px;height:3px;border-radius:3px;background:var(--accent);}
@media(prefers-reduced-motion:reduce){.tc-cols i{transform:scaleY(1);animation:none;}}

/* mini steps */
.mini-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
@media(max-width:820px){.mini-steps{grid-template-columns:1fr;}}
.mini-step{background:color-mix(in srgb,var(--panel) 55%,transparent);border:0;border-radius:20px;padding:28px;backdrop-filter:blur(16px) saturate(1.2);box-shadow:inset 0 0 0 1px rgba(255,255,255,.45),0 14px 36px -36px rgba(20,20,20,.15);}
.mini-step .n{font-family:var(--mono);font-size:12px;color:var(--accent);letter-spacing:.1em;}
.mini-step h4{font-size:20px;font-weight:700;letter-spacing:-.015em;margin:14px 0 8px;color:var(--ink);}
.mini-step p{font-size:14.5px;color:var(--muted);line-height:1.55;margin:0;}

/* checklist card */
.checklist{background:color-mix(in srgb,var(--panel) 55%,transparent);border:0;border-radius:22px;padding:30px;backdrop-filter:blur(16px) saturate(1.2);box-shadow:inset 0 0 0 1px rgba(255,255,255,.45),0 14px 36px -36px rgba(20,20,20,.15);}
.checklist h4{margin:0 0 18px;font-size:18px;font-weight:700;color:var(--ink);letter-spacing:-.01em;}
.checklist .ci{display:flex;gap:12px;align-items:flex-start;padding:13px 0;border-top:1px solid var(--hair);font-size:15px;color:var(--ink);}
.checklist .ci:first-of-type{border-top:0;}
.checklist .ci .ck{width:24px;height:24px;border-radius:7px;background:var(--accent-soft);color:var(--accent);display:flex;align-items:center;justify-content:center;flex:0 0 auto;}
.checklist .ci .ck svg{width:14px;height:14px;}
.checklist .ci .cd{font-size:13px;color:var(--muted);margin-top:2px;}

/* anchor offset for sticky nav */
[id]{scroll-margin-top:96px;}

/* ════════════════ ARTICLE ════════════════ */
.art-hero{padding:48px 0 30px;}
.art-hero .crumb{margin-bottom:20px;}
.art-tag{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);}
.art-title{font-family:var(--serif);font-weight:500;letter-spacing:-.02em;line-height:1.06;
  font-size:clamp(34px,4.6vw,58px);margin:16px 0 0;max-width:20ch;text-wrap:balance;}
.art-meta{display:flex;align-items:center;gap:14px;margin-top:22px;font-family:var(--mono);
  font-size:12px;letter-spacing:.03em;color:var(--muted);flex-wrap:wrap;}
.art-meta .dot{width:4px;height:4px;border-radius:50%;background:var(--muted);flex:0 0 auto;}
.art-cover{margin:34px 0 0;border-radius:24px;overflow:hidden;border:1px solid var(--line);}
.art-cover .g-placeholder{aspect-ratio:16/7;border-radius:0;border:0;}
.article{max-width:720px;margin:0 auto;padding:8px 0 10px;}
.article-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:48px;align-items:start;max-width:1080px;margin:0 auto;}
.article-layout .article{max-width:none;margin:0;}
.article-aside{position:sticky;top:96px;}
/* Efficiency case-study preview graphic (before/after time bars) */
.cs-graphic{position:absolute;left:0;right:0;bottom:0;top:0;z-index:1;display:flex;flex-direction:column;
  justify-content:center;gap:20px;padding:0 30px;}
.cs-cap{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;
  color:rgba(255,255,255,.55);margin-bottom:2px;}
.cs-row{display:flex;align-items:center;gap:14px;}
.cs-k{flex:0 0 84px;font-family:var(--mono);font-size:11px;letter-spacing:.04em;color:rgba(255,255,255,.62);}
.cs-track{flex:1;height:14px;border-radius:8px;background:rgba(255,255,255,.07);overflow:hidden;}
.cs-fill{display:block;height:100%;border-radius:8px;transform-origin:left;}
.cs-before{width:100%;background:rgba(255,255,255,.28);}
.cs-after{width:16%;background:var(--cumberland-blue);box-shadow:0 0 18px -2px var(--cumberland-blue);}
.cs-v{flex:0 0 auto;min-width:62px;text-align:right;font-family:var(--sans);font-weight:700;font-size:19px;color:#fff;letter-spacing:-.01em;}
.cs-v-blue{color:#9fb6ff;}
@media(max-width:900px){.article-layout{grid-template-columns:1fr;gap:32px;}.article-aside{position:static;}}
.article .lead{font-size:21px;line-height:1.55;color:var(--ink);font-weight:500;margin:0 0 28px;letter-spacing:-.01em;text-wrap:pretty;}
.art-poster{display:block;width:100%;max-width:440px;margin:34px auto 38px;text-decoration:none;
  border-radius:16px;overflow:hidden;border:1px solid var(--line);
  box-shadow:0 18px 44px -32px rgba(18,40,90,.4);transition:transform .25s ease,box-shadow .25s ease;}
.art-poster:hover{transform:translateY(-4px);box-shadow:0 26px 56px -28px rgba(18,40,90,.5);}
.art-poster img{display:block;width:100%;height:auto;}
.art-poster-cap{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 18px;
  background:var(--accent);color:#fff;font-family:var(--sans);font-weight:600;font-size:15px;}
.art-poster:hover .art-poster-cap .arr{transform:translateX(3px);}
.art-poster-cap .arr{transition:transform .2s ease;}
.article h2{font-family:var(--serif);font-weight:600;font-size:27px;letter-spacing:-.015em;line-height:1.18;
  color:var(--ink);margin:42px 0 0;text-wrap:balance;}
.article h3{font-size:19px;font-weight:700;letter-spacing:-.01em;color:var(--ink);margin:30px 0 0;}
.article p{font-size:17px;line-height:1.68;color:var(--ink);margin:16px 0 0;text-wrap:pretty;}
.article p.muted{color:var(--muted);}
.article a{color:var(--signal-text);text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px;}
.article a:hover{text-decoration-thickness:2px;}
.article a.btn{text-decoration:none;}
.article a.btn-blue{color:#fff;}
.article a.btn-blue:hover{text-decoration:none;}
.advisor{margin-top:30px;padding-top:26px;border-top:1px solid var(--line);}
.advisor h3{margin:0;}
.advisor p{margin-top:8px;color:var(--muted);}
.article ul{margin:16px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:11px;}
.article ul li{position:relative;padding-left:26px;font-size:17px;line-height:1.6;color:var(--ink);}
.article ul li::before{content:"";position:absolute;left:4px;top:11px;width:7px;height:7px;border-radius:2px;
  background:var(--accent);transform:rotate(45deg);}
.article blockquote{margin:34px 0 0;padding:4px 0 4px 26px;border-left:3px solid var(--accent);
  font-family:var(--serif);font-style:italic;font-size:22px;line-height:1.4;color:var(--ink);letter-spacing:-.01em;}
.article .pull-note{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:22px 24px;margin:30px 0 0;}
.article .pull-note .k{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:8px;}
.article .pull-note p{margin:0;font-size:16px;color:var(--ink);}
.article hr{border:0;border-top:1px solid var(--line);margin:42px 0 0;}
.art-byline{display:flex;align-items:center;gap:13px;margin-top:40px;padding-top:26px;border-top:1px solid var(--line);}
.art-byline .ava{width:46px;height:46px;border-radius:50%;background:var(--accent-soft);color:var(--accent);
  display:flex;align-items:center;justify-content:center;font-weight:700;font-size:16px;flex:0 0 auto;}
.art-byline .bn{font-weight:700;color:var(--ink);font-size:15px;}
.art-byline .br{font-size:13px;color:var(--muted);margin-top:2px;}
.more-posts{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:26px;}
@media(max-width:900px){.more-posts{grid-template-columns:1fr;}}
@media(max-width:640px){
  .article p,.article ul li{font-size:16px;}
  .article .lead{font-size:19px;}
}

/* ── Performance case study ── */
.perf-table-wrap{margin:24px 0 0;overflow-x:auto;border:1px solid var(--line);border-radius:16px;-webkit-overflow-scrolling:touch;}
.perf-table{width:100%;border-collapse:collapse;font-size:14px;min-width:660px;}
.perf-table th,.perf-table td{text-align:right;padding:13px 18px;border-bottom:1px solid var(--line);white-space:nowrap;}
.perf-table th:first-child,.perf-table td:first-child{text-align:left;}
.perf-table thead th{font-family:var(--mono);font-size:10px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);font-weight:500;background:var(--panel);position:sticky;top:0;}
.perf-table tbody tr:last-child td{border-bottom:0;}
.perf-table tr.grp td{font-family:var(--mono);font-size:10px;letter-spacing:.07em;text-transform:uppercase;color:var(--accent);background:var(--accent-soft);font-weight:500;text-align:left;padding-top:11px;padding-bottom:11px;}
.perf-table td.lab{font-weight:700;color:var(--ink);font-family:var(--mono);}
.perf-table td.num{font-variant-numeric:tabular-nums;color:var(--muted);}
.perf-table td.imp{font-weight:700;color:var(--signal-text);font-variant-numeric:tabular-nums;}
.perf-cap{font-size:12.5px;color:var(--muted);line-height:1.5;margin-top:12px;}

/* time-goes comparison bars */
.tgo{margin:22px 0 0;}
.tgo-row{margin-top:18px;}
.tgo-row:first-child{margin-top:0;}
.tgo-head{display:flex;justify-content:space-between;align-items:baseline;gap:14px;margin-bottom:8px;}
.tgo-label{font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);}
.tgo-time{font-weight:700;font-size:15px;color:var(--ink);font-variant-numeric:tabular-nums;flex:0 0 auto;}
.tgo-time.win{color:var(--signal-text);}
.tgo-track{position:relative;height:30px;border-radius:8px;background:var(--hair);overflow:hidden;}
.tgo-bar{position:absolute;left:0;top:0;bottom:0;border-radius:8px;}
.tgo-bar.wait{background:color-mix(in srgb,var(--muted) 52%,transparent);}
.tgo-bar.ghost{background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--muted) 26%,transparent) 0 7px,transparent 7px 14px);border-radius:0 8px 8px 0;}
.tgo-bar.fast{background:var(--signal);}
.tgo-axis{display:flex;justify-content:space-between;margin-top:10px;font-family:var(--mono);font-size:10px;letter-spacing:.04em;color:var(--muted);}
.tgo-note{font-size:12.5px;color:var(--muted);line-height:1.5;margin-top:14px;}

/* numbered findings */
.findings{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:16px;overflow:hidden;margin:24px 0 0;}
.finding{background:var(--panel);padding:24px 24px 26px;}
.finding .fn{font-family:var(--mono);font-size:12px;letter-spacing:.04em;color:var(--accent);font-weight:500;}
.finding h3{margin:11px 0 0;font-size:16px;line-height:1.25;}
.finding p{margin:8px 0 0;font-size:14.5px;color:var(--muted);line-height:1.55;}
@media(max-width:640px){.findings{grid-template-columns:1fr;}}


/* ════════════════ NAV · mobile menu ════════════════ */
html{color-scheme:light dark;}
html{overflow-x:clip;}
.navtog{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none;}
.navburger{display:none;width:44px;height:44px;border-radius:999px;border:1px solid var(--line);
  background:color-mix(in srgb,var(--panel) 80%,transparent);backdrop-filter:blur(10px);cursor:pointer;
  flex-direction:column;align-items:center;justify-content:center;gap:4px;}
.navburger span{display:block;width:18px;height:2px;background:var(--ink);border-radius:2px;}
.navscrim{display:none;}
.navsheet{display:none;}
.navsheet a{padding:13px 14px;border-radius:11px;font-size:16px;color:var(--ink);font-weight:500;}
.navsheet a:hover{background:var(--paper);}
.navsheet a.btn-blue{color:#fff;}
.navsheet a.btn-blue:hover{background:var(--blue-10);}
.navsheet a.is-active{background:var(--accent-soft);color:var(--ink);font-weight:700;
  box-shadow:inset 3px 0 0 var(--accent);}
@media(max-width:820px){
  .g-navpill .links{display:none;}
  .navbtn{display:none;}
  .navburger{display:flex;}
  .g-navright{background:none;border:0;padding:0;backdrop-filter:none;}
  .navscrim{position:fixed;inset:0;background:rgba(10,12,10,.45);z-index:48;}
  .navsheet{position:absolute;top:74px;left:16px;right:16px;z-index:49;background:var(--panel);
    border:1px solid var(--line);border-radius:18px;padding:14px;box-shadow:0 16px 40px -24px rgba(0,0,0,.28);
    flex-direction:column;gap:4px;}
  .navtog:checked ~ .navscrim{display:block;}
  .navtog:checked ~ .navsheet{display:flex;}
}

/* ════════════════ responsive utilities ════════════════ */
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
@media(max-width:760px){.two-col{grid-template-columns:1fr;}}
.book-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:54px;align-items:start;}
@media(max-width:900px){.book-grid{grid-template-columns:1fr;gap:34px;}}
.post-feat{display:grid;grid-template-columns:1.1fr 1fr;align-items:stretch;}
@media(max-width:760px){.post-feat{grid-template-columns:1fr;}}
.feat-two{display:grid;grid-template-columns:1fr 1fr;gap:22px;}
.feat-two .post-feat{grid-template-columns:1fr;}
@media(max-width:900px){.feat-two{grid-template-columns:1fr;}}

/* ════════════════ mobile polish ════════════════ */
@media(max-width:900px){
  .cmp-hrow,.cmp-row{grid-template-columns:minmax(0,1fr) 84px 128px;}
  .cmp-cell{padding:14px 12px;}
}
@media(max-width:640px){
  .container,.container-narrow{padding:0 20px;}
  .g-h1{font-size:clamp(34px,8.5vw,58px);}
  .sec,.demo-sec,.quote-sec{padding:48px 0;}
  .page-hero{padding:30px 0 24px;}
  .qcard{padding:34px 22px;}
  .ctacard{padding:52px 22px;}
  .cmp{padding:24px;}
  .fcard{padding:26px;min-height:0;}
  .frow-visual{padding:22px;min-height:0;}
  .frow-split{padding:30px 0;}
  .statband .sb{padding:24px 18px;}
  .statband .sbv{font-size:36px;}
  .fcard .bignum{font-size:60px;}
  .pq{font-size:clamp(22px,6vw,32px);}
  .cmp-hrow,.cmp-row{grid-template-columns:minmax(0,1fr) 48px 96px;}
  .cmp-feat{font-size:13px;padding:13px 8px 13px 0;line-height:1.3;}
  .cmp-cell{font-size:11px;padding:12px 8px;}
  .cmp-h{font-size:9.5px;}
  .cmp-h.basalt{font-size:11px;padding:10px 2px;}
  .cmp-dot{width:22px;height:22px;}
  .cmp-dot svg{width:12px;height:12px;}
  .tl-vis{position:static;}
  .tl-step{padding-bottom:5vh;}
}
@media(max-width:480px){
  .statband.four{grid-template-columns:1fr 1fr;}
  .footer-grid{grid-template-columns:1fr;}
}

/* footer responsive */
@media(max-width:640px){
  .footer-bottom{flex-direction:column;align-items:flex-start;gap:8px;}
}

/* ════════════════ PALETTE OPTIONS (temporary preview) ════════════════
   Swaps the accent/signal hues that theme the whole site. Placed BEFORE the
   dark-mode block so dark still wins when active. Default body = Sagebrush. */
html[data-palette="clay"] body{
  --paper:#f6f1e8; --panel:#fffcf6; --ink:#241c12; --muted:#6b5f4f;
  --line:#e7ddcb; --hair:#efe7d7;
  --signal:#bb6809; --blue-10:#9a5407; --signal-soft:#fbf0dd; --signal-text:#8a4d05;
  --accent:#8a4d05; --accent-fill:#e3c79a; --accent-soft:#f4e8d2; --accent-deep:#3a2a12;
  --sage-4:#e3d6bd;
  background:#f6f1e8; color:#241c12;
}
html[data-palette="cumberland"] body{
  --paper:#f4f6f5; --panel:#ffffff; --ink:#141414; --muted:#586068;
  --line:#e3e7e6; --hair:#edf0ef;
  --signal:#1548e0; --blue-10:#103dc4; --signal-soft:#e9effd; --signal-text:#1f43c4;
  --accent:#1f43c4; --accent-fill:#c9d6fb; --accent-soft:#e9effd; --accent-deep:#0e277a;
  --sage-4:#cdd9f7;
  background:#f4f6f5; color:#141414;
}

/* ════════════════ SCROLL ELEVATION / PARALLAX ════════════════ */
.fx-lift{will-change:transform;}
@media(prefers-reduced-motion:reduce){.fx-lift{will-change:auto;}}

/* hero illustration entrance — slide + fade in from the right on load.
   Resting state is fully visible, so print / reduced-motion show it. */
.hero-illustration{animation:heroAppearRight .85s cubic-bezier(.2,.7,.2,1) both;}
@keyframes heroAppearRight{from{opacity:0;transform:translateX(54px);}to{opacity:1;transform:none;}}
@media(prefers-reduced-motion:reduce){.hero-illustration{animation:none;}}

/* ════════════════ TEAM PHOTO — framed ════════════════ */
.film-frame{position:relative;width:100%;max-width:940px;margin:30px auto 30px;
  background:#121211;border-radius:4px;padding:18px 16px 26px;}
.film-frame .team-photo{display:block;width:100%;border-radius:2px;border:3px solid #000;}
.film-edge{margin-top:14px;text-align:center;font-family:var(--mono);font-size:11px;font-weight:500;
  letter-spacing:.22em;color:#e0a24e;}
@media(max-width:640px){
  .film-frame{padding:12px 10px 20px;}
}

/* ════════════════ "WHY WE EXIST" CUTOUT (B&W + grain, blue circle) ════════════════ */
.why-figure{position:relative;width:100%;min-height:340px;display:flex;align-items:center;justify-content:center;}
.why-circle{position:absolute;z-index:0;left:8%;right:8%;bottom:6%;height:14px;border-radius:0;background:var(--cumberland-blue);}
.why-img{position:relative;z-index:1;width:100%;max-width:480px;height:auto;display:block;
  filter:drop-shadow(0 16px 30px rgba(20,20,20,.12));}
@media(max-width:900px){
  .why-figure{min-height:300px;}
  .why-circle{height:11px;}
}

/* ════════════════ BEDROCK FULL-BLEED BAND ════════════════ */
.bedrock-band{position:relative;overflow:hidden;padding:104px 0;background:#0a0d12;}
.bedrock-bg{position:absolute;left:0;top:-11%;width:100%;height:122%;object-fit:cover;object-position:50% 6%;z-index:0;display:block;}
.bedrock-scrim{position:absolute;inset:0;z-index:1;
  background:linear-gradient(90deg, rgba(8,10,14,.92) 0%, rgba(8,10,14,.74) 46%, rgba(8,10,14,.32) 100%);}
.bedrock-band .container{position:relative;z-index:2;}
.bedrock-band-inner{max-width:620px;}
.bedrock-eyebrow{color:#5fb8a4;display:block;margin-bottom:16px;}
.bedrock-h{color:#fff;}
.bedrock-p{font-size:18px;line-height:1.62;color:#cdd4df;margin:18px 0 0;max-width:58ch;}
@media(max-width:640px){
  .bedrock-band{padding:72px 0;}
  .bedrock-scrim{background:linear-gradient(90deg, rgba(8,10,14,.9) 0%, rgba(8,10,14,.78) 100%);}
}

/* ════════════════ SIGNATURE HERO CUTOUT (duotone, blue baseline) ════════════════ */
.hero-photo-col{display:flex;align-items:flex-end;justify-content:center;min-height:380px;}
/* "How it works" header with fax cutout beside it */
.howhead{display:flex;align-items:center;justify-content:space-between;gap:36px;}
.howhead-text{flex:1;min-width:0;}
.howhead-fax{position:relative;width:300px;max-width:44%;flex:0 0 auto;display:flex;align-items:center;justify-content:center;margin-right:-96px;}
.howhead-fax-circle{position:absolute;top:-8%;right:-6%;width:72%;aspect-ratio:1;border-radius:50%;
  background:var(--cumberland-blue);z-index:0;
  animation:faxCircle .9s cubic-bezier(.2,.7,.2,1) .2s both;}
@keyframes faxCircle{from{opacity:0;transform:scale(.6);}to{opacity:1;transform:scale(1);}}
.howhead-fax-img{position:relative;z-index:1;width:100%;height:auto;display:block;
  filter:drop-shadow(0 12px 22px rgba(20,20,20,.1));
  animation:faxSlideIn .9s cubic-bezier(.2,.7,.2,1) .1s both;}
@keyframes faxSlideIn{from{opacity:0;transform:translateX(135%);}to{opacity:1;transform:none;}}
@media(prefers-reduced-motion:reduce){.howhead-fax-img{animation:none;}}
@media(max-width:760px){
  .howhead{flex-direction:column;align-items:flex-start;gap:20px;}
  .howhead-fax{width:200px;align-self:center;margin-right:0;}
}
.hero-cutout{position:relative;margin:0;width:100%;max-width:520px;display:flex;justify-content:center;
  animation:heroAppearRight .85s cubic-bezier(.2,.7,.2,1) both;}
.hero-cutout img{display:block;width:100%;height:auto;position:relative;z-index:2;
  filter:drop-shadow(0 16px 30px rgba(20,20,20,.1));}
/* the basalt-blue bottom line the figures stand on */
.hero-cutout .hc-baseline{position:absolute;left:0;right:0;bottom:0;height:16px;border-radius:0;z-index:1;
  background:var(--cumberland-blue);
  box-shadow:0 0 0 0 rgba(21,72,224,.4);
  transform-origin:center;animation:hcLine .8s cubic-bezier(.2,.7,.2,1) .5s both;}
@keyframes hcLine{from{transform:scaleX(0);opacity:0;}to{transform:scaleX(1);opacity:1;}}
/* blue circle behind a cutout (used where a flat baseline doesn't suit the shot) */
.hero-cutout .hc-circle{position:absolute;top:-4%;left:8%;width:52%;aspect-ratio:1;border-radius:50%;z-index:0;
  background:var(--cumberland-blue);
  animation:faxCircle .9s cubic-bezier(.2,.7,.2,1) .35s both;}
/* lift the cutout higher in its column */
.hero-photo-col--high{align-items:flex-start;}
.hero-photo-col--high .hero-cutout{margin-top:-54px;}
@media(max-width:900px){.hero-photo-col--high .hero-cutout{margin-top:0;}}
@media(prefers-reduced-motion:reduce){
  .hero-cutout{animation:none;}
  .hero-cutout .hc-baseline{animation:none;transform:none;opacity:1;}
}

/* ════════════════ THEME TOGGLE (top-right) ════════════════ */
.themetoggle{width:42px;height:42px;border-radius:999px;border:1px solid var(--line);
  background:color-mix(in srgb,var(--panel) 80%,transparent);backdrop-filter:blur(10px);color:var(--ink);
  cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;flex:0 0 auto;
  transition:border-color .15s,background .15s,transform .15s;}
.themetoggle:hover{border-color:var(--ink);}
.themetoggle:active{transform:scale(.94);}
.themetoggle svg{width:18px;height:18px;}
.themetoggle .ico-sun{display:none;}
.themetoggle .ico-moon{display:block;}
.logo-dark{display:none;}

.lab-flag{color:var(--amber-11);font-weight:600;}

/* ════════════════ CONSENT — banner, modal, footer link ════════════════ */
.consent-banner{position:fixed;left:16px;right:16px;bottom:16px;z-index:9998;
  background:color-mix(in srgb,var(--panel) 92%,transparent);backdrop-filter:blur(16px) saturate(1.2);
  border-radius:18px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.5),0 24px 60px -28px rgba(18,40,90,.5);
  transform:translateY(140%);opacity:0;transition:transform .42s cubic-bezier(.2,.7,.2,1),opacity .42s ease;}
.consent-banner.show{transform:none;opacity:1;}
.cb-body{max-width:1120px;margin:0 auto;padding:18px 22px;display:flex;align-items:center;gap:26px;flex-wrap:wrap;}
.cb-text{flex:1;min-width:260px;margin:0;font-size:14.5px;line-height:1.55;color:var(--ink);}
.cb-text a{color:var(--signal-text);text-decoration:underline;text-underline-offset:2px;}
.cb-actions{display:flex;gap:10px;flex-wrap:wrap;}
.cb-min{padding:11px 20px;font-size:14px;}
@media(max-width:620px){.cb-actions{width:100%;}.cb-min{flex:1;justify-content:center;}}

.consent-scrim{position:fixed;inset:0;z-index:9999;background:rgba(12,16,22,.5);backdrop-filter:blur(3px);
  display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;transition:opacity .24s ease;}
.consent-scrim.show{opacity:1;}
.consent-modal{position:relative;width:100%;max-width:520px;max-height:88vh;overflow:auto;
  background:var(--panel);border-radius:20px;padding:34px 34px 26px;
  box-shadow:0 30px 80px -30px rgba(18,40,90,.6);transform:translateY(12px) scale(.98);transition:transform .24s cubic-bezier(.2,.7,.2,1);}
.consent-scrim.show .consent-modal{transform:none;}
.cm-x{position:absolute;top:16px;right:16px;width:34px;height:34px;border:0;border-radius:9px;background:transparent;
  font-size:22px;line-height:1;color:var(--muted);cursor:pointer;}
.cm-x:hover{background:var(--gray-3);color:var(--ink);}
.cm-title{font-family:var(--display);font-weight:700;font-size:25px;letter-spacing:-.01em;color:var(--ink);margin:0 0 8px;}
.cm-sub{font-size:14.5px;line-height:1.55;color:var(--muted);margin:0 0 14px;}
.cm-gpc{font-size:13px;line-height:1.5;color:var(--signal-text);background:var(--signal-soft);
  border-radius:10px;padding:11px 13px;margin:0 0 18px;}
.cm-row{display:flex;align-items:flex-start;gap:18px;padding:16px 0;border-top:1px solid var(--line);}
.cm-rt{flex:1;}
.cm-rname{font-weight:700;font-size:15.5px;color:var(--ink);}
.cm-rdesc{font-size:13.5px;line-height:1.5;color:var(--muted);margin-top:3px;}
.cm-sw{flex:0 0 auto;width:44px;height:26px;border-radius:99px;background:var(--gray-6);position:relative;
  cursor:pointer;transition:background .18s;margin-top:2px;}
.cm-sw::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;
  background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.3);transition:transform .18s;}
.cm-sw[data-on="1"]{background:var(--signal);}
.cm-sw[data-on="1"]::after{transform:translateX(18px);}
.cm-sw[data-locked="1"]{opacity:.55;cursor:not-allowed;}
.cm-sw:focus-visible{outline:3px solid var(--signal-soft);outline-offset:2px;}
.cm-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:22px;flex-wrap:wrap;}
@media(max-width:480px){.cm-actions .btn{flex:1;justify-content:center;}}

/* footer "Your Privacy Choices" link + CPRA opt-out icon */
.fchoices{display:inline-flex;align-items:center;gap:7px;background:none;border:0;padding:0;cursor:pointer;
  font-family:var(--mono);font-size:11.5px;letter-spacing:.03em;color:#aeb8a3;transition:color .15s;}
.fchoices:hover{color:#fff;}
.fchoices .yp-ico{width:30px;height:14px;flex:0 0 auto;border-radius:3px;overflow:hidden;display:block;}
.plink{background:none;border:0;padding:0;font:inherit;color:var(--signal-text);text-decoration:underline;text-underline-offset:2px;cursor:pointer;}
.plink:hover{color:var(--blue-10);}
.form-notice{margin:14px 0 0;font-size:12px;line-height:1.5;color:var(--muted);text-align:left;}
.form-notice a{color:var(--signal-text);text-decoration:underline;text-underline-offset:2px;}

/* ════════════════ DARK MODE ════════════════
   Default follows system preference; a stored choice adds .dark or .light
   on <html> to override. */
@media (prefers-color-scheme: dark){
html:not(.light) body{--paper:#0f1311;--panel:#171c19;--ink:#eef2ea;--muted:#9aa39a;--line:#2a312c;--hair:#222823;--signal:#3566f0;--signal-soft:#152449;--signal-text:#9cb6ff;--accent:#86a9ef;--accent-fill:#22366a;--accent-soft:#152449;--accent-deep:#dbe6ff;--sage-2:#10141f;--sage-4:#27375e;background:#0f1311;color:#eef2ea;background-image:linear-gradient(rgba(130,160,235,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(130,160,235,.09) 1px,transparent 1px);background-size:27px 27px,27px 27px;background-attachment:fixed;}
html:not(.light) .g-herocard,html:not(.light) .frow-visual{background:linear-gradient(180deg,#1b211d,#141815);}
html:not(.light) .tl-vis{background:linear-gradient(180deg,rgba(40,48,58,.5),rgba(22,28,36,.32));box-shadow:inset 0 0 0 1px rgba(255,255,255,.1),0 18px 44px -34px rgba(0,0,0,.5);}
html:not(.light) .g-placeholder{background:repeating-linear-gradient(135deg,#181d1a,#181d1a 12px,#141815 12px,#141815 24px);border-color:#33402d;}
html:not(.light) .post .pimg,html:not(.light) .member .ava{background:repeating-linear-gradient(135deg,#181d1a,#181d1a 12px,#141815 12px,#141815 24px);border-color:#33402d;}
html:not(.light) .tl-card{background:#11150f;}
html:not(.light) .lab-flag{color:#eaa84a;}
html:not(.light) .tl-badge{background:#222823;color:#9aa39a;}
html:not(.light) .tl-step.active .tl-badge{background:var(--accent);color:#0f1311;}
html:not(.light) .cm-sw{background:#2a312c;}html:not(.light) .cm-sw[data-on="1"]{background:var(--signal);}html:not(.light) .cm-x:hover{background:#222823;}html:not(.light) .consent-banner{box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),0 24px 60px -28px rgba(0,0,0,.7);}
html:not(.light) .logo-light{display:none;}html:not(.light) .logo-dark{display:block;}
html:not(.light) .themetoggle .ico-sun{display:block;}html:not(.light) .themetoggle .ico-moon{display:none;}
}
html.dark body{--paper:#0f1311;--panel:#171c19;--ink:#eef2ea;--muted:#9aa39a;--line:#2a312c;--hair:#222823;--signal:#3566f0;--signal-soft:#152449;--signal-text:#9cb6ff;--accent:#86a9ef;--accent-fill:#22366a;--accent-soft:#152449;--accent-deep:#dbe6ff;--sage-2:#10141f;--sage-4:#27375e;background:#0f1311;color:#eef2ea;background-image:linear-gradient(rgba(130,160,235,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(130,160,235,.09) 1px,transparent 1px);background-size:27px 27px,27px 27px;background-attachment:fixed;}
html.dark .g-herocard,html.dark .frow-visual{background:linear-gradient(180deg,#1b211d,#141815);}
html.dark .tl-vis{background:linear-gradient(180deg,rgba(40,48,58,.5),rgba(22,28,36,.32));box-shadow:inset 0 0 0 1px rgba(255,255,255,.1),0 18px 44px -34px rgba(0,0,0,.5);}
html.dark .g-placeholder{background:repeating-linear-gradient(135deg,#181d1a,#181d1a 12px,#141815 12px,#141815 24px);border-color:#33402d;}
html.dark .post .pimg,html.dark .member .ava{background:repeating-linear-gradient(135deg,#181d1a,#181d1a 12px,#141815 12px,#141815 24px);border-color:#33402d;}
html.dark .tl-card{background:#11150f;}
html.dark .lab-flag{color:#eaa84a;}
html.dark .tl-badge{background:#222823;color:#9aa39a;}
html.dark .tl-step.active .tl-badge{background:var(--accent);color:#0f1311;}
html.dark .cm-sw{background:#2a312c;}html.dark .cm-sw[data-on="1"]{background:var(--signal);}html.dark .cm-x:hover{background:#222823;}html.dark .consent-banner{box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),0 24px 60px -28px rgba(0,0,0,.7);}
html.dark .logo-light{display:none;}html.dark .logo-dark{display:block;}
html.dark .themetoggle .ico-sun{display:block;}html.dark .themetoggle .ico-moon{display:none;}
html.light .themetoggle .ico-sun{display:none;}
html.light .themetoggle .ico-moon{display:block;}

/* doc-mini usable outside .fcard (e.g. solution capabilities visuals) */
.doc-mini{display:flex;flex-direction:column;gap:9px;}
.frow-visual .dm-row,.doc-mini .dm-row{display:flex;align-items:center;gap:11px;background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:11px 14px;}
.dm-ic{width:30px;height:30px;border-radius:8px;background:var(--accent-soft);color:var(--accent);display:flex;align-items:center;justify-content:center;flex:0 0 auto;}
.dm-ic svg{width:16px;height:16px;display:block;}
.dm-t{font-size:13.5px;color:var(--ink);font-weight:600;}
.dm-d{font-size:11.5px;color:var(--muted);}

/* ════════════════ WEBINAR PROMO POPUP ════════════════ */
.wpop-backdrop{position:fixed;inset:0;z-index:400;display:flex;align-items:center;justify-content:center;
  padding:24px;background:rgba(15,19,17,0);transition:background .26s ease;}
.wpop-backdrop.in{background:rgba(15,19,17,.46);}
.wpop{position:relative;width:100%;max-width:440px;background:var(--panel);border:1px solid var(--line);
  border-radius:22px;padding:34px 32px 30px;box-shadow:0 26px 60px -34px rgba(0,0,0,.3);
  opacity:0;transform:translateY(16px) scale(.97);transition:opacity .26s ease,transform .26s cubic-bezier(.2,.7,.2,1);}
.wpop-backdrop.in .wpop{opacity:1;transform:none;}
.wpop-close{position:absolute;top:14px;right:14px;width:34px;height:34px;border-radius:50%;border:1px solid var(--line);
  background:var(--paper);color:var(--muted);display:flex;align-items:center;justify-content:center;cursor:pointer;
  transition:color .15s,border-color .15s;}
.wpop-close:hover{color:var(--ink);border-color:var(--ink);}
.wpop-close svg{width:15px;height:15px;}
.wpop-badge{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;font-family:var(--mono);font-size:11px;
  letter-spacing:.12em;text-transform:uppercase;color:var(--signal-text);background:var(--signal-soft);
  border-radius:999px;padding:6px 13px;}
.wpop-badge .dotlive{width:7px;height:7px;border-radius:50%;background:var(--signal);}
.wpop-title{font-family:var(--serif);font-weight:600;font-size:28px;letter-spacing:-.02em;line-height:1.1;
  color:var(--ink);margin:16px 0 0;}
.wpop-sub{font-size:14.5px;line-height:1.55;color:var(--muted);margin:10px 0 0;}
.wpop-meta{display:flex;align-items:center;gap:12px;margin-top:16px;font-family:var(--mono);font-size:12.5px;color:var(--ink);}
.wpop-meta span{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;}
.wpop-meta svg{width:15px;height:15px;color:var(--accent);}
.wpop-dot{width:4px;height:4px;border-radius:50%;background:var(--gray-6);}
.wpop-avatars{display:flex;margin-top:18px;}
.wpop-avatars img{width:42px;height:42px;border-radius:50%;object-fit:cover;border:2px solid var(--panel);
  background:var(--gray-3);margin-left:-10px;}
.wpop-avatars img:first-child{margin-left:0;}
.wpop-cta{display:flex;gap:10px;margin-top:22px;flex-wrap:wrap;}
.wpop-cta .btn{flex:1;justify-content:center;white-space:nowrap;}
@media(prefers-reduced-motion:reduce){
  .wpop{transition:none;opacity:1;transform:none;}
  .wpop-backdrop{transition:none;}
}
@media(max-width:460px){
  .wpop{padding:30px 22px 24px;}
  .wpop-title{font-size:24px;}
}
