






*{margin:0;padding:0;box-sizing:border-box;}
:root{
  /* ── V2 Green family ── */
  --olive:       #1E4D35;
  --olive-mid:   #2C6B4A;
  --olive-deep:  #122B1D;
  --charcoal:    #1E2228;
  /* ── V2 Mint/sage family ── */
  --sage:        #7EC8A0;
  --sage-light:  #B8D9C3;
  --sage-pale:   #E6F0EA;
  --sage-ultra:  #F2F7F4;
  --mint-light:  #B8E8CE;
  /* ── V2 Amber family ── */
  --amber:       #B87322;
  --amber-light: #FBF0E0;
  --amber-pale:  #FEF7EC;
  /* ── Sky accent (unchanged) ── */
  --sky:#2B6DA0;--sky-light:#DEEDF8;--sky-pale:#EFF6FC;
  /* ── Coral accent (unchanged) ── */
  --coral:#B54030;--coral-light:#FAEAE6;--coral-pale:#FDF4F2;
  /* ── V2 Neutrals ── */
  --cream:#FAF6EE;--cream-dark:#EDE8DC;
  --ink:#1A1710;--ink2:#3A3630;--muted:#6B6560;
  --rule:#D8D3C8;--white:#FFFFFF;
  /* ── Dark sections — derived from v2 green ── */
  --dark-bg:     #0E2819;
  --dark-mid:    #163322;
  --dark-lit:    #1C3E2A;
  --dark-rule:   rgba(255,255,255,0.09);
  --dark-muted:  rgba(255,255,255,0.52);
  --dark-sub:    rgba(255,255,255,0.68);
}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;}
  .tilt-card{transform:none!important;}
  .reveal-3d{transform:none!important;opacity:1!important;}
}

html{scroll-behavior:smooth;font-size:16px;}
body{background:var(--cream);color:var(--ink);font-family:"Plus Jakarta Sans",sans-serif;font-weight:400;line-height:1.7;overflow-x:hidden;}

/* ── SCROLL PROGRESS ── */
#progress-bar{position:fixed;top:0;left:0;height:3px;width:0%;background:linear-gradient(90deg,var(--olive),var(--sage));z-index:400;transition:width .08s linear;}

/* ── NAV ── */
nav{position:fixed;top:3px;left:0;right:0;z-index:300;padding:18px 52px;display:flex;align-items:center;justify-content:space-between;transition:all .4s ease;}
nav.scrolled{background:rgba(250,246,238,.96);backdrop-filter:blur(20px);border-bottom:1px solid var(--rule);box-shadow:0 2px 24px rgba(58,77,28,.07);}
.nav-brand{display:flex;align-items:center;gap:12px;text-decoration:none;}
.nav-aia{font-family:"Crimson Pro",serif;font-weight:700;font-size:26px;letter-spacing:-.04em;line-height:1;}
.nav-aia .A{color:var(--ink);} .nav-aia .i{color:var(--olive);font-style:italic;font-weight:400;}
.nav-name{font-family:"DM Mono",monospace;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);}
.nav-links{display:flex;gap:32px;}
.nav-links a{font-size:13px;color:var(--muted);text-decoration:none;transition:color .2s;font-weight:400;}
.nav-links a:hover{color:var(--olive);}
.nav-btn{background:var(--olive);color:#fff;font-family:"DM Mono",monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;padding:11px 24px;border-radius:6px;text-decoration:none;transition:all .2s;}
.nav-btn:hover{background:var(--olive-mid);transform:translateY(-1px);}
@media(max-width:768px){nav{padding:14px 24px;}.nav-links{display:none;}}@media(max-width:768px){#three-canvas{display:none;}}

/* ══════════════════════════════════════════
   HERO — Three.js 3D WebGL canvas
══════════════════════════════════════════ */
.hero{
  position:relative;height:100vh;min-height:640px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;overflow:hidden;background:var(--cream);
}
#three-canvas{position:absolute;inset:0;width:100%!important;height:100%!important;}
.hero-layer{position:relative;z-index:2;padding:0 24px;}
.hero-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(238,242,235,.92);border:1px solid var(--sage-light);border-radius:100px;padding:6px 18px;font-family:"DM Mono",monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--olive-mid);margin-bottom:28px;opacity:0;animation:heroIn .7s cubic-bezier(.22,.61,.36,1) .15s forwards;}
.badge-dot{width:6px;height:6px;border-radius:50%;background:var(--sage);animation:pulse 2.4s ease-in-out infinite;flex-shrink:0;}
.hero-mark{font-family:"Crimson Pro",serif;font-weight:700;font-size:clamp(88px,14vw,164px);letter-spacing:-.045em;line-height:.88;margin-bottom:4px;opacity:0;animation:heroIn .9s cubic-bezier(.22,.61,.36,1) .25s forwards;}
.hero-mark .A{color:var(--ink);} .hero-mark .i{color:var(--olive);font-style:italic;font-weight:400;}
.hero-align{font-family:"Crimson Pro",serif;font-weight:700;font-size:clamp(28px,4.5vw,48px);letter-spacing:-.02em;color:var(--olive);margin-bottom:32px;opacity:0;animation:heroIn .9s cubic-bezier(.22,.61,.36,1) .35s forwards;}
.hero-headline{font-family:"Crimson Pro",serif;font-size:clamp(20px,3vw,34px);font-weight:400;font-style:italic;color:var(--ink2);max-width:580px;line-height:1.4;margin-bottom:14px;opacity:0;animation:heroIn .9s cubic-bezier(.22,.61,.36,1) .45s forwards;}
.hero-p{font-size:15px;color:var(--muted);max-width:460px;line-height:1.8;margin-bottom:40px;font-weight:400;opacity:0;animation:heroIn .9s cubic-bezier(.22,.61,.36,1) .55s forwards;}
.hero-btns{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;margin-bottom:44px;opacity:0;animation:heroIn .9s cubic-bezier(.22,.61,.36,1) .65s forwards;}
.btn-olive{background:var(--olive);color:#fff;font-family:"DM Mono",monospace;font-size:12px;letter-spacing:.14em;text-transform:uppercase;padding:15px 34px;border-radius:8px;text-decoration:none;transition:all .25s;box-shadow:0 4px 22px rgba(30,77,53,.25);}
.btn-olive:hover{background:var(--olive-mid);transform:translateY(-2px);box-shadow:0 8px 30px rgba(30,77,53,.32);}
.btn-ghost{color:var(--olive);font-family:"DM Mono",monospace;font-size:12px;letter-spacing:.14em;text-transform:uppercase;padding:15px 26px;border-radius:8px;text-decoration:none;border:1.5px solid rgba(30,77,53,.28);transition:all .2s;}
.btn-ghost:hover{background:var(--sage-pale);border-color:var(--olive);}
.hero-trust{display:flex;align-items:center;gap:20px;flex-wrap:wrap;justify-content:center;opacity:0;animation:heroIn .9s cubic-bezier(.22,.61,.36,1) .75s forwards;}
.trust-item{display:flex;align-items:center;gap:7px;font-family:"DM Mono",monospace;font-size:11px;letter-spacing:.11em;text-transform:uppercase;color:var(--muted);}
.trust-check{width:17px;height:17px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0;}
.tc-olive{background:var(--sage-pale);color:var(--olive);} .tc-amber{background:var(--amber-light);color:var(--amber);}
.tc-sky{background:var(--sky-light);color:var(--sky);} .tc-coral{background:var(--coral-light);color:var(--coral);}
.hero-scroll-hint{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:7px;opacity:0;animation:heroIn .9s cubic-bezier(.22,.61,.36,1) 1.1s forwards;cursor:pointer;z-index:3;border:none;background:none;}
.scroll-line{width:1px;height:42px;background:linear-gradient(to bottom,transparent,var(--rule));animation:scrollDrop 2s ease-in-out infinite;}
.scroll-text{font-family:"DM Mono",monospace;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);}

