:root{
  --bg:#07130f;
  --bg-2:#0b1d17;
  --bg-3:#10271f;
  --card:rgba(255,255,255,.06);
  --card-strong:rgba(255,255,255,.1);
  --line:rgba(255,255,255,.10);
  --text:#f4f7f5;
  --muted:#b8c4be;
  --green:#38d67a;
  --green-2:#8cffbe;
  --shadow:0 18px 60px rgba(0,0,0,.28);
  --radius:28px;
  --radius-sm:18px;
  --container:min(1180px, 92vw);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Inter",sans-serif;
  color:var(--text);
  background:
    radial-gradient(circle at 10% 10%, rgba(56,214,122,.15), transparent 28%),
    radial-gradient(circle at 90% 10%, rgba(48,107,255,.10), transparent 24%),
    linear-gradient(180deg, var(--bg) 0%, var(--bg-2) 48%, #091511 100%);
  line-height:1.5;
}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
.container{width:var(--container);margin:0 auto}
.page{
  min-height:100vh;
  position:relative;
  overflow:hidden;
}
.page::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(180deg, rgba(255,255,255,.02), transparent 14%),
    linear-gradient(90deg, rgba(255,255,255,.03) 0, rgba(255,255,255,0) 22%, rgba(255,255,255,.03) 50%, rgba(255,255,255,0) 78%, rgba(255,255,255,.03) 100%);
  opacity:.18;
}
.header{
  position:sticky;
  top:0;
  z-index:50;
  backdrop-filter:blur(18px);
  background:rgba(6,16,13,.62);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.nav{
  width:var(--container);
  margin:0 auto;
  min-height:78px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
.brand{
  display:flex;
  align-items:center;
  gap:14px;
  font-weight:700;
  letter-spacing:-.03em;
  min-width:max-content;
}
.brand-mark{
  width:46px;height:46px;border-radius:50%;
  background:#f0ede6;
  display:grid;place-items:center;
  box-shadow:0 0 0 2px rgba(56,214,122,.35), 0 10px 25px rgba(0,0,0,.28);
  overflow:hidden;
  padding:2px;
}
.brand-mark img{width:100%;height:100%;object-fit:contain;border-radius:50%}
.brand-name{font-size:1.3rem}
.nav-links{
  display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end;
}
.nav-links a{
  color:#e6ede9;
  padding:11px 15px;
  border-radius:999px;
  font-size:.98rem;
  transition:.25s ease;
}
.nav-links a:hover,.nav-links a.active{
  background:rgba(255,255,255,.08);
  color:#fff;
}
.hero{
  padding:72px 0 54px;
}
.hero-grid{
  width:var(--container);
  margin:0 auto;
  display:grid;
  grid-template-columns:1.02fr .98fr;
  gap:42px;
  align-items:center;
}
.eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  color:var(--green-2);
  background:rgba(56,214,122,.12);
  border:1px solid rgba(56,214,122,.18);
  padding:10px 14px;border-radius:999px;
  font-weight:600;font-size:.95rem;
}
.eyebrow-dot{
  width:10px;height:10px;border-radius:50%;background:var(--green);
  box-shadow:0 0 18px rgba(56,214,122,.85);
}
h1,h2,h3{margin:0;letter-spacing:-.045em;line-height:.98}
.hero-copy h1{
  margin-top:18px;
  font-size:clamp(3rem,8vw,6rem);
  max-width:8.5ch;
}
.hero-copy p{
  margin:22px 0 0;
  font-size:1.18rem;
  color:var(--muted);
  max-width:660px;
}
.hero-actions{
  display:flex;flex-wrap:wrap;gap:14px;margin-top:28px;
}
.btn{
  padding:15px 22px;border-radius:999px;font-weight:700;
  display:inline-flex;align-items:center;gap:10px;
  transition:transform .2s ease, background .2s ease, border-color .2s ease;
}
.btn:hover{transform:translateY(-2px)}
.btn-primary{
  background:linear-gradient(135deg,#2ccf72,#5ff49d);
  color:#04100b;
  box-shadow:0 18px 34px rgba(56,214,122,.22);
}
.btn-secondary{
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.06);
  color:#fff;
}
.metrics{
  margin-top:32px;
  display:grid;grid-template-columns:repeat(3, minmax(0,1fr));gap:14px;
}
.metric{
  padding:18px 18px 16px;
  border:1px solid var(--line);
  background:var(--card);
  border-radius:22px;
  box-shadow:var(--shadow);
}
.metric strong{display:block;font-size:1.5rem;margin-bottom:4px}
.metric span{color:var(--muted);font-size:.95rem}
.device-wrap{
  position:relative;
  min-height:720px;
}
.glow{
  position:absolute;inset:8% 2% auto auto;width:72%;height:72%;
  background:radial-gradient(circle, rgba(56,214,122,.18), transparent 60%);
  filter:blur(10px);
}
.phone-shell{
  position:absolute;
  right:7%; top:22px;
  width:min(360px,86vw); aspect-ratio:9/19.6;
  border-radius:56px;
  background:linear-gradient(180deg,#101513,#050706);
  box-shadow:0 40px 100px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.12);
  padding:14px;
}
.phone-shell::before{
  content:"";
  position:absolute;left:50%;transform:translateX(-50%);
  top:10px;width:38%;height:28px;border-radius:0 0 18px 18px;
  background:#020303;
  z-index:5;
}

.phone-screen{
  width:100%;height:100%;
  border-radius:44px;
  background:
    radial-gradient(circle at 70% 35%, rgba(80,220,146,.18), transparent 30%),
    linear-gradient(180deg,#0d2a1d 0%, #eaf2eb 34%, #dfeade 100%);
  overflow:hidden;
  position:relative;
  panding: 0;
}
.phone-top{
  padding:36px 24px 18px;
  background:linear-gradient(180deg,#0b2619 0%,#0f3b26 100%);
  color:#fff;
}
.phone-top h3{font-size:1.1rem}
.phone-top p{margin:8px 0 0;color:#d8e7dd;font-size:.96rem}
.phone-cards{padding:18px}
.phone-panel{
  background:#f4f7f4;
  color:#142018;
  border-radius:28px;
  padding:18px;
  margin-bottom:16px;
}
.map-box{
  height:160px;border-radius:22px;
  background:
    radial-gradient(circle at 30% 35%, rgba(56,214,122,.55), transparent 8%),
    radial-gradient(circle at 72% 32%, rgba(56,214,122,.55), transparent 8%),
    radial-gradient(circle at 53% 60%, rgba(56,214,122,.55), transparent 8%),
    linear-gradient(180deg,#e9f2e8,#dfeade);
  position:relative;overflow:hidden;margin-top:10px;
}
.map-box::after{
  content:"";
  position:absolute;inset:0;
  background-image:linear-gradient(rgba(16,39,31,.05) 1px, transparent 1px), linear-gradient(90deg, rgba(16,39,31,.05) 1px, transparent 1px);
  background-size:26px 26px;
}
.two-stats{
  display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px;
}
.mini-stat{
  background:#f4f7f4;color:#152219;padding:16px;border-radius:22px;
}
.mini-stat strong{display:block;font-size:1.2rem}
.floating-card{
  position:absolute;
  left:0; bottom:20px;
  width:min(200px,38vw);
  padding:18px;
  border-radius:28px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
  box-shadow:var(--shadow);
  backdrop-filter:blur(14px);
}
.floating-card strong{font-size:2rem;display:block}
.floating-card p{margin:6px 0 0;color:#dbe7e0}
section.block{
  padding:28px 0 0;
}

/* ── Vidéo fond vision ── */
.hero-3d-video{
  position:fixed;top:0;left:0;
  width:100%;height:100%;
  object-fit:cover;
  z-index:0;
  pointer-events:none;
}
.hero-3d-overlay{
  position:fixed;top:0;left:0;
  width:100%;height:100%;
  background:rgba(7,19,15,.55);
  z-index:1;
  pointer-events:none;
}
body.index-page header,
body.index-page main,
body.index-page footer{
  position:relative;
  z-index:2;
}
.conception-bg-video{
  position:fixed;top:0;left:0;
  width:100%;height:100%;
  object-fit:cover;
  z-index:0;
  pointer-events:none;
}
.conception-overlay{
  position:fixed;top:0;left:0;
  width:100%;height:100%;
  background:rgba(7,19,15,.45);
  z-index:1;
  pointer-events:none;
}
body.conception-page header,
body.conception-page main,
body.conception-page footer{
  position:relative;
  z-index:2;
}
.vision-bg-video{
  position:fixed;top:0;left:0;
  width:100%;height:100%;
  object-fit:cover;
  z-index:1;
  pointer-events:none;
  opacity:1;
  transition:opacity 1.2s ease;
}
.vision-bg-video.faded{
  opacity:0.18;
  z-index:0;
}
.vision-skip{
  position:fixed;bottom:36px;left:50%;
  transform:translateX(-50%);
  z-index:10;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.25);
  color:#fff;
  padding:12px 28px;
  border-radius:999px;
  font-size:.95rem;
  font-weight:600;
  cursor:pointer;
  backdrop-filter:blur(10px);
  transition:opacity .4s, transform .4s;
}
.vision-skip.hidden{
  opacity:0;
  pointer-events:none;
  transform:translateX(-50%) translateY(16px);
}
body.video-playing,
html.video-playing{
  overflow:hidden;
}
body.vision-page .page-hero h1,
body.vision-page h2{
  color:#ffffff;
  text-shadow:0 2px 18px rgba(0,0,0,.55);
}
body.vision-page .page-hero p{
  color:#ddeedd;
}
.section-head{
  width:var(--container);margin:0 auto 24px;
  display:flex;justify-content:space-between;align-items:end;gap:20px;flex-wrap:wrap;
}
.section-head h2{font-size:clamp(2rem,4vw,3.4rem);max-width:10ch}
.section-head p{margin:0;color:var(--muted);max-width:580px;font-size:1.06rem}
.grid-3,.grid-4,.grid-2{
  width:var(--container);margin:0 auto;
  display:grid;gap:18px;
}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.card{
  border:1px solid var(--line);
  background:var(--card);
  border-radius:28px;
  padding:24px;
  box-shadow:var(--shadow);
}
.card h3{font-size:1.35rem;margin-bottom:10px}
.card p{margin:0;color:var(--muted)}
.step-number{
  display:inline-grid;place-items:center;width:42px;height:42px;border-radius:14px;
  background:rgba(56,214,122,.16);color:var(--green-2);font-weight:800;margin-bottom:14px;
}
.partner-logos{
  display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;width:var(--container);margin:0 auto;
}
.partner{
  min-height:96px;border:1px solid var(--line);background:rgba(255,255,255,.03);
  border-radius:22px;padding:18px;display:grid;place-items:center;
}
.partner img{
  max-width:82%; max-height:54px; object-fit:contain;
  filter:brightness(0) invert(1);
  opacity:.92;
}
.partner span{
  color:#ecf3ef;font-weight:700;letter-spacing:-.02em;text-align:center;
}
.kicker{
  color:var(--green-2);font-weight:700;letter-spacing:.02em;text-transform:uppercase;font-size:.84rem;margin-bottom:8px;
}
.footer{
  margin-top:72px;
  border-top:1px solid rgba(255,255,255,.08);
  background:rgba(0,0,0,.14);
}
.footer-inner{
  width:var(--container);margin:0 auto;padding:34px 0 46px;
  display:grid;grid-template-columns:1.2fr .9fr .9fr;gap:28px;
}
.footer h4{margin:0 0 12px;font-size:1rem}
.footer p,.footer a{color:var(--muted)}
.footer-links,.social-links{display:grid;gap:10px}
.footer a:hover{color:#fff}
.small{font-size:.94rem}
.page-hero{
  padding:78px 0 22px;
}
.page-hero h1{
  font-size:clamp(2.6rem,6vw,4.6rem);
  max-width:10ch;
}
.page-hero p{
  color:var(--muted);font-size:1.12rem;max-width:720px;margin:18px 0 0;
}
.team-card{
  text-align:center;
  min-height:210px;
  display:flex;flex-direction:column;justify-content:center;
}
.team-avatar{
  width:70px;height:70px;margin:0 auto 16px;border-radius:22px;
  background:linear-gradient(135deg,#173f2b,#2ccf72);
  display:grid;place-items:center;font-weight:800;font-size:1.25rem;
}
.feature-list{display:grid;gap:12px}
.feature-item{
  border:1px solid var(--line);background:rgba(255,255,255,.04);
  border-radius:20px;padding:16px 18px;
}
.feature-item strong{display:block;margin-bottom:4px}
.cta-band{
  width:var(--container);margin:36px auto 0;
  border:1px solid rgba(255,255,255,.1);
  background:linear-gradient(135deg, rgba(56,214,122,.16), rgba(255,255,255,.05));
  border-radius:34px;padding:28px;
  display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;
}
.cta-band h3{font-size:1.8rem;max-width:12ch}
.index-links{
  display:flex;flex-wrap:wrap;gap:12px
}
.index-links a{
  padding:11px 16px;border-radius:999px;background:rgba(255,255,255,.07);border:1px solid var(--line);
}
.models-box{
  width:var(--container);margin:0 auto;
  min-height:420px;border-radius:34px;border:1px dashed rgba(255,255,255,.18);
  display:grid;place-items:center;text-align:center;padding:32px;background:rgba(255,255,255,.03)
}
.models-box p{max-width:700px;color:var(--muted)}
.note{
  color:var(--muted);font-size:.95rem;margin-top:8px
}
@media (max-width: 1040px){
  .hero-grid,.grid-3,.grid-4,.grid-2,.footer-inner{grid-template-columns:1fr 1fr}
  .device-wrap{min-height:620px}
  .phone-shell{right:auto;left:50%;transform:translateX(-50%);top:0}
  .floating-card{left:8%;bottom:26px}
}

@media (max-width: 720px){
  .nav{padding:12px 0;min-height:64px}
  .nav-links{display:none}
  .hero{padding:28px 0 32px}
  .hero-grid{grid-template-columns:1fr;gap:32px}
  .hero-copy h1{font-size:clamp(2.4rem,10vw,3.6rem);max-width:none}
  .hero-copy p{font-size:1rem}
  .hero-actions{flex-direction:column;gap:10px}
  .hero-actions .btn{width:100%;justify-content:center}
  .metrics{grid-template-columns:1fr}
  .device-wrap{
    min-height:0;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:18px;
    padding-bottom:24px;
  }
  .glow{display:none}
  .phone-shell{
    position:relative;
    right:auto;top:auto;left:auto;
    transform:none;
    width:min(300px,80vw);
  }
  .floating-card{
    position:relative;
    left:auto;bottom:auto;
    width:100%;
    max-width:300px;
  }
  .grid-3,.grid-4,.grid-2{grid-template-columns:1fr}
  .section-head{flex-direction:column;align-items:flex-start;margin-bottom:16px}
  .section-head h2{font-size:clamp(1.8rem,6vw,2.6rem);max-width:none}
  .footer-inner{grid-template-columns:1fr;gap:20px}
  .footer{margin-top:48px}
  .cta-band{flex-direction:column;align-items:flex-start}
  .cta-band h3{font-size:1.4rem}
  .index-links{flex-direction:column;width:100%}
  .index-links a{text-align:center}
}
.partner-logos{
  width: var(--container);
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 14px;
}

.logo-card{
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 150px;
  padding: 12px 10px 16px;
  border-radius: 20px;
  background: linear-gradient(180deg, rgba(255,255,255,0.05), rgba(255,255,255,0.03));
  border: 1px solid rgba(255,255,255,0.10);
  box-shadow: 0 18px 40px rgba(0,0,0,0.22);
  transition: transform .25s ease, border-color .25s ease, background .25s ease, box-shadow .25s ease;
  text-align: center;
}

.logo-card:hover{
  transform: translateY(-4px);
  border-color: rgba(56,214,122,0.35);
  background: linear-gradient(180deg, rgba(255,255,255,0.08), rgba(255,255,255,0.04));
  box-shadow: 0 22px 50px rgba(0,0,0,0.28);
}

.logo-card .logo-box{
  width: 100%;
  height: 90px;
  border-radius: 16px;
  background: rgba(255,255,255,0.95);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 14px 16px;
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(0,0,0,0.25);
}

.logo-card img{
  max-width: 100%;
  max-height: 80px;
  width: auto;
  height: auto;
  object-fit: contain;
  object-position: center;
  display: block;
  filter: none !important;
}

.logo-card strong{
  margin-top: 10px;
  font-size: 1rem;
  line-height: 1.15;
  color: #f4f7f5;
  font-weight: 700;
  min-height: 2.2em;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}

@media (max-width: 1400px){
  .partner-logos{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 800px){
  .partner-logos{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 520px){
  .partner-logos{
    grid-template-columns: 1fr;
  }
}

  .logo-card{
    min-height: 200px;
  }
}
.app-frame{
  position: absolute;
  top: 0;
  left: 0;
  width: 390px;
  height: 844px;
  border: none;
  display: block;
  transform-origin: top left;
  transform: scale(var(--app-scale, 1));
  border-radius: 0;
}

/* ═══════════════════════════════════════════════════════════════
   ANIMATION & 3D LAYER v3.0
═══════════════════════════════════════════════════════════════ */

/* ── Loading Screen ──────────────────────────────────────────── */
#gl-loader {
  position: fixed; inset: 0; z-index: 99999;
  background: #07130f;
  display: flex; flex-direction: column;
  align-items: center; justify-content: center; gap: 22px;
  transition: opacity .55s ease, visibility .55s ease;
}
#gl-loader.loaded { opacity: 0; visibility: hidden; }

.loader-brand {
  position: relative; width: 74px; height: 74px;
}
.loader-ring {
  position: absolute; inset: -8px;
  border-radius: 50%;
  border: 2.5px solid rgba(56,214,122,.18);
  border-top-color: #38d67a;
  animation: loaderSpin .85s linear infinite;
}
.loader-brand img {
  width: 74px; height: 74px;
  border-radius: 50%; object-fit: contain;
  background: #f0ede6;
  box-shadow: 0 0 40px rgba(56,214,122,.3);
}
.loader-name {
  color: #8cffbe; font-weight: 800;
  font-size: 1.15rem; letter-spacing: .12em;
  text-transform: uppercase;
  font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Display', 'Inter', sans-serif;
}
@keyframes loaderSpin { to { transform: rotate(360deg); } }

/* ── Custom Cursor ───────────────────────────────────────────── */
#gl-cursor {
  position: fixed; top: 0; left: 0;
  width: 36px; height: 36px;
  border: 1.5px solid rgba(56,214,122,.65);
  border-radius: 50%;
  pointer-events: none; z-index: 9990;
  transition: width .22s ease, height .22s ease,
              border-color .22s ease, background .22s ease,
              opacity .22s ease;
  will-change: transform;
}
#gl-cursor.cursor-hover {
  width: 52px; height: 52px;
  background: rgba(56,214,122,.07);
  border-color: #38d67a;
}
#gl-cursor-dot {
  position: fixed; top: 0; left: 0;
  width: 6px; height: 6px;
  background: #38d67a; border-radius: 50%;
  pointer-events: none; z-index: 9991;
  box-shadow: 0 0 12px rgba(56,214,122,.9);
  will-change: transform;
}

/* ── 3D exploded-view background canvas (bg3d.js) ────────────── */
#bg3d-canvas {
  position: fixed; inset: 0;
  pointer-events: none;
  z-index: 0;           /* behind .page (z-index: 1) */
}

/* ── Ambient particle overlay ────────────────────────────────── */
#bg-canvas {
  position: fixed; inset: 0;
  pointer-events: none; z-index: 0;
  opacity: .3;           /* subtle — 3D handles main visuals */
}

/* .page sits above both canvases */
.page { position: relative; z-index: 1; }

/* ── Scroll Reveal ───────────────────────────────────────────── */
.reveal {
  opacity: 0;
  transform: translateY(32px);
  transition: opacity .7s cubic-bezier(.22,1,.36,1),
              transform .7s cubic-bezier(.22,1,.36,1);
}
.reveal.is-visible {
  opacity: 1;
  transform: none;
}

/* ── Gradient Text on H1 ─────────────────────────────────────── */
.hero-copy h1 {
  background: linear-gradient(135deg, #f4f7f5 0%, #c8f5e0 45%, #38d67a 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* ── Hero 3D visual ──────────────────────────────────────────── */
.hero-visual {
  position: relative;
  display: flex; align-items: center; justify-content: center;
  min-height: 520px;
}
#hero-canvas {
  width: 100%; height: 520px;
  display: block; border-radius: 32px;
  position: relative; z-index: 1;
}
.hero-canvas-glow {
  position: absolute; inset: 12%;
  background: radial-gradient(circle, rgba(56,214,122,.22), transparent 65%);
  filter: blur(28px);
  pointer-events: none; z-index: 0;
  animation: canvasGlowPulse 3.5s ease-in-out infinite alternate;
}
@keyframes canvasGlowPulse {
  from { opacity: .55; transform: scale(.95); }
  to   { opacity: 1;   transform: scale(1.05); }
}

/* ── Floating Orbs ───────────────────────────────────────────── */
.orb {
  position: absolute; border-radius: 50%;
  pointer-events: none; z-index: 0;
  filter: blur(90px); will-change: transform;
}
.orb-1 {
  width: 520px; height: 520px;
  top: -160px; left: -220px;
  background: radial-gradient(circle, rgba(56,214,122,.13), transparent 68%);
  animation: orbDrift 9s ease-in-out infinite alternate;
}
.orb-2 {
  width: 400px; height: 400px;
  top: 28%; right: -140px;
  background: radial-gradient(circle, rgba(40,90,220,.07), transparent 68%);
  animation: orbDrift 13s ease-in-out infinite alternate-reverse;
}
.orb-3 {
  width: 340px; height: 340px;
  bottom: 6%; left: 28%;
  background: radial-gradient(circle, rgba(56,214,122,.10), transparent 68%);
  animation: orbDrift 11s ease-in-out infinite alternate;
}
@keyframes orbDrift {
  from { transform: translate(0, 0) scale(1); }
  to   { transform: translate(28px, 18px) scale(1.09); }
}

/* ── Glowing eyebrow dot ─────────────────────────────────────── */
.eyebrow-dot {
  animation: dotPulse 2.2s ease-in-out infinite;
}
@keyframes dotPulse {
  0%,100% { box-shadow: 0 0 6px rgba(56,214,122,.5); }
  50%     { box-shadow: 0 0 22px rgba(56,214,122,1), 0 0 40px rgba(56,214,122,.4); }
}

/* ── Metric value gradient ───────────────────────────────────── */
.metric strong {
  background: linear-gradient(135deg, #8cffbe 0%, #38d67a 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  font-size: 1.7rem;
}

/* ── Step number enhanced ────────────────────────────────────── */
.step-number {
  background: linear-gradient(135deg, rgba(56,214,122,.22), rgba(56,214,122,.08));
  border: 1px solid rgba(56,214,122,.28);
  box-shadow: 0 0 18px rgba(56,214,122,.1);
  transition: box-shadow .3s, transform .3s;
}
.card:hover .step-number {
  box-shadow: 0 0 28px rgba(56,214,122,.32);
  transform: scale(1.08);
}

/* ── CTA Band glow ───────────────────────────────────────────── */
.cta-band { position: relative; overflow: hidden; }
.cta-band::before {
  content: '';
  position: absolute; top: -60%; left: -10%;
  width: 55%; height: 220%;
  background: radial-gradient(circle, rgba(56,214,122,.11), transparent 60%);
  pointer-events: none;
}

/* ── Team avatar gradient ────────────────────────────────────── */
.team-avatar {
  background: linear-gradient(135deg, #173f2b, #38d67a);
  box-shadow: 0 8px 24px rgba(56,214,122,.22);
  font-size: 1.1rem;
  transition: transform .3s ease, box-shadow .3s ease;
}
.team-card:hover .team-avatar {
  transform: scale(1.12) rotate(-3deg);
  box-shadow: 0 12px 32px rgba(56,214,122,.38);
}

/* ── Navigation underline animation ─────────────────────────── */
.nav-links a {
  position: relative; overflow: hidden;
}
.nav-links a::after {
  content: '';
  position: absolute; bottom: 6px; left: 50%;
  width: 0; height: 2px;
  background: #38d67a; border-radius: 1px;
  transition: width .3s ease, left .3s ease;
}
.nav-links a:hover::after,
.nav-links a.active::after {
  width: 60%; left: 20%;
}

/* ── App showcase section ────────────────────────────────────── */
.app-showcase {
  padding: 56px 0 0;
}
.app-showcase-inner {
  width: var(--container);
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 52px;
  align-items: center;
}
.app-showcase-copy h2 { font-size: clamp(2rem, 4vw, 3.2rem); margin-bottom: 16px; }
.app-showcase-copy p  { color: var(--muted); font-size: 1.08rem; margin: 0 0 24px; }
.app-feature-pills { display: flex; flex-wrap: wrap; gap: 10px; }
.app-pill {
  display: inline-flex; align-items: center; gap: 7px;
  padding: 9px 15px; border-radius: 999px;
  background: rgba(56,214,122,.1);
  border: 1px solid rgba(56,214,122,.22);
  color: #8cffbe; font-size: .9rem; font-weight: 600;
}
.app-pill svg { width: 14px; height: 14px; fill: #38d67a; }
.app-showcase-phone { display: flex; justify-content: center; align-items: center; }
.app-showcase-phone .phone-shell {
  position: relative; inset: auto;
  width: min(300px, 78vw);
  box-shadow: 0 0 80px rgba(56,214,122,.14), 0 40px 90px rgba(0,0,0,.4);
}

/* ── Hero visual badge ───────────────────────────────────────── */
.hero-badge {
  position: absolute; bottom: 28px; left: 28px; z-index: 2;
  padding: 14px 18px;
  border-radius: 22px;
  background: rgba(13,34,24,.85);
  border: 1px solid rgba(56,214,122,.25);
  backdrop-filter: blur(12px);
  box-shadow: 0 18px 44px rgba(0,0,0,.3);
}
.hero-badge strong {
  display: block; font-size: 1.5rem;
  background: linear-gradient(135deg,#8cffbe,#38d67a);
  -webkit-background-clip: text; -webkit-text-fill-color: transparent;
  background-clip: text;
}
.hero-badge span { color: var(--muted); font-size: .88rem; }

/* ── Scrollbar ───────────────────────────────────────────────── */
::-webkit-scrollbar { width: 5px; }
::-webkit-scrollbar-track { background: #07130f; }
::-webkit-scrollbar-thumb {
  background: rgba(56,214,122,.28); border-radius: 3px;
}
::-webkit-scrollbar-thumb:hover { background: rgba(56,214,122,.55); }

/* ── Page-hero h1 gradient ───────────────────────────────────── */
.page-hero h1 {
  background: linear-gradient(135deg, #f4f7f5 0%, #c8f5e0 50%, #38d67a 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* ── Stat band (vision page) ─────────────────────────────────── */
.stat-number {
  background: linear-gradient(135deg, #8cffbe 0%, #38d67a 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* ── Section kicker glow ─────────────────────────────────────── */
.kicker { text-shadow: 0 0 18px rgba(140,255,190,.25); }

/* ── Feature items hover ─────────────────────────────────────── */
.feature-item {
  transition: background .25s ease, border-color .25s ease, transform .25s ease;
}
.feature-item:hover {
  background: rgba(56,214,122,.08);
  border-color: rgba(56,214,122,.28);
  transform: translateX(5px);
}

/* ── Mobile adjustments ──────────────────────────────────────── */
@media (max-width: 860px) {
  .app-showcase-inner { grid-template-columns: 1fr; gap: 32px; }
  .app-showcase-phone { order: -1; }
  #hero-canvas { height: 360px; }
  .hero-visual { min-height: 360px; }
}
@media (max-width: 720px) {
  #hero-canvas { height: 280px; }
  .hero-visual { min-height: 280px; }
  .hero-badge { bottom: 12px; left: 12px; padding: 10px 14px; }
  #gl-cursor, #gl-cursor-dot { display: none; }
}
