/* ═══════════════════════════════════════════════════════════════════════════
   ATMOS · Design System v3
   Premium climate-intelligence aesthetic
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── Tokens ────────────────────────────────────────────────────────────── */
:root {
  --bg:        #040d16;
  --bg2:       #070f1c;
  --bg3:       #0a1524;
  --panel:     #0d1e2f;
  --panel2:    #112438;
  --panel3:    #152c44;
  --line:      rgba(90,170,200,.12);
  --line2:     rgba(90,170,200,.20);
  --line3:     rgba(90,170,200,.30);

  --text:      #e6f4f9;
  --muted:     #84a8bc;
  --faint:     #4e7185;

  --aqua:      #5dd8d0;
  --aqua-hi:   #92f5ee;
  --aqua-dim:  rgba(93,216,208,.14);
  --aqua-glow: rgba(93,216,208,.07);
  --blue:      #5eaaee;
  --amber:     #f0b968;
  --amber-dim: rgba(240,185,104,.14);
  --lilac:     #b0a2d8;
  --cool:      #8eb4cc;

  --font-body: 'DM Sans', system-ui, sans-serif;
  --font-head: 'Manrope', system-ui, sans-serif;

  --pad: clamp(72px,8.5vw,120px) 5.5%;
  --max: 1300px;
  --r:   8px;
  --rl:  16px;

  --ease: cubic-bezier(.22,.68,0,1.08);
  --soft: cubic-bezier(.4,0,.2,1);
}