/* ── KEYFRAMES ── */
@keyframes heroIn{from{opacity:0;transform:translateY(20px);}to{opacity:1;transform:translateY(0);}}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1);}50%{opacity:.35;transform:scale(.75);}}
@keyframes scrollDrop{0%{opacity:0;transform:scaleY(0);transform-origin:top;}50%{opacity:1;transform:scaleY(1);}100%{opacity:0;transform:scaleY(1);transform-origin:bottom;}}

/* ══════════════════════════════════════════
   3D SCROLL REVEAL — rotateX entrance
══════════════════════════════════════════ */
.reveal-3d{
  opacity:0;
  transform:perspective(900px) rotateX(-12deg) translateY(40px);
  transform-style:preserve-3d;
  transition:
    opacity .7s cubic-bezier(.22,.61,.36,1),
    transform .7s cubic-bezier(.22,.61,.36,1);
}
.reveal-3d.in{
  opacity:1;
  transform:perspective(900px) rotateX(0deg) translateY(0);
}
.d1{transition-delay:.08s;} .d2{transition-delay:.16s;} .d3{transition-delay:.24s;}

/* ── NUMBERS ── */
.numbers-bar{background:var(--olive-deep);padding:40px 52px;}
.numbers-inner{max-width:1080px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);}
.num-item{padding:18px 24px;border-right:1px solid rgba(255,255,255,.09);text-align:center;}
.num-item:last-child{border-right:none;}
.num-val{font-family:"Crimson Pro",serif;font-weight:700;font-size:52px;letter-spacing:-.02em;color:#fff;line-height:1;margin-bottom:5px;}
.num-val span{color:var(--mint-light);}
.num-label{font-family:"DM Mono",monospace;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.45);}
@media(max-width:640px){.numbers-inner{grid-template-columns:repeat(2,1fr);}.num-item:nth-child(2){border-right:none;}.num-item:nth-child(1),.num-item:nth-child(2){border-bottom:1px solid rgba(255,255,255,.09);}}

