/* ============================================================
   LILIANG GROUP · Operational Systems
   Brand: wine #3e101e · mauve #9c6b71 · rose #ffebeb · black/white
   ============================================================ */

:root{
  --wine:#3e101e;
  --wine-deep:#2a0a14;
  --mauve:#c0838c;          /* lifted from #9c6b71 for glow on dark */
  --mauve-soft:#9c6b71;
  --rose:#ffebeb;
  --sand:#c9a98a;           /* warm neutral / champagne accent */
  --ink:#0c0608;            /* near-black base */
  --ink-2:#140a0d;
  --panel:#1b1014;
  --panel-2:#21141a;
  --line:rgba(255,235,235,0.10);
  --line-soft:rgba(255,235,235,0.06);
  --text:#f3e7e7;
  --text-dim:#c4adb0;
  --text-faint:#8c7679;
  --ok:#86b59a;
  --warn:#e0a06a;

  --serif:"Fraunces", Georgia, serif;
  --sans:"Inter", system-ui, sans-serif;
  --mono:"JetBrains Mono", monospace;

  --r:18px;
  --r-sm:12px;
  --maxw:1240px;
  --ease:cubic-bezier(.22,.61,.36,1);
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:var(--sans);
  background:var(--ink);
  color:var(--text);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
  position:relative;
}
a{color:inherit;text-decoration:none}
img,svg{display:block;max-width:100%}
em{font-style:normal}

/* ---------- background layers ---------- */
.bg-grain{
  position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.045;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  mix-blend-mode:overlay;
}
.bg-glow{
  position:fixed;inset:0;z-index:0;pointer-events:none;
  background:
    radial-gradient(60vw 60vw at 78% -8%, rgba(192,131,140,0.14), transparent 60%),
    radial-gradient(50vw 50vw at 8% 12%, rgba(62,16,30,0.55), transparent 60%),
    radial-gradient(70vw 50vw at 50% 120%, rgba(201,169,138,0.07), transparent 60%);
}

/* ---------- typography helpers ---------- */
.eyebrow{
  font-family:var(--mono);
  font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;
  color:var(--text-faint);display:flex;align-items:center;gap:.7em;margin-bottom:1.4rem;
}
.eyebrow--center{justify-content:center}
.eyebrow-dot{width:6px;height:6px;border-radius:50%;background:var(--mauve);box-shadow:0 0 12px var(--mauve)}
.section-title{
  font-family:var(--serif);
  font-weight:400;
  font-size:clamp(2rem,4.2vw,3.4rem);
  line-height:1.08;letter-spacing:-.01em;
}
.section-title .ital,.hero-title .ital{font-style:italic;color:var(--mauve)}
.section-lead{
  margin-top:1.4rem;max-width:54ch;color:var(--text-dim);font-size:1.06rem;font-weight:300;
}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;gap:.6em;justify-content:center;
  font-family:var(--sans);font-weight:500;font-size:.92rem;letter-spacing:.01em;
  padding:.85em 1.5em;border-radius:100px;cursor:pointer;border:1px solid transparent;
  transition:transform .35s var(--ease), background .35s var(--ease), border-color .35s, color .35s;
  white-space:nowrap;
}
.btn--primary{
  background:linear-gradient(120deg,var(--rose),#f4d0d0);color:var(--wine-deep);
  box-shadow:0 10px 40px -12px rgba(255,235,235,.4);
}
.btn--primary:hover{transform:translateY(-2px);box-shadow:0 16px 48px -12px rgba(255,235,235,.55)}
.btn--ghost{background:transparent;border-color:var(--line);color:var(--text)}
.btn--ghost:hover{border-color:var(--mauve);color:#fff;transform:translateY(-2px)}
.btn--ghost .arrow{transition:transform .35s var(--ease)}
.btn--ghost:hover .arrow{transform:translateX(4px)}
.btn--nav{background:var(--rose);color:var(--wine-deep);padding:.62em 1.15em;font-size:.84rem}
.btn--nav:hover{transform:translateY(-1px);background:#fff}
.btn--lg{padding:1.05em 2em;font-size:1rem;margin-top:.8rem}

/* ---------- nav ---------- */
.nav{position:fixed;top:0;left:0;right:0;z-index:100;transition:background .4s,backdrop-filter .4s,border-color .4s;border-bottom:1px solid transparent}
.nav.scrolled{background:rgba(12,6,8,.72);backdrop-filter:blur(18px) saturate(140%);border-bottom-color:var(--line-soft)}
.nav-inner{max-width:var(--maxw);margin:0 auto;padding:1.05rem 2rem;display:flex;align-items:center;gap:2rem}
.brand{display:flex;align-items:center;gap:.5em;font-weight:700;letter-spacing:.04em}
.lg-mark{width:30px;height:30px;flex:none}
.lg-mark--lg{width:44px;height:44px}
.footer-lockup{display:flex;align-items:center;gap:.6em}
/* exact-logo image auto-swap: hidden until it successfully loads, then it replaces the SVG mark */
.lg-img{width:30px;height:30px;flex:none;object-fit:contain;display:none}
.lg-img--lg{width:44px;height:44px}
.has-img .lg-mark{display:none}
.has-img .lg-img{display:block}
.brand .lg-mark,.brand .lg-img{transition:transform .6s var(--ease)}
.brand:hover .lg-mark,.brand:hover .lg-img{transform:rotate(180deg)}
.brand-mark{font-family:var(--sans);font-weight:800;font-size:1.05rem;letter-spacing:.16em;color:var(--rose)}
.brand-mark--thin{font-weight:300;color:var(--mauve);letter-spacing:.24em}
.nav-links{display:flex;gap:1.7rem;margin-left:auto;font-size:.88rem;color:var(--text-dim)}
.nav-links a{position:relative;transition:color .3s}
.nav-links a::after{content:"";position:absolute;left:0;bottom:-5px;height:1px;width:0;background:var(--mauve);transition:width .35s var(--ease)}
.nav-links a:hover{color:#fff}
.nav-links a:hover::after{width:100%}
.nav-toggle{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:6px}
.nav-toggle span{width:24px;height:2px;background:var(--text);transition:.3s}

/* ============================================================
   HERO
   ============================================================ */
.hero{position:relative;z-index:1;padding:9.5rem 2rem 0;max-width:var(--maxw);margin:0 auto}
.hero-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:3.2rem;align-items:center}
.hero-title{
  font-family:var(--serif);font-weight:400;
  font-size:clamp(2.6rem,5.4vw,4.6rem);line-height:1.02;letter-spacing:-.02em;margin-bottom:1.6rem;
}
.hero-sub{font-size:1.15rem;font-weight:300;color:var(--text-dim);max-width:46ch;margin-bottom:2.2rem}
.hero-cta{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:3rem}
.hero-stats{display:flex;gap:2.4rem;flex-wrap:wrap;padding-top:2rem;border-top:1px solid var(--line-soft)}
.hero-stats strong{font-family:var(--serif);font-size:2rem;font-weight:400;color:#fff;display:block;line-height:1}
.hero-stats span{font-size:.78rem;color:var(--text-faint);letter-spacing:.04em}

/* hero panel / dashboard mock */
.hero-panel{position:relative}
/* hero brand film */
.hero-film{position:relative;aspect-ratio:4/3;border-radius:var(--r);overflow:hidden;border:1px solid var(--line);background:linear-gradient(160deg,var(--panel-2),var(--wine-deep));box-shadow:0 40px 90px -40px rgba(0,0,0,.8), inset 0 1px 0 rgba(255,235,235,.06)}
.hf-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:none}
.hero-film.has-video .hf-video{display:block}
.hero-film.has-video .hf-ph{display:none}
.hf-ph{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.9rem;text-align:center;padding:2rem;background:radial-gradient(120% 90% at 50% 42%, rgba(192,131,140,.16), transparent 62%)}
.hf-play{width:66px;height:66px;border-radius:50%;display:grid;place-items:center;background:var(--rose);color:var(--wine-deep);box-shadow:0 14px 44px -8px rgba(255,235,235,.5);animation:corePulse 2.2s ease-in-out infinite}
.hf-play svg{width:26px;height:26px;margin-left:3px}
.hf-label{font-family:var(--serif);font-size:1.3rem;color:#fff}
.hf-note{font-family:var(--mono);font-size:.66rem;color:var(--text-faint);letter-spacing:.04em;max-width:26ch;line-height:1.6}
.hf-note b{color:var(--mauve)}
.hf-tag{position:absolute;left:1rem;bottom:1rem;font-family:var(--mono);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--text-dim);background:rgba(12,6,8,.5);border:1px solid var(--line-soft);border-radius:100px;padding:.35em .8em;backdrop-filter:blur(8px)}
.glass{
  background:linear-gradient(155deg,rgba(33,20,26,.92),rgba(20,10,13,.92));
  border:1px solid var(--line);border-radius:var(--r);
  backdrop-filter:blur(8px);
  box-shadow:0 40px 90px -40px rgba(0,0,0,.8), inset 0 1px 0 rgba(255,235,235,.05);
}
.panel{padding:1.3rem;position:relative;overflow:hidden}
.panel::before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--mauve),transparent);opacity:.5}
.panel-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.1rem}
.panel-id{display:flex;align-items:center;gap:.5em}
.panel-title{font-size:.8rem;color:var(--text-dim);letter-spacing:.02em}
.dot{width:7px;height:7px;border-radius:50%;background:var(--text-faint);display:inline-block}
.dot--live{background:var(--ok);box-shadow:0 0 0 0 rgba(134,181,154,.6);animation:pulse 2s infinite}
.dot--warn{background:var(--warn);box-shadow:0 0 8px var(--warn)}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(134,181,154,.5)}70%{box-shadow:0 0 0 7px rgba(134,181,154,0)}100%{box-shadow:0 0 0 0 rgba(134,181,154,0)}}
.panel-tabs{display:flex;gap:.3rem;font-size:.72rem;font-family:var(--mono)}
.panel-tabs span{padding:.25em .6em;border-radius:7px;color:var(--text-faint)}
.panel-tabs .active{background:rgba(255,235,235,.08);color:var(--rose)}

