/* ═══════════════════════════════════════════════════════
   FutrWise Platforms — Main Stylesheet
   fonts: Space Grotesk (headings) · DM Sans (body)
   ═══════════════════════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;1,9..40,300&family=Space+Grotesk:wght@400;500;600;700&display=swap');

/* ── TOKENS ── */
:root {
  --ink:    #08122A;
  --ink2:   #0D1B3E;
  --ink3:   #122050;
  --b1: #1535A0; --b2: #2563EB; --b3: #3B9EFF; --b4: #60C3FF; --b5: #A8DCFF;
  --grad:   linear-gradient(135deg,#1535A0 0%,#2563EB 35%,#3B9EFF 68%,#60C3FF 100%);
  --gtext:  linear-gradient(125deg,#2563EB,#3B9EFF,#60C3FF);
  --metal:  linear-gradient(135deg,#8fa8d4 0%,#c8d8f0 30%,#6080b8 60%,#b0c8e8 100%);
  --gl:     rgba(255,255,255,.055);
  --glb:    rgba(255,255,255,.11);
  --txt:    #ECF3FF; --txt2: rgba(236,243,255,.62); --txt3: rgba(236,243,255,.36);
  --glow:   rgba(37,99,235,.22); --glow2: rgba(59,158,255,.14);
  --accent-teal: #00E5C8; --accent-violet: #8B5CF6; --accent-amber: #F59E0B;

  /* light mode overrides */
  --lm-bg: #F0F4FF; --lm-bg2: #E4ECFF; --lm-txt: #0D1B3E;
  --lm-txt2: rgba(13,27,62,.62); --lm-txt3: rgba(13,27,62,.38);
  --lm-gl: rgba(13,27,62,.06); --lm-glb: rgba(13,27,62,.14);
}

/* ── LIGHT MODE ── */
body.light {
  --ink: #F0F4FF; --ink2: #E4ECFF; --ink3: #D4E0FF;
  --gl: rgba(13,27,62,.055); --glb: rgba(13,27,62,.11);
  --txt: #0D1B3E; --txt2: rgba(13,27,62,.65); --txt3: rgba(13,27,62,.38);
}
body.light #bg { filter: invert(1) hue-rotate(180deg) opacity(.5); }
body.light nav  { background: rgba(240,244,255,.95) !important; border-color: rgba(13,27,62,.1); }
body.light .nl a { color: rgba(13,27,62,.65); }
body.light .nl a:hover { color: #0D1B3E; }
body.light footer { background: #E4ECFF; border-color: rgba(13,27,62,.1); }
body.light .gc { background: rgba(13,27,62,.04); border-color: rgba(13,27,62,.1); }
body.light .wv { background: rgba(13,27,62,.04); border-color: rgba(21,53,160,.15); }
body.light .reg-box { background: rgba(13,27,62,.04); border-color: rgba(21,53,160,.15); }
body.light .pc { background: rgba(13,27,62,.04); border-color: rgba(13,27,62,.1); }
body.light .pc.hot { background: linear-gradient(160deg,rgba(21,53,160,.08),rgba(37,99,235,.04)); border-color: rgba(37,99,235,.3); }
body.light .pfl li { color: rgba(13,27,62,.7); }
body.light .pb-o { border-color: rgba(13,27,62,.2); color: #0D1B3E; }
body.light .clink { background: rgba(13,27,62,.04); border-color: rgba(13,27,62,.12); color: #0D1B3E; }
body.light .cinp { background: rgba(13,27,62,.06); border-color: rgba(13,27,62,.15); color: #0D1B3E; }
body.light .domain-card { background: rgba(13,27,62,.04); border-color: rgba(13,27,62,.1); }
body.light .metric-card { background: rgba(13,27,62,.04); border-color: rgba(13,27,62,.1); }
body.light .expeo-card { background: rgba(13,27,62,.04); border-color: rgba(13,27,62,.1); }
body.light .expeo-card.highlight { background: linear-gradient(135deg,rgba(21,53,160,.08),rgba(37,99,235,.04)); border-color: rgba(37,99,235,.25); }
body.light .genome-row td { background: rgba(13,27,62,.05); }
body.light .layer-card { background: rgba(13,27,62,.04); border-color: rgba(13,27,62,.1); }
body.light .expeo-quote { background: linear-gradient(135deg,rgba(21,53,160,.08),rgba(37,99,235,.04)); border-color: rgba(37,99,235,.2); }
body.light .scroll-step { color: #0D1B3E; }
body.light .step-text { color: rgba(13,27,62,.65); }
body.light .step-title { color: #0D1B3E; }
body.light .chip { background: rgba(21,53,160,.1); color: #2563EB; border-color: rgba(37,99,235,.25); }
body.light .frow { border-color: rgba(13,27,62,.08); }
body.light .pill { background: rgba(13,27,62,.04); border-color: rgba(13,27,62,.1); }
body.light .pt { color: rgba(13,27,62,.65); }
body.light .prob-card { background: rgba(13,27,62,.04); border-color: rgba(13,27,62,.1); }
body.light .prob-d { color: rgba(13,27,62,.65); }
body.light .cta-sec { background: #E4ECFF; }

/* ── RESET ── */
*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; font-size:16px; }
body {
  background: var(--ink); color: var(--txt);
  font-family: "DM Sans", sans-serif; font-weight:400; line-height:1.65;
  overflow-x:hidden; transition: background .35s, color .35s;
}

/* ── CANVAS BG ── */
#bg { position:fixed; inset:0; z-index:0; pointer-events:none; }

/* ── NAV ── */
nav {
  position:fixed; top:0; left:0; right:0; z-index:300;
  height:68px; padding:0 5%;
  display:flex; align-items:center; justify-content:space-between;
  background: rgba(8,18,42,.75);
  backdrop-filter:blur(28px); -webkit-backdrop-filter:blur(28px);
  border-bottom:1px solid rgba(255,255,255,.07);
  transition: background .3s;
}
.nav-auth-btn {
  font-size:.8rem; font-weight:600; padding:.42rem 1rem; border-radius:8px;
  text-decoration:none; transition:all .2s; white-space:nowrap;
  color:var(--txt2); border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.06);
}
.nav-auth-btn:hover { background:rgba(255,255,255,.12); color:var(--txt); }
.nav-signup-btn {
  background:var(--grad); color:#fff !important; border-color:transparent;
  box-shadow:0 3px 14px rgba(37,99,235,.35);
}
.nav-signup-btn:hover { opacity:.88; }

/* Logo */
.nav-logo-img {
  height:32px; display:block;
  filter: brightness(0) invert(1);
}
body.light .nav-logo-img { filter: none; }
.nl { display:flex; gap:2.2rem; list-style:none; }
.nl a { color:var(--txt2); text-decoration:none; font-size:.875rem; font-weight:500; transition:color .2s; }
.nl a:hover { color:var(--txt); }
.nav-right { display:flex; align-items:center; gap:.75rem; }
.nc {
  background:var(--grad); color:#fff; border:none; border-radius:9px;
  padding:.52rem 1.3rem; font-size:.875rem; font-weight:600; font-family:"DM Sans",sans-serif;
  cursor:pointer; text-decoration:none; display:inline-block;
  box-shadow:0 4px 22px rgba(37,99,235,.38); transition:opacity .2s, transform .2s;
}
.nc:hover { opacity:.88; transform:translateY(-1px); }

/* ── THEME TOGGLE — redesigned pill with sun/moon ── */
.theme-toggle {
  display:flex; align-items:center; gap:0;
  background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.14);
  border-radius:50px; padding:3px; cursor:pointer;
  transition:all .3s; flex-shrink:0; height:34px;
  position:relative; overflow:hidden;
}
body.light .theme-toggle {
  background:rgba(13,27,62,.08); border-color:rgba(13,27,62,.16);
}
.theme-toggle-knob {
  width:26px; height:26px; border-radius:50%;
  background:var(--grad); box-shadow:0 2px 8px rgba(37,99,235,.45);
  display:flex; align-items:center; justify-content:center;
  font-size:.8rem; transition:transform .35s cubic-bezier(.34,1.56,.64,1);
  flex-shrink:0; z-index:1; position:relative;
}
body.light .theme-toggle-knob { transform:translateX(26px); }
.theme-toggle-icons {
  display:flex; align-items:center; gap:0;
  position:absolute; left:0; right:0; padding:0 6px;
  justify-content:space-between; pointer-events:none;
}
.theme-icon-moon, .theme-icon-sun {
  font-size:.75rem; line-height:1; opacity:.45; transition:opacity .3s;
}
body:not(.light) .theme-icon-moon { opacity:.85; }
body.light .theme-icon-sun { opacity:.85; }
/* wider pill to show both icons */
.theme-toggle { width:62px; }

.ham { display:none; flex-direction:column; gap:5px; cursor:pointer; background:none; border:none; padding:4px; }
.ham span { display:block; width:22px; height:1.5px; background:var(--txt2); border-radius:2px; transition:.3s; }

/* ── HERO ── */
.hero {
  position:relative; z-index:1; min-height:100vh; height:100vh;
  display:grid; grid-template-columns:1fr 1fr;
  align-items:center; padding:100px 5% 80px; gap:2rem;
  overflow:hidden;
}
.hero-left { z-index:2; position:relative; }
.eyebrow {
  display:inline-flex; align-items:center; gap:.55rem;
  background:rgba(37,99,235,.11); border:1px solid rgba(59,158,255,.22);
  border-radius:100px; padding:.32rem 1rem;
  font-size:.7rem; font-weight:600; letter-spacing:.1em; color:var(--b4);
  margin-bottom:2rem;
}
.ew-dot { width:6px; height:6px; border-radius:50%; background:var(--b3); animation:bl 2s ease-in-out infinite; }
@keyframes bl { 0%,100%{opacity:1} 50%{opacity:.3} }

h1 {
  font-family:"Space Grotesk",sans-serif;
  font-size:clamp(2.4rem,5.5vw,4.6rem);
  font-weight:700; line-height:1.08; letter-spacing:-.035em; margin-bottom:1.5rem;
}
.gw {
  background:var(--gtext); background-size:200% auto;
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
  animation:shine 5s linear infinite;
}
@keyframes shine { 0%{background-position:0% center} 100%{background-position:200% center} }

.hero-sub { font-size:clamp(.95rem,1.6vw,1.1rem); color:var(--txt2); max-width:520px; font-weight:300; line-height:1.9; margin-bottom:2.75rem; }
.ha { display:flex; gap:.9rem; flex-wrap:wrap; }
.btn-p {
  background:var(--grad); color:#fff; border:none; border-radius:10px;
  padding:.85rem 2rem; font-size:.95rem; font-weight:600; cursor:pointer;
  text-decoration:none; display:inline-block;
  box-shadow:0 6px 28px rgba(37,99,235,.4); transition:transform .2s,box-shadow .2s,opacity .2s;
  font-family:"DM Sans",sans-serif;
}
.btn-p:hover { transform:translateY(-2px); box-shadow:0 10px 36px rgba(37,99,235,.5); opacity:.9; }
.btn-o {
  background:var(--gl); color:var(--txt); border:1px solid var(--glb); border-radius:10px;
  padding:.85rem 2rem; font-size:.95rem; font-weight:500; cursor:pointer;
  text-decoration:none; display:inline-block; backdrop-filter:blur(12px);
  transition:background .2s,transform .2s; font-family:"DM Sans",sans-serif;
}
.btn-o:hover { background:rgba(255,255,255,.09); transform:translateY(-2px); }

/* stats strip */
.ss {
  display:flex; margin-top:3.5rem; background:var(--gl);
  border:1px solid rgba(255,255,255,.08); border-radius:14px;
  overflow:hidden; backdrop-filter:blur(16px); max-width:580px;
}
.si { flex:1; padding:1.2rem .75rem; text-align:center; }
.si + .si { border-left:1px solid rgba(255,255,255,.07); }
.sn { font-family:"Space Grotesk",sans-serif; font-size:clamp(1.15rem,2vw,1.6rem); font-weight:700; background:var(--gtext); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; display:block; margin-bottom:.2rem; }
.sl { font-size:.68rem; color:var(--txt3); font-weight:500; line-height:1.4; }
.hero-right { position:absolute; top:0; right:0; width:50%; height:100%; min-height:500px; display:flex; align-items:center; justify-content:center; }
#hero-canvas { width:100% !important; height:100% !important; display:block; }

/* ── FLOATING SYMBOLS (visual elements throughout site) ── */
.float-symbols { position:absolute; inset:0; overflow:hidden; pointer-events:none; z-index:0; }
.fsym {
  position:absolute; font-size:1.5rem; opacity:.06;
  animation:floatSym 20s ease-in-out infinite;
  user-select:none; transition:opacity .3s;
}
@keyframes floatSym {
  0%,100%{transform:translateY(0) rotate(0deg)}
  33%{transform:translateY(-18px) rotate(8deg)}
  66%{transform:translateY(10px) rotate(-5deg)}
}

/* ── AMBIENT SIDE DECORATION ── */
.side-decor {
  position:absolute; pointer-events:none; z-index:0; overflow:hidden;
}
.side-decor-left {
  left:0; top:0; bottom:0; width:80px;
  display:flex; flex-direction:column; align-items:center;
  justify-content:space-evenly; gap:2rem; padding:3rem 0;
}
.side-decor-right {
  right:0; top:0; bottom:0; width:80px;
  display:flex; flex-direction:column; align-items:center;
  justify-content:space-evenly; gap:2rem; padding:3rem 0;
}
.sdecor-icon {
  font-size:1.6rem; opacity:.04; animation:floatSym 16s ease-in-out infinite;
  writing-mode:horizontal-tb;
}

/* ── SECTION BASE ── */
.sec { position:relative; z-index:1; padding:100px 5%; }
.stag { font-size:.68rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--b3); margin-bottom:.7rem; }
.stitle { font-family:"Space Grotesk",sans-serif; font-size:clamp(1.8rem,3.5vw,2.8rem); font-weight:700; line-height:1.15; letter-spacing:-.025em; margin-bottom:1rem; }
.ssub { font-size:1rem; color:var(--txt2); line-height:1.85; font-weight:300; max-width:520px; }
.ctr { text-align:center; } .ctr .ssub { margin:0 auto; }

/* ── GLASS CARD ── */
.gc {
  background:var(--gl); border:1px solid rgba(255,255,255,.09);
  border-radius:20px; backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px);
  transition:transform .3s,border-color .3s,box-shadow .3s;
}
.gc:hover { transform:translateY(-5px); border-color:rgba(59,158,255,.22); box-shadow:0 18px 55px rgba(37,99,235,.16); }

/* ── PROBLEM ── */
.problem-section { background:linear-gradient(180deg,var(--ink) 0%,var(--ink2) 100%); }
.prob-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:1.25rem; margin-top:3.5rem; }
.prob-card { padding:1.8rem; position:relative; overflow:hidden; }
.prob-card::before { content:""; position:absolute; top:0; left:0; right:0; height:2px; border-radius:20px 20px 0 0; }
.prob-card.c1::before { background:linear-gradient(90deg,#1535A0,#2563EB); }
.prob-card.c2::before { background:linear-gradient(90deg,#2563EB,#3B9EFF); }
.prob-card.c3::before { background:linear-gradient(90deg,#3B9EFF,#60C3FF); }
.prob-card.c4::before { background:linear-gradient(90deg,#00E5C8,#60C3FF); }
.prob-n { font-family:"Space Grotesk",sans-serif; font-size:2.2rem; font-weight:800; opacity:.08; position:absolute; top:1rem; right:1.2rem; }
.prob-ico { font-size:1.8rem; margin-bottom:.75rem; }
.prob-t { font-family:"Space Grotesk",sans-serif; font-size:1rem; font-weight:700; margin-bottom:.6rem; }
.prob-d { font-size:.88rem; color:var(--txt2); line-height:1.7; }

/* ── SCROLL SCENE ── */
.scene-wrapper { display:grid; grid-template-columns:1fr 1fr; min-height:400vh; position:relative; z-index:1; }
.scene-sticky-col { height:400vh; }
.scroll-scene-inner { position:sticky; top:0; height:100vh; display:flex; align-items:center; justify-content:center; }
#sc { width:100%; height:100%; display:block; }
.scene-content-col { display:flex; flex-direction:column; justify-content:space-around; padding:20vh 5% 20vh 3%; }
.scroll-step { min-height:80vh; display:flex; flex-direction:column; justify-content:center; opacity:0; transform:translateX(30px); transition:opacity .6s ease,transform .6s ease; }
.scroll-step.vis { opacity:1; transform:translateX(0); }
.step-num { font-family:"Space Grotesk",sans-serif; font-size:.7rem; font-weight:700; letter-spacing:.14em; color:var(--b3); margin-bottom:.8rem; }
.step-title { font-family:"Space Grotesk",sans-serif; font-size:clamp(1.7rem,3vw,2.5rem); font-weight:700; letter-spacing:-.025em; line-height:1.15; margin-bottom:1rem; }
.step-text { font-size:1rem; color:var(--txt2); line-height:1.85; font-weight:300; max-width:440px; margin-bottom:1.5rem; }
.step-chips { display:flex; flex-wrap:wrap; gap:.5rem; }
.chip { font-size:.75rem; font-weight:500; background:rgba(37,99,235,.12); border:1px solid rgba(59,158,255,.2); border-radius:100px; padding:.3rem .85rem; color:var(--b4); }

/* ── WHAT ++ ── */
.what-sec { background:var(--ink2); }
.what-grid { display:grid; grid-template-columns:1fr 1fr; gap:4.5rem; align-items:center; }
.wv { background:linear-gradient(145deg,rgba(37,99,235,.1),rgba(59,158,255,.04)); border:1px solid rgba(59,158,255,.18); border-radius:24px; padding:2.4rem; position:relative; overflow:hidden; }
.wv::before { content:""; position:absolute; top:-40px; right:-40px; width:180px; height:180px; border-radius:50%; background:radial-gradient(circle,rgba(59,158,255,.12),transparent 70%); pointer-events:none; }
.live-badge { display:inline-flex; align-items:center; gap:.4rem; background:rgba(37,99,235,.14); border:1px solid rgba(59,158,255,.28); border-radius:100px; padding:.28rem .85rem; font-size:.66rem; font-weight:700; letter-spacing:.08em; color:var(--b4); margin-bottom:1.4rem; }
.lb-dot { width:5px; height:5px; border-radius:50%; background:var(--b3); animation:bl 1.5s infinite; }

/* FutrWise++ animated ++ */
.fw-plus-animated { display:inline-block; }
.fw-plus-animated .pp {
  display:inline-block;
  background:var(--gtext); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
  animation:plusPop 2s ease-in-out infinite;
  font-weight:700;
}
@keyframes plusPop {
  0%,100%{transform:scale(1) rotate(0deg)}
  25%{transform:scale(1.3) rotate(8deg)}
  50%{transform:scale(1.1) rotate(-4deg)}
  75%{transform:scale(1.25) rotate(6deg)}
}
.pp2 {
  display:inline-block;
  background:var(--gtext); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
  animation:plusPop 2s ease-in-out .3s infinite;
  font-weight:700;
}

.wv-title { font-family:"Space Grotesk",sans-serif; font-size:1.6rem; font-weight:700; margin-bottom:.4rem; }
.wv-sub { font-size:.82rem; color:var(--txt3); margin-bottom:1.8rem; }
.frow { display:flex; align-items:flex-start; gap:.85rem; padding:.85rem 0; border-bottom:1px solid rgba(255,255,255,.07); }
.frow:last-child { border-bottom:none; }
.fico { width:34px; height:34px; border-radius:9px; background:var(--grad); display:flex; align-items:center; justify-content:center; font-size:.95rem; flex-shrink:0; box-shadow:0 4px 14px rgba(37,99,235,.3); }
.ft { font-size:.88rem; font-weight:600; margin-bottom:.15rem; }
.fd { font-size:.78rem; color:var(--txt3); line-height:1.5; }
.pill { display:flex; align-items:center; gap:.75rem; background:var(--gl); border:1px solid rgba(255,255,255,.08); border-radius:12px; padding:.85rem 1.1rem; margin-bottom:.7rem; }
.pd { width:7px; height:7px; border-radius:50%; background:var(--grad); flex-shrink:0; }
.pt { font-size:.9rem; color:var(--txt2); }
.pt strong { color:var(--txt); }

/* ── PSYCHOMETRIC ── */
.psy-sec { background:var(--ink); overflow:hidden; }
.psy-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.25rem; margin-top:3.5rem; }
@media(max-width:900px) { .psy-grid { grid-template-columns:repeat(2,1fr); } }
@media(max-width:560px) { .psy-grid { grid-template-columns:1fr; } }
.psy-card { padding:1.7rem 1.5rem; }
.pnum { font-family:"Space Grotesk",sans-serif; font-size:1.7rem; font-weight:700; background:var(--gtext); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; margin-bottom:.55rem; }
.ptitle { font-size:.95rem; font-weight:600; margin-bottom:.45rem; }
.pdesc { font-size:.82rem; color:var(--txt2); line-height:1.65; }

/* ── FLOATING ICONS IN PSY SECTION ── */
.psy-floats { position:absolute; inset:0; overflow:hidden; pointer-events:none; }
.psy-float { position:absolute; font-size:3rem; opacity:.04; animation:floatSym 18s ease-in-out infinite; }

/* ── REGULATORY ── */
.reg-sec { background:var(--ink2); }
.reg-grid { display:grid; grid-template-columns:1.1fr .9fr; gap:4rem; align-items:center; }
.reg-box { background:linear-gradient(145deg,rgba(37,99,235,.1),rgba(59,158,255,.04)); border:1px solid rgba(59,158,255,.18); border-radius:24px; padding:2.4rem; position:relative; overflow:hidden; }
.reg-box::after { content:"02/2026"; font-family:"Space Grotesk",sans-serif; font-size:4.5rem; font-weight:700; color:rgba(37,99,235,.07); position:absolute; bottom:-.5rem; right:1rem; line-height:1; pointer-events:none; letter-spacing:-.04em; }
.rttag { font-size:.63rem; font-weight:700; letter-spacing:.12em; color:var(--b3); margin-bottom:.7rem; }
.rh { font-family:"Space Grotesk",sans-serif; font-size:1.4rem; font-weight:700; margin-bottom:1.4rem; line-height:1.3; }
.rst { margin-bottom:.9rem; }
.rsn { font-family:"Space Grotesk",sans-serif; font-size:1.85rem; font-weight:700; background:var(--gtext); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.rsd { font-size:.82rem; color:var(--txt2); }
.ddl { margin-top:1.6rem; background:rgba(37,99,235,.1); border:1px solid rgba(59,158,255,.18); border-radius:10px; padding:.85rem 1.1rem; display:flex; align-items:center; gap:.6rem; }
.ddot { width:7px; height:7px; border-radius:50%; background:var(--b3); flex-shrink:0; animation:bl 2s infinite; }
.dt { font-size:.8rem; color:var(--b4); font-weight:500; }
.rpts { list-style:none; }
.rpts li { display:flex; align-items:flex-start; gap:.65rem; padding:.8rem 0; border-bottom:1px solid rgba(255,255,255,.07); font-size:.88rem; color:var(--txt2); line-height:1.55; }
.rpts li:last-child { border-bottom:none; }
.rck { width:17px; height:17px; border-radius:50%; background:var(--grad); display:flex; align-items:center; justify-content:center; font-size:.55rem; color:#fff; font-weight:700; flex-shrink:0; margin-top:1px; }

/* ── PRICING ── */
.price-sec { background:var(--ink); }
.price-toggle { display:flex; align-items:center; justify-content:center; gap:1rem; margin:1.5rem 0 2.5rem; }
.pt-label { font-size:.875rem; color:var(--txt2); font-weight:500; }
.pt-label.active { color:var(--txt); font-weight:600; }
.pt-switch { width:46px; height:24px; border-radius:100px; background:var(--b2); border:none; cursor:pointer; position:relative; transition:background .3s; }
.pt-switch::after { content:''; position:absolute; top:3px; left:3px; width:18px; height:18px; border-radius:50%; background:#fff; transition:transform .3s; }
.pt-switch.schools::after { transform:translateX(22px); }
.pgrid { display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:1.2rem; max-width:980px; margin:0 auto; }
.pc { padding:2rem 1.75rem; border-radius:20px; background:var(--gl); border:1px solid rgba(255,255,255,.09); backdrop-filter:blur(16px); position:relative; transition:transform .3s,border-color .3s,box-shadow .3s; }
.pc:hover { transform:translateY(-6px); box-shadow:0 20px 55px rgba(37,99,235,.18); }
.pc.hot { border-color:rgba(59,158,255,.38); background:linear-gradient(160deg,rgba(37,99,235,.12),rgba(59,158,255,.05)); }
.pc.hot:hover { box-shadow:0 22px 60px rgba(37,99,235,.28); }
.pop { position:absolute; top:-1px; left:50%; transform:translateX(-50%); background:var(--grad); color:#fff; font-size:.6rem; font-weight:700; letter-spacing:.08em; padding:.26rem .9rem; border-radius:0 0 8px 8px; white-space:nowrap; font-family:"Space Grotesk",sans-serif; }
.ptier { font-size:.65rem; font-weight:700; letter-spacing:.1em; color:var(--txt3); margin-bottom:.55rem; }
.pname { font-family:"Space Grotesk",sans-serif; font-size:1.2rem; font-weight:700; margin-bottom:.3rem; }
.pamt { font-family:"Space Grotesk",sans-serif; font-size:1.9rem; font-weight:700; background:var(--gtext); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.pamt span { font-size:.82rem; color:var(--txt3); font-family:"DM Sans",sans-serif; font-weight:400; }
.pdsc { font-size:.76rem; color:var(--txt3); margin:.35rem 0 1.1rem; }
.pdiv { height:1px; background:rgba(255,255,255,.08); margin:1.1rem 0; }
.pfl { list-style:none; }
.pfl li { display:flex; align-items:flex-start; gap:.5rem; font-size:.82rem; color:var(--txt2); padding:.36rem 0; line-height:1.4; }
.pck { width:14px; height:14px; border-radius:50%; flex-shrink:0; margin-top:1px; background:rgba(59,158,255,.16); display:flex; align-items:center; justify-content:center; font-size:.5rem; color:var(--b3); font-weight:700; }
.pb { display:block; text-align:center; margin-top:1.6rem; padding:.72rem; border-radius:10px; font-size:.83rem; font-weight:600; text-decoration:none; transition:all .2s; font-family:"DM Sans",sans-serif; }
.pb-p { background:var(--grad); color:#fff; box-shadow:0 4px 18px rgba(37,99,235,.35); }
.pb-p:hover { opacity:.88; }
.pb-o { border:1px solid rgba(255,255,255,.12); color:var(--txt); background:transparent; }
.pb-o:hover { background:var(--gl); }
.price-note { text-align:center; margin-top:1.5rem; font-size:.8rem; color:var(--txt3); }

/* ── FOUNDER ── */
.founder-sec { background:var(--ink2); }
.founder-grid { display:grid; grid-template-columns:1fr 1.2fr; gap:4rem; align-items:center; }
.founder-photo-wrap {
  position:relative; border-radius:24px; overflow:hidden;
  border:1px solid rgba(59,158,255,.2);
  background:linear-gradient(145deg,rgba(37,99,235,.1),rgba(59,158,255,.04));
  aspect-ratio:3/4; max-width:340px;
}
.founder-photo-wrap img {
  width:100%; height:100%; object-fit:cover; object-position:top center; display:block;
}
.founder-photo-placeholder {
  width:100%; height:100%; min-height:380px;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  background:linear-gradient(145deg,rgba(37,99,235,.15),rgba(59,158,255,.07));
}
.finit { width:90px; height:90px; border-radius:50%; background:var(--grad); display:flex; align-items:center; justify-content:center; font-family:"Space Grotesk",sans-serif; font-size:2rem; font-weight:700; color:#fff; box-shadow:0 8px 28px rgba(37,99,235,.4); margin-bottom:1rem; }
.photo-label { font-size:.75rem; color:var(--txt3); text-align:center; padding:0 1.5rem; }
.founder-photo-wrap::before { content:''; position:absolute; inset:-2px; border-radius:26px; background:linear-gradient(135deg,rgba(59,158,255,.3),rgba(37,99,235,.15),transparent); z-index:-1; }
.founder-badge-strip { display:flex; flex-direction:column; gap:.75rem; margin-top:1.5rem; }
.fcard { display:flex; align-items:center; gap:.9rem; background:var(--gl); border:1px solid rgba(255,255,255,.08); border-radius:14px; padding:.85rem 1.1rem; }
.fcard-val { font-family:"Space Grotesk",sans-serif; font-size:1.1rem; font-weight:700; background:var(--gtext); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; min-width:48px; }
.fcard-lbl { font-size:.8rem; color:var(--txt2); line-height:1.3; }
.fquote { font-size:.98rem; line-height:1.9; color:var(--txt2); font-style:italic; font-weight:300; padding-left:1.2rem; border-left:2px solid var(--b2); margin-bottom:1.8rem; }
.atag { display:inline-flex; align-items:center; gap:.45rem; background:var(--gl); border:1px solid rgba(255,255,255,.09); border-radius:8px; padding:.45rem .95rem; font-size:.78rem; color:var(--txt2); margin-bottom:1.8rem; }
.atag strong { color:var(--txt); }

/* ── FUTURE ── */
.fut-sec { background:var(--ink); }
.fgrid { display:grid; grid-template-columns:repeat(auto-fit,minmax(185px,1fr)); gap:1.2rem; margin-top:3.5rem; }
.fc { padding:1.65rem 1.4rem; opacity:.68; transition:opacity .3s,transform .3s; }
.fc:hover { opacity:1; }
.ftag { font-size:.62rem; font-weight:700; letter-spacing:.1em; background:rgba(37,99,235,.12); border:1px solid rgba(59,158,255,.18); border-radius:100px; padding:.2rem .68rem; color:var(--b4); display:inline-block; margin-bottom:1rem; }
.fn { font-family:"Space Grotesk",sans-serif; font-size:1rem; font-weight:700; margin-bottom:.4rem; }
.fd2 { font-size:.8rem; color:var(--txt3); line-height:1.6; }

/* ── CTA ── */
.cta-sec { background:var(--ink2); text-align:center; padding:120px 5%; position:relative; overflow:hidden; }
.ctagl { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:700px; height:400px; background:radial-gradient(ellipse,rgba(37,99,235,.1) 0%,transparent 70%); pointer-events:none; }
.cta-sec h2 { font-family:"Space Grotesk",sans-serif; font-size:clamp(1.9rem,4vw,3.2rem); font-weight:700; margin-bottom:1rem; letter-spacing:-.025em; position:relative; z-index:1; }
.cta-sec p { font-size:1rem; color:var(--txt2); margin:0 auto 2.75rem; max-width:460px; font-weight:300; line-height:1.85; position:relative; z-index:1; }
.cform { display:flex; gap:.7rem; justify-content:center; flex-wrap:wrap; max-width:440px; margin:0 auto; position:relative; z-index:1; }
.cinp { flex:1; min-width:200px; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.12); border-radius:10px; padding:.82rem 1.15rem; color:var(--txt); font-size:.93rem; font-family:"DM Sans",sans-serif; outline:none; transition:border-color .2s; }
.cinp::placeholder { color:var(--txt3); }
.cinp:focus { border-color:rgba(59,158,255,.45); }
.tnote { margin-top:1.2rem; font-size:.76rem; color:var(--txt3); position:relative; z-index:1; }
/* admin-link hidden from view — kept functional for direct URL access */
.admin-link { display:none; }

/* ── CONTACT LINKS ── */
.contact-links {
  display: flex; gap: 1rem; justify-content: center;
  flex-wrap: wrap; margin: 2rem auto 0; max-width: 680px;
  position: relative; z-index: 1;
}
.clink {
  display: flex; align-items: center; gap: .65rem;
  background: var(--gl); border: 1px solid var(--glb);
  border-radius: 12px; padding: .85rem 1.25rem;
  text-decoration: none; color: var(--txt);
  backdrop-filter: blur(14px);
  transition: transform .2s, border-color .2s, box-shadow .2s;
  min-width: 150px;
}
.clink:hover {
  transform: translateY(-3px);
  border-color: rgba(59,158,255,.35);
  box-shadow: 0 10px 32px rgba(37,99,235,.2);
}
.clink-icon { font-size: 1.2rem; flex-shrink: 0; }
.clink-label { font-size: .68rem; font-weight: 700; letter-spacing: .08em; color: var(--b3); display: block; text-transform: uppercase; }
.clink-val { font-size: .82rem; color: var(--txt2); display: block; margin-top: .1rem; }

/* ── FOOTER ── */
footer { background:var(--ink); border-top:1px solid rgba(255,255,255,.07); padding:2.4rem 5%; }
.finner { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:1.5rem; }
.flinks { display:flex; gap:1.6rem; flex-wrap:wrap; }
.flinks a { font-size:.8rem; color:var(--txt3); text-decoration:none; transition:color .2s; }
.flinks a:hover { color:var(--b3); }
.fcopy { font-size:.72rem; color:var(--txt3); line-height:1.6; }
/* Hide admin link in footer for public — it just goes to admin/login.html when accessed directly */
.flinks a[href="admin/login.html"] { display:none; }

/* ── REVEAL ── */
.rv { opacity:0; transform:translateY(20px); transition:opacity .65s ease,transform .65s ease; }
.rv.in { opacity:1; transform:translateY(0); }

/* ─────────────────────────────────────────────
   EXPERIOMETRICS SECTION
   ───────────────────────────────────────────── */
#experiometrics { padding:120px 5%; position:relative; }
.expeo-intro { max-width:700px; margin:0 auto 4rem; text-align:center; }
.expeo-philosophy {
  display:grid; grid-template-columns:1fr 1fr; gap:1.5rem;
  max-width:780px; margin:0 auto 5rem;
}
.expeo-card {
  background:var(--gl); border:1px solid var(--glb);
  border-radius:18px; padding:2rem; backdrop-filter:blur(16px);
  position:relative; overflow:hidden;
}
.expeo-card::before {
  content:""; position:absolute; top:0; left:0; right:0; height:2px;
  background:var(--grad);
}
.expeo-card-label {
  font-size:.65rem; font-weight:700; letter-spacing:.12em;
  color:var(--txt3); text-transform:uppercase; margin-bottom:.75rem;
}
.expeo-card-question {
  font-family:"Space Grotesk",sans-serif; font-size:1.15rem;
  font-weight:700; color:var(--txt); line-height:1.4;
}
.expeo-card.highlight {
  background:linear-gradient(135deg,rgba(37,99,235,.15),rgba(59,158,255,.07));
  border-color:rgba(59,158,255,.3);
}
.expeo-card.highlight .expeo-card-question {
  background:var(--gtext); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
  font-size:1.3rem;
}

/* Domain cards */
.expeo-domains {
  display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr));
  gap:1.2rem; margin-bottom:4rem;
}
.domain-card {
  background:var(--gl); border:1px solid var(--glb); border-radius:16px;
  padding:1.5rem; backdrop-filter:blur(14px);
  transition:transform .2s, border-color .2s, box-shadow .2s;
  cursor:default;
}
.domain-card:hover {
  transform:translateY(-4px);
  border-color:rgba(59,158,255,.3);
  box-shadow:0 12px 36px rgba(37,99,235,.18);
}
.domain-num {
  font-family:"Space Grotesk",sans-serif; font-size:.65rem; font-weight:700;
  letter-spacing:.12em; color:var(--b3); margin-bottom:.6rem;
}
.domain-icon { font-size:2rem; margin-bottom:.75rem; }
.domain-title { font-family:"Space Grotesk",sans-serif; font-size:1rem; font-weight:700; margin-bottom:.4rem; }
.domain-challenge { font-size:.8rem; color:var(--txt3); margin-bottom:.9rem; font-style:italic; }
.domain-observe { font-size:.75rem; color:var(--txt2); line-height:1.65; }
.domain-observe span { display:block; padding:.18rem 0; }
.domain-observe span::before { content:"→ "; color:var(--b3); font-weight:700; }

/* Metrics */
.expeo-metrics-grid {
  display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr));
  gap:1rem; margin-bottom:4rem;
}
.metric-card {
  background:var(--gl); border:1px solid var(--glb); border-radius:14px;
  padding:1.25rem 1.4rem; backdrop-filter:blur(12px);
  display:flex; gap:.85rem; align-items:flex-start;
}
.metric-icon-wrap {
  width:38px; height:38px; border-radius:10px; background:var(--grad);
  display:flex; align-items:center; justify-content:center;
  font-size:.95rem; flex-shrink:0;
}
.metric-name { font-family:"Space Grotesk",sans-serif; font-size:.88rem; font-weight:700; margin-bottom:.2rem; }
.metric-desc { font-size:.75rem; color:var(--txt3); line-height:1.5; }

/* Potential genome table */
.genome-section { max-width:680px; margin:0 auto 4rem; }
.genome-table { width:100%; border-collapse:separate; border-spacing:0 .45rem; }
.genome-table thead th { font-size:.65rem; font-weight:700; letter-spacing:.1em; color:var(--txt3); text-transform:uppercase; padding:.4rem 1rem; text-align:left; }
.genome-row td { background:rgba(255,255,255,.04); padding:.8rem 1rem; font-size:.88rem; }
.genome-row td:first-child { border-radius:10px 0 0 10px; color:var(--txt2); font-weight:500; }
.genome-row td:last-child { border-radius:0 10px 10px 0; text-align:right; }
.genome-bar-wrap { display:flex; align-items:center; gap:.75rem; }
.genome-bar-bg { flex:1; height:5px; border-radius:100px; background:rgba(255,255,255,.08); }
.genome-bar-fill { height:100%; border-radius:100px; background:var(--grad); transition:width 1.2s ease; }
.genome-score { font-family:"Space Grotesk",sans-serif; font-weight:700; font-size:.9rem; background:var(--gtext); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; white-space:nowrap; }

/* ── EXPERIOMETRICS — LAPTOP MOCKUP ── */
.genome-laptop-wrap {
  max-width:820px; margin:0 auto 4rem; position:relative;
}
.laptop-outer {
  background:linear-gradient(160deg,#1a2a50 0%,#0d1b3e 100%);
  border:2px solid rgba(59,158,255,.25);
  border-radius:18px 18px 0 0;
  padding:28px 22px 16px;
  box-shadow:0 24px 80px rgba(0,0,0,.55), 0 0 0 1px rgba(255,255,255,.06) inset;
  position:relative;
}
.laptop-topbar {
  position:absolute; top:10px; left:50%; transform:translateX(-50%);
  width:60px; height:6px; border-radius:4px;
  background:rgba(255,255,255,.12);
}
.laptop-dots {
  display:flex; gap:5px; margin-bottom:10px;
}
.laptop-dot {
  width:9px; height:9px; border-radius:50%;
}
.laptop-dot.red { background:#FF5F57; }
.laptop-dot.yellow { background:#FFBD2E; }
.laptop-dot.green { background:#28CA41; }
.laptop-url-bar {
  background:rgba(255,255,255,.07); border-radius:6px;
  padding:4px 10px; margin-bottom:14px;
  display:flex; align-items:center; gap:8px;
}
.laptop-url-lock { font-size:.65rem; color:var(--b4); }
.laptop-url-text { font-size:.68rem; color:var(--txt3); font-family:monospace; }
.laptop-screen {
  background:linear-gradient(180deg,#0a1428 0%,#0d1b3e 100%);
  border-radius:8px; padding:20px; min-height:360px;
  border:1px solid rgba(59,158,255,.1);
  overflow:hidden;
}
.ls-header {
  display:flex; align-items:center; justify-content:space-between;
  margin-bottom:16px; padding-bottom:12px;
  border-bottom:1px solid rgba(255,255,255,.07);
}
.ls-title { font-family:"Space Grotesk",sans-serif; font-size:.9rem; font-weight:700; color:var(--b4); }
.ls-badge {
  font-size:.6rem; font-weight:700; letter-spacing:.08em;
  background:rgba(37,99,235,.25); border:1px solid rgba(59,158,255,.3);
  border-radius:100px; padding:.2rem .7rem; color:var(--b4);
}
.ls-student-info {
  display:flex; align-items:center; gap:12px; margin-bottom:18px;
}
.ls-avatar {
  width:38px; height:38px; border-radius:50%;
  background:var(--grad); display:flex; align-items:center; justify-content:center;
  font-family:"Space Grotesk",sans-serif; font-size:.85rem; font-weight:700; color:#fff;
  flex-shrink:0;
}
.ls-name { font-size:.85rem; font-weight:600; color:var(--txt); }
.ls-grade { font-size:.72rem; color:var(--txt3); }
.ls-metrics-row {
  display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-bottom:16px;
}
.ls-metric {
  background:rgba(255,255,255,.04); border-radius:10px; padding:10px;
  border:1px solid rgba(255,255,255,.06); text-align:center;
}
.ls-metric-val {
  font-family:"Space Grotesk",sans-serif; font-size:1.2rem; font-weight:700;
  background:var(--gtext); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
}
.ls-metric-lbl { font-size:.6rem; color:var(--txt3); margin-top:2px; }
.ls-bars { margin-bottom:14px; }
.ls-bar-row {
  display:flex; align-items:center; gap:10px; margin-bottom:8px;
}
.ls-bar-label { font-size:.72rem; color:var(--txt2); width:110px; flex-shrink:0; }
.ls-bar-track {
  flex:1; height:6px; border-radius:100px;
  background:rgba(255,255,255,.07); position:relative; overflow:hidden;
}
.ls-bar-fill {
  position:absolute; top:0; left:0; height:100%; border-radius:100px;
  background:var(--grad);
  animation:barGrow 1.5s ease both;
}
@keyframes barGrow { from{width:0} }
.ls-bar-pct { font-size:.68rem; font-weight:700; color:var(--b4); width:28px; text-align:right; flex-shrink:0; }
.ls-paths {
  display:flex; gap:6px; flex-wrap:wrap; margin-bottom:12px;
}
.ls-path-tag {
  font-size:.65rem; font-weight:600; border-radius:100px;
  padding:.22rem .75rem; white-space:nowrap;
}
.ls-path-tag.primary { background:rgba(37,99,235,.25); border:1px solid rgba(59,158,255,.35); color:var(--b4); }
.ls-path-tag.secondary { background:rgba(0,229,200,.12); border:1px solid rgba(0,229,200,.2); color:#00E5C8; }
.ls-path-tag.tertiary { background:rgba(139,92,246,.12); border:1px solid rgba(139,92,246,.2); color:#8B5CF6; }
.ls-next {
  background:rgba(37,99,235,.1); border:1px solid rgba(59,158,255,.15);
  border-radius:8px; padding:10px 12px;
  display:flex; align-items:center; gap:8px;
}
.ls-next-icon { font-size:1rem; }
.ls-next-text { font-size:.72rem; color:var(--txt2); }
.ls-next-text strong { color:var(--txt); font-weight:600; }
/* Laptop stand */
.laptop-stand-base {
  height:12px;
  background:linear-gradient(90deg,#0d1b3e,#1a2a50,#0d1b3e);
  border-radius:0 0 4px 4px;
  border:2px solid rgba(59,158,255,.2);
  border-top:none;
}
.laptop-base {
  height:8px; background:linear-gradient(90deg,#0a1228,#1a2a50,#0a1228);
  border-radius:0 0 14px 14px;
  margin:0 40px;
  border:1px solid rgba(59,158,255,.15);
  border-top:none;
  box-shadow:0 8px 24px rgba(0,0,0,.4);
}

/* Three-layer model */
.layer-model {
  display:grid; grid-template-columns:repeat(3,1fr); gap:1rem;
  max-width:680px; margin:0 auto 4rem;
}
.layer-card {
  text-align:center; padding:1.75rem 1rem;
  background:var(--gl); border:1px solid var(--glb); border-radius:16px;
  backdrop-filter:blur(14px); position:relative;
}
.layer-num {
  font-family:"Space Grotesk",sans-serif; font-size:.6rem; font-weight:700;
  letter-spacing:.12em; color:var(--txt3); text-transform:uppercase; margin-bottom:.6rem;
}
.layer-name {
  font-family:"Space Grotesk",sans-serif; font-size:1.1rem; font-weight:700;
  background:var(--gtext); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
  margin-bottom:.4rem;
}
.layer-desc { font-size:.8rem; color:var(--txt3); line-height:1.55; }

/* Quote block */
.expeo-quote {
  max-width:600px; margin:0 auto 5rem;
  background:linear-gradient(135deg,rgba(37,99,235,.12),rgba(59,158,255,.06));
  border:1px solid rgba(59,158,255,.25); border-radius:20px;
  padding:2.5rem 2rem; text-align:center;
}
.expeo-quote-mark { font-size:3.5rem; line-height:1; color:var(--b3); opacity:.35; font-family:"Space Grotesk",sans-serif; }
.expeo-quote-text { font-family:"Space Grotesk",sans-serif; font-size:1.25rem; font-weight:600; color:var(--txt); line-height:1.55; margin-bottom:.85rem; }
.expeo-quote-sub { font-size:.85rem; color:var(--txt3); }

/* ══ RESPONSIVE ══ */
@media(max-width:900px) {
  .hero { grid-template-columns:1fr; text-align:center; padding-top:120px; height:auto; min-height:100vh; }
  .hero-right { position:relative; width:100%; height:320px; min-height:320px; }
  .ha { justify-content:center; }
  .hero-sub { margin:0 auto 2.75rem; }
  .ss { margin:3rem auto 0; }
  .what-grid { grid-template-columns:1fr; gap:2.5rem; }
  .reg-grid { grid-template-columns:1fr; gap:2.5rem; }
  .founder-grid { grid-template-columns:1fr; gap:2.5rem; }
  .founder-photo-wrap { max-width:100%; aspect-ratio:4/3; }
  .scene-wrapper { grid-template-columns:1fr; }
  .scene-sticky-col { display:none; }
  .ls-metrics-row { grid-template-columns:repeat(3,1fr); }
  .side-decor { display:none; }
}
@media(max-width:640px) {
  .nl { display:none; }
  .ham { display:flex; }
  .ss { flex-direction:column; }
  .si+.si { border-left:none; border-top:1px solid rgba(255,255,255,.07); }
  .expeo-philosophy { grid-template-columns:1fr; }
  .layer-model { grid-template-columns:1fr; }
  .ls-metrics-row { grid-template-columns:repeat(3,1fr); gap:5px; }
  .pgrid { grid-template-columns:1fr; }
}
@media(max-width:480px) {
  .nav-auth-btn { display:none; }
  .nc { padding:.45rem 1rem; font-size:.8rem; }
}

/* ── DASHBOARD fix — student dashboard layout ── */
.dashboard-layout {
  display:grid;
  grid-template-columns:240px 1fr;
  min-height:100vh;
}
@media(max-width:768px) {
  .dashboard-layout { grid-template-columns:1fr; }
}

/* ── LIGHT MODE: Experiometrics text visibility ── */
body.light #experiometrics .stag,
body.light #experiometrics .stitle,
body.light #experiometrics h2,
body.light #experiometrics h3,
body.light #experiometrics p { color: var(--txt); }
body.light #experiometrics .ssub,
body.light #experiometrics [style*="color:var(--txt2)"],
body.light #experiometrics [style*="color:var(--txt3)"] { color: var(--txt2) !important; }
body.light .expeo-card-label { color: rgba(13,27,62,.5) !important; }
body.light .expeo-card-question { color: #0D1B3E !important; }
body.light .expeo-card { background: rgba(255,255,255,.8) !important; border-color: rgba(13,27,62,.12) !important; }
body.light .expeo-card.highlight { background: rgba(37,99,235,.08) !important; border-color: rgba(37,99,235,.2) !important; }
body.light .domain-card { background: rgba(255,255,255,.8) !important; border-color: rgba(13,27,62,.1) !important; }
body.light .domain-num { color: #1535A0 !important; }
body.light .domain-title { color: #0D1B3E !important; }
body.light .domain-challenge { color: rgba(13,27,62,.5) !important; }
body.light .domain-observe { color: rgba(13,27,62,.65) !important; }
body.light .metric-card { background: rgba(255,255,255,.8) !important; border-color: rgba(13,27,62,.1) !important; }
body.light .metric-name { color: #0D1B3E !important; }
body.light .metric-desc { color: rgba(13,27,62,.5) !important; }
body.light .layer-card { background: rgba(255,255,255,.8) !important; border-color: rgba(13,27,62,.1) !important; }
body.light .layer-num { color: rgba(13,27,62,.4) !important; }
body.light .layer-desc { color: rgba(13,27,62,.5) !important; }
body.light .expeo-quote { background: linear-gradient(135deg,rgba(37,99,235,.08),rgba(59,158,255,.04)) !important; border-color: rgba(37,99,235,.18) !important; }
body.light .expeo-quote-text { color: #0D1B3E !important; }
body.light .expeo-quote-sub { color: rgba(13,27,62,.5) !important; }
body.light .genome-row td { background: rgba(13,27,62,.04) !important; color: rgba(13,27,62,.7) !important; }
/* Problem cards */
body.light .prob-card { background: rgba(255,255,255,.8) !important; }
body.light .prob-t { color: #0D1B3E !important; }
body.light .prob-d { color: rgba(13,27,62,.65) !important; }
/* Scroll steps */
body.light .step-title { color: #0D1B3E !important; }
body.light .step-num { color: #1535A0 !important; }
body.light .step-text { color: rgba(13,27,62,.65) !important; }
/* Stats section */
body.light .si { color: #0D1B3E; }
body.light .sl { color: rgba(13,27,62,.5) !important; }
body.light .ss { background: rgba(255,255,255,.75) !important; border-color: rgba(13,27,62,.12) !important; }
body.light .si + .si { border-color: rgba(13,27,62,.1) !important; }
/* Future cards */
body.light .fc { background: rgba(255,255,255,.75) !important; border-color: rgba(13,27,62,.1) !important; }
body.light .fn { color: #0D1B3E !important; }
body.light .fd2 { color: rgba(13,27,62,.5) !important; }
/* Regulatory */
body.light .rpts li { color: rgba(13,27,62,.7) !important; border-color: rgba(13,27,62,.08) !important; }
body.light .rh { color: #0D1B3E !important; }
/* Founder */
body.light .fquote { color: rgba(13,27,62,.7) !important; border-color: rgba(37,99,235,.3) !important; }
body.light .atag { background: rgba(255,255,255,.7) !important; border-color: rgba(13,27,62,.1) !important; color: rgba(13,27,62,.65) !important; }
/* CTA section */
body.light .cta-sec h2 { color: #0D1B3E !important; }
body.light .cta-sec p { color: rgba(13,27,62,.65) !important; }
body.light .tnote { color: rgba(13,27,62,.45) !important; }
body.light .clink { color: #0D1B3E !important; background: rgba(255,255,255,.8) !important; border-color: rgba(13,27,62,.12) !important; }
body.light .clink-val { color: rgba(13,27,62,.65) !important; }
/* What section */
body.light .wv-title { color: #0D1B3E !important; }
body.light .wv-sub { color: rgba(13,27,62,.45) !important; }
body.light .ft { color: #0D1B3E !important; }
body.light .fd { color: rgba(13,27,62,.5) !important; }
body.light .pill { background: rgba(255,255,255,.7) !important; border-color: rgba(13,27,62,.1) !important; }
body.light .pt strong { color: #0D1B3E !important; }
