
  :root{
    --bg:#F6F8FC;--bg-2:#EDF1F8;--paper:#FFFFFF;
    --ink:#181B24;--ink-soft:#46526A;--ink-faint:#8590A3;
    --steel:#15904f;--steel-light:#5fc091;--steel-deep:#0a5c39;
    --line:rgba(24,27,36,.09);--line-2:rgba(24,27,36,.05);
    --grad:linear-gradient(110deg,#34b673,#0c6b40);
    --grad-deep:linear-gradient(110deg,#15904f,#064e30);
    --pad:clamp(1.4rem,5vw,6rem);
    --shadow:0 24px 60px -28px rgba(10,70,45,.26);
    --shadow-sm:0 12px 32px -18px rgba(10,70,45,.2);
  }
  *{margin:0;padding:0;box-sizing:border-box}
  html{scroll-behavior:smooth;overflow-x:clip}
  body{font-family:'Sora',sans-serif;background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;line-height:1.6;overflow-x:clip}
  .mono{font-family:'JetBrains Mono',monospace}
  .eyebrow{font-family:'JetBrains Mono',monospace;font-size:.72rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--steel);display:inline-flex;align-items:center;gap:.6rem}
  .eyebrow::before{content:"";width:24px;height:1px;background:var(--steel)}
  .grad-text{background:var(--grad-deep);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}

  .orb{position:fixed;border-radius:50%;filter:blur(64px);opacity:.5;z-index:0;pointer-events:none}
  .orb.a{width:46vw;height:46vw;max-width:600px;max-height:600px;background:radial-gradient(circle,rgba(95,192,145,.55),transparent 65%);top:-12%;right:-8%;animation:float1 22s ease-in-out infinite alternate}
  .orb.b{width:40vw;height:40vw;max-width:520px;max-height:520px;background:radial-gradient(circle,rgba(20,144,79,.4),transparent 65%);top:40%;left:-12%;animation:float2 28s ease-in-out infinite alternate}
  @keyframes float1{to{transform:translate(-6%,8%) scale(1.12)}}
  @keyframes float2{to{transform:translate(8%,-6%) scale(1.1)}}

  nav{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:1rem var(--pad);transition:all .4s ease}
  nav.scrolled{background:rgba(6,37,26,.85);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid rgba(143,227,189,.14);padding-top:.7rem;padding-bottom:.7rem}
  nav.scrolled .nav-links a{color:rgba(255,255,255,.82)}
  nav.scrolled .nav-links a:hover{color:#fff}
  nav.scrolled .nav-logo-mark{filter:none}
  nav.scrolled .nav-burger{color:#fff}
  .brand{display:flex;align-items:center;text-decoration:none}
  .nav-logo{height:30px;width:auto;display:block;transition:height .4s ease}
  nav.scrolled .nav-logo{height:26px}
  .nav-links{display:flex;gap:2.1rem;align-items:center}
  .nav-links a{text-decoration:none;color:var(--ink-soft);font-size:.88rem;font-weight:400;transition:color .3s ease}
  .nav-links a:hover{color:var(--ink)}
  .nav-links .nav-ads{display:inline-flex;align-items:center}
  .nav-links .nav-ads .ilg-ads{height:1.32em}
  .btn{display:inline-flex;align-items:center;gap:.5rem;text-decoration:none;background:var(--grad-deep);color:#fff;padding:.6rem 1.2rem;border-radius:100px;font-size:.86rem;font-weight:500;box-shadow:var(--shadow-sm);transition:transform .3s ease,box-shadow .3s ease}
  .btn:hover{transform:translateY(-2px);box-shadow:0 18px 36px -16px rgba(8,80,50,.5)}
  .btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--line);box-shadow:none}
  .btn.ghost:hover{border-color:var(--steel);color:var(--steel)}

  .hero{position:relative;z-index:2;min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:8rem var(--pad) 4rem}
  .hero .eyebrow{opacity:0;transform:translateY(14px);animation:rise .8s .15s forwards}
  .hero h1{font-weight:600;font-size:clamp(2.6rem,7vw,6rem);line-height:1.04;letter-spacing:-.03em;max-width:16ch;margin:1.8rem 0}
  .hero h1 .w{display:inline-block;opacity:0;transform:translateY(22px);animation:rise .9s forwards}
  .hero h1 .w:nth-child(1){animation-delay:.25s}.hero h1 .w:nth-child(2){animation-delay:.33s}.hero h1 .w:nth-child(3){animation-delay:.41s}
  .hero h1 .w:nth-child(4){animation-delay:.49s}.hero h1 .w:nth-child(5){animation-delay:.57s}.hero h1 .w:nth-child(6){animation-delay:.65s}
  .hero p{font-size:clamp(1.05rem,2vw,1.28rem);color:var(--ink-soft);font-weight:300;max-width:54ch;line-height:1.65;opacity:0;transform:translateY(16px);animation:rise .9s .8s forwards}
  .hero-actions{display:flex;gap:1rem;margin-top:2.6rem;flex-wrap:wrap;justify-content:center;opacity:0;transform:translateY(16px);animation:rise .9s .95s forwards}
  .hero-points{list-style:none;display:none}
  .hero-points li{display:flex;align-items:flex-start;gap:.6rem;color:var(--soft-on-dark);font-size:.97rem;line-height:1.5;font-weight:300;opacity:0;transform:translateY(14px);animation:rise .7s both}
  .hero-points li:nth-child(1){animation-delay:1.05s}
  .hero-points li:nth-child(2){animation-delay:1.22s}
  .hero-points li:nth-child(3){animation-delay:1.39s}
  .hero-points li svg{width:18px;height:18px;flex:none;color:var(--alva-mint);margin-top:.12rem}
  .hero-points .hp-txt{flex:1;min-width:0}
  .hero-points .ilg-alvaads{height:.9em;vertical-align:-.13em}
  .hero .btn{padding:.85rem 1.7rem;font-size:.95rem}
  @keyframes rise{to{opacity:1;transform:translateY(0)}}
  .hero-visual{position:relative;margin-top:4.5rem;width:100%;display:flex;justify-content:center}
  .amark{width:clamp(120px,18vw,176px);height:auto;display:block;filter:drop-shadow(0 18px 30px rgba(8,70,44,.22));animation:bob 6s ease-in-out infinite}
  @keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}

  section{position:relative;z-index:2;padding:clamp(4.5rem,9vw,8rem) var(--pad)}
  .wrap{max-width:1140px;margin:0 auto}
  .sec-head{text-align:center;max-width:62ch;margin:0 auto clamp(3rem,6vw,4.5rem)}
  .sec-head h2{font-weight:600;font-size:clamp(2rem,4.4vw,3.3rem);line-height:1.1;letter-spacing:-.025em;margin:1.2rem 0 1rem}
  .sec-head p{color:var(--ink-soft);font-weight:300;font-size:1.08rem;line-height:1.7}

  .stack{display:flex;flex-direction:column;gap:1.2rem;max-width:920px;margin:0 auto}
  .layer{position:relative;background:var(--paper);border:1px solid var(--line);border-radius:22px;padding:clamp(1.8rem,3vw,2.6rem);display:grid;grid-template-columns:auto 1fr auto;gap:1.8rem;align-items:center;box-shadow:var(--shadow-sm);overflow:hidden;transition:transform .4s ease,box-shadow .4s ease}
  .layer:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
  .layer::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--grad)}
  .layer .l-num{font-family:'JetBrains Mono',monospace;font-size:.8rem;color:var(--ink-faint);writing-mode:vertical-rl;transform:rotate(180deg);letter-spacing:.2em}
  .layer .l-body h3{font-size:1.5rem;font-weight:600;letter-spacing:-.02em;display:flex;align-items:center;gap:.7rem;flex-wrap:wrap}
  .layer .l-body h3 .pill{font-family:'JetBrains Mono',monospace;font-size:.66rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--steel);background:rgba(20,144,79,.1);padding:.28rem .6rem;border-radius:100px}
  .layer .l-body p{color:var(--ink-soft);font-weight:300;margin-top:.6rem;max-width:52ch;line-height:1.65}
  .layer .l-icon{width:58px;height:58px;border-radius:16px;background:var(--bg-2);display:grid;place-items:center;flex:none}
  .layer .l-icon svg{width:28px;height:28px}

  .proof{background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
  .proof-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.5rem,4vw,3rem);max-width:1000px;margin:0 auto;text-align:center}
  .metric .m-num{font-weight:600;font-size:clamp(2.4rem,5vw,3.4rem);letter-spacing:-.03em;line-height:1}
  .metric .m-cap{color:var(--ink-soft);font-weight:300;margin-top:.7rem;font-size:.95rem}

  .split{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}
  .split .panel{background:var(--paper);border:1px solid var(--line);border-radius:24px;padding:2.4rem;box-shadow:var(--shadow-sm);position:relative;overflow:hidden;min-height:300px}
  .split .panel .chip{display:flex;align-items:center;gap:.7rem;padding:.8rem 1rem;background:var(--bg);border:1px solid var(--line);border-radius:14px;margin-bottom:.8rem;font-size:.9rem;font-weight:400}
  .split .panel .chip .d{width:9px;height:9px;border-radius:50%;background:var(--grad);flex:none}
  .split h2{font-weight:600;font-size:clamp(1.8rem,3.6vw,2.7rem);line-height:1.14;letter-spacing:-.025em;margin-bottom:1.2rem}
  .split p{color:var(--ink-soft);font-weight:300;line-height:1.75;margin-bottom:1rem;font-size:1.05rem}

  .cta{text-align:center}
  .cta-card{background:var(--grad-deep);border-radius:30px;padding:clamp(3rem,7vw,5.5rem) 2rem;color:#fff;position:relative;overflow:hidden;max-width:1000px;margin:0 auto;box-shadow:0 40px 80px -36px rgba(8,80,50,.6)}
  .cta-card::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 0%,rgba(255,255,255,.22),transparent 50%);pointer-events:none}
  .cta-card h2{font-weight:600;font-size:clamp(2rem,4.6vw,3.4rem);line-height:1.08;letter-spacing:-.025em;max-width:18ch;margin:0 auto 1.4rem;position:relative}
  .cta-card p{color:rgba(255,255,255,.85);font-weight:300;max-width:44ch;margin:0 auto 2.4rem;line-height:1.7;position:relative}
  .cta-card .btn{background:#fff;color:var(--steel-deep);position:relative;padding:.95rem 2rem;font-size:1rem}
  .cta-card .btn:hover{transform:translateY(-2px) scale(1.02)}

  footer{position:relative;z-index:2;padding:clamp(3rem,5vw,4.5rem) var(--pad) 2.5rem;border-top:1px solid var(--line)}
  .foot-top{max-width:1140px;margin:0 auto;display:flex;justify-content:space-between;flex-wrap:wrap;gap:2.5rem;padding-bottom:2.5rem;border-bottom:1px solid var(--line)}
  .foot-brand{max-width:32ch}
  .foot-logo{height:46px;width:auto;display:block;margin-bottom:1rem}
  .foot-brand p{color:var(--ink-soft);font-weight:300;font-size:.92rem;line-height:1.6}
  .foot-cols{display:flex;gap:clamp(2.5rem,6vw,5rem);flex-wrap:wrap}
  .foot-col h4{font-family:'JetBrains Mono',monospace;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:1rem}
  .foot-col a{display:block;text-decoration:none;color:var(--ink-soft);font-size:.9rem;font-weight:300;margin-bottom:.6rem;transition:color .3s ease}
  .foot-col a:hover{color:var(--steel)}
  .foot-bottom{max-width:1140px;margin:2rem auto 0;display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;font-size:.82rem;color:var(--ink-faint);font-weight:300}

    .marquee{position:relative;overflow:hidden;padding:6px 0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
  .marquee-track{display:flex;gap:16px;width:max-content;animation:scrollx 72s linear infinite}
  .marquee:hover .marquee-track{animation-play-state:paused}
  .m-item{flex:none;height:90px;min-width:176px;border-radius:14px;display:grid;place-items:center;padding:0 26px;border:1px solid rgba(8,44,28,.10);box-shadow:0 10px 24px -16px rgba(8,44,28,.35)}
  .m-item img{max-height:52px;max-width:148px;width:auto;height:auto;display:block}
  .m-item span{font-weight:600;font-size:.98rem;color:var(--ink-soft);letter-spacing:-.01em;white-space:nowrap}
  @keyframes scrollx{from{transform:translateX(0)}to{transform:translateX(-50%)}}
  .reveal{opacity:0;transform:translateY(28px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1)}
  .reveal.in{opacity:1;transform:translateY(0)}
  .reveal.d1{transition-delay:.1s}.reveal.d2{transition-delay:.2s}.reveal.d3{transition-delay:.3s}

  @media(max-width:880px){
    .nav-links{display:none}
    .split{grid-template-columns:1fr}
    .partner-grid{grid-template-columns:1fr!important}
    .proof-grid{grid-template-columns:1fr;gap:2.2rem}
    .layer{grid-template-columns:auto 1fr;gap:1.2rem}
    .layer .l-icon{display:none}
  }

  /* Clients / engagement */
  .aud-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.1rem;margin-bottom:clamp(2.4rem,5vw,3.4rem)}
  .aud-card{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:1.6rem 1.5rem;box-shadow:var(--shadow-sm);transition:transform .4s ease,box-shadow .4s ease}
  .aud-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
  .aud-card .ac-ic{width:44px;height:44px;border-radius:13px;background:var(--bg-2);display:grid;place-items:center;margin-bottom:1rem}
  .aud-card .ac-ic svg{width:22px;height:22px}
  .aud-card h4{font-size:1.05rem;font-weight:600;letter-spacing:-.01em}
  .aud-card p{color:var(--ink-soft);font-weight:300;font-size:.9rem;line-height:1.6;margin-top:.4rem}
  .flow-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.1rem}
  .flow-step{position:relative;background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:1.6rem 1.5rem;box-shadow:var(--shadow-sm)}
  .flow-step .fs-num{font-family:'JetBrains Mono',monospace;font-size:.66rem;font-weight:500;letter-spacing:.1em;color:var(--steel);background:rgba(20,144,79,.1);padding:.3rem .6rem;border-radius:100px}
  .flow-step h4{font-size:1.04rem;font-weight:600;letter-spacing:-.01em;margin:.9rem 0 .4rem}
  .flow-step p{color:var(--ink-soft);font-weight:300;font-size:.88rem;line-height:1.58}
  .flow-step:not(:last-child)::after{content:"";position:absolute;right:-.62rem;top:50%;width:1rem;height:1px;background:var(--steel-light);z-index:3}
  .engage-note{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-top:1.6rem;padding:1.1rem 1.4rem;border:1px dashed rgba(20,144,79,.4);border-radius:16px;background:var(--bg-2)}
  .engage-note span{color:var(--ink-soft);font-weight:300;font-size:.95rem}

  @media(max-width:880px){
    .aud-grid{grid-template-columns:1fr 1fr}
    .flow-grid{grid-template-columns:1fr}
    .flow-step:not(:last-child)::after{display:none}
  }

  /* ══════════════════════════════════════════════════════════
     v2 · Engineered / editorial elevation
     ══════════════════════════════════════════════════════════ */
  :root{--rule:rgba(24,27,36,.11)}

  /* atmosphere — kill blurred orbs, add blueprint grid + grain */
  .orb{display:none!important}
  body::before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;
    background-image:linear-gradient(to right,rgba(10,72,46,.05) 1px,transparent 1px),linear-gradient(to bottom,rgba(10,72,46,.05) 1px,transparent 1px);
    background-size:74px 74px;
    -webkit-mask-image:radial-gradient(125% 85% at 50% -12%,#000 0%,transparent 72%);
            mask-image:radial-gradient(125% 85% at 50% -12%,#000 0%,transparent 72%)}
  body::after{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.28;mix-blend-mode:multiply;
    background-image:url("assets/img/a02.svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

  /* engineered section structure */
  #stack,#reach,#model,#clients,#network,#partners{border-top:1px solid var(--rule)}
  .sec-num{position:absolute;top:clamp(1.8rem,3.6vw,3rem);right:var(--pad);z-index:0;pointer-events:none;user-select:none;
    font-family:'JetBrains Mono',monospace;font-weight:500;font-size:clamp(2.6rem,8vw,6rem);line-height:1;letter-spacing:-.05em;
    color:transparent;-webkit-text-stroke:1px rgba(20,144,79,.26)}

  /* editorial kicker + left-aligned heads */
  .eyebrow{font-size:.7rem;letter-spacing:.22em;color:var(--steel-deep)}
  .eyebrow::before{width:30px}
  .sec-head{text-align:left;max-width:none;margin:0 0 clamp(2.6rem,5vw,4rem)}
  .sec-head h2{font-size:clamp(2.3rem,5.4vw,4.1rem);letter-spacing:-.035em;max-width:17ch;margin:1.3rem 0 0}
  .sec-head p{font-size:1.12rem;line-height:1.65;max-width:58ch;margin-top:1.2rem}

  /* hero — bigger, crisper */
  .hero h1{font-size:clamp(2.9rem,8vw,6.6rem);letter-spacing:-.04em}

  /* cards — hairline-first, engineered detailing */
  .layer,.split .panel,.aud-card,.flow-step{box-shadow:none;border:1px solid var(--rule)}
  .layer:hover,.aud-card:hover{transform:translateY(-3px);box-shadow:0 24px 50px -32px rgba(10,70,45,.4)}
  .flow-step::before{content:"";position:absolute;top:13px;right:13px;width:7px;height:7px;border-top:1.5px solid var(--steel-light);border-right:1.5px solid var(--steel-light)}

  /* signature gradient band — the proof / stat strip */
  .proof{background:var(--grad-deep);border:none;overflow:hidden}
  .proof::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;mix-blend-mode:overlay;
    background-image:url("assets/img/a02.svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='m'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23m)'/%3E%3C/svg%3E")}
  .proof .wrap{position:relative;z-index:2}
  .proof .metric .m-num,.proof .metric .m-num.grad-text{-webkit-text-fill-color:#fff;color:#fff;background:none}
  .proof .metric .m-cap{color:rgba(255,255,255,.82)}
  .proof .proof-grid::before,.proof .proof-grid::after{content:"";position:absolute;top:6%;bottom:6%;width:1px;background:rgba(255,255,255,.16)}
  .proof .proof-grid{position:relative}
  .proof .proof-grid::before{left:33.33%}.proof .proof-grid::after{left:66.66%}

  @media(max-width:880px){
    .sec-num{font-size:2.8rem}
    .proof .proof-grid::before,.proof .proof-grid::after{display:none}
  }
  .m-item{background:#E6EBF3!important;box-shadow:none!important;border:1px solid var(--rule)!important}
  .m-item img{max-height:46px;max-width:142px}
  .m-item{background:#E6EBF3!important;box-shadow:none!important;border:1px solid var(--rule)!important}
  .m-item img{max-height:46px;max-width:142px}
  .brand{display:inline-grid;align-items:center}
  .brand .nav-logo{grid-area:1/1;transition:opacity .5s ease,height .4s ease}
  .nav-logo-full{opacity:1}
  .nav-logo-mark{opacity:0;height:30px;justify-self:start;display:block}
  nav.scrolled .nav-logo-full{opacity:0}
  nav.scrolled .nav-logo-mark{opacity:1;height:30px}
  .m-item{background:#E6EBF3!important;box-shadow:none!important;border:1px solid var(--rule)!important}
  .m-item img{max-height:46px;max-width:142px}

  /* ============================================================
     v3 · production design — dark hero, light/dark rhythm, scale
     ============================================================ */
  :root{--ink-on-dark:#EAF0FA;--soft-on-dark:rgba(234,240,250,.74)}

  /* ---- HERO: dramatic gradient field ---- */
  .hero{color:#fff;min-height:100vh;overflow:hidden;
    background:
      radial-gradient(80% 60% at 12% 8%, rgba(10,165,95,.22), transparent 60%),
      radial-gradient(75% 60% at 88% 14%, rgba(67,179,164,.16), transparent 55%),
      radial-gradient(130% 110% at 50% -5%, #0a5c39 0%, #0a2c1f 50%, #07221a 100%)}
  .hero::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;mix-blend-mode:overlay;
    background-image:url("assets/img/a02.svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='h'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23h)'/%3E%3C/svg%3E")}
  .hero>*{position:relative;z-index:3}
  /* radiance — after the build completes, a slow faint glow pulses across the hero */
  .hero::before{content:"";position:absolute;inset:-20%;z-index:1;pointer-events:none;opacity:0;
    background:radial-gradient(74% 64% at 50% 44%, rgba(46,224,138,.36), rgba(16,124,65,.15) 46%, transparent 78%);
    transition:opacity 2.6s ease}
  .hero.radiant::before{animation:heroRadiate 6.5s ease-in-out infinite}
  @keyframes heroRadiate{0%,100%{opacity:.30;transform:scale(1)}50%{opacity:.82;transform:scale(1.17)}}
  @media(prefers-reduced-motion:reduce){.hero.radiant::before{animation:none;opacity:.45}}
  .hero .eyebrow{color:#8fe3bd}
  .hero .eyebrow::before{background:#8fe3bd}
  .hero h1{color:#fff;font-size:clamp(3.1rem,8.6vw,7.4rem);letter-spacing:-.045em;line-height:1.0}
  .hero .grad-text{background:linear-gradient(100deg,#8fe3bd,#ffffff);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
  .hero p{color:var(--soft-on-dark)}
  .hero .btn.ghost{color:#fff;border-color:rgba(255,255,255,.28)}
  .hero .btn.ghost:hover{border-color:#fff;color:#fff}
  .amark{filter:brightness(0) invert(1) drop-shadow(0 16px 50px rgba(70,196,130,.55))}

  /* nav over the dark hero, then flips when scrolled onto light */
  nav:not(.scrolled) .nav-links a{color:rgba(255,255,255,.8)}
  nav:not(.scrolled) .nav-links a:hover{color:#fff}
  nav:not(.scrolled) .nav-logo-full{filter:brightness(0) invert(1)}

  /* ---- bigger, more confident type across the page ---- */
  .sec-head h2{font-size:clamp(2.4rem,5.8vw,4.6rem);letter-spacing:-.04em;line-height:1.04;max-width:20ch}
  .sec-head p{font-size:1.16rem}
  .sec-num{font-size:clamp(3rem,9vw,7.5rem);-webkit-text-stroke:1px rgba(20,144,79,.2)}

  /* ---- section rhythm: tint a couple, keep grid visible on others ---- */
  #about,#engage{background:var(--bg-2)}

  /* ---- cards: more depth and finish on light ---- */
  .layer,.aud-card,.flow-step{border-radius:18px}
  .layer{box-shadow:0 1px 0 rgba(255,255,255,.6) inset, 0 18px 44px -34px rgba(10,70,45,.5)}
  .aud-card:hover,.flow-step:hover{border-color:rgba(20,144,79,.35)}

  /* ---- IRIS: full dark "financial layer" moment ---- */
  #network{background:radial-gradient(88% 115% at 84% 0%, rgba(40,180,110,.30), transparent 55%), linear-gradient(160deg,#08281c,#07221a);color:#fff;border:none;overflow:hidden}
  #network::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.45;mix-blend-mode:overlay;
    background-image:url("assets/img/a02.svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='i'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23i)'/%3E%3C/svg%3E")}
  #network .wrap{position:relative;z-index:3}
  #network .eyebrow{color:#8fe3bd}#network .eyebrow::before{background:#8fe3bd}
  #network h2{color:#fff}
  #network p{color:var(--soft-on-dark)}
  #network .grad-text{background:linear-gradient(100deg,#8fe3bd,#fff);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
  #network .sec-num{-webkit-text-stroke:1px rgba(143,227,189,.3)}
  #network .panel{background:rgba(255,255,255,.05);border:1px solid rgba(143,227,189,.16);box-shadow:none}
  #network .chip{background:rgba(255,255,255,.05);border:1px solid rgba(143,227,189,.16);color:#fff}
  #network .chip .d{background:linear-gradient(120deg,#8fe3bd,#1fa863)}
  #network .btn{background:#fff;color:var(--steel-deep)}
  #network .btn:hover{background:#eef3fb}
  .hero-platforms{display:flex;align-items:center;justify-content:center;gap:clamp(1.8rem,5vw,3.8rem);flex-wrap:wrap}
  .hero-platforms img{height:clamp(22px,2.4vw,30px);width:auto;filter:brightness(0) invert(1);opacity:.82;animation:floaty 5.5s ease-in-out infinite;animation-delay:calc(var(--i,0)*.7s)}
  @keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
  .eco{display:flex;flex-direction:column;gap:1rem;width:min(460px,86vw);align-items:stretch}
  .eco-kicker{align-self:center;font-size:.64rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(143,227,189,.72);opacity:0;animation:ecoIn .7s 1s forwards}
  .eco-stack{display:flex;flex-direction:column;gap:.55rem}
  .eco-layer{display:flex;align-items:center;gap:1rem;padding:.9rem 1.25rem;border-radius:15px;background:linear-gradient(120deg,rgba(255,255,255,.09),rgba(255,255,255,.03));border:1px solid rgba(143,227,189,.22);box-shadow:0 14px 34px -20px rgba(4,26,18,.7),inset 0 1px 0 rgba(255,255,255,.09);opacity:0;transform:translateY(24px) scale(.97);animation:ecoIn .8s cubic-bezier(.2,.7,.2,1) forwards;animation-delay:calc(1.25s + var(--d)*.55s)}
  .eco-layer img{height:26px;width:auto;filter:brightness(0) invert(1);opacity:.96}
  .eco-name{margin-left:auto;font-family:'JetBrains Mono',monospace;font-size:.6rem;letter-spacing:.15em;text-transform:uppercase;color:rgba(143,227,189,.78);font-weight:500}
  .eco-meter{display:flex;align-items:center;gap:.7rem;margin-top:.3rem;opacity:0;animation:ecoIn .7s 1.2s forwards}
  .eco-meter-label{font-family:'JetBrains Mono',monospace;font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(143,227,189,.7);white-space:nowrap}
  .eco-bar{flex:1;height:6px;border-radius:100px;background:rgba(255,255,255,.09);overflow:hidden;position:relative}
  .eco-bar i{position:absolute;left:0;top:0;bottom:0;width:0;border-radius:100px;background:linear-gradient(90deg,#0aa55f,#1fa863,#43B3A4);animation:ecoFill 2.8s cubic-bezier(.45,.05,.2,1) forwards;animation-delay:1.5s}
  .eco-max{font-family:'JetBrains Mono',monospace;font-size:.58rem;letter-spacing:.12em;color:#7fd8c0;opacity:0;animation:ecoIn .6s 4s forwards}
  @keyframes ecoIn{to{opacity:1;transform:none}}
  @keyframes ecoFill{to{width:100%}}
  .marquee{overflow:visible}
  .m-row{overflow:hidden;padding:7px 0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
  .m-row + .m-row{margin-top:14px}
  .m-track{display:flex;gap:16px;width:max-content;will-change:transform}
  .m-track--0{animation:mqA 58s linear infinite}
  .m-track--1{animation:mqB 76s linear infinite}
  .m-track--2{animation:mqA 92s linear infinite}
  .marquee:hover .m-track{animation-play-state:paused}
  @keyframes mqA{from{transform:translateX(0)}to{transform:translateX(-50%)}}
  @keyframes mqB{from{transform:translateX(-50%)}to{transform:translateX(0)}}
  .m-item{transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s ease,border-color .35s ease}
  .m-item img{transition:opacity .35s ease;opacity:.9}
  .m-item:hover{transform:translateY(-6px) scale(1.07);box-shadow:0 20px 44px -20px rgba(10,70,45,.55)!important;border-color:rgba(20,144,79,.5)!important}
  .m-item:hover img{opacity:1}
  /* marquee hover-safe clipping: clip horizontal scroll, let vertical hover breathe */
  .marquee{position:relative;overflow:visible;-webkit-mask-image:none;mask-image:none}
  .marquee::before,.marquee::after{content:"";position:absolute;top:0;bottom:0;width:7%;z-index:4;pointer-events:none}
  .marquee::before{left:0;background:linear-gradient(90deg,var(--bg),rgba(246,248,252,0))}
  .marquee::after{right:0;background:linear-gradient(270deg,var(--bg),rgba(246,248,252,0))}
  .m-row{overflow-x:clip;overflow-y:visible;padding:16px 0;-webkit-mask-image:none;mask-image:none}
  .m-item:hover{box-shadow:0 16px 34px -16px rgba(10,70,45,.5)!important}
  #engagement{background:radial-gradient(88% 115% at 16% 0%, rgba(67,179,164,.20), transparent 55%),linear-gradient(160deg,#08281c,#07221a);color:#fff;border:none;overflow:hidden;position:relative}
  #engagement::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.45;mix-blend-mode:overlay;background-image:url("assets/img/a02.svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='e'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23e)'/%3E%3C/svg%3E")}
  #engagement .wrap{position:relative;z-index:3}
  #engagement .eyebrow{color:#8fe3bd}#engagement .eyebrow::before{background:#8fe3bd}
  #engagement h2{color:#fff}#engagement p{color:var(--soft-on-dark)}
  #engagement .sec-num{-webkit-text-stroke:1px rgba(143,227,189,.3)}
  #engagement .panel{background:rgba(255,255,255,.05);border:1px solid rgba(143,227,189,.16);box-shadow:none}
  #engagement .chip{background:rgba(255,255,255,.05);border:1px solid rgba(143,227,189,.16);color:#fff}
  #engagement .chip .d{background:linear-gradient(120deg,#5fc091,#43B3A4)}
  #engagement .btn{background:#fff;color:var(--steel-deep)}#engagement .btn:hover{background:#eef3fb}
  .proof .sec-head h2{color:#fff}
  .proof .sec-head p{color:rgba(255,255,255,.82)}
  .proof .eyebrow{color:#b6edd0}
  .proof .eyebrow::before{background:#b6edd0}
  .proof .proof-grid{grid-template-columns:repeat(3,1fr);row-gap:clamp(2rem,4vw,2.8rem);position:relative;z-index:2}
  .layersfx{position:absolute;inset:0;z-index:1;pointer-events:none;-webkit-mask-image:radial-gradient(120% 100% at 70% 40%,#000,transparent 80%);mask-image:radial-gradient(120% 100% at 70% 40%,#000,transparent 80%)}
  .plogos{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;max-width:1100px;margin:0 auto}
  .plogo{aspect-ratio:16/9;background:#E8EDF5;border:1px solid var(--rule);border-radius:15px;display:grid;place-items:center;padding:0 20px;box-shadow:0 10px 24px -18px rgba(8,44,28,.35);transition:transform .4s cubic-bezier(.2,.7,.2,1),box-shadow .4s ease,border-color .4s ease}
  .plogo img{max-height:42px;max-width:118px;width:auto;height:auto;opacity:.92;transition:opacity .5s ease,transform .5s cubic-bezier(.2,.7,.2,1)}
  .plogo:hover{transform:translateY(-6px) scale(1.06);box-shadow:0 22px 46px -22px rgba(10,70,45,.55);border-color:rgba(20,144,79,.5)}
  .plogo:hover img{opacity:1}
  @media(max-width:980px){.plogos{grid-template-columns:repeat(4,1fr)}}
  @media(max-width:600px){.lp-cc{gap:.6rem}.lp-cc .mono{flex-basis:100%;width:100%;margin-bottom:.15rem}.plogos{grid-template-columns:repeat(3,1fr)}}
  #engagement .engfx{position:absolute;inset:0;z-index:1;pointer-events:none;-webkit-mask-image:radial-gradient(125% 100% at 75% 50%,#000,transparent 82%);mask-image:radial-gradient(125% 100% at 75% 50%,#000,transparent 82%)}
  .eco-on{font-family:'JetBrains Mono',monospace;font-size:.55rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(143,227,189,.6);margin:0 .55rem;align-self:center}
  .eco-layer .eco-ava{height:18px;width:auto;opacity:.85}
  .eco-helios{font-weight:600;font-size:1.05rem;letter-spacing:-.01em;color:#fff}
  .eco-layer .eco-helios-logo{filter:none;height:22px;width:auto}
  .hero .honeyfx{position:absolute;inset:0;z-index:1;pointer-events:none;-webkit-mask-image:radial-gradient(120% 95% at 50% 35%,#000,transparent 80%);mask-image:radial-gradient(120% 95% at 50% 35%,#000,transparent 80%)}
  #layers{position:relative;color:#fff;background:radial-gradient(95% 80% at 82% 2%, rgba(40,180,110,.20), transparent 55%),radial-gradient(80% 70% at 12% 62%, rgba(67,179,164,.12), transparent 60%),linear-gradient(165deg,#08281c,#061d17)}
  #layers::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.42;mix-blend-mode:overlay;background-image:url("assets/img/a02.svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='l'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23l)'/%3E%3C/svg%3E")}
  #layers .wrap{position:relative;z-index:3}
  #layers .eyebrow{color:#8fe3bd}#layers .eyebrow::before{background:#8fe3bd}
  #layers h2{color:#fff}#layers .layers-head p{color:var(--soft-on-dark)}
  #layers .sec-num{-webkit-text-stroke:1px rgba(143,227,189,.28)}
  .layers-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(2.5rem,6vw,6rem);align-items:start}
  .layers-stack{position:sticky;top:17vh;align-self:start;display:flex;flex-direction:column;gap:1rem}
  .lbar{display:flex;align-items:center;gap:.95rem;padding:1.05rem 1.25rem;border-radius:16px;background:rgba(255,255,255,.04);border:1px solid rgba(143,227,189,.14);opacity:.42;transform:scale(.99);transition:opacity .5s ease,transform .5s cubic-bezier(.2,.7,.2,1),background .5s,border-color .5s,box-shadow .5s}
  .lbar.active{opacity:1;background:rgba(255,255,255,.08);border-color:rgba(143,227,189,.5);box-shadow:0 22px 50px -24px rgba(0,0,0,.65);transform:scale(1.04)}
  .lbar .lnum{font-family:'JetBrains Mono',monospace;font-size:.64rem;letter-spacing:.1em;color:#8fe3bd;opacity:.8}
  .lbar img{height:22px;width:auto;filter:brightness(0) invert(1)}
  .lbar .lhelios{filter:none;height:20px}
  .lbar .lname{margin-left:auto;font-family:'JetBrains Mono',monospace;font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(143,227,189,.8)}
  .layers-panels{display:flex;flex-direction:column}
  .lpanel{min-height:74vh;display:flex;flex-direction:column;justify-content:center;padding:3vh 0}
  .lpanel .lp-logos{display:flex;align-items:center;gap:1rem;margin-bottom:1.2rem}
  .lpanel .lp-logos img{height:30px;width:auto;filter:brightness(0) invert(1)}
  .lpanel .lp-logos .lhelios{filter:none;height:30px}
  .lp-div{width:1px;height:24px;background:rgba(143,227,189,.32)}
  .lpanel h3{font-size:clamp(1.9rem,3.6vw,2.9rem);font-weight:600;letter-spacing:-.03em;line-height:1.08;margin:1rem 0 1.1rem;max-width:18ch}
  .lpanel p{color:var(--soft-on-dark);font-weight:300;line-height:1.7;margin-bottom:1rem;max-width:54ch;font-size:1.04rem}
  .lchips{display:flex;flex-direction:column;gap:.55rem;margin-top:.5rem;max-width:30rem}
  .lchip{display:flex;align-items:center;gap:.7rem;padding:.7rem 1rem;border-radius:13px;background:rgba(255,255,255,.05);border:1px solid rgba(143,227,189,.16);font-size:.9rem;font-weight:400}
  .lchip .d{width:9px;height:9px;border-radius:50%;background:linear-gradient(120deg,#5fc091,#43B3A4);flex:none}
  .lp-cc{display:flex;align-items:center;gap:1rem;margin-top:1.7rem;flex-wrap:wrap}
  #layers .btn{background:#fff;color:var(--steel-deep);align-self:flex-start}
  .layersfx{position:absolute;inset:0;z-index:1;pointer-events:none;-webkit-mask-image:radial-gradient(125% 100% at 30% 40%,#000,transparent 82%);mask-image:radial-gradient(125% 100% at 30% 40%,#000,transparent 82%)}
  @media(max-width:900px){.layers-grid{grid-template-columns:1fr;gap:1.4rem}.layers-stack{position:static;flex-direction:row;flex-wrap:wrap;gap:.6rem;margin-bottom:.5rem}.lbar{opacity:1;padding:.65rem .85rem}.lbar .lname{display:none}.lpanel{min-height:auto;padding:2.6rem 0;border-top:1px solid rgba(143,227,189,.14)}}
  .nav-burger{display:none;background:none;border:0;cursor:pointer;width:34px;height:34px;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:0;z-index:60;color:var(--ink)}
  nav:not(.scrolled) .nav-burger{color:#fff}
  .nav-burger span{display:block;height:2px;width:22px;background:currentColor;border-radius:2px;transition:transform .35s ease,opacity .3s ease}
  nav.open .nav-burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  nav.open .nav-burger span:nth-child(2){opacity:0}
  nav.open .nav-burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  nav.open .nav-burger{color:#fff;position:fixed;right:var(--pad);top:1rem}
  @media(max-width:880px){
    .nav-burger{display:flex}
    .nav-links{display:flex;position:fixed;inset:0 0 0 auto;width:min(80vw,330px);height:100vh;flex-direction:column;align-items:flex-start;justify-content:center;gap:1.7rem;padding:2.4rem var(--pad);background:rgba(5,28,20,.97);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-left:1px solid rgba(143,227,189,.14);transform:translateX(110%);transition:transform .45s cubic-bezier(.2,.7,.2,1);z-index:55}
    nav.open .nav-links{transform:translateX(0)}
    .nav-links a{color:#fff;font-size:1.35rem;font-weight:500}
    .nav-links a.btn{background:var(--grad-deep);color:#fff;margin-top:.4rem;padding:.8rem 1.6rem}
    nav.open::before{content:"";position:fixed;inset:0;background:rgba(4,20,14,.5);z-index:50}
  }
  .eco-div{width:1px;height:22px;background:rgba(143,227,189,.4);align-self:center}
  .lbar{opacity:0;transform:translateY(-16px) scale(.95)}
  .lbar.in{opacity:.5;transform:none}
  .lbar.in.active{opacity:1}
  .lstack-meter{display:flex;align-items:center;gap:.7rem;margin-top:1.3rem;padding-top:1.3rem;border-top:1px solid rgba(143,227,189,.14)}
  .lsm-label{font-size:.58rem;letter-spacing:.15em;text-transform:uppercase;color:rgba(143,227,189,.72);white-space:nowrap}
  .lsm-bar{flex:1;height:6px;border-radius:100px;background:rgba(255,255,255,.09);overflow:hidden;position:relative}
  .lsm-bar i{position:absolute;left:0;top:0;bottom:0;width:0;border-radius:100px;background:linear-gradient(90deg,#0aa55f,#1fa863,#43B3A4);transition:width .85s cubic-bezier(.4,.1,.2,1)}
  .lsm-max{font-size:.58rem;letter-spacing:.12em;color:#7fd8c0;opacity:0;transition:opacity .4s}
  .lsm-max.show{opacity:1}
  @media(max-width:900px){.lstack-meter{display:none}.lbar{opacity:1!important;transform:none!important}}
  .lstack-cards{position:relative}
  .lcard{position:sticky;top:calc(6rem + var(--s,0)*3.6rem);min-height:82vh;border-radius:20px;overflow:hidden;border:1px solid rgba(143,227,189,.18);background:linear-gradient(162deg,#0a3024,#07221a);box-shadow:0 -16px 54px -24px rgba(0,0,0,.65);margin-bottom:8vh}
  .lcard:last-child{margin-bottom:0}
  .lcard-bar{display:flex;align-items:center;gap:.85rem;padding:1rem 1.6rem;min-height:3.6rem;background:rgba(255,255,255,.035);border-bottom:1px solid rgba(143,227,189,.12);backdrop-filter:blur(6px)}
  .lcard-bar .ln{font-family:'JetBrains Mono',monospace;font-size:.64rem;letter-spacing:.1em;color:#8fe3bd;opacity:.8;margin-right:.3rem}
  .lcard-bar img{height:22px;width:auto;filter:brightness(0) invert(1)}
  .lcard-bar .lhelios{filter:none;height:20px}
  .lcard-bar .lp-div{width:1px;height:18px;background:rgba(143,227,189,.3)}
  .lcard-bar .lnm{margin-left:auto;font-family:'JetBrains Mono',monospace;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(143,227,189,.82)}
  .lcard-body{padding:clamp(1.7rem,3.2vw,3rem)}
  .lcard-body h3{font-size:clamp(1.7rem,3.2vw,2.7rem);font-weight:600;letter-spacing:-.03em;line-height:1.1;margin-bottom:1.1rem;max-width:20ch;color:#fff}
  .lcard-body p{color:var(--soft-on-dark);font-weight:300;line-height:1.7;margin-bottom:1rem;max-width:62ch;font-size:1.02rem}
  .lcard-body .lchips{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin-top:.4rem;max-width:44rem}
  .lchip{display:flex;align-items:center;gap:.6rem;padding:.7rem .95rem;border-radius:12px;background:rgba(255,255,255,.05);border:1px solid rgba(143,227,189,.16);font-size:.86rem;font-weight:400}
  .lchip .d{width:8px;height:8px;border-radius:50%;background:linear-gradient(120deg,#5fc091,#43B3A4);flex:none}
  .lcard-body .lp-cc{display:flex;align-items:center;gap:1rem;margin-top:1.6rem;flex-wrap:wrap}
  .lcard-body .btn{background:#fff;color:var(--steel-deep);margin-top:1.4rem;display:inline-flex}
  @media(max-width:900px){.lcard{position:static;min-height:auto;margin-bottom:1.1rem;box-shadow:0 16px 40px -24px rgba(0,0,0,.5)}.lcard-body{padding:1.5rem}.lcard-body h3{font-size:1.5rem}.lcard-body .lchips{grid-template-columns:1fr}}
  .hero{padding-bottom:clamp(4.5rem,9vw,7.5rem)}
  .hero .hero-actions{margin-top:clamp(2.6rem,5vw,3.6rem);margin-bottom:0}
  @media(max-width:560px){.aud-grid{grid-template-columns:1fr!important}}
  .foot-col a img{transition:opacity .3s ease}
  .foot-col a:hover img{opacity:1!important}
  .foot-col a:has(img){margin-top:.2rem}
  .cardfx{position:absolute;inset:0;z-index:0;pointer-events:none;-webkit-mask-image:linear-gradient(155deg,transparent,#000 34%,#000 100%);mask-image:linear-gradient(155deg,transparent,#000 34%,#000 100%)}
  .lcard-bar,.lcard-body{position:relative;z-index:2}
  .lzone{position:relative;height:calc(2.7 * 100vh)}
  .lpin{position:sticky;top:5rem;height:calc(100vh - 6rem);min-height:520px;display:flex;align-items:flex-start}
  .lcards{position:relative;width:100%;height:100%;max-width:1000px;margin:0 auto}
  .lcard{position:absolute!important;left:0;right:0;top:0;min-height:clamp(430px,60vh,560px);margin-bottom:0!important;will-change:transform;backface-visibility:hidden}
  @media(max-width:900px){
    .lzone{height:auto!important}
    .lpin{position:static;height:auto;min-height:0;display:block}
    .lcards{height:auto;max-width:none}
    .lcard{position:static!important;height:auto!important;transform:none!important;margin-bottom:1.1rem!important}
  }
  nav .nav-links a.btn{color:#fff!important;background:var(--grad-deep)}
  @media(max-width:600px){
    .hero{min-height:auto;justify-content:flex-start;padding-top:5.5rem;padding-bottom:clamp(3.2rem,8vw,4.8rem)}
    .plogos{grid-template-columns:repeat(2,1fr)!important;gap:10px}
    .plogo{padding:0 12px;border-radius:12px}
    .plogo img{max-height:34px;max-width:100px}
    .lp-logos{flex-wrap:wrap}
    .eco{width:min(340px,90vw)}
    .lcard-body p,.lpanel p,.sec-head p{max-width:none}
  }
  #clients .aud-card{position:relative;overflow:hidden;opacity:0;transform:translateY(26px) scale(.97);transition:opacity .6s ease,transform .6s cubic-bezier(.2,.7,.2,1),box-shadow .4s ease,border-color .4s ease}
  #clients .aud-grid.in .aud-card{opacity:1;transform:none;transition-delay:calc(var(--ci,0)*.06s)}
  #clients .aud-card::after{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--grad);transform:scaleX(0);transform-origin:left;transition:transform .55s cubic-bezier(.2,.7,.2,1)}
  #clients .aud-grid.in .aud-card::after{transform:scaleX(1);transition-delay:calc(.15s + var(--ci,0)*.06s)}
  #clients .aud-card:hover{transform:translateY(-7px)!important;box-shadow:0 26px 50px -26px rgba(10,70,45,.45);border-color:rgba(20,144,79,.45)}
  #clients .aud-card .ac-ic{transition:transform .45s cubic-bezier(.2,.7,.2,1),background .4s ease}
  #clients .aud-card:hover .ac-ic{transform:translateY(-2px) scale(1.08);background:linear-gradient(135deg,rgba(95,192,145,.25),rgba(67,179,164,.18))}
  @media(max-width:560px){#clients .aud-card{opacity:1;transform:none}}
  .flow-track{position:relative;height:30px;margin-bottom:1.6rem}
  .flow-track::before{content:"";position:absolute;top:14px;left:12.5%;right:12.5%;height:2px;background:linear-gradient(90deg,rgba(20,144,79,.15),rgba(20,144,79,.32),rgba(20,144,79,.15))}
  .flow-dot{position:absolute;top:8px;width:13px;height:13px;border-radius:50%;background:var(--bg);border:2px solid rgba(20,144,79,.45);transform:translateX(-50%);left:calc(12.5% + var(--i)*25%);transition:all .3s ease}
  .flow-runner{position:absolute;top:10px;left:12.5%;width:9px;height:9px;border-radius:50%;background:var(--grad);box-shadow:0 0 14px rgba(20,144,79,.75),0 0 4px rgba(20,144,79,.9);transform:translateX(-50%);animation:flowRun 5s cubic-bezier(.55,0,.45,1) infinite}
  @keyframes flowRun{0%,8%{left:12.5%}25%,33%{left:37.5%}50%,58%{left:62.5%}75%,92%{left:87.5%}100%{left:87.5%}}
  .flow-step::after{display:none}
  @media(max-width:720px){.flow-track{display:none}}
  .flow-step{transition:transform .4s cubic-bezier(.2,.7,.2,1),box-shadow .4s ease,border-color .4s ease}
  .flow-step:hover{transform:translateY(-5px);box-shadow:0 22px 44px -22px rgba(10,70,45,.42);border-color:rgba(20,144,79,.4)}
  @media(max-width:560px){
    .eco{width:min(330px,92vw)}
    .eco-layer{padding:.7rem .85rem;gap:.55rem}
    .eco-layer img{height:19px}
    .eco-layer .eco-ava,.eco-layer .eco-helios-logo{height:16px}
    .eco-helios{font-size:.85rem}
    .eco-name{font-size:.5rem;letter-spacing:.1em}
    .eco-on{margin:0 .3rem;font-size:.48rem}
    .lcard-bar{flex-wrap:wrap;gap:.45rem;padding:.85rem 1.1rem}
    .lcard-bar img{height:18px}
    .lcard-bar .lhelios{height:16px}
    .lcard-bar .lnm{font-size:.55rem}
    .lcard-body{padding:1.3rem}
    .lcard-body h3{font-size:1.4rem}
    .lp-logos{gap:.7rem}
    .lp-logos img{height:24px!important}
    .hero h1{font-size:clamp(2.4rem,11vw,3.2rem)}
    .sec-head h2{font-size:clamp(2rem,8.5vw,2.6rem)}
    .flow-grid,.aud-grid{grid-template-columns:1fr!important}
    .lchips{grid-template-columns:1fr!important}
    .proof .proof-grid{grid-template-columns:1fr!important}
    .split{gap:1.6rem}
    section{padding-left:clamp(1.1rem,5vw,1.6rem);padding-right:clamp(1.1rem,5vw,1.6rem)}
  }
  .foot-col a[aria-label="ALVA"] img,.foot-col a[aria-label="Helios"] img,.foot-col a[aria-label="IRIS"] img{filter:brightness(0)!important;opacity:.62!important;transition:opacity .3s ease}
  .foot-col a[aria-label="ALVA"]:hover img,.foot-col a[aria-label="Helios"]:hover img,.foot-col a[aria-label="IRIS"]:hover img{opacity:.95!important}
  #about .aud-card img{filter:brightness(0)!important;opacity:.6!important}
  #about .aud-grid{grid-template-columns:repeat(3,1fr)}
  @media(max-width:880px){#about .aud-grid{grid-template-columns:1fr}}



#clients .aud-card{background:linear-gradient(180deg,#ffffff,#f6f8fc);border:1px solid rgba(8,46,30,.09);border-radius:18px;padding:1.7rem 1.5rem 1.5rem;box-shadow:0 1px 2px rgba(8,46,30,.05);position:relative;overflow:hidden}
#clients .aud-card .ac-no{position:absolute;top:1.15rem;right:1.25rem;font-family:'JetBrains Mono',ui-monospace,monospace;font-size:.6rem;letter-spacing:.12em;color:rgba(8,46,30,.26);z-index:3}
#clients .aud-card .ac-ic{width:54px;height:54px;border-radius:16px;background:radial-gradient(130% 130% at 28% 18%,rgba(95,192,145,.22),rgba(12,107,64,.09));border:1px solid rgba(20,144,79,.22);display:grid;place-items:center;margin-bottom:1.15rem;position:relative;overflow:hidden;box-shadow:inset 0 1px 0 rgba(255,255,255,.75);transition:transform .5s cubic-bezier(.2,.7,.2,1),box-shadow .45s ease}
#clients .aud-card .ac-ic svg{width:27px;height:27px;position:relative;z-index:2;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
#clients .aud-card .ac-ic::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#2aa564,#0c6b40);opacity:0;transition:opacity .45s ease;z-index:1}
#clients .aud-card .ac-ic::after{content:"";position:absolute;inset:0;background:radial-gradient(80% 80% at 50% 120%,rgba(67,179,164,.45),transparent 70%);opacity:0;transition:opacity .5s ease;z-index:1}
#clients .aud-card:hover .ac-ic{transform:translateY(-3px) scale(1.05);box-shadow:0 14px 26px -12px rgba(12,107,64,.55)}
#clients .aud-card:hover .ac-ic::before{opacity:1}
#clients .aud-card:hover .ac-ic::after{opacity:1}
#clients .aud-card:hover .ac-ic svg{transform:scale(1.04)}
#clients .aud-card:hover .ac-ic svg [stroke]{stroke:#fff}
#clients .aud-card:hover .ac-ic svg [fill^="url"]{fill:rgba(255,255,255,.92)}
#clients .aud-card::before{content:"";position:absolute;top:0;left:-65%;width:55%;height:100%;background:linear-gradient(100deg,transparent,rgba(95,192,145,.16),transparent);transform:skewX(-18deg);transition:left .75s cubic-bezier(.25,.6,.2,1);pointer-events:none;z-index:2}
#clients .aud-card:hover::before{left:130%}
#clients .aud-card h4{font-size:1.04rem;font-weight:600;letter-spacing:-.012em;line-height:1.3}
#clients .aud-card p{color:var(--ink-soft);font-weight:300;font-size:.9rem;line-height:1.62;margin-top:.45rem}

/* ============================================================
   ALVA — extension styles (green theme, super app + ad exchange)
   ============================================================ */
:root{--alva:#107c41;--alva-deep:#0a5c39;--alva-mint:#0ad07f;--alva-dark:#06251a;--alva-card:#0c3326;}

/* hero: phone + floating badges + store badges */
.hero{min-height:auto;padding-top:clamp(6rem,9vw,7.5rem);padding-bottom:clamp(4rem,8vw,6rem)}
.hero h1{line-height:1.12;padding-bottom:.14em;font-size:clamp(2.3rem,6.6vw,6rem);overflow-wrap:break-word;max-width:14ch}
.hero h1 .w{padding-bottom:.1em;line-height:1.12}
@media(max-width:520px){.hero h1{font-size:clamp(2.1rem,9vw,2.7rem)}}
@media(max-width:600px){.hero{padding-top:4.2rem;padding-bottom:2.4rem}.hero h1{margin:.7rem 0 .85rem}.hero p{margin-top:0}.hero-visual{margin-top:1.4rem}.hero .hero-actions{margin-top:1.6rem}}
/* Desktop hero: title on top, body + CTAs on the left, build animation on the right */
@media(min-width:920px){
  .hero{display:grid;grid-template-columns:1.02fr .98fr;grid-template-areas:"title title" "body visual" "points visual" "cta visual" "trust trust";align-items:center;text-align:left;column-gap:clamp(2.6rem,5vw,5rem);padding-top:clamp(5rem,7.5vw,7rem);padding-bottom:clamp(3.5rem,6vw,5.5rem);padding-left:max(var(--pad),calc((100% - 1160px)/2));padding-right:max(var(--pad),calc((100% - 1160px)/2))}
  .hero h1{grid-area:title;justify-self:center;text-align:center;max-width:20ch;margin:0 0 clamp(1.6rem,3vw,2.6rem)}
  .hero p{grid-area:body;align-self:end;justify-self:start;max-width:48ch;margin:0;text-align:left}
  .hero-points{grid-area:points;align-self:start;justify-self:start;display:flex;flex-direction:column;gap:.7rem;margin-top:1.4rem;max-width:46ch}
  .hero-actions{grid-area:cta;align-self:start;justify-content:flex-start;margin-top:1.7rem;animation-delay:1.6s}
  .hero-visual{grid-area:visual;margin:0;justify-self:center}
  .hero-trust{grid-area:trust;justify-self:center;margin-top:clamp(1.6rem,3vw,2.6rem)}
  .hb-phone{width:min(500px,100%)}
  .hb-brick{padding:.82rem 1.05rem}
  .hb-brick b{font-size:1.05rem}
  .hb-mon{font-size:.6rem}
}
/* module tiles: real logos on white chips + 'and more' */
.mod-tile .ic.light{background:#fff;border:1px solid var(--line)}
.mod-tile .ic.light img{filter:none;width:26px;height:26px}
.mod-more{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;border:1px dashed rgba(16,124,65,.45);border-radius:16px;padding:1.2rem;background:transparent;color:var(--alva);font-weight:600}
.mod-more b{font-size:1rem}
.mod-more span{font-size:.74rem;color:var(--ink-faint);font-weight:400;margin-top:.2rem}
.hero-phone{position:relative;display:inline-block;filter:drop-shadow(0 36px 70px rgba(10,70,45,.32))}
.hero-phone img{width:clamp(220px,30vw,300px);height:auto;display:block;animation:bob 6s ease-in-out infinite}
.hero-badge{position:absolute;display:inline-flex;align-items:center;gap:.45rem;background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow-sm);border-radius:100px;padding:.5rem .9rem;font-size:.82rem;font-weight:600;color:var(--ink);opacity:0;transform:translateY(10px);animation:rise .8s forwards}
.hero-badge img{width:18px;height:18px;object-fit:contain}
.hero-badge.hb1{left:-8%;top:24%;animation-delay:1.3s}
.hero-badge.hb2{right:-12%;top:44%;animation-delay:1.55s}
.hero-badge.hb3{left:-4%;bottom:14%;animation-delay:1.8s}

/* ===== Hero: Module lego-build → Super App → ADS core layer ===== */
.hero-build{position:relative;display:flex;flex-direction:column;align-items:center;gap:1.3rem;width:100%}
.hb-phone{position:relative;width:min(460px,94vw);padding:clamp(1.2rem,2.6vw,1.7rem) clamp(1.2rem,2.6vw,1.7rem) clamp(1.6rem,3vw,2.1rem);border-radius:28px;background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.02));border:1px solid rgba(255,255,255,.12);box-shadow:0 46px 100px -44px rgba(0,0,0,.7);transition:box-shadow .7s ease,border-color .7s ease}
.hb-phone.assembled{border-color:rgba(10,208,127,.4);box-shadow:0 46px 100px -40px rgba(10,208,127,.42),0 0 0 1px rgba(10,208,127,.18)}
.hb-notch{display:block;width:34%;height:5px;border-radius:5px;background:rgba(255,255,255,.18);margin:0 auto .95rem}
.hb-stack{position:relative;display:flex;flex-direction:column;gap:.5rem}
.hb-row{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}
.hb-brick{position:relative;display:flex;align-items:center;gap:.7rem;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.13);border-left-width:3px;border-radius:13px;padding:.72rem .9rem;opacity:0;transform:translateY(30px) scale(.88);transition:opacity .5s ease,transform .55s cubic-bezier(.2,1.55,.35,1),border-color .45s ease,box-shadow .45s ease;z-index:1}
.hb-brick.in{opacity:1;transform:none}
.hb-studs{display:flex;flex:none}
.hb-studs i{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.32);transition:background .4s ease,box-shadow .4s ease}
.hb-brick b{color:#fff;font-size:1rem;font-weight:600;line-height:1}
.hb-mon{margin-left:auto;font:600 .58rem/1 'JetBrains Mono',monospace;text-transform:uppercase;letter-spacing:.08em;color:var(--alva-mint);border:1px solid rgba(10,208,127,.45);border-radius:6px;padding:.28rem .5rem;white-space:nowrap;opacity:0;transform:translateX(8px);transition:opacity .35s ease,transform .35s ease}
.hb-brick.charged{box-shadow:0 0 26px -6px rgba(10,208,127,.55),inset 0 0 0 1px rgba(255,255,255,.06)}
.hb-brick.charged .hb-mon{opacity:1;transform:none}
.hb-brick.t-revenue .hb-mon::before,.hb-brick.t-both .hb-mon::before{content:"\2726";margin-right:.4em;color:#ffd86b;font-size:.92em;text-shadow:0 0 5px rgba(255,216,107,.6)}
.hb-brick.charged .hb-studs i{background:var(--alva-mint);animation:hbDotBeat 1.9s ease-in-out infinite}
.hb-sym-on{animation:hbDotBeat 1.9s ease-in-out infinite}
@keyframes hbDotBeat{0%,100%{box-shadow:0 0 5px var(--alva-mint),0 0 2px var(--alva-mint)}50%{box-shadow:0 0 13px 2px var(--alva-mint),0 0 6px var(--alva-mint)}}
.hb-brick.t-revenue.charged .hb-mon{animation:hbMonBeatG 2.2s ease-in-out infinite}
.hb-brick.t-both.charged .hb-mon{animation:hbMonBeatP 2.2s ease-in-out infinite}
@keyframes hbMonBeatG{0%,100%{box-shadow:0 0 0 transparent;border-color:rgba(46,224,143,.5)}50%{box-shadow:0 0 12px rgba(46,224,143,.42);border-color:rgba(46,224,143,.95)}}
@keyframes hbMonBeatP{0%,100%{box-shadow:0 0 0 transparent;border-color:rgba(182,156,255,.5)}50%{box-shadow:0 0 12px rgba(182,156,255,.42);border-color:rgba(182,156,255,.95)}}
.hb-brick.t-revenue.charged{border-color:rgba(46,224,143,.7);border-left-color:#2ee08f}
.hb-brick.t-revenue.charged .hb-mon{color:#2ee08f;border-color:rgba(46,224,143,.5)}
.hb-brick.t-savings.charged{border-color:rgba(127,196,255,.6);border-left-color:#7fc4ff}
.hb-brick.t-savings.charged .hb-mon{color:#7fc4ff;border-color:rgba(127,196,255,.5)}
.hb-brick.t-both.charged{border-color:rgba(182,156,255,.6);border-left-color:#b69cff}
.hb-brick.t-both.charged .hb-mon{color:#b69cff;border-color:rgba(182,156,255,.5)}
.hb-a{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;opacity:0;filter:drop-shadow(0 0 7px rgba(10,208,127,.55))}
.hb-a path{fill:rgba(16,224,143,0);stroke:rgba(16,224,143,.8);stroke-width:1.1;stroke-linejoin:round;stroke-linecap:round;stroke-opacity:1;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.9s ease,fill 1.3s ease 1.5s,stroke-opacity 1.1s ease 1.7s}
.hb-a.draw path{stroke-dashoffset:0;fill:rgba(16,224,143,.15);stroke-opacity:0}
.hb-a.draw{opacity:1;animation:hbAGlow 3.4s ease-in-out 2.6s infinite}
@keyframes hbAGlow{0%,100%{filter:drop-shadow(0 0 6px rgba(10,208,127,.4))}50%{filter:drop-shadow(0 0 12px rgba(10,208,127,.6))}}
.hb-spine{position:absolute;left:50%;top:2%;bottom:2%;width:3px;transform:translateX(-50%) scaleY(0);transform-origin:top;background:linear-gradient(to top,transparent,var(--alva-mint),#d6ffe8,var(--alva-mint),transparent);border-radius:3px;box-shadow:0 0 18px rgba(10,208,127,.75);opacity:.9;z-index:0;pointer-events:none;transition:transform .7s ease}
.hb-spine.grow{transform:translateX(-50%) scaleY(1)}
.hb-spine.fade{opacity:0;transition:opacity 1s ease}
.hb-pulse{position:absolute;left:50%;top:2%;width:13px;height:13px;border-radius:50%;background:#e6fff1;box-shadow:0 0 20px 5px rgba(10,208,127,.85);transform:translate(-50%,-50%);opacity:0;z-index:0;pointer-events:none}
.hb-pulse.travel{animation:hbPulse 1.5s ease-in-out forwards}
@keyframes hbPulse{0%{opacity:0;top:2%}10%{opacity:1}90%{opacity:1}100%{opacity:0;top:98%}}
.hb-tag{position:absolute;left:50%;bottom:-.85rem;transform:translateX(-50%) translateY(6px);display:inline-flex;align-items:center;gap:.4rem;background:#0a2c1f;border:1px solid rgba(10,208,127,.4);border-radius:100px;padding:.35rem .8rem;font:600 .72rem/1 'Sora',sans-serif;color:#fff;white-space:nowrap;opacity:0;transition:opacity .5s ease,transform .5s ease;box-shadow:0 12px 30px -14px rgba(0,0,0,.6)}
.hb-tag.show{opacity:1;transform:translateX(-50%)}
.hb-tag-dot{width:7px;height:7px;border-radius:50%;background:var(--alva-mint);box-shadow:0 0 8px var(--alva-mint);flex:none}
.hb-tag-alva{height:.82em;margin-left:.1em}
.hb-ads-tag{display:flex;flex-direction:column;align-items:center;gap:.45rem;color:#fff;opacity:0;transform:translateY(8px);transition:opacity .5s ease,transform .5s ease}
.hb-ads-tag.show{opacity:1;transform:none}
.hb-ads-line{width:1px;height:22px;background:linear-gradient(to bottom,transparent,var(--alva-mint));margin-bottom:.1rem}
.hb-ads-tag .ilg-alvaads{height:18px}
/* flipped build: logos at top, blocks build top -> down */
.hb-flip .hb-notch{display:none}
.hb-head{display:flex;flex-direction:column;align-items:center;gap:.45rem;margin-bottom:.9rem}
/* matching header pills: ALVA (green 'on' light) + ALVA ADS (gold revenue spark) */
.hb-flip .hb-tag,.hb-flip .hb-ads-tag{display:inline-flex;flex-direction:row;align-items:center;gap:.42rem;position:static;left:auto;bottom:auto;margin:0;background:#0a2c1f;border:1px solid rgba(10,208,127,.3);border-radius:100px;padding:.32rem .8rem .32rem .56rem;font:600 .68rem/1 'Sora',sans-serif;color:#fff;white-space:nowrap;transform:translateY(-6px);box-shadow:0 10px 26px -16px rgba(0,0,0,.55)}
.hb-flip .hb-tag.show,.hb-flip .hb-ads-tag.show{transform:none}
.hb-hsub{font-weight:500;font-size:.62rem;color:rgba(255,255,255,.6)}
.hb-flip .hb-tag-alva{height:.95em}
.hb-flip .hb-ads-tag .ilg-alvaads{height:13px}
.hb-sym{display:inline-flex;align-items:center;justify-content:center;flex:none}
.hb-sym-on{width:8px;height:8px;border-radius:50%;background:var(--alva-mint);box-shadow:0 0 8px var(--alva-mint)}
.hb-sym-rev{width:15px;height:15px;color:#ffd86b}
.hb-sym-rev svg{width:15px;height:15px;filter:drop-shadow(0 0 4px rgba(255,216,107,.65))}
.hb-tagline{font:600 .74rem/1.2 'Sora',sans-serif;color:rgba(255,255,255,.92);text-align:center;letter-spacing:.01em;opacity:0;transform:translateY(-4px);transition:opacity .5s ease,transform .5s ease}
.hb-tagline.show{opacity:1;transform:none}
.hb-flip .hb-ads-bottom{display:flex;width:max-content;margin:.95rem auto 0}
.hb-ads-sub{font:400 .72rem/1.3 'Sora',sans-serif;color:var(--soft-on-dark);text-align:center}
@media(prefers-reduced-motion:reduce){.hb-brick,.hb-spine,.hb-tag,.hb-ads-tag,.hb-mon{transition:none}.hb-pulse{display:none}}
.hero-stores{display:flex;align-items:center;gap:1rem;margin-top:2.6rem;flex-wrap:wrap;justify-content:center;opacity:0;animation:rise .9s 1.2s forwards}
.hero-stores .mono{font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-faint)}
.store-badge{height:42px;width:auto;display:block}
@media(max-width:600px){.hero-badge.hb1{left:0}.hero-badge.hb2{right:0}}

/* feature rows (ecosystem capabilities) */
.feat{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(2rem,5vw,4.5rem);align-items:center;margin-bottom:clamp(3rem,7vw,6rem)}
.feat.rev .feat-media{order:2}
.feat-media{display:flex;justify-content:center}
.feat-media img{width:clamp(200px,26vw,278px);height:auto;border-radius:34px;filter:drop-shadow(0 30px 60px rgba(10,70,45,.26))}
.feat-kicker{display:inline-block;font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--alva);margin-bottom:1rem}
.feat-body h3{font-size:clamp(1.6rem,3.2vw,2.3rem);font-weight:600;letter-spacing:-.025em;line-height:1.12;margin-bottom:1rem}
.feat-body p{color:var(--ink-soft);font-weight:300;font-size:1.05rem;line-height:1.7;max-width:46ch}
.feat-chips{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.4rem}
.feat-chips span{display:inline-flex;align-items:center;gap:.5rem;font-size:.82rem;font-weight:500;color:var(--ink-soft);background:var(--bg-2);border:1px solid var(--line);border-radius:100px;padding:.45rem .9rem}
.feat-chips i{width:6px;height:6px;border-radius:50%;background:var(--alva)}
.feat-stat{margin-top:1.5rem;font-size:1.02rem;color:var(--ink-soft);font-weight:300}
.feat-stat b{font-size:1.9rem;font-weight:700;margin-right:.3rem;letter-spacing:-.02em}

/* AI band */
.ai-band{display:flex;align-items:center;gap:clamp(1.4rem,3vw,2.4rem);background:linear-gradient(110deg,var(--alva-deep),#0e7a48);border-radius:24px;padding:clamp(1.8rem,4vw,3rem);color:#fff;box-shadow:0 30px 60px -30px rgba(10,70,45,.6)}
.ai-band .ai-mark{width:clamp(54px,8vw,84px);height:auto;flex:0 0 auto;filter:brightness(0) invert(1)}
.ai-band .feat-kicker{color:var(--alva-mint)}
.ai-band h3{color:#fff;font-size:clamp(1.5rem,3vw,2.1rem);font-weight:600;letter-spacing:-.02em;margin-bottom:.7rem}
.ai-band p{color:rgba(255,255,255,.82);font-weight:300;line-height:1.65;max-width:62ch}

/* experiences grid */
.exp-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.1rem}
.exp-card{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:1.6rem 1.5rem;transition:transform .4s cubic-bezier(.2,.7,.2,1),box-shadow .4s ease,border-color .4s ease}
.exp-card:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:rgba(16,124,65,.4)}
.exp-card img{width:34px;height:34px;object-fit:contain;margin-bottom:1rem}
.exp-card h4{font-size:1.05rem;font-weight:600;margin-bottom:.4rem}
.exp-card p{font-size:.9rem;color:var(--ink-soft);font-weight:300;line-height:1.55}
@media(max-width:900px){.exp-grid{grid-template-columns:repeat(2,1fr)}}

/* ADS — dark section */
.adsec{position:relative;background:linear-gradient(to bottom,rgba(13,42,29,0) 72%,#0d2a1d 100%),radial-gradient(120% 120% at 80% 0%,#0e3b29,var(--alva-dark));color:#fff}
/* faint lime on the ADS bottom-right that meets the VIVA glow bleeding up, so the boundary blends */
.adsec::after{content:"";position:absolute;right:-14%;bottom:-26%;width:64vw;height:56vw;max-width:780px;max-height:680px;background:radial-gradient(circle,rgba(188,232,74,.1),rgba(188,232,74,.04) 42%,transparent 66%);pointer-events:none;z-index:0}
.adsec .wrap{position:relative;z-index:1}
.adsec .sec-num{-webkit-text-stroke:1px rgba(143,227,189,.22)}
.adsec .eyebrow{color:var(--alva-mint)}.adsec .eyebrow::before{background:var(--alva-mint)}
.adsec .sec-head h2{color:#fff}
.adsec .sec-head p{color:rgba(234,250,242,.78)}
.ads-logo{height:30px;width:auto;display:block;margin:0 auto 1.2rem;filter:brightness(0) invert(1)}
.ads-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.1rem;max-width:920px;margin:0 auto}
.ads-card{background:rgba(255,255,255,.04);border:1px solid rgba(143,227,189,.16);border-radius:18px;padding:1.8rem;transition:border-color .4s ease,background .4s ease,transform .4s ease}
.ads-card:hover{border-color:rgba(10,208,127,.5);background:rgba(255,255,255,.06);transform:translateY(-4px)}
.ads-no{display:block;font-size:.66rem;letter-spacing:.16em;color:var(--alva-mint);margin-bottom:.8rem}
.ads-card h4{font-size:1.2rem;font-weight:600;margin-bottom:.6rem}
.ads-card p{color:rgba(234,250,242,.74);font-weight:300;font-size:.96rem;line-height:1.6}
.ads-foot{display:flex;align-items:center;gap:2rem;flex-wrap:wrap;justify-content:center;margin-top:2.6rem}
.ads-metric{display:flex;flex-direction:column;align-items:center;text-align:center}
.ads-metric b{font-size:1.8rem;font-weight:700;letter-spacing:-.02em}
.ads-metric span{font-size:.8rem;color:rgba(234,250,242,.7);font-weight:300}
.adsec .grad-text{background:linear-gradient(100deg,#8fe3bd,#0ad07f);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.adsec .btn{background:#fff;color:var(--alva-deep)}
.adsec .btn:hover{background:#eafef4}
@media(max-width:760px){.ads-grid{grid-template-columns:1fr}}

/* metrics */
.mx-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem}
.mx{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:1.8rem 1.6rem;box-shadow:var(--shadow-sm)}
.mx b{display:block;font-size:clamp(2rem,4vw,2.7rem);font-weight:700;letter-spacing:-.03em;line-height:1;margin-bottom:.6rem}
.mx span{color:var(--ink-soft);font-weight:300;font-size:.95rem;line-height:1.5}
.mx-stores{display:flex;gap:1.4rem;flex-wrap:wrap;justify-content:center;margin-top:1.6rem}
.store-stat{display:flex;align-items:center;gap:.7rem;background:var(--bg-2);border:1px solid var(--line);border-radius:100px;padding:.7rem 1.3rem;font-size:.95rem}
.store-stat img{height:24px;width:auto}
.store-stat .vv{font-weight:800;color:var(--alva);font-size:1.05rem;letter-spacing:-.02em}
.store-stat b{font-weight:700}
.store-stat .mono{font-size:.8rem;color:var(--alva)}
@media(max-width:760px){.mx-grid{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.mx-grid{grid-template-columns:1fr}}

/* white label — interactive re-skin studio */
.wl-wrap{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}
.wl-studio-head{display:none}
/* live-preview: the studio phone rendered DIRECTLY in the section (no iframe) so
   the drop shadow blends into the section with no hard edges */
.wl-embed{display:flex;flex-direction:column;align-items:center;gap:.55rem;justify-self:center;width:100%}
.wl-prev-wrap{position:relative;width:340px;max-width:100%;margin:0 auto}
.wl-prev{position:relative;width:340px;height:716px;margin:0 auto}
#wl-preview-mount{position:absolute;top:0;left:50%;transform:translateX(-50%) scale(.8);transform-origin:top center;width:420px}
#wl-preview-mount>div{min-height:0!important;background:transparent!important;padding:0!important;gap:0!important;
  display:flex!important;align-items:flex-start!important;justify-content:center!important}
.wl-embed-badge{position:absolute;top:10px;left:50%;transform:translateX(-50%);z-index:3;
  display:inline-flex;align-items:center;gap:.45rem;font:600 .64rem/1 'JetBrains Mono',monospace;
  text-transform:uppercase;letter-spacing:.13em;color:#0c5c30;background:rgba(255,255,255,.92);
  border:1px solid #cdead8;border-radius:999px;padding:.4rem .75rem;
  box-shadow:0 8px 20px -10px rgba(8,40,26,.34);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.wl-embed-dot{width:6px;height:6px;border-radius:50%;background:#22c55e;animation:wlPulse 1.8s ease-out infinite}
@keyframes wlPulse{0%{box-shadow:0 0 0 0 rgba(34,197,94,.55)}70%{box-shadow:0 0 0 7px rgba(34,197,94,0)}100%{box-shadow:0 0 0 0 rgba(34,197,94,0)}}
.wl-embed-cta{margin-top:0}
.wl-embed-sub{margin:0;color:var(--ink-faint);font-size:.78rem;letter-spacing:.01em;text-align:center}
@media(max-width:760px){.wl-prev-wrap,.wl-prev{width:300px}.wl-prev{height:634px}#wl-preview-mount{transform:translateX(-50%) scale(.715)}}
.wl-body h2{font-size:clamp(2rem,4.4vw,3.3rem);font-weight:600;letter-spacing:-.025em;line-height:1.1;margin:1.1rem 0 1rem}
.wl-body p{color:var(--ink-soft);font-weight:300;font-size:1.08rem;line-height:1.7}

.wl-studio{display:flex;flex-direction:column;align-items:center;gap:1.4rem}
.wl-stage{display:flex;justify-content:center;width:100%}
.wl-phone{position:relative;width:250px;padding:9px;border-radius:42px;background:linear-gradient(165deg,#0e231b,#06120d);box-shadow:0 34px 74px -24px rgba(8,40,26,.6),inset 0 0 0 1.5px rgba(255,255,255,.05)}
.wl-screen{position:relative;border-radius:33px;overflow:hidden;display:flex;flex-direction:column;aspect-ratio:9/18.6;background:linear-gradient(314deg,var(--c1) 5%,var(--c2) 78%);transition:background .45s ease}
.wl-statusbar{width:100%;display:block;position:relative;z-index:6}
.wl-sb-dark{display:none}
.wl-studio.is-dark .wl-sb-light{display:none}
.wl-studio.is-dark .wl-sb-dark{display:block}
/* onboarding "video" slider */
.wl-slider{position:relative;flex:1;overflow:hidden}
.wl-bars{position:absolute;top:7px;left:0;right:0;display:flex;gap:4px;padding:0 12px;z-index:5;opacity:0;transition:opacity .35s ease}
.wl-bars.is-visible{opacity:1}
.wl-bar{flex:1;height:2px;border-radius:1px;background:rgba(255,255,255,.34)}
.wl-bar.is-active{background:#fff}
.wl-slide{position:absolute;inset:0;opacity:0;transition:opacity .55s ease;pointer-events:none;display:flex;flex-direction:column;align-items:center;padding:1.5rem 1.15rem 1.1rem;color:#fff}
.wl-slide.is-active{opacity:1}
.wl-slide--text::after{content:"";position:absolute;left:0;right:0;bottom:0;height:44%;background:url("../img/lomas.svg") bottom center/100% auto no-repeat;opacity:.45;pointer-events:none;z-index:0}
.wl-slide--text>*{position:relative;z-index:1}
.wl-slide--splash{justify-content:center}
.wl-slide-logo{height:80px;width:auto;max-width:76%;object-fit:contain}
.wl-slide-powered{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);height:21px;width:auto;opacity:.92;z-index:1}
.wl-slide-title{font-size:1.02rem;font-weight:700;line-height:1.22;color:#fff;margin:.6rem 0 0;text-align:left;width:100%;text-shadow:0 1px 9px rgba(0,0,0,.2)}
.wl-slide-media{width:116%;margin:auto -.6rem 0;display:block;border-radius:10px;box-shadow:0 14px 30px -14px rgba(0,0,0,.4)}
.wl-slide-img{width:66%;margin:auto auto 0;display:block;object-fit:contain;filter:drop-shadow(0 12px 22px rgba(0,0,0,.28))}
.wl-slide-cta{margin-top:.85rem;align-self:stretch;text-align:center;background:#fff;color:#13241c;font-weight:700;font-size:.74rem;padding:.55rem;border-radius:24px}
.wl-register{position:absolute;left:0;right:0;bottom:0;z-index:4;background:#fff;color:#13241c;border-radius:22px 22px 0 0;padding:.7rem 1rem 1rem;display:flex;flex-direction:column;align-items:center;gap:.48rem;box-shadow:0 -12px 34px -14px rgba(0,0,0,.32);transform:translateY(101%);transition:transform .55s cubic-bezier(.4,0,.2,1)}
.wl-slide--bills.is-active .wl-register{transform:translateY(0);transition-delay:1.5s}
.wl-reg-grip{width:34px;height:4px;border-radius:2px;background:#d9e1dc}
.wl-reg-title{font-size:.92rem;font-weight:700;margin:.05rem 0 .15rem}
.wl-reg-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:.5rem;border:1px solid var(--rule);border-radius:10px;padding:.5rem;font-size:.72rem;font-weight:600;color:#13241c}
.wl-reg-btn img{width:15px;height:15px}
.wl-reg-foot{font-size:.6rem;color:#7a8a82}
.wl-reg-foot b{color:var(--c1);font-weight:700}
.wl-studio.is-dark .wl-register{background:#20302a;color:#eaf3ee}
.wl-studio.is-dark .wl-reg-btn{color:#eaf3ee;border-color:rgba(255,255,255,.15)}
/* live app home screen (full-flow finale) */
.wl-slide--home{padding:0;background:#fff;color:#13241c}
.wl-studio.is-dark .wl-slide--home{background:#0f1a15;color:#eaf3ee}
.wl-home{display:flex;flex-direction:column;height:100%;padding:.65rem .6rem 0}
.wl-home-search{display:flex;align-items:center;justify-content:space-between;background:rgba(10,30,22,.06);border-radius:11px;padding:.42rem .62rem;font-size:.66rem;color:#8a958f;margin-bottom:.75rem}
.wl-studio.is-dark .wl-home-search{background:rgba(255,255,255,.08);color:#9fb0a8}
.wl-home-cicons{display:flex;gap:.34rem}
.wl-home-cicons img{width:12px;height:12px;opacity:.5}
.wl-studio.is-dark .wl-home-cicons img{filter:invert(1) brightness(1.6)}
.wl-home-apps{display:flex;justify-content:space-between;padding:0 .1rem;margin-bottom:.4rem}
.wl-app{display:flex;flex-direction:column;align-items:center;gap:.26rem;font-size:.55rem;font-weight:500;color:inherit}
.wl-app-ic{width:38px;height:38px;border-radius:11px;object-fit:cover;box-shadow:0 4px 10px -4px rgba(8,40,26,.3)}
.wl-app-brand{width:38px;height:38px;border-radius:11px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--c1),var(--c2));box-shadow:0 4px 10px -4px var(--c1);transition:background .45s ease}
.wl-app-brand img{width:62%;height:auto;object-fit:contain}
.wl-home-promo{position:relative;margin-top:auto}
.wl-home-promo img{width:100%;display:block;border-radius:13px 13px 0 0}
.wl-home-dots{position:absolute;top:.5rem;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:.28rem;background:rgba(8,20,14,.4);border-radius:20px;padding:.28rem .52rem;z-index:2}
.wl-home-dots i{width:5px;height:5px;border-radius:50%;background:rgba(255,255,255,.55)}
.wl-home-dots i.on{background:#fff;width:12px;border-radius:3px}
.wl-home-nav{display:flex;align-items:flex-end;justify-content:space-between;background:#fff;border-top:1px solid rgba(10,30,22,.08);padding:.4rem .7rem .55rem}
.wl-studio.is-dark .wl-home-nav{background:#0f1a15;border-top-color:rgba(255,255,255,.1)}
.wl-nav{display:flex;flex-direction:column;align-items:center;gap:.16rem;font-size:.5rem;font-weight:500;color:#9aa39e}
.wl-nav img{width:17px;height:17px;opacity:.6}
.wl-studio.is-dark .wl-nav img{filter:invert(1) brightness(1.6)}
.wl-nav-badge{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--c1),var(--c2));box-shadow:0 7px 16px -5px var(--c1);margin-bottom:.05rem;flex-shrink:0;transition:background .45s ease}
.wl-nav-badge img{width:56%;height:auto;object-fit:contain}

.wl-controls{width:100%;max-width:380px;display:flex;flex-direction:column;gap:1rem}
.wl-mode{display:inline-flex;align-self:center;gap:.2rem;padding:.25rem;border-radius:30px;background:#e7efe9;border:1px solid var(--rule)}
.wl-mode-opt{display:inline-flex;align-items:center;gap:.4rem;border:0;background:transparent;border-radius:24px;padding:.42rem .95rem;font:inherit;font-size:.82rem;font-weight:500;color:var(--ink-soft);cursor:pointer;transition:.25s}
.wl-mode-opt img{width:15px;height:15px;opacity:.65}
.wl-mode-opt.is-active{background:#fff;color:#15311f;box-shadow:0 4px 12px -6px rgba(0,0,0,.22)}
.wl-mode-opt.is-active img{opacity:1}
.wl-hint{text-align:center;font-size:.95rem;color:var(--ink-soft);margin:0}
.wl-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem}
.wl-swatch{display:flex;flex-direction:column;align-items:center;gap:.45rem;padding:.55rem .4rem;border-radius:14px;border:1px solid var(--rule);background:#fff;cursor:pointer;font:inherit;font-size:.72rem;font-weight:500;color:var(--ink-soft);transition:transform .2s,box-shadow .2s,border-color .2s}
.wl-swatch i{width:100%;height:30px;border-radius:9px;display:block}
.wl-swatch:hover{transform:translateY(-2px);box-shadow:0 9px 20px -10px rgba(0,0,0,.28)}
.wl-swatch.is-active{border-color:var(--c1);box-shadow:0 0 0 2px var(--c1) inset;color:#15311f}
.wl-custom{display:flex;flex-direction:column;gap:.75rem;padding:.95rem;border-radius:14px;border:1px dashed var(--rule);background:#f5f8f6}
.wl-custom-row{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}
.wl-pick{display:flex;align-items:center;gap:.35rem;border:1px solid var(--rule);border-radius:10px;padding:.28rem .42rem;background:#fff}
.wl-pick input[type=color]{width:26px;height:26px;border:0;background:none;padding:0;cursor:pointer;border-radius:6px}
.wl-pick input[type=color]::-webkit-color-swatch-wrapper{padding:0}
.wl-pick input[type=color]::-webkit-color-swatch{border:1px solid var(--rule);border-radius:6px}
.wl-pick input[type=text]{width:72px;border:0;font:inherit;font-size:.8rem;color:var(--ink);outline:none;text-transform:uppercase;background:none}
.wl-upload{display:flex;align-items:center;gap:.45rem;border:1px solid var(--rule);border-radius:10px;padding:.45rem .75rem;cursor:pointer;font-size:.8rem;color:var(--ink-soft);background:#fff;max-width:100%;overflow:hidden}
.wl-upload img{width:15px;height:15px;flex-shrink:0}
.wl-upload span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wl-apply{justify-content:center;width:100%;margin-top:.1rem}
@media(max-width:760px){.wl-wrap{grid-template-columns:1fr}.wl-studio{order:0;margin-top:.6rem}.wl-controls{max-width:100%}}

/* who / built for */
.who-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.1rem}
.who-grid-8{grid-template-columns:repeat(4,1fr)}
.who{position:relative;background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:1.8rem 1.5rem;transition:transform .4s ease,box-shadow .4s ease,border-color .4s ease}
.who-no{position:absolute;top:1.7rem;right:1.5rem;font-size:.82rem;letter-spacing:.04em;color:var(--ink-soft);opacity:.45}
.who:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:rgba(16,124,65,.4)}
.who img{width:30px;height:30px;object-fit:contain;margin-bottom:1rem;opacity:.9}
.who h4{font-size:1.05rem;font-weight:600;margin-bottom:.4rem}
.who p{font-size:.9rem;color:var(--ink-soft);font-weight:300;line-height:1.55}
.who-note{text-align:center;max-width:60ch;margin:2.2rem auto 0;color:var(--ink-soft);font-weight:300;font-size:1rem}
@media(max-width:900px){.who-grid{grid-template-columns:1fr 1fr}}

/* faq */
.faq-list{max-width:780px;margin:0 auto;display:flex;flex-direction:column;gap:.7rem}
.faq-item{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:0 1.4rem;transition:border-color .3s ease,box-shadow .3s ease}
.faq-item[open]{border-color:rgba(16,124,65,.35);box-shadow:var(--shadow-sm)}
.faq-item summary{list-style:none;cursor:pointer;font-weight:600;font-size:1.05rem;padding:1.25rem 0;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary .q{flex:1 1 auto;min-width:0}
.faq-item summary .q .ilg{vertical-align:-.02em}
.faq-item summary::after{content:"+";font-family:'JetBrains Mono',monospace;font-size:1.3rem;color:var(--alva);transition:transform .3s ease;flex:0 0 auto}
.faq-item[open] summary::after{transform:rotate(45deg)}
.faq-item p{color:var(--ink-soft);font-weight:300;line-height:1.65;padding:0 0 1.3rem;max-width:64ch}
.faq-item p a{color:var(--steel,#15904f);font-weight:500;text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px}
.faq-item p a:hover{color:var(--alva)}
.faq-link{display:inline-block;margin-top:.5rem;text-decoration:none !important;font-weight:600 !important;white-space:nowrap}
.faq-item p:has(+ .faq-learn){padding-bottom:.7rem}
.faq-learn{display:flex;width:max-content;max-width:100%;align-items:center;gap:.55rem;margin:0 0 1.3rem;color:var(--ink-soft)!important;font-weight:500!important}
.faq-learn:hover{color:var(--alva)!important}
.faq-learn-logo{height:1.25em;width:auto;display:inline-block;vertical-align:middle}

/* cta sub */
.cta-sub{display:block;margin-top:1.4rem;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.6)}
.cta-sub a{color:#fff;text-decoration:underline;text-underline-offset:3px}

/* ===== ALVA v2 — engagement layer, modules, expanded ADS, case study ===== */
/* hero trust row */
.hero-trust{display:flex;align-items:center;gap:.9rem;justify-content:center;margin-top:2.4rem;font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.6);opacity:0;animation:rise .9s 1.2s forwards}
.hero-trust i{width:4px;height:4px;border-radius:50%;background:var(--alva-mint)}

/* layer / stack section */
.layer-split{align-items:center}
.layerstack{display:flex;flex-direction:column;gap:.8rem}
.lstack-layer{border:1px solid var(--line);border-radius:18px;padding:1.3rem 1.5rem;background:var(--paper);box-shadow:var(--shadow-sm)}
.lstack-layer.is-alva{background:linear-gradient(115deg,var(--alva-deep),#0e7a48);border-color:transparent;color:#fff;box-shadow:0 24px 50px -26px rgba(10,70,45,.6)}
.ll-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.7rem}
.ll-tag{font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--alva)}
.is-alva .ll-tag{color:var(--alva-mint)}
.ll-here{font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.7);border:1px solid rgba(255,255,255,.3);border-radius:100px;padding:.2rem .6rem}
.ll-logos{display:flex;align-items:center;gap:.8rem;margin-bottom:.6rem}
.ll-logos img{height:22px;width:auto}
.is-alva .ll-logos img{filter:brightness(0) invert(1)}
.ll-div{width:1px;height:18px;background:rgba(255,255,255,.3)}
.lstack-layer p{font-size:.92rem;font-weight:300;color:var(--ink-soft);line-height:1.5}
.is-alva p{color:rgba(255,255,255,.85)}

/* modules */
.mod-strip{display:flex;flex-wrap:wrap;justify-content:center;gap:.8rem;margin-bottom:clamp(2.2rem,5vw,3.4rem)}
.mod-strip span{width:64px;height:64px;border-radius:16px;background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow-sm);display:flex;align-items:center;justify-content:center;transition:transform .35s ease}
.mod-strip span:hover{transform:translateY(-5px)}
.mod-strip img{width:30px;height:30px;object-fit:contain}
.mod-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.mod-step{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:1.9rem 1.7rem;position:relative;overflow:hidden}
.mod-step::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--grad-deep)}
.ms-no{font-size:.7rem;letter-spacing:.12em;color:var(--alva);display:block;margin-bottom:.7rem}
.mod-step h4{font-size:1.2rem;font-weight:600;margin-bottom:.5rem}
.mod-step p{font-size:.95rem;color:var(--ink-soft);font-weight:300;line-height:1.6}
@media(max-width:820px){.mod-steps{grid-template-columns:1fr}}

/* pocket -> IRIS powered badge */
.feat-powered{display:inline-flex;align-items:center;gap:.7rem;margin-top:1.4rem;padding:.55rem .9rem;border:1px solid var(--line);border-radius:100px;background:var(--bg-2)}
.feat-powered .mono{font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint)}
.feat-powered img{height:18px;width:auto}

/* ADS expanded */
.ads-brand{display:inline-flex;background:#fff;padding:.5rem .95rem;border-radius:12px;margin-bottom:1.2rem}
.ads-brand img{height:22px;width:auto}
.ads-flow{display:flex;align-items:stretch;justify-content:center;gap:.5rem;flex-wrap:wrap;max-width:1000px;margin:0 auto clamp(2rem,4vw,3rem)}
.af-step{flex:1;min-width:170px;background:rgba(255,255,255,.04);border:1px solid rgba(143,227,189,.16);border-radius:16px;padding:1.3rem;text-align:center}
.af-step img{width:30px;height:30px;object-fit:contain;filter:brightness(0) invert(1);opacity:.92;margin-bottom:.6rem}
.af-step .mono{display:block;font-size:.62rem;color:var(--alva-mint);letter-spacing:.14em;margin-bottom:.3rem}
.af-step b{display:block;font-size:1rem;margin-bottom:.35rem}
.af-step p{font-size:.84rem;color:rgba(234,250,242,.7);font-weight:300;line-height:1.45}
.af-arrow{display:flex;align-items:center;color:var(--alva-mint);font-size:1.3rem;opacity:.6}
.ads-ic{width:30px;height:30px;object-fit:contain;filter:brightness(0) invert(1);opacity:.92;margin-bottom:.9rem;display:block}
.ads-channels{text-align:center;margin-top:2.4rem}
.ads-channels .mono{display:block;font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--alva-mint);margin-bottom:1rem}
.ads-channels div{display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem}
.ads-channels i{font-style:normal;font-size:.84rem;color:rgba(234,250,242,.85);border:1px solid rgba(143,227,189,.22);border-radius:100px;padding:.45rem 1rem}

/* case study */
.cs-show{display:flex;flex-direction:column;align-items:center;gap:1.6rem;margin-bottom:clamp(2.4rem,5vw,3.6rem)}
.cs-phones{display:flex;justify-content:center;align-items:flex-end;gap:-2rem}
.csp{width:clamp(140px,18vw,205px);height:auto;border-radius:26px;filter:drop-shadow(0 28px 56px rgba(10,70,45,.3))}
.csp2{margin:0 -1.5rem;z-index:2;width:clamp(150px,19vw,220px)}
.csp1,.csp3{opacity:.96}
.cs-tag{display:inline-flex;align-items:center;gap:.9rem;background:var(--paper);border:1px solid var(--line);border-radius:100px;padding:.6rem 1.3rem;box-shadow:var(--shadow-sm)}
.cs-tag .mono{font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint)}
.cs-alva{height:18px;width:auto}
.cs-viva{height:22px;width:auto}
.cs-x{color:var(--ink-faint);font-size:1rem}
.cs-note{text-align:center;max-width:54ch;margin:2rem auto 0;color:var(--ink-soft);font-weight:300}
.cs-note b{color:var(--alva);font-weight:700}


/* ===== ALVA v3 — module library, icon chips, MeetKai ===== */
/* uniform green icon chips (always-visible white icons) */
.exp-card .ic,.who .ic,.mod-tile .ic{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:13px;background:linear-gradient(135deg,var(--alva),var(--alva-deep));margin-bottom:1rem}
.exp-card .ic img,.who .ic img,.mod-tile .ic img{width:24px;height:24px;object-fit:contain;filter:brightness(0) invert(1);margin:0;opacity:1}

/* module library grid */
.mod-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:.9rem;margin-bottom:clamp(2.4rem,5vw,3.6rem)}
.mod-tile{display:flex;flex-direction:column;align-items:flex-start;background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:1.2rem 1.2rem 1.3rem;transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s ease,border-color .35s ease}
.mod-tile:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:rgba(16,124,65,.4)}
.mod-tile .ic{width:42px;height:42px;border-radius:12px;margin-bottom:.85rem}
.mod-tile .ic img{width:22px;height:22px}
.mod-tile b{font-size:1rem;font-weight:600;line-height:1.1}
.mt-cat{font-size:.74rem;color:var(--ink-faint);font-weight:400;margin-top:.2rem}
@media(max-width:1000px){.mod-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:620px){.mod-grid{grid-template-columns:repeat(2,1fr)}}

/* MeetKai AI partner badge */
.ai-partner{display:inline-flex;align-items:center;gap:.7rem;margin-top:1.3rem;background:#fff;border-radius:100px;padding:.5rem .95rem}
.ai-partner .mono{font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint)}
.ai-partner img{height:18px;width:auto}

/* ===== upgrade section (backend upgrade to existing app) ===== */
.up-split{align-items:center}
.up-visual{position:relative;display:flex;flex-direction:column;align-items:center;gap:1.1rem}
.up-phone{position:relative;display:inline-block;filter:drop-shadow(0 30px 60px rgba(10,70,45,.26))}
.up-phone>img{width:clamp(200px,24vw,250px);height:auto;border-radius:30px;display:block}
.up-badge{position:absolute;display:inline-flex;align-items:center;gap:.4rem;background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow-sm);border-radius:100px;padding:.45rem .8rem;font-size:.78rem;font-weight:600;color:var(--ink)}
.up-badge img{width:16px;height:16px;object-fit:contain}
.up-badge.ub1{left:-14%;top:16%}
.up-badge.ub2{right:-16%;top:34%}
.up-badge.ub3{left:-10%;top:56%}
.up-badge.ub4{right:-12%;bottom:14%}
.up-cap{font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-faint)}
@media(max-width:760px){.up-badge.ub1,.up-badge.ub3{left:0}.up-badge.ub2,.up-badge.ub4{right:0}}

/* ===== pitch / two pillars (clear dual narrative) ===== */
.pillars{display:grid;grid-template-columns:1fr 1fr;gap:1.3rem}
.pillar{background:var(--paper);border:1px solid var(--line);border-radius:22px;padding:clamp(1.6rem,3vw,2.2rem);box-shadow:var(--shadow-sm);position:relative;overflow:hidden}
.pillar::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--grad-deep)}
.pillar.is-ads::before{background:linear-gradient(90deg,#0ad07f,#129a52)}
.pl-top{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.4rem}
.pl-tag{font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--alva)}
.pillar.is-ads .pl-tag{color:#0c9a52}
.pl-logo{height:20px;width:auto}
.pillar h3{font-size:clamp(1.35rem,2.6vw,1.8rem);font-weight:600;letter-spacing:-.02em;margin-bottom:.7rem}
.pillar p{color:var(--ink-soft);font-weight:300;line-height:1.65;font-size:1rem}
.pillar .feat-chips{margin-top:1.3rem}
.layer-cards{margin-top:clamp(1rem,2.4vw,1.6rem)}
.iris-chips .ch-rev i{background:#15904f}
.iris-chips .ch-save i{background:#3a7fc0}
.inline-accell{height:.82em;width:auto;display:inline-block;vertical-align:-.03em}
.contrib-badge{display:inline-flex;align-items:center;gap:.6rem;margin:.2rem 0 1.1rem;padding:.42rem .85rem .42rem .7rem;border:1px solid var(--line);border-radius:999px;background:var(--paper);box-shadow:0 2px 10px -4px rgba(6,30,20,.14)}
.contrib-badge .cb-label{font:500 .68rem/1 'JetBrains Mono',monospace;text-transform:uppercase;letter-spacing:.13em;color:var(--ink-soft);padding-right:.6rem;border-right:1px solid var(--line)}
.contrib-badge a{display:inline-flex;align-items:center;line-height:0}
.contrib-badge img{height:.82rem;width:auto;display:block;opacity:.92}
.pitch-foot{text-align:center;max-width:64ch;margin:1.6rem auto 0;color:var(--ink-soft);font-weight:300;font-size:1.02rem}
.pitch-foot b{color:var(--ink);font-weight:600}
.pitch-foot a{color:var(--alva);font-weight:500;text-decoration:underline;text-underline-offset:3px}
@media(max-width:760px){.pillars{grid-template-columns:1fr}}

/* inline brand logos in pitch footnote */
.pitch-foot .inline-logo{width:auto;vertical-align:middle;margin:0 .2em;position:relative;top:-1px}
.pitch-foot .il-iris{height:17px}
.pitch-foot .il-helios{height:16px}
.pitch-foot .il-accell{height:15px}

/* ADS differentiators (telco data + proprietary AI) */
.ads-diff{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem;max-width:920px;margin:0 auto clamp(2rem,4vw,3rem)}
.ads-dcard{background:linear-gradient(135deg,rgba(10,208,127,.10),rgba(255,255,255,.04));border:1px solid rgba(10,208,127,.28);border-radius:18px;padding:clamp(1.6rem,3vw,2.1rem);transition:transform .4s ease,border-color .4s ease}
.ads-dcard:hover{transform:translateY(-4px);border-color:rgba(10,208,127,.55)}
.ads-dcard .ads-no{color:var(--alva-mint)}
.ads-dcard h4{font-size:1.3rem;font-weight:600;margin:.5rem 0 .6rem}
.ads-dcard p{color:rgba(234,250,242,.8);font-weight:300;line-height:1.6;font-size:.98rem}
@media(max-width:760px){.ads-diff{grid-template-columns:1fr}}

/* ===== technical lift ladder ===== */
.lift-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem}
.lift-card{background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:clamp(1.6rem,3vw,2rem);box-shadow:var(--shadow-sm);display:flex;flex-direction:column}
.lift-meter{display:flex;gap:5px;margin-bottom:1.2rem}
.lift-meter i{width:26px;height:5px;border-radius:3px;background:var(--line)}
.lift-meter i.on{background:var(--grad-deep)}
.lift-tag{font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--alva)}
.lift-card h4{font-size:1.2rem;font-weight:600;margin:.5rem 0 .6rem;letter-spacing:-.01em}
.lift-card p{color:var(--ink-soft);font-weight:300;line-height:1.6;font-size:.96rem;flex:1}
.lift-value{margin-top:1.2rem;align-self:flex-start;font-size:.78rem;font-weight:600;color:var(--alva-deep);background:var(--bg-2);border:1px solid var(--line);border-radius:100px;padding:.4rem .9rem}
.lift-foot{text-align:center;max-width:66ch;margin:2.2rem auto 0;color:var(--ink-soft);font-weight:300;font-size:1.02rem}
@media(max-width:820px){.lift-grid{grid-template-columns:1fr}}

/* case study headline engagement stat */
.cs-headline{text-align:center;max-width:780px;margin:0 auto clamp(2rem,4vw,3rem);padding:clamp(1.8rem,3.5vw,2.6rem);background:linear-gradient(135deg,var(--alva-deep),#0e7a48);border-radius:24px;color:#fff;box-shadow:0 30px 60px -30px rgba(10,70,45,.55)}
.cs-headline b{display:block;font-size:clamp(2.6rem,6.5vw,4rem);font-weight:700;letter-spacing:-.03em;line-height:1}
.cs-headline .grad-text{background:linear-gradient(100deg,#8fe3bd,#ffffff);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.cs-headline span{display:block;margin-top:.9rem;color:rgba(255,255,255,.85);font-weight:300;font-size:1.04rem;max-width:54ch;margin-left:auto;margin-right:auto;line-height:1.55}

/* IRIS financial-layer band */
.iris-band{display:flex;align-items:center;gap:clamp(1.4rem,3vw,2.6rem);background:var(--paper);border:1px solid var(--line);border-left:3px solid var(--alva);border-radius:24px;padding:clamp(1.8rem,4vw,2.6rem);box-shadow:var(--shadow-sm);margin-bottom:clamp(3rem,7vw,6rem)}
.iris-band .ib-mark{flex:0 0 auto;width:clamp(78px,11vw,128px);display:flex;align-items:center;justify-content:center}
.iris-band .ib-mark img{width:100%;height:auto}
.iris-band h3{font-size:clamp(1.45rem,3vw,2.1rem);font-weight:600;letter-spacing:-.02em;margin:.45rem 0 .7rem}
.iris-band p{color:var(--ink-soft);font-weight:300;line-height:1.65;max-width:66ch}
@media(max-width:680px){.iris-band{flex-direction:column;align-items:flex-start}}

/* =====================================================================
   MOBILE OPTIMIZATION PASS
   ===================================================================== */
@media(max-width:820px){
  /* feature rows stack vertically */
  .feat{grid-template-columns:1fr;gap:1.4rem;margin-bottom:clamp(2.6rem,8vw,3.8rem)}
  .feat.rev .feat-media{order:0}
  .feat-media{justify-content:center}
  .feat-media img{width:min(70vw,250px)}
  .feat-body p,.feat-body{max-width:none}
  /* ADS flow: stack, drop the horizontal arrows */
  .ads-flow{flex-direction:column;gap:.7rem}
  .af-step{min-width:0;width:100%;display:flex;align-items:center;gap:.9rem;text-align:left;flex-wrap:wrap}
  .af-step img{margin-bottom:0}
  .af-step b,.af-step .mono{display:inline}
  .af-step p{width:100%;margin-top:.2rem}
  .af-arrow{display:none}
  /* iris/ai bands stack */
  .iris-band,.ai-band{flex-direction:column;align-items:flex-start;text-align:left}
  .iris-band .ib-mark{width:100px}
}
@media(max-width:760px){
  /* case study phones: keep three but fit the viewport */
  .cs-phones{gap:0;flex-wrap:nowrap}
  .csp{width:30vw;min-width:0}
  .csp2{width:33vw;margin:0 -.8rem}
  /* pillar top can wrap */
  .pl-top{flex-wrap:wrap;gap:.5rem}
  /* upgrade phone badges hug edges */
  .up-phone>img{width:min(60vw,230px)}
}
@media(max-width:600px){
  /* tighten section vertical rhythm a touch */
  section{padding-top:clamp(3.4rem,11vw,5rem);padding-bottom:clamp(3.4rem,11vw,5rem)}
  /* hero phone + floating badges scale down */
  .hero-phone img{width:min(62vw,250px)}
  .hero-badge{font-size:.72rem;padding:.42rem .75rem}
  /* mod library tiles a touch tighter */
  .mod-tile{padding:1rem}
  .mod-tile b{font-size:.92rem}
  /* cta sub + pitch foot keep readable */
  .pitch-foot,.lift-foot{font-size:.95rem}
  /* ads differentiator + cards full width already; tighten pad */
  .ads-dcard,.ads-card{padding:1.4rem}
}
/* never allow horizontal scroll from any wide child */
html,body{max-width:100%;overflow-x:hidden}

/* data advantage section */
.data-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem}
.data-note{text-align:center;max-width:66ch;margin:2.2rem auto 0;color:var(--ink-soft);font-weight:300;font-size:1.04rem}
.data-note b{color:var(--ink);font-weight:600}
@media(max-width:820px){.data-grid{grid-template-columns:1fr}}

/* hero modular network canvas */
.hero .herofx{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;-webkit-mask-image:radial-gradient(160% 160% at 50% 55%,#000 76%,transparent 100%);mask-image:radial-gradient(160% 160% at 50% 55%,#000 76%,transparent 100%)}
.hero>*:not(.herofx){position:relative;z-index:1}

/* ALVA nav logo: letters form one at a time with an energy glow (Modules assembling),
   then collapse right-to-left to the solo A as you scroll (reverse of how it built) */
.brand-clip{display:flex;align-items:center;overflow:visible;width:84px;height:30px;transition:width .6s cubic-bezier(.45,0,.2,1)}
nav.scrolled .brand-clip{width:26px}
.alva-build{height:30px;width:auto;display:block;flex:0 0 auto;overflow:visible}
nav.scrolled .alva-build{height:30px}
nav .alva-build{filter:none!important}
.alva-build path{fill:#fff;opacity:0;transform-box:fill-box;transform-origin:center;
  animation:alvaForm .85s cubic-bezier(.2,.8,.25,1) forwards;
  transition:opacity .5s ease,transform .5s cubic-bezier(.45,0,.2,1)}
.alva-build .al-a1{animation-delay:.18s}
.alva-build .al-l{animation-delay:.44s}
.alva-build .al-v{animation-delay:.70s}
.alva-build .al-a2{animation-delay:.96s}
/* scroll down: the L V A quietly fade together and settle into the solo A — one clean
   motion, no per-letter flashing. transform-origin left so they retract toward the A. */
nav.scrolled .alva-build .al-l,
nav.scrolled .alva-build .al-v,
nav.scrolled .alva-build .al-a2{opacity:0;transform:translateX(-14%) scale(.82);transform-origin:left center;transition:opacity .42s ease,transform .42s cubic-bezier(.4,0,.2,1)}
@keyframes alvaForm{
  0%{opacity:0;transform:scale(.5);filter:brightness(2.4) drop-shadow(0 0 0 rgba(143,227,189,0))}
  35%{opacity:1;transform:scale(1.13);filter:brightness(2) drop-shadow(0 0 12px rgba(143,227,189,.95))}
  65%{filter:brightness(1.3) drop-shadow(0 0 7px rgba(143,227,189,.55))}
  100%{opacity:1;transform:scale(1);filter:brightness(1) drop-shadow(0 0 0 rgba(143,227,189,0))}
}
@media(prefers-reduced-motion:reduce){.alva-build path{opacity:1;animation:none}}

/* ALVA ADS: curated render strip (links out to the ALVA ADS site) */
.ads-renders{margin-top:2.6rem}
.ar-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.6rem;margin-bottom:1.15rem}
.ar-head .mono{color:rgba(234,240,250,.55);font-size:.8rem;text-transform:uppercase;letter-spacing:.1em}
.ar-link{display:inline-flex;align-items:center;gap:.4rem;color:#8fe3bd;font-weight:500;font-size:.92rem;text-decoration:none;transition:color .25s ease}
.ar-link:hover{color:#fff}
.ar-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.1rem;align-items:start}
.ar-shot{margin:0;background:rgba(255,255,255,.035);border:1px solid rgba(143,227,189,.16);border-radius:16px;overflow:hidden;transition:border-color .3s ease,transform .3s ease}
.ar-shot:hover{border-color:rgba(143,227,189,.42);transform:translateY(-3px)}
.ar-media{overflow:hidden;background:#0c2a20}
.ar-media img{width:100%;height:auto;display:block}
.ar-shot figcaption{padding:.85rem 1.05rem 1.05rem}
.ar-shot figcaption h4{font-size:1rem;font-weight:600;margin:0 0 .25rem;color:#eaf3ee}
.ar-shot figcaption p{font-size:.84rem;color:rgba(234,240,250,.66);font-weight:300;line-height:1.5;margin:0}
@media(max-width:760px){.ar-grid{grid-template-columns:1fr 1fr}}

/* opportunity 3-card grid + super-app experiences chip strip */
.op-grid{grid-template-columns:repeat(3,1fr)}
@media(max-width:900px){.op-grid{grid-template-columns:1fr}}
.exp-strip{display:flex;flex-wrap:wrap;align-items:center;gap:.7rem 1.1rem;margin:2.2rem 0 .4rem}
.exp-strip .mono{color:var(--ink-soft);font-size:.78rem;text-transform:uppercase;letter-spacing:.1em}
.exp-strip>div{display:flex;flex-wrap:wrap;gap:.5rem}
.exp-strip i{font-style:normal;font-size:.88rem;font-weight:500;color:var(--ink-soft);background:#eef3ef;border:1px solid var(--line);border-radius:20px;padding:.34rem .9rem}

/* ===== Super App deploy console (interactive) ===== */
.sa-console{display:grid;grid-template-columns:1fr minmax(290px,360px);gap:clamp(1.4rem,3vw,2.6rem);align-items:start;margin:clamp(1.6rem,4vw,2.6rem) 0 clamp(1.4rem,3vw,2.2rem)}
@media(max-width:880px){.sa-console{grid-template-columns:1fr}}
.sa-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}
.sa-bar>.mono{font-size:.74rem;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-faint)}
.sa-bar-btns{display:flex;gap:.5rem}
.sa-btn{font:600 .74rem/1 'Sora',sans-serif;border-radius:100px;padding:.55rem .95rem;cursor:pointer;border:1px solid var(--line);background:var(--paper);color:var(--ink-soft);transition:.2s}
.sa-btn:hover{border-color:rgba(16,124,65,.55);color:var(--alva)}
.sa-all{background:var(--grad-deep);border:0;color:#fff}
.sa-all:hover{color:#fff;filter:brightness(1.08)}

.sa-grid{display:flex;flex-direction:column;gap:.9rem}
.sa-cat{display:grid;grid-template-columns:88px 1fr;gap:.3rem 1rem;align-items:start}
@media(max-width:520px){.sa-cat{grid-template-columns:1fr;gap:.3rem}}
.sa-cat-h{font:600 .64rem/1.2 'JetBrains Mono',monospace;text-transform:uppercase;letter-spacing:.14em;color:var(--ink-faint);padding-top:.62rem}
@media(max-width:520px){.sa-cat-h{padding-top:0}}
.sa-cat-mods{display:flex;flex-wrap:wrap;gap:.5rem}
.sa-mod{position:relative;display:inline-flex;align-items:center;gap:.5rem;background:var(--paper);border:1px solid var(--line);border-radius:100px;padding:.38rem .85rem .38rem .42rem;cursor:pointer;font-family:'Sora',sans-serif;color:var(--ink);transition:transform .3s cubic-bezier(.2,.7,.2,1),box-shadow .3s,border-color .3s,background .3s}
.sa-mod:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm);border-color:rgba(16,124,65,.45)}
.sa-stud{position:relative;width:15px;height:15px;flex:none;border-radius:4px;background:var(--alva)}
.sa-stud::before{content:"";position:absolute;left:50%;top:2px;transform:translateX(-50%);width:6px;height:3px;border-radius:2px;background:rgba(255,255,255,.55)}
.sa-mod.t-revenue .sa-stud{background:#15904f}
.sa-mod.t-savings .sa-stud{background:#3a7fc0}
.sa-mod.t-both .sa-stud{background:linear-gradient(135deg,#15904f,#7a5cc0)}
.sa-mod.live .sa-stud{box-shadow:0 0 0 3px rgba(10,208,127,.22)}
.hb-ic.lg,.hb-brick.charged .hb-ic.lg{background:#fff}
.hb-ic.lg img{filter:none;width:20px;height:20px}
.sa-mod b{font-size:.84rem;font-weight:600;line-height:1;white-space:nowrap}
.sa-badge{display:inline-flex;align-items:center;justify-content:center;width:0;height:17px;margin-left:-.5rem;opacity:0;overflow:hidden;border-radius:50%;background:var(--alva-mint);transition:width .3s cubic-bezier(.2,1.5,.4,1),opacity .3s,margin-left .3s}
.sa-badge svg{width:11px;height:11px;stroke:#06251a;flex:none}
.sa-mod.live{border-color:rgba(10,208,127,.55);background:linear-gradient(180deg,rgba(10,208,127,.1),var(--paper))}
.sa-mod.live .sa-badge{width:17px;opacity:1;margin-left:.02rem}
.sa-mod.live .sa-mic{box-shadow:0 0 0 3px rgba(10,208,127,.2)}
.sa-mod.selected{border-color:var(--alva);box-shadow:0 0 0 2px rgba(16,124,65,.18)}
.sa-mod.pulse{animation:saPulse .5s}
@keyframes saPulse{0%{transform:scale(1)}40%{transform:scale(1.07)}100%{transform:scale(1)}}
.sa-more-note{margin:.2rem 0 0;font-size:.72rem;color:var(--ink-faint);font-family:'JetBrains Mono',monospace;letter-spacing:.04em}
.sa-left{display:flex;flex-direction:column;align-self:stretch}
/* TM Forum bridge — floats over the superapp -> whitelabel boundary, filling the gap */
.tmf-bridge{position:relative;z-index:5;max-width:840px;margin:-2rem auto -2rem;padding:0 var(--pad)}
@media(min-width:881px){#superapp{padding-bottom:3.2rem}#whitelabel{padding-top:5.4rem}}
.tmf-bridge-inner{position:relative;background:var(--paper);border:1px solid var(--line);border-radius:20px;box-shadow:0 30px 70px -34px rgba(8,40,26,.34);padding:1.5rem 2rem 1.7rem;text-align:center}
.tmf-bridge-inner::before{content:"";position:absolute;inset:0;border-radius:20px;padding:1px;background:linear-gradient(120deg,rgba(16,124,65,.4),rgba(8,255,160,.12),transparent 60%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
.tmf-bridge-eye{display:inline-block;font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--steel,#15904f);margin-bottom:.55rem}
.tmf-bridge p{font-size:1.02rem;line-height:1.62;color:var(--ink-soft);font-weight:300;margin:0;max-width:62ch;margin-inline:auto}
.tmf-bridge p b{color:var(--ink);font-weight:600}
.tmf-inline{height:.92em;width:auto;vertical-align:-.04em;margin:0 .12em}
@media(max-width:880px){.tmf-bridge{margin:-2.2rem auto -0.8rem}.tmf-bridge-inner{padding:1.3rem 1.4rem 1.4rem}.tmf-bridge p{font-size:.94rem}}

.sa-detail{display:grid;grid-template-columns:auto 1fr;gap:1rem;align-items:center;margin-top:0;max-height:0;opacity:0;overflow:hidden;border-radius:16px;transition:max-height .5s cubic-bezier(.2,.7,.2,1),opacity .35s,margin-top .35s,padding .35s}
.sa-detail.open{max-height:280px;opacity:1;margin-top:1rem;padding:1.05rem 1.2rem;background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow-sm)}
.sa-d-ic{width:48px;height:48px;flex:none;border-radius:13px;background:linear-gradient(135deg,var(--alva),var(--alva-deep));display:flex;align-items:center;justify-content:center}
.sa-d-ic img{width:26px;height:26px;filter:brightness(0) invert(1)}
.sa-detail.bump .sa-d-ic{animation:saSpin .5s}
@keyframes saSpin{0%{transform:rotate(-30deg) scale(.5);opacity:.3}100%{transform:none;opacity:1}}
.sa-d-cat{font-size:.64rem;text-transform:uppercase;letter-spacing:.13em;color:var(--alva)}
.sa-d-body h4{font-size:1.05rem;font-weight:600;margin:.12rem 0 .25rem}
.sa-d-body p{font-size:.9rem;color:var(--ink-soft);line-height:1.5}

.sa-right{position:sticky;top:88px;display:flex;flex-direction:column;gap:.8rem}
.sa-stage{position:relative;display:flex;flex-direction:column;align-items:center;gap:.8rem;background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:1.5rem 1.4rem 1.3rem;box-shadow:var(--shadow-sm)}
.sa-a{position:relative;width:min(228px,72%);margin:.3rem auto 0}
.sa-a-svg{width:100%;height:auto;display:block;overflow:visible}
.sa-a-bg{fill:rgba(24,27,36,.07)}
.sa-cell-svg{fill:transparent;transition:fill .4s ease,opacity .35s ease;transform-box:fill-box;transform-origin:center}
.sa-cell-svg.on.t-revenue{fill:#1ba35c}
.sa-cell-svg.on.t-savings{fill:#3a7fc0}
.sa-cell-svg.on.t-both{fill:#6f5bb0}
.sa-a-trace{fill:none;stroke:#15904f;stroke-width:1.7;stroke-linejoin:round;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;opacity:0}
.sa-a.complete .sa-a-trace{opacity:1;stroke-dashoffset:0;transition:stroke-dashoffset 1.7s ease,opacity .3s ease}
.sa-a-fill{fill:#107c41;y:110px;height:0;opacity:0;transition:y 1.5s cubic-bezier(.45,0,.2,1),height 1.5s cubic-bezier(.45,0,.2,1),opacity .35s ease}
.sa-a.filled .sa-a-fill{y:26px;height:84px;opacity:1}
.sa-a.filled .sa-a-trace{stroke:#0c6b40}
@media(prefers-reduced-motion:reduce){.sa-a-trace,.sa-a-fill{transition:none}}
.sa-cell-svg.ping{animation:saCellPing .6s ease}
@keyframes saCellPing{0%,100%{opacity:1}45%{opacity:.4}}
.sa-stage-cap{font-size:.74rem;color:var(--ink-faint);text-align:center}
.sa-stage-cap b{color:var(--ink);font-weight:700}
.sa-stage-cap .ilg-alva{height:.78em}
.sa-explain{position:relative}
.sa-explain .sa-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.7rem;text-align:center;color:var(--ink-faint);padding:1.4rem;border:1.5px dashed var(--line);border-radius:16px}
.sa-explain .sa-empty.hide{display:none}
.sa-empty-ic{width:42px;height:42px;border-radius:12px;border:1.5px dashed var(--line);display:flex;align-items:center;justify-content:center;font-size:1.4rem;font-weight:300;color:var(--ink-faint)}
.sa-empty p{font-size:.86rem;max-width:26ch;line-height:1.5}
.sa-ex{position:relative;background:var(--paper);border:1px solid var(--line);border-left-width:3px;border-radius:14px;padding:1.05rem 1.2rem;box-shadow:var(--shadow-sm)}
.sa-ex[hidden]{display:none}
.sa-ex.bump{animation:saPulse .45s}
.sa-ex-head{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap}
.sa-ex .sa-stud{width:15px;height:15px}
.sa-ex-head b{font-size:1.05rem;font-weight:600}
.sa-ex-cat{font-size:.6rem;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-faint)}
.sa-ex-type{display:inline-flex;align-items:center;gap:.4rem;margin:.6rem 0 .55rem;font:600 .64rem/1 'JetBrains Mono',monospace;text-transform:uppercase;letter-spacing:.08em;padding:.3rem .55rem;border-radius:100px}
.sa-ex-type::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.sa-ex-why{font-size:.92rem;line-height:1.55;color:var(--ink-soft)}
.sa-ex.t-revenue{border-left-color:#15904f}.sa-ex.t-revenue .sa-ex-type{color:#0d8a4f;background:rgba(13,138,79,.1)}.sa-ex.t-revenue .sa-stud{background:#15904f}
.sa-ex.t-savings{border-left-color:#3a7fc0}.sa-ex.t-savings .sa-ex-type{color:#2f6fb0;background:rgba(47,111,176,.1)}.sa-ex.t-savings .sa-stud{background:#3a7fc0}
.sa-ex.t-both{border-left-color:#7a5cc0}.sa-ex.t-both .sa-ex-type{color:#7a5cc0;background:rgba(122,92,192,.1)}.sa-ex.t-both .sa-stud{background:linear-gradient(135deg,#15904f,#7a5cc0)}
.sa-boxes-note{font-size:.84rem;line-height:1.55;color:var(--ink-soft);padding-top:.4rem}
/* Mobile: pin a compact A + explainer at the top so tapping any Module shows the result
   without scrolling. Full-width stacked panel; the module list scrolls beneath it. */
@media(max-width:880px){
  .sa-console{grid-template-columns:1fr;gap:.4rem}
  .sa-right{order:-1;position:sticky;top:54px;z-index:6;display:block;background:var(--bg);padding:.5rem 0 .65rem;margin-bottom:.2rem;border-bottom:1px solid var(--line);box-shadow:0 8px 14px -10px rgba(10,70,45,.18)}
  .sa-stage{flex-direction:row;justify-content:center;align-items:center;gap:.7rem;padding:.45rem .7rem;border-radius:14px;margin-bottom:.5rem}
  .sa-a{width:62px;margin:0;flex:none}
  .sa-stage-cap{font-size:.74rem;text-align:left}
  .sa-explain .sa-empty{padding:.75rem .9rem;min-height:0;font-size:.8rem}
  .sa-ex{padding:.65rem .9rem}
  .sa-ex-why{font-size:.84rem;line-height:1.45;overflow-wrap:break-word}
  .sa-boxes-note{display:none}
}
.sa-phone{margin:0 auto;width:min(290px,82vw);aspect-ratio:290/588;background:#0a2c1f;border-radius:36px;padding:9px;box-shadow:0 44px 90px -38px rgba(10,70,45,.55),inset 0 0 0 2px rgba(255,255,255,.06)}
.sa-screen{position:relative;width:100%;height:100%;border-radius:28px;overflow:hidden;background:radial-gradient(120% 80% at 50% 0,#114231,#06251a 70%);display:flex;flex-direction:column}
.sa-sb{display:flex;align-items:center;justify-content:space-between;padding:.7rem .95rem .35rem;color:rgba(255,255,255,.65);font-size:.62rem;font-family:'JetBrains Mono',monospace}
.sa-sb-brand{font-weight:600;color:#fff;font-family:'Sora',sans-serif;font-size:.72rem}
.sa-brick{position:relative;display:flex;align-items:center;gap:.5rem;padding:.42rem .55rem;border-radius:9px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);opacity:0;transform:translateY(18px) scale(.9);transition:opacity .4s,transform .45s cubic-bezier(.2,1.55,.4,1)}
.sa-brick.in{opacity:1;transform:none}
.sa-brick-studs{display:flex;gap:3px;flex:none}
.sa-brick-studs i{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.5)}
.sa-brick b{flex:1;color:#fff;font-size:.74rem;font-weight:600;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sa-brick-tag{flex:none;font:700 .64rem/1 'JetBrains Mono',monospace}
.sa-brick.t-revenue{border-left:3px solid #2ee08f}
.sa-brick.t-savings{border-left:3px solid #7fc4ff}
.sa-brick.t-both{border-left:3px solid #b69cff}
.sa-brick.t-revenue .sa-brick-tag{color:#2ee08f}
.sa-brick.t-savings .sa-brick-tag{color:#7fc4ff}
.sa-brick.t-both .sa-brick-tag{color:#b69cff}
.sa-adbar{display:flex;align-items:center;gap:.6rem;margin:0 .7rem .7rem;padding:.55rem .7rem;border-radius:14px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);opacity:0;transform:translateY(8px);transition:opacity .4s,transform .4s}
.sa-adbar.show{opacity:1;transform:none}
.sa-adbar.flash{animation:saFlash .6s}
@keyframes saFlash{0%,100%{background:rgba(255,255,255,.07)}40%{background:rgba(10,208,127,.18)}}
.sa-ad-tag{font-size:.5rem;font-family:'JetBrains Mono',monospace;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.55);border:1px solid rgba(255,255,255,.2);border-radius:5px;padding:.18rem .35rem;flex:none}
.sa-ad-rows{flex:1;display:flex;flex-direction:column;gap:.28rem}
.sa-ad-rows span{height:5px;border-radius:4px;background:rgba(255,255,255,.16)}
.sa-ad-rows span:first-child{width:80%}.sa-ad-rows span:last-child{width:55%}
.sa-ad-amt{font-size:.8rem;font-weight:700;color:var(--alva-mint);flex:none}
.sa-adbar.is-save .sa-ad-amt{color:#7fc4ff}
.sa-adbar.is-save.flash{animation:saFlashSave .6s}
@keyframes saFlashSave{0%,100%{background:rgba(255,255,255,.07)}40%{background:rgba(90,160,255,.18)}}

.sa-earn{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:1.2rem 1.3rem;box-shadow:var(--shadow-sm)}
.sa-earn-top{display:flex;align-items:center;justify-content:space-between;font-size:.78rem}
.sa-earn-top .mono{text-transform:uppercase;letter-spacing:.1em;color:var(--ink-faint);font-size:.7rem}
.sa-earn-top b{font-weight:600}
.sa-meter{height:7px;border-radius:6px;background:var(--bg-2);overflow:hidden;margin:.65rem 0 1rem}
.sa-meter i{display:block;height:100%;width:0;border-radius:6px;background:var(--grad);transition:width .6s cubic-bezier(.2,.7,.2,1)}
.sa-stats{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}
.sa-stat{display:flex;flex-direction:column;gap:.15rem;padding:.7rem .8rem;border-radius:13px;background:var(--bg-2)}
.sa-stat .mono{font-size:.6rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-faint)}
.sa-stat b{font-size:1.35rem;font-weight:700;letter-spacing:-.02em}
.sa-stat-save b{color:#2f6fb0}
.sa-d-type{display:inline-flex;align-items:center;gap:.4rem;margin-top:.55rem;font:600 .64rem/1 'JetBrains Mono',monospace;text-transform:uppercase;letter-spacing:.08em;padding:.3rem .55rem;border-radius:100px}
.sa-d-type::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.sa-d-type.t-revenue{color:#0d8a4f;background:rgba(13,138,79,.12)}
.sa-d-type.t-savings{color:#2f6fb0;background:rgba(47,111,176,.12)}
.sa-d-type.t-both{color:#7a5cc0;background:rgba(122,92,192,.12)}
.sa-earn-note{margin-top:.9rem;padding-top:.9rem;border-top:1px solid var(--line-2);font-size:.84rem;line-height:1.55;color:var(--ink-soft)}
.sa-tagline{text-align:center;font-size:clamp(1.4rem,3.4vw,2.2rem);font-weight:600;letter-spacing:-.02em;line-height:1.25;color:var(--ink);margin:0 auto clamp(2.6rem,6vw,4.2rem);max-width:24ch}
.sa-tagline .ilg-alva{height:.74em}
.sa-fly{position:fixed;z-index:60;pointer-events:none;border-radius:11px;background:linear-gradient(135deg,var(--alva),var(--alva-deep));display:flex;align-items:center;justify-content:center}
.sa-fly img{width:55%;height:55%;object-fit:contain;filter:brightness(0) invert(1)}
@media(prefers-reduced-motion:reduce){.sa-mod,.sa-slot-ic img,.sa-detail,.sa-meter i,.sa-adbar{transition:none}.sa-mod.pulse,.sa-slot.ring .sa-slot-ic,.sa-detail.bump .sa-d-ic,.sa-adbar.flash{animation:none}}

/* inline brand logos in current text color (mask); ALVA ADS uses the combo lockup */
.ilg{display:inline-block;background-color:currentColor;vertical-align:-.05em;margin:0 .03em;
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-position:center;mask-position:center}
.ilg-ads{-webkit-mask-image:url(../img/Group-26086934.svg);mask-image:url(../img/Group-26086934.svg);width:2.25em;height:.8em}
.ilg-alva{-webkit-mask-image:url(../img/Group-1.svg);mask-image:url(../img/Group-1.svg);width:2.21em;height:.8em}
.ilg-alvaads{-webkit-mask-image:url(../img/logo-alvaads.png);mask-image:url(../img/logo-alvaads.png);width:3.18em;height:.8em}

/* VIVA case-study video, blended into the section */
.cs-video{position:relative;width:100%;max-width:1000px;aspect-ratio:16/9;background:#0a0d15 url(../video/viva-poster.jpg) center/cover no-repeat;-webkit-mask:linear-gradient(to right,transparent,#000 7%,#000 93%,transparent),linear-gradient(to bottom,transparent,#000 8%,#000 92%,transparent);-webkit-mask-composite:source-in;mask:linear-gradient(to right,transparent,#000 7%,#000 93%,transparent),linear-gradient(to bottom,transparent,#000 8%,#000 92%,transparent);mask-composite:intersect}
.cs-video video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border:0;display:block}
.cs-ctrls{position:absolute;left:max(7%,1.4rem);bottom:max(8%,1.2rem);z-index:2;display:inline-flex;align-items:center;gap:.5rem}
.cs-sound,.cs-restart{display:inline-flex;align-items:center;justify-content:center;height:38px;border:1px solid rgba(255,255,255,.28);border-radius:100px;background:rgba(12,40,28,.55);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;font:500 .72rem/1 'Sora',sans-serif;letter-spacing:.01em;cursor:pointer;transition:background .2s,border-color .2s}
.cs-sound:hover,.cs-restart:hover{background:rgba(12,40,28,.82);border-color:rgba(255,255,255,.5)}
.cs-sound{gap:.5rem;padding:0 .85rem 0 .7rem}
.cs-restart{width:38px}
.cs-sound svg,.cs-restart svg{flex:none}
.cs-sound .cs-ic-on{display:none}
.cs-sound.is-on .cs-ic-mute{display:none}
.cs-sound.is-on .cs-ic-on{display:block}
.cs-sound.is-on .cs-sound-txt{display:none}
.cs-sound.is-on{padding:0;width:38px}

/* ===== VIVA case study — world-class branded showcase ===== */
#casestudy{--viva:#bce84a;--viva-deep:#8fc91f;position:relative;color:#fff;background:linear-gradient(to bottom,#0d2a1d 0%,rgba(13,42,29,0) 16%),radial-gradient(135% 95% at 50% -12%,#0d2a1d 0%,#08160f 55%,#050d08 100%)}
#casestudy .sec-num{-webkit-text-stroke:1px rgba(188,232,74,.24);color:transparent}
/* lime glow at VIVA top-right; bleeds UP across the boundary into the ADS section (casestudy paints after .adsec) */
.cs-glow{position:absolute;width:72vw;height:72vw;max-width:880px;max-height:880px;right:-14%;top:-30%;background:radial-gradient(circle,rgba(188,232,74,.2),rgba(188,232,74,.07) 42%,transparent 66%);pointer-events:none;z-index:0}
#casestudy .wrap{position:relative;z-index:1}
.cs-hero{display:grid;grid-template-columns:1fr 1.12fr;gap:clamp(2rem,4vw,3.6rem);align-items:center;margin-bottom:clamp(2.6rem,5vw,4.2rem)}
@media(max-width:900px){.cs-hero{grid-template-columns:1fr;gap:1.8rem}}
.cs-eyebrow{color:var(--viva)}
.cs-eyebrow::before{background:var(--viva)}
.cs-brandmark{height:clamp(38px,6vw,56px);width:auto;display:block;margin:.5rem 0 1.2rem}
#casestudy h2{color:#fff;font-size:clamp(2rem,4.6vw,3.2rem);font-weight:600;letter-spacing:-.03em;line-height:1.06;margin-bottom:1.1rem}
#casestudy h2 .ilg-alva{height:.72em}
#casestudy .cs-lead p{color:rgba(255,255,255,.78);font-weight:300;font-size:1.05rem;line-height:1.65;max-width:52ch;margin-bottom:1.5rem}
.cs-tag{display:inline-flex;align-items:center;gap:.7rem;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16);border-radius:100px;padding:.55rem 1.1rem;box-shadow:none}
.cs-tag .mono{font-size:.6rem;letter-spacing:.13em;text-transform:uppercase;color:rgba(255,255,255,.6)}
.cs-tag .cs-viva{height:20px;width:auto}
.cs-tag .cs-alva{height:16px;width:auto;filter:brightness(0) invert(1)}
.cs-show{margin:0;width:100%}
#casestudy .cs-video{max-width:100%;filter:drop-shadow(0 40px 80px rgba(0,0,0,.5))}
.cs-hero-stat{max-width:900px;margin:0 auto clamp(2.6rem,5vw,3.6rem);text-align:center}
.cs-stat-label{display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:.14em;color:var(--viva);margin-bottom:1.2rem}
.cs-bar{display:flex;align-items:center;gap:clamp(.8rem,2vw,1.4rem)}
.cs-bar-end{flex:none;text-align:left}
.cs-bar-end b{display:block;font-size:clamp(1.3rem,3vw,2rem);font-weight:700;letter-spacing:-.02em;line-height:1;color:#fff}
.cs-bar-end i{font-style:normal;font-size:.6rem;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,.5)}
.cs-bar-to{text-align:right}
.cs-bar-to b{color:var(--viva)}
.cs-bar-track{position:relative;flex:1;height:14px;border-radius:8px;background:rgba(255,255,255,.08);overflow:hidden;box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}
.cs-bar-fill{position:absolute;left:0;top:0;bottom:0;width:8%;border-radius:8px;background:linear-gradient(90deg,var(--viva-deep),var(--viva));box-shadow:0 0 20px rgba(188,232,74,.5);transition:width 1.4s cubic-bezier(.2,.7,.2,1)}
.cs-hero-stat.in .cs-bar-fill{width:100%}
.cs-hero-stat p{margin:1.3rem auto 0;color:rgba(255,255,255,.7);font-weight:300;font-size:1rem;line-height:1.6;max-width:56ch}
#casestudy .mx-grid{margin-top:0}
#casestudy .mx{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);box-shadow:none}
#casestudy .mx b{color:var(--viva)}
#casestudy .mx span{color:rgba(255,255,255,.66)}
#casestudy .mx .ilg-alva{height:.82em}
#casestudy .cs-note{color:rgba(255,255,255,.72)}
#casestudy .cs-note b{color:var(--viva)}
.cs-star{color:var(--viva)}
.cs-note-viva{height:.95em;width:auto;display:inline-block;vertical-align:-.1em}
@media(prefers-reduced-motion:reduce){.cs-bar-fill{transition:none}}

/* ===== Ad Exchange: condensed stats + placement carousel (ported from ADS, ALVA green) ===== */
.ads-stats{display:grid;grid-template-columns:repeat(6,1fr);gap:1px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.12);border-radius:16px;overflow:hidden;margin:clamp(2rem,4vw,3rem) 0}
.ads-stat{background:var(--alva-card);padding:1.2rem 1rem;text-align:center}
.ads-stat b{display:block;font-size:clamp(1.3rem,2.6vw,1.9rem);font-weight:700;letter-spacing:-.02em;line-height:1;margin-bottom:.4rem}
.ads-stat span{font-size:.72rem;color:rgba(255,255,255,.6);font-weight:300}
@media(max-width:760px){.ads-stats{grid-template-columns:repeat(3,1fr)}}
@media(max-width:420px){.ads-stats{grid-template-columns:repeat(2,1fr)}}
.ph-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1.4rem;flex-wrap:wrap}
.ph-head h3{color:#fff;font-size:clamp(1.5rem,3vw,2.1rem);font-weight:600;letter-spacing:-.02em;margin:.3rem 0 0}
.ph-hint{color:var(--alva-mint);font-size:.72rem;text-transform:uppercase;letter-spacing:.1em}
.ph-carousel{position:relative}
.ph-track{display:flex;gap:1.2rem;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;padding:3px 3px 1rem;scrollbar-width:none}
.ph-track::-webkit-scrollbar{display:none}
.ph-card{flex:0 0 calc((100% - 3*1.2rem)/4);scroll-snap-align:start;margin:0;background:var(--paper);border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:var(--shadow-sm);transition:box-shadow .35s ease,border-color .35s ease}
.ph-card:hover{box-shadow:var(--shadow);border-color:rgba(16,124,65,.4)}
.ph-media{position:relative;overflow:hidden;background:#fff;display:block}
.ph-media img{width:100%;height:auto;display:block}
.ph-hot{position:absolute;top:calc(var(--t)*1%);left:calc(var(--l)*1%);width:calc(var(--w)*1%);height:calc(var(--h)*1%);border-radius:9px;pointer-events:none;z-index:2;border:2px solid rgba(10,208,127,.92);animation:phHot 2.6s ease-in-out infinite}
.ph-card:nth-child(2n) .ph-hot{animation-delay:-.9s}
.ph-card:nth-child(3n) .ph-hot{animation-delay:-1.6s}
@keyframes phHot{0%,100%{box-shadow:0 0 0 1px rgba(10,208,127,.3),0 0 8px 1px rgba(10,208,127,.28),inset 0 0 8px rgba(10,208,127,.1);border-color:rgba(10,208,127,.55)}50%{box-shadow:0 0 0 2px rgba(10,208,127,.65),0 0 26px 6px rgba(10,208,127,.68),inset 0 0 16px rgba(10,208,127,.26);border-color:rgba(10,208,127,1)}}
@media(prefers-reduced-motion:reduce){.ph-hot{animation:none}}
.ph-card figcaption{padding:.95rem 1.1rem 1.15rem}
.ph-card h4{font-size:1.02rem;font-weight:600;margin:0 0 .3rem;color:var(--ink)}
.ph-card p{font-size:.86rem;color:var(--ink-soft);font-weight:300;line-height:1.5;margin:0}
.ph-nav{position:absolute;top:42%;transform:translateY(-50%);width:46px;height:46px;border-radius:50%;border:1px solid var(--line);background:var(--paper);color:var(--ink);display:grid;place-items:center;cursor:pointer;box-shadow:var(--shadow);z-index:5;transition:background .25s ease,opacity .25s ease}
.ph-nav:hover{background:var(--bg-2)}
.ph-prev{left:-16px}.ph-next{right:-16px}
.ph-nav[disabled]{opacity:.3;cursor:default;pointer-events:none}
@media(max-width:1000px){.ph-card{flex-basis:calc((100% - 2*1.2rem)/3)}}
@media(max-width:680px){
  .ph-track{gap:.9rem}
  /* small, consistent cards: full uncropped shot + caption fit one fold */
  .ph-card{flex:0 0 56vw;max-width:260px;min-width:196px}
  .ph-media img{width:100%;height:auto;display:block}
  .ph-nav{display:none}
  .ph-card figcaption{padding:.7rem .9rem .9rem}
  .ph-card h4{font-size:.92rem}
  .ph-card p{font-size:.78rem;line-height:1.4}
}
@media(max-width:480px){.ph-card{flex-basis:60vw}}
.ph-ctv{margin:1.2rem 0 0;display:grid;grid-template-columns:1.6fr 1fr;gap:0;background:var(--paper);border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:var(--shadow-sm);align-items:center}
.ph-ctv-media{position:relative;overflow:hidden;background:#0b0b0d}
.ph-ctv-media img{width:100%;height:auto;display:block}
.ph-ctv figcaption{padding:1.6rem 1.8rem}
.ph-ctv h4{font-size:1.2rem;font-weight:600;margin:0 0 .5rem;color:var(--ink)}
.ph-ctv p{font-size:.95rem;color:var(--ink-soft);font-weight:300;line-height:1.6;margin:0}
@media(max-width:760px){.ph-ctv{grid-template-columns:1fr}}
.ads-cta{display:flex;justify-content:center;margin-top:2.4rem}

/* ALVA ad-exchange console dashboard (condensed, 2-up) */
.dash-head{margin:clamp(2.4rem,5vw,3.4rem) 0 1.3rem}
.dash-head h3{color:#fff;font-size:clamp(1.5rem,3vw,2.1rem);font-weight:600;letter-spacing:-.02em;margin:.3rem 0 .5rem}
.dash-head p{color:rgba(255,255,255,.72);font-weight:300;font-size:1rem;line-height:1.6;max-width:60ch}
.dash-stack{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem}
@media(max-width:760px){.dash-stack{grid-template-columns:1fr}}
.dash-shot{margin:0;background:var(--paper);border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:var(--shadow)}
.dash-shot img{width:100%;display:block}
.dash-shot figcaption{padding:1rem 1.3rem 1.2rem;color:var(--ink-soft);font-size:.9rem;font-weight:300;line-height:1.55}
.dash-shot figcaption b{color:var(--ink);font-weight:600}

/* ===== Lead inquiry modal ===== */
.lead-modal{position:fixed;inset:0;z-index:200;display:none;align-items:flex-start;justify-content:center;padding:clamp(1rem,4vw,3rem) 1rem;overflow-y:auto;-webkit-overflow-scrolling:touch}
.lead-modal.open{display:flex}
.lead-backdrop{position:fixed;inset:0;background:rgba(6,21,15,.62);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:leadFade .3s ease}
@keyframes leadFade{from{opacity:0}to{opacity:1}}
.lead-dialog{position:relative;z-index:1;width:min(660px,100%);max-height:calc(100vh - 2rem);max-height:calc(100dvh - 2rem);overflow-y:auto;-webkit-overflow-scrolling:touch;background:var(--paper);border:1px solid var(--line);border-radius:24px;box-shadow:0 50px 100px -30px rgba(6,30,20,.5);padding:clamp(1.6rem,3.5vw,2.6rem);animation:leadPop .35s cubic-bezier(.2,.8,.3,1)}
@keyframes leadPop{from{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:none}}
.lead-x{position:absolute;top:1rem;right:1rem;width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:var(--bg-2);color:var(--ink-soft);display:grid;place-items:center;cursor:pointer;transition:background .2s,color .2s}
.lead-x:hover{background:var(--line);color:var(--ink)}
.lead-head{max-width:46ch;margin-bottom:1.5rem}
.lead-head .eyebrow{margin-bottom:.6rem}
.lead-head h3{font-size:clamp(1.4rem,3vw,1.95rem);font-weight:600;letter-spacing:-.02em;line-height:1.12;margin-bottom:.6rem}
.lead-head p{color:var(--ink-soft);font-weight:300;font-size:.98rem;line-height:1.6}
.lead-form{display:flex;flex-direction:column;gap:.9rem}
.lf-row{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}
@media(max-width:560px){.lf-row{grid-template-columns:1fr}}
.lf-field{display:flex;flex-direction:column;gap:.35rem}
.lf-field>span{font-size:.78rem;font-weight:500;color:var(--ink-soft)}
.lf-field>span i{color:#c0392b;font-style:normal}
.lf-field input,.lf-field select,.lf-field textarea{width:100%;font:inherit;font-size:.95rem;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:.7rem .85rem;transition:border-color .2s,box-shadow .2s}
.lf-field input:focus,.lf-field select:focus,.lf-field textarea:focus{outline:none;border-color:var(--steel);box-shadow:0 0 0 3px rgba(21,144,79,.14)}
.lf-field textarea{resize:vertical;min-height:72px}
.lf-field select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%238590A3' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .8rem center;padding-right:2.2rem}
.lf-full{margin-top:.1rem}
.lf-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.lf-foot{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-top:.6rem}
.lf-note{font-size:.72rem;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.08em}
.lf-submit[disabled]{opacity:.6;pointer-events:none}
.lead-done{text-align:center;padding:1.5rem .5rem 1rem}
.lead-done .ld-check{display:inline-flex;width:64px;height:64px;border-radius:50%;background:rgba(21,144,79,.12);color:var(--steel);align-items:center;justify-content:center;margin-bottom:1rem}
.lead-done h3{font-size:1.5rem;font-weight:600;letter-spacing:-.02em;margin-bottom:.6rem}
.lead-done p{color:var(--ink-soft);font-weight:300;max-width:42ch;margin:0 auto 1.5rem;line-height:1.6}
body.lead-lock{overflow:hidden}
/* ---- mobile-optimized lead form ---- */
@media(max-width:560px){
  /* the CARD scrolls internally (capped to the real viewport height) so its
     white background always covers every field — no fields floating on the dark
     backdrop. Submit is reached by scrolling inside the card; safe-area padding
     keeps it clear of the home indicator. */
  .lead-modal{padding:.7rem;align-items:center}
  .lead-dialog{width:100%;max-height:calc(100vh - 1.4rem);max-height:calc(100dvh - 1.4rem);overflow-y:auto;-webkit-overflow-scrolling:touch;border-radius:20px;padding:1.5rem 1.2rem calc(1.5rem + env(safe-area-inset-bottom))}
  .lead-x{top:.8rem;right:.8rem}
  .lead-head{margin-bottom:1.1rem}
  .lead-head h3{font-size:1.4rem}
  .lead-head p{font-size:.9rem}
  .lead-form{gap:.8rem}
  /* 16px inputs stop iOS from auto-zooming on focus; taller = easier to tap */
  .lf-field input,.lf-field select,.lf-field textarea{font-size:16px;padding:.8rem .9rem;border-radius:11px}
  .lf-field select{min-height:48px}
  .lf-field textarea{min-height:64px}
  .lf-foot{flex-direction:column-reverse;align-items:stretch;gap:.7rem;margin-top:.7rem}
  .lf-submit{width:100%;justify-content:center;padding:.95rem 1.2rem;font-size:1rem}
  .lf-note{text-align:center}
}
/* thank-you confirmation page */
.thanks{min-height:78vh;display:flex;align-items:center;justify-content:center;padding:clamp(5rem,12vw,9rem) var(--pad) clamp(3rem,7vw,5rem);position:relative;z-index:2}
.thanks-card{max-width:600px;text-align:center;background:var(--paper);border:1px solid var(--line);border-radius:28px;box-shadow:0 50px 100px -40px rgba(6,30,20,.4);padding:clamp(2rem,5vw,3.4rem);animation:leadPop .5s cubic-bezier(.2,.8,.3,1)}
.thanks-check{display:inline-flex;width:78px;height:78px;border-radius:50%;align-items:center;justify-content:center;color:#fff;background:linear-gradient(135deg,#15904f,#08c469);box-shadow:0 14px 30px -10px rgba(16,124,65,.6);margin-bottom:1.3rem}
.thanks-card .eyebrow{display:block;margin-bottom:.7rem}
.thanks-card h1{font-size:clamp(1.7rem,4vw,2.4rem);font-weight:600;letter-spacing:-.02em;line-height:1.1;margin:0 0 .9rem}
.thanks-card>p{color:var(--ink-soft);font-weight:300;line-height:1.65;max-width:48ch;margin:0 auto 1.8rem}
.thanks-next{display:flex;gap:.8rem;justify-content:center;flex-wrap:wrap;margin-bottom:2rem}
.thanks-step{flex:1 1 150px;max-width:175px;background:var(--bg);border:1px solid var(--line);border-radius:14px;padding:1rem .8rem;text-align:center}
.thanks-step b{display:inline-flex;width:26px;height:26px;border-radius:50%;align-items:center;justify-content:center;background:linear-gradient(135deg,#107c41,#08ffa0);color:#04150c;font-size:.82rem;font-weight:700;margin-bottom:.5rem}
.thanks-step span{display:block;font-size:.8rem;color:var(--ink-soft);font-weight:400;line-height:1.4}
.thanks-foot{margin:1.4rem 0 0;font-size:.78rem;color:var(--ink-faint)}
.thanks-foot a{color:var(--steel,#15904f);font-weight:500}
@media(max-width:560px){.thanks-next{flex-direction:column;align-items:stretch}.thanks-step{max-width:none}}