.kpi-row{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem;margin-bottom:1rem}
.kpi{background:rgba(255,235,235,.03);border:1px solid var(--line-soft);border-radius:var(--r-sm);padding:.8rem}
.kpi-label{font-size:.66rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-faint);display:block}
.kpi-value{font-family:var(--serif);font-size:1.25rem;color:#fff;display:block;margin:.25rem 0 .15rem}
.kpi-trend{font-size:.68rem;font-family:var(--mono)}
.kpi-trend.up{color:var(--ok)}

.panel-mid{display:grid;grid-template-columns:1.3fr 1fr;gap:.7rem;margin-bottom:1rem}
.mini-card{background:rgba(255,235,235,.03);border:1px solid var(--line-soft);border-radius:var(--r-sm);padding:.8rem}
.mc-head{display:flex;justify-content:space-between;align-items:center;font-size:.72rem;color:var(--text-dim);margin-bottom:.6rem;letter-spacing:.02em}
.mc-meta{color:var(--mauve);font-family:var(--mono);font-size:.66rem}
.spark{width:100%;height:64px}
.spark .line{stroke-dasharray:1000;stroke-dashoffset:1000}
.activity{list-style:none;display:flex;flex-direction:column;gap:.55rem}
.activity li{display:flex;align-items:center;gap:.5rem;font-size:.7rem;color:var(--text-dim)}
.activity .av{width:22px;height:22px;border-radius:50%;background:linear-gradient(135deg,var(--mauve-soft),var(--wine));display:grid;place-items:center;font-size:.58rem;color:#fff;font-weight:600;flex:none}
.activity i{margin-left:auto;color:var(--text-faint);font-style:normal;font-family:var(--mono);font-size:.62rem}

.panel-bottom{display:flex;flex-direction:column;gap:.8rem}
.bars{display:flex;align-items:flex-end;gap:.4rem;height:54px}
.bars span{flex:1;height:var(--h);background:linear-gradient(180deg,var(--mauve),rgba(192,131,140,.25));border-radius:5px 5px 0 0;transform-origin:bottom;transform:scaleY(0);transition:transform .9s var(--ease)}
.in-view .bars span{transform:scaleY(1)}
.ai-chip{display:flex;align-items:center;gap:.6rem;background:linear-gradient(120deg,rgba(192,131,140,.14),rgba(201,169,138,.06));border:1px solid var(--line);border-radius:var(--r-sm);padding:.65rem .8rem;font-size:.72rem;color:var(--text-dim)}
.ai-chip strong{color:var(--rose);font-weight:500}
.ai-glyph{color:var(--mauve);font-size:.9rem}

.panel-float{position:absolute;padding:.7rem .9rem;border-radius:14px;font-size:.72rem;animation:float 6s ease-in-out infinite}
.panel-float .pf-label{display:block;font-size:.6rem;color:var(--text-faint);text-transform:uppercase;letter-spacing:.1em}
.panel-float .pf-val{color:#fff;font-weight:500;font-size:.82rem}
.panel-float .up{color:var(--ok)}
.panel-float--a{top:8%;left:-7%;animation-delay:.4s}
.panel-float--b{bottom:12%;right:-6%}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}

.hero-marquee{margin-top:5rem;border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);padding:1.1rem 0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.marquee-track{display:flex;gap:1.4rem;white-space:nowrap;width:max-content;animation:marquee 38s linear infinite;font-family:var(--mono);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint)}
.marquee-track span:nth-child(even){color:var(--mauve)}
@keyframes marquee{to{transform:translateX(-50%)}}

/* ============================================================
   SECTIONS
   ============================================================ */
.section{position:relative;z-index:1;max-width:var(--maxw);margin:0 auto;padding:7rem 2rem}
.section--alt{max-width:none;background:linear-gradient(180deg,rgba(20,10,13,0),rgba(27,16,20,.55),rgba(20,10,13,0))}
.section--alt > *{max-width:var(--maxw);margin-left:auto;margin-right:auto}
.section-head{margin-bottom:3.4rem;max-width:var(--maxw)}

/* ---------- what we build ---------- */
.build-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.1rem}
.build-card{
  position:relative;background:linear-gradient(160deg,var(--panel-2),var(--panel));
  border:1px solid var(--line-soft);border-radius:var(--r);padding:1.6rem 1.4rem 1.7rem;
  transition:transform .5s var(--ease),border-color .5s,background .5s;overflow:hidden;
}
.build-card::after{content:"";position:absolute;inset:0;background:radial-gradient(120% 80% at 50% 0%,rgba(192,131,140,.12),transparent 60%);opacity:0;transition:opacity .5s}
.build-card:hover{transform:translateY(-6px);border-color:var(--line)}
.build-card:hover::after{opacity:1}
.bc-num{font-family:var(--mono);font-size:.7rem;color:var(--text-faint);letter-spacing:.1em}
.bc-glyph{width:46px;height:46px;margin:1.1rem 0 1.2rem;color:var(--mauve);border:1px solid var(--line);border-radius:12px;display:grid;place-items:center;background:rgba(192,131,140,.06)}
.bc-glyph svg{width:26px;height:26px}
.build-card h3{font-family:var(--serif);font-weight:400;font-size:1.22rem;margin-bottom:.55rem;color:#fff}
.build-card p{font-size:.86rem;color:var(--text-dim);font-weight:300}

/* ---------- industries ---------- */
.ind-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem}
.ind-card{
  background:linear-gradient(160deg,var(--panel-2),var(--panel));
  border:1px solid var(--line-soft);border-radius:var(--r);padding:1.5rem;
  display:flex;flex-direction:column;gap:1.2rem;transition:transform .5s var(--ease),border-color .5s;
}
.ind-card:hover{transform:translateY(-5px);border-color:var(--line)}
.ind-card--wide{grid-column:span 3}
.ind-tag{font-family:var(--mono);font-size:.7rem;color:var(--mauve);letter-spacing:.1em}
.ind-text h3{font-family:var(--serif);font-weight:400;font-size:1.4rem;margin:.5rem 0 .5rem;color:#fff}
.ind-text p{font-size:.88rem;color:var(--text-dim);font-weight:300}
.ind-preview{margin-top:auto;background:rgba(12,6,8,.55);border:1px solid var(--line-soft);border-radius:var(--r-sm);padding:.9rem}
.ip-head{display:flex;justify-content:space-between;align-items:center;font-size:.72rem;color:var(--text-dim);margin-bottom:.8rem}
.ip-up{color:var(--ok);font-family:var(--mono);font-size:.66rem}
.ip-stats{display:flex;gap:1.4rem;margin-bottom:.8rem}
.ip-stats em{font-family:var(--serif);font-size:1.3rem;color:#fff;display:block;line-height:1}
.ip-stats i{font-size:.66rem;color:var(--text-faint);font-style:normal}
.ip-bars{display:flex;align-items:flex-end;gap:.35rem;height:46px}
.ip-bars span{flex:1;height:var(--h);background:linear-gradient(180deg,var(--mauve),rgba(192,131,140,.2));border-radius:4px 4px 0 0;transform-origin:bottom;transform:scaleY(0);transition:transform .9s var(--ease)}
.in-view .ip-bars span{transform:scaleY(1)}
.ip-ring{--p:0;width:84px;height:84px;border-radius:50%;margin:.2rem auto .7rem;display:grid;place-items:center;
  background:conic-gradient(var(--mauve) calc(var(--p)*1%), rgba(255,235,235,.08) 0);position:relative}
.ip-ring::after{content:"";position:absolute;inset:9px;border-radius:50%;background:var(--ink-2)}
.ip-ring span{position:relative;z-index:1;font-family:var(--serif);font-size:1.1rem;color:#fff}
.ip-legend{display:flex;justify-content:center;gap:1rem;font-size:.64rem;color:var(--text-faint)}
.ip-legend i{font-style:normal}
.ip-pipe{display:flex;flex-direction:column;gap:.5rem}
.ip-pipe span{position:relative;background:linear-gradient(90deg,var(--mauve),var(--wine));width:var(--w);min-width:max-content;padding:.35rem .7rem;border-radius:6px;font-size:.68rem;color:#fff;transform-origin:left;transform:scaleX(0);transition:transform .8s var(--ease)}
.in-view .ip-pipe span{transform:scaleX(1)}
.ip-pipe span:nth-child(2){transition-delay:.12s}
.ip-pipe span:nth-child(3){transition-delay:.24s}
.ind-preview--wide{display:flex;flex-direction:column;gap:.55rem}
.branch-row{display:flex;align-items:center;gap:.8rem;font-size:.72rem;color:var(--text-dim)}
.branch-row i{font-style:normal;width:70px;flex:none}
.branch-row b{font-family:var(--mono);color:#fff;font-weight:500;width:28px;text-align:right}
.br-bar{flex:1;height:7px;background:rgba(255,235,235,.07);border-radius:4px;overflow:hidden}
.br-bar span{display:block;height:100%;width:var(--w);background:linear-gradient(90deg,var(--mauve),var(--sand));border-radius:4px;transform-origin:left;transform:scaleX(0);transition:transform 1s var(--ease)}
.in-view .br-bar span{transform:scaleX(1)}

/* ---------- operational intelligence ---------- */
.intel-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:3.5rem;align-items:center}
.intel-quote{margin-top:2.5rem;position:relative;padding-left:2.2rem}
.intel-quote .iq-mark{position:absolute;left:0;top:-.6rem;font-family:var(--serif);font-size:3.5rem;color:var(--mauve);opacity:.5;line-height:1}
.intel-quote p{font-family:var(--serif);font-style:italic;font-size:1.4rem;color:#fff;font-weight:300}
.intel-list{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:.7rem}
.intel-list li{display:flex;align-items:center;gap:.9rem;background:linear-gradient(150deg,var(--panel-2),var(--panel));border:1px solid var(--line-soft);border-radius:var(--r-sm);padding:1rem 1.1rem;transition:transform .4s var(--ease),border-color .4s}
.intel-list li:hover{transform:translateX(5px);border-color:var(--mauve)}
.il-ix{font-family:var(--mono);font-size:.72rem;color:var(--mauve)}
.il-label{font-size:.92rem;color:var(--text)}

/* ---------- live dashboard ---------- */
.dash{display:flex;overflow:hidden;border-radius:var(--r)}
.dash-rail{width:62px;flex:none;background:rgba(12,6,8,.6);border-right:1px solid var(--line-soft);display:flex;flex-direction:column;align-items:center;gap:1.3rem;padding:1.3rem 0}
.dr-brand{width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,var(--mauve-soft),var(--wine));display:grid;place-items:center;font-weight:800;font-size:.78rem;color:#fff;letter-spacing:.02em}
.dr-ic{color:var(--text-faint);font-size:1.1rem;cursor:pointer;transition:color .3s;width:34px;height:34px;display:grid;place-items:center;border-radius:9px}
.dr-ic:hover{color:var(--text)}
.dr-ic.active{color:var(--rose);background:rgba(255,235,235,.07)}
.dash-body{flex:1;padding:1.6rem 1.7rem;min-width:0}
.dash-head{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem}
.dash-head h3{font-family:var(--serif);font-weight:400;font-size:1.5rem;color:#fff}
.dash-head p{font-size:.78rem;color:var(--text-faint)}
.dash-range{display:flex;gap:.25rem;font-size:.74rem;font-family:var(--mono)}
.dash-range span{padding:.35em .8em;border-radius:8px;color:var(--text-faint);cursor:pointer;transition:.3s}
.dash-range span:hover{color:var(--text)}
.dash-range .active{background:rgba(255,235,235,.08);color:var(--rose)}

.dash-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem;margin-bottom:1.1rem}
.dk{background:rgba(255,235,235,.03);border:1px solid var(--line-soft);border-radius:var(--r-sm);padding:1rem}
.dk-l{font-size:.66rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-faint);display:block;margin-bottom:.5rem}
.dk-v{font-family:var(--serif);font-size:1.6rem;color:#fff;display:block}
.dk-spark{font-size:.68rem;font-family:var(--mono);color:var(--text-faint)}
.dk-spark.up{color:var(--ok)}

.dash-cols{display:grid;grid-template-columns:1.5fr 1fr;gap:.9rem}
.dash-main{display:flex;flex-direction:column;gap:.9rem}
.dm-card{background:rgba(255,235,235,.03);border:1px solid var(--line-soft);border-radius:var(--r-sm);padding:1.1rem}
.big-line{width:100%;height:200px}
.big-line .grid-lines line{stroke:var(--line-soft)}
.big-line .line{stroke-dasharray:1600;stroke-dashoffset:1600}
.dm-row{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}
.src-list{display:flex;flex-direction:column;gap:.7rem}
.src{display:flex;align-items:center;gap:.7rem;font-size:.74rem;color:var(--text-dim)}
.src i{font-style:normal;width:58px;flex:none}
.src b{font-family:var(--mono);color:#fff;font-weight:500;width:34px;text-align:right}
.src-bar{flex:1;height:7px;background:rgba(255,235,235,.06);border-radius:4px;overflow:hidden}
.src-bar span{display:block;height:100%;width:var(--w);background:linear-gradient(90deg,var(--mauve),var(--sand));border-radius:4px;transition:width 1.1s var(--ease)}
.bars--tall{height:90px;margin-bottom:.5rem}
.bars-x{display:flex;gap:.4rem;font-family:var(--mono);font-size:.6rem;color:var(--text-faint)}
.bars-x i{flex:1;text-align:center;font-style:normal}

.dash-side{display:flex;flex-direction:column;gap:.9rem}
.alerts{list-style:none;display:flex;flex-direction:column;gap:.7rem;margin-top:.3rem}
.alert{display:flex;align-items:center;gap:.6rem;font-size:.76rem;color:var(--text-dim)}
.al-dot{width:8px;height:8px;border-radius:50%;flex:none}
.al-dot.warn{background:var(--warn);box-shadow:0 0 8px var(--warn);animation:pulse 2s infinite}
.al-dot.ok{background:var(--ok)}
.ai-card-lg{background:linear-gradient(150deg,rgba(192,131,140,.12),rgba(201,169,138,.05));flex:1}
.ai-card-lg .ai-line{font-size:.9rem;color:var(--rose);font-weight:300;margin-top:.6rem;min-height:3.4em;transition:opacity .4s}
.ai-dots{display:flex;gap:.35rem;margin-top:.9rem}
.ai-dots i{width:6px;height:6px;border-radius:50%;background:rgba(255,235,235,.2)}
.ai-dots i.on{background:var(--mauve)}

/* ---------- AI tiles ---------- */
.ai-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem}
.ai-tile{background:linear-gradient(160deg,var(--panel-2),var(--panel));border:1px solid var(--line-soft);border-radius:var(--r);padding:1.7rem 1.5rem;transition:transform .5s var(--ease),border-color .5s}
.ai-tile:hover{transform:translateY(-5px);border-color:var(--mauve)}
.at-glyph{font-size:1.5rem;color:var(--mauve);display:block;margin-bottom:1rem}
.ai-tile h3{font-family:var(--serif);font-weight:400;font-size:1.22rem;color:#fff;margin-bottom:.5rem}
.ai-tile p{font-size:.86rem;color:var(--text-dim);font-weight:300}

/* ---------- process ---------- */
.process{list-style:none;display:grid;grid-template-columns:repeat(7,1fr);gap:0;counter-reset:p;position:relative}
.proc-step{position:relative;padding:1.6rem 1rem 1.6rem 0}
.proc-step::before{content:"";position:absolute;top:1.95rem;left:0;right:0;height:1px;background:var(--line)}
.proc-step::after{content:"";position:absolute;top:calc(1.95rem - 4px);left:0;width:9px;height:9px;border-radius:50%;background:var(--mauve);box-shadow:0 0 12px var(--mauve)}
.ps-num{font-family:var(--mono);font-size:.74rem;color:var(--mauve);display:block;margin-top:1.4rem;margin-bottom:.7rem}
.proc-step h3{font-family:var(--serif);font-weight:400;font-size:1.2rem;color:#fff;margin-bottom:.45rem}
.proc-step p{font-size:.78rem;color:var(--text-dim);font-weight:300;padding-right:.6rem}

/* ---------- cases ---------- */
.cases{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
.case{position:relative;background:linear-gradient(160deg,var(--panel-2),var(--panel));border:1px solid var(--line-soft);border-radius:var(--r);padding:2rem;overflow:hidden;transition:transform .5s var(--ease),border-color .5s}
.case::before{content:"";position:absolute;top:0;left:0;width:100%;height:2px;background:linear-gradient(90deg,var(--mauve),transparent);transform:scaleX(0);transform-origin:left;transition:transform .6s var(--ease)}
.case:hover{transform:translateY(-5px);border-color:var(--line)}
.case:hover::before{transform:scaleX(1)}
.case-meta{display:flex;justify-content:space-between;font-family:var(--mono);font-size:.72rem;margin-bottom:1.4rem}
.case-sector{color:var(--mauve);letter-spacing:.06em}
.case-no{color:var(--text-faint)}
.case h3{font-family:var(--serif);font-weight:400;font-size:1.55rem;color:#fff;margin-bottom:.8rem;line-height:1.15}
.case p{font-size:.92rem;color:var(--text-dim);font-weight:300;margin-bottom:1.4rem}
.case-tags{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem}
.case-tags li{font-size:.72rem;color:var(--text-dim);border:1px solid var(--line);border-radius:100px;padding:.35em .9em}

/* ---------- CTA ---------- */
.cta{position:relative;z-index:1;padding:7rem 2rem 8rem;text-align:center}
.cta-inner{max-width:760px;margin:0 auto}
.cta-title{font-family:var(--serif);font-weight:400;font-size:clamp(2rem,4.5vw,3.4rem);line-height:1.08;letter-spacing:-.01em;margin-bottom:1.2rem}
.cta-sub{color:var(--text-dim);font-weight:300;font-size:1.08rem;max-width:50ch;margin:0 auto 2.6rem}
.cta-form{display:grid;grid-template-columns:1fr 1fr;gap:1rem;text-align:left}
.field{position:relative}
.field--full{grid-column:span 2}
.field input,.field textarea{width:100%;background:rgba(255,235,235,.03);border:1px solid var(--line);border-radius:var(--r-sm);padding:1.15rem 1rem .5rem;color:var(--text);font-family:var(--sans);font-size:.95rem;transition:border-color .3s,background .3s;resize:vertical}
.field textarea{padding-top:1.4rem}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--mauve);background:rgba(255,235,235,.05)}
.field label{position:absolute;left:1rem;top:.95rem;color:var(--text-faint);font-size:.95rem;pointer-events:none;transition:.25s var(--ease)}
.field input:focus+label,.field input:not(:placeholder-shown)+label,
.field textarea:focus+label,.field textarea:not(:placeholder-shown)+label{top:.4rem;font-size:.66rem;color:var(--mauve);letter-spacing:.04em}
.cta-form .btn{grid-column:span 2;justify-self:center}
.form-note{grid-column:span 2;text-align:center;color:var(--ok);font-size:.9rem}

/* ---------- footer ---------- */
.footer{position:relative;z-index:1;border-top:1px solid var(--line-soft);padding:4rem 2rem 2rem;background:rgba(12,6,8,.5)}
.footer-inner{max-width:var(--maxw);margin:0 auto;display:grid;grid-template-columns:1.4fr 2fr;gap:3rem}
.footer-brand p{margin-top:1rem;color:var(--text-dim);font-weight:300;font-size:.9rem;max-width:38ch}
.footer-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.footer-cols h4{font-size:.74rem;text-transform:uppercase;letter-spacing:.12em;color:var(--text-faint);margin-bottom:1rem;font-weight:500}
.footer-cols a{display:block;color:var(--text-dim);font-size:.88rem;margin-bottom:.6rem;transition:color .3s}
.footer-cols a:hover{color:var(--rose)}
.footer-base{max-width:var(--maxw);margin:3rem auto 0;padding-top:1.5rem;border-top:1px solid var(--line-soft);display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.74rem;color:var(--text-faint)}
.footer-tag{font-family:var(--mono);letter-spacing:.08em}

/* ---------- reveal animation ---------- */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.reveal.in-view{opacity:1;transform:none}
.reveal[data-d="1"]{transition-delay:.08s}
.reveal[data-d="2"]{transition-delay:.16s}

@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
  .reveal{opacity:1;transform:none}
  .spark .line,.big-line .line{stroke-dashoffset:0!important}
}

/* ---------- industries tabs ---------- */
.tab-nav{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.6rem;border-bottom:1px solid var(--line-soft);padding-bottom:1.2rem}
.tab-btn{
  font-family:var(--sans);font-size:.86rem;font-weight:500;color:var(--text-dim);
  background:rgba(255,235,235,.03);border:1px solid var(--line-soft);border-radius:100px;
  padding:.6em 1.2em;cursor:pointer;transition:color .3s,border-color .3s,background .3s,transform .3s var(--ease);
}
.tab-btn:hover{color:var(--text);border-color:var(--line);transform:translateY(-1px)}
.tab-btn.active{background:var(--rose);color:var(--wine-deep);border-color:var(--rose)}
.tab-panels{position:relative}
.tab-panel{
  display:grid;grid-template-columns:1.05fr .95fr;gap:2.4rem;align-items:center;
  background:linear-gradient(160deg,var(--panel-2),var(--panel));
  border:1px solid var(--line-soft);border-radius:var(--r);padding:2.4rem;
}
.tab-panel[hidden]{display:none}
.tab-panel.anim{animation:panelIn .55s var(--ease)}
@keyframes panelIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.tp-info .ind-tag{font-family:var(--mono);font-size:.74rem;color:var(--mauve);letter-spacing:.08em}
.tp-info h3{font-family:var(--serif);font-weight:400;font-size:clamp(1.5rem,2.6vw,2.05rem);color:#fff;margin:.7rem 0 .9rem;line-height:1.12}
.tp-info > p{font-size:.98rem;color:var(--text-dim);font-weight:300;margin-bottom:1.5rem;max-width:46ch}
.ind-items{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:.7rem 1.4rem;margin-bottom:1.8rem}
.ind-items li{display:flex;align-items:flex-start;gap:.6rem;font-size:.86rem;color:var(--text)}
.ii-tick{width:16px;height:16px;flex:none;margin-top:.15rem;border-radius:5px;background:rgba(192,131,140,.14);border:1px solid var(--line);position:relative}
.ii-tick::after{content:"";position:absolute;left:5px;top:2px;width:4px;height:8px;border:solid var(--mauve);border-width:0 1.6px 1.6px 0;transform:rotate(42deg)}
.ind-link{display:inline-flex;align-items:center;gap:.5em;font-size:.9rem;color:var(--rose);font-weight:500}
.ind-link span{transition:transform .35s var(--ease)}
.ind-link:hover span{transform:translateX(5px)}
.tp-visual .ind-preview{background:rgba(12,6,8,.55);border:1px solid var(--line);border-radius:var(--r-sm);padding:1.4rem}
.tp-visual .ip-stats em{font-size:1.7rem}
.tp-visual .ip-bars{height:80px}
.tp-visual .ip-ring{width:120px;height:120px;margin:.4rem auto 1rem}
.tp-visual .ip-ring span{font-size:1.5rem}
/* preview animations trigger on active panel */
.tab-panel.active .ip-bars span{transform:scaleY(1)}
.tab-panel.active .ip-pipe span{transform:scaleX(1)}
.tab-panel.active .br-bar span{transform:scaleX(1)}

/* ============================================================
   SOLUTION FINDER
   ============================================================ */
.finder{position:relative;z-index:1;max-width:980px;margin:0 auto;padding:6rem 2rem 5rem;text-align:center}
.finder-title{margin-top:1rem}
.finder-lead{margin:1.3rem auto 2.4rem;max-width:54ch;color:var(--text-dim);font-weight:300;font-size:1.06rem}
.finder-bar{
  display:flex;align-items:center;gap:.6rem;max-width:760px;margin:0 auto;
  background:linear-gradient(155deg,rgba(33,20,26,.95),rgba(20,10,13,.95));
  border:1px solid var(--line);border-radius:100px;padding:.5rem .5rem .5rem 1.3rem;
  box-shadow:0 30px 70px -30px rgba(0,0,0,.8), inset 0 1px 0 rgba(255,235,235,.05);
  transition:border-color .35s,box-shadow .35s;
}
.finder-bar:focus-within{border-color:var(--mauve);box-shadow:0 30px 80px -28px rgba(192,131,140,.4), inset 0 1px 0 rgba(255,235,235,.06)}
.fb-glyph{color:var(--mauve);font-size:1.05rem;flex:none;animation:corePulse 2.4s ease-in-out infinite}
.finder-bar input{flex:1;min-width:0;background:none;border:none;outline:none;color:var(--text);font-family:var(--sans);font-size:1rem;padding:.7rem 0}
.finder-bar input::placeholder{color:var(--text-faint)}
.fb-btn{flex:none;display:inline-flex;align-items:center;gap:.5em;background:linear-gradient(120deg,var(--rose),#f4d0d0);color:var(--wine-deep);border:none;border-radius:100px;padding:.85em 1.5em;font-family:var(--sans);font-weight:600;font-size:.92rem;cursor:pointer;transition:transform .3s var(--ease)}
.fb-btn:hover{transform:translateY(-1px)}
.fb-btn .arrow{transition:transform .3s var(--ease)}
.fb-btn:hover .arrow{transform:translateX(3px)}
.finder-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;margin-top:1.4rem}
.finder-chips button{font-family:var(--sans);font-size:.78rem;color:var(--text-dim);background:rgba(255,235,235,.03);border:1px solid var(--line-soft);border-radius:100px;padding:.5em 1em;cursor:pointer;transition:.3s}
.finder-chips button:hover{color:#fff;border-color:var(--mauve);transform:translateY(-1px)}

.finder-result{margin-top:2.2rem;text-align:left}
.finder-result[hidden]{display:none}
.fr-card{background:linear-gradient(160deg,var(--panel-2),var(--panel));border:1px solid var(--line);border-radius:var(--r);padding:1.8rem;animation:panelIn .5s var(--ease)}
.fr-analyzing{display:flex;align-items:center;gap:.7rem;justify-content:center;color:var(--text-dim);font-family:var(--mono);font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;padding:1.4rem}
.fr-analyzing .ai-glyph{animation:spin 1.2s linear infinite}
.fr-dots i{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--mauve);margin:0 2px;animation:corePulse 1s ease-in-out infinite}
.fr-dots i:nth-child(2){animation-delay:.15s}.fr-dots i:nth-child(3){animation-delay:.3s}
.fr-top{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}
.fr-label{font-family:var(--mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--mauve)}
.fr-title{font-family:var(--serif);font-weight:400;font-size:1.5rem;color:#fff;margin:.3rem 0 .2rem}
.fr-match{font-family:var(--mono);font-size:.7rem;color:var(--ok);background:rgba(134,181,154,.1);border:1px solid rgba(134,181,154,.25);border-radius:100px;padding:.35em .8em;white-space:nowrap}
.fr-sig{display:flex;flex-wrap:wrap;gap:.4rem;margin:.4rem 0 1.1rem}
.fr-sig span{font-family:var(--mono);font-size:.66rem;color:var(--text-dim);background:rgba(255,235,235,.04);border:1px solid var(--line-soft);border-radius:6px;padding:.3em .6em}
.fr-sig span b{color:var(--rose);font-weight:500}
.fr-desc{color:var(--text-dim);font-weight:300;font-size:.96rem;margin-bottom:1.3rem;max-width:62ch}
.fr-mods{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:.6rem 1.4rem;margin-bottom:1.5rem}
.fr-mods li{display:flex;align-items:center;gap:.6rem;font-size:.86rem;color:var(--text)}
.fr-mods .ii-tick{position:relative}
.fr-actions{display:flex;flex-wrap:wrap;gap:.8rem}

/* ============================================================
   SECTOR DASHBOARD EXPLORER
   ============================================================ */
.explorer{margin-top:.5rem}
.exp-pills{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.2rem}
.exp-pill{display:inline-flex;align-items:center;gap:.55em;font-family:var(--sans);font-size:.84rem;font-weight:500;color:var(--text-dim);background:rgba(255,235,235,.03);border:1px solid var(--line-soft);border-radius:100px;padding:.55em 1.1em;cursor:pointer;transition:.3s var(--ease)}
.exp-pill svg{width:15px;height:15px}
.exp-pill:hover{color:#fff;border-color:var(--line);transform:translateY(-1px)}
.exp-pill.active{background:var(--rose);color:var(--wine-deep);border-color:var(--rose)}

.exp-window{display:flex;overflow:hidden;border-radius:var(--r);min-height:520px}
.exp-rail{width:60px;flex:none;background:rgba(12,6,8,.6);border-right:1px solid var(--line-soft);display:flex;flex-direction:column;align-items:center;gap:.6rem;padding:1.2rem 0}
.exp-rail .er-brand{width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,var(--mauve-soft),var(--wine));display:grid;place-items:center;font-weight:800;font-size:.74rem;color:#fff;margin-bottom:.6rem}
.exp-rail .er-ic{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;color:var(--text-faint);cursor:pointer;transition:.3s}
.exp-rail .er-ic svg{width:18px;height:18px}
.exp-rail .er-ic:hover{color:var(--text)}
.exp-rail .er-ic.active{color:var(--rose);background:rgba(255,235,235,.07)}
.exp-main{flex:1;min-width:0;padding:1.4rem 1.6rem 1.6rem;display:flex;flex-direction:column}
.exp-head{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:.8rem;margin-bottom:1rem}
.exp-head h3{font-family:var(--serif);font-weight:400;font-size:1.45rem;color:#fff}
.exp-head .eh-sub{font-size:.76rem;color:var(--text-faint);display:flex;align-items:center;gap:.45em;margin-top:.2rem}
.exp-head .eh-clock{font-family:var(--mono)}
.exp-views{display:flex;gap:.3rem;flex-wrap:wrap;border-bottom:1px solid var(--line-soft);padding-bottom:.9rem;margin-bottom:1.1rem}
.exp-view-tab{font-family:var(--sans);font-size:.8rem;font-weight:500;color:var(--text-faint);background:rgba(255,235,235,.03);border:1px solid var(--line-soft);border-radius:9px;padding:.5em 1em;cursor:pointer;transition:.3s;display:inline-flex;align-items:center;gap:.45em}
.exp-view-tab .vt-dot{width:5px;height:5px;border-radius:50%;background:currentColor;opacity:.5}
.exp-view-tab:hover{color:var(--text)}
.exp-view-tab.active{background:rgba(255,235,235,.08);color:var(--rose);border-color:var(--line)}
.exp-body{flex:1}
.exp-view{animation:panelIn .45s var(--ease)}

/* explorer KPIs */
.exp-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:.7rem;margin-bottom:1rem}
.ek{background:rgba(255,235,235,.03);border:1px solid var(--line-soft);border-radius:var(--r-sm);padding:.85rem}
.ek-l{font-size:.62rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-faint);display:block;margin-bottom:.4rem}
.ek-v{font-family:var(--serif);font-size:1.4rem;color:#fff;display:block;line-height:1}
.ek-t{font-size:.66rem;font-family:var(--mono);margin-top:.35rem;display:inline-block;color:var(--text-faint)}
.ek-t.up{color:var(--ok)}.ek-t.down{color:var(--warn)}

.exp-cols{display:grid;grid-template-columns:1.5fr 1fr;gap:.8rem}
.exp-card{background:rgba(255,235,235,.03);border:1px solid var(--line-soft);border-radius:var(--r-sm);padding:1rem 1.1rem}
.exp-card .mc-head{margin-bottom:.8rem}
.exp-card--ai{background:linear-gradient(150deg,rgba(192,131,140,.12),rgba(201,169,138,.05));display:flex;align-items:center;gap:.7rem;margin-top:.8rem}
.exp-card--ai .ai-glyph{font-size:1rem}
.exp-card--ai p{font-size:.86rem;color:var(--rose);font-weight:300;margin:0}

/* chart primitives */
.exp-bars{display:flex;align-items:flex-end;gap:.4rem;height:130px}
.exp-bars span{flex:1;height:var(--h);background:linear-gradient(180deg,var(--mauve),rgba(192,131,140,.22));border-radius:5px 5px 0 0;transform-origin:bottom;transform:scaleY(0);transition:transform .8s var(--ease)}
.exp-view.shown .exp-bars span{transform:scaleY(1)}
.exp-bars-x{display:flex;gap:.4rem;margin-top:.4rem;font-family:var(--mono);font-size:.58rem;color:var(--text-faint)}
.exp-bars-x i{flex:1;text-align:center;font-style:normal}
.exp-hbars{display:flex;flex-direction:column;gap:.7rem}
.exp-hbar{display:flex;align-items:center;gap:.7rem;font-size:.74rem;color:var(--text-dim)}
.exp-hbar i{font-style:normal;width:84px;flex:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.exp-hbar b{font-family:var(--mono);color:#fff;font-weight:500;width:44px;text-align:right}
.exp-hbar .hb{flex:1;height:8px;background:rgba(255,235,235,.06);border-radius:4px;overflow:hidden}
.exp-hbar .hb span{display:block;height:100%;width:var(--w);background:linear-gradient(90deg,var(--mauve),var(--sand));border-radius:4px;transform-origin:left;transform:scaleX(0);transition:transform 1s var(--ease)}
.exp-view.shown .exp-hbar .hb span{transform:scaleX(1)}
.exp-donut{display:flex;align-items:center;gap:1.2rem}
.exp-ring{--p:0;width:108px;height:108px;flex:none;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--mauve) calc(var(--p)*1%), rgba(255,235,235,.08) 0);position:relative;transition:none}
.exp-ring::after{content:"";position:absolute;inset:11px;border-radius:50%;background:var(--ink-2)}
.exp-ring b{position:relative;z-index:1;font-family:var(--serif);font-size:1.45rem;color:#fff;font-weight:400}
.exp-ring small{position:relative;z-index:1;display:block;font-size:.56rem;color:var(--text-faint);text-align:center}
.exp-legend{display:flex;flex-direction:column;gap:.5rem;font-size:.74rem;color:var(--text-dim)}
.exp-legend i{font-style:normal;display:flex;align-items:center;gap:.5em}
.exp-legend i::before{content:"";width:8px;height:8px;border-radius:2px;background:var(--mauve)}
.exp-legend i:nth-child(2)::before{background:var(--sand)}
.exp-legend i:nth-child(3)::before{background:var(--mauve-soft);opacity:.6}
.exp-legend i:nth-child(4)::before{background:var(--wine);opacity:.8}
.exp-legend b{margin-left:auto;font-family:var(--mono);color:#fff;font-weight:500}
.exp-funnel{display:flex;flex-direction:column;gap:.55rem}
.exp-funnel .ef{position:relative;background:linear-gradient(90deg,var(--mauve),var(--wine));width:var(--w);min-width:max-content;padding:.5rem .8rem;border-radius:7px;font-size:.74rem;color:#fff;display:flex;justify-content:space-between;gap:1rem;transform-origin:left;transform:scaleX(0);transition:transform .7s var(--ease)}
.exp-view.shown .exp-funnel .ef{transform:scaleX(1)}
.exp-funnel .ef b{font-family:var(--mono)}
.exp-list{display:flex;flex-direction:column;gap:.1rem}
.exp-list .el{display:flex;align-items:center;gap:.7rem;font-size:.78rem;color:var(--text-dim);padding:.55rem 0;border-bottom:1px solid var(--line-soft)}
.exp-list .el:last-child{border-bottom:none}
.exp-list .el .eld{width:7px;height:7px;border-radius:50%;flex:none;background:var(--mauve)}
.exp-list .el .eld.warn{background:var(--warn);box-shadow:0 0 7px var(--warn)}
.exp-list .el .eld.ok{background:var(--ok)}
.exp-list .el .elx{margin-left:auto;font-family:var(--mono);font-size:.68rem;color:var(--text-faint)}
.exp-list .el .elx.tag{color:var(--mauve);background:rgba(192,131,140,.12);border-radius:5px;padding:.15em .5em}
.exp-table{width:100%;border-collapse:collapse;font-size:.76rem}
.exp-table th{text-align:left;font-family:var(--mono);font-size:.62rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);font-weight:400;padding:.4rem .5rem;border-bottom:1px solid var(--line-soft)}
.exp-table td{padding:.5rem .5rem;color:var(--text-dim);border-bottom:1px solid var(--line-soft)}
.exp-table td:last-child{text-align:right;font-family:var(--mono);color:#fff}
.exp-table tr:last-child td{border-bottom:none}
.exp-line{width:100%;height:140px}
.exp-line .line{stroke-dasharray:1400;stroke-dashoffset:1400}
.exp-view.shown .exp-line .line{stroke-dashoffset:0;transition:stroke-dashoffset 1.8s var(--ease)}
.exp-line .grid-lines line{stroke:var(--line-soft)}
.exp-foot{margin-top:1rem;font-family:var(--mono);font-size:.7rem;color:var(--text-faint);letter-spacing:.04em}
.exp-foot a{color:var(--mauve)}

/* analytics detail strip */
.exp-extra{display:grid;grid-template-columns:repeat(4,1fr);gap:.7rem;margin-top:.8rem}
.ex{background:linear-gradient(150deg,rgba(255,235,235,.04),rgba(255,235,235,.015));border:1px solid var(--line-soft);border-radius:var(--r-sm);padding:.85rem .9rem;position:relative;overflow:hidden}
.ex::before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:linear-gradient(180deg,var(--mauve),transparent)}
.ex-v{font-family:var(--serif);font-size:1.15rem;color:#fff;display:block;line-height:1.1}
.ex-l{font-size:.66rem;color:var(--text-dim);display:block;margin-top:.35rem}
.ex-s{font-family:var(--mono);font-size:.6rem;color:var(--text-faint);display:block;margin-top:.15rem;letter-spacing:.03em}

/* reorder / replenishment intelligence */
.exp-cols--reorder{grid-template-columns:1.55fr 1fr}
.ro-calc{display:grid;grid-template-columns:1.4fr .8fr .8fr 1fr;gap:.6rem;margin-bottom:.9rem}
.ro-field{display:flex;flex-direction:column;gap:.3rem}
.ro-field label{font-size:.6rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-faint)}
.ro-in{background:rgba(12,6,8,.5);border:1px solid var(--line);border-radius:9px;padding:.55rem .6rem;color:var(--text);font-family:var(--sans);font-size:.82rem;width:100%;transition:border-color .3s}
.ro-in:focus{outline:none;border-color:var(--mauve)}
.ro-in[type="date"]{font-family:var(--mono);font-size:.74rem;color-scheme:dark}
.ro-out{background:linear-gradient(150deg,rgba(192,131,140,.12),rgba(201,169,138,.05));border:1px solid var(--line);border-radius:var(--r-sm);padding:.9rem 1rem;margin-bottom:1.1rem}
.ro-out-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem}
.ro-out-grid span{font-size:.62rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);display:block;margin-bottom:.25rem}
.ro-out-grid b{font-family:var(--serif);font-size:1.15rem;color:#fff;font-weight:400}
.ro-status{margin-top:.8rem;font-size:.8rem;font-weight:500;display:flex;align-items:center;gap:.5em}
.ro-status::before{content:"";width:8px;height:8px;border-radius:50%;flex:none}
.ro-status.ok{color:var(--ok)}.ro-status.ok::before{background:var(--ok);box-shadow:0 0 8px var(--ok)}
.ro-status.warn{color:var(--warn)}.ro-status.warn::before{background:var(--warn);box-shadow:0 0 8px var(--warn);animation:pulse 2s infinite}
.ro-qhead{font-size:.72rem;color:var(--text-dim);margin-bottom:.5rem;display:flex;justify-content:space-between;align-items:baseline;gap:1rem}
.ro-qhead span{font-family:var(--mono);font-size:.6rem;color:var(--text-faint)}
.ro-table td:nth-child(4),.ro-table th:nth-child(4){text-align:center;font-family:var(--mono);color:var(--text)}
.ro-table td:last-child,.ro-table th:last-child{text-align:right}
.ro-badge{font-family:var(--mono);font-size:.62rem;padding:.25em .6em;border-radius:6px;white-space:nowrap}
.ro-badge.ok{color:var(--ok);background:rgba(134,181,154,.12);border:1px solid rgba(134,181,154,.22)}
.ro-badge.warn{color:var(--warn);background:rgba(224,160,106,.12);border:1px solid rgba(224,160,106,.25)}
.ro-hint{font-size:.72rem;color:var(--text-faint);margin-bottom:.7rem}
.ro-markers{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1rem}
.ro-chip{font-family:var(--sans);font-size:.72rem;color:var(--text-dim);background:rgba(255,235,235,.03);border:1px solid var(--line-soft);border-radius:100px;padding:.45em .85em;cursor:pointer;transition:.25s}
.ro-chip:hover{color:#fff;border-color:var(--line)}
.ro-chip.on{background:var(--mauve);color:var(--wine-deep);border-color:var(--mauve)}
.ro-recs{background:rgba(12,6,8,.4);border:1px dashed var(--line);border-radius:var(--r-sm);padding:.9rem 1rem;min-height:96px;font-size:.8rem;color:var(--text-faint)}
.ro-recs em{font-style:normal}
.ro-reclist{display:flex;flex-direction:column;gap:.5rem}
.ro-rec{display:flex;align-items:center;gap:.6rem;font-size:.85rem;color:var(--text)}
.ro-rec .ii-tick{position:relative;flex:none}
.ro-recnote{margin-top:.8rem;font-size:.72rem;color:var(--mauve);font-style:italic}

/* partner sync portal */
.exp-cols--partners{grid-template-columns:1.5fr 1fr}
.pt-hint{font-size:.72rem;color:var(--text-faint);margin-bottom:.8rem}
.pt-orders{display:flex;flex-direction:column;gap:.6rem}
.pt-order{display:block;width:100%;text-align:left;background:rgba(255,235,235,.03);border:1px solid var(--line-soft);border-radius:var(--r-sm);padding:.9rem 1rem;cursor:pointer;transition:border-color .3s,background .3s;font-family:inherit}
.pt-order:hover{border-color:var(--line)}
.pt-order.sel{border-color:var(--mauve);background:rgba(192,131,140,.09)}
.pt-order-top{display:flex;justify-content:space-between;align-items:center}
.pt-partner{font-size:.88rem;color:#fff;font-weight:500}
.pt-id{font-family:var(--mono);font-size:.66rem;color:var(--text-faint)}
.pt-prod{font-size:.74rem;color:var(--text-dim);margin-top:.15rem}
.pt-bar{position:relative;height:6px;background:rgba(255,235,235,.07);border-radius:4px;margin:.85rem 0 .55rem}
.pt-fill{position:absolute;left:0;top:0;bottom:0;width:var(--p);background:linear-gradient(90deg,var(--mauve),var(--sand));border-radius:4px;transform-origin:left;transform:scaleX(0);transition:transform 1s var(--ease)}
.exp-view.shown .pt-fill{transform:scaleX(1)}
.pt-tick{position:absolute;top:50%;width:9px;height:9px;border-radius:50%;background:var(--ink-2);border:1px solid var(--line);transform:translate(-50%,-50%);z-index:1}
.pt-tick.on{background:var(--mauve);border-color:var(--mauve)}
.pt-stages{display:flex;justify-content:space-between;font-family:var(--mono);font-size:.56rem;color:var(--text-faint);letter-spacing:.02em}
.pt-stages .done{color:var(--text-dim)}
.pt-stages .active{color:var(--rose)}
.pt-meta{display:flex;gap:1rem;margin-top:.6rem;font-family:var(--mono);font-size:.64rem;color:var(--text-faint)}
.pt-meta .pt-stage{color:var(--mauve)}

.pt-preview-card{background:linear-gradient(160deg,rgba(33,20,26,.75),rgba(20,10,13,.75))}
.ptp-head{display:flex;justify-content:space-between;align-items:center;padding-bottom:.75rem;border-bottom:1px solid var(--line-soft);margin-bottom:.85rem}
.ptp-brand{font-family:var(--serif);font-size:1.15rem;color:#fff}
.ptp-portal{font-family:var(--mono);font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;color:var(--mauve);border:1px solid var(--line);border-radius:100px;padding:.3em .7em}
.ptp-order{display:flex;flex-direction:column;gap:.15rem;margin-bottom:.85rem}
.ptp-order span{font-family:var(--mono);font-size:.64rem;color:var(--text-faint)}
.ptp-order b{font-size:.92rem;color:var(--text);font-weight:500}
.ptp-status{display:flex;align-items:center;gap:.5em;font-size:.82rem;color:var(--rose);margin-bottom:1rem}
.ptp-status.done{color:var(--ok)}
.ptp-timeline{list-style:none;margin-bottom:.9rem}
.ptp-timeline li{display:flex;align-items:center;gap:.75rem;font-size:.78rem;color:var(--text-faint);padding:.32rem 0;position:relative}
.ptp-dot{width:11px;height:11px;border-radius:50%;background:var(--ink-2);border:1px solid var(--line);flex:none;position:relative;z-index:1}
.ptp-timeline li::before{content:"";position:absolute;left:5px;top:-50%;height:100%;width:1px;background:var(--line-soft)}
.ptp-timeline li:first-child::before{display:none}
.ptp-timeline li.done{color:var(--text-dim)}
.ptp-timeline li.done .ptp-dot{background:var(--mauve);border-color:var(--mauve)}
.ptp-timeline li.done::before{background:var(--mauve)}
.ptp-timeline li.active{color:var(--rose)}
.ptp-timeline li.active .ptp-dot{background:var(--rose);border-color:var(--rose);box-shadow:0 0 0 3px rgba(255,235,235,.12)}
.ptp-foot{display:flex;justify-content:space-between;font-family:var(--mono);font-size:.64rem;color:var(--text-faint);padding-top:.75rem;border-top:1px solid var(--line-soft)}
.ptp-brandline{margin-top:.7rem;font-size:.6rem;color:var(--text-faint);text-align:center;letter-spacing:.04em}

/* medical: departments + doctors + assignment */
.md-depts{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1rem}
.md-dept{font-family:var(--mono);font-size:.66rem;color:var(--text-dim);background:rgba(255,235,235,.04);border:1px solid var(--line-soft);border-radius:100px;padding:.35em .85em}
select.ro-in{appearance:none;-webkit-appearance:none;cursor:pointer;background-image:linear-gradient(45deg,transparent 50%,var(--text-faint) 50%),linear-gradient(135deg,var(--text-faint) 50%,transparent 50%);background-position:calc(100% - 16px) 55%,calc(100% - 11px) 55%;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:1.8rem}
select.ro-in option{background:var(--ink-2);color:var(--text)}

/* clinical: medication database */
.cl-search{margin-bottom:.7rem}
.cl-list{display:flex;flex-direction:column;gap:.35rem;max-height:216px;overflow-y:auto;margin-bottom:.8rem;padding-right:.2rem}
.cl-med{display:flex;flex-direction:column;align-items:flex-start;gap:.1rem;width:100%;text-align:left;background:rgba(255,235,235,.03);border:1px solid var(--line-soft);border-radius:9px;padding:.55rem .8rem;cursor:pointer;transition:.25s;font-family:inherit}
.cl-med:hover{border-color:var(--line)}
.cl-med.on{border-color:var(--mauve);background:rgba(192,131,140,.09)}
.cl-med b{font-size:.82rem;color:#fff;font-weight:500}
.cl-med span{font-family:var(--mono);font-size:.62rem;color:var(--text-faint)}
.cl-note{min-height:72px}
.cl-note em{font-style:normal;color:var(--text-faint)}
.cl-note-head{font-family:var(--serif);font-size:1.05rem;color:#fff}
.cl-note-head span{font-family:var(--mono);font-size:.62rem;color:var(--mauve);display:block;margin-top:.15rem}
.cl-note-body{font-size:.82rem;color:var(--text-dim);line-height:1.55;margin-top:.5rem}
.cl-note-body b{color:var(--rose)}

/* gym: machine scan */
.mc-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}
.mc-tile{display:flex;align-items:center;gap:.5rem;background:rgba(255,235,235,.03);border:1px solid var(--line-soft);border-radius:9px;padding:.6rem .7rem;cursor:pointer;transition:.25s;font-family:inherit;font-size:.78rem;color:var(--text-dim)}
.mc-tile:hover{border-color:var(--line);color:#fff}
.mc-tile.on{border-color:var(--mauve);background:rgba(192,131,140,.09);color:#fff}
.mc-qr{color:var(--mauve);font-size:1rem}
.mc-rec{display:flex;flex-direction:column;gap:.2rem;margin:.5rem 0 .7rem}
.mc-rec-goal{font-family:var(--mono);font-size:.62rem;text-transform:uppercase;letter-spacing:.08em;color:var(--mauve)}
.mc-rec b{font-family:var(--serif);font-size:1.25rem;color:#fff;font-weight:400}
.mc-tip{font-size:.78rem;color:var(--text-dim);font-style:italic}

/* nutrition plan */
.nut-progs{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1rem}
.nut-meals{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-top:.9rem}
.nut-meal{background:rgba(255,235,235,.03);border:1px solid var(--line-soft);border-radius:9px;padding:.6rem .7rem}
.nut-meal i{font-family:var(--mono);font-size:.58rem;text-transform:uppercase;letter-spacing:.08em;color:var(--mauve);font-style:normal;display:block;margin-bottom:.2rem}
.nut-meal span{font-size:.8rem;color:var(--text)}

/* ============================================================
   FROM THE FOUNDER
   ============================================================ */
.founder-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:3.5rem;align-items:center}
.founder-media{display:flex;flex-direction:column;gap:1rem;align-items:center}
.founder-portrait{
  width:100%;max-width:320px;aspect-ratio:4/5;border-radius:var(--r);overflow:hidden;position:relative;
  background:
    radial-gradient(120% 90% at 50% 0%, rgba(192,131,140,.28), transparent 60%),
    linear-gradient(160deg,var(--panel-2),var(--wine-deep));
  border:1px solid var(--line);display:grid;place-items:center;
  box-shadow:0 40px 90px -40px rgba(0,0,0,.8), inset 0 1px 0 rgba(255,235,235,.06);
}
.founder-portrait img{width:100%;height:100%;object-fit:cover}
.fp-monogram{font-family:var(--sans);font-weight:800;font-size:3rem;letter-spacing:.06em;color:var(--rose);opacity:.85}
.founder-portrait::after{content:"Founder portrait";position:absolute;bottom:1rem;font-family:var(--mono);font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint)}
.founder-portrait img ~ .fp-monogram,.founder-portrait img ~ ::after{display:none}
.founder-badge{width:100%;max-width:320px;padding:1rem 1.2rem;border-radius:var(--r-sm);display:flex;flex-direction:column;gap:.15rem}
.fb-role{font-family:var(--mono);font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;color:var(--mauve)}
.fb-name{font-family:var(--serif);font-size:1.3rem;color:#fff}
.fb-tag{font-size:.78rem;color:var(--text-faint)}

.founder-copy .section-title{margin-bottom:1.6rem}
.founder-letter p{color:var(--text-dim);font-weight:300;font-size:1.02rem;margin-bottom:1rem;max-width:60ch}
.founder-letter p:first-child::first-letter{font-family:var(--serif);font-size:2.6rem;line-height:.9;float:left;padding:.1em .12em 0 0;color:var(--mauve)}
.founder-quote{position:relative;margin:1.8rem 0;padding:1.2rem 0 1.2rem 2.2rem;border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft)}
.founder-quote .fq-mark{position:absolute;left:-.1rem;top:.6rem;font-family:var(--serif);font-size:3rem;line-height:1;color:var(--mauve);opacity:.5}
.founder-quote p{font-family:var(--serif);font-style:italic;font-size:1.4rem;color:#fff;font-weight:300;max-width:40ch}
.founder-sign{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1.2rem;margin-top:1.8rem}
.fs-name strong{font-family:var(--serif);font-weight:400;font-size:1.15rem;color:#fff;display:block}
.fs-name span{font-size:.8rem;color:var(--text-faint)}

.founder-notes{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem;margin-top:3.2rem}
.fn-card{background:linear-gradient(160deg,var(--panel-2),var(--panel));border:1px solid var(--line-soft);border-radius:var(--r);padding:1.6rem;transition:transform .5s var(--ease),border-color .5s}
.fn-card:hover{transform:translateY(-4px);border-color:var(--mauve)}
.fn-k{font-family:var(--mono);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--mauve);display:block;margin-bottom:.8rem}
.fn-card p{font-family:var(--serif);font-style:italic;font-weight:300;font-size:1.05rem;color:var(--text);line-height:1.5}

/* ============================================================
   INTRO / LOGO BUILD
   ============================================================ */
body.intro-active{overflow:hidden}
.intro{position:fixed;inset:0;z-index:2000;display:grid;place-items:center;background:radial-gradient(80vw 80vw at 50% 40%,#1b0d12,var(--ink) 70%);transition:opacity .9s var(--ease),visibility .9s}
.intro.done{opacity:0;visibility:hidden}
.intro-stage{display:flex;flex-direction:column;align-items:center;gap:1.6rem;perspective:900px}
.intro-logo{width:122px;height:122px;filter:drop-shadow(0 0 26px rgba(192,131,140,.45));animation:introMark .9s var(--ease) both}
.intro-logo .lg-mark,.intro-logo .lg-img{width:100%;height:100%}
.intro-logo--spin .lg-mark,.intro-logo--spin .lg-img{animation:lgspin 2.8s linear infinite}
@keyframes lgspin{to{transform:rotate(360deg)}}
@keyframes introMark{from{opacity:0;transform:scale(.55)}to{opacity:1;transform:none}}
.intro-logo .lg-frame path{stroke-dasharray:70;stroke-dashoffset:70;animation:lgdraw .7s var(--ease) forwards}
.intro-logo .lg-frame path:nth-child(1){animation-delay:.25s}
.intro-logo .lg-frame path:nth-child(2){animation-delay:.4s}
.intro-logo .lg-frame path:nth-child(3){animation-delay:.55s}
.intro-logo .lg-frame path:nth-child(4){animation-delay:.7s}
@keyframes lgdraw{to{stroke-dashoffset:0}}
.intro-logo .lg-wave{opacity:0;animation:lgfade .7s ease .6s forwards}
@keyframes lgfade{to{opacity:1}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes corePulse{0%,100%{transform:scale(1)}50%{transform:scale(1.12)}}

.intro-mark{display:flex;gap:.55em;transform-style:preserve-3d}
.im-word{display:flex}
.im-word--1 i{font-family:var(--sans);font-weight:800;font-size:clamp(1.5rem,5vw,2.4rem);letter-spacing:.16em;color:var(--rose)}
.im-word--2 i{font-family:var(--sans);font-weight:300;font-size:clamp(1.5rem,5vw,2.4rem);letter-spacing:.24em;color:var(--mauve)}
.intro-mark i{display:inline-block;font-style:normal;opacity:0;transform:translateY(14px) rotateX(-90deg);transform-origin:bottom;animation:letterBuild .5s var(--ease) forwards;animation-delay:calc(.5s + var(--i)*.07s)}
@keyframes letterBuild{to{opacity:1;transform:none}}

.intro-bar{width:180px;height:2px;background:rgba(255,235,235,.1);border-radius:2px;overflow:hidden}
.intro-bar span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--mauve),var(--rose));animation:barFill 2.1s var(--ease) forwards;animation-delay:.3s}
@keyframes barFill{to{width:100%}}
.intro-status{font-family:var(--mono);font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;color:var(--text-faint)}

@media (prefers-reduced-motion:reduce){
  .intro{display:none}
}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:1080px){
  .hero-grid{grid-template-columns:1fr;gap:3rem}
  .hero-panel{max-width:560px}
  .build-grid{grid-template-columns:repeat(2,1fr)}
  .ai-grid{grid-template-columns:repeat(2,1fr)}
  .process{grid-template-columns:repeat(2,1fr)}
  .proc-step::before,.proc-step::after{display:none}
  .proc-step{border-top:1px solid var(--line);padding-left:0}
  .intel-grid{grid-template-columns:1fr;gap:2.5rem}
  .dash-cols{grid-template-columns:1fr}
}
@media (max-width:760px){
  .nav-links{display:none}
  .nav-links.open{display:flex;position:absolute;top:100%;left:0;right:0;flex-direction:column;background:rgba(12,6,8,.96);backdrop-filter:blur(18px);padding:1.5rem 2rem;gap:1.2rem;border-bottom:1px solid var(--line)}
  .nav-toggle{display:flex}
  .btn--nav{display:none}
  .hero{padding-top:7.5rem}
  .build-grid,.ind-grid,.ai-grid,.cases,.dash-kpis,.dm-row{grid-template-columns:1fr}
  .ind-card--wide{grid-column:span 1}
  .dash{flex-direction:column}
  .dash-rail{flex-direction:row;width:100%;justify-content:flex-start;gap:.8rem;border-right:none;border-bottom:1px solid var(--line-soft);padding:.9rem 1.2rem}
  .panel-mid{grid-template-columns:1fr}
  .kpi-row{grid-template-columns:1fr 1fr}
  .cta-form{grid-template-columns:1fr}
  .field--full,.cta-form .btn,.form-note{grid-column:span 1}
  .footer-inner{grid-template-columns:1fr;gap:2rem}
  .footer-cols{grid-template-columns:1fr 1fr}
  .hero-stats{gap:1.5rem}
  .panel-float{display:none}
  .intel-list{grid-template-columns:1fr}
  .tab-panel{grid-template-columns:1fr;gap:1.6rem;padding:1.5rem}
  .ind-items{grid-template-columns:1fr}
  .tab-nav{gap:.4rem}
  .tab-btn{font-size:.78rem;padding:.55em 1em}
  .finder-bar{flex-direction:column;border-radius:18px;padding:1rem;gap:.8rem;align-items:stretch}
  .fb-glyph{display:none}
  .finder-bar input{text-align:center;padding:.4rem 0}
  .fb-btn{justify-content:center;width:100%}
  .fr-mods{grid-template-columns:1fr}
  .exp-window{flex-direction:column}
  .exp-rail{flex-direction:row;width:100%;justify-content:flex-start;gap:.5rem;border-right:none;border-bottom:1px solid var(--line-soft);padding:.8rem 1rem;overflow-x:auto}
  .exp-rail .er-brand{margin-bottom:0}
  .exp-main{padding:1.1rem}
  .exp-kpis{grid-template-columns:1fr 1fr}
  .exp-cols{grid-template-columns:1fr}
  .exp-cols--reorder{grid-template-columns:1fr}
  .exp-cols--partners{grid-template-columns:1fr}
  .pt-stages{font-size:.5rem}
  .mc-grid{grid-template-columns:1fr}
  .exp-donut{flex-direction:column;text-align:center}
  .exp-extra{grid-template-columns:1fr 1fr}
  .ro-calc{grid-template-columns:1fr 1fr}
  .ro-out-grid{grid-template-columns:1fr}
  .founder-grid{grid-template-columns:1fr;gap:2.2rem}
  .founder-media{flex-direction:row;flex-wrap:wrap;align-items:stretch}
  .founder-portrait{max-width:150px;aspect-ratio:1/1}
  .founder-badge{flex:1;min-width:180px;max-width:none;justify-content:center}
  .founder-notes{grid-template-columns:1fr}
  .founder-sign{flex-direction:column;align-items:flex-start}
  .section{padding:4.5rem 1.3rem}
  .hero{padding-left:1.3rem;padding-right:1.3rem}
}