/* ── STICKY PROBLEM ── */
.sticky-wrap{position:relative;height:340vh;}
.sticky-inner{position:sticky;top:0;height:100vh;overflow:hidden;display:flex;align-items:center;justify-content:center;}
.sticky-bg{position:absolute;inset:0;background:var(--dark-bg);transition:background .8s ease;}
.sticky-content{position:relative;z-index:2;max-width:1080px;width:100%;padding:0 52px;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;}
.sticky-eyebrow{font-family:"DM Mono",monospace;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--olive-mid);margin-bottom:20px;display:block;}
.sticky-headline{font-family:"Crimson Pro",serif;font-weight:700;font-size:clamp(28px,4vw,50px);letter-spacing:-.015em;line-height:1.1;color:#fff;}
.sticky-sub{font-size:15px;color:var(--muted);line-height:1.8;margin-top:16px;font-weight:400;max-width:400px;}
.sticky-dots{display:flex;gap:8px;margin-top:32px;}
.sticky-dot{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.18);transition:all .4s ease;}
.sticky-dot.active{background:var(--sage);transform:scale(1.4);}
.sticky-right{position:relative;height:320px;}
.pain-slide{
  position:absolute;top:0;left:0;right:0;
  background:var(--dark-mid);border-radius:20px;
  padding:32px 28px;
  opacity:0;transform:translateY(40px) scale(.97);
  transition:all .55s cubic-bezier(.22,.61,.36,1);
  pointer-events:none;
  box-shadow:0 4px 24px rgba(0,0,0,.3);
  border-left:4px solid transparent;
}
.pain-slide.active{opacity:1;transform:translateY(0) scale(1);pointer-events:auto;}
.pain-slide.exit{opacity:0;transform:translateY(-30px) scale(.97);}
.pain-slide:nth-child(1){border-left-color:var(--coral);}
.pain-slide:nth-child(2){border-left-color:var(--amber);}
.pain-slide:nth-child(3){border-left-color:var(--sky);}
.pain-icon{font-size:40px;margin-bottom:18px;display:block;}
.pain-title{font-family:"Crimson Pro",serif;font-size:24px;font-weight:700;color:#fff;margin-bottom:10px;line-height:1.2;}
.pain-text{font-size:14px;color:var(--muted);line-height:1.75;font-weight:400;}
.pain-answer{margin-top:18px;padding:14px 18px;border-radius:10px;font-size:13px;font-weight:700;}
.pain-slide:nth-child(1) .pain-answer{background:var(--coral-pale);color:var(--coral);}
.pain-slide:nth-child(2) .pain-answer{background:var(--amber-pale);color:var(--amber);}
.pain-slide:nth-child(3) .pain-answer{background:var(--sky-pale);color:var(--sky);}
@media(max-width:768px){.sticky-content{grid-template-columns:1fr;gap:40px;padding:0 24px;}.sticky-right{height:280px;}}

/* ══════════════════════════════════════════
   SELECTOR — charcoal bg + colour cards
══════════════════════════════════════════ */
.selector{padding:120px 52px;background:var(--sage-ultra);position:relative;overflow:hidden;contain:layout style;}
.selector::before{content:'';position:absolute;top:-120px;right:-120px;width:480px;height:480px;border-radius:50%;border:1px solid rgba(180,185,200,.08);pointer-events:none;}
.selector::after{content:'';position:absolute;bottom:-80px;left:-80px;width:320px;height:320px;border-radius:50%;border:1px solid rgba(180,185,200,.05);pointer-events:none;}
.selector-inner{max-width:960px;margin:0 auto;text-align:center;position:relative;z-index:2;}
.sel-eyebrow{font-family:"DM Mono",monospace;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--sage);margin-bottom:20px;display:block;}
.selector-h2{font-family:"Crimson Pro",serif;font-weight:700;font-size:clamp(28px,4vw,50px);letter-spacing:-.015em;line-height:1.15;color:var(--ink);margin-bottom:14px;}
.selector-sub{font-size:15px;color:var(--muted);margin-bottom:52px;line-height:1.75;max-width:480px;margin-left:auto;margin-right:auto;font-weight:300;}
.selector-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:28px;}

/* ══════════════════════════════════════════
   3D TILT CARDS — mouse-tracked rotateX/Y
══════════════════════════════════════════ */
.tilt-card{
  border-radius:22px;padding:0;cursor:pointer;
  transition:box-shadow .35s ease,border-color .35s ease;
  position:relative;overflow:hidden;
  border:2px solid transparent;
  /* 3D context */
  transform-style:preserve-3d;
  will-change:transform;
}
.tilt-card-inner{
  padding:32px 28px 28px;
  height:100%;border-radius:20px;
  transition:background .35s ease;
  /* also 3D */
  transform-style:preserve-3d;
  position:relative;
}
/* Shine overlay — moves with tilt */
.tilt-shine{
  position:absolute;inset:0;border-radius:20px;
  background:radial-gradient(circle at 50% 50%, rgba(255,255,255,.15) 0%, transparent 70%);
  opacity:0;pointer-events:none;
  transition:opacity .3s;
}
.tilt-card:hover .tilt-shine{opacity:1;}