/* ── Reset ─────────────────────────────────────────────────────────────── */
*,*::before,*::after { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
  margin:0; background:var(--bg); color:var(--text);
  font-family:var(--font-body); overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
a { color:inherit; text-decoration:none; }
button { font:inherit; cursor:pointer; }
img { display:block; max-width:100%; }
p { margin-top:0; line-height:1.76; }
h1,h2,h3 { margin-top:0; font-family:var(--font-head); letter-spacing:-.05em; }
a:focus-visible,button:focus-visible { outline:2px solid var(--aqua); outline-offset:3px; border-radius:3px; }
.hidden { display:none!important; }

/* ── Grain ─────────────────────────────────────────────────────────────── */
.grain {
  position:fixed; inset:0; pointer-events:none; z-index:99; opacity:.04;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ═══════════════════════════════════════════════════════════════════════
   CLOUD CHARACTER
═══════════════════════════════════════════════════════════════════════ */
.cloud-guide {
  position:fixed; bottom:26px; right:26px; z-index:90;
  display:flex; flex-direction:column; align-items:flex-end; gap:8px;
  pointer-events:none; transition:opacity .5s;
}
.cloud-guide.dismissed { opacity:0; pointer-events:none; }

.cloud-body {
  position:relative; width:76px; height:52px;
  animation:cloud-float 4s ease-in-out infinite;
  pointer-events:all; cursor:default; filter:drop-shadow(0 6px 18px rgba(93,216,208,.25));
}
.cloud-body::before {
  content:''; position:absolute; inset:0;
  background:linear-gradient(145deg,#c6ecf8,#a2ddef,#b0e8f4);
  border-radius:50px;
  box-shadow:0 3px 16px rgba(93,216,208,.22), inset 0 -3px 7px rgba(0,0,0,.09);
}
.cloud-puff { position:absolute; border-radius:50%; box-shadow:inset 0 -2px 4px rgba(0,0,0,.07); }
.cloud-puff.p1 { width:36px;height:36px;top:-16px;left:9px;  background:#c0eaf6; }
.cloud-puff.p2 { width:27px;height:27px;top:-11px;left:29px; background:#b8e6f4; }
.cloud-puff.p3 { width:21px;height:21px;top:-7px; left:50px; background:#b0e2f2; }
.cloud-face {
  position:absolute; bottom:11px; left:50%; transform:translateX(-50%);
  display:flex; gap:10px; align-items:center; z-index:1;
}
.cloud-eye {
  width:5px;height:5px;border-radius:50%;background:#2a6680;
  animation:blink 5s ease-in-out infinite;
}
.cloud-eye.right { animation-delay:.1s; }
.cloud-mouth {
  position:absolute; bottom:-8px; left:50%; transform:translateX(-50%);
  width:14px;height:6px; border-bottom:2px solid #2a6680; border-radius:0 0 8px 8px;
}
.cloud-rain { position:absolute; bottom:-18px;left:50%;transform:translateX(-50%);display:flex;gap:5px; }
.cloud-rain span {
  width:2px;height:8px;background:linear-gradient(var(--aqua),transparent);border-radius:2px;
  animation:rain-drop 1.2s ease-in infinite;
}
.cloud-rain span:nth-child(2){animation-delay:.2s;}
.cloud-rain span:nth-child(3){animation-delay:.4s;}

.cloud-bubble {
  background:rgba(12,26,42,.92); border:1px solid var(--line2);
  border-radius:var(--r); padding:10px 14px; max-width:220px;
  font-size:12px; line-height:1.5; color:var(--text);
  pointer-events:all; backdrop-filter:blur(14px);
  box-shadow:0 8px 24px rgba(0,0,0,.4);
  animation:bubble-in .4s var(--ease) both;
}
.cloud-bubble p { margin:0; }

.cloud-dismiss {
  position:absolute; top:-7px; left:-7px;
  width:22px;height:22px; border-radius:50%;
  background:rgba(12,26,42,.9); border:1px solid var(--line2);
  color:var(--muted); font-size:10px;
  display:grid;place-items:center; pointer-events:all;
  transition:color .2s,background .2s;
}
.cloud-dismiss:hover { color:var(--aqua); background:var(--panel2); }

/* Mood tints */
.cloud-guide[data-mood="active"]     .cloud-body::before{background:linear-gradient(145deg,#9af4ec,#70e8e0,#98f2ea);}
.cloud-guide[data-mood="break"]      .cloud-body::before{background:linear-gradient(145deg,#c4d6e8,#9ab4c8,#b2cad8);}
.cloud-guide[data-mood="low"]        .cloud-body::before{background:linear-gradient(145deg,#f6deb8,#f0c280,#f6d4a0);}
.cloud-guide[data-mood="transition"] .cloud-body::before{background:linear-gradient(145deg,#d4c8ee,#beb0e2,#ccc0ea);}

@keyframes cloud-float { 0%,100%{transform:translateY(0);}   50%{transform:translateY(-9px);} }
@keyframes blink       { 0%,90%,100%{transform:scaleY(1);}   95%{transform:scaleY(.1);} }
@keyframes rain-drop   { 0%{opacity:0;transform:translateY(-4px);}30%{opacity:1;}100%{opacity:0;transform:translateY(14px);} }
@keyframes bubble-in   { from{opacity:0;transform:scale(.88) translateY(8px);}to{opacity:1;transform:scale(1) translateY(0);} }

/* ═══════════════════════════════════════════════════════════════════════
   HEADER
═══════════════════════════════════════════════════════════════════════ */
.header {
  position:sticky; top:0; z-index:80; height:70px;
  display:flex; align-items:center; gap:34px; padding:0 5.5%;
  background:rgba(4,13,22,.84); backdrop-filter:blur(20px);
  border-bottom:1px solid var(--line);
  transition:background .3s, box-shadow .3s;
}
.header.scrolled { background:rgba(4,13,22,.96); box-shadow:0 2px 24px rgba(0,0,0,.5); }

.brand { display:flex;align-items:center;gap:12px;font:800 15px var(--font-head);letter-spacing:.08em;white-space:nowrap; }
.brand-hex {
  width:32px;height:32px; display:grid;place-items:center;
  border:1.5px solid var(--aqua); color:var(--aqua); font-weight:800; font-size:14px;
  clip-path:polygon(17% 0,83% 0,100% 50%,83% 100%,17% 100%,0 50%);
  box-shadow:0 0 12px rgba(93,216,208,.2); flex-shrink:0;
}
.brand-text small { color:var(--aqua); font-size:10px; letter-spacing:.06em; }

#nav { display:flex;gap:24px;margin:0 auto;font-size:12.5px;color:var(--muted); }
#nav a { transition:color .2s; letter-spacing:.02em; }
#nav a:hover { color:var(--aqua); }

.header-cta {
  white-space:nowrap; font:700 12px var(--font-head); letter-spacing:.05em;
  border:1px solid rgba(93,216,208,.3); padding:9px 16px; border-radius:var(--r);
  color:var(--aqua); background:rgba(93,216,208,.06);
  transition:background .2s,border-color .2s,box-shadow .2s;
}
.header-cta:hover { background:var(--aqua-dim); border-color:var(--aqua); box-shadow:0 0 18px rgba(93,216,208,.15); }

.menu-btn { display:none;flex-direction:column;gap:5px;background:none;border:0;padding:6px;margin-left:auto; }
.menu-btn span { display:block;width:22px;height:2px;background:var(--text);border-radius:2px;transition:transform .3s,opacity .3s; }
.menu-btn[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.menu-btn[aria-expanded="true"] span:nth-child(2){opacity:0;}
.menu-btn[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

/* ═══════════════════════════════════════════════════════════════════════
   SHARED SECTION LAYOUT
═══════════════════════════════════════════════════════════════════════ */
.section { padding:var(--pad); }
.dark-section { background:var(--bg2); }
.section-inner { max-width:var(--max); margin:0 auto; }

.section-label {
  font:700 10px var(--font-head); letter-spacing:.2em;
  color:var(--aqua); margin-bottom:38px; text-transform:uppercase;
  display:flex; align-items:center; gap:10px;
}
.section-label::before { content:''; width:24px; height:1px; background:var(--aqua); opacity:.5; }

.section-lede { font-size:15.5px;line-height:1.78;color:var(--muted);max-width:560px; }
h2 { font-size:clamp(36px,4.2vw,60px); line-height:1.12; margin-bottom:20px; }
h2 i { font-style:normal; color:var(--aqua); }
h3 { font:700 19px var(--font-head); margin-bottom:10px; letter-spacing:-.03em; }

/* Scroll reveals */
.reveal-up,.reveal-left,.reveal-right {
  opacity:0; transition:opacity .7s var(--soft),transform .7s var(--soft);
  transition-delay:var(--delay,0s);
}
.reveal-up    { transform:translateY(26px); }
.reveal-left  { transform:translateX(-22px); }
.reveal-right { transform:translateX(22px); }
.reveal-up.visible,.reveal-left.visible,.reveal-right.visible { opacity:1;transform:translate(0); }

/* ═══════════════════════════════════════════════════════════════════════
   HERO  — cinematic gradient + layered depth
═══════════════════════════════════════════════════════════════════════ */
.hero {
  position:relative; min-height:100svh;
  display:flex; flex-direction:column;
  background:
    radial-gradient(ellipse 80% 60% at 68% 42%, rgba(20,72,110,.55) 0%, transparent 65%),
    radial-gradient(ellipse 50% 40% at 30% 80%, rgba(10,40,70,.4) 0%, transparent 60%),
    linear-gradient(180deg, #050e18 0%, #040d16 100%);
  overflow:hidden;
}
.hero-bg { position:absolute;inset:0;pointer-events:none; }

/* Fine grid */
.hero-grid {
  position:absolute;inset:0;
  background:
    linear-gradient(90deg, transparent 49.85%, rgba(93,216,208,.05) 50%, transparent 50.15%),
    linear-gradient(0deg,  transparent 49.85%, rgba(93,216,208,.05) 50%, transparent 50.15%);
  background-size:64px 64px;
  mask-image:linear-gradient(90deg, transparent 18%, black 65%);
}

/* Aurora shimmer */
.hero-aurora {
  position:absolute; width:900px;height:700px; top:-180px;right:-120px;
  background:radial-gradient(ellipse,rgba(30,110,165,.18) 0%,rgba(15,60,110,.07) 45%,transparent 72%);
  animation:aurora 9s ease-in-out infinite;
}
.hero-aurora2 {
  position:absolute; width:600px;height:500px; bottom:-100px;left:-80px;
  background:radial-gradient(ellipse,rgba(93,216,208,.07) 0%,transparent 65%);
  animation:aurora 12s ease-in-out infinite reverse;
}
@keyframes aurora { 0%,100%{opacity:.7;transform:scale(1) rotate(0deg);}50%{opacity:1;transform:scale(1.06) rotate(1.5deg);} }

/* Starfield dots */
.hero-stars {
  position:absolute;inset:0;
  background-image:
    radial-gradient(1px 1px at 15% 22%,rgba(255,255,255,.4) 0%,transparent 100%),
    radial-gradient(1px 1px at 72% 14%,rgba(255,255,255,.35) 0%,transparent 100%),
    radial-gradient(1px 1px at 88% 58%,rgba(255,255,255,.3) 0%,transparent 100%),
    radial-gradient(1px 1px at 34% 78%,rgba(255,255,255,.25) 0%,transparent 100%),
    radial-gradient(1px 1px at 56% 44%,rgba(255,255,255,.2) 0%,transparent 100%),
    radial-gradient(1.5px 1.5px at 8% 66%,rgba(93,216,208,.4) 0%,transparent 100%),
    radial-gradient(1.5px 1.5px at 92% 38%,rgba(93,216,208,.3) 0%,transparent 100%);
}

.hero-inner {
  flex:1; max-width:var(--max); margin:0 auto; width:100%;
  padding:84px 5.5% 64px;
  display:grid; grid-template-columns:46% 54%;
  align-items:center; position:relative; z-index:2;
}
.hero-copy { position:relative; z-index:4; }

/* Eyebrow */
.eyebrow {
  display:flex; align-items:center; gap:10px; flex-wrap:wrap;
  font:700 9.5px var(--font-head); letter-spacing:.2em; color:#8fcfe0; margin-bottom:4px;
}
.pulse-dot {
  width:7px;height:7px;border-radius:50%;background:var(--aqua);
  box-shadow:0 0 10px var(--aqua);
  animation:pulse 2.6s ease-in-out infinite;
}
@keyframes pulse { 0%,100%{box-shadow:0 0 8px var(--aqua);}50%{box-shadow:0 0 22px var(--aqua),0 0 44px rgba(93,216,208,.25);} }
.eyebrow-sep { opacity:.3; }

h1 {
  font-size:clamp(42px,5vw,80px); line-height:1.09;
  margin:20px 0 22px; max-width:660px;
  background:linear-gradient(135deg,#e6f4f9 30%,var(--aqua-hi) 100%);
  -webkit-background-clip:text; -webkit-text-fill-color:transparent;
  background-clip:text;
}
h1 em {
  font-style:normal;
  -webkit-text-fill-color:var(--aqua);
  text-shadow:0 0 40px rgba(93,216,208,.3);
}

.hero-lede { font-size:16px;line-height:1.76;color:#94b8c8;max-width:510px; }

/* Buttons */
.hero-actions { display:flex;gap:10px;flex-wrap:wrap;margin-top:30px; }
.btn {
  display:inline-flex;align-items:center;gap:16px;
  padding:13px 21px; border-radius:var(--r); border:none;
  font:700 12px var(--font-head); letter-spacing:.04em;
  transition:all .22s var(--soft); white-space:nowrap;
}
.btn.primary {
  background:linear-gradient(135deg,var(--aqua),#3accc4);
  color:#062030;
  box-shadow:0 6px 28px rgba(93,216,208,.28), inset 0 1px 0 rgba(255,255,255,.2);
}
.btn.primary:hover { background:linear-gradient(135deg,var(--aqua-hi),#5de0d8); box-shadow:0 10px 38px rgba(93,216,208,.4); transform:translateY(-1px); }
.btn.secondary { background:rgba(93,216,208,.08); border:1px solid rgba(93,216,208,.28); color:var(--text); }
.btn.secondary:hover { border-color:var(--aqua);background:var(--aqua-dim);transform:translateY(-1px); }
.btn.ghost { background:rgba(255,255,255,.04);border:1px solid var(--line2);color:var(--muted); }
.btn.ghost:hover { border-color:var(--line3);color:var(--text); }
.soon-badge {
  font-size:8.5px;font-family:var(--font-head);letter-spacing:.12em;
  background:var(--amber-dim);color:var(--amber);padding:3px 7px;border-radius:3px;
}

/* Hero stats */
.hero-stats { display:flex;gap:34px;margin-top:48px; }
.stat { border-left:1px solid rgba(93,216,208,.22);padding-left:14px;display:grid;gap:4px; }
.stat b { font:800 26px var(--font-head);color:var(--aqua);line-height:1; }
.stat span { font-size:11px;color:var(--muted); }

/* ── Globe / orb ─────────────────────────────────────────────────────── */
.orb-wrap {
  position:relative; height:min(600px,92svh); width:100%;
  /* subtle vignette behind globe */
  background:radial-gradient(ellipse 70% 70% at 50% 50%,rgba(20,70,110,.18) 0%,transparent 72%);
}
.orb-wrap::before {
  content:''; position:absolute; inset:8%;
  border:1px solid rgba(93,216,208,.1); border-radius:50%;
  box-shadow:0 0 120px rgba(20,100,160,.14);
  pointer-events:none;
}
.orb-wrap::after {
  content:''; position:absolute; inset:2%;
  border:1px dashed rgba(93,216,208,.06); border-radius:50%;
  pointer-events:none; animation:ring-spin 36s linear infinite;
}
@keyframes ring-spin { from{transform:rotate(0deg);}to{transform:rotate(360deg);} }

/* Second decorative ring */
.orb-ring2 {
  position:absolute; inset:14%;
  border:1px dashed rgba(93,216,208,.04); border-radius:50%;
  pointer-events:none; animation:ring-spin 60s linear infinite reverse;
}

#globe { position:absolute;inset:0;cursor:grab; }
#globe:active { cursor:grabbing; }
#globe canvas { width:100%;height:100%;display:block; }

/* Overlay labels */
.orb-top,.orb-bottom,.orb-hint {
  position:absolute; font:700 9px var(--font-head); letter-spacing:.17em;
  color:#8abccc; pointer-events:none; z-index:3;
}
.orb-top {
  top:38px; left:8%;
  display:flex;gap:9px;align-items:center;
  background:rgba(4,13,22,.6); padding:7px 12px; border-radius:20px;
  border:1px solid rgba(93,216,208,.12); backdrop-filter:blur(8px);
}
.tiny-dot {
  width:6px;height:6px;border-radius:50%;background:var(--aqua);
  box-shadow:0 0 10px var(--aqua);transition:background .4s,box-shadow .4s;
}
.orb-bottom {
  bottom:60px; right:7%;
  display:flex;gap:18px;align-items:center;
  background:rgba(4,13,22,.76); border:1px solid rgba(93,216,208,.25);
  padding:10px 16px; backdrop-filter:blur(10px);
  box-shadow:0 4px 20px rgba(0,0,0,.4);
}
.signal { color:var(--aqua);letter-spacing:4px;transition:color .4s; }
.orb-hint { left:3%;bottom:76px;line-height:2;color:#4e7080;font-size:8px; }

.orb-notice {
  position:absolute;bottom:0;left:0;right:0;text-align:center;
  font:600 8.5px var(--font-head);letter-spacing:.14em;color:#3a5e6e;
  padding:9px; pointer-events:none; z-index:3;
  border-top:1px solid rgba(93,216,208,.07);
  background:linear-gradient(transparent,rgba(4,13,22,.5));
}

/* Globe controls */
.globe-controls { position:absolute;top:42px;right:7%;display:flex;gap:6px;z-index:4; }
.globe-ctrl {
  width:34px;height:34px;display:grid;place-items:center;
  background:rgba(4,13,22,.72);border:1px solid var(--line2);border-radius:6px;
  color:var(--muted);font-size:13px;
  transition:color .2s,border-color .2s,background .2s,box-shadow .2s;
  backdrop-filter:blur(8px);
}
.globe-ctrl:hover { color:var(--aqua);border-color:var(--aqua);background:var(--aqua-dim);box-shadow:0 0 14px rgba(93,216,208,.15); }
.globe-ctrl.paused { color:var(--amber);border-color:var(--amber); }

/* Regime mode buttons */
.regime-modes {
  position:absolute; bottom:100px; left:50%; transform:translateX(-50%);
  display:flex; gap:6px; z-index:4;
}
.regime-btn {
  display:flex;flex-direction:column;align-items:center;gap:5px;
  padding:9px 13px;
  border:1px solid rgba(93,216,208,.16); border-radius:8px;
  background:rgba(4,13,22,.72); backdrop-filter:blur(12px);
  color:#6a9aac; font:700 8px var(--font-head); letter-spacing:.13em;
  min-width:60px; transition:all .2s var(--soft);
}
.regime-btn:hover { background:rgba(12,34,52,.88);border-color:rgba(93,216,208,.4);color:var(--text); }
.rbtn-symbol { font-size:16px;line-height:1; }
.rbtn-label  { font-size:7.5px; }

.regime-btn.active-btn.selected     { border-color:var(--aqua); color:var(--aqua); background:rgba(6,36,48,.9); box-shadow:0 0 16px rgba(93,216,208,.18),inset 0 0 10px rgba(93,216,208,.06); }
.regime-btn.break-btn.selected      { border-color:var(--cool); color:var(--cool); background:rgba(8,22,42,.9); box-shadow:0 0 16px rgba(142,180,204,.18); }
.regime-btn.low-btn.selected        { border-color:var(--amber);color:var(--amber);background:rgba(30,18,6,.9);  box-shadow:0 0 16px rgba(240,185,104,.18); }
.regime-btn.transition-btn.selected { border-color:var(--lilac);color:var(--lilac);background:rgba(18,14,36,.9); box-shadow:0 0 16px rgba(176,162,216,.18); }

/* Orb-wrap regime accent */
.orb-wrap[data-regime="active"]     .orb-bottom{border-color:rgba(93,216,208,.4);}
.orb-wrap[data-regime="active"]     .signal{color:var(--aqua);}
.orb-wrap[data-regime="break"]      .orb-bottom{border-color:rgba(142,180,204,.4);}
.orb-wrap[data-regime="break"]      .signal{color:var(--cool);}
.orb-wrap[data-regime="low"]        .orb-bottom{border-color:rgba(240,185,104,.4);}
.orb-wrap[data-regime="low"]        .signal{color:var(--amber);}
.orb-wrap[data-regime="transition"] .orb-bottom{border-color:rgba(176,162,216,.4);}
.orb-wrap[data-regime="transition"] .signal{color:var(--lilac);}

/* Globe fallback */
#globe.fallback { display:grid;place-items:center; }
.fallback-orb {
  width:min(58vw,390px);height:min(58vw,390px);border-radius:50%;
  display:grid;place-items:center;font-size:170px;color:#70d8d0;
  background:radial-gradient(circle at 33% 28%,#1a5878,#092d46 55%,#060f1e 80%);
  box-shadow:inset -22px -18px 45px rgba(4,12,22,.8),0 0 60px rgba(50,180,210,.12);
  border:1px solid rgba(120,200,215,.14);
}

/* Scroll hint */
.hero-scroll {
  display:flex;flex-direction:column;align-items:center;gap:7px;
  position:absolute;bottom:22px;left:50%;transform:translateX(-50%);
  font:700 8px var(--font-head);letter-spacing:.2em;color:var(--faint);
  z-index:2;animation:scroll-fade 2.2s ease-in-out infinite;transition:opacity .6s;
}
.scroll-line { width:1px;height:28px;background:linear-gradient(var(--aqua),transparent); }
@keyframes scroll-fade { 0%,100%{opacity:.35;}50%{opacity:.85;} }

/* ═══════════════════════════════════════════════════════════════════════
   §2 PROBLEM
═══════════════════════════════════════════════════════════════════════ */
.problem-layout {
  display:grid;grid-template-columns:1fr 1fr;gap:8%;
  align-items:start;margin-bottom:68px;
}
.problem-copy p { font-size:15px;color:var(--muted);margin-bottom:16px; }
.problem-copy strong { color:var(--text); }
.source-pill { display:inline-flex;gap:14px;align-items:center;margin-top:22px;font-size:11px; }
.source-pill span { font:700 9px var(--font-head);letter-spacing:.15em;color:var(--aqua); }
.source-pill strong { color:#c8dce4;font-weight:500; }

/* Compare toggle */
.compare-toggle { display:flex;border:1px solid var(--line2);border-radius:var(--r);overflow:hidden;margin-bottom:20px; }
.compare-tab {
  flex:1;padding:11px 16px;background:transparent;border:none;
  color:var(--muted);font:600 12px var(--font-head);letter-spacing:.04em;transition:background .2s,color .2s;
}
.compare-tab+.compare-tab { border-left:1px solid var(--line2); }
.compare-tab.selected { background:var(--aqua-dim);color:var(--aqua); }
.compare-tab:hover:not(.selected) { background:var(--panel);color:var(--text); }
.compare-panel { display:none; }
.compare-panel.selected { display:block; }

.compare-diagram {
  display:flex;align-items:center;gap:6px;flex-wrap:wrap;
  padding:20px 16px;background:var(--panel);
  border:1px solid var(--line);border-radius:var(--r);margin-bottom:14px;min-height:110px;
}
.cd-input,.cd-output {
  display:flex;flex-direction:column;gap:5px;padding:9px 12px;
  background:var(--bg3);border:1px solid var(--line2);border-radius:5px;
}
.cd-label { font:700 9px var(--font-head);letter-spacing:.1em;color:var(--muted); }
.cd-note  { font-size:9px;color:var(--faint);max-width:100px;line-height:1.4; }
.cd-arrow { color:var(--faint);font-size:16px; }
.cd-box {
  display:flex;flex-direction:column;align-items:center;gap:6px;
  padding:11px 13px;border-radius:6px;font-size:11px;text-align:center;line-height:1.35;min-width:78px;
}
.cd-box.single  { background:var(--bg3);border:1px solid rgba(93,216,208,.22);color:var(--aqua); }
.cd-box.regime-id { background:var(--bg3);border:1px solid rgba(93,216,208,.22);color:var(--aqua); }
.cd-box.gate    { background:var(--bg3);border:1px solid rgba(240,185,104,.22);color:var(--amber); }
.cd-icon { font-size:18px; }
.cd-experts { display:grid;grid-template-columns:1fr 1fr;gap:4px;font-size:10px; }
.cd-expert { padding:5px 8px;border-radius:4px;font-weight:700;font-family:var(--font-head); }
.cd-expert.active     { background:rgba(93,216,208,.14); color:var(--aqua); }
.cd-expert.break      { background:rgba(142,180,204,.14);color:var(--cool); }
.cd-expert.low        { background:rgba(240,185,104,.14);color:var(--amber); }
.cd-expert.transition { background:rgba(176,162,216,.14);color:var(--lilac); }
.compare-caption { font-size:12.5px;color:var(--muted);line-height:1.65; }
.compare-caption em { font-style:normal;color:var(--faint);font-size:11px; }

/* 4-col regime cards */
.regime-cards {
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:1px;background:var(--line);border:1px solid var(--line);
}
.regime-card {
  background:var(--bg3);padding:28px 20px 32px;
  position:relative;overflow:hidden;transition:background .25s;
}
.regime-card::after {
  content:'';position:absolute;inset:0;opacity:0;transition:opacity .3s;
  background:linear-gradient(145deg,rgba(93,216,208,.04),transparent 60%);
}
.regime-card:hover { background:#0e2234; }
.regime-card:hover::after { opacity:1; }
.rc-symbol { font-size:36px;height:58px;line-height:1;color:var(--aqua); }
.rc-symbol.break      { color:var(--cool); }
.rc-symbol.low        { color:var(--amber); }
.rc-symbol.transition { color:var(--lilac); }
.rc-num { font:700 9px var(--font-head);letter-spacing:.14em;color:var(--faint);margin-bottom:8px; }
.regime-card h3 { font-size:17px;margin-bottom:8px; }
.regime-card p  { font-size:13px;color:var(--muted);line-height:1.65; }
.rc-tag { margin-top:14px;display:inline-block;font:700 8.5px var(--font-head);letter-spacing:.1em;color:var(--faint);border:1px solid var(--line2);padding:4px 9px;border-radius:3px; }

/* ═══════════════════════════════════════════════════════════════════════
   §3 SOLUTION / PIPELINE
═══════════════════════════════════════════════════════════════════════ */
.solution-header { display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:end;margin-bottom:44px; }

/* Glass innovation card */
.solution-innovation {
  padding:26px 28px;
  background:linear-gradient(135deg,rgba(20,52,78,.7),rgba(12,30,50,.8));
  border:1px solid var(--line2);border-radius:var(--rl);
  border-left:2px solid var(--aqua);
  backdrop-filter:blur(10px);
  box-shadow:0 8px 32px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.03);
}
.inno-label { font:700 9px var(--font-head);letter-spacing:.17em;color:var(--aqua);margin-bottom:12px; }
.solution-innovation p { font-size:14px;color:var(--muted);line-height:1.72;margin:0; }

/* Pipeline */
.pipeline {
  display:grid;grid-template-columns:37% 63%;
  border:1px solid var(--line2);border-radius:var(--rl);overflow:hidden;min-height:460px;margin-bottom:30px;
  box-shadow:0 16px 48px rgba(0,0,0,.35);
}
.pipeline-steps { border-right:1px solid var(--line2);display:grid;grid-template-rows:repeat(5,1fr); }
.pipe-step {
  border:0;border-bottom:1px solid var(--line);
  background:var(--panel);color:var(--muted);
  text-align:left;display:flex;gap:16px;align-items:center;padding:0 26px;
  transition:background .2s,color .2s;
}
.pipe-step:last-child { border-bottom:0; }
.ps-num  { font:700 9px var(--font-head);letter-spacing:.12em;color:var(--faint);min-width:20px; }
.ps-name { font:600 15px var(--font-head);flex:1; }
.ps-arrow{ color:var(--faint);transition:color .2s; }
.pipe-step.selected,.pipe-step:hover { background:var(--panel2);color:var(--aqua); }
.pipe-step.selected .ps-num,.pipe-step:hover .ps-num   { color:var(--aqua); }
.pipe-step.selected .ps-arrow,.pipe-step:hover .ps-arrow{ color:var(--aqua); }

.pipeline-detail {
  background:radial-gradient(circle at 85% 15%,rgba(25,80,105,.35),transparent 52%), var(--bg3);
  position:relative;overflow:hidden;
}
.pipe-panel { padding:42px 8%;animation:panel-in .3s var(--ease); }
@keyframes panel-in { from{opacity:0;transform:translateX(8px);}to{opacity:1;transform:translateX(0);} }
.pp-mark  { font-size:96px;color:rgba(93,216,208,.1);line-height:1.3;font-family:var(--font-head); }
.pp-index { font:700 9px var(--font-head);letter-spacing:.17em;color:var(--aqua);margin-bottom:12px; }
.pipe-panel h3 { font-size:28px;margin-bottom:13px; }
.pipe-panel p  { font-size:15px;color:var(--muted);line-height:1.76;max-width:500px; }
.pp-tags { display:flex;flex-wrap:wrap;gap:7px;margin-top:20px; }
.pp-tags span {
  font-size:11px;color:var(--aqua);
  border:1px solid rgba(93,216,208,.22);padding:6px 11px;border-radius:4px;
  background:rgba(93,216,208,.05);
}

/* Safeguard */
.safeguard-note {
  display:flex;align-items:center;gap:14px;
  padding:13px 18px;background:var(--panel);border:1px solid var(--line2);
  border-left:2px solid var(--aqua);border-radius:var(--r);margin-bottom:44px;
}
.sg-label { font:700 9px var(--font-head);letter-spacing:.15em;color:var(--aqua);white-space:nowrap; }
.sg-text  { font-size:13px;color:var(--muted); }

/* Tech stack */
.tech-split { display:grid;grid-template-columns:1fr 1fr;gap:18px; }
.ts-col {
  padding:26px 26px;border:1px solid var(--line);border-radius:var(--rl);
  background:linear-gradient(145deg,var(--panel),var(--bg3));
}
.ts-badge {
  display:inline-block;font:700 8.5px var(--font-head);letter-spacing:.14em;
  padding:5px 10px;border-radius:3px;margin-bottom:18px;
}
.ts-badge.built   { background:rgba(93,216,208,.12);color:var(--aqua); }
.ts-badge.planned { background:var(--amber-dim);color:var(--amber); }
.ts-list { list-style:none;margin:0;padding:0;display:grid;gap:9px; }
.ts-list li { display:flex;gap:10px;align-items:baseline;font-size:13.5px;color:var(--muted); }
.ts-icon { color:var(--aqua);font-size:11px;flex-shrink:0; }
.ts-col.planned .ts-icon { color:var(--amber); }

/* ═══════════════════════════════════════════════════════════════════════
   §4 REGIME EXPLORER
═══════════════════════════════════════════════════════════════════════ */
.re-header { display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:end;margin-bottom:36px; }
.re-tabs { display:flex;gap:6px;margin-bottom:24px;flex-wrap:wrap; }
.re-tab {
  display:flex;align-items:center;gap:8px;
  padding:10px 19px;border:1px solid var(--line2);border-radius:var(--r);
  background:transparent;color:var(--muted);font:600 13px var(--font-head);letter-spacing:.03em;
  transition:all .2s;
}
.re-sym { font-size:15px; }
.re-tab:hover { background:var(--panel);color:var(--text); }
.re-tab.active-tab.selected     { background:var(--aqua-dim);border-color:var(--aqua); color:var(--aqua); }
.re-tab.break-tab.selected      { background:rgba(142,180,204,.12);border-color:var(--cool);color:var(--cool); }
.re-tab.low-tab.selected        { background:var(--amber-dim);border-color:var(--amber);color:var(--amber); }
.re-tab.transition-tab.selected { background:rgba(176,162,216,.12);border-color:var(--lilac);color:var(--lilac); }

.re-panels { position:relative; }
.re-panel { display:grid;grid-template-columns:40% 60%;border:1px solid var(--line2);border-radius:var(--rl);overflow:hidden;animation:panel-in .35s var(--ease);box-shadow:0 16px 48px rgba(0,0,0,.3); }

/* Regime visual canvas */
.re-visual { position:relative;min-height:340px;overflow:hidden; }
.active-visual     { background:radial-gradient(ellipse at 40% 40%,#0e3648,#07182a); }
.break-visual      { background:radial-gradient(ellipse at 40% 40%,#0c2436,#071526); }
.low-visual        { background:radial-gradient(ellipse at 60% 50%,#18200e,#080e1a); }
.transition-visual { background:radial-gradient(ellipse at 40% 60%,#141030,#060c1c); }

.re-canvas { position:absolute;inset:0;overflow:hidden; }
.re-india-shape {
  position:absolute;width:44%;height:74%;left:28%;top:11%;
  background:linear-gradient(150deg,#1c4a5a,#186070 50%,#267060);
  clip-path:polygon(41% 1%,54% 4%,66% 9%,74% 7%,82% 18%,76% 28%,88% 34%,72% 44%,68% 57%,61% 62%,57% 76%,51% 89%,44% 100%,36% 89%,30% 74%,22% 63%,28% 51%,18% 41%,27% 33%,22% 26%,33% 18%);
  opacity:.6;filter:drop-shadow(0 0 12px rgba(50,170,180,.2));
}
.re-stream,.re-stream.bs1,.re-stream.ts1,.re-stream.ts2 { position:absolute;border-radius:50px;background:transparent;border-top:2px solid; }
.active-visual .re-stream,.transition-visual .re-stream { border-color:rgba(93,216,208,.55); }
.break-visual  .re-stream { border-color:rgba(142,180,204,.4); }
.s1  { width:68%;height:38px;top:34%;left:-4%;border-radius:50px 50px 0 0;animation:stream-flow 4s ease-in-out infinite; }
.s2  { width:58%;height:28px;top:49%;left:6%;border-radius:50px 50px 0 0;animation:stream-flow 4s ease-in-out infinite .6s; }
.s3  { width:52%;height:33px;top:42%;left:1%;border-radius:50px 50px 0 0;animation:stream-flow 4s ease-in-out infinite 1.2s; }
.bs1 { width:44%;height:24px;top:17%;left:21%;border-radius:50px 50px 0 0;animation:stream-flow 6s ease-in-out infinite; }
.ts1 { width:48%;height:28px;top:31%;left:11%;animation:stream-flow 3s ease-in-out infinite; }
.ts2 { width:38%;height:21px;top:54%;left:26%;animation:stream-flow 5s ease-in-out infinite 1s; }
@keyframes stream-flow { 0%,100%{transform:translateX(0) scaleX(1);opacity:.5;}50%{transform:translateX(11px) scaleX(1.05);opacity:.8;} }

.re-rain-zone { position:absolute;border-radius:50%;filter:blur(15px);mix-blend-mode:screen; }
.rz1 { width:78px;height:128px;left:37%;top:29%;background:rgba(93,216,208,.33);animation:rain-pulse 3s ease-in-out infinite; }
.rz2 { width:58px;height:98px;left:53%;top:19%;background:rgba(94,170,238,.23);animation:rain-pulse 3s ease-in-out infinite .8s; }
.brz1{ width:58px;height:78px;left:27%;top:7%;background:rgba(142,180,204,.28);animation:rain-pulse 5s ease-in-out infinite; }
.lrz1{ width:98px;height:118px;left:51%;top:29%;background:rgba(240,185,104,.38);animation:rain-pulse 2.5s ease-in-out infinite; }
.trz1{ width:48px;height:68px;left:34%;top:24%;background:rgba(176,162,216,.22);animation:rain-pulse 4s ease-in-out infinite; }
.trz2{ width:38px;height:58px;left:54%;top:49%;background:rgba(93,216,208,.14);animation:rain-pulse 4s ease-in-out infinite 1.5s; }
@keyframes rain-pulse { 0%,100%{opacity:.6;transform:scale(1);}50%{opacity:.9;transform:scale(1.08);} }

.re-swirl {
  position:absolute;width:88px;height:88px;right:17%;top:29%;border-radius:50%;
  border:2px solid rgba(240,185,104,.48);border-top-color:transparent;
  animation:swirl 3s linear infinite;
  box-shadow:0 0 18px rgba(240,185,104,.18),inset 0 0 18px rgba(240,185,104,.08);
}
.re-swirl::before {
  content:'';position:absolute;inset:12px;border-radius:50%;
  border:1.5px solid rgba(240,185,104,.32);border-top-color:transparent;
  animation:swirl 2s linear infinite reverse;
}
@keyframes swirl { from{transform:rotate(0deg);}to{transform:rotate(360deg);} }

.re-dry-zone { position:absolute;width:64%;height:54%;left:14%;top:34%;background:radial-gradient(ellipse,rgba(80,60,15,.18) 0%,transparent 70%);border-radius:50%; }
.re-uncertainty-haze { position:absolute;inset:0;background:radial-gradient(ellipse at 50% 50%,rgba(176,162,216,.06) 0%,transparent 70%);animation:haze 4s ease-in-out infinite; }
@keyframes haze { 0%,100%{opacity:.6;}50%{opacity:1;} }

.re-label-pin {
  position:absolute;font:700 7.5px var(--font-head);letter-spacing:.12em;color:#a0d0d8;
  background:rgba(4,13,22,.72);padding:5px 8px;border-radius:3px;
  border:1px solid var(--line);z-index:2;white-space:nowrap;backdrop-filter:blur(4px);
}

/* Regime info panel */
.re-info {
  padding:34px 34px 30px;
  background:linear-gradient(180deg,var(--panel) 0%,var(--bg3) 100%);
  display:flex;flex-direction:column;gap:16px;
}
.re-info h3 { font-size:22px;margin-bottom:0; }
.re-desc { font-size:14.5px;color:var(--muted);line-height:1.72;margin:0; }
.re-nwp-note { padding:15px 17px;background:var(--bg);border:1px solid var(--line);border-radius:var(--r); }
.re-note-label { display:block;font:700 8.5px var(--font-head);letter-spacing:.15em;color:var(--aqua);margin-bottom:8px; }
.re-nwp-note p { font-size:12.5px;color:var(--muted);line-height:1.65;margin:0; }

.re-expert-weights { padding:15px 17px;background:var(--bg);border:1px solid var(--line);border-radius:var(--r); }
.rew-label { font:700 8px var(--font-head);letter-spacing:.15em;color:var(--amber);margin-bottom:13px; }
.rew-bars  { display:flex;flex-direction:column;gap:8px;margin-bottom:9px; }
.rew-bar   { display:flex;align-items:center;gap:9px;font-size:11px; }
.rew-bar span { min-width:42px;color:var(--faint); }
.rew-bar::after {
  content:'';flex:1;height:5px;border-radius:3px;
  background:var(--c,var(--aqua));width:var(--pct);max-width:var(--pct);opacity:.72;
}
.rew-bar b { min-width:32px;text-align:right;color:var(--text);font-size:11px; }
.rew-disclaimer { font-size:10px;color:var(--faint);line-height:1.5;margin:0; }

.re-cloud-comment {
  display:flex;gap:11px;align-items:flex-start;padding:13px 15px;
  background:rgba(93,216,208,.04);border:1px solid rgba(93,216,208,.12);border-radius:var(--r);
}
.re-cloud-comment.break-comment      { background:rgba(142,180,204,.04);border-color:rgba(142,180,204,.12); }
.re-cloud-comment.low-comment        { background:rgba(240,185,104,.04);border-color:rgba(240,185,104,.12); }
.re-cloud-comment.transition-comment { background:rgba(176,162,216,.04);border-color:rgba(176,162,216,.12); }
.mini-cloud { font-size:20px;flex-shrink:0;margin-top:2px; }
.re-cloud-comment p { font-size:12px;color:var(--muted);line-height:1.6;margin:0;font-style:italic; }

/* ═══════════════════════════════════════════════════════════════════════
   §5 PROTOTYPE PREVIEW / DASHBOARD
═══════════════════════════════════════════════════════════════════════ */
.preview-header { display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:start;margin-bottom:36px; }
.preview-disclaimer {
  padding:20px 22px;
  background:linear-gradient(135deg,rgba(44,28,10,.7),rgba(28,18,6,.8));
  border:1px solid rgba(240,185,104,.2);border-radius:var(--rl);
  display:flex;flex-direction:column;gap:8px;
  backdrop-filter:blur(8px);
  box-shadow:0 8px 28px rgba(0,0,0,.3);
}
.pd-icon { font-size:20px; }
.preview-disclaimer strong { font:700 14px var(--font-head);color:var(--amber); }
.preview-disclaimer p { font-size:12.5px;color:var(--muted);line-height:1.65;margin:0; }

/* Dashboard chrome */
.dashboard {
  border:1px solid var(--line2);border-radius:var(--rl);overflow:hidden;
  background:var(--bg3);
  box-shadow:0 32px 80px rgba(0,0,0,.55),0 0 0 1px rgba(93,216,208,.04);
}
.db-bar {
  height:56px;display:flex;align-items:center;justify-content:space-between;padding:0 20px;
  border-bottom:1px solid var(--line);
  background:linear-gradient(90deg,var(--panel),var(--panel2));
}
.db-brand { display:flex;align-items:center;gap:10px;font:800 13px var(--font-head);letter-spacing:.06em; }
.db-hex {
  width:26px;height:26px;display:grid;place-items:center;
  border:1.5px solid var(--aqua);color:var(--aqua);font-weight:800;font-size:12px;
  clip-path:polygon(17% 0,83% 0,100% 50%,83% 100%,17% 100%,0 50%);
}
.db-brand small { font-size:11px;color:var(--faint);font-weight:400;letter-spacing:0; }
.db-demo-tag {
  font:700 8px var(--font-head);letter-spacing:.15em;color:var(--amber);
  border:1px solid rgba(240,185,104,.3);padding:6px 10px;border-radius:3px;
}
.db-body { display:grid;grid-template-columns:216px minmax(0,1fr) 200px;min-height:500px; }
.db-side,.db-metrics { padding:20px 17px;overflow-y:auto; }
.db-side { border-right:1px solid var(--line); }
.db-metrics { border-left:1px solid var(--line); }
.db-kicker { font:700 8.5px var(--font-head);letter-spacing:.16em;color:var(--faint);margin-bottom:13px;text-transform:uppercase; }
.db-rule { height:1px;background:var(--line);margin:18px 0; }

.layer-list { display:grid;gap:5px; }
.db-layer {
  display:flex;align-items:center;gap:8px;width:100%;
  padding:9px 10px;background:none;border:1px solid transparent;
  border-radius:6px;color:var(--muted);font-size:12px;text-align:left;transition:all .18s;
}
.db-layer:hover  { background:var(--panel2);border-color:var(--line2);color:var(--text); }
.db-layer.active { background:var(--panel2);border-color:var(--line2);color:var(--text); }
.ld { width:7px;height:7px;border-radius:50%;flex-shrink:0; }
.ld.teal  { background:var(--aqua); }
.ld.blue  { background:var(--blue); }
.ld.amber { background:var(--amber); }
.ld.lilac { background:var(--lilac); }

.regime-readout { font:700 13px var(--font-head);color:var(--text);margin-bottom:13px; }
.regime-readout span { display:block;font:400 10px var(--font-body);color:var(--faint);margin-top:3px; }
.regime-prob-bars { display:flex;flex-direction:column;gap:7px; }
.rpb { display:flex;align-items:center;gap:7px;font-size:10px; }
.rpb span { min-width:34px;color:var(--faint); }
.rpb-fill { height:5px;flex:1;background:var(--c,var(--aqua));width:var(--w);max-width:var(--w);border-radius:3px;opacity:.68; }
.rpb b { min-width:28px;text-align:right;font-size:10px;color:var(--muted); }

.db-district-search { display:grid;gap:5px; }
.db-district-search input {
  width:100%;padding:8px 10px;background:var(--bg);border:1px solid var(--line2);
  border-radius:5px;color:var(--faint);font-size:12px;cursor:not-allowed;
}
.ds-pending { font-size:10px;color:var(--faint);font-style:italic; }

/* Map */
.db-map {
  position:relative;
  background:
    radial-gradient(ellipse at 45% 35%,#0c3648,#091f33 55%,#060e1a);
  overflow:hidden;min-height:380px;
}
.db-map-grid {
  position:absolute;inset:0;
  background:linear-gradient(rgba(70,150,185,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(70,150,185,.05) 1px,transparent 1px);
  background-size:26px 26px;
}
.db-india {
  position:absolute;width:37%;height:78%;left:30%;top:5%;
  background:linear-gradient(145deg,#284e56,#1e5f65 50%,#5c7870);
  clip-path:polygon(41% 1%,54% 4%,66% 9%,74% 7%,82% 18%,76% 28%,88% 34%,72% 44%,68% 57%,61% 62%,57% 76%,51% 89%,44% 100%,36% 89%,30% 74%,22% 63%,28% 51%,18% 41%,27% 33%,22% 26%,33% 18%);
  filter:drop-shadow(0 0 14px rgba(50,170,180,.18));opacity:.78;
  transition:filter .4s;
}
.db-map:hover .db-india { filter:drop-shadow(0 0 22px rgba(50,170,180,.3)); }
.db-rain-patch { position:absolute;border-radius:50%;filter:blur(18px);mix-blend-mode:screen;transition:background .5s; }
.db-rain-patch.r1 { width:68px;height:138px;left:39%;top:31%;background:rgba(93,216,208,.32);transform:rotate(-18deg); }
.db-rain-patch.r2 { width:102px;height:56px;left:54%;top:17%;background:rgba(240,185,104,.28); }
.db-rain-patch.r3 { width:76px;height:94px;left:36%;top:61%;background:rgba(94,160,230,.25); }
.db-map-head {
  position:absolute;top:0;left:0;right:0;display:flex;justify-content:space-between;
  padding:14px 16px;font:700 8px var(--font-head);letter-spacing:.16em;color:#78b8c4;z-index:2;
}
.db-pin {
  position:absolute;z-index:3;font:700 7px var(--font-head);letter-spacing:.12em;
  color:#cceef2;background:rgba(4,13,22,.76);padding:5px 7px;border-radius:3px;
  border:1px solid var(--line);white-space:nowrap;backdrop-filter:blur(4px);
}
.pin-ghats    { left:16%;top:52%; }
.pin-bay      { right:8%;top:37%; }
.pin-himalaya { left:30%;top:5%; }

.db-hotspot { position:absolute;z-index:4;width:22px;height:22px;cursor:pointer; }
.hs1 { left:24%;top:43%; }
.hs2 { right:17%;top:47%; }
.hs3 { left:42%;top:8%; }
.hs-ring {
  display:block;width:100%;height:100%;border-radius:50%;
  border:2px solid var(--aqua);box-shadow:0 0 0 0 rgba(93,216,208,.4);
  animation:hs-pulse 2.6s ease-out infinite;
}
@keyframes hs-pulse { 0%{box-shadow:0 0 0 0 rgba(93,216,208,.4);}70%{box-shadow:0 0 0 10px rgba(93,216,208,0);}100%{box-shadow:0 0 0 0 rgba(93,216,208,0);} }
.db-hotspot:hover .hs-ring { border-color:var(--aqua-hi); }

.db-hs-tooltip {
  position:absolute;z-index:10;bottom:56px;left:50%;transform:translateX(-50%);
  background:var(--panel2);border:1px solid var(--line2);border-radius:var(--r);
  padding:13px 15px;width:215px;backdrop-filter:blur(14px);
  box-shadow:0 8px 28px rgba(0,0,0,.5);
  animation:panel-in .25s var(--ease);
}
.hs-close { position:absolute;top:8px;right:10px;background:none;border:0;color:var(--faint);font-size:11px; }
.hs-close:hover { color:var(--text); }
#hs-title { display:block;font:700 11.5px var(--font-head);color:var(--aqua);margin-bottom:6px; }
#hs-body  { font-size:12px;color:var(--muted);line-height:1.6;margin:0; }

.db-legend {
  position:absolute;bottom:13px;left:14px;right:14px;
  display:flex;align-items:center;gap:7px;
  font:700 7.5px var(--font-head);letter-spacing:.1em;color:var(--muted);z-index:2;
}
.db-legend-bar { flex:1;height:5px;background:linear-gradient(90deg,#0e4060,#4eccc8,#f0b968);border-radius:3px; }
.db-legend small { margin-left:auto;font:400 9px var(--font-body);letter-spacing:0;color:var(--faint); }

.metric-row { display:flex;justify-content:space-between;align-items:baseline;padding:8px 0;border-bottom:1px solid var(--line);font-size:12px; }
.metric-row:last-of-type { border-bottom:0; }
.metric-row span { color:var(--muted); }
.metric-row b    { color:var(--text);font-weight:600;font-size:13px; }
.metric-row.accent b { color:var(--aqua); }
.db-prov { font-size:11.5px;color:var(--faint);line-height:1.65;margin:0; }
.preview-caption { margin-top:13px;font-size:12px;color:var(--faint);line-height:1.65; }

/* ═══════════════════════════════════════════════════════════════════════
   §6 FEASIBILITY
═══════════════════════════════════════════════════════════════════════ */
.feas-header { margin-bottom:44px; }
.feas-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:13px; }
.feas-card {
  padding:24px 20px;
  background:linear-gradient(145deg,var(--panel),var(--bg3));
  border:1px solid var(--line);border-radius:var(--rl);
  transition:border-color .25s,transform .25s,box-shadow .25s;
}
.feas-card:hover { border-color:var(--line2);transform:translateY(-2px);box-shadow:0 8px 28px rgba(0,0,0,.3); }
.fc-icon { display:block;font-size:22px;color:var(--aqua);margin-bottom:13px; }
.fc-icon.warn { color:var(--amber); }
.feas-card h3 { font-size:16px;margin-bottom:9px; }
.feas-card p  { font-size:13.5px;color:var(--muted);line-height:1.7;margin:0; }

/* ═══════════════════════════════════════════════════════════════════════
   §7 IMPACT
═══════════════════════════════════════════════════════════════════════ */
.impact-header { margin-bottom:44px; }
.impact-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:13px; }
.impact-card {
  padding:26px 20px;
  background:linear-gradient(145deg,var(--panel),var(--bg3));
  border:1px solid var(--line);border-radius:var(--rl);
  transition:border-color .25s,transform .25s;
}
.impact-card:hover { border-color:var(--line2);transform:translateY(-2px); }
.ic-num { font:800 10px var(--font-head);letter-spacing:.1em;color:var(--aqua);opacity:.5;margin-bottom:10px; }
.impact-card h3 { font-size:16px;margin-bottom:9px; }
.impact-card p  { font-size:13.5px;color:var(--muted);line-height:1.7;margin:0; }
.impact-note { margin-top:32px;padding:15px 18px;background:var(--panel);border:1px solid var(--line2);border-left:2px solid var(--amber);border-radius:var(--r);font-size:13px;color:var(--muted);line-height:1.65; }

/* ═══════════════════════════════════════════════════════════════════════
   §8 SCIENCE
═══════════════════════════════════════════════════════════════════════ */
.sci-header { display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:start;margin-bottom:40px; }
.sci-status { display:grid;gap:8px;margin-top:26px;border-left:2px solid var(--aqua);padding-left:16px; }
.sci-status span   { font:700 9px var(--font-head);letter-spacing:.15em;color:var(--aqua); }
.sci-status strong { font:700 16px var(--font-head); }
.sci-safeguard { padding:24px 24px;background:linear-gradient(135deg,rgba(16,46,70,.7),rgba(10,28,46,.8));border:1px solid var(--line);border-radius:var(--rl);border-left:2px solid var(--aqua);backdrop-filter:blur(8px); }
.ss-label { font:700 9px var(--font-head);letter-spacing:.15em;color:var(--aqua);display:block;margin-bottom:11px; }
.sci-safeguard p { font-size:14px;color:var(--muted);line-height:1.7;margin:0; }
.sci-baselines { display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:32px; }
.baseline-card { padding:22px 20px;background:var(--panel);border:1px solid var(--line);border-radius:var(--rl); }
.baseline-card.highlight-card { border-color:rgba(93,216,208,.36);background:var(--panel2);box-shadow:0 0 28px rgba(93,216,208,.05); }
.bl-num { font:700 9px var(--font-head);letter-spacing:.1em;color:var(--aqua);margin-bottom:9px; }
.baseline-card h3 { font-size:16px;margin-bottom:7px; }
.baseline-card p  { font-size:13px;color:var(--muted);line-height:1.65;margin:0; }
.metrics-grid { display:grid;grid-template-columns:repeat(4,1fr);gap:11px;margin-bottom:28px; }
.metric-card { padding:20px 17px;background:var(--panel);border:1px solid var(--line);border-radius:var(--rl); }
.mc-cat { display:block;font:700 8px var(--font-head);letter-spacing:.15em;color:var(--aqua);margin-bottom:9px; }
.metric-card strong { font:700 14px var(--font-head);display:block;margin-bottom:7px; }
.metric-card p { font-size:12.5px;color:var(--muted);line-height:1.65;margin:0; }
.pending-box { display:flex;gap:15px;align-items:flex-start;padding:18px 20px;background:var(--panel);border:1px solid var(--line2);border-radius:var(--rl); }
.pb-icon { font-size:20px;color:var(--faint);flex-shrink:0;margin-top:2px; }
.pending-box strong { font:700 14px var(--font-head);display:block;margin-bottom:5px; }
.pending-box p { font-size:13px;color:var(--muted);line-height:1.65;margin:0; }

/* ═══════════════════════════════════════════════════════════════════════
   §9 TEAM  — polished glass cards
═══════════════════════════════════════════════════════════════════════ */
.team-header { margin-bottom:44px; }
.team-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:16px; }

.person-card {
  background:var(--panel);
  border:1px solid var(--line);
  border-radius:var(--rl);
  overflow:hidden;
  transition:border-color .3s,transform .3s,box-shadow .3s;
  position:relative;
}
.person-card::before {
  content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse at 50% 0%,rgba(93,216,208,.05),transparent 55%);
  opacity:0;transition:opacity .3s;pointer-events:none;z-index:0;
}
.person-card:hover {
  border-color:rgba(93,216,208,.32);
  transform:translateY(-5px);
  box-shadow:0 16px 48px rgba(0,0,0,.45),0 0 0 1px rgba(93,216,208,.08);
}
.person-card:hover::before { opacity:1; }
.person-card[data-lead="true"] { border-color:rgba(93,216,208,.24); }
.person-card[data-lead="true"]:hover { border-color:var(--aqua); }

.pc-photo-wrap { position:relative;overflow:hidden; }
.pc-photo-wrap img {
  width:100%;height:310px;object-fit:cover;object-position:center 18%;
  filter:saturate(.7) brightness(.95);
  transition:filter .4s,transform .5s;display:block;
}
.person-card:hover .pc-photo-wrap img { filter:saturate(1) brightness(1);transform:scale(1.035); }
.pc-lead-badge {
  position:absolute;top:14px;left:14px;
  font:700 8px var(--font-head);letter-spacing:.15em;
  background:rgba(93,216,208,.15);color:var(--aqua);
  border:1px solid rgba(93,216,208,.38);padding:4px 9px;border-radius:3px;
  backdrop-filter:blur(6px);
}

.pc-info {
  padding:18px 18px 20px;
  background:linear-gradient(180deg,var(--panel),var(--panel2));
  display:flex;flex-direction:column;gap:5px;position:relative;z-index:1;
}
.pc-role { font:700 8.5px var(--font-head);letter-spacing:.15em;color:var(--aqua); }
.pc-info h3 { font-size:17px;margin:2px 0 4px;letter-spacing:-.03em; }
.pc-linkedin {
  display:inline-flex;align-items:center;gap:7px;margin-top:8px;
  font:700 11px var(--font-head);color:var(--aqua);
  border:1px solid rgba(93,216,208,.24);padding:7px 12px;border-radius:5px;
  width:fit-content;transition:background .2s,border-color .2s,box-shadow .2s;
}
.pc-linkedin:hover { background:var(--aqua-dim);border-color:var(--aqua);box-shadow:0 0 14px rgba(93,216,208,.12); }
.pc-linkedin span {
  font:700 11px var(--font-head);background:var(--aqua);color:#061820;
  width:18px;height:18px;display:grid;place-items:center;border-radius:3px;
}

/* ═══════════════════════════════════════════════════════════════════════
   §10 MENTORS
═══════════════════════════════════════════════════════════════════════ */
.mentors-layout { display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:start; }
.mentor-list { display:grid;gap:12px; }
.mentor-card {
  display:flex;align-items:center;gap:18px;padding:15px 17px;
  background:linear-gradient(145deg,var(--panel),var(--bg3));
  border:1px solid var(--line);border-radius:var(--rl);
  transition:border-color .25s,background .25s,transform .25s;
}
.mentor-card:hover { border-color:var(--line2);background:var(--panel2);transform:translateY(-2px); }
.mentor-card img { width:70px;height:70px;border-radius:var(--r);object-fit:cover;object-position:center 20%;flex-shrink:0; }
.mc-info { flex:1; }
.mc-info h3 { font-size:16px;margin-bottom:5px;letter-spacing:-.03em; }
.mc-info p  { font-size:12px;color:var(--muted);margin:0; }
.mc-link { color:var(--aqua);font:700 11px var(--font-head);letter-spacing:.04em;white-space:nowrap; }

/* ═══════════════════════════════════════════════════════════════════════
   §11 RESOURCES
═══════════════════════════════════════════════════════════════════════ */
.resources-layout { display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:start; }
.wa-contact {
  display:flex;align-items:center;gap:13px;margin-top:26px;
  padding:15px 17px;
  background:linear-gradient(135deg,rgba(16,40,60,.8),rgba(10,26,40,.9));
  border:1px solid var(--line2);border-radius:var(--rl);
  transition:border-color .25s,background .25s,box-shadow .25s;
  box-shadow:0 4px 18px rgba(0,0,0,.3);
}
.wa-contact:hover { border-color:var(--aqua);background:rgba(16,40,60,.95);box-shadow:0 8px 28px rgba(0,0,0,.4),0 0 0 1px rgba(93,216,208,.06); }
.wa-icon { font-size:22px; }
.wa-contact div { flex:1; }
.wa-contact strong { display:block;font-size:14px;font-family:var(--font-head);margin-bottom:3px; }
.wa-contact span  { font-size:11.5px;color:var(--muted); }
.wa-arrow { color:var(--aqua);font-size:16px; }

.resource-list { display:grid;gap:8px; }
.resource-item {
  display:flex;align-items:center;gap:13px;padding:13px 15px;
  background:linear-gradient(145deg,var(--panel),var(--bg3));
  border:1px solid var(--line);border-radius:var(--rl);
  transition:border-color .2s,background .2s;min-height:70px;
}
a.resource-item:hover { border-color:var(--line2);background:var(--panel2);color:var(--aqua); }
.soon-item { opacity:.72;cursor:default; }
.prototype-soon { border-color:rgba(240,185,104,.18); }
.ri-icon { width:38px;height:38px;flex-shrink:0;border:1px solid var(--line2);border-radius:6px;display:grid;place-items:center;color:var(--aqua);font-size:15px; }
.ri-text { flex:1; }
.ri-text strong { display:block;font:700 13.5px var(--font-head);margin-bottom:3px; }
.ri-text small  { font-size:11.5px;color:var(--muted); }
.ri-soon { font:700 8px var(--font-head);letter-spacing:.12em;color:var(--amber);border:1px solid rgba(240,185,104,.28);padding:4px 8px;border-radius:3px;white-space:nowrap; }
.ri-arrow { color:var(--aqua);font-size:15px; }

/* ═══════════════════════════════════════════════════════════════════════
   FOOTER
═══════════════════════════════════════════════════════════════════════ */
.footer { border-top:1px solid var(--line);background:#020a12;padding:50px 5.5% 24px; }
.footer-inner { max-width:var(--max);margin:0 auto; }
.footer-top {
  display:flex;justify-content:space-between;gap:34px;flex-wrap:wrap;
  padding-bottom:38px;border-bottom:1px solid var(--line);
}
.footer-brand { font:800 17px var(--font-head);letter-spacing:.06em;margin-bottom:9px; }
.footer-brand span { color:var(--aqua); }
.footer-brand-block p { font-size:13px;color:var(--muted);line-height:1.7;max-width:360px;margin:0; }
.footer-nav { display:flex;flex-direction:column;gap:9px;font-size:12.5px;color:var(--muted); }
.footer-nav a:hover { color:var(--aqua); }
.footer-wa {
  display:flex;align-items:center;height:max-content;
  padding:12px 16px;border:1px solid rgba(93,216,208,.24);border-radius:var(--r);
  color:var(--aqua);font:700 12px var(--font-head);transition:background .2s,border-color .2s;
}
.footer-wa:hover { background:var(--aqua-dim);border-color:var(--aqua); }
.footer-bottom {
  display:flex;justify-content:space-between;align-items:center;
  padding-top:20px;gap:18px;flex-wrap:wrap;font-size:11px;color:var(--faint);
}
.footer-disclaimer { text-align:center;max-width:440px; }
.back-top { color:#70b0c4;font-weight:600;transition:color .2s; }
.back-top:hover { color:var(--aqua); }

/* ═══════════════════════════════════════════════════════════════════════
   REDUCED MOTION
═══════════════════════════════════════════════════════════════════════ */
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;}
  .cloud-guide{display:none;}
  .reveal-up,.reveal-left,.reveal-right{opacity:1!important;transform:none!important;}
}

/* ═══════════════════════════════════════════════════════════════════════
   RESPONSIVE — 1200px
═══════════════════════════════════════════════════════════════════════ */
@media(max-width:1200px){
  .db-body{grid-template-columns:195px minmax(0,1fr);}
  .db-metrics{display:none;}
  .feas-grid{grid-template-columns:repeat(2,1fr);}
  .impact-grid{grid-template-columns:repeat(2,1fr);}
  .metrics-grid{grid-template-columns:repeat(2,1fr);}
  .regime-cards{grid-template-columns:repeat(2,1fr);}
  #nav{gap:16px;font-size:12px;}
  .header-cta{display:none;}
}

/* ═══════════════════════════════════════════════════════════════════════
   RESPONSIVE — 900px
═══════════════════════════════════════════════════════════════════════ */
@media(max-width:900px){
  :root{--pad:clamp(60px,7vw,90px) 5%;}
  .hero-inner{grid-template-columns:1fr;padding-bottom:44px;}
  .orb-wrap{height:min(460px,68vw);width:114%;margin-left:-7%;position:relative;background:none;}
  .regime-modes{bottom:78px;}
  .problem-layout,.solution-header,.re-header,.preview-header,.sci-header,.mentors-layout,.resources-layout{grid-template-columns:1fr;gap:32px;}
  .re-panel{grid-template-columns:1fr;}
  .re-visual{min-height:210px;}
  .pipeline{grid-template-columns:1fr;}
  .pipeline-steps{grid-template-columns:repeat(5,1fr);grid-template-rows:unset;border-right:0;border-bottom:1px solid var(--line2);}
  .pipe-step{padding:12px 8px;min-height:54px;border-right:1px solid var(--line);border-bottom:0;}
  .pipe-step:last-child{border-right:0;}
  .ps-name{font-size:10.5px;}
  .ps-arrow{display:none;}
  .tech-split,.sci-baselines{grid-template-columns:1fr;}
  .team-grid{grid-template-columns:repeat(2,1fr);}
  .db-body{grid-template-columns:1fr;}
  .db-side{border-right:0;border-bottom:1px solid var(--line);}
  .db-map{min-height:320px;}
}

/* ═══════════════════════════════════════════════════════════════════════
   RESPONSIVE — 640px mobile
═══════════════════════════════════════════════════════════════════════ */
@media(max-width:640px){
  :root{--pad:56px 5%;}
  #nav{display:none;position:fixed;top:70px;left:0;right:0;background:rgba(4,13,22,.97);flex-direction:column;padding:20px 5% 28px;border-bottom:1px solid var(--line);gap:18px;font-size:15px;z-index:79;backdrop-filter:blur(20px);}
  #nav.open{display:flex;}
  .menu-btn{display:flex;}
  h1{font-size:clamp(36px,9.5vw,54px);}
  h2{font-size:clamp(32px,8vw,46px);}
  .hero-inner{padding:58px 5% 32px;}
  .hero-stats{gap:20px;flex-wrap:wrap;margin-top:32px;}
  .hero-actions{flex-direction:column;}
  .btn{width:100%;justify-content:space-between;}
  .orb-wrap{height:min(340px,88vw);width:122%;margin-left:-11%;}
  .regime-modes{bottom:56px;gap:4px;transform:translateX(-50%) scale(.87);transform-origin:center bottom;}
  .orb-bottom{font-size:8px;padding:8px 11px;gap:11px;}
  .orb-top{top:16px;font-size:8px;}
  .globe-controls{top:20px;right:4%;}
  .globe-ctrl{width:28px;height:28px;font-size:11px;}
  .orb-hint{display:none;}
  .regime-cards{grid-template-columns:1fr 1fr;}
  .regime-card{padding:16px 13px 20px;}
  .rc-symbol{height:46px;font-size:28px;}
  .regime-card h3{font-size:14px;}
  .regime-card p{font-size:12px;}
  .pipeline-steps{grid-template-columns:repeat(3,1fr);}
  .ps-name{font-size:9px;}
  .feas-grid,.impact-grid{grid-template-columns:1fr;}
  .metrics-grid{grid-template-columns:repeat(2,1fr);}
  .re-tabs{flex-direction:column;}
  .team-grid{grid-template-columns:repeat(2,1fr);gap:10px;}
  .pc-photo-wrap img{height:190px;}
  .pc-info h3{font-size:14px;}
  .mentor-card img{width:58px;height:58px;}
  .mc-info h3{font-size:14px;}
  .cloud-guide{bottom:14px;right:12px;}
  .cloud-bubble{max-width:170px;font-size:11px;}
  .footer-bottom{flex-direction:column;text-align:center;}
  .footer-nav{flex-direction:row;flex-wrap:wrap;justify-content:center;}
  h1{background:none;-webkit-text-fill-color:var(--text);}
  h1 em{-webkit-text-fill-color:var(--aqua);}
}

/* ═══════════════════════════════════════════════════════════════════════
   RESPONSIVE — 400px tiny phones
═══════════════════════════════════════════════════════════════════════ */
@media(max-width:400px){
  h1{font-size:34px;}
  .regime-cards{grid-template-columns:1fr;}
  .team-grid{grid-template-columns:1fr;}
  .metrics-grid{grid-template-columns:1fr;}
  .pc-photo-wrap img{height:250px;}
}

/* Full project name beneath the hero title */
.atmos-full-name{margin:0 0 19px;color:#aee6e8;font:700 clamp(12px,1vw,15px)/1.5 Manrope,sans-serif;letter-spacing:.08em}
.atmos-full-name span{color:#d8eef0;font-weight:500;letter-spacing:.02em}
