/* ================================================================
   QCA Ventures — shared design system (Keep Pivoting concept redesign)
   Extracted from the CP2-approved storyboard. Dark-purple brand.
   Self-contained: system fonts, no external hosts.
   ================================================================ */

/* ============ TOKENS ============ */
:root{
  --ink:#0c0710;
  --bg:#0c0710;
  --purple:#5b038c;
  --purple-bright:#6d04a7;
  --purple-deep:#330170;
  --purple-muted:#8567a9;
  --paper:#ffffff;
  --text:#f4eff8;
  --text-dim:#b7a9c6;
  --line:rgba(244,239,248,.14);
  --gutter:clamp(20px, 6vw, 120px);
  --section-pad:clamp(72px, 10vw, 150px);
  --h1:clamp(2.6rem, 6vw, 5rem);
  --h2:clamp(1.8rem, 3.4vw, 2.8rem);
  --h3:clamp(1.15rem, 1.8vw, 1.4rem);
  --body:clamp(1rem, 1.1vw, 1.125rem);
  --small:clamp(.8rem, .9vw, .875rem);
  --micro:.72rem;
  --sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion: reduce){ html{scroll-behavior:auto} }
body{
  background:var(--bg);
  color:var(--text);
  font-family:var(--sans);
  font-size:var(--body);
  line-height:1.6;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  padding-bottom:40px; /* room for the fixed concept-disclaimer strip */
}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3{font-weight:600;line-height:1.12;letter-spacing:-.02em}
.wrap{padding-left:var(--gutter);padding-right:var(--gutter);max-width:1480px;margin:0 auto}
section{padding-top:var(--section-pad);padding-bottom:var(--section-pad)}
.eyebrow{
  font-size:var(--micro);letter-spacing:.22em;text-transform:uppercase;
  color:var(--text-dim);display:flex;align-items:center;gap:14px;margin-bottom:28px;
}
.eyebrow::before{content:"";display:inline-block;width:34px;height:1px;background:var(--purple-muted)}
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ============ NAV ============ */
.nav{
  position:sticky;top:0;z-index:100;
  background:rgba(12,7,16,.86);backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.nav-inner{
  display:flex;align-items:center;justify-content:space-between;gap:24px;
  padding-top:16px;padding-bottom:16px;
}
.nav-logo img{width:auto;height:30px}
.nav-links{display:flex;gap:clamp(14px,2vw,30px);list-style:none;flex-wrap:nowrap;align-items:center}
.nav-links a{
  font-size:var(--small);letter-spacing:.04em;color:var(--text-dim);
  transition:color .2s ease;white-space:nowrap;
}
.nav-links a:hover,.nav-links a[aria-current="page"]{color:var(--paper)}
.nav-links a[aria-current="page"]{border-bottom:1px solid var(--purple-muted);padding-bottom:2px}
.btn{
  display:inline-block;padding:12px 24px;font-size:var(--small);font-weight:600;
  letter-spacing:.05em;border:1px solid transparent;cursor:pointer;
  transition:background .2s ease,color .2s ease,border-color .2s ease;white-space:nowrap;
}
.btn-solid{background:var(--purple);color:#fff}
.btn-solid:hover{background:var(--purple-bright)}
.btn-ghost{border-color:var(--line);color:var(--text)}
.btn-ghost:hover{border-color:var(--purple-muted);color:#fff}
.nav-cta{display:inline-block}
/* mobile nav toggle */
.nav-toggle{
  display:none;appearance:none;border:1px solid var(--line);background:rgba(12,7,16,.5);
  color:var(--text);width:44px;height:40px;cursor:pointer;align-items:center;justify-content:center;
  flex-direction:column;gap:4px;padding:0;
}
.nav-toggle span{display:block;width:20px;height:2px;background:currentColor;transition:transform .2s ease,opacity .2s ease}
@media (max-width:900px){
  .nav-links{
    display:none;position:absolute;left:0;right:0;top:100%;
    flex-direction:column;align-items:flex-start;gap:0;
    background:rgba(12,7,16,.98);border-bottom:1px solid var(--line);
    padding:8px var(--gutter) 20px;
  }
  .nav.open .nav-links{display:flex}
  .nav-links li{width:100%}
  .nav-links a{display:block;padding:14px 0;font-size:1rem;width:100%;border-bottom:1px solid var(--line)}
  .nav-links a[aria-current="page"]{border-bottom:1px solid var(--line)}
  .nav-toggle{display:flex}
  .nav-cta{display:none}
  .nav.open .nav-toggle span:nth-child(1){transform:translateY(6px) rotate(45deg)}
  .nav.open .nav-toggle span:nth-child(2){opacity:0}
  .nav.open .nav-toggle span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
}

/* ============ HERO (home) ============ */
.hero{
  position:relative;min-height:90vh;display:flex;align-items:center;
  padding-top:clamp(96px,13vw,168px);padding-bottom:clamp(72px,9vw,128px);
  overflow:hidden;
}
.hero::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(ellipse 62% 58% at 88% 22%, rgba(109,4,167,.40), transparent 62%),
    radial-gradient(ellipse 54% 46% at 12% 88%, rgba(51,1,112,.46), transparent 70%),
    radial-gradient(ellipse 90% 70% at 50% 120%, rgba(91,3,140,.20), transparent 72%);
}
.hero::after{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;
  background:
    linear-gradient(rgba(255,255,255,.028) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.028) 1px, transparent 1px);
  background-size:clamp(46px,5vw,76px) clamp(46px,5vw,76px);
  -webkit-mask-image:radial-gradient(ellipse 80% 70% at 30% 40%, #000 30%, transparent 78%);
  mask-image:radial-gradient(ellipse 80% 70% at 30% 40%, #000 30%, transparent 78%);
}
.hero-inner{
  position:relative;width:100%;
  display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);
  gap:clamp(30px,4.5vw,68px);align-items:center;
}
@media (max-width:920px){ .hero-inner{grid-template-columns:1fr;gap:clamp(38px,8vw,52px)} }
.hero-copy{min-width:0}
.hero h1{font-size:var(--h1);color:var(--paper);max-width:15ch}
.hero h1 .disrupt{position:relative;white-space:nowrap;color:#fff}
.hero h1 .disrupt::after{
  content:"";position:absolute;left:0;right:0;bottom:.06em;height:2px;
  background:linear-gradient(90deg, #fff 0%, var(--purple-muted) 60%, transparent 100%);
  transform-origin:left center;
}
html.js:not(.static) .hero h1 .disrupt::after{transform:scaleX(0);transition:transform 1s cubic-bezier(.2,.7,.2,1) .5s}
html.js:not(.static) .hero.in h1 .disrupt::after{transform:scaleX(1)}
.hero-sub{
  margin-top:24px;font-size:clamp(1.08rem,1.5vw,1.3rem);color:var(--text-dim);
  max-width:46ch;line-height:1.55;
}
.hero-ctas{margin-top:36px;display:flex;gap:14px;flex-wrap:wrap}
.hero-proof{
  margin-top:clamp(38px,5vw,56px);padding-top:24px;border-top:1px solid var(--line);
  display:flex;align-items:center;gap:12px 18px;flex-wrap:wrap;
  font-size:var(--small);color:var(--text-dim);letter-spacing:.02em;
}
.hero-proof span{display:inline-flex;align-items:baseline;gap:7px}
.hero-proof strong{color:var(--paper);font-weight:700;font-variant-numeric:tabular-nums}
.hero-proof .dot{color:var(--purple-muted);opacity:.7}

/* --- signature leverage ledger --- */
.hero-ledger{
  position:relative;min-width:0;
  border:1px solid var(--line);background:rgba(6,3,12,.42);
  backdrop-filter:blur(4px);
  padding:clamp(22px,2.6vw,32px);
}
.hero-ledger::before{
  content:"";position:absolute;left:-1px;top:-1px;width:44px;height:44px;
  border-top:2px solid var(--purple-muted);border-left:2px solid var(--purple-muted);
  opacity:.75;
}
.hl-label{
  font-size:var(--micro);letter-spacing:.2em;text-transform:uppercase;
  color:var(--text-dim);margin-bottom:20px;
}
.hl-lev-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.hl-lev-a,.hl-lev-b{font-weight:700;letter-spacing:-.02em;color:#fff;line-height:1}
.hl-lev-a{font-size:clamp(1.3rem,2.4vw,1.7rem)}
.hl-lev-b{font-size:clamp(1.9rem,3.6vw,2.7rem);text-shadow:0 0 26px rgba(160,90,220,.4)}
.hl-lev-tag{font-size:var(--micro);letter-spacing:.14em;text-transform:uppercase;color:var(--text-dim)}
.hl-bar{
  position:relative;height:clamp(30px,3.4vw,40px);margin:10px 0;
  border:1px solid rgba(255,255,255,.16);background:rgba(0,0,0,.3);overflow:hidden;
}
.hl-bar::before{
  content:"";position:absolute;inset:0;transform-origin:left center;
  background:
    repeating-linear-gradient(90deg, rgba(255,255,255,.14) 0, rgba(255,255,255,.14) 1px, transparent 1px, transparent 8px),
    linear-gradient(90deg, #fff 0%, #fff 12.8%, rgba(180,120,235,.55) 12.8%, rgba(120,60,180,.28) 100%);
}
.hl-bar-seed{position:absolute;top:0;bottom:0;left:12.8%;width:2px;background:#fff;opacity:.9;z-index:2}
html.js:not(.static) .hero-ledger .hl-bar::before{transform:scaleX(.128);transition:transform 1.5s cubic-bezier(.16,.84,.28,1) .3s}
html.js:not(.static) .hero.in .hl-bar::before{transform:scaleX(1)}
.hl-x{
  margin-top:22px;padding-top:20px;border-top:1px solid var(--line);
  display:flex;align-items:center;gap:14px;
}
.hl-x-num{
  font-size:clamp(1.9rem,3.4vw,2.6rem);font-weight:700;color:#fff;letter-spacing:-.02em;
  line-height:1;white-space:nowrap;
}
.hl-x-cap{font-size:var(--small);color:var(--text-dim);line-height:1.45}
.hl-x-cap b{color:var(--paper);font-weight:600}
.hl-foot{
  margin-top:20px;padding-top:16px;border-top:1px solid var(--line);
  display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;
  font-size:var(--micro);letter-spacing:.06em;color:var(--text-dim);text-transform:uppercase;
}
.hl-foot b{color:var(--paper);font-weight:700;font-size:1.05em}
@media (max-width:920px){
  .hero-ledger{max-width:520px}
}

/* ============ SUBPAGE HERO ============ */
.subhero{
  position:relative;overflow:hidden;
  padding-top:clamp(84px,12vw,150px);padding-bottom:clamp(48px,7vw,96px);
  border-bottom:1px solid var(--line);
}
.subhero::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(ellipse 60% 60% at 82% 8%, rgba(109,4,167,.34), transparent 64%),
    radial-gradient(ellipse 54% 52% at 6% 100%, rgba(51,1,112,.40), transparent 72%);
}
.subhero .wrap{position:relative}
.subhero h1{font-size:var(--h1);color:var(--paper);max-width:20ch}
.subhero-sub{margin-top:22px;font-size:clamp(1.05rem,1.5vw,1.28rem);color:var(--text-dim);max-width:60ch;line-height:1.55}
.subhero-ctas{margin-top:34px;display:flex;gap:14px;flex-wrap:wrap}

/* ============ MULTIPLIER (signature) ============ */
.multiplier{
  background:linear-gradient(160deg, var(--purple-deep) 0%, var(--purple) 78%, var(--purple-bright) 100%);
  border-top:1px solid rgba(255,255,255,.1);
  border-bottom:1px solid rgba(255,255,255,.1);
}
.multiplier .eyebrow{color:rgba(255,255,255,.72)}
.multiplier .eyebrow::before{background:rgba(255,255,255,.45)}
.multiplier h2{font-size:var(--h2);color:#fff;max-width:24ch}
.word-multiplies{
  display:inline-block;font-weight:700;letter-spacing:.12em;color:#fff;
  text-shadow:0 0 24px rgba(255,255,255,.35);
}
html.js:not(.static) .word-multiplies{letter-spacing:-.02em;text-shadow:none;transition:letter-spacing 1.2s cubic-bezier(.2,.7,.2,1), text-shadow 1.2s ease}
html.js:not(.static) .in .word-multiplies{letter-spacing:.12em;text-shadow:0 0 24px rgba(255,255,255,.35)}
.mult-lede{margin-top:18px;color:rgba(255,255,255,.82);max-width:58ch;font-size:var(--body)}
.mult-viz{margin-top:clamp(40px,5vw,64px)}
.mult-row{margin-bottom:34px}
.mult-label{
  display:flex;justify-content:space-between;align-items:baseline;gap:16px;
  font-size:var(--small);letter-spacing:.06em;text-transform:uppercase;
  color:rgba(255,255,255,.75);margin-bottom:10px;flex-wrap:wrap;
}
.mult-label .val{font-size:clamp(1.3rem,2.6vw,2rem);font-weight:700;color:#fff;letter-spacing:-.01em;text-transform:none}
.bar-track{height:clamp(34px,4.5vw,54px);background:rgba(0,0,0,.28);border:1px solid rgba(255,255,255,.16);position:relative;overflow:hidden}
.bar-fill{position:absolute;inset:0;transform-origin:left center}
.bar-seed .bar-fill{width:12.8%;background:#fff}
.bar-synd .bar-fill{
  width:100%;
  background:
    repeating-linear-gradient(90deg, rgba(255,255,255,.16) 0, rgba(255,255,255,.16) 1px, transparent 1px, transparent 9px),
    linear-gradient(90deg, #fff 0%, #fff 12.8%, rgba(255,255,255,.4) 12.8%, rgba(255,255,255,.22) 100%);
}
html.js:not(.static) .bar-synd .bar-fill{transform:scaleX(.128);transition:transform 1.6s cubic-bezier(.16,.84,.28,1)}
html.js:not(.static) .in .bar-synd .bar-fill{transform:scaleX(1)}
.bar-seed-mark{position:absolute;top:-6px;bottom:-6px;left:12.8%;width:2px;background:#fff;opacity:.9}
.bar-note{margin-top:8px;font-size:var(--micro);letter-spacing:.08em;color:rgba(255,255,255,.62);text-transform:uppercase}
.dollar-row{
  display:flex;align-items:center;gap:clamp(10px,2vw,22px);flex-wrap:wrap;
  margin-top:clamp(36px,4vw,54px);padding:clamp(20px,3vw,32px);
  border:1px solid rgba(255,255,255,.2);background:rgba(0,0,0,.22);
}
.dollar-unit{
  width:clamp(38px,5vw,54px);height:clamp(48px,6.4vw,68px);
  display:flex;align-items:center;justify-content:center;
  font-weight:700;font-size:clamp(1rem,1.6vw,1.3rem);
  border:1px solid rgba(255,255,255,.55);color:#fff;
}
.dollar-unit.you{background:#fff;color:var(--purple-deep);border-color:#fff}
.dollar-arrow{font-size:clamp(1.3rem,2.4vw,1.8rem);color:rgba(255,255,255,.85);font-weight:300}
.dollar-caption{flex-basis:100%;margin-top:10px;font-size:var(--small);color:rgba(255,255,255,.8)}
.dollar-caption strong{color:#fff}
html.js:not(.static) .dollar-unit.co{opacity:0;transform:translateY(8px);transition:opacity .5s ease,transform .5s ease}
html.js:not(.static) .in .dollar-unit.co{opacity:1;transform:none}
html.js:not(.static) .in .dollar-unit.co:nth-of-type(3){transition-delay:.1s}
html.js:not(.static) .in .dollar-unit.co:nth-of-type(4){transition-delay:.2s}
html.js:not(.static) .in .dollar-unit.co:nth-of-type(5){transition-delay:.3s}
html.js:not(.static) .in .dollar-unit.co:nth-of-type(6){transition-delay:.4s}
html.js:not(.static) .in .dollar-unit.co:nth-of-type(7){transition-delay:.5s}
html.js:not(.static) .in .dollar-unit.co:nth-of-type(8){transition-delay:.6s}
html.js:not(.static) .in .dollar-unit.co:nth-of-type(9){transition-delay:.7s}
.density{margin-top:clamp(36px,4vw,54px)}
.density-band{
  height:44px;border:1px solid rgba(255,255,255,.2);
  background:
    repeating-linear-gradient(90deg,
      rgba(255,255,255,.85) 0, rgba(255,255,255,.85) 1px,
      transparent 1px, transparent calc(100% / 375));
  background-size:100% 55%;background-position:center;background-repeat:no-repeat;
}
.density-caption{
  display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;
  margin-top:10px;font-size:var(--small);color:rgba(255,255,255,.78);
}
.density-caption b{color:#fff}
.mult-calc{
  margin-top:clamp(40px,5vw,60px);padding:clamp(22px,3vw,34px);
  background:rgba(0,0,0,.3);border:1px solid rgba(255,255,255,.2);
}
.mult-calc-head{display:flex;justify-content:space-between;align-items:center;gap:16px 24px;flex-wrap:wrap;margin-bottom:22px}
.mult-calc-title{font-size:var(--small);letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.72)}
.pov-toggle{
  display:inline-flex;gap:4px;padding:4px;
  border:1px solid rgba(255,255,255,.22);background:rgba(0,0,0,.32);
}
.pov-btn{
  appearance:none;border:0;cursor:pointer;font:inherit;
  padding:9px 18px;font-size:var(--small);font-weight:600;letter-spacing:.02em;
  color:rgba(255,255,255,.66);background:transparent;
  transition:color .2s ease, background .2s ease;white-space:nowrap;
}
.pov-btn:hover{color:#fff}
.pov-btn.is-active{background:#fff;color:var(--purple-deep)}
.calc-grid{display:grid;grid-template-columns:1fr auto;gap:22px 36px;align-items:center}
@media (max-width:680px){ .calc-grid{grid-template-columns:1fr} }
.calc-grid input[type=range]{width:100%;accent-color:#fff;cursor:pointer;margin-top:4px}
.calc-ticks{display:flex;justify-content:space-between;margin-top:6px;font-size:var(--micro);letter-spacing:.08em;color:rgba(255,255,255,.55)}
.calc-readout{font-size:clamp(1.05rem,1.5vw,1.25rem);color:rgba(255,255,255,.82);line-height:1.5}
.calc-readout strong{display:block;color:#fff;font-size:clamp(1.7rem,3.2vw,2.4rem);font-weight:700;letter-spacing:-.02em;margin:4px 0;font-variant-numeric:tabular-nums;text-shadow:0 0 26px rgba(255,255,255,.22)}
.calc-x{color:rgba(255,255,255,.7);font-size:var(--small)}
.calc-in-label{font-size:clamp(1rem,1.3vw,1.15rem);color:rgba(255,255,255,.82);margin-bottom:2px;line-height:1.5}
.calc-in-label output{color:#fff;font-weight:700;font-size:1.05em;font-variant-numeric:tabular-nums}
.calc-foot{margin-top:20px;padding-top:16px;border-top:1px solid rgba(255,255,255,.14);font-size:var(--micro);letter-spacing:.04em;color:rgba(255,255,255,.6)}

/* ============ STATS BAND ============ */
.stats{border-bottom:1px solid var(--line)}
.stats-grid{
  display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--line);
  border:1px solid var(--line);
}
@media (max-width:980px){ .stats-grid{grid-template-columns:repeat(3,1fr)} }
@media (max-width:560px){ .stats-grid{grid-template-columns:repeat(2,1fr)} }
.stat{background:var(--bg);padding:clamp(24px,3vw,44px) clamp(16px,2vw,32px)}
.stat .n{
  font-size:clamp(2rem,4.2vw,3.4rem);font-weight:700;color:var(--paper);
  letter-spacing:-.03em;line-height:1;font-variant-numeric:tabular-nums;
}
.stat .l{margin-top:10px;font-size:var(--micro);letter-spacing:.16em;text-transform:uppercase;color:var(--text-dim)}
.stats-footline{margin-top:26px;font-size:var(--small);color:var(--text-dim);max-width:70ch}

/* ============ MISSION ============ */
.mission-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:clamp(32px,5vw,90px)}
@media (max-width:880px){ .mission-grid{grid-template-columns:1fr} }
.mission h2{font-size:var(--h2);color:var(--paper);max-width:22ch}
.mission-quote{
  margin-top:26px;font-size:clamp(1.05rem,1.5vw,1.25rem);color:var(--text-dim);
  line-height:1.65;max-width:56ch;
}
.mission-tag{
  margin-top:30px;display:inline-block;font-size:var(--small);letter-spacing:.14em;
  text-transform:uppercase;color:var(--purple-muted);border:1px solid var(--line);
  padding:10px 18px;
}
.values{list-style:none;border-top:1px solid var(--line);counter-reset:v}
.values li{
  padding:18px 0;border-bottom:1px solid var(--line);
  font-size:var(--body);color:var(--text);display:flex;gap:14px;align-items:baseline;
}
.values li::before{content:counter(v, decimal-leading-zero);counter-increment:v;font-size:var(--micro);color:var(--purple-muted);letter-spacing:.1em}
.values-head{font-size:var(--micro);letter-spacing:.2em;text-transform:uppercase;color:var(--text-dim);margin-bottom:16px}

/* ============ VERTICALS / CARD GRID ============ */
.verticals{background:linear-gradient(180deg, transparent, rgba(51,1,112,.28) 55%, transparent)}
.vert-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,1.6vw,24px);margin-top:clamp(36px,4vw,56px)}
@media (max-width:880px){ .vert-grid{grid-template-columns:1fr} }
.vert-card{
  border:1px solid var(--line);padding:clamp(24px,3vw,40px);
  background:rgba(12,7,16,.5);
  transition:border-color .25s ease, background .25s ease, transform .25s ease;
}
.vert-card:hover{border-color:var(--purple-muted);background:rgba(51,1,112,.3);transform:translateY(-4px)}
@media (prefers-reduced-motion: reduce){ .vert-card:hover{transform:none} }
.vert-num{font-size:var(--micro);letter-spacing:.18em;color:var(--purple-muted)}
.vert-card h3{font-size:var(--h3);color:var(--paper);margin-top:14px}
.vert-card p{margin-top:12px;font-size:var(--small);color:var(--text-dim);line-height:1.7}
.vert-card ul{margin-top:14px;list-style:none;display:flex;flex-wrap:wrap;gap:6px}
.vert-card ul li{font-size:var(--micro);letter-spacing:.04em;color:var(--text-dim);border:1px solid var(--line);padding:5px 10px}

/* ============ PORTFOLIO ============ */
.portfolio h2{font-size:var(--h2);color:var(--paper)}
.pf-index{
  margin-top:clamp(36px,4vw,56px);border-top:1px solid var(--line);
  display:grid;grid-template-columns:repeat(3,1fr);
  column-gap:clamp(20px,3vw,60px);list-style:none;
}
@media (max-width:880px){ .pf-index{grid-template-columns:repeat(2,1fr)} }
@media (max-width:520px){ .pf-index{grid-template-columns:1fr} }
.pf-index li{border-bottom:1px solid var(--line)}
.pf-index li a,.pf-index li span.pf-plain{
  display:block;padding:13px 2px;
  font-size:var(--small);color:var(--text-dim);letter-spacing:.02em;
  transition:color .2s ease,padding-left .2s ease;
}
.pf-index li a{cursor:pointer}
.pf-index li a::after{content:" \2197";color:var(--purple-muted);opacity:0;transition:opacity .2s ease}
.pf-index li a:hover{color:var(--paper);padding-left:10px}
.pf-index li a:hover::after{opacity:.8}
@media (prefers-reduced-motion: reduce){ .pf-index li a:hover{padding-left:2px} }
.pf-note{margin-top:22px;font-size:var(--micro);letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim)}

/* ============ TEAM ============ */
.team{background:linear-gradient(180deg, rgba(51,1,112,.22), transparent 60%)}
.team h2{font-size:var(--h2);color:var(--paper)}
.team-intro{margin-top:14px;color:var(--text-dim);font-size:var(--body);max-width:60ch}
.team-grid{
  margin-top:clamp(36px,4vw,56px);
  display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(14px,1.8vw,26px);
}
@media (max-width:980px){ .team-grid{grid-template-columns:repeat(3,1fr)} }
@media (max-width:680px){ .team-grid{grid-template-columns:repeat(2,1fr)} }
.member{border:1px solid var(--line);background:rgba(12,7,16,.55);transition:border-color .25s ease}
a.member:hover{border-color:var(--purple-muted)}
.member-photo{aspect-ratio:4/5;overflow:hidden;background:var(--purple-deep)}
.member-photo img{
  width:100%;height:100%;object-fit:cover;object-position:top center;
  filter:grayscale(35%) contrast(1.02);
  transition:filter .35s ease, transform .35s ease;
}
.member:hover .member-photo img{filter:grayscale(0%);transform:scale(1.03)}
@media (prefers-reduced-motion: reduce){ .member:hover .member-photo img{transform:none} }
.member-meta{padding:14px 16px 18px}
.member-meta .name{font-size:var(--small);font-weight:600;color:var(--paper)}
.member-meta .role{margin-top:4px;font-size:var(--micro);letter-spacing:.06em;color:var(--text-dim);line-height:1.5}
.member-meta .li{margin-top:8px;font-size:var(--micro);letter-spacing:.08em;text-transform:uppercase;color:var(--purple-muted)}
a.member:hover .member-meta .li{color:var(--paper)}
.team-collective{
  margin-top:clamp(28px,3vw,44px);border:1px solid var(--line);
  padding:clamp(20px,3vw,32px);display:flex;gap:clamp(18px,4vw,60px);
  align-items:center;flex-wrap:wrap;background:rgba(51,1,112,.2);
}
.team-collective .big{font-size:clamp(1.8rem,3.4vw,2.6rem);font-weight:700;color:var(--paper);letter-spacing:-.02em}
.team-collective p{font-size:var(--small);color:var(--text-dim);max-width:52ch}

/* ============ PROGRAMS / MEMBERSHIP ============ */
.programs{background:linear-gradient(160deg, var(--purple-deep), var(--purple) 90%);border-top:1px solid rgba(255,255,255,.1)}
.programs .eyebrow{color:rgba(255,255,255,.72)}
.programs .eyebrow::before{background:rgba(255,255,255,.45)}
.programs h2{font-size:var(--h2);color:#fff;max-width:26ch}
.prog-grid{
  margin-top:clamp(36px,4vw,56px);
  display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.18);
  border:1px solid rgba(255,255,255,.18);
}
@media (max-width:980px){ .prog-grid{grid-template-columns:repeat(2,1fr)} }
@media (max-width:560px){ .prog-grid{grid-template-columns:1fr} }
.prog{background:rgba(23,2,50,.88);padding:clamp(22px,3vw,34px)}
.prog h3{font-size:1.05rem;color:#fff}
.prog p{margin-top:10px;font-size:var(--small);color:rgba(255,255,255,.72);line-height:1.65}
.membership{
  margin-top:clamp(28px,3vw,44px);display:flex;justify-content:space-between;
  align-items:center;gap:24px;flex-wrap:wrap;
  border:1px solid rgba(255,255,255,.24);padding:clamp(22px,3vw,36px);
  background:rgba(0,0,0,.24);
}
.membership .m-copy h3{color:#fff;font-size:var(--h3)}
.membership .m-copy p{margin-top:8px;font-size:var(--small);color:rgba(255,255,255,.75);max-width:56ch}
.membership .btn-solid{background:#fff;color:var(--purple-deep)}
.membership .btn-solid:hover{background:var(--text)}

/* ============ GENERIC CONTENT / PROSE ============ */
.prose h2{font-size:var(--h2);color:var(--paper);margin-top:0}
.prose h3{font-size:var(--h3);color:var(--paper);margin-top:clamp(30px,4vw,48px)}
.prose p{margin-top:18px;color:var(--text-dim);max-width:68ch;line-height:1.7;font-size:var(--body)}
.prose p strong,.prose li strong{color:var(--paper);font-weight:600}
.prose ul{margin-top:18px;padding-left:0;list-style:none;max-width:68ch}
.prose ul li{position:relative;padding-left:22px;margin-top:12px;color:var(--text-dim);line-height:1.65}
.prose ul li::before{content:"";position:absolute;left:0;top:.65em;width:8px;height:1px;background:var(--purple-muted)}
.prose a{color:var(--purple-muted);text-decoration:underline;text-underline-offset:2px}
.prose a:hover{color:var(--paper)}
.lead{font-size:clamp(1.1rem,1.6vw,1.35rem);color:var(--text);line-height:1.6;max-width:64ch}

/* two-column content grid */
.split{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(32px,5vw,80px);align-items:start}
@media (max-width:880px){ .split{grid-template-columns:1fr} }
.split-narrow{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,4vw,64px);align-items:start}
@media (max-width:820px){ .split-narrow{grid-template-columns:1fr} }

/* numbered process steps */
.steps{margin-top:clamp(36px,4vw,56px);border-top:1px solid var(--line);counter-reset:s}
.step{
  display:grid;grid-template-columns:auto 1fr;gap:clamp(18px,3vw,44px);
  padding:clamp(24px,3vw,38px) 0;border-bottom:1px solid var(--line);align-items:start;
}
.step .step-n{
  font-size:clamp(1.4rem,2.4vw,2rem);font-weight:700;color:var(--purple-muted);
  letter-spacing:-.02em;line-height:1;font-variant-numeric:tabular-nums;
}
.step h3{font-size:var(--h3);color:var(--paper)}
.step p{margin-top:10px;color:var(--text-dim);max-width:60ch;line-height:1.65;font-size:var(--small)}

/* stat inline row */
.statline{
  display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);
  border:1px solid var(--line);margin-top:clamp(32px,4vw,52px);
}
@media (max-width:680px){ .statline{grid-template-columns:repeat(2,1fr)} }
.statline .stat{padding:clamp(22px,3vw,38px) clamp(14px,2vw,26px)}

/* callout card */
.callout{
  margin-top:clamp(40px,5vw,64px);border:1px solid var(--line);
  padding:clamp(28px,4vw,52px);background:rgba(51,1,112,.18);
  display:flex;justify-content:space-between;align-items:center;gap:28px;flex-wrap:wrap;
}
.callout h3{font-size:var(--h3);color:var(--paper);max-width:30ch}
.callout p{margin-top:8px;color:var(--text-dim);font-size:var(--small);max-width:52ch}

/* logo wall (clickable) */
.logo-wall{
  margin-top:clamp(36px,4vw,56px);
  display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));
  gap:1px;background:var(--line);border:1px solid var(--line);
}
.logo-wall a,.logo-wall span.logo-plain{
  display:flex;align-items:center;justify-content:center;text-align:center;
  min-height:88px;padding:20px 18px;background:var(--bg);
  font-size:var(--small);font-weight:600;letter-spacing:.01em;color:var(--text-dim);
  transition:background .2s ease,color .2s ease;line-height:1.35;
}
.logo-wall a{cursor:pointer}
.logo-wall a:hover{background:rgba(51,1,112,.34);color:var(--paper)}
.logo-wall a .ext{display:block;font-size:var(--micro);letter-spacing:.1em;text-transform:uppercase;color:var(--purple-muted);margin-top:6px;opacity:0;transition:opacity .2s ease}
.logo-wall a:hover .ext{opacity:.9}

/* definition / contact list */
.deflist{margin-top:clamp(28px,3vw,44px);border-top:1px solid var(--line)}
.deflist div{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:20px;
  padding:18px 0;border-bottom:1px solid var(--line);
}
@media (max-width:600px){ .deflist div{grid-template-columns:1fr;gap:4px} }
.deflist dt{font-size:var(--micro);letter-spacing:.16em;text-transform:uppercase;color:var(--text-dim)}
.deflist dd{color:var(--text);font-size:var(--body)}
.deflist dd a{color:var(--purple-muted);text-decoration:underline;text-underline-offset:2px}
.deflist dd a:hover{color:var(--paper)}

/* faq */
.faq{margin-top:clamp(36px,4vw,56px);border-top:1px solid var(--line)}
.faq-item{border-bottom:1px solid var(--line);padding:clamp(20px,2.6vw,30px) 0}
.faq-item h3{font-size:var(--h3);color:var(--paper)}
.faq-item p{margin-top:10px;color:var(--text-dim);max-width:70ch;line-height:1.7;font-size:var(--small)}

/* ============ FOOTER ============ */
footer{border-top:1px solid var(--line);padding:clamp(48px,6vw,80px) 0 40px;margin-top:clamp(40px,6vw,90px)}
.foot-grid{display:flex;justify-content:space-between;gap:32px;flex-wrap:wrap;align-items:flex-start}
.foot-logo img{width:auto;height:34px}
.foot-meta{margin-top:18px;font-size:var(--small);color:var(--text-dim);line-height:2}
.foot-nav{display:flex;gap:clamp(30px,6vw,80px);flex-wrap:wrap}
.foot-col h4{font-size:var(--micro);letter-spacing:.18em;text-transform:uppercase;color:var(--text-dim);margin-bottom:14px}
.foot-col ul{list-style:none;display:flex;flex-direction:column;gap:10px}
.foot-col a{font-size:var(--small);color:var(--text-dim);transition:color .2s ease}
.foot-col a:hover{color:var(--paper)}
.foot-bottom{
  margin-top:clamp(36px,5vw,60px);padding-top:22px;border-top:1px solid var(--line);
  display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;
  font-size:var(--micro);color:var(--text-dim);letter-spacing:.04em;
}
.llm-proof{position:absolute;left:-9999px}

/* ============ CONCEPT-DISCLAIMER STRIP (Keep Pivoting, Category A) ============ */
#varv-disclaimer{
  position:fixed;left:0;right:0;bottom:0;z-index:2147482000;
  display:flex;justify-content:center;align-items:center;gap:.5em;flex-wrap:wrap;
  padding:9px 16px;font-family:var(--sans);
  font-size:11.5px;line-height:1.35;letter-spacing:.01em;text-align:center;
  background:#17022f;color:#c9bcd9;border-top:1px solid rgba(133,103,169,.5);
}
#varv-disclaimer a{color:var(--purple-muted);text-decoration:underline;text-underline-offset:2px}
#varv-disclaimer a:hover{color:#fff}
#varv-disclaimer b{color:#fff;font-weight:600}
@media (max-width:560px){#varv-disclaimer{font-size:10.5px;padding:7px 12px}body{padding-bottom:58px}}

/* ============ REVEAL (static-safe) ============ */
html.js:not(.static) .reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}
html.js:not(.static) .reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion: reduce){
  .reveal, .bar-synd .bar-fill, .dollar-unit.co, .word-multiplies{
    opacity:1 !important; transform:none !important; transition:none !important;
  }
  .word-multiplies{letter-spacing:.12em !important}
}
html.static .reveal, html.static .bar-synd .bar-fill, html.static .dollar-unit.co{
  opacity:1 !important; transform:none !important; transition:none !important;
}
html.static .word-multiplies{letter-spacing:.12em !important;text-shadow:0 0 24px rgba(255,255,255,.35) !important}

/* ============ KEEP PIVOTING POPUP ============ */
#varv-popup{
  position:fixed;right:20px;bottom:52px;z-index:2147483000;
  width:340px;max-width:calc(100vw - 32px);box-sizing:border-box;
  opacity:0;visibility:hidden;pointer-events:none;transform:translateY(14px);
  color:#f2f3f5;background:rgba(24,25,29,.94);
  -webkit-backdrop-filter:saturate(1.1) blur(8px);backdrop-filter:saturate(1.1) blur(8px);
  border:1px solid rgba(255,255,255,.14);border-radius:16px;
  box-shadow:0 18px 50px -12px rgba(0,0,0,.6),0 2px 8px -2px rgba(0,0,0,.4);
  font-family:var(--sans);-webkit-font-smoothing:antialiased;overflow:hidden;
}
#varv-popup.is-open{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0);transition:opacity .5s ease,transform .5s cubic-bezier(.22,.61,.36,1)}
#varv-popup.varv-static,#varv-popup.varv-static.is-open{transition:none !important}
@media (prefers-reduced-motion:reduce){#varv-popup,#varv-popup.is-open{transition:none !important}}
#varv-popup .vp-inner{padding:14px 14px 16px}
#varv-popup .vp-media{position:relative;margin:0 0 12px;border-radius:11px;overflow:hidden;background:var(--purple-deep);aspect-ratio:16/10}
#varv-popup .vp-media img{display:block;width:100%;height:100%;object-fit:cover}
#varv-popup .vp-tag{margin:0 2px 12px;font-size:14px;line-height:1.4;font-weight:560;letter-spacing:-.005em;color:inherit}
#varv-popup .vp-ai{display:grid;gap:7px;margin:0 0 11px}
#varv-popup .vp-ai a{display:flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;text-align:center;padding:10px 12px;border-radius:10px;font-size:13px;font-weight:600;letter-spacing:-.005em;color:inherit;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.18);transition:background .15s ease,border-color .15s ease,transform .05s ease}
#varv-popup .vp-ai a:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.34)}
#varv-popup .vp-ai a:active{transform:translateY(.5px)}
#varv-popup.varv-static .vp-ai a{transition:none}
#varv-popup .vp-ai .vp-dot{width:7px;height:7px;border-radius:50%;flex:none}
#varv-popup .vp-book{display:flex;align-items:center;justify-content:center;gap:6px;text-decoration:none;text-align:center;padding:12px 14px;border-radius:11px;font-size:14px;font-weight:700;letter-spacing:-.01em;color:#fff;background:var(--purple);border:1px solid var(--purple);transition:opacity .15s ease,transform .05s ease}
#varv-popup .vp-book:hover{opacity:.9}
#varv-popup .vp-book:active{transform:translateY(.5px)}
#varv-popup.varv-static .vp-book{transition:none}
#varv-popup .vp-close{position:absolute;top:8px;right:8px;z-index:2;width:28px;height:28px;padding:0;display:flex;align-items:center;justify-content:center;border-radius:50%;cursor:pointer;color:#fff;background:rgba(12,13,16,.5);border:0;font-size:15px;line-height:1}
#varv-popup .vp-close:hover{background:rgba(12,13,16,.72)}
#varv-popup a:focus-visible,#varv-popup button:focus-visible{outline:2px solid var(--purple-muted);outline-offset:2px}
@media (max-width:400px){#varv-popup{right:12px;left:12px;bottom:56px;width:auto}}