/* Student — sky */
.tilt-card[data-type="student"]{border-color:rgba(43,109,160,.4);box-shadow:0 2px 12px rgba(43,109,160,.07);}
.tilt-card[data-type="student"] .tilt-card-inner{background:rgba(43,109,160,.07);backdrop-filter:blur(20px);}
.tilt-card[data-type="student"] .sel-icon-wrap{background:rgba(43,109,160,.3);border:1px solid rgba(43,109,160,.5);}
.tilt-card[data-type="student"] .sel-accent{color:#93c5fd;}
.tilt-card[data-type="student"]:hover{border-color:rgba(43,109,160,.75);box-shadow:0 28px 70px rgba(43,109,160,.4);}
.tilt-card[data-type="student"].active{border-color:#7bb8e0;box-shadow:0 0 0 4px rgba(43,109,160,.25),0 32px 80px rgba(43,109,160,.45);}
.tilt-card[data-type="student"].active .tilt-card-inner{background:rgba(43,109,160,.3);}
/* Professional — amber */
.tilt-card[data-type="professional"]{border-color:rgba(184,115,34,.4);box-shadow:0 2px 12px rgba(184,115,34,.07);}
.tilt-card[data-type="professional"] .tilt-card-inner{background:rgba(184,115,34,.08);backdrop-filter:blur(20px);}
.tilt-card[data-type="professional"] .sel-icon-wrap{background:rgba(184,115,34,.3);border:1px solid rgba(184,115,34,.5);}
.tilt-card[data-type="professional"] .sel-accent{color:#fbbf24;}
.tilt-card[data-type="professional"]:hover{border-color:rgba(184,115,34,.75);box-shadow:0 28px 70px rgba(184,115,34,.4);}
.tilt-card[data-type="professional"].active{border-color:#e8a93a;box-shadow:0 0 0 4px rgba(184,115,34,.25),0 32px 80px rgba(184,115,34,.45);}
.tilt-card[data-type="professional"].active .tilt-card-inner{background:rgba(184,115,34,.32);}
/* Business — coral */
.tilt-card[data-type="business"]{border-color:rgba(181,64,48,.4);box-shadow:0 2px 12px rgba(181,64,48,.07);}
.tilt-card[data-type="business"] .tilt-card-inner{background:rgba(181,64,48,.07);backdrop-filter:blur(20px);}
.tilt-card[data-type="business"] .sel-icon-wrap{background:rgba(181,64,48,.28);border:1px solid rgba(181,64,48,.48);}
.tilt-card[data-type="business"] .sel-accent{color:#fca5a5;}
.tilt-card[data-type="business"]:hover{border-color:rgba(181,64,48,.72);box-shadow:0 28px 70px rgba(181,64,48,.4);}
.tilt-card[data-type="business"].active{border-color:#e07060;box-shadow:0 0 0 4px rgba(181,64,48,.25),0 32px 80px rgba(181,64,48,.45);}
.tilt-card[data-type="business"].active .tilt-card-inner{background:rgba(181,64,48,.3);}

.sel-icon-wrap{width:56px;height:56px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:26px;margin-bottom:20px;transition:transform .3s ease;}
.tilt-card.active .sel-icon-wrap{transform:scale(1.1);}
.sel-tag{font-family:"DM Mono",monospace;font-size:11px;letter-spacing:.2em;text-transform:uppercase;margin-bottom:10px;display:block;}
.sel-title{font-family:"Crimson Pro",serif;font-size:23px;font-weight:700;color:var(--ink);margin-bottom:8px;line-height:1.15;}
.sel-desc{font-size:13px;color:rgba(255,255,255,.55);line-height:1.65;font-weight:400;}
.sel-check{position:absolute;top:16px;right:16px;width:26px;height:26px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;opacity:0;transform:scale(.5);transition:all .3s cubic-bezier(.34,1.56,.64,1);}
.tilt-card[data-type="student"].active .sel-check{opacity:1;transform:scale(1);color:var(--sky);}
.tilt-card[data-type="professional"].active .sel-check{opacity:1;transform:scale(1);color:var(--amber);}
.tilt-card[data-type="business"].active .sel-check{opacity:1;transform:scale(1);color:var(--coral);}

/* Result panel */
.sel-result{backdrop-filter:blur(20px);border-radius:18px;padding:32px 36px;text-align:left;display:none;border:1.5px solid transparent;}
.sel-result.show{display:block;animation:heroIn .4s cubic-bezier(.22,.61,.36,1) forwards;}
.sel-result.result-student{background:rgba(43,109,160,.08);border-color:rgba(43,109,160,.25);}
.sel-result.result-professional{background:rgba(184,115,34,.08);border-color:rgba(184,115,34,.25);}
.sel-result.result-business{background:rgba(181,64,48,.08);border-color:rgba(181,64,48,.25);}
.sel-result-tag{font-family:"DM Mono",monospace;font-size:11px;letter-spacing:.18em;text-transform:uppercase;margin-bottom:12px;display:block;}
.result-student .sel-result-tag{color:var(--sky);} .result-professional .sel-result-tag{color:var(--amber);} .result-business .sel-result-tag{color:var(--coral);}
.sel-result-title{font-family:"Crimson Pro",serif;font-size:24px;font-weight:700;color:var(--ink);margin-bottom:10px;}
.sel-result-text{font-size:14px;color:rgba(255,255,255,.72);line-height:1.8;margin-bottom:20px;font-weight:400;}
.sel-result-tools{display:flex;flex-wrap:wrap;gap:8px;}
.sel-tool{font-family:"DM Mono",monospace;font-size:11px;letter-spacing:.09em;padding:5px 13px;border-radius:6px;color:#fff;border:1px solid transparent;}
.result-student .sel-tool{background:rgba(43,109,160,.08);border-color:rgba(43,109,160,.2);}
.result-professional .sel-tool{background:rgba(184,115,34,.08);border-color:rgba(184,115,34,.2);}
.result-business .sel-tool{background:rgba(181,64,48,.08);border-color:rgba(181,64,48,.2);}
@media(max-width:640px){.selector{padding:80px 24px;}.selector-cards{grid-template-columns:1fr;}}

/* ══════════════════════════════════════════
   STEPS — 3D unfold accordion
══════════════════════════════════════════ */
.steps-section{padding:120px 52px;background:var(--dark-bg);contain:layout style;}
.steps-inner{max-width:1080px;margin:0 auto;}
.section-eyebrow{font-family:"DM Mono",monospace;font-size:11px;letter-spacing:.22em;text-transform:uppercase;margin-bottom:20px;display:block;}
.ey-olive{color:var(--olive-mid);} .ey-amber{color:var(--coral);}  /* amber fails on pale; coral = 5.2:1 AA */ .ey-sky{color:var(--sky);} .ey-coral{color:var(--coral);} .ey-sage{color:var(--sage);}
.section-h2{font-family:"Crimson Pro",serif;font-weight:700;font-size:clamp(28px,3.8vw,46px);letter-spacing:-.015em;line-height:1.15;color:var(--ink);margin-bottom:14px;}
.section-sub{font-size:15px;color:var(--muted);line-height:1.8;max-width:460px;margin-bottom:56px;font-weight:400;}
.steps-list{display:grid;gap:4px;perspective:1200px;}
.step-row{
  display:grid;grid-template-columns:80px 1fr 40px;
  border-radius:14px;overflow:hidden;
  border:1.5px solid var(--cream-dark);
  transition:border-color .3s,box-shadow .3s,transform .3s cubic-bezier(.22,.61,.36,1);
  cursor:pointer;background:var(--cream);
  transform-origin:top center;
  transform-style:preserve-3d;
}
.step-row:hover{border-color:var(--olive);box-shadow:0 8px 32px rgba(30,77,53,.1);transform:translateX(4px) translateZ(4px);}
.step-row.open{border-color:var(--sage);box-shadow:0 10px 40px rgba(0,0,0,.35);background:var(--dark-lit);transform:translateX(0) translateZ(8px);}
.step-row:nth-child(1) .step-num-col{background:var(--olive);}
.step-row:nth-child(2) .step-num-col{background:var(--sky);}
.step-row:nth-child(3) .step-num-col{background:var(--amber);}
.step-row:nth-child(4) .step-num-col{background:var(--coral);}
.step-row:nth-child(5) .step-num-col{background:var(--olive-mid);}
.step-num-col{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:26px 0;flex-shrink:0;transition:filter .25s;}
.step-row:not(.open) .step-num-col{filter:brightness(.84);}
.snc-num{font-family:"Crimson Pro",serif;font-weight:700;font-size:28px;color:#fff;line-height:1;}
.snc-word{font-family:"DM Mono",monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-top:4px;}
.step-main{padding:24px 32px;}
.step-row-title{font-family:"Crimson Pro",serif;font-size:20px;font-weight:700;color:var(--ink);margin-bottom:4px;line-height:1.2;transition:color .2s;}
.step-row-sub{font-size:13px;color:var(--muted);font-weight:400;}
/* 3D unfold detail panel */
.step-detail{
  font-size:13px;color:var(--dark-sub);line-height:1.8;
  margin-top:0;padding-top:0;border-top:1px solid transparent;
  display:grid;grid-template-rows:0fr;
  transition:grid-template-rows .45s cubic-bezier(.22,.61,.36,1),padding .45s,border-color .45s,margin .45s;
  font-weight:300;overflow:hidden;
}
.step-detail-inner{overflow:hidden;}
.step-row.open .step-detail{
  grid-template-rows:1fr;
  margin-top:14px;padding-top:14px;
  border-top-color:rgba(255,255,255,.08);
}
.step-chevron{padding:0 16px;display:flex;align-items:center;font-size:18px;color:var(--dark-muted);transition:transform .35s cubic-bezier(.22,.61,.36,1),color .2s;flex-shrink:0;}
.step-row.open .step-chevron{transform:rotate(180deg);color:var(--sage);}
.step-row:nth-child(1):hover .step-row-title,.step-row:nth-child(1).open .step-row-title{color:var(--sage);}
.step-row:nth-child(2):hover .step-row-title,.step-row:nth-child(2).open .step-row-title{color:var(--sky);}
.step-row:nth-child(3):hover .step-row-title,.step-row:nth-child(3).open .step-row-title{color:var(--amber);}
.step-row:nth-child(4):hover .step-row-title,.step-row:nth-child(4).open .step-row-title{color:var(--coral);}
.step-row:nth-child(5):hover .step-row-title,.step-row:nth-child(5).open .step-row-title{color:var(--mint-light);}
@media(max-width:640px){.steps-section{padding:80px 24px;}}

/* ══════════════════════════════════════════
   3D TILT CARDS — platform + post cards
══════════════════════════════════════════ */
/* Daily posts — sage pale */
.daily{padding:120px 52px;background:var(--sage-pale);border-top:1px solid var(--sage-light);border-bottom:1px solid var(--sage-light);}
.daily-inner{max-width:1080px;margin:0 auto;}
.daily-h2{font-family:"Crimson Pro",serif;font-weight:700;font-size:clamp(28px,3.8vw,46px);letter-spacing:-.015em;line-height:1.15;color:var(--ink);margin-bottom:14px;max-width:540px;}
.daily-sub{font-size:15px;color:var(--muted);line-height:1.8;max-width:460px;margin-bottom:56px;font-weight:400;}
.posts-preview{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;perspective:1200px;}
.post-card{
  background:var(--white);border:1px solid rgba(30,77,53,.1);
  border-radius:18px;overflow:hidden;
  box-shadow:0 2px 12px rgba(30,77,53,.06);
  transform-style:preserve-3d;will-change:transform;
  transition:box-shadow .3s;
}
.post-top{height:5px;}
.post-body{padding:26px 24px;}
.post-pillar{font-family:"DM Mono",monospace;font-size:11px;letter-spacing:.16em;text-transform:uppercase;margin-bottom:12px;}
.post-title{font-family:"Crimson Pro",serif;font-size:19px;font-weight:700;color:var(--ink);margin-bottom:10px;line-height:1.25;}
.post-text{font-size:13px;color:var(--muted);line-height:1.75;margin-bottom:18px;font-weight:400;}
.post-step{display:inline-block;font-family:"DM Mono",monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;padding:4px 11px;border-radius:4px;}
@media(max-width:768px){.daily{padding:80px 24px;}.posts-preview{grid-template-columns:1fr;perspective:none;}}

/* Platforms — amber pale */
.platforms-section{padding:120px 52px;background:var(--amber-pale);}
.platforms-inner{max-width:1080px;margin:0 auto;}
.platforms-h2{font-family:"Crimson Pro",serif;font-weight:700;font-size:clamp(28px,3.8vw,46px);letter-spacing:-.015em;line-height:1.15;color:var(--ink);margin-bottom:14px;max-width:520px;}
.platforms-sub{font-size:15px;color:var(--muted);line-height:1.8;max-width:460px;margin-bottom:56px;font-weight:400;}
.plat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;perspective:1200px;}
.plat-card{
  background:var(--white);border:1px solid rgba(184,115,34,.15);border-radius:18px;
  padding:32px 22px;text-align:center;
  transform-style:preserve-3d;will-change:transform;
  transition:box-shadow .3s,border-color .3s;
  text-decoration:none;
}
.plat-logo{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;color:#fff;margin:0 auto 18px;font-family:"DM Mono",monospace;}
.plat-name{font-family:"Crimson Pro",serif;font-size:19px;font-weight:700;color:var(--ink);margin-bottom:4px;}
.plat-type{font-family:"DM Mono",monospace;font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);margin-bottom:12px;}
.plat-action{font-size:13px;color:var(--coral);font-weight:700;}
@media(max-width:640px){.platforms-section{padding:80px 24px;}.plat-grid{grid-template-columns:repeat(2,1fr);perspective:none;}}

/* ══════════════════════════════════════════
   PHILOSOPHY — depth parallax layers
══════════════════════════════════════════ */
.philosophy{
  min-height:100vh;display:flex;align-items:center;justify-content:center;
  background:var(--dark-bg);border-top:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.06);
  position:relative;overflow:hidden;text-align:center;padding:120px 52px;
  perspective:900px;contain:layout style;
}, moves slowest */
.phil-layer-1{
  position:absolute;top:50%;left:50%;
  transform:translate(-50%,-50%) translateZ(-120px) scale(1.15);
  font-family:"Crimson Pro",serif;font-weight:700;
  font-size:clamp(180px,26vw,380px);letter-spacing:-.05em;line-height:1;
  color:rgba(126,200,160,.05);pointer-events:none;user-select:none;white-space:nowrap;
  will-change:transform;
}
.phil-layer-1 .i{font-style:italic;font-weight:400;color:rgba(126,200,160,.07);}
/* Layer 2 — mid, moves at scroll speed */
.phil-layer-2{position:relative;z-index:2;max-width:780px;}
.philosophy-openquote{font-family:"Crimson Pro",serif;font-size:96px;color:rgba(126,200,160,.25);line-height:.6;margin-bottom:8px;display:block;}
.philosophy-quote{font-family:"Crimson Pro",serif;font-size:clamp(22px,3.5vw,40px);font-weight:400;font-style:italic;color:rgba(255,255,255,.9);line-height:1.45;margin-bottom:28px;}
.philosophy-quote em{color:var(--sage);font-style:normal;font-weight:700;}
.philosophy-author{display:flex;align-items:center;justify-content:center;gap:14px;margin-bottom:56px;}
.author-avatar{width:46px;height:46px;border-radius:50%;background:var(--olive);display:flex;align-items:center;justify-content:center;font-family:"Crimson Pro",serif;font-weight:700;font-size:17px;color:#fff;}
.author-name{font-family:"Crimson Pro",serif;font-size:16px;font-weight:700;color:#fff;text-align:left;}
.author-role{font-family:"DM Mono",monospace;font-size:11px;letter-spacing:.11em;color:var(--muted);text-align:left;}
.philosophy-pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;perspective:800px;}
.pp{padding:22px;background:var(--dark-mid);border:1px solid rgba(126,200,160,.15);border-radius:14px;text-align:center;transform-style:preserve-3d;will-change:transform;transition:box-shadow .3s;}
.pp-label{font-family:"DM Mono",monospace;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--sky);margin-bottom:10px;}
.pp-text{font-family:"Crimson Pro",serif;font-size:16px;font-weight:400;font-style:italic;color:rgba(255,255,255,.75);line-height:1.45;}
@media(max-width:640px){.philosophy{padding:80px 24px;}.philosophy-pillars{grid-template-columns:1fr;perspective:none;}}

/* Signup */
.signup{padding:100px 52px;background:var(--coral-pale);border-top:1px solid #F0C8BE;}
.signup-inner{max-width:680px;margin:0 auto;text-align:center;}
.signup-h2{font-family:"Crimson Pro",serif;font-weight:700;font-size:clamp(26px,3.5vw,44px);letter-spacing:-.015em;line-height:1.2;color:var(--ink);margin-bottom:14px;}
.signup-sub{font-size:15px;color:var(--muted);line-height:1.8;margin-bottom:36px;font-weight:400;}
.signup-form{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-bottom:14px;}
.signup-input{flex:1;min-width:220px;max-width:340px;padding:15px 20px;border-radius:8px;border:1.5px solid rgba(181,64,48,.2);background:var(--white);font-size:14px;font-family:"Plus Jakarta Sans",sans-serif;color:var(--ink);outline:none;transition:all .2s;font-weight:300;}
.signup-input:focus{border-color:var(--coral);box-shadow:0 0 0 3px rgba(181,64,48,.1);}
.signup-input::placeholder{color:var(--muted);}
.signup-btn{background:var(--coral);color:#fff;font-family:"DM Mono",monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;padding:15px 28px;border-radius:8px;border:none;cursor:pointer;transition:all .2s;white-space:nowrap;}
.signup-btn:hover{background:#9E3525;transform:translateY(-1px);}
.signup-note{font-family:"DM Mono",monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);}
@media(max-width:640px){.signup{padding:80px 24px;}}

/* ══════════════════════════════════════════
   JOIN — olive with floating orbs
══════════════════════════════════════════ */
.join{padding:120px 52px;background:var(--olive);position:relative;overflow:hidden;}
.join-orb{position:absolute;border-radius:50%;background:rgba(126,200,160,.12);pointer-events:none;}
.join-orb-1{width:400px;height:400px;top:-100px;left:-100px;animation:orbFloat 8s ease-in-out infinite;}
.join-orb-2{width:280px;height:280px;bottom:-80px;right:-80px;animation:orbFloat 10s ease-in-out infinite reverse;}
.join-orb-3{width:180px;height:180px;top:50%;right:20%;animation:orbFloat 7s ease-in-out infinite 2s;}
@keyframes orbFloat{0%,100%{transform:translateY(0) scale(1);}50%{transform:translateY(-20px) scale(1.04);}}
.join-inner{max-width:1080px;margin:0 auto;display:grid;grid-template-columns:1fr auto;gap:72px;align-items:center;position:relative;z-index:2;}
.join-h2{font-family:"Crimson Pro",serif;font-weight:700;font-size:clamp(28px,4vw,52px);letter-spacing:-.015em;line-height:1.15;color:#fff;margin-bottom:14px;}
.join-h2 span{color:var(--sage);font-style:italic;font-weight:400;}
.join-p{font-size:15px;color:rgba(255,255,255,.65);max-width:460px;line-height:1.8;margin-bottom:40px;font-weight:300;}
.plat-pills{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:36px;}
.pill{display:flex;align-items:center;gap:8px;padding:10px 18px;border-radius:100px;border:1px solid rgba(255,255,255,.22);font-family:"DM Mono",monospace;font-size:11px;letter-spacing:.11em;text-transform:uppercase;color:rgba(255,255,255,.65);text-decoration:none;transition:all .25s;}
.pill:hover{border-color:rgba(255,255,255,.55);color:#fff;background:rgba(255,255,255,.1);transform:translateY(-2px);}
.pill-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;}
.join-mark-wrap{text-align:center;flex-shrink:0;}
.join-mark{font-family:"Crimson Pro",serif;font-weight:700;font-size:108px;letter-spacing:-.04em;line-height:.9;}
.join-mark .A{color:#fff;} .join-mark .i{color:var(--sage);font-style:italic;font-weight:400;}
.join-domain{font-family:"DM Mono",monospace;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.32);text-align:center;margin-top:8px;}
@media(max-width:768px){.join{padding:80px 24px;}.join-inner{grid-template-columns:1fr;}.join-mark-wrap{display:none;}}

/* Footer */
footer{background:var(--olive-mid);padding:38px 52px;border-top:1px solid rgba(255,255,255,.09);}
.foot{max-width:1080px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:18px;}
.foot-aia{font-family:"Crimson Pro",serif;font-weight:700;font-size:24px;letter-spacing:-.04em;}
.foot-aia .A{color:#fff;} .foot-aia .i{color:var(--sage);font-style:italic;font-weight:400;}
.foot-name{font-family:"DM Mono",monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.6);}
.foot-tag{font-family:"DM Mono",monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.32);margin-top:2px;}
.foot-links{display:flex;gap:26px;}
.foot-links a{font-size:12px;color:rgba(255,255,255,.42);text-decoration:none;transition:color .2s;font-weight:400;}
.foot-links a:hover{color:rgba(255,255,255,.9);}
.foot-copy{font-family:"DM Mono",monospace;font-size:11px;letter-spacing:.1em;color:rgba(255,255,255,.25);}
@media(max-width:640px){footer{padding:28px 24px;}.foot-links{display:none;}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}

/* ── FOCUS-VISIBLE — WCAG 2.4.7 ── */
.nav-btn:focus-visible,.btn-olive:focus-visible,.btn-ghost:focus-visible,
.signup-btn:focus-visible,.hero-scroll-hint:focus-visible{{
  outline:3px solid var(--olive);outline-offset:3px;
}}
.tilt-card:focus-visible{{
  outline:3px solid rgba(255,255,255,.8);outline-offset:4px;
}}
.step-row:focus-visible{{
  outline:3px solid var(--olive);outline-offset:2px;
}}
.pill:focus-visible,.plat-card:focus-visible,.pp:focus-visible{{
  outline:3px solid var(--olive);outline-offset:3px;
}}
.nav-links a:focus-visible,.foot-links a:focus-visible{{
  outline:2px solid var(--olive);outline-offset:3px;border-radius:2px;
}}

/* ── CSS CONTAINMENT — layout isolation for off-screen sections ── */
.numbers-bar,.honest,.selector,.steps-section,.daily,
.platforms-section,.philosophy,.signup,.join,footer{
  contain:layout style;
}
.post-card,.plat-card,.tilt-card,.pp{
  contain:layout style;
}

/* ── FONT FALLBACK — system fonts while Google Fonts loads ── */
body{font-family:"Plus Jakarta Sans","Helvetica Neue",Arial,sans-serif;font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;}
h1,h2,.hero-mark,.hero-align,.hero-headline,
.pain-title,.sel-title,.step-row-title,.post-title,
.philosophy-quote,.join-h2,.signup-h2,.platforms-h2,
.daily-h2,.steps-h2,.section-h2,.selector-h2,
.plat-name,.author-name{
  font-family:"Crimson Pro","Georgia","Times New Roman",serif;
}
.hero-badge,.nav-btn,.btn-olive,.btn-ghost,
.section-eyebrow,.eyebrow,.num-label,.num-val,
.step-num-label,.snc-word,.post-pillar,.post-step,
.plat-type,.pp-label,.trust-item,.nav-name,
.signup-note,.pill,.sel-tag,.sel-result-tag,
.sel-tool,.foot-tag,.foot-name,.foot-copy,
.foot-links a,.scroll-text,.philosophy-author .author-role{
  font-family:"DM Mono","Courier New",monospace;
}

/* ── Dark section text utilities ── */
.ey-dark-sage{color:var(--sage);}
.section-h2-light{color:#fff;}
.section-sub-light{color:var(--dark-muted);}

/* Hero editorial grid overlay */
.hero-grid{
  position:absolute;inset:0;pointer-events:none;
  background-image:
    linear-gradient(rgba(30,77,53,.03) 1px,transparent 1px),
    linear-gradient(90deg,rgba(30,77,53,.03) 1px,transparent 1px);
  background-size:72px 72px;
  mask-image:radial-gradient(ellipse 80% 80% at 50% 40%,black 10%,transparent 100%);
  -webkit-mask-image:radial-gradient(ellipse 80% 80% at 50% 40%,black 10%,transparent 100%);
}

/* ══════════════════════════════════════════════════════
   CLEARPATH UPGRADES
   1. Rotating hero text
   2. Odometer counters
   3. Audience toggle
   4. Inner page styles (blog, Elementor pages)
══════════════════════════════════════════════════════ */

/* ── 1. ROTATING HERO TEXT ── */
.hero-rotate-wrap{
  position:relative;
  min-height:clamp(56px,7vw,90px);
  margin-bottom:14px;
  overflow:hidden;
}
.hero-rotate{
  transition:opacity .5s ease,transform .5s cubic-bezier(.22,.61,.36,1);
  margin-bottom:0;
}
.hero-rotate.exiting{
  opacity:0;
  transform:translateY(-20px);
  position:absolute;
  top:0;left:0;right:0;
}
.hero-rotate.entering{
  opacity:0;
  transform:translateY(20px);
}

/* ── 2. ODOMETER COUNTERS ── */
.num-val.odometer{
  display:flex;
  align-items:flex-end;
  justify-content:center;
  gap:1px;
  overflow:hidden;
  font-size:52px;
  line-height:1;
}
.odo-digits{
  display:flex;
  align-items:flex-end;
}
.odo-digit{
  display:inline-block;
  height:1em;
  overflow:hidden;
  position:relative;
}
.odo-reel{
  display:flex;
  flex-direction:column;
  transition:transform .7s cubic-bezier(.22,.61,.36,1);
  will-change:transform;
}
.odo-reel span{
  display:block;
  height:1em;
  line-height:1;
  text-align:center;
}
.odo-suffix{
  color:var(--sage);
  display:inline-block;
  margin-left:2px;
}

/* ── 3. AUDIENCE TOGGLE ── */
.hero-toggle-wrap{
  display:flex;
  align-items:center;
  gap:6px;
  flex-wrap:wrap;
  justify-content:center;
  margin-bottom:28px;
  opacity:0;
  animation:heroIn .9s cubic-bezier(.22,.61,.36,1) .68s forwards;
}
.hero-toggle-btn{
  background:transparent;
  border:1.5px solid rgba(30,77,53,.2);
  border-radius:100px;
  padding:7px 18px;
  font-family:"DM Mono",monospace;
  font-size:10px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--muted);
  cursor:pointer;
  transition:all .25s;
}
.hero-toggle-btn:hover{
  border-color:var(--olive);
  color:var(--olive);
  background:var(--sage-ultra);
}
.hero-toggle-btn.active{
  background:var(--olive);
  border-color:var(--olive);
  color:#fff;
}

/* ── 4. INNER PAGE NAV (header.php) ── */
.site-header--inner{
  position:sticky;top:0;z-index:200;
  background:rgba(250,246,238,.97);
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  border-bottom:1px solid var(--rule);
  box-shadow:0 2px 20px rgba(30,77,53,.06);
}
.site-header__inner{
  max-width:1080px;margin:0 auto;
  padding:16px 52px;
  display:flex;align-items:center;justify-content:space-between;
  gap:20px;
}
.site-header__brand{display:flex;align-items:center;gap:10px;text-decoration:none;}
.nav-menu{display:flex;gap:28px;list-style:none;margin:0;padding:0;}
.nav-menu li a{font-size:13px;color:var(--muted);text-decoration:none;font-weight:400;transition:color .2s;}
.nav-menu li a:hover{color:var(--olive);}
.nav-mobile-toggle{display:none;background:none;border:none;cursor:pointer;padding:4px;}
.nav-mobile-toggle span{display:block;width:22px;height:2px;background:var(--ink);margin:4px 0;transition:all .25s;}
@media(max-width:768px){
  .site-header__inner{padding:14px 20px;}
  .site-header__nav{display:none;}
  .nav-mobile-toggle{display:block;}
}

/* ── BLOG / INNER PAGES ── */
.site-main--blog{padding:80px 24px;}
.container{max-width:1080px;margin:0 auto;}
.page-header{text-align:center;margin-bottom:60px;}
.page-title{font-family:"Crimson Pro",serif;font-weight:700;font-size:clamp(28px,4vw,48px);color:var(--ink);margin-bottom:12px;}
.page-subtitle{font-size:16px;color:var(--muted);}
.posts-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-bottom:60px;}
@media(max-width:768px){.posts-grid{grid-template-columns:1fr;}}
.post-card{background:var(--white);border:1px solid var(--rule);border-radius:16px;overflow:hidden;transition:transform .25s,box-shadow .25s;}
.post-card:hover{transform:translateY(-4px);box-shadow:0 12px 36px rgba(30,77,53,.1);}
.post-card__image img{width:100%;height:200px;object-fit:cover;display:block;}
.post-card__body{padding:24px;}
.post-card__meta{font-family:"DM Mono",monospace;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:10px;}
.post-card__title{font-family:"Crimson Pro",serif;font-size:20px;font-weight:700;color:var(--ink);margin-bottom:10px;line-height:1.25;}
.post-card__title a{text-decoration:none;color:inherit;}
.post-card__title a:hover{color:var(--olive);}
.post-card__excerpt{font-size:14px;color:var(--muted);line-height:1.7;margin-bottom:16px;}
.post-card__read-more{font-family:"DM Mono",monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--olive);text-decoration:none;font-weight:400;}
.post-card__read-more:hover{text-decoration:underline;}
.pagination{display:flex;justify-content:center;gap:8px;margin-top:40px;}
.pagination .page-numbers{padding:8px 16px;border:1px solid var(--rule);border-radius:6px;font-family:"DM Mono",monospace;font-size:11px;color:var(--muted);text-decoration:none;transition:all .2s;}
.pagination .page-numbers.current,.pagination .page-numbers:hover{background:var(--olive);color:#fff;border-color:var(--olive);}
.no-posts{text-align:center;padding:80px 24px;}
.no-posts h2{font-family:"Crimson Pro",serif;font-size:32px;color:var(--ink);margin-bottom:16px;}
.no-posts p{color:var(--muted);margin-bottom:28px;}

/* ── SITE FOOTER (inner pages) ── */
.site-footer{background:var(--olive-mid);padding:38px 52px;}
.site-footer__inner{max-width:1080px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:18px;}
@media(max-width:640px){.site-footer{padding:28px 20px;}}
