/* GluMind — investor site. Visual system v2: refined editorial medtech.
   Palette ratified (deck ADV-glu-004). Self-hosted fonts (China-friendly, no CDN). */

/* ---------- Fonts ---------- */
/* Body — Inter */
@font-face { font-family:'Inter'; font-weight:400; font-display:swap; src:url('fonts/inter-400.woff2') format('woff2'); }
@font-face { font-family:'Inter'; font-weight:500; font-display:swap; src:url('fonts/inter-500.woff2') format('woff2'); }
@font-face { font-family:'Inter'; font-weight:600; font-display:swap; src:url('fonts/inter-600.woff2') format('woff2'); }
@font-face { font-family:'Inter'; font-weight:700; font-display:swap; src:url('fonts/inter-700.woff2') format('woff2'); }
/* Display — Spectral (editorial serif), latin + cyrillic subsets */
@font-face { font-family:'Spectral'; font-weight:500; font-display:swap; src:url('fonts/spectral-latin-500.woff2') format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215; }
@font-face { font-family:'Spectral'; font-weight:500; font-display:swap; src:url('fonts/spectral-cyrillic-500.woff2') format('woff2'); unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; }
@font-face { font-family:'Spectral'; font-weight:600; font-display:swap; src:url('fonts/spectral-latin-600.woff2') format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215; }
@font-face { font-family:'Spectral'; font-weight:600; font-display:swap; src:url('fonts/spectral-cyrillic-600.woff2') format('woff2'); unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; }
@font-face { font-family:'Spectral'; font-weight:700; font-display:swap; src:url('fonts/spectral-latin-700.woff2') format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215; }
@font-face { font-family:'Spectral'; font-weight:700; font-display:swap; src:url('fonts/spectral-cyrillic-700.woff2') format('woff2'); unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; }

:root {
  --sapphire:#1A2E4A; --sapphire-deep:#0E1B2E; --blue:#2B7CB8; --blue-lt:#5AA0D6;
  --mint:#00B896; --mint-deep:#00997d; --bg:#F6F8FC; --ink:#111827; --ink-soft:#374151;
  --grey:#6B7280; --line:#E7ECF3; --alert:#EF4444; --white:#fff;
  --serif:'Spectral', Georgia, 'Times New Roman', serif;
  --sans:'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --maxw:1160px;
  --sh-sm:0 1px 2px rgba(16,30,54,.04), 0 1px 3px rgba(16,30,54,.06);
  --sh-md:0 4px 12px rgba(16,30,54,.06), 0 10px 30px rgba(16,30,54,.05);
  --sh-lg:0 8px 24px rgba(16,30,54,.08), 0 24px 60px rgba(16,30,54,.09);
  --sh-mint:0 10px 40px rgba(0,184,150,.18);
  --r:16px; --r-lg:22px;
}

* { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; -webkit-text-size-adjust:100%; }

body {
  font-family:var(--sans); color:var(--ink); line-height:1.65; font-size:16px;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
  background:var(--bg);
  background-image:
    radial-gradient(50rem 40rem at 82% -8%, rgba(43,124,184,.10), transparent 60%),
    radial-gradient(46rem 40rem at -10% 12%, rgba(0,184,150,.08), transparent 55%),
    radial-gradient(60rem 50rem at 50% 120%, rgba(26,46,74,.06), transparent 60%);
  background-attachment:fixed;
}

/* grain overlay */
body::before {
  content:''; position:fixed; inset:0; z-index:9999; pointer-events:none; opacity:.028;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ---------- Typography ---------- */
h1,h2,h3 { font-family:var(--serif); color:var(--sapphire); line-height:1.08; letter-spacing:-.015em; font-weight:600; }
h1 { font-size:clamp(2.6rem,6vw,4.2rem); font-weight:700; }
h2 { font-size:clamp(1.9rem,4vw,2.9rem); }
h3 { font-size:1.35rem; letter-spacing:-.01em; }
p { color:var(--ink-soft); }
a { color:var(--blue); text-decoration:none; transition:color .2s; }
a:hover { color:var(--sapphire); }
strong { color:var(--ink); font-weight:600; }

.eyebrow { font-family:var(--sans); color:var(--mint-deep); font-weight:700; font-size:.74rem; letter-spacing:.16em; text-transform:uppercase; margin-bottom:18px; display:flex; align-items:center; gap:10px; }
.eyebrow::before { content:''; width:26px; height:2px; background:linear-gradient(90deg,var(--mint),transparent); border-radius:2px; }
.lede { font-size:clamp(1.05rem,1.6vw,1.22rem); color:var(--ink-soft); max-width:64ch; line-height:1.6; }

/* ---------- Layout ---------- */
.wrap { max-width:var(--maxw); margin:0 auto; padding:0 28px; }
section { padding:100px 0; position:relative; }
section + section > .wrap::before { content:''; position:absolute; top:0; left:28px; right:28px; height:1px; background:linear-gradient(90deg,transparent,var(--line) 20%,var(--line) 80%,transparent); }
.src { font-size:.74rem; color:var(--grey); margin-top:16px; letter-spacing:.01em; }
.grid2 { display:grid; grid-template-columns:1.04fr .96fr; gap:60px; align-items:center; }
.disc { margin-top:44px; font-size:.72rem; color:var(--grey); letter-spacing:.02em; font-style:italic; }

/* reveal on scroll — only active once JS adds .reveal-on to body (no-JS = visible) */
body.reveal-on .reveal { opacity:0; transform:translateY(26px); transition:opacity .7s cubic-bezier(.22,.61,.36,1), transform .7s cubic-bezier(.22,.61,.36,1); }
body.reveal-on .reveal.in { opacity:1; transform:none; }
.reveal.d1{transition-delay:.08s}.reveal.d2{transition-delay:.16s}.reveal.d3{transition-delay:.24s}.reveal.d4{transition-delay:.32s}
@media (prefers-reduced-motion:reduce){ .reveal{opacity:1;transform:none;transition:none} }

/* ---------- Nav ---------- */
header.nav { position:sticky; top:0; z-index:50; background:rgba(246,248,252,.72); backdrop-filter:saturate(180%) blur(14px); -webkit-backdrop-filter:saturate(180%) blur(14px); border-bottom:1px solid rgba(231,236,243,.8); }
.nav-inner { display:flex; align-items:center; justify-content:space-between; height:70px; }
.brand { display:flex; align-items:center; gap:11px; font-family:var(--serif); font-weight:700; font-size:1.3rem; color:var(--sapphire); letter-spacing:-.01em; }
.brand .dot { width:11px; height:11px; border-radius:50%; background:radial-gradient(circle at 30% 30%,#2fe0bd,var(--mint)); box-shadow:0 0 0 4px rgba(0,184,150,.14); }
.nav-links { display:flex; gap:30px; }
.nav-links a { color:var(--grey); font-size:.88rem; font-weight:500; position:relative; }
.nav-links a::after { content:''; position:absolute; left:0; bottom:-6px; width:0; height:2px; background:var(--mint); border-radius:2px; transition:width .25s; }
.nav-links a:hover { color:var(--sapphire); }
.nav-links a:hover::after { width:100%; }
.btn { display:inline-flex; align-items:center; gap:8px; background:linear-gradient(180deg,#00c9a4,var(--mint)); color:#04352c; font-weight:600; padding:12px 22px; border-radius:11px; font-size:.9rem; border:none; cursor:pointer; box-shadow:var(--sh-mint); transition:transform .2s, box-shadow .2s; }
.btn:hover { transform:translateY(-2px); box-shadow:0 14px 46px rgba(0,184,150,.28); color:#04352c; }
.btn.ghost { background:transparent; color:var(--sapphire); border:1px solid var(--line); box-shadow:none; }
.btn.ghost:hover { border-color:var(--blue); color:var(--blue); background:rgba(43,124,184,.04); }

/* ---------- Hero ---------- */
.hero { padding:110px 0 96px; position:relative; overflow:hidden;
  background:
    radial-gradient(46rem 40rem at 80% 0%, rgba(43,124,184,.18), transparent 56%),
    radial-gradient(36rem 32rem at 58% 98%, rgba(0,184,150,.13), transparent 60%); }
.hero-net { position:absolute; inset:0; width:100%; height:100%; z-index:0; pointer-events:none; filter:saturate(1.2); }
.hero-net .net-lines line { stroke-width:1.4; }
.hero-net .nd { animation-name:drift; animation-timing-function:ease-in-out; animation-iteration-count:infinite; transform-box:fill-box; transform-origin:center; }
@keyframes drift { 0%,100%{transform:translate(0,0)} 50%{transform:translate(7px,-9px)} }
/* readability wash — lighter now so the network stays visible */
.hero::after { content:''; position:absolute; inset:0; z-index:1; pointer-events:none;
  background:
    linear-gradient(100deg, var(--bg) 1%, rgba(246,248,252,.5) 22%, rgba(246,248,252,.04) 46%, transparent 62%),
    linear-gradient(0deg, var(--bg) 0%, transparent 16%); }
.hero > .wrap { position:relative; z-index:2; }
@media (prefers-reduced-motion:reduce){ .hero-net .nd{animation:none} }
.hero .tagline { font-family:var(--serif); font-weight:600; font-size:clamp(1.5rem,3.2vw,2.35rem); color:var(--sapphire); line-height:1.16; letter-spacing:-.015em; margin:6px 0 20px; max-width:15ch; }
.hero .tagline em { font-style:italic; color:var(--blue); }
.hero .sub { font-size:1.08rem; color:var(--ink-soft); max-width:44ch; }
.hero-cta { margin-top:32px; display:flex; gap:14px; flex-wrap:wrap; }
.hero .founder { margin-top:34px; padding-top:22px; border-top:1px solid var(--line); font-size:.86rem; color:var(--grey); }
.hero-panel { position:relative; background:linear-gradient(158deg,#22406e 0%,var(--sapphire) 55%,var(--sapphire-deep) 100%); border-radius:var(--r-lg); padding:32px; box-shadow:var(--sh-lg); overflow:hidden; }
.hero-panel::after { content:''; position:absolute; width:20rem; height:20rem; right:-6rem; top:-6rem; background:radial-gradient(circle,rgba(0,184,150,.35),transparent 65%); pointer-events:none; }
.hero-panel .cap { position:relative; color:#9FB6D4; font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; margin-bottom:12px; font-weight:600; }
.hero-panel svg { position:relative; width:100%; height:auto; display:block; }
.hero-panel .glass-row { position:relative; display:flex; gap:14px; margin-top:20px; }
.hero-panel .gcell { flex:1; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.1); border-radius:12px; padding:12px 14px; backdrop-filter:blur(4px); }
.hero-panel .gcell .n { font-family:var(--serif); font-weight:700; font-size:1.5rem; color:#fff; }
.hero-panel .gcell .l { font-size:.7rem; color:#9FB6D4; margin-top:2px; }

/* animated CGM draw */
.cgm-line { stroke-dasharray:1400; stroke-dashoffset:1400; animation:draw 2.6s cubic-bezier(.4,0,.2,1) .3s forwards; }
@keyframes draw { to { stroke-dashoffset:0; } }

/* ---------- Stats ---------- */
.stats { display:grid; grid-template-columns:repeat(3,1fr); gap:0; margin-top:48px; }
.stat { padding:0 34px; position:relative; }
.stat + .stat::before { content:''; position:absolute; left:0; top:6px; bottom:6px; width:1px; background:var(--line); }
.stat:first-child { padding-left:0; }
.stat .num { font-family:var(--serif); font-size:clamp(2.8rem,5vw,3.9rem); font-weight:700; line-height:.95; letter-spacing:-.02em; background:linear-gradient(160deg,var(--sapphire),var(--blue)); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.stat:nth-child(2) .num { background:linear-gradient(160deg,var(--blue),var(--blue-lt)); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.stat:nth-child(3) .num { background:linear-gradient(160deg,var(--mint-deep),var(--mint)); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.stat .cap { margin-top:14px; font-size:.86rem; color:var(--grey); max-width:22ch; }

/* ---------- Cards / surfaces ---------- */
.card, .regime, .param, .fan, .chart-wrap, .classes .c, .seek .s, .statblock .item {
  background:linear-gradient(180deg,#fff,#fcfdff); border:1px solid var(--line); border-radius:var(--r); box-shadow:var(--sh-sm); transition:transform .28s cubic-bezier(.22,.61,.36,1), box-shadow .28s, border-color .28s;
}
.card { padding:26px; position:relative; overflow:hidden; }
.card::before { content:''; position:absolute; left:0; top:0; height:3px; width:0; background:linear-gradient(90deg,var(--mint),var(--blue)); transition:width .3s; }
.card:hover { transform:translateY(-5px); box-shadow:var(--sh-lg); border-color:transparent; }
.card:hover::before { width:100%; }
.card .no { font-family:var(--serif); color:var(--mint-deep); font-weight:700; font-size:1.1rem; }
.card .designed { display:inline-block; font-size:.66rem; color:var(--mint-deep); font-weight:700; letter-spacing:.1em; text-transform:uppercase; margin:8px 0 4px; }
.card h3 { font-size:1.08rem; margin:4px 0 8px; }
.card p { font-size:.88rem; color:var(--grey); }
.cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:20px; margin-top:40px; }

/* ---------- Callout ---------- */
.callout { margin-top:26px; padding:16px 22px; background:linear-gradient(90deg,rgba(239,68,68,.07),transparent); border-left:3px solid var(--alert); border-radius:0 10px 10px 0; color:var(--ink); font-weight:500; }
.callout.mint { background:linear-gradient(90deg,rgba(0,184,150,.09),transparent); border-left-color:var(--mint); }

/* ---------- Flow / diagram ---------- */
.flow { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.flow .node { display:flex; flex-direction:column; align-items:center; gap:10px; text-align:center; flex:1; min-width:92px; }
.flow .node .ic { width:56px; height:56px; border-radius:16px; background:linear-gradient(180deg,#fff,#f2f6fb); border:1px solid var(--line); display:flex; align-items:center; justify-content:center; color:var(--blue); font-size:1.3rem; box-shadow:var(--sh-sm); transition:transform .25s, box-shadow .25s; }
.flow .node:hover .ic { transform:translateY(-3px); box-shadow:var(--sh-md); color:var(--mint-deep); }
.flow .node .t { font-size:.82rem; color:var(--grey); font-weight:500; }
.flow .arrow { color:var(--mint); flex:0 0 auto; font-size:1.1rem; }

/* fan-in */
.fan { padding:32px; }
.fan .pills { display:flex; flex-direction:column; gap:10px; }
.pill { background:var(--bg); border:1px solid var(--line); border-radius:999px; padding:10px 18px; font-size:.85rem; color:var(--sapphire); font-weight:500; text-align:center; transition:.2s; }
.pill:hover { border-color:var(--mint); color:var(--mint-deep); }
.fan .core { margin:20px auto; max-width:250px; background:linear-gradient(158deg,#22406e,var(--sapphire)); color:#fff; border-radius:14px; padding:18px; text-align:center; font-weight:600; font-family:var(--serif); box-shadow:var(--sh-md); }
.fan .core .mdot { width:9px; height:9px; border-radius:50%; background:var(--mint); display:inline-block; margin-left:8px; box-shadow:0 0 0 4px rgba(0,184,150,.2); }
.fan .outs { display:flex; justify-content:space-around; gap:12px; margin-top:8px; }
.fan .outs .o { text-align:center; font-size:.8rem; color:var(--grey); display:flex; flex-direction:column; align-items:center; gap:6px; }
.fan .outs .o span:first-child { color:var(--mint); font-size:1.1rem; }

/* ---------- Comparison table ---------- */
.cmp { width:100%; border-collapse:separate; border-spacing:0; margin-top:34px; background:#fff; border:1px solid var(--line); border-radius:var(--r); overflow:hidden; box-shadow:var(--sh-md); }
.cmp th,.cmp td { padding:17px 22px; text-align:left; font-size:.93rem; border-bottom:1px solid var(--line); }
.cmp thead th { background:linear-gradient(180deg,#f4f8fc,#eef3f9); color:var(--grey); font-weight:600; font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; }
.cmp thead th:last-child { color:var(--sapphire); }
.cmp td.old { color:var(--grey); }
.cmp td.new { color:var(--sapphire); font-weight:500; }
.cmp tbody tr { transition:background .2s; }
.cmp tbody tr:hover { background:#fafcfe; }
.cmp tr.hl td { background:linear-gradient(90deg,rgba(0,184,150,.09),rgba(0,184,150,.03)); }
.cmp tr.hl:hover td { background:linear-gradient(90deg,rgba(0,184,150,.13),rgba(0,184,150,.05)); }
.cmp .x { color:var(--alert); font-weight:700; margin-right:8px; }
.cmp .v { color:var(--mint-deep); font-weight:700; margin-right:8px; }
.cmp tr:last-child td { border-bottom:none; }
.moat { margin-top:22px; color:var(--ink-soft); font-size:.98rem; max-width:80ch; line-height:1.65; }

/* ---------- regimes / params ---------- */
.regimes { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-top:26px; }
.regime { padding:22px; }
.regime .t { font-family:var(--serif); font-weight:600; font-size:1.15rem; color:var(--sapphire); margin-bottom:8px; }
.regime .t .tag { font-family:var(--sans); font-size:.64rem; text-transform:uppercase; letter-spacing:.08em; color:var(--mint-deep); margin-left:10px; background:rgba(0,184,150,.1); padding:3px 8px; border-radius:6px; }
.regime p { font-size:.88rem; color:var(--grey); }
.params { display:flex; gap:16px; margin-top:18px; flex-wrap:wrap; }
.param { flex:1; min-width:220px; padding:16px 18px; }
.param .pt { font-weight:600; font-size:.92rem; color:var(--sapphire); }
.param .pd { font-size:.82rem; color:var(--grey); margin-top:5px; }
.tune-note { margin-top:16px; font-size:.9rem; color:var(--blue); font-weight:500; font-style:italic; }

/* ---------- charts ---------- */
.chart-wrap { padding:26px; }
.chart-wrap svg { width:100%; height:auto; display:block; }
.chart-cap { margin-top:14px; font-size:.8rem; color:var(--grey); text-align:center; font-style:italic; }
.footnote { margin-top:22px; font-size:.8rem; color:var(--grey); font-style:italic; max-width:74ch; }

/* ---------- market ---------- */
.classes { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.classes .c { padding:24px; text-align:center; }
.classes .c.lead { border:1.5px solid var(--mint); box-shadow:var(--sh-mint); background:linear-gradient(180deg,#fff,#f4fffb); }
.classes .c .t { font-family:var(--serif); font-weight:600; color:var(--sapphire); font-size:1.05rem; }
.classes .c .s { font-size:.8rem; color:var(--grey); margin-top:8px; }
.players { display:flex; gap:12px; flex-wrap:wrap; margin-top:20px; }
.players .p { background:#fff; border:1px solid var(--line); color:var(--ink-soft); border-radius:999px; padding:9px 20px; font-size:.86rem; font-weight:600; box-shadow:var(--sh-sm); transition:.2s; }
.players .p:hover { transform:translateY(-2px); box-shadow:var(--sh-md); color:var(--sapphire); }

/* ---------- timeline ---------- */
.timeline { list-style:none; position:relative; padding-left:30px; }
.timeline::before { content:''; position:absolute; left:6px; top:8px; bottom:8px; width:2px; background:linear-gradient(180deg,var(--mint),rgba(0,184,150,.2)); }
.timeline li { position:relative; padding:0 0 28px 10px; }
.timeline li::before { content:''; position:absolute; left:-27px; top:5px; width:13px; height:13px; border-radius:50%; background:var(--mint); box-shadow:0 0 0 5px rgba(0,184,150,.15); }
.timeline li:last-child { padding-bottom:0; }
.timeline .ev { font-weight:500; }
section.dark .timeline .ev { color:#E6ECF4; }

/* horizontal path */
.path { display:flex; gap:0; margin-top:44px; flex-wrap:wrap; }
.path .step { flex:1; min-width:170px; position:relative; padding:0 16px; }
.path .step .dot { width:24px; height:24px; border-radius:50%; border:2px solid var(--line); background:#fff; display:flex; align-items:center; justify-content:center; margin-bottom:16px; font-size:.7rem; color:#fff; position:relative; z-index:2; }
.path .step.done .dot { background:var(--mint); border-color:var(--mint); box-shadow:0 0 0 5px rgba(0,184,150,.16); }
.path .step.here .dot { background:var(--sapphire); border-color:var(--sapphire); box-shadow:0 0 0 5px rgba(43,124,184,.18); }
.path .step .line { position:absolute; top:11px; left:40px; right:-8px; height:2px; background:var(--line); z-index:1; }
.path .step:last-child .line { display:none; }
.path .step .t { font-family:var(--serif); font-weight:600; font-size:.98rem; color:var(--sapphire); }
.path .step .here-tag { display:inline-block; margin-top:8px; font-size:.72rem; color:var(--blue); font-weight:600; }

/* ---------- seek ---------- */
.seek { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin:38px 0; }
.seek .s { padding:26px; }
.seek .s:hover { transform:translateY(-4px); box-shadow:var(--sh-lg); }
.seek .s .em { font-size:1.5rem; }
.seek .s h3 { margin:14px 0 8px; font-size:1.1rem; }
.seek .s p { font-size:.86rem; color:var(--grey); }
.capstrip { margin-top:30px; padding:18px 24px; background:linear-gradient(90deg,rgba(0,184,150,.1),rgba(0,184,150,.03)); border:1px solid rgba(0,184,150,.25); border-radius:12px; color:var(--sapphire); font-size:.93rem; }

/* ---------- dark sections ---------- */
section.dark { background:linear-gradient(165deg,var(--sapphire) 0%,var(--sapphire-deep) 100%); overflow:hidden; }
section.dark::before { content:''; position:absolute; width:40rem; height:40rem; top:-14rem; right:-10rem; background:radial-gradient(circle,rgba(0,184,150,.16),transparent 62%); pointer-events:none; }
section.dark::after { content:''; position:absolute; width:34rem; height:34rem; bottom:-14rem; left:-10rem; background:radial-gradient(circle,rgba(43,124,184,.16),transparent 62%); pointer-events:none; }
section.dark .wrap { position:relative; z-index:1; }
section.dark h2,section.dark h3 { color:#fff; }
section.dark p { color:#C4D2E4; }
section.dark .eyebrow { color:#4fd6ba; }

.split-mint { display:grid; grid-template-columns:1fr 1fr; gap:0; margin-top:34px; }
.split-mint .col { padding:0 44px; }
.split-mint .col:first-child { padding-left:0; border-right:1px solid rgba(0,184,150,.35); }
.split-mint .col:last-child { padding-right:0; }
.split-mint .cap { color:#4fd6ba; font-weight:700; font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; margin-bottom:16px; }
.chance { max-width:64ch; margin:44px auto 0; text-align:center; padding-top:38px; border-top:1px solid rgba(0,184,150,.35); }
.chance p { font-family:var(--serif); font-size:clamp(1.1rem,1.8vw,1.3rem); line-height:1.6; color:#EAF0F8; }
.chance .nocure { color:#fff; font-weight:600; font-style:italic; }

/* founder */
.founder-block { display:grid; grid-template-columns:220px 1fr; gap:48px; align-items:start; }
.portrait { width:220px; height:264px; border-radius:var(--r-lg); background:linear-gradient(145deg,#24406A,var(--sapphire)); overflow:hidden; border:1px solid rgba(255,255,255,.1); box-shadow:var(--sh-lg); position:relative; }
.portrait img { width:100%; height:100%; object-fit:cover; display:block; }
.chips { display:flex; flex-direction:column; gap:9px; margin-top:18px; }
.chips .chip { background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.08); color:#C4D2E4; border-radius:9px; padding:9px 13px; font-size:.8rem; }
.quote { margin-top:24px; padding-left:24px; border-left:3px solid var(--mint); font-family:var(--serif); font-style:italic; color:#EAF0F8; font-size:1.18rem; line-height:1.5; }
.byline { margin-top:20px; font-size:.82rem; color:#8EA0BC; }

/* CTA / contact */
.cta-band { text-align:center; }
.cta-big { font-family:var(--serif); font-size:clamp(1.9rem,4.4vw,2.8rem); font-weight:700; margin:8px 0; background:linear-gradient(120deg,var(--sapphire),var(--blue),var(--mint-deep)); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.cta-sub { color:var(--grey); }
.contact { margin-top:36px; display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }
.contact > * { font-size:.9rem; color:var(--ink-soft); background:#fff; border:1px solid var(--line); border-radius:11px; padding:12px 20px; box-shadow:var(--sh-sm); }
.contact a { color:var(--sapphire); font-weight:600; }

/* footer */
footer.site { background:linear-gradient(165deg,var(--sapphire-deep),#0a1424); color:#8EA0BC; padding:56px 0; position:relative; overflow:hidden; }
footer.site::before { content:''; position:absolute; width:40rem; height:20rem; left:50%; top:-8rem; transform:translateX(-50%); background:radial-gradient(ellipse,rgba(0,184,150,.1),transparent 65%); }
footer.site .wrap { position:relative; z-index:1; }
footer.site .row { display:flex; justify-content:space-between; align-items:center; margin-bottom:24px; flex-wrap:wrap; gap:12px; }
footer.site .brand { color:#fff; }
footer.site .disclaimer { font-size:.76rem; line-height:1.75; max-width:82ch; }
footer.site .copy { margin-top:24px; font-size:.75rem; color:#5b6c84; }

/* lang switch */
.lang-switch { display:flex; gap:2px; align-items:center; margin-left:22px; background:rgba(255,255,255,.5); border:1px solid var(--line); border-radius:9px; padding:3px; }
footer.site .lang-switch { background:rgba(255,255,255,.06); border-color:rgba(255,255,255,.1); }
.lang-switch button { background:none; border:none; color:var(--grey); font-family:var(--sans); font-size:.8rem; font-weight:600; cursor:pointer; padding:5px 11px; border-radius:6px; transition:.2s; }
.lang-switch button.active { color:#fff; background:var(--sapphire); }
footer.site .lang-switch button { color:#8EA0BC; }
footer.site .lang-switch button.active { background:var(--mint); color:#04352c; }

/* bilingual toggle */
body:not(.ru) .l-ru { display:none !important; }
body.ru .l-en { display:none !important; }

/* ---------- section rhythm & atmosphere (break flat-white monotony) ---------- */
section:not(.dark) { position:relative; }
section:not(.dark) > .wrap { position:relative; z-index:1; }
/* tinted accent sections — alternate rhythm */
section.tint { background:linear-gradient(180deg, rgba(43,124,184,.045) 0%, rgba(0,184,150,.03) 100%); }
section.tint::after { content:''; position:absolute; inset:0; z-index:0; pointer-events:none;
  background:
    radial-gradient(32rem 26rem at 92% 8%, rgba(43,124,184,.09), transparent 60%),
    radial-gradient(28rem 24rem at 4% 92%, rgba(0,184,150,.07), transparent 60%); }
/* subtle atmosphere for plain light sections too */
section:not(.dark):not(.tint):not(.hero)::after { content:''; position:absolute; inset:0; z-index:0; pointer-events:none;
  background:radial-gradient(30rem 24rem at 96% 4%, rgba(43,124,184,.04), transparent 58%); }
/* soften the divider line */
section + section > .wrap::before { background:linear-gradient(90deg,transparent,rgba(231,236,243,.6) 25%,rgba(231,236,243,.6) 75%,transparent); }

/* ---------- responsive ---------- */
@media (max-width:880px){
  .grid2,.founder-block,.split-mint { grid-template-columns:1fr; gap:34px; }
  .stats,.classes,.seek,.regimes { grid-template-columns:1fr; }
  .stat { padding:20px 0 0; }
  .stat + .stat::before { display:none; }
  .stat + .stat { border-top:1px solid var(--line); }
  .split-mint .col { padding:0; }
  .split-mint .col:first-child { border-right:none; border-bottom:1px solid rgba(0,184,150,.35); padding-bottom:26px; }
  .nav-links { display:none; }
  section { padding:66px 0; }
  .portrait { width:180px; height:216px; }
}