:root{
    --void:#05060d;
    --panel:#0a0d1f;
    --panel-2:#0d1128;
    --line: rgba(140,150,220,0.14);
    --line-strong: rgba(160,170,255,0.28);
    --violet:#6d5ef5;
    --indigo:#4b6fff;
    --cyan:#38e8e0;
    --text:#edeffc;
    --muted:#a8accb;
    --muted-2:#747a9f;
    --glass: rgba(16,19,40,0.55);
    --font-display:'Manrope',sans-serif;
    --font-body:'Inter',sans-serif;
  }

  *{margin:0;padding:0;box-sizing:border-box;}

  html{scroll-behavior:smooth;}

  body{
    background:var(--void);
    color:var(--text);
    font-family:var(--font-body);
    font-weight:400;
    overflow-x:hidden;
    -webkit-font-smoothing:antialiased;
  }

  ::selection{ background:var(--violet); color:#fff; }

  a{color:inherit; text-decoration:none;}

  .mono{font-family:var(--font-body); letter-spacing:0.02em;}

  .display{font-family:var(--font-display);}

  h1,
  h2,
  h3,
  h4,
  .hero-title,
  .section-head h2,
  .faq-panel-copy h2,
  .cta-band h2,
  .story-step h3{
    font-family:var(--font-display);
  }

  img, svg{display:block;}

  /* visually hidden but readable by screen readers / SEO heading hierarchy */
  .sr-only{
    position:absolute; width:1px; height:1px; padding:0; margin:-1px;
    overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
  }

  /* ---------- ambient background layers ---------- */
  .aurora{
    position:fixed; inset:0; z-index:0; pointer-events:none; overflow:hidden;
  }
  .aurora::before,
  .aurora::after{
    content:"";
    position:absolute;
    width:1100px; height:1100px;
    border-radius:50%;
    filter:blur(120px);
    opacity:0.35;
  }
  .aurora::before{
    top:-420px; left:-260px;
    background:radial-gradient(circle at 30% 30%, var(--violet), transparent 60%);
  }
  .aurora::after{
    top:-300px; right:-380px;
    background:radial-gradient(circle at 60% 40%, var(--indigo), transparent 60%);
    opacity:0.28;
  }
  .grain{
    position:fixed; inset:0; z-index:1; pointer-events:none;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.035'/%3E%3C/svg%3E");
    opacity:0.5;
  }
  .grid-overlay{
    position:fixed; inset:0; z-index:0; pointer-events:none;
    background-image:
      linear-gradient(to right, rgba(140,150,220,0.045) 1px, transparent 1px),
      linear-gradient(to bottom, rgba(140,150,220,0.045) 1px, transparent 1px);
    background-size:64px 64px;
    mask-image:radial-gradient(ellipse 80% 60% at 50% 0%, black 40%, transparent 90%);
  }

  section{ position:relative; z-index:2; }

  /* ---------- container ---------- */
  .wrap{ max-width:1280px; margin:0 auto; padding:0 40px; }

  /* ---------- nav ---------- */
  header{
    position:sticky; top:0; z-index:50;
    background:rgba(5,6,13,0.3);
    backdrop-filter:blur(16px);
    border-bottom:1px solid var(--line);
  }
  nav{
    display:flex; align-items:center; justify-content:space-between;
    max-width:1280px; margin:0 auto; padding:20px 40px;
  }
  .brand{ display:flex; align-items:center; gap:12px; color:inherit; text-decoration:none; cursor:pointer; }
  .brand-mark{
    width:36px; height:36px;
    display:block;
    object-fit:contain;
  }
  .brand-name{ font-family:var(--font-display); font-weight:700; font-size:19px; line-height:24px; letter-spacing:-0.01em; }

  .nav-links{ display:flex; align-items:center; gap:38px; }
  .nav-links a{
    font-family:var(--font-body); font-size:14px; line-height:20px; color:var(--muted); font-weight:500;
    transition:color .2s ease;
  }
  .nav-links a:hover{ color:var(--text); }

  .nav-actions{ display:flex; align-items:center; gap:20px; }
  .btn-ghost{ font-family:var(--font-body); font-size:14px; line-height:20px; color:var(--muted); font-weight:500; }
  .btn-ghost:hover{ color:var(--text); }

  .btn-primary{
    display:inline-flex; align-items:center; gap:8px;
    background:linear-gradient(135deg, var(--violet), var(--indigo));
    color:#fff; font-family:var(--font-body); font-weight:600; font-size:15px; line-height:20px;
    padding:11px 20px; border-radius:10px;
    box-shadow:0 0 0 1px rgba(255,255,255,0.06) inset, 0 8px 24px rgba(109,94,245,0.35);
    transition:transform .2s ease, box-shadow .2s ease;
    border:none; cursor:pointer;
  }
  .btn-primary:hover{ transform:translateY(-1px); box-shadow:0 0 0 1px rgba(255,255,255,0.08) inset, 0 12px 30px rgba(109,94,245,0.5); }

  .btn-secondary{
    display:inline-flex; align-items:center; gap:10px;
    background:var(--glass);
    border:1px solid var(--line-strong);
    color:var(--text); font-family:var(--font-body); font-weight:600; font-size:15px; line-height:20px;
    padding:11px 20px; border-radius:10px;
    backdrop-filter:blur(10px);
    transition:border-color .2s ease, background .2s ease;
  }
  .btn-secondary:hover{ border-color:rgba(160,170,255,0.5); background:rgba(20,24,50,0.65); }

  /* ---------- hero ---------- */
  .hero{
    padding:53px 0 80px;
    position:relative;
  }
  .hero-grid{
    display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:40px; align-items:center;
  }
  .eyebrow{
    display:inline-flex; align-items:center; gap:9px;
    border:1px solid rgba(109,94,245,0.4);
    background:rgba(109,94,245,0.08);
    color:#b6acff;
    font-family:var(--font-body); font-size:12px; line-height:16px; font-weight:600; letter-spacing:0.1em; text-transform:uppercase;
    padding:8px 14px; border-radius:999px;
    margin-bottom:28px;
  }
  .eyebrow .dot{
    width:6px; height:6px; border-radius:50%; background:var(--cyan);
    box-shadow:0 0 10px var(--cyan);
    animation:pulse-dot 1.8s infinite ease-in-out;
  }
  @keyframes pulse-dot{ 0%,100%{opacity:1;} 50%{opacity:0.3;} }

  h1.hero-title{
    font-family:var(--font-display);
    font-size:clamp(48px, 5vw, 72px);
    line-height:1.02;
    font-weight:700;
    letter-spacing:-0.035em;
  }
  h1.hero-title .grad{
    background:linear-gradient(100deg, #d9d3ff, var(--violet) 45%, var(--indigo) 75%, var(--cyan));
    -webkit-background-clip:text; background-clip:text; color:transparent;
  }

  .hero-sub{
    margin-top:26px; font-family:var(--font-body); font-size:18px; line-height:28px; font-weight:400; letter-spacing:-0.01em; color:var(--muted);
    max-width:620px;
  }
  .hero-sub .desktop-break{ display:block; }

  .hero-ctas{ display:flex; align-items:center; gap:16px; margin-top:40px; flex-wrap:wrap; }
  .hero-ctas .btn-primary{ padding:15px 26px; font-size:16px; line-height:20px; }
  .hero-ctas .btn-secondary{ padding:15px 24px; font-size:16px; line-height:20px; }
  .hero-ctas .btn-secondary svg{ width:18px; height:18px; flex:0 0 auto; }

  .hero-copy{
    min-width:0;
    width:100%;
    max-width:680px;
    justify-self:center;
    align-self:center;
    will-change:transform,opacity;
  }
  .hero-orb-slot{
    z-index:2;
  }
  .hero-orb{
    --orb-shift:0%;
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    z-index:2;
    opacity:1;
    transform-origin:50% 50%;
    will-change:transform;
  }
  .hero-orb.is-flight-orb{
    position:fixed;
    inset:auto;
    left:0;
    top:0;
    z-index:1;
    margin:0;
    pointer-events:none;
    transform-origin:0 0;
    backface-visibility:hidden;
    -webkit-backface-visibility:hidden;
    will-change:transform;
  }
  .hero-orb.is-flight-orb .orb-video-wrap,
  .hero-orb.is-flight-orb .orb-video{
    backface-visibility:hidden;
    -webkit-backface-visibility:hidden;
  }

  /* ---------- orb visual (video, alpha background) ---------- */
  .orb-stage{
    position:relative; height:640px;
    display:flex; align-items:center; justify-content:center;
    width:100%;
    justify-self:center;
    align-self:center;
    overflow:visible;
  }
  .orb-glow{
    position:absolute;
    left:50%;
    top:50%;
    translate:-50% -50%;
    width:530px; height:530px; border-radius:50%;
    background:radial-gradient(circle, rgba(75,111,255,1) 0%, rgba(75,111,255,0) 60%);
    filter:blur(34px);
    animation:breathe 5s ease-in-out infinite;
  }
  @keyframes breathe{ 0%,100%{ transform:scale(1); } 50%{ transform:scale(1.08); } }

  .orb-video-wrap{
    position:relative; z-index:2;
    width:640px; height:640px;
    max-width:100%; max-height:100%;
  }
  .orb-video{
    position:absolute; inset:0;
    width:100%; height:100%;
    object-fit:contain;
    display:block;
    opacity:1;
    mix-blend-mode:screen;
  }
  @media (min-width:981px){
    .hero-orb{ --orb-shift:0%; }
    .hero-orb .orb-video-wrap{
      transform:translateX(var(--orb-shift)) scale(1.5);
      transform-origin:center;
    }
    .hero-orb .orb-glow{ width:795px; height:795px; }
  }

  /* ---------- section headers ---------- */
  .section-pad {
    padding-top: 0;
    padding-right: 0;
    padding-bottom: 80px;
    padding-left: 0;
  }
  .section-head{ max-width:640px; margin-bottom:64px; }
  .kicker{
    display:flex; align-items:center; gap:10px;
    font-family:var(--font-body);
    font-size:12px; line-height:16px; font-weight:600; color:var(--cyan); letter-spacing:0.14em; text-transform:uppercase;
    margin-bottom:20px;
  }
  .kicker::before{ content:""; width:22px; height:1px; background:var(--cyan); }
  .section-head h2{
    font-family:var(--font-display); font-weight:700;
    font-size:clamp(36px, 3.5vw, 52px); line-height:1.08; letter-spacing:-0.03em;
  }
  .section-head p{ margin-top:20px; font-family:var(--font-body); font-size:18px; line-height:28px; font-weight:400; letter-spacing:-0.01em; color:var(--muted); }
  .proof-head h2{ font-size:clamp(40px, 4vw, 56px); }

  /* ---------- capability pillars ---------- */
  #capabilities{
    isolation:isolate;
    overflow:hidden;
  }
  #capabilities::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:-2;
    background-image:
      linear-gradient(to right, rgba(140,150,220,.04) 1px, transparent 1px),
      linear-gradient(to bottom, rgba(140,150,220,.04) 1px, transparent 1px);
    background-size:64px 64px;
    mask-image:linear-gradient(to bottom, transparent, #000 12%, #000 90%, transparent);
  }
  #capabilities::after{
    content:"";
    position:absolute;
    z-index:-1;
    width:820px;
    height:560px;
    left:-25%;
    top:15%;
    background:radial-gradient(circle, rgba(109,94,245,.098), rgba(75,111,255,.042) 44%, transparent 71%);
    filter:blur(42px);
    pointer-events:none;
  }
  #capabilities .section-head{
    max-width:620px;
    margin-bottom:0;
    position:relative;
    z-index:3;
  }
  #capabilities .wrap{ max-width:1280px; }
  .cap-ctas{
    margin-top:32px;
  }
  .cap-grid{
    position:relative;
    isolation:isolate;
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:22px;
    align-items:start;
    margin-top:-40px;
  }
  .cap-grid::before{
    content:"";
    position:absolute;
    z-index:0;
    left:7%;
    right:7%;
    top:46%;
    height:1px;
    pointer-events:none;
    background:linear-gradient(90deg,transparent,rgba(56,232,224,.25) 18%,rgba(75,111,255,.26) 55%,rgba(163,76,255,.24) 82%,transparent);
    box-shadow:0 0 12px rgba(75,124,255,.16);
    transform:rotate(-9deg);
    transform-origin:center;
    opacity:.6;
  }
  .cap-card{
    --pillar-accent:56,232,224;
    position:relative;
    isolation:isolate;
    overflow:hidden;
    min-height:0;
    height:380px;
    padding:8px;
    display:flex;
    flex-direction:column;
    color:inherit;
    cursor:pointer;
    background:linear-gradient(158deg,rgba(16,20,43,.97),rgba(7,9,22,.98));
    border:1px solid rgba(151,164,218,.2);
    border-radius:24px;
    box-shadow:0 22px 58px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.03);
    transition:border-color .4s ease,transform .4s cubic-bezier(.2,.75,.2,1),box-shadow .4s ease;
  }
  .cap-card:nth-child(1){ margin-top:144px; }
  .cap-card:nth-child(2){
    --pillar-accent:109,94,245;
    margin-top:96px;
  }
  .cap-card:nth-child(3){
    --pillar-accent:125,90,255;
    margin-top:48px;
  }
  .cap-card:nth-child(4){ --pillar-accent:75,111,255; }
  .cap-card::before{
    content:"";
    position:absolute;
    inset:-1px;
    z-index:2;
    padding:1px;
    border-radius:inherit;
    pointer-events:none;
    background:linear-gradient(125deg,rgba(var(--pillar-accent),.76),rgba(75,111,255,.34) 54%,rgba(157,76,255,.55));
    -webkit-mask:
      linear-gradient(#000 0 0) content-box,
      linear-gradient(#000 0 0);
    -webkit-mask-composite:xor;
    mask-composite:exclude;
    opacity:0;
    transition:opacity .3s ease;
  }
  .cap-card::after{
    content:"";
    position:absolute;
    inset:0;
    z-index:0;
    border-radius:inherit;
    pointer-events:none;
    background:
      radial-gradient(190px 120px at 7% 0%,rgba(86,214,163,.22),rgba(56,232,224,.075) 45%,transparent 74%),
      radial-gradient(230px 150px at 92% 104%,rgba(109,94,245,.09),transparent 72%);
    box-shadow:
      inset 1px 1px 0 rgba(151,255,220,.2),
      inset 0 16px 32px rgba(86,214,163,.025);
    opacity:.72;
    transform:scale(1);
    transform-origin:top left;
    transition:opacity .4s ease,transform .5s cubic-bezier(.2,.75,.2,1);
  }
  .cap-card > *{
    position:relative;
    z-index:1;
  }
  .cap-card:hover,
  .cap-card:focus-visible{
    border-color:transparent;
    box-shadow:
      0 30px 70px rgba(0,0,0,.32),
      0 0 16px rgba(var(--pillar-accent),.16),
      0 0 40px rgba(var(--pillar-accent),.1);
    transform:translateY(-7px);
  }
  .cap-card:focus-visible{
    outline:2px solid rgba(56,232,224,.75);
    outline-offset:4px;
  }
  .cap-card:hover::before,
  .cap-card:focus-visible::before{ opacity:1; }
  .cap-card:hover::after,
  .cap-card:focus-visible::after{
    opacity:1;
    transform:scale(1.025);
  }
  .cap-visual{
    position:relative;
    height:190px;
    flex:0 0 190px;
    overflow:hidden;
    border:1px solid rgba(142,157,215,.13);
    border-radius:17px;
    background:
      radial-gradient(circle at 50% 48%,rgba(var(--pillar-accent),.115),transparent 42%),
      linear-gradient(145deg,#070918,#04050d);
  }
  .cap-visual::before{
    content:"";
    position:absolute;
    inset:0;
    background-image:
      linear-gradient(rgba(137,153,213,.045) 1px,transparent 1px),
      linear-gradient(90deg,rgba(137,153,213,.045) 1px,transparent 1px);
    background-size:27px 27px;
    mask-image:linear-gradient(to bottom,#000,transparent 88%);
  }
  .cap-visual::after{
    content:"";
    position:absolute;
    width:242px;
    height:242px;
    left:50%;
    top:50%;
    border:1px solid rgba(var(--pillar-accent),.1);
    border-radius:50%;
    box-shadow:0 0 38px rgba(var(--pillar-accent),.08),inset 0 0 26px rgba(var(--pillar-accent),.055);
    transform:translate(-50%,-50%);
    transition:transform .55s ease,opacity .55s ease;
  }
  .cap-card:hover .cap-visual::after,
  .cap-card:focus-visible .cap-visual::after{ transform:translate(-50%,-50%) scale(1.06); opacity:1; }
  .cap-copy{
    flex:1;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:flex-start;
    width:100%;
    margin-top:-18px;
    text-align:center;
    padding:18px 16px 14px;
  }
  .cap-number{
    color:#56d6a3;
    font-family:var(--font-body);
    font-size:11px;
    line-height:16px;
    font-weight:600;
    letter-spacing:.14em;
    text-transform:uppercase;
    margin-bottom:10px;
  }
  .cap-copy h3{
    min-height:0;
    font-family:var(--font-display);
    font-size:21px;
    line-height:28px;
    font-weight:700;
    letter-spacing:-.02em;
  }
  .cap-copy > p{
    margin-top:6px;
    color:#9da3c1;
    font-family:var(--font-body);
    font-size:15px;
    line-height:23px;
    font-weight:400;
    letter-spacing:-.005em;
    padding-right:0;
  }
  /* voice pillar visual */
  .pillar-orb{
    position:absolute;
    left:50%;
    top:43%;
    width:104px;
    height:104px;
    transform:translate(-50%,-50%);
    border:1px solid rgba(56,232,224,.34);
    border-radius:50%;
    background:radial-gradient(circle at 39% 36%,#f2ffff 0 2%,rgba(56,232,224,.72) 4%,rgba(75,111,255,.34) 19%,rgba(109,94,245,.2) 42%,rgba(8,10,25,.2) 68%);
    box-shadow:0 0 24px rgba(56,232,224,.2),0 0 58px rgba(75,111,255,.2),inset 0 0 22px rgba(109,94,245,.3);
    transition:transform .55s cubic-bezier(.2,.8,.2,1),box-shadow .55s ease;
  }
  .pillar-orb::before,.pillar-orb::after{
    content:"";
    position:absolute;
    border:1px solid rgba(56,232,224,.15);
    border-radius:50%;
  }
  .pillar-orb::before{ inset:-16px; }
  .pillar-orb::after{ inset:-31px; border-color:rgba(109,94,245,.12); }
  .pillar-wave{
    position:absolute;
    inset:0;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:4px;
  }
  .pillar-wave i{
    width:2px;
    height:9px;
    border-radius:999px;
    background:#ecffff;
    box-shadow:0 0 7px var(--cyan);
    animation:cap-wave 1.1s ease-in-out infinite;
  }
  .pillar-wave i:nth-child(2),.pillar-wave i:nth-child(6){ animation-delay:-.18s; }
  .pillar-wave i:nth-child(3),.pillar-wave i:nth-child(5){ animation-delay:-.36s; }
  .pillar-wave i:nth-child(4){ animation-delay:-.54s; }
  @keyframes cap-wave{ 0%,100%{height:8px;opacity:.55} 50%{height:27px;opacity:1} }
  .cap-live-call,.cap-language-pill{
    position:absolute;
    display:flex;
    align-items:center;
    gap:8px;
    border:1px solid rgba(142,157,215,.18);
    background:rgba(13,17,38,.78);
    backdrop-filter:blur(12px);
    box-shadow:0 14px 30px rgba(0,0,0,.24);
    transition:transform .5s ease,border-color .4s ease;
  }
  .cap-live-call{
    left:20px;
    bottom:19px;
    padding:11px 13px;
    border-radius:13px;
  }
  .cap-live-call::before{ content:""; width:6px;height:6px;border-radius:50%;background:var(--cyan);box-shadow:0 0 9px var(--cyan); }
  .cap-live-call strong{ color:#dfe8f8;font-size:9px;font-weight:600; }
  .cap-language-pill{
    right:18px;
    top:20px;
    padding:9px 11px;
    border-radius:12px;
    color:#aeb6d2;
    font-size:9px;
    font-weight:600;
  }
  .cap-card:hover .pillar-orb{ transform:translate(-50%,-53%) scale(1.06);box-shadow:0 0 30px rgba(56,232,224,.28),0 0 72px rgba(75,111,255,.25),inset 0 0 25px rgba(109,94,245,.35); }
  .cap-card:hover .cap-live-call{ transform:translate(3px,-4px);border-color:rgba(56,232,224,.25); }
  .cap-card:hover .cap-language-pill{ transform:translate(-2px,3px); }

  /* conversion pillar visual */
  .booking-panel,.qualify-panel{
    position:absolute;
    border:1px solid rgba(151,163,214,.2);
    background:linear-gradient(145deg,rgba(24,27,58,.92),rgba(10,12,29,.95));
    box-shadow:0 18px 38px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.03);
    transition:transform .55s cubic-bezier(.2,.8,.2,1),border-color .4s ease;
  }
  .booking-panel{
    left:23px;
    top:34px;
    width:205px;
    height:172px;
    padding:17px;
    border-radius:17px;
    transform:rotate(-2deg);
  }
  .mini-label{ color:#727b9e;font-size:8px;font-weight:600;letter-spacing:.1em;text-transform:uppercase; }
  .mini-value{ margin-top:5px;color:#eef0fb;font-size:11px;font-weight:600; }
  .calendar-days{ display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:18px; }
  .calendar-days i{ display:block;height:18px;border:1px solid rgba(133,147,199,.12);border-radius:5px;background:rgba(255,255,255,.018); }
  .calendar-days i:nth-child(6){ border-color:rgba(56,232,224,.45);background:rgba(56,232,224,.12);box-shadow:0 0 13px rgba(56,232,224,.14); }
  .confirm-pill{ display:inline-flex;align-items:center;gap:5px;margin-top:13px;padding:5px 8px;border:1px solid rgba(56,232,224,.2);border-radius:999px;color:#8aeae6;background:rgba(56,232,224,.055);font-size:8px;font-weight:600; }
  .confirm-pill::before{ content:"✓";font-size:8px; }
  .qualify-panel{
    right:18px;
    bottom:25px;
    width:151px;
    height:106px;
    padding:15px;
    border-radius:15px;
  }
  .score-row{ display:flex;align-items:flex-end;justify-content:space-between;margin-top:11px; }
  .score-row strong{ color:#f2efff;font-size:29px;line-height:1;font-weight:600; }
  .score-row span{ color:#9c92ff;font-size:8px;font-weight:600;text-transform:uppercase; }
  .score-line{ height:3px;margin-top:12px;border-radius:3px;background:linear-gradient(90deg,var(--violet) 0 86%,rgba(135,146,198,.15) 86%);box-shadow:0 0 10px rgba(109,94,245,.22); }
  .cap-card:hover .booking-panel{ transform:translate(-3px,-5px) rotate(-3.5deg);border-color:rgba(56,232,224,.24); }
  .cap-card:hover .qualify-panel{ transform:translate(4px,-5px);border-color:rgba(109,94,245,.34); }

  /* optimization pillar visual */
  .analytics-panel,.sync-panel{
    position:absolute;
    border:1px solid rgba(143,157,211,.19);
    background:linear-gradient(145deg,rgba(21,25,54,.91),rgba(9,12,29,.95));
    box-shadow:0 17px 36px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.03);
    transition:transform .55s cubic-bezier(.2,.8,.2,1),border-color .4s ease;
  }
  .analytics-panel{
    left:21px;
    right:21px;
    top:27px;
    height:151px;
    padding:17px;
    border-radius:17px;
  }
  .chart-bars{ height:70px;display:flex;align-items:flex-end;gap:7px;margin-top:13px;padding-top:8px;border-bottom:1px solid rgba(141,155,207,.1); }
  .chart-bars i{ flex:1;min-width:8px;border-radius:4px 4px 1px 1px;background:linear-gradient(to top,rgba(75,111,255,.22),rgba(56,232,224,.8));box-shadow:0 0 10px rgba(56,232,224,.08); }
  .chart-bars i:nth-child(1){height:32%}.chart-bars i:nth-child(2){height:48%}.chart-bars i:nth-child(3){height:41%}.chart-bars i:nth-child(4){height:69%}.chart-bars i:nth-child(5){height:58%}.chart-bars i:nth-child(6){height:86%}.chart-bars i:nth-child(7){height:76%}
  .sync-panel{
    left:39px;
    right:39px;
    bottom:24px;
    height:77px;
    padding:14px 15px;
    border-radius:14px;
    display:flex;
    align-items:center;
    justify-content:space-between;
  }
  .sync-node{ width:35px;height:35px;display:grid;place-items:center;border:1px solid rgba(75,111,255,.28);border-radius:10px;color:#aeb8dc;background:rgba(75,111,255,.08);font-size:8px;font-weight:600; }
  .sync-flow{ position:relative;flex:1;height:1px;margin:0 10px;background:linear-gradient(90deg,var(--indigo),var(--cyan));opacity:.7; }
  .sync-flow::after{ content:"";position:absolute;right:-1px;top:-3px;width:6px;height:6px;border-radius:50%;background:var(--cyan);box-shadow:0 0 9px var(--cyan); }
  .cap-card:hover .analytics-panel{ transform:translateY(-5px);border-color:rgba(75,111,255,.32); }
  .cap-card:hover .sync-panel{ transform:translateY(4px);border-color:rgba(56,232,224,.25); }

  /* glossy capability icons */
  .cap-icon-stage{
    position:absolute;
    inset:10px;
    display:grid;
    place-items:center;
  }
  .cap-icon-stage::before{
    content:"";
    position:absolute;
    width:205px;
    height:205px;
    border:1px solid rgba(var(--pillar-accent),.105);
    border-radius:50%;
    box-shadow:0 0 44px rgba(var(--pillar-accent),.095),inset 0 0 28px rgba(var(--pillar-accent),.052);
    transition:transform .6s ease,opacity .6s ease;
  }
  .cap-icon-stage::after{
    content:"";
    position:absolute;
    width:148px;
    height:148px;
    border:1px solid rgba(109,94,245,.085);
    border-radius:50%;
    transform:rotate(32deg) scaleY(.56);
    transition:transform .6s ease;
  }
  .cap-pillar-icon{
    position:relative;
    z-index:2;
    width:64%;
    height:64%;
    object-fit:contain;
    mix-blend-mode:normal;
    filter:drop-shadow(0 0 12px rgba(var(--pillar-accent),.145));
    transform:translateY(2px) scale(.96);
    transition:transform .6s cubic-bezier(.2,.8,.2,1),filter .6s ease;
  }
  .cap-card:nth-child(3) .cap-pillar-icon{
    width:69%;
    height:69%;
  }
  .cap-card .cap-visual{
    border-color:transparent;
    background:transparent;
  }
  .cap-card .cap-visual::before,
  .cap-card .cap-visual::after,
  .cap-card .cap-icon-stage::before,
  .cap-card .cap-icon-stage::after{
    display:none;
  }
  .cap-card:hover .cap-icon-stage::before,
  .cap-card:focus-visible .cap-icon-stage::before{ transform:scale(1.08);opacity:1; }
  .cap-card:hover .cap-icon-stage::after,
  .cap-card:focus-visible .cap-icon-stage::after{ transform:rotate(38deg) scaleY(.62) scale(1.06); }
  .cap-card:hover .cap-pillar-icon,
  .cap-card:focus-visible .cap-pillar-icon{
    transform:translateY(-4px) scale(1.035);
    filter:brightness(1.08) drop-shadow(0 0 18px rgba(var(--pillar-accent),.255));
  }
  .cap-card:nth-child(2):hover .cap-pillar-icon{ transform:translateY(-4px) scale(1.035) rotate(1.5deg); }
  .cap-card:nth-child(3):hover .cap-pillar-icon{ transform:translateY(-4px) scale(1.035) rotate(-1.5deg); }
  .cap-card:nth-child(4):hover .cap-pillar-icon{ transform:translateY(-4px) scale(1.035) rotate(1deg); }

  /* ---------- three-step scroll story ---------- */
  #lifecycle{
    padding:24px 0 12px;
    background:transparent;
  }
  @media (min-width:761px){
    #lifecycle{ padding-bottom:calc(12px + 14vh); }
  }
  .story-grid{
    display:grid;
    grid-template-columns:minmax(500px,1.1fr) minmax(0,.9fr);
    gap:clamp(42px,6vw,96px);
    align-items:start;
  }
  .story-steps{
    grid-column:2;
    grid-row:1;
    padding-top:10vh;
  }
  .story-step{
    min-height:42.67vh;
    display:flex;
    align-items:stretch;
    gap:28px;
    opacity:1;
    transform:none;
    transition:none;
  }
  .story-step.is-active{ opacity:1; transform:none; }
  .story-step.is-passed{ opacity:1; transform:none; }

  .step-rail{
    flex:0 0 40px;
    display:flex;
    flex-direction:column;
    align-items:center;
  }
  .step-node{
    width:38px; height:38px; border-radius:50%;
    flex-shrink:0; position:relative; z-index:2;
    display:flex; align-items:center; justify-content:center;
    font-family:var(--font-body); font-size:12px; font-weight:600;
    color:var(--muted-2);
    background:var(--panel);
    border:1px solid var(--line-strong);
    transition:color .4s ease, background .4s ease, border-color .4s ease, box-shadow .4s ease;
  }
  .step-line{
    flex:1; width:1px; margin-top:8px;
    background:var(--line);
    position:relative; overflow:hidden;
  }
  .step-line-fill{
    position:absolute; top:0; left:0; width:100%; height:0%;
    background:linear-gradient(to bottom, var(--cyan), var(--violet));
  }
  .story-step:last-child .step-line{ visibility:hidden; }

  .story-step.is-passed .step-node{
    color:var(--muted-2);
    background:var(--panel);
    border-color:var(--line-strong);
    box-shadow:none;
  }
  .story-step.is-active .step-node{
    color:var(--cyan);
    background:var(--panel);
    border-color:rgba(56,232,224,0.55);
    box-shadow:0 0 4px rgba(56,232,224,0.25), 0 0 26px rgba(56,232,224,0.4);
  }

  .step-body{
    align-self:flex-start;
    padding-top:9px;
    opacity:var(--step-opacity,.1);
  }
  .story-step.is-active .step-body{ opacity:var(--step-opacity,1); }
  .story-step.is-passed .step-body{ opacity:var(--step-opacity,.1); }
  .story-kicker{
    display:flex;
    align-items:center;
    gap:12px;
    margin-bottom:18px;
    color:var(--cyan);
    font-family:var(--font-body);
    font-size:12px;
    line-height:16px;
    font-weight:600;
    letter-spacing:.14em;
    text-transform:uppercase;
  }
  .story-step h3{
    max-width:560px;
    font-family:var(--font-display);
    font-size:clamp(28px,2.7vw,40px);
    line-height:1.1;
    font-weight:700;
    letter-spacing:-.03em;
  }
  .story-step p{
    max-width:540px;
    margin-top:20px;
    color:var(--muted);
    font-family:var(--font-body);
    font-size:18px;
    line-height:28px;
    font-weight:400;
  }
  .story-step .story-kicker,
  .story-step h3,
  .story-step p{
    opacity:1;
    transform:none;
    transition:none;
  }
  .story-step.is-passed .story-kicker,
  .story-step.is-passed h3,
  .story-step.is-passed p{
    opacity:1;
    transform:none;
  }
  .story-step.is-active .story-kicker,
  .story-step.is-active h3,
  .story-step.is-active p{
    opacity:1;
    transform:none;
  }
  .story-visual{
    grid-column:1;
    grid-row:1;
    position:relative;
    z-index:3;
    height:calc(100vh - 92px);
    min-height:610px;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:visible;
    will-change:transform,opacity;
  }
  .story-scene{
    width:min(100%,620px);
    aspect-ratio:1;
    position:relative;
    display:grid;
    place-items:center;
    isolation:isolate;
  }
  .story-sphere{
    position:absolute !important;
    left:50%;
    top:50%;
    width:640px;
    height:640px;
    z-index:2;
  }
  .story-sphere::before{
    content:"";
    position:absolute;
    inset:-25%;
    z-index:-1;
    border-radius:50%;
    pointer-events:none;
    background:radial-gradient(circle, rgba(75,111,255,1) 0%, rgba(75,111,255,0) 60%);
    filter:blur(34px);
    transform:translateZ(0);
  }
  .story-sphere .orb-video-wrap{ transform:scale(1.5) !important; }
  .story-card{
    position:absolute;
    z-index:7;
    min-width:190px;
    display:flex;
    align-items:center;
    gap:11px;
    padding:12px 15px;
    border:1px solid rgba(160,170,255,.24);
    border-radius:14px;
    background:rgba(13,16,34,.64);
    backdrop-filter:blur(14px);
    box-shadow:0 18px 40px rgba(0,0,0,.28);
    opacity:.4;
    transition:opacity .6s ease,border-color .6s ease,box-shadow .6s ease;
  }
  .story-card svg{ width:18px; height:18px; color:#9cb8ff; flex:0 0 auto; }
  .story-card strong{ display:block; font-size:12px; }
  .story-card span{ display:block; margin-top:2px; color:var(--muted); font-size:11px; }
  .story-card-1{ top:9%; right:0; animation:story-float-a 7.2s ease-in-out infinite; }
  .story-card-2{ bottom:19%; left:-1%; animation:story-float-b 8.4s ease-in-out infinite; }
  .story-card-3{ bottom:14%; right:8%; animation:story-float-c 9.1s ease-in-out infinite; }
  @keyframes story-float-a{50%{transform:translateY(-4px)}}
  @keyframes story-float-b{50%{transform:translateY(3px)}}
  @keyframes story-float-c{50%{transform:translateY(-3px)}}
  .story-scene.state-0 .story-card-1,
  .story-scene.state-1 .story-card-2,
  .story-scene.state-2 .story-card-3{
    opacity:1;
    border-color:rgba(86,213,255,.46);
    box-shadow:0 18px 44px rgba(41,117,205,.18),0 0 22px rgba(109,94,245,.12);
  }
  .story-card.story-card-1{
    top:12%;
    right:-4%;
    width:222px;
    min-width:222px;
    min-height:67.5px;
    gap:11.25px;
    padding:0 15px 0 18px;
    border:1.5px solid transparent;
    border-radius:15px;
    background:
      linear-gradient(145deg,rgba(5,12,28,.94),rgba(10,9,29,.9)) padding-box,
      linear-gradient(110deg,#20e7ff 0%,#25bfff 34%,#5f7fff 62%,#a44fff 100%) border-box;
    box-shadow:
      0 18px 46px rgba(0,0,0,.42),
      inset 0 1px 0 rgba(255,255,255,.08);
    backdrop-filter:blur(20px) saturate(145%);
    transition:
      opacity .6s ease,
      border-color .6s ease,
      box-shadow .6s ease,
      filter .6s ease;
  }
  .story-card-1::after{
    content:"";
    position:absolute;
    inset:5.25px;
    border-radius:10.5px;
    border:1px solid rgba(122,224,255,.035);
    pointer-events:none;
  }
  .story-scene.state-0 .story-card-1{
    filter:none;
    border-color:transparent;
    box-shadow:
      0 20px 52px rgba(0,0,0,.48),
      0 0 8px rgba(44,221,255,.66),
      0 0 25px rgba(39,165,255,.4),
      0 0 46px rgba(117,68,255,.23),
      inset 0 1px 0 rgba(255,255,255,.12);
  }
  .story-scene:not(.state-0) .story-card-1{
    filter:grayscale(1) saturate(0) brightness(.72);
    box-shadow:
      0 14px 34px rgba(0,0,0,.36),
      0 0 12px rgba(148,154,174,.1),
      inset 0 1px 0 rgba(255,255,255,.045);
  }
  .story-card.story-card-2,
  .story-card.story-card-3{
    width:222px;
    min-width:222px;
    min-height:67.5px;
    gap:11.25px;
    padding:0 15px 0 18px;
    border:1.5px solid transparent;
    border-radius:15px;
    background:
      linear-gradient(145deg,rgba(5,12,28,.94),rgba(10,9,29,.9)) padding-box,
      linear-gradient(110deg,#20e7ff 0%,#25bfff 34%,#5f7fff 62%,#a44fff 100%) border-box;
    backdrop-filter:blur(20px) saturate(145%);
    transition:
      opacity .6s ease,
      border-color .6s ease,
      box-shadow .6s ease,
      filter .6s ease;
  }
  .story-card.story-card-2{ left:-7%; }
  .story-card.story-card-3{ right:2%; }
  .story-card-2::after,
  .story-card-3::after{
    content:"";
    position:absolute;
    inset:5.25px;
    border-radius:10.5px;
    border:1px solid rgba(122,224,255,.035);
    pointer-events:none;
  }
  .story-card .status-icon{
    position:relative;
    align-self:center;
    flex:0 0 34px;
    width:34px;
    height:34px;
    margin-top:0;
    display:grid;
    place-items:center;
    color:#dffcff;
    border:1.5px solid rgba(43,230,255,.98);
    border-radius:50%;
    box-shadow:
      0 0 0 2.25px rgba(105,82,255,.28),
      0 0 10.5px rgba(42,224,255,.58),
      inset 0 0 9px rgba(109,94,245,.38);
  }
  .story-card .status-icon svg{
    width:19px;
    height:19px;
    color:inherit;
  }
  .status-card-copy{
    min-width:0;
    flex:1 1 auto;
    align-self:stretch;
    display:flex;
    flex-direction:column;
    justify-content:center;
  }
  .story-card-2 .status-card-copy strong,
  .story-card-3 .status-card-copy strong{
    color:#f5f7ff;
    font-size:14px;
    font-weight:600;
    line-height:1.25;
    letter-spacing:-.01em;
    white-space:nowrap;
  }
  .story-card-2 .status-card-copy span,
  .story-card-3 .status-card-copy span{
    margin-top:3.75px;
    color:#aeb7dc;
    font-size:11px;
    line-height:1.2;
    white-space:nowrap;
  }
  .story-scene.state-1 .story-card-2,
  .story-scene.state-2 .story-card-3{
    filter:none;
    border-color:transparent;
    box-shadow:
      0 20px 52px rgba(0,0,0,.48),
      0 0 8px rgba(44,221,255,.66),
      0 0 25px rgba(39,165,255,.4),
      0 0 46px rgba(117,68,255,.23),
      inset 0 1px 0 rgba(255,255,255,.12);
  }
  .story-scene:not(.state-1) .story-card-2,
  .story-scene:not(.state-2) .story-card-3{
    filter:grayscale(1) saturate(0) brightness(.72);
    box-shadow:
      0 14px 34px rgba(0,0,0,.36),
      0 0 12px rgba(148,154,174,.1),
      inset 0 1px 0 rgba(255,255,255,.045);
  }
  .live-signal-node{
    position:relative;
    align-self:center;
    flex:0 0 34px;
    width:34px;
    height:34px;
    border-radius:50%;
    display:grid;
    place-items:center;
    border:1.5px solid rgba(43,230,255,.98);
    box-shadow:
      0 0 0 2.25px rgba(105,82,255,.28),
      0 0 10.5px rgba(42,224,255,.66),
      inset 0 0 9px rgba(109,94,245,.38);
  }
  .live-signal-node::before{
    content:"";
    display:block;
    position:absolute;
    left:50%;
    top:50%;
    width:22px;
    height:22px;
    transform:translate(-50%,-50%);
    box-sizing:border-box;
    border-radius:50%;
    border:1.5px solid rgba(152,74,255,.98);
    box-shadow:
      0 0 6px rgba(132,84,255,.82),
      inset 0 0 6px rgba(57,198,255,.28);
  }
  .live-signal-node::after{
    content:"";
    position:absolute;
    left:50%;
    top:50%;
    width:8px;
    height:8px;
    transform:translate(-50%,-50%);
    border-radius:50%;
    background:#f7fdff;
    box-shadow:0 0 8px #fff,0 0 16px #29dcff,0 0 24px #7a5cff;
  }
  .live-call-copy{
    min-width:0;
    flex:1 1 auto;
    align-self:stretch;
    display:flex;
    flex-direction:column;
    justify-content:center;
  }
  .story-card-1 .live-call-title{
    color:#f5f7ff;
    font-size:14px;
    font-weight:600;
    line-height:1.25;
    letter-spacing:-.01em;
    white-space:nowrap;
    text-shadow:0 0 14px rgba(171,204,255,.18);
  }
  .story-card-1 .live-call-subtitle{
    margin-top:3.75px;
    color:#aeb7dc;
    font-size:11px;
    line-height:1.2;
    white-space:nowrap;
  }
  .story-card-1 .live-waveform{
    position:absolute;
    right:15px;
    bottom:11.25px;
    width:30px;
    height:15px;
    flex:0 0 30px;
    overflow:visible;
    color:#35dcff;
    filter:drop-shadow(0 0 5px rgba(48,216,255,.75));
  }
  .live-waveform polyline{
    stroke-dasharray:58;
    animation:live-wave 1.8s ease-in-out infinite;
  }
  @keyframes live-wave{
    0%,100%{ stroke-dashoffset:0; opacity:.55; }
    50%{ stroke-dashoffset:10; opacity:1; }
  }
  .live-connector{
    position:absolute;
    inset:0;
    z-index:5;
    width:100%;
    height:100%;
    overflow:visible;
    opacity:1;
  }
  .connector-step{
    opacity:0;
    transition:opacity .5s ease,filter .5s ease;
  }
  .story-scene.state-0 .connector-step-0,
  .story-scene.state-1 .connector-step-1,
  .story-scene.state-2 .connector-step-2{
    opacity:1;
    filter:drop-shadow(0 0 5px rgba(61,203,255,.6));
  }
  .live-connector-line{
    fill:none;
    stroke:url(#live-connector-gradient);
    stroke-width:1.15;
    stroke-linecap:round;
    stroke-dasharray:2 5;
  }
  .live-connector-anchor{
    fill:#dffcff;
    stroke:#35dfff;
    stroke-width:1;
    filter:drop-shadow(0 0 4px #35dfff);
  }
  .live-connector-halo{
    fill:rgba(76,153,255,.24);
    stroke:rgba(118,93,255,.72);
    stroke-width:1;
  }
  .story-ui{
    position:absolute;
    inset:0;
    z-index:4;
    pointer-events:none;
    opacity:0;
    visibility:hidden;
    transition:opacity .25s ease,visibility 0s linear .25s;
  }
  .story-ui.is-visible{
    opacity:1;
    visibility:visible;
    transition:opacity .25s ease;
  }
  .story-ui-anchor{
    position:fixed !important;
    left:0;
    top:0;
    width:620px;
    height:620px;
    transform:translate(-50%,-50%);
    z-index:8;
    pointer-events:none;
  }
  .story-status{
    position:absolute;
    top:18%;
    left:9%;
    z-index:6;
    display:flex;
    align-items:center;
    gap:16px;
    padding:8px 11px;
    border:1px solid rgba(56,232,224,.24);
    border-radius:999px;
    background:rgba(8,11,26,.72);
    color:#c6fbf8;
    font-family:var(--font-body);
    font-size:11px;
    font-weight:500;
  }
  .story-status::before{ content:""; width:6px; height:6px; border-radius:50%; background:var(--cyan); box-shadow:0 0 10px rgba(56,232,224,.7); }
  /* ---------- solutions carousel ---------- */
  #industries{
    isolation:isolate;
    overflow:visible;
  }
  #industries::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:-2;
    background-image:
      linear-gradient(to right, rgba(140,150,220,.04) 1px, transparent 1px),
      linear-gradient(to bottom, rgba(140,150,220,.04) 1px, transparent 1px);
    background-size:64px 64px;
    mask-image:linear-gradient(to bottom, transparent, #000 12%, #000 88%, transparent);
  }
  #industries::after{
    content:"";
    position:absolute;
    z-index:-1;
    width:900px;
    height:560px;
    top:16%;
    right:-24%;
    background:radial-gradient(circle, rgba(75,111,255,.14), rgba(109,94,245,.06) 43%, transparent 70%);
    filter:blur(34px);
    pointer-events:none;
  }
  #industries .section-head{ margin-bottom:56px; }
  .industry-carousel-shell{
    position:relative;
    width:100%;
  }
  .industry-carousel{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:16px;
    width:100%;
  }
  .solution-card{
    --card-glow:rgba(56,232,224,.16);
    position:relative;
    width:100%;
    height:420px;
    display:flex;
    flex-direction:column;
    overflow:hidden;
    border:1px solid rgba(144,156,210,.2);
    border-radius:24px;
    background:linear-gradient(158deg, rgba(17,20,42,.96), rgba(8,10,24,.99));
    box-shadow:0 22px 56px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.03);
    transition:transform .4s cubic-bezier(.2,.75,.2,1), border-color .4s ease, box-shadow .4s ease;
  }
  .industry-carousel .stagger-item:nth-child(2) .solution-card,
  .industry-carousel .stagger-item:nth-child(5) .solution-card{ --card-glow:rgba(109,94,245,.2); }
  .industry-carousel .stagger-item:nth-child(3) .solution-card,
  .industry-carousel .stagger-item:nth-child(6) .solution-card{ --card-glow:rgba(75,111,255,.21); }
  .solution-card:hover{
    transform:translateY(-7px);
    border-color:rgba(113,222,235,.42);
    box-shadow:0 30px 70px rgba(0,0,0,.31), 0 0 38px var(--card-glow), inset 0 1px 0 rgba(255,255,255,.055);
  }
  .solution-card:focus-visible{
    outline:2px solid var(--cyan);
    outline-offset:4px;
  }
  .industry-visual{
    position:relative;
    height:255px;
    margin:8px 8px 0;
    overflow:hidden;
    border:1px solid rgba(144,157,210,.12);
    border-radius:17px;
    background:
      radial-gradient(circle at 82% 7%, var(--card-glow), transparent 38%),
      radial-gradient(circle at 12% 86%, rgba(109,94,245,.09), transparent 37%),
      linear-gradient(145deg, #090c1c, #060712);
  }
  .industry-visual::before{
    content:"";
    position:absolute;
    inset:0;
    background-image:
      linear-gradient(rgba(137,153,213,.045) 1px, transparent 1px),
      linear-gradient(90deg, rgba(137,153,213,.045) 1px, transparent 1px);
    background-size:28px 28px;
    mask-image:linear-gradient(to bottom, #000, transparent 82%);
  }
  .industry-visual::after{
    content:"";
    position:absolute;
    width:190px;
    height:190px;
    right:-74px;
    top:-96px;
    border-radius:50%;
    border:1px solid rgba(56,232,224,.13);
    box-shadow:0 0 65px var(--card-glow), inset 0 0 34px var(--card-glow);
    transition:transform .6s ease, opacity .6s ease;
  }
  .solution-card:hover .industry-visual::after{ transform:scale(1.12); opacity:.95; }
  .industry-card-copy{
    position:relative;
    flex:1;
    padding:16px 16px 24px;
  }
  .industry-card-copy h3{
    font-family:var(--font-display);
    font-size:22px;
    line-height:28px;
    font-weight:700;
    letter-spacing:-.02em;
  }
  .industry-card-copy p{
    margin-top:12px;
    color:#9da3c1;
    font-family:var(--font-body);
    font-size:15px;
    line-height:23px;
    font-weight:400;
  }
  /* mini product scenes */
  .scene-layer{
    position:absolute;
    border:1px solid rgba(150,163,215,.18);
    background:linear-gradient(145deg, rgba(22,27,57,.9), rgba(9,12,29,.94));
    box-shadow:0 18px 42px rgba(0,0,0,.3), inset 0 1px 0 rgba(255,255,255,.035);
    backdrop-filter:blur(14px);
    transition:transform .55s cubic-bezier(.2,.8,.2,1), border-color .4s ease, box-shadow .4s ease;
  }
  .scene-icon{
    display:grid;
    place-items:center;
    color:var(--cyan);
  }
  .scene-icon svg{
    width:100%;
    height:100%;
    fill:none;
    stroke:currentColor;
    stroke-width:1.45;
    stroke-linecap:round;
    stroke-linejoin:round;
  }
  .scene-label{
    color:#6f789b;
    font-size:8px;
    font-weight:700;
    letter-spacing:.1em;
    text-transform:uppercase;
  }
  .scene-value{ margin-top:5px; color:#e9ecf8; font-size:11px; font-weight:600; }
  .scene-pill{
    display:inline-flex;
    align-items:center;
    gap:5px;
    padding:5px 8px;
    border:1px solid rgba(56,232,224,.2);
    border-radius:999px;
    color:#8aefea;
    background:rgba(56,232,224,.06);
    font-size:8px;
    font-weight:600;
  }
  .scene-pill::before{ content:""; width:4px; height:4px; border-radius:50%; background:var(--cyan); box-shadow:0 0 7px var(--cyan); }

  .health-profile{ left:35px; top:57px; width:178px; height:155px; padding:20px; border-radius:17px; transform:rotate(-3deg); }
  .health-avatar{ width:39px; height:39px; border-radius:50%; background:radial-gradient(circle at 38% 35%, #e9ffff, #45cfd3 8%, #525bea 44%, #151838 68%); box-shadow:0 0 24px rgba(56,232,224,.23); }
  .health-lines{ margin-top:17px; display:grid; gap:7px; }
  .health-lines i{ display:block; height:4px; border-radius:4px; background:rgba(142,154,201,.14); }
  .health-lines i:nth-child(1){ width:78%; } .health-lines i:nth-child(2){ width:54%; } .health-lines i:nth-child(3){ width:68%; }
  .health-appointment{ right:29px; bottom:29px; width:197px; height:118px; padding:17px; border-radius:16px; }
  .health-appointment .scene-pill{ margin-top:15px; }
  .pulse-line{ position:absolute; left:19px; right:19px; bottom:16px; height:25px; }
  .pulse-line::before{ content:""; position:absolute; inset:12px 0 auto; height:1px; background:linear-gradient(90deg, transparent, rgba(56,232,224,.24), transparent); }
  .pulse-line span{ position:absolute; left:0; top:0; width:100%; height:100%; clip-path:polygon(0 48%,18% 48%,23% 18%,29% 82%,36% 35%,42% 48%,100% 48%,100% 54%,41% 54%,37% 47%,29% 98%,22% 36%,19% 54%,0 54%); background:var(--cyan); filter:drop-shadow(0 0 5px rgba(56,232,224,.85)); }
  .solution-card:hover .health-profile{ transform:translate(-3px,-5px) rotate(-5deg); }
  .solution-card:hover .health-appointment{ transform:translate(4px,-5px); border-color:rgba(56,232,224,.28); }

  .finance-shield{ left:50%; top:34px; width:92px; height:92px; padding:24px; border-radius:24px; transform:translateX(-50%) rotate(45deg); color:#9a8eff; }
  .finance-shield .scene-icon{ width:44px; height:44px; transform:rotate(-45deg); }
  .finance-verify{ left:34px; right:34px; bottom:35px; height:96px; padding:18px 20px; border-radius:16px; display:flex; align-items:center; gap:14px; }
  .finance-check{ flex:0 0 34px; width:34px; height:34px; padding:8px; border:1px solid rgba(56,232,224,.3); border-radius:50%; color:var(--cyan); background:rgba(56,232,224,.07); }
  .audit-dots{ margin-left:auto; display:flex; gap:4px; }
  .audit-dots i{ width:4px; height:4px; border-radius:50%; background:#626b92; }
  .audit-dots i:last-child{ background:var(--cyan); box-shadow:0 0 8px var(--cyan); }
  .solution-card:hover .finance-shield{ transform:translateX(-50%) translateY(-5px) rotate(52deg); box-shadow:0 18px 44px rgba(0,0,0,.3), 0 0 32px rgba(109,94,245,.23); }
  .solution-card:hover .finance-verify{ transform:translateY(-4px); border-color:rgba(109,94,245,.32); }

  .estate-property{ left:30px; top:39px; width:220px; height:154px; padding:12px; border-radius:18px; transform:rotate(-2deg); }
  .property-image{ height:82px; border-radius:11px; overflow:hidden; background:linear-gradient(145deg, rgba(76,97,183,.25), rgba(9,12,29,.3)); position:relative; }
  .property-image::before{ content:""; position:absolute; left:25px; right:25px; bottom:0; height:55px; clip-path:polygon(0 48%,24% 48%,50% 11%,78% 48%,100% 48%,100% 100%,0 100%); background:linear-gradient(150deg,#28345e,#11172f); border:1px solid rgba(143,162,226,.18); }
  .property-meta{ display:flex; justify-content:space-between; align-items:center; padding:12px 3px 0; }
  .estate-lead{ right:25px; bottom:27px; width:179px; height:112px; padding:16px; border-radius:16px; }
  .lead-row{ display:flex; align-items:center; gap:9px; margin-top:11px; }
  .lead-dot{ width:25px; height:25px; border-radius:50%; background:linear-gradient(135deg,var(--violet),var(--indigo)); box-shadow:0 0 15px rgba(109,94,245,.3); }
  .lead-lines{ flex:1; display:grid; gap:5px; }
  .lead-lines i{ display:block; height:3px; border-radius:3px; background:rgba(139,151,199,.17); }
  .lead-lines i:last-child{ width:61%; }
  .solution-card:hover .estate-property{ transform:translate(-3px,-4px) rotate(-3.5deg); }
  .solution-card:hover .estate-lead{ transform:translate(4px,-5px); border-color:rgba(56,232,224,.25); }

  .route-map{ position:absolute; inset:25px 24px 27px; }
  .route-map::before{ content:""; position:absolute; left:30px; top:36px; width:280px; height:148px; border:1px dashed rgba(85,166,222,.32); border-left-color:transparent; border-radius:50%; transform:rotate(-9deg); }
  .route-node{ position:absolute; width:15px; height:15px; border:3px solid #0b1023; border-radius:50%; background:var(--indigo); box-shadow:0 0 0 1px rgba(93,118,255,.5), 0 0 15px rgba(75,111,255,.7); }
  .route-node.start{ left:32px; top:163px; }
  .route-node.end{ right:34px; top:35px; background:var(--cyan); box-shadow:0 0 0 1px rgba(56,232,224,.5), 0 0 15px rgba(56,232,224,.7); }
  .service-job{ left:52px; top:66px; width:153px; height:92px; padding:15px; border-radius:15px; }
  .job-status{ right:34px; bottom:29px; width:146px; height:73px; padding:14px; border-radius:14px; }
  .solution-card:hover .service-job{ transform:translate(-4px,-5px); }
  .solution-card:hover .job-status{ transform:translate(4px,-4px); border-color:rgba(56,232,224,.27); }

  .retail-order{ left:29px; top:43px; width:212px; height:137px; padding:18px; border-radius:17px; }
  .order-header{ display:flex; justify-content:space-between; align-items:center; }
  .order-track{ position:relative; display:flex; justify-content:space-between; margin-top:30px; }
  .order-track::before{ content:""; position:absolute; left:6px; right:6px; top:5px; height:1px; background:linear-gradient(90deg,var(--cyan) 0 65%,rgba(129,143,197,.2) 65%); }
  .order-track i{ z-index:1; width:11px; height:11px; border:2px solid #121832; border-radius:50%; background:var(--cyan); box-shadow:0 0 10px rgba(56,232,224,.55); }
  .order-track i:last-child{ background:#454d73; box-shadow:none; }
  .retail-chat{ right:25px; bottom:28px; width:182px; height:115px; padding:15px; border-radius:16px; }
  .chat-bubble{ width:82%; height:26px; margin-top:11px; border-radius:10px 10px 10px 3px; background:rgba(109,94,245,.14); border:1px solid rgba(109,94,245,.2); }
  .chat-bubble.reply{ width:67%; height:22px; margin:7px 0 0 auto; border-radius:10px 10px 3px 10px; background:rgba(56,232,224,.09); border-color:rgba(56,232,224,.18); }
  .solution-card:hover .retail-order{ transform:translate(-3px,-5px); }
  .solution-card:hover .retail-chat{ transform:translate(4px,-4px); border-color:rgba(109,94,245,.3); }

  .integration-core{ position:absolute; left:50%; top:50%; width:74px; height:74px; transform:translate(-50%,-50%); border:1px solid rgba(56,232,224,.35); border-radius:22px; background:radial-gradient(circle at 38% 34%,rgba(56,232,224,.25),rgba(75,111,255,.13) 42%,rgba(10,13,31,.95) 72%); box-shadow:0 0 38px rgba(56,232,224,.18); }
  .integration-core::before{ content:""; position:absolute; inset:22px; border:1px solid rgba(255,255,255,.45); border-radius:8px; transform:rotate(45deg); }
  .integration-node{ position:absolute; width:48px; height:48px; display:grid; place-items:center; border:1px solid rgba(133,149,207,.2); border-radius:14px; color:#7e8bb8; background:rgba(16,20,43,.88); box-shadow:0 14px 25px rgba(0,0,0,.25); font-size:8px; font-weight:600; letter-spacing:.05em; }
  .integration-node.n1{ left:37px; top:43px; } .integration-node.n2{ right:39px; top:48px; } .integration-node.n3{ left:47px; bottom:36px; } .integration-node.n4{ right:45px; bottom:34px; }
  .integration-lines{ position:absolute; inset:0; }
  .integration-lines::before,.integration-lines::after{ content:""; position:absolute; left:50%; top:50%; width:238px; height:1px; background:linear-gradient(90deg,transparent,var(--indigo),var(--cyan),transparent); transform:translate(-50%,-50%) rotate(28deg); opacity:.42; }
  .integration-lines::after{ transform:translate(-50%,-50%) rotate(-31deg); }
  .solution-card:hover .integration-core{ transform:translate(-50%,-50%) scale(1.08) rotate(4deg); box-shadow:0 0 48px rgba(56,232,224,.26); }
  .solution-card:hover .integration-node.n1,.solution-card:hover .integration-node.n4{ transform:translateY(-4px); }
  .solution-card:hover .integration-node.n2,.solution-card:hover .integration-node.n3{ transform:translateY(4px); }

  /* ---------- pricing ---------- */
  .price-grid{
    display:grid; grid-template-columns:repeat(3,1fr); gap:24px;
    align-items:start;
  }
  .price-card{
    position:relative;
    isolation:isolate;
    background:var(--panel);
    border:1px solid var(--line);
    border-radius:20px;
    padding:40px 34px 34px;
    display:flex; flex-direction:column;
    transition:border-color .35s ease, transform .35s cubic-bezier(.2,.75,.2,1), box-shadow .35s ease;
  }
  .price-card:hover{ transform:translateY(-4px); border-color:rgba(160,170,255,0.3); }
  .price-card.featured{
    background:linear-gradient(165deg, #14153a, var(--panel) 60%);
    border:1px solid rgba(109,94,245,0.55);
    box-shadow:0 0 0 1px rgba(109,94,245,0.12), 0 30px 70px rgba(109,94,245,0.18);
    transform:scale(1.02);
  }
  .price-card.featured:hover{ transform:scale(1.02) translateY(-4px); }
  .price-badge{
    position:absolute; top:-15px; left:50%; z-index:6; transform:translateX(-50%);
    background:linear-gradient(120deg, var(--violet), var(--indigo));
    color:#fff; font-family:var(--font-body); font-size:12px; font-weight:600;
    padding:7px 18px; border-radius:999px;
    box-shadow:0 8px 20px rgba(109,94,245,0.45);
    white-space:nowrap;
  }
  .price-name{ font-family:var(--font-display); font-size:24px; line-height:30px; font-weight:700; margin-bottom:10px; }
  .price-card.featured .price-name{
    background:linear-gradient(100deg, #d9d3ff, var(--violet));
    -webkit-background-clip:text; background-clip:text; color:transparent;
  }
  .price-desc{ font-family:var(--font-body); font-size:15px; line-height:23px; font-weight:400; color:var(--muted); min-height:44px; }
  .price-figure{
    font-family:var(--font-display); font-size:26px; line-height:32px; font-weight:700;
    margin:26px 0 20px;
  }
  .price-divider{ height:1px; background:var(--line); margin-bottom:26px; }
  .price-features{ list-style:none; display:flex; flex-direction:column; gap:16px; margin-bottom:36px; flex:1; }
  .price-features li{
    display:flex; align-items:flex-start; gap:12px;
    font-family:var(--font-body); font-size:15px; line-height:23px; font-weight:400; color:#c9cbe2;
  }
  .price-features li .check{
    flex-shrink:0; width:18px; height:18px; margin-top:1px;
    color:var(--muted-2);
  }
  .price-card.featured .price-features li .check{ color:var(--violet); }
  .price-cta{
    display:flex; align-items:center; justify-content:center;
    width:100%; padding:15px; border-radius:11px;
    font-family:var(--font-body); font-size:15px; line-height:20px; font-weight:600;
    border:1px solid var(--line-strong);
    color:var(--text);
    background:transparent;
    transition:border-color .2s ease, background .2s ease, transform .2s ease;
  }
  .price-cta:hover{ border-color:rgba(160,170,255,0.5); background:rgba(255,255,255,0.03); }
  .price-cta.filled{
    background:linear-gradient(135deg, var(--violet), var(--indigo));
    border:none; color:#fff;
    box-shadow:0 10px 26px rgba(109,94,245,0.4);
  }
  .price-cta.filled:hover{ transform:translateY(-1px); box-shadow:0 14px 32px rgba(109,94,245,0.55); }
  .price-note{
    text-align:center; margin-top:44px; font-family:var(--font-body); font-size:14px; line-height:21px; font-weight:400; color:var(--muted-2);
  }
  .price-note a{ color:var(--cyan); font-weight:500; }

  @media (max-width:980px){
    .price-grid{ grid-template-columns:1fr; }
    .price-card.featured{ transform:none; }
    .price-card.featured:hover{ transform:translateY(-4px); }
  }

  /* ---------- transcripts / testimonials (dual-direction marquee) ---------- */
  .proof-head{
    max-width:640px;
    margin-left:auto;
    margin-right:auto;
    text-align:center;
  }
  .proof-head .kicker{ justify-content:center; }
  .proof-ctas{ justify-content:center; }
  .proof-marquee{
    position:relative;
    left:50%;
    right:50%;
    margin-left:-50vw;
    margin-right:-50vw;
    width:100vw;
    max-width:100vw;
    display:flex;
    flex-direction:column;
    gap:22px;
    margin-top:8px;
    padding:30px 0;
    -webkit-mask-image:linear-gradient(90deg, transparent 0, black 4%, black 96%, transparent 100%);
    mask-image:linear-gradient(90deg, transparent 0, black 4%, black 96%, transparent 100%);
  }
  .proof-row{
    width:100%;
    margin:-26px 0;
    padding:26px 0;
    overflow:hidden;
  }
  .proof-row-track{
    display:flex;
    width:max-content;
    gap:20px;
    will-change:transform;
  }
  .proof-row-1 .proof-row-track{ animation:proof-scroll-right 52s linear infinite; }
  .proof-row-2 .proof-row-track{ animation:proof-scroll-left 46s linear infinite; }
  .proof-marquee:hover .proof-row-track{ animation-play-state:paused; }

  @keyframes proof-scroll-left{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }
  @keyframes proof-scroll-right{ from{ transform:translateX(-50%); } to{ transform:translateX(0); } }

  .proof-mini{
    flex:0 0 auto;
    width:360px;
    padding:26px 26px 24px;
    border-radius:18px;
    background:
      radial-gradient(circle at 85% 0%, rgba(75,111,255,0.09), transparent 45%),
      linear-gradient(165deg, rgba(20,24,50,0.85), rgba(9,11,26,0.85));
    border:1px solid var(--line);
    box-shadow:0 18px 42px rgba(0,0,0,0.32), inset 0 1px 0 rgba(255,255,255,0.04);
    backdrop-filter:blur(10px);
    transition:border-color .25s ease, box-shadow .25s ease, transform .25s ease;
  }
  .proof-mini:hover{
    position:relative;
    z-index:2;
    border-color:rgba(160,170,255,0.35);
    box-shadow:0 22px 50px rgba(0,0,0,0.4), 0 0 22px rgba(109,94,245,0.14);
    transform:translateY(-3px);
  }
  .proof-mini-head{ display:flex; align-items:center; gap:12px; margin-bottom:18px; }
  .proof-mini-avatar{
    width:44px; height:44px; border-radius:50%; flex-shrink:0;
    object-fit:cover;
    display:block;
    border:1.5px solid rgba(160,170,255,0.3);
    box-shadow:0 8px 18px rgba(109,94,245,0.35);
  }
  .proof-mini-name{ font-family:var(--font-body); font-size:15px; line-height:20px; font-weight:600; }
  .proof-mini-role{ font-family:var(--font-body); font-size:13px; line-height:18px; font-weight:400; color:var(--muted-2); margin-top:1px; }
  .proof-mini-quote{ font-family:var(--font-body); font-size:16px; line-height:25px; font-weight:400; color:#d6d8ee; }
  .testimonial-quote,
  .featured-quote{
    font-family:var(--font-display);
    font-size:clamp(22px,2vw,30px);
    line-height:1.4;
    font-weight:600;
    letter-spacing:-.015em;
  }

  @media (prefers-reduced-motion: reduce){
    .proof-row-1 .proof-row-track,
    .proof-row-2 .proof-row-track{ animation:none; }
  }

  /* ---------- FAQ accordion (two-column layout, no frame) ---------- */
  .faq-panel{
    position:relative;
    display:grid;
    grid-template-columns:minmax(0,1fr) 600px;
    gap:56px;
    align-items:start;
  }
  .faq-panel-copy{
    position:relative;
  }
  .faq-panel-copy .kicker{ margin-bottom:20px; }
  .faq-panel-copy h2{
    font-family:var(--font-display); font-weight:700;
    font-size:clamp(36px, 3.5vw, 52px); line-height:1.08; letter-spacing:-0.03em;
  }
  .faq-panel-copy p{ margin-top:20px; font-family:var(--font-body); font-size:18px; line-height:28px; font-weight:400; letter-spacing:-0.01em; color:var(--muted); max-width:440px; }
  .faq-list{
    position:relative;
    z-index:1;
    display:flex;
    flex-direction:column;
    gap:12px;
    width:100%;
    max-width:600px;
    justify-self:end;
  }
  .faq-item{
    border:1px solid var(--line);
    border-radius:14px;
    background:rgba(12,14,28,0.55);
    overflow:hidden;
    transition:border-color .25s ease, box-shadow .25s ease;
  }
  .faq-item.is-open{
    border-color:rgba(160,170,255,0.35);
    box-shadow:0 16px 40px rgba(0,0,0,0.28);
  }
  .faq-q{
    width:100%;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    padding:18px 22px;
    background:none;
    border:none;
    cursor:pointer;
    text-align:left;
    font-family:var(--font-body);
    font-size:18px;
    line-height:26px;
    font-weight:600;
    color:var(--text);
  }
  .faq-icon{
    width:16px; height:16px; flex-shrink:0;
    color:var(--muted-2);
    transition:transform .3s ease, color .3s ease;
  }
  .faq-item.is-open .faq-icon{ transform:rotate(180deg); color:var(--cyan); }
  .faq-a{
    max-height:0;
    overflow:hidden;
    transition:max-height .35s ease;
  }
  .faq-a p{
    margin:0;
    text-align:left;
    padding:0 22px 20px;
    font-family:var(--font-body);
    font-size:16px;
    line-height:25px;
    font-weight:400;
    color:var(--muted);
  }

  /* ---------- shared cyan-to-violet card hover ---------- */
  .cap-card,
  .solution-card,
  .price-card{
    --hover-cyan:#28e9ff;
    --hover-blue:#4b7cff;
    --hover-violet:#a34cff;
  }
  .cap-card::before,
  .solution-card::before,
  .price-card::before{
    content:"";
    position:absolute;
    inset:-1px;
    z-index:5;
    padding:2px;
    border-radius:inherit;
    pointer-events:none;
    background:linear-gradient(105deg,var(--hover-cyan) 0%,var(--hover-blue) 56%,var(--hover-violet) 100%);
    -webkit-mask:
      linear-gradient(#000 0 0) content-box,
      linear-gradient(#000 0 0);
    -webkit-mask-composite:xor;
    mask-composite:exclude;
    opacity:0;
    transition:opacity .35s ease;
  }
  .cap-card:hover::before,
  .cap-card:focus-visible::before,
  .solution-card:hover::before,
  .price-card:hover::before,
  .solution-card:focus-visible::before{
    opacity:1;
  }
  .cap-card:hover,
  .cap-card:focus-visible,
  .solution-card:hover,
  .price-card:hover{
    border-color:transparent;
    box-shadow:
      0 28px 68px rgba(0,0,0,.34),
      -8px 0 28px rgba(40,233,255,.2),
      8px 0 30px rgba(163,76,255,.2),
      0 0 20px rgba(75,124,255,.2),
      inset 0 0 30px rgba(75,124,255,.045);
  }
  .cap-card:hover,
  .cap-card:focus-visible{
    box-shadow:
      0 28px 64px rgba(0,0,0,.32),
      -6px 0 22px rgba(40,233,255,.15),
      6px 0 24px rgba(163,76,255,.15),
      0 0 16px rgba(75,124,255,.16),
      inset 0 0 26px rgba(75,124,255,.038);
  }
  .solution-card:focus-visible{
    border-color:transparent;
    box-shadow:
      0 28px 68px rgba(0,0,0,.34),
      -8px 0 28px rgba(40,233,255,.2),
      8px 0 30px rgba(163,76,255,.2),
      0 0 20px rgba(75,124,255,.2);
  }
  .price-card::before{
    padding:1px;
  }


  /* ---------- final cta ---------- */
  .cta-band{
    position:relative;
    isolation:isolate;
    border-radius:28px;
    min-height:440px;
    padding:68px 68px 78px;
    text-align:center;
    overflow:hidden;
    background:
      radial-gradient(circle at 76% 20%,rgba(75,111,255,.07),transparent 34%),
      linear-gradient(160deg,#0b0d1b 0%,#080914 58%,#06070f 100%);
    border:1px solid rgba(142,157,215,.2);
    box-shadow:
      0 30px 84px rgba(0,0,0,.34),
      inset 0 1px 0 rgba(255,255,255,.05);
  }
  .cta-band::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:0;
    pointer-events:none;
    background:
      radial-gradient(ellipse 62% 27% at 50% 104%,rgba(109,94,245,.58),rgba(75,111,255,.23) 38%,transparent 74%),
      radial-gradient(circle at 16% 82%,rgba(56,232,224,.07),transparent 28%),
      radial-gradient(circle at 87% 76%,rgba(163,76,255,.09),transparent 30%);
  }
  .cta-band::after{
    content:"";
    position:absolute;
    inset:0;
    z-index:1;
    border-radius:inherit;
    pointer-events:none;
    box-shadow:
      inset 0 1px 0 rgba(181,197,255,.12),
      inset 0 -1px 0 rgba(109,94,245,.26);
  }
  .cta-band .aurora-inner{
    position:absolute;
    inset:0;
    z-index:0;
    background:
      radial-gradient(ellipse 48% 18% at 50% 103%,rgba(132,76,255,.42),transparent 74%),
      radial-gradient(ellipse 24% 12% at 50% 101%,rgba(56,232,224,.16),transparent 80%);
    filter:blur(16px);
    opacity:1;
    animation:none;
  }
  .cta-grid-plane{
    position:absolute;
    z-index:0;
    left:0;
    right:0;
    bottom:0;
    height:58%;
    pointer-events:none;
    background-image:radial-gradient(circle,rgba(126,113,255,.34) 1px,transparent 1.7px);
    background-size:11px 11px;
    -webkit-mask-image:
      radial-gradient(ellipse 72% 72% at 50% 100%,#000 0%,rgba(0,0,0,.88) 42%,transparent 80%),
      linear-gradient(to bottom,transparent 0%,#000 48%);
    -webkit-mask-composite:source-in;
    mask-image:
      radial-gradient(ellipse 72% 72% at 50% 100%,#000 0%,rgba(0,0,0,.88) 42%,transparent 80%),
      linear-gradient(to bottom,transparent 0%,#000 48%);
    mask-composite:intersect;
    opacity:.62;
  }
  .cta-inner{
    position:relative;
    z-index:2;
    max-width:700px;
    margin:0 auto;
    display:block;
  }
  .cta-copy{
    min-width:0;
  }
  .cta-logo{
    width:50px;
    height:50px;
    display:block;
    margin:0 auto 24px;
    object-fit:contain;
    filter:
      drop-shadow(0 0 12px rgba(56,232,224,.18))
      drop-shadow(0 0 24px rgba(109,94,245,.22));
  }
  .cta-band h2{
    font-family:var(--font-display); font-weight:700;
    font-size:clamp(40px,4vw,56px); line-height:1.08; letter-spacing:-0.03em;
    margin-bottom:22px;
  }
  .cta-band p{ color:var(--muted); font-family:var(--font-body); font-size:18px; line-height:28px; font-weight:400; letter-spacing:-0.01em; max-width:500px; margin:0 auto 34px; }
  .cta-actions{
    display:flex;
    justify-content:center;
    gap:16px;
    margin-top:0;
    flex-wrap:wrap;
  }
  /* ---------- footer ---------- */
  footer{ border-top:1px solid var(--line); padding:70px 0 40px; }
  .foot-grid{ display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:40px; margin-bottom:60px; }
  .foot-brand p{ font-family:var(--font-body); font-size:14px; line-height:22px; font-weight:400; color:var(--muted); margin:18px 0 24px; max-width:280px; }
  .foot-col h4{
    font-family:var(--font-body); font-size:12px; line-height:16px; font-weight:600; letter-spacing:0.1em; color:var(--muted-2);
    text-transform:uppercase; margin-bottom:20px;
  }
  .foot-col a,
  .foot-link-unavailable{ display:block; font-family:var(--font-body); font-size:14px; line-height:20px; font-weight:400; color:var(--muted); margin-bottom:14px; transition:color .2s ease;}
  .foot-col a:hover{ color:var(--text); }
  .foot-link-unavailable{ opacity:.62; cursor:default; }
  .foot-bottom{
    display:flex; justify-content:space-between; align-items:center;
    padding-top:32px; border-top:1px solid var(--line);
    font-family:var(--font-body); font-size:13px; line-height:18px; font-weight:400; color:var(--muted-2);
    flex-wrap:wrap; gap:16px;
  }
  .foot-socials{ display:flex; gap:10px; }
  .social-icon{
    position:relative;
    width:34px;
    height:34px;
    flex:0 0 34px;
    display:grid;
    place-items:center;
    margin:0;
    border:1px solid var(--line);
    border-radius:9px;
    color:var(--muted);
    background:rgba(12,14,28,.36);
    cursor:pointer;
    transition:
      color .25s ease,
      border-color .25s ease,
      background .25s ease,
      transform .25s ease,
      box-shadow .25s ease;
  }
  .social-icon:hover,
  .social-icon:focus-visible{
    color:#fff;
    border-color:rgba(56,232,224,.55);
    background:linear-gradient(135deg,rgba(56,232,224,.14),rgba(109,94,245,.24));
    box-shadow:0 8px 22px rgba(0,0,0,.28),0 0 18px rgba(56,232,224,.16),0 0 26px rgba(109,94,245,.14);
    transform:translateY(-3px);
  }
  .social-icon:focus-visible{
    outline:2px solid rgba(56,232,224,.7);
    outline-offset:3px;
  }
  .social-icon--instagram::before{
    content:"";
    width:15px;
    height:15px;
    border:1.7px solid currentColor;
    border-radius:4.5px;
  }
  .social-icon--instagram::after{
    content:"";
    position:absolute;
    width:5px;
    height:5px;
    border:1.5px solid currentColor;
    border-radius:50%;
    box-shadow:5px -5px 0 -2px currentColor;
  }
  .social-icon--linkedin::before{
    content:"in";
    font-family:var(--font-body);
    font-size:14px;
    line-height:1;
    font-weight:600;
    letter-spacing:-.04em;
  }
  .social-icon--facebook::before{
    content:"f";
    font-family:Arial,sans-serif;
    font-size:20px;
    line-height:1;
    font-weight:700;
    transform:translateY(1px);
  }
  .social-icon--email::before{
    content:"";
    width:16px;
    height:11px;
    border:1.6px solid currentColor;
    border-radius:2px;
  }
  .social-icon--email::after{
    content:"";
    position:absolute;
    width:9px;
    height:9px;
    border-right:1.5px solid currentColor;
    border-bottom:1.5px solid currentColor;
    transform:translateY(-3px) rotate(45deg);
  }

  /* ---------- authentication modal ---------- */
  body.auth-modal-open{ overflow:hidden; }
  .auth-overlay{
    position:fixed;
    inset:0;
    z-index:1000;
    display:flex;
    align-items:flex-start;
    justify-content:center;
    padding:20px;
    overflow-x:hidden;
    overflow-y:auto;
    overscroll-behavior:contain;
    scrollbar-width:none;
    background:rgba(3,4,12,.78);
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
    opacity:0;
    visibility:hidden;
    transition:opacity .32s ease,visibility .32s ease;
  }
  .auth-overlay::-webkit-scrollbar{ display:none; }
  .auth-overlay[hidden]{ display:none; }
  .auth-overlay.is-open{
    opacity:1;
    visibility:visible;
  }
  .auth-modal{
    position:relative;
    isolation:isolate;
    flex:0 0 auto;
    width:min(480px,calc(100vw - 40px));
    margin:auto 0;
    padding:34px;
    border:1px solid rgba(142,157,215,.26);
    border-radius:24px;
    color:var(--text);
    background:
      radial-gradient(circle at 10% 0%,rgba(56,232,224,.08),transparent 30%),
      radial-gradient(circle at 100% 100%,rgba(109,94,245,.12),transparent 36%),
      linear-gradient(155deg,rgba(18,22,48,.97),rgba(8,10,24,.98));
    box-shadow:
      0 38px 100px rgba(0,0,0,.58),
      0 0 34px rgba(75,111,255,.12),
      inset 0 1px 0 rgba(255,255,255,.07);
    opacity:0;
    transform:translateY(20px) scale(.97);
    transition:opacity .36s cubic-bezier(.22,1,.36,1),transform .36s cubic-bezier(.22,1,.36,1);
  }
  .auth-modal::before{
    content:"";
    position:absolute;
    inset:-1px;
    z-index:-1;
    padding:1px;
    border-radius:inherit;
    pointer-events:none;
    background:linear-gradient(130deg,rgba(56,232,224,.46),rgba(75,111,255,.18) 52%,rgba(163,76,255,.42));
    -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
    -webkit-mask-composite:xor;
    mask-composite:exclude;
  }
  .auth-overlay.is-open .auth-modal{
    opacity:1;
    transform:translateY(0) scale(1);
  }
  .auth-close{
    position:absolute;
    top:18px;
    right:18px;
    width:36px;
    height:36px;
    display:grid;
    place-items:center;
    border:1px solid rgba(142,157,215,.2);
    border-radius:50%;
    color:var(--muted);
    background:rgba(5,7,18,.64);
    cursor:pointer;
    transition:color .2s ease,border-color .2s ease,background .2s ease,transform .2s ease,box-shadow .2s ease;
  }
  .auth-close::before,
  .auth-close::after{
    content:"";
    position:absolute;
    width:14px;
    height:1.5px;
    border-radius:2px;
    background:currentColor;
  }
  .auth-close::before{ transform:rotate(45deg); }
  .auth-close::after{ transform:rotate(-45deg); }
  .auth-close:hover,
  .auth-close:focus-visible{
    color:#fff;
    border-color:rgba(56,232,224,.5);
    background:rgba(56,232,224,.08);
    box-shadow:0 0 18px rgba(56,232,224,.12);
    transform:rotate(4deg);
    outline:none;
  }
  .auth-header{ padding-right:42px; }
  .auth-title{
    font-family:var(--font-display);
    font-size:30px;
    line-height:1.15;
    font-weight:700;
    letter-spacing:-.03em;
  }
  .auth-subtitle{
    margin-top:9px;
    color:var(--muted);
    font-family:var(--font-body);
    font-size:15px;
    line-height:23px;
  }
  .auth-tabs{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:4px;
    margin:24px 0 22px;
    padding:4px;
    border:1px solid rgba(142,157,215,.16);
    border-radius:13px;
    background:rgba(4,6,16,.58);
  }
  .auth-tab{
    min-height:42px;
    border:0;
    border-radius:9px;
    color:var(--muted);
    background:transparent;
    font-family:var(--font-body);
    font-size:14px;
    line-height:20px;
    font-weight:600;
    cursor:pointer;
    transition:color .2s ease,background .2s ease,box-shadow .2s ease;
  }
  .auth-tab[aria-selected="true"]{
    color:#fff;
    background:linear-gradient(135deg,rgba(56,232,224,.16),rgba(75,111,255,.28) 54%,rgba(163,76,255,.24));
    box-shadow:inset 0 0 0 1px rgba(125,151,255,.22),0 5px 18px rgba(75,111,255,.12);
  }
  .auth-tab:focus-visible{
    outline:2px solid rgba(56,232,224,.68);
    outline-offset:2px;
  }
  .auth-form[hidden],
  .auth-success[hidden]{ display:none; }
  .auth-form{
    display:flex;
    flex-direction:column;
    gap:15px;
  }
  .auth-field{ display:block; }
  .auth-label{
    display:block;
    margin-bottom:7px;
    color:#d8daed;
    font-family:var(--font-body);
    font-size:13px;
    line-height:18px;
    font-weight:600;
  }
  .auth-input-wrap{ position:relative; }
  .auth-input{
    width:100%;
    min-height:48px;
    padding:12px 14px;
    border:1px solid rgba(142,157,215,.22);
    border-radius:12px;
    color:var(--text);
    background:rgba(4,6,16,.54);
    font-family:var(--font-body);
    font-size:16px;
    line-height:22px;
    font-weight:400;
    outline:none;
    transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;
  }
  .auth-input::placeholder{ color:#676c91; }
  .auth-input:hover{ border-color:rgba(160,170,255,.34); }
  .auth-input:focus{
    border-color:rgba(56,232,224,.62);
    background:rgba(6,9,22,.76);
    box-shadow:0 0 0 3px rgba(56,232,224,.07),0 0 18px rgba(75,111,255,.09);
  }
  .auth-input[aria-invalid="true"]{
    border-color:#ef6b7b;
    box-shadow:0 0 0 3px rgba(239,107,123,.08);
  }
  .auth-input-wrap .auth-input{ padding-right:58px; }
  .auth-password-toggle{
    position:absolute;
    top:50%;
    right:8px;
    transform:translateY(-50%);
    width:38px;
    height:38px;
    display:grid;
    place-items:center;
    border:0;
    border-radius:9px;
    color:#8f94b8;
    background:transparent;
    cursor:pointer;
    transition:color .2s ease,background .2s ease,box-shadow .2s ease;
  }
  .auth-password-toggle .material-symbols-outlined{
    display:block;
    font-size:22px;
    line-height:1;
    font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24;
  }
  .auth-password-toggle:hover,
  .auth-password-toggle:focus-visible{
    color:var(--cyan);
    background:rgba(56,232,224,.07);
    box-shadow:0 0 14px rgba(56,232,224,.1);
    outline:none;
  }
  .auth-error{
    min-height:0;
    margin-top:5px;
    color:#ff8b98;
    font-family:var(--font-body);
    font-size:12px;
    line-height:17px;
  }
  .auth-requirement{
    margin-top:6px;
    color:var(--muted-2);
    font-family:var(--font-body);
    font-size:12px;
    line-height:17px;
  }
  .auth-options{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
  }
  .auth-check{
    display:flex;
    align-items:flex-start;
    gap:9px;
    color:var(--muted);
    font-family:var(--font-body);
    font-size:13px;
    line-height:19px;
    cursor:pointer;
  }
  .auth-check input{
    width:16px;
    height:16px;
    margin-top:1px;
    flex:0 0 auto;
    accent-color:var(--violet);
  }
  .auth-link,
  .auth-switch{
    border:0;
    padding:0;
    color:#8feee9;
    background:transparent;
    font:inherit;
    cursor:pointer;
    text-decoration:none;
  }
  .auth-link:hover,
  .auth-switch:hover{ color:#fff; }
  .auth-link:focus-visible,
  .auth-switch:focus-visible{
    outline:2px solid rgba(56,232,224,.65);
    outline-offset:3px;
    border-radius:3px;
  }
  .auth-submit,
  .auth-google{
    width:100%;
    min-height:48px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    border-radius:12px;
    font-family:var(--font-body);
    font-size:15px;
    line-height:20px;
    font-weight:600;
    cursor:pointer;
    transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,background .2s ease;
  }
  .auth-submit{
    border:0;
    color:#fff;
    background:linear-gradient(135deg,var(--violet),var(--indigo));
    box-shadow:0 12px 26px rgba(75,111,255,.24);
  }
  .auth-submit:hover:not(:disabled){
    transform:translateY(-1px);
    box-shadow:0 16px 32px rgba(75,111,255,.34),0 0 20px rgba(109,94,245,.18);
  }
  .auth-submit:disabled{ opacity:.68; cursor:wait; }
  .auth-submit:focus-visible,
  .auth-google:focus-visible{
    outline:2px solid rgba(56,232,224,.72);
    outline-offset:3px;
  }
  .auth-spinner{
    width:16px;
    height:16px;
    display:none;
    border:2px solid rgba(255,255,255,.32);
    border-top-color:#fff;
    border-radius:50%;
    animation:auth-spin .7s linear infinite;
  }
  .auth-submit.is-loading .auth-spinner{ display:block; }
  @keyframes auth-spin{ to{ transform:rotate(360deg); } }
  .auth-divider{
    display:flex;
    align-items:center;
    gap:12px;
    color:var(--muted-2);
    font-family:var(--font-body);
    font-size:12px;
    line-height:16px;
  }
  .auth-divider::before,
  .auth-divider::after{
    content:"";
    height:1px;
    flex:1;
    background:var(--line);
  }
  .auth-google{
    border:1px solid rgba(142,157,215,.24);
    color:#e5e7f5;
    background:rgba(7,9,22,.5);
  }
  .auth-google:hover{
    border-color:rgba(160,170,255,.42);
    background:rgba(18,21,45,.7);
    transform:translateY(-1px);
  }
  .auth-google:disabled{ opacity:.68; cursor:wait; transform:none; }
  .auth-google-mark{
    font-family:Arial,sans-serif;
    font-size:17px;
    line-height:1;
    font-weight:700;
    background:conic-gradient(from -45deg,#4285f4 0 25%,#34a853 0 43%,#fbbc05 0 68%,#ea4335 0 84%,#4285f4 0);
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
  }
  .auth-secondary{
    color:var(--muted);
    text-align:center;
    font-family:var(--font-body);
    font-size:13px;
    line-height:20px;
  }
  .auth-success{
    padding:42px 10px 26px;
    text-align:center;
  }
  .auth-success-icon{
    width:58px;
    height:58px;
    display:grid;
    place-items:center;
    margin:0 auto 20px;
    border:1px solid rgba(86,214,163,.38);
    border-radius:50%;
    color:#8ff0c7;
    background:rgba(86,214,163,.08);
    box-shadow:0 0 26px rgba(86,214,163,.13);
    font-size:25px;
  }
  .auth-success h3{
    font-family:var(--font-display);
    font-size:28px;
    line-height:34px;
    font-weight:700;
  }
  .auth-success p{
    margin-top:9px;
    color:var(--muted);
    font-family:var(--font-body);
    font-size:15px;
    line-height:23px;
  }
  @media (max-width:600px){
    .auth-overlay{ padding:20px; }
    .auth-modal{
      width:calc(100vw - 40px);
      padding:24px;
      border-radius:20px;
    }
    .auth-close{ top:14px; right:14px; }
    .auth-title{ font-size:26px; padding-right:24px; }
    .auth-tabs{ margin-top:20px; }
    .auth-options{ align-items:flex-start; }
  }
  @media (max-width:380px){
    .auth-overlay{ padding:10px; }
    .auth-modal{ width:calc(100vw - 20px); padding:22px 18px; }
    .auth-options{ flex-direction:column; gap:10px; }
  }

  /* ---------- reveal on scroll ---------- */
  .reveal{ opacity:0; transform:translateY(24px); transition:opacity .8s ease, transform .8s ease; }
  .reveal.in{ opacity:1; transform:translateY(0); }

  /* ---------- staggered scroll-reveal system ---------- */
  /* Applies a subtle, cinematic cascade to the direct children of any
     .stagger-group: each .stagger-item fades and lifts in slightly after
     the previous one, driven by a per-item --stagger-i index set in JS. */
  .stagger-group .stagger-item{
    opacity:0;
    transform:translateY(16px);
    transition:
      opacity .7s cubic-bezier(.22,1,.36,1),
      transform .7s cubic-bezier(.22,1,.36,1);
    transition-delay: calc(var(--stagger-i, 0) * 110ms);
    will-change:opacity, transform;
  }
  .stagger-group.is-revealed .stagger-item{
    opacity:1;
    transform:translateY(0);
  }
  /* once revealed, drop the transition so hover/focus states on cards,
     links and buttons stay instant rather than re-triggering the cascade */
  .stagger-group.is-revealed .stagger-item{
    transition-delay: calc(var(--stagger-i, 0) * 110ms), calc(var(--stagger-i, 0) * 110ms);
  }
  @media (prefers-reduced-motion: reduce){
    .stagger-group .stagger-item{
      opacity:1 !important;
      transform:none !important;
      transition:none !important;
    }
  }

  /* ---------- capability sequence reveal ---------- */
  .cap-grid.cap-sequence-ready .cap-card{
    --cap-delay:0ms;
    opacity:0;
    transform:translateY(36px) scale(.97);
    filter:blur(5px);
    transition:
      opacity .8s cubic-bezier(.22,1,.36,1),
      transform .8s cubic-bezier(.22,1,.36,1),
      filter .8s cubic-bezier(.22,1,.36,1),
      border-color .4s ease,
      box-shadow .4s ease;
  }
  .cap-grid.cap-sequence-ready .cap-card:nth-child(2){ --cap-delay:140ms; }
  .cap-grid.cap-sequence-ready .cap-card:nth-child(3){ --cap-delay:280ms; }
  .cap-grid.cap-sequence-ready .cap-card:nth-child(4){ --cap-delay:420ms; }
  .cap-grid.cap-sequence-ready.is-revealed .cap-card{
    opacity:1;
    transform:translateY(0) scale(1);
    filter:blur(0);
    transition-delay:var(--cap-delay),var(--cap-delay),var(--cap-delay),0ms,0ms;
  }
  .cap-grid.cap-sequence-ready .cap-pillar-icon{
    opacity:0;
    transform:translateY(12px) scale(.9);
    filter:brightness(.88) drop-shadow(0 0 5px rgba(var(--pillar-accent),.08));
    transition:
      opacity .62s cubic-bezier(.22,1,.36,1),
      transform .72s cubic-bezier(.22,1,.36,1),
      filter .72s cubic-bezier(.22,1,.36,1);
  }
  .cap-grid.cap-sequence-ready.is-revealed .cap-pillar-icon{
    opacity:1;
    transform:translateY(2px) scale(.96);
    filter:drop-shadow(0 0 12px rgba(var(--pillar-accent),.145));
    transition-delay:
      calc(var(--cap-delay) + 120ms),
      calc(var(--cap-delay) + 120ms),
      calc(var(--cap-delay) + 120ms);
  }
  .cap-grid.cap-sequence-ready .cap-copy{
    opacity:0;
    transform:translateY(14px);
    transition:
      opacity .58s cubic-bezier(.22,1,.36,1),
      transform .58s cubic-bezier(.22,1,.36,1);
  }
  .cap-grid.cap-sequence-ready.is-revealed .cap-copy{
    opacity:1;
    transform:translateY(0);
    transition-delay:
      calc(var(--cap-delay) + 200ms),
      calc(var(--cap-delay) + 200ms);
  }
  .cap-grid.cap-sequence-ready::before{
    opacity:0;
    clip-path:inset(0 100% 0 0);
  }
  .cap-grid.cap-sequence-ready.sequence-complete::before{
    opacity:.6;
    clip-path:inset(0 0 0 0);
    transition:clip-path 1.1s cubic-bezier(.22,1,.36,1),opacity .7s ease;
  }
  .cap-grid.cap-sequence-ready.sequence-complete .cap-card{
    transition:
      border-color .4s ease,
      transform .4s cubic-bezier(.2,.75,.2,1),
      box-shadow .4s ease;
    transition-delay:0ms;
  }
  .cap-grid.cap-sequence-ready.sequence-complete .cap-pillar-icon{
    transition:
      transform .6s cubic-bezier(.2,.8,.2,1),
      filter .6s ease;
    transition-delay:0ms;
  }
  .cap-grid.cap-sequence-ready.sequence-complete .cap-copy{
    transition:none;
  }
  .cap-grid.cap-sequence-ready.sequence-complete .cap-card:hover,
  .cap-grid.cap-sequence-ready.sequence-complete .cap-card:focus-visible{
    transform:translateY(-7px);
  }
  .cap-grid.cap-sequence-ready.sequence-complete .cap-card:hover .cap-pillar-icon,
  .cap-grid.cap-sequence-ready.sequence-complete .cap-card:focus-visible .cap-pillar-icon{
    transform:translateY(-4px) scale(1.035);
    filter:brightness(1.08) drop-shadow(0 0 18px rgba(var(--pillar-accent),.255));
  }
  .cap-grid.cap-sequence-ready.sequence-complete .cap-card:nth-child(2):hover .cap-pillar-icon{
    transform:translateY(-4px) scale(1.035) rotate(1.5deg);
  }
  .cap-grid.cap-sequence-ready.sequence-complete .cap-card:nth-child(3):hover .cap-pillar-icon{
    transform:translateY(-4px) scale(1.035) rotate(-1.5deg);
  }
  .cap-grid.cap-sequence-ready.sequence-complete .cap-card:nth-child(4):hover .cap-pillar-icon{
    transform:translateY(-4px) scale(1.035) rotate(1deg);
  }

  /* ---------- responsive ---------- */
  @media (max-width:1239px){
    #capabilities .section-head{ margin-bottom:44px; }
    .cap-grid{
      grid-template-columns:repeat(2,minmax(0,1fr));
      gap:18px;
      margin-top:0;
      padding:0;
      overflow:visible;
    }
    .cap-grid::before{ display:none; }
    .cap-card{ height:380px; }
    .cap-card:nth-child(1),
    .cap-card:nth-child(3){ margin-top:32px; }
    .cap-card:nth-child(2),
    .cap-card:nth-child(4){ margin-top:0; }
    .cap-visual{ height:190px; flex-basis:190px; }
  }
  @media (max-width:980px){
    .nav-links{ display:none; }
    .hero-grid{ grid-template-columns:1fr; }
    .hero-sub .desktop-break{ display:none; }
    .orb-stage{ height:500px; margin-top:20px; }
    .orb-video-wrap{ width:520px; height:520px; }
    .orb-glow{ width:400px; height:400px; }
    .story-grid{ grid-template-columns:minmax(400px,1.1fr) minmax(0,.9fr); gap:30px; }
    .story-card{ min-width:166px; padding:10px 12px; }
    #industries .section-head{ margin-bottom:54px; }
    .industry-carousel{ grid-template-columns:repeat(2, minmax(0, 1fr)); gap:16px; }
    .solution-card{ height:410px; }
    .industry-visual{ height:245px; }
    .proof-mini{ width:300px; }
    .faq-panel{ grid-template-columns:1fr; gap:32px; }
    .faq-list{ max-width:none; }
    .faq-panel-copy p{ max-width:none; }
    .foot-grid{ grid-template-columns:1fr 1fr; }
    .cta-band{
      min-height:auto;
      padding:60px 36px 72px;
      text-align:center;
    }
    .cta-inner{ max-width:700px; }
    .cta-logo{ margin-left:auto; margin-right:auto; }
    .cta-band p{ margin-left:auto; margin-right:auto; }
    .cta-actions{ justify-content:center; }
  }
  @media (max-width:760px){
    #lifecycle{ padding-top:60px; }
    .story-grid{ display:flex; flex-direction:column; }
    .story-visual{ display:none; }
    .story-scene{ width:min(100%,360px); margin:0 auto; }
    .story-steps{ order:1; }
    .story-steps{ padding-top:0; }
    .story-step{ min-height:auto; padding:24px 0; opacity:1; transform:none; gap:20px; }
    .story-step.is-active{ opacity:1; transform:translateY(0); }
    .story-step.is-passed{ opacity:1; transform:translateY(0); }
    .step-rail{ flex-basis:32px; }
    .step-node{ width:32px; height:32px; font-size:11px; }
    .story-step .step-body{
      opacity:1 !important;
    }
    .story-step .step-node{
      color:var(--cyan);
      background:var(--panel);
      border-color:rgba(56,232,224,0.55);
      box-shadow:0 0 4px rgba(56,232,224,0.25), 0 0 26px rgba(56,232,224,0.4);
    }
    .story-step .step-line-fill{
      height:100% !important;
    }
    .story-card{ min-width:145px; max-width:158px; padding:9px 10px; }
    .story-card strong{ font-size:11px; }
    .story-card span{ font-size:10px; }
    .story-card-1{ top:2%; right:0; }
    .story-card-2{ bottom:1%; left:0; }
    .story-card-3{ display:none; }
    .story-status{ top:17%; left:0; font-size:9px; }
    #industries .section-head{ margin-bottom:42px; }
    .solution-card{ height:400px; }
    .industry-visual{ height:235px; }
    .industry-card-copy{ padding:16px 16px 24px; }
    .industry-card-copy h3{ font-size:22px; }
    .proof-mini{ width:270px; padding:22px 22px 20px; }
    .proof-row-1 .proof-row-track{ animation-duration:34s; }
    .proof-row-2 .proof-row-track{ animation-duration:30s; }
  }
  @media (max-width:600px){
    .wrap{ padding:0 20px; }
    nav{ padding:16px 20px; }
    .hero{ padding:60px 0; }
    h1.hero-title{
      font-size:42px;
      line-height:1.04;
      letter-spacing:-0.03em;
    }
    .hero-sub{
      font-size:16px;
      line-height:24px;
    }
    .section-head p,
    .faq-panel-copy p,
    .cta-band p{
      font-size:16px;
      line-height:24px;
    }
    .faq-q{
      font-size:16px;
      line-height:23px;
    }
    .faq-a p{
      font-size:15px;
      line-height:23px;
    }
    .orb-stage{ height:350px; }
    .orb-video-wrap{ width:350px; height:350px; }
    .orb-glow{ width:285px; height:285px; }
    #capabilities .section-head{ margin-bottom:44px; }
    .cap-grid{
      grid-template-columns:1fr;
      gap:16px;
      padding:0;
      overflow:visible;
      scroll-snap-type:none;
    }
    .cap-card,
    .cap-card:nth-child(1),
    .cap-card:nth-child(2),
    .cap-card:nth-child(3),
    .cap-card:nth-child(4){
      height:370px;
      width:100%;
      margin-top:0;
      border-radius:21px;
    }
    .cap-visual{ height:185px; flex-basis:185px; border-radius:15px; }
    .cap-copy{ margin-top:-24px; padding:16px 15px 12px; }
    .cap-copy > p{ padding-right:0; }
    .booking-panel{ left:15px; top:29px; width:194px; }
    .qualify-panel{ right:12px; bottom:19px; }
    .analytics-panel{ left:15px; right:15px; top:23px; }
    .sync-panel{ left:29px; right:29px; bottom:18px; }
    .industry-carousel{ grid-template-columns:1fr; gap:16px; }
    .solution-card{ height:400px; border-radius:21px; }
    .industry-visual{ height:235px; border-radius:15px; }
    .industry-card-copy p{ font-size:15px; line-height:23px; }
    .proof-mini{ width:250px; padding:20px 20px 18px; }
    .proof-mini-quote{ font-size:16px; line-height:25px; }
    .foot-grid{ grid-template-columns:1fr; gap:32px; }
    .section-pad{ padding:80px 0; }
    .cta-band{
      padding:48px 20px 60px;
      border-radius:22px;
    }
    .cap-grid.cap-sequence-ready .cap-card{
      transform:translateY(22px) scale(.97);
    }
    .cap-grid.cap-sequence-ready.is-revealed .cap-card{
      transform:translateY(0) scale(1);
    }
  }

  /* ---------- focused mobile experience ---------- */
  .nav-toggle,
  .mobile-nav-panel,
  .mobile-sticky-cta,
  .mobile-orb-ui{ display:none; }

  @media (max-width:600px){
    body{ padding-bottom:calc(76px + env(safe-area-inset-bottom)); }
    .grid-overlay{ background-size:48px 48px; opacity:.72; }
    header{ background:rgba(5,6,13,.82); }
    nav{
      position:relative;
      min-height:68px;
      padding-top:12px;
      padding-bottom:12px;
    }
    .brand{ gap:9px; }
    .brand-mark{ width:32px; height:32px; }
    .brand-name{ font-size:18px; line-height:22px; }
    .nav-actions{ gap:8px; }
    .nav-actions .btn-primary{ display:none; }
    .nav-actions .btn-ghost{
      min-height:44px;
      display:inline-flex;
      align-items:center;
      padding:0 10px;
      font-size:14px;
    }
    .nav-toggle{
      width:44px;
      height:44px;
      display:grid;
      place-items:center;
      padding:0;
      border:1px solid var(--line);
      border-radius:11px;
      color:var(--text);
      background:rgba(12,14,28,.7);
      cursor:pointer;
    }
    .nav-toggle-lines,
    .nav-toggle-lines::before,
    .nav-toggle-lines::after{
      width:18px;
      height:1.5px;
      display:block;
      border-radius:2px;
      background:currentColor;
      transition:transform .22s ease,opacity .22s ease;
    }
    .nav-toggle-lines{ position:relative; }
    .nav-toggle-lines::before,
    .nav-toggle-lines::after{
      content:"";
      position:absolute;
      left:0;
    }
    .nav-toggle-lines::before{ top:-6px; }
    .nav-toggle-lines::after{ top:6px; }
    header.mobile-menu-open .nav-toggle-lines{ background:transparent; }
    header.mobile-menu-open .nav-toggle-lines::before{ top:0; transform:rotate(45deg); }
    header.mobile-menu-open .nav-toggle-lines::after{ top:0; transform:rotate(-45deg); }
    .mobile-nav-panel{
      position:absolute;
      top:100%;
      left:0;
      right:0;
      display:grid;
      grid-template-rows:0fr;
      padding:0 20px;
      border-bottom:1px solid transparent;
      background:rgba(5,6,13,.96);
      backdrop-filter:blur(18px);
      -webkit-backdrop-filter:blur(18px);
      opacity:0;
      visibility:hidden;
      transition:grid-template-rows .28s ease,opacity .22s ease,visibility .22s ease,border-color .22s ease;
    }
    .mobile-nav-inner{
      min-height:0;
      overflow:hidden;
      display:flex;
      flex-direction:column;
    }
    header.mobile-menu-open .mobile-nav-panel{
      grid-template-rows:1fr;
      padding-bottom:20px;
      border-color:var(--line);
      opacity:1;
      visibility:visible;
    }
    .mobile-nav-panel a{
      min-height:48px;
      display:flex;
      align-items:center;
      border-bottom:1px solid rgba(142,157,215,.1);
      color:#dfe2f4;
      font-family:var(--font-body);
      font-size:16px;
      line-height:24px;
      font-weight:500;
    }
    .mobile-nav-panel .mobile-nav-cta{
      justify-content:center;
      min-height:50px;
      margin-top:14px;
      border:0;
      border-radius:12px;
      color:#fff;
      background:linear-gradient(135deg,var(--violet),var(--indigo));
      box-shadow:0 10px 26px rgba(75,111,255,.24);
      font-weight:600;
    }

    .hero{ padding:42px 0 24px; }
    #lifecycle{ padding-top:30px; }
    .story-step:first-child{ padding-top:18px; }
    .hero-grid{ gap:18px; }
    .hero-copy{ max-width:none; }
    .eyebrow{
      margin-bottom:20px;
      padding:7px 12px;
      font-size:11px;
      line-height:15px;
    }
    h1.hero-title{
      font-size:clamp(40px,11vw,44px);
      line-height:1.05;
      letter-spacing:-.035em;
    }
    .hero-sub{
      margin-top:20px;
      font-size:18px;
      line-height:26px;
    }
    .hero-ctas{
      width:100%;
      flex-direction:column;
      align-items:stretch;
      gap:12px;
      margin-top:28px;
    }
    .hero-ctas .btn-primary,
    .hero-ctas .btn-secondary{
      min-height:52px;
      justify-content:center;
      width:100%;
      padding:14px 18px;
    }
    .orb-stage{
      height:430px;
      margin-top:4px;
      transform:none;
    }
    .hero-orb .orb-video-wrap{
      width:520px;
      height:520px;
      max-width:none;
      max-height:none;
    }
    .hero-orb .orb-glow{
      width:380px;
      height:380px;
      opacity:.8;
      filter:blur(38px);
    }
    .mobile-orb-ui{
      position:absolute;
      inset:0;
      z-index:6;
      display:block;
      pointer-events:none;
    }
    .mobile-orb-card{
      position:absolute;
      min-height:54px;
      display:flex;
      align-items:center;
      gap:9px;
      padding:9px 11px;
      border:1px solid transparent;
      border-radius:13px;
      color:#f5f7ff;
      background:
        linear-gradient(145deg,rgba(5,12,28,.94),rgba(10,9,29,.9)) padding-box,
        linear-gradient(110deg,#20e7ff,#4f9cff 55%,#a44fff) border-box;
      box-shadow:
        0 14px 34px rgba(0,0,0,.42),
        0 0 8px rgba(44,221,255,.52),
        0 0 24px rgba(91,103,255,.25),
        inset 0 1px 0 rgba(255,255,255,.1);
      backdrop-filter:blur(14px) saturate(145%);
      -webkit-backdrop-filter:blur(14px) saturate(145%);
    }
    .mobile-orb-card::after{
      content:"";
      position:absolute;
      inset:4px;
      border:1px solid rgba(122,224,255,.06);
      border-radius:9px;
      pointer-events:none;
    }
    .mobile-orb-card--live{
      top:35px;
      right:-8px;
      width:158px;
      animation:mobile-orb-float-a 5.4s ease-in-out infinite;
    }
    .mobile-orb-card--intent{
      left:-8px;
      bottom:45px;
      width:150px;
      animation:mobile-orb-float-b 6.2s ease-in-out infinite;
    }
    .mobile-orb-card--sync{
      right:-8px;
      bottom:18px;
      width:150px;
      animation:mobile-orb-float-c 5.8s ease-in-out infinite;
    }
    .mobile-orb-card-icon{
      position:relative;
      z-index:1;
      width:30px;
      height:30px;
      flex:0 0 30px;
      display:grid;
      place-items:center;
      border:1px solid rgba(43,230,255,.9);
      border-radius:50%;
      color:#eaffff;
      background:rgba(79,91,255,.16);
      box-shadow:0 0 0 2px rgba(105,82,255,.2),0 0 10px rgba(42,224,255,.42);
    }
    .mobile-orb-card-icon svg{ width:16px; height:16px; }
    .mobile-orb-signal{
      width:9px;
      height:9px;
      border:2px solid #f7fdff;
      border-radius:50%;
      box-shadow:0 0 8px #fff,0 0 15px #29dcff,0 0 22px #7a5cff;
    }
    .mobile-orb-card-copy{
      position:relative;
      z-index:1;
      min-width:0;
    }
    .mobile-orb-card-copy strong{
      display:block;
      overflow:hidden;
      color:#f5f7ff;
      font-family:var(--font-body);
      font-size:12px;
      line-height:16px;
      font-weight:600;
      white-space:nowrap;
      text-overflow:ellipsis;
    }
    .mobile-orb-card-copy span{
      display:block;
      overflow:hidden;
      margin-top:2px;
      color:#aeb7dc;
      font-family:var(--font-body);
      font-size:10px;
      line-height:14px;
      white-space:nowrap;
      text-overflow:ellipsis;
    }
    @keyframes mobile-orb-float-a{
      0%,100%{ transform:translate3d(0,0,0); }
      50%{ transform:translate3d(-4px,-6px,0); }
    }
    @keyframes mobile-orb-float-b{
      0%,100%{ transform:translate3d(0,0,0); }
      50%{ transform:translate3d(5px,-4px,0); }
    }
    @keyframes mobile-orb-float-c{
      0%,100%{ transform:translate3d(0,0,0); }
      50%{ transform:translate3d(-3px,5px,0); }
    }

    .section-pad{ padding:68px 0; }
    .section-head{ margin-bottom:36px; }
    .section-head h2,
    .faq-panel-copy h2,
    .proof-head h2,
    .cta-band h2{
      font-size:32px;
      line-height:38px;
      letter-spacing:-.03em;
    }
    .section-head p,
    .faq-panel-copy p,
    .cta-band p{
      margin-top:16px;
      font-size:18px;
      line-height:26px;
    }
    .cap-card,
    .cap-card:nth-child(1),
    .cap-card:nth-child(2),
    .cap-card:nth-child(3),
    .cap-card:nth-child(4){
      height:auto;
      min-height:0;
    }
    .cap-visual{
      height:160px;
      flex-basis:160px;
      overflow:visible;
    }
    .cap-icon-stage{ inset:2px 12px 8px; }
    .cap-pillar-icon,
    .cap-card:nth-child(3) .cap-pillar-icon{
      width:48%;
      height:48%;
      transform:translateY(-5px) scale(.94);
    }
    .cap-grid.cap-sequence-ready.is-revealed .cap-pillar-icon,
    .cap-grid.cap-sequence-ready.sequence-complete .cap-pillar-icon{
      transform:translateY(-5px) scale(.94);
    }
    .cap-copy{ margin-top:0; padding:0 18px 24px; }
    .cap-number{ margin-bottom:8px; }
    .cap-copy h3{ font-size:22px; line-height:28px; }
    .cap-copy > p,
    .industry-card-copy p,
    .price-features li{
      font-size:16px;
      line-height:24px;
    }
    .solution-card{ height:auto; min-height:390px; }
    .industry-card-copy{ padding:18px 18px 24px; }

    .price-grid{ gap:20px; }
    .price-card{
      padding:34px 24px 24px;
      border-radius:18px;
    }
    .price-card.featured{
      margin-top:14px;
    }
    .price-grid .stagger-item.featured{
      order:-1;
    }
    .price-badge{ top:-14px; }
    .price-desc{ min-height:0; font-size:16px; line-height:24px; }
    .price-figure{ margin:22px 0 18px; }
    .price-features{ gap:14px; margin-bottom:28px; }
    .price-cta{ min-height:50px; }

    .faq-panel{ gap:26px; }
    .faq-panel-copy .kicker{ margin-bottom:14px; }
    .faq-list{ gap:10px; }
    .faq-q{
      min-height:60px;
      padding:16px 18px;
      font-size:18px;
      line-height:24px;
    }
    .faq-a p{
      padding:0 18px 18px;
      font-size:16px;
      line-height:24px;
    }

    footer{ padding:56px 0 30px; }
    .foot-grid{
      grid-template-columns:repeat(2,minmax(0,1fr));
      gap:34px 24px;
      margin-bottom:42px;
    }
    .foot-brand{ grid-column:1 / -1; }
    .foot-brand p{
      max-width:340px;
      font-size:16px;
      line-height:24px;
    }
    .foot-col a,
    .foot-link-unavailable{ min-height:36px; margin-bottom:5px; }
    .foot-bottom{ align-items:flex-start; flex-direction:column; padding-top:24px; }

    .auth-overlay{
      align-items:flex-end;
      padding:12px 0 0;
    }
    .auth-modal{
      width:100%;
      max-height:calc(100dvh - 12px);
      margin:auto 0 0;
      padding:24px 20px calc(22px + env(safe-area-inset-bottom));
      overflow-x:hidden;
      overflow-y:auto;
      border-radius:24px 24px 0 0;
      scrollbar-width:none;
    }
    .auth-modal::-webkit-scrollbar{ display:none; }
    .auth-header{ padding-right:44px; }
    .auth-title{ font-size:28px; line-height:34px; }
    .auth-subtitle{ font-size:16px; line-height:24px; }
    .auth-tabs{ position:sticky; top:-24px; z-index:3; margin:20px 0; }
    .auth-tab{ min-height:46px; font-size:15px; }
    .auth-form{ gap:14px; }
    .auth-label{ font-size:14px; line-height:20px; }
    .auth-input{ min-height:52px; font-size:16px; line-height:24px; }
    .auth-check{ font-size:14px; line-height:20px; }
    .auth-submit,
    .auth-google{ min-height:52px; font-size:16px; }
    .auth-secondary{ font-size:14px; }

    .mobile-sticky-cta{
      position:fixed;
      left:12px;
      right:12px;
      bottom:calc(10px + env(safe-area-inset-bottom));
      z-index:80;
      min-height:54px;
      display:flex;
      align-items:center;
      justify-content:center;
      border:1px solid rgba(255,255,255,.1);
      border-radius:14px;
      color:#fff;
      background:linear-gradient(135deg,rgba(109,94,245,.98),rgba(75,111,255,.98));
      box-shadow:0 14px 34px rgba(3,4,12,.66),0 8px 26px rgba(75,111,255,.32);
      font-family:var(--font-body);
      font-size:16px;
      line-height:22px;
      font-weight:600;
      opacity:0;
      pointer-events:none;
      transform:translateY(24px);
      transition:opacity .25s ease,transform .25s ease;
    }
    .mobile-sticky-cta.is-visible{
      opacity:1;
      pointer-events:auto;
      transform:translateY(0);
    }
    body.auth-modal-open .mobile-sticky-cta{ display:none; }
  }

  @media (prefers-reduced-motion: reduce){
    *{ animation:none !important; transition:none !important; }
    .cap-grid.cap-sequence-ready .cap-card,
    .cap-grid.cap-sequence-ready .cap-pillar-icon,
    .cap-grid.cap-sequence-ready .cap-copy{
      opacity:1 !important;
      transform:none !important;
      filter:none !important;
    }
    .cap-grid.cap-sequence-ready::before{
      opacity:.6 !important;
      clip-path:none !important;
    }
    .story-step{ opacity:1 !important; transform:none !important; min-height:auto; padding:44px 0; }
    .story-step .story-kicker,.story-step h3,.story-step p{ opacity:1 !important; transform:none !important; }
    .story-visual{ display:none !important; }
    .story-status{ display:none !important; }
    .story-card{ opacity:.55 !important; }
    .step-node{ color:var(--cyan) !important; background:var(--panel) !important; border-color:rgba(56,232,224,0.55) !important; }
    .step-line-fill{ height:100% !important; }
  }

  /* ========================================================================
     Responsive layout + animation stability pass
     Layout dimensions are fluid. Fixed pixel sizes below are limited to small
     decorative controls/icons that should not scale with the viewport.
     ======================================================================== */
  :root{
    --page-max:1280px;
    --wide-page-max:1400px;
    --page-gutter:clamp(16px,3vw,40px);
    --section-space:clamp(96px,10.5vw,144px);
    --card-gap:clamp(16px,2vw,24px);
    --header-height:77px;
  }

  html{
    overflow-x:clip;
    scroll-padding-top:calc(var(--header-height) + 16px);
  }
  body{
    min-width:280px;
    overflow-x:clip;
  }
  main,
  section,
  .wrap,
  nav,
  .hero-grid,
  .story-grid,
  .cap-grid,
  .industry-carousel,
  .price-grid,
  .faq-panel,
  .foot-grid{
    min-width:0;
  }
  section[id]{ scroll-margin-top:0; }

  .wrap,
  nav{
    width:100%;
    max-width:var(--page-max);
    padding-inline:var(--page-gutter);
  }
  #capabilities .wrap{ max-width:var(--page-max); }

  /* Keep every grid/flex child shrinkable instead of allowing its min-content
     width to enlarge the whole page. */
  .hero-grid > *,
  .story-grid > *,
  .cap-grid > *,
  .industry-carousel > *,
  .price-grid > *,
  .faq-panel > *,
  .foot-grid > *{
    min-width:0;
    max-width:100%;
  }

  .section-pad {
    padding-top: 0;
    padding-bottom: var(--section-space);
  }
  .section-head,
  .proof-head{
    width:min(100%,680px);
  }

  /* Header */
  nav{ gap:clamp(16px,2vw,32px); }
  .nav-links{ gap:clamp(20px,2.5vw,38px); }
  .nav-actions{ flex:0 0 auto; }

  /* Hero */
  .hero{ padding-block:clamp(42px,5vw,72px) clamp(32px,6vw,80px); }
  .hero-grid{
    grid-template-columns:minmax(0,1.02fr) minmax(340px,.98fr);
    gap:clamp(24px,4vw,64px);
  }
  .hero-copy{
    width:100%;
    max-width:680px;
  }
  .orb-stage{
    width:100%;
    height:auto;
    min-height:0;
    aspect-ratio:1;
    max-width:640px;
    margin-inline:auto;
  }
  .orb-video-wrap{
    width:100%;
    height:auto;
    max-width:640px;
    max-height:none;
    aspect-ratio:1;
  }
  .orb-glow{
    width:82%;
    height:auto;
    aspect-ratio:1;
  }
  @media (min-width:1240px){
    .hero-orb .orb-video-wrap{ transform:translateX(var(--orb-shift)) scale(1.32); }
    .hero-orb .orb-glow{ width:104%; height:auto; }
  }
  @media (min-width:981px) and (max-width:1239px){
    .hero-orb .orb-video-wrap{ transform:translateX(var(--orb-shift)) scale(1.14); }
    .hero-orb .orb-glow{ width:90%; height:auto; }
  }

  /* Stable story target: native CSS sticky positioning is used, with no
     ScrollTrigger pin-spacers. */
  #lifecycle{
    padding-block:0;
  }
  @media (min-width:1025px){
    .story-steps{ padding-bottom:clamp(240px,30vh,320px); }
  }
  .story-grid{
    grid-template-columns:minmax(0,1.02fr) minmax(320px,.82fr);
    gap:clamp(36px,6vw,92px);
  }
  .story-visual{
    position:sticky;
    top:calc(var(--header-height) + 12px);
    width:100%;
    height:calc(100svh - var(--header-height) - var(--header-height) - 24px);
    min-height:560px;
    max-height:none;
    overflow:visible;
    will-change:auto;
  }
  .story-scene{
    width:min(100%,620px);
    max-width:100%;
    transform:none;
  }
  .story-orb-target{
    position:absolute;
    left:50%;
    top:50%;
    z-index:2;
    width:min(100%,620px);
    aspect-ratio:1;
    transform:translate(-50%,-50%);
    pointer-events:none;
  }
  .story-ui{
    opacity:0;
    visibility:hidden;
    transition:opacity .25s ease,visibility 0s linear .25s;
  }
  .story-ui.is-visible{
    opacity:1;
    visibility:visible;
    transition:opacity .25s ease;
  }
  .story-ui-anchor{ display:none !important; }
  .story-steps{ padding-top:4vh; }
  .story-step{
    min-height:clamp(360px,48vh,520px);
  }
  .story-card.story-card-1,
  .story-card.story-card-2,
  .story-card.story-card-3{
    width:clamp(172px,18vw,222px);
    min-width:0;
  }

  /* Cards use fluid height/aspect ratio; only their decorative internals keep
     explicit dimensions. */
  .cap-grid{
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:var(--card-gap);
    align-items:stretch;
    margin-top:48px;
  }
  .cap-card,
  .cap-card:nth-child(1),
  .cap-card:nth-child(2),
  .cap-card:nth-child(3),
  .cap-card:nth-child(4){
    width:100%;
    height:auto;
    min-height:390px;
    margin-top:0;
  }
  .cap-grid::before{ display:none; }
  .cap-visual{
    height:auto;
    flex-basis:auto;
    aspect-ratio:1.42;
  }
  .cap-copy{ margin-top:-12px; }

  .industry-carousel{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:var(--card-gap);
    align-items:stretch;
  }
  .solution-card{
    width:100%;
    height:auto;
    min-height:420px;
  }
  .industry-visual{
    height:auto;
    aspect-ratio:1.52;
    min-height:220px;
  }

  .price-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:var(--card-gap);
    align-items:stretch;
  }
  .price-card{
    width:100%;
    height:100%;
  }
  .price-card.featured,
  .price-card.featured:hover{
    transform:none;
  }

  /* Testimonials now align to the same content width as the rest of the page.
     The animated track is clipped locally, so it cannot enlarge document width. */
  .proof-marquee{
    left:auto;
    right:auto;
    width:100%;
    max-width:100%;
    margin:8px 0 0;
    overflow:hidden;
    contain:paint;
    -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 5%,#000 95%,transparent 100%);
    mask-image:linear-gradient(90deg,transparent 0,#000 5%,#000 95%,transparent 100%);
  }
  .proof-row{ overflow:clip; }
  .proof-mini{
    width:clamp(260px,30vw,360px);
    max-width:calc(100vw - (var(--page-gutter) * 2));
  }

  .faq-panel{
    grid-template-columns:minmax(0,1fr) minmax(320px,600px);
    gap:clamp(32px,5vw,64px);
  }
  .faq-list{ max-width:100%; }

  .cta-band{
    width:100%;
    padding:clamp(44px,6vw,72px) var(--page-gutter) clamp(52px,7vw,78px);
  }

  .auth-modal{
    width:min(calc(100vw - (var(--page-gutter) * 2)),560px);
    max-width:560px;
  }

  /* Pause expensive infinite animations while their section or the page is not
     visible. This avoids animation/video workloads accumulating off-screen. */
  .proof-marquee.is-motion-paused .proof-row-track,
  .story-scene.is-motion-paused .story-card,
  .story-scene.is-motion-paused .live-waveform polyline,
  .mobile-orb-ui.is-motion-paused .mobile-orb-card,
  body.page-hidden *{
    animation-play-state:paused !important;
  }

  @media (max-width:1239px){
    .cap-grid{
      grid-template-columns:repeat(2,minmax(0,1fr));
      margin-top:0;
    }
    .cap-card,
    .cap-card:nth-child(1),
    .cap-card:nth-child(2),
    .cap-card:nth-child(3),
    .cap-card:nth-child(4){ min-height:380px; }
  }

  @media (max-width:1024px){
    :root{ --header-height:69px; }
    .hero-grid{ grid-template-columns:1fr; }
    .hero-copy{
      max-width:720px;
      justify-self:center;
      text-align:center;
    }
    .hero-sub{ margin-inline:auto; }
    .hero-ctas{ justify-content:center; }
    .orb-stage{ max-width:min(68vw,580px); }

    .story-grid{ display:block; }
    .story-visual{ display:none; }
    .story-steps{
      width:min(100%,760px);
      margin-inline:auto;
      padding-top:0;
    }
    .story-step{
      min-height:0;
      padding-block:clamp(28px,5vw,52px);
    }
    .step-body{ opacity:1 !important; }

    .faq-panel{ grid-template-columns:1fr; }
    .faq-panel-copy p{ max-width:680px; }
  }

  /* Tablet CTA groups follow the alignment of their left-aligned section copy. */
  @media (min-width:601px) and (max-width:1024px){
    .section-head:not(.section-head--centered):not(.proof-head) > .hero-ctas{
      justify-content:flex-start;
      margin-left:0;
      margin-right:auto;
    }
  }

  @media (max-width:900px){
    .industry-carousel{ grid-template-columns:repeat(2,minmax(0,1fr)); }
    .price-grid{ grid-template-columns:1fr; }
    .price-card{ height:auto; }
  }

  @media (max-width:700px){
    .wrap,
    nav{ padding-inline:var(--page-gutter); }
    .section-pad{ padding-block:clamp(84px,21vw,114px); }
    .section-head,
    .proof-head{ margin-bottom:clamp(32px,8vw,44px); }

    .cap-grid,
    .industry-carousel{ grid-template-columns:1fr; }
    .cap-card,
    .cap-card:nth-child(1),
    .cap-card:nth-child(2),
    .cap-card:nth-child(3),
    .cap-card:nth-child(4){
      min-height:0;
      height:auto;
    }
    .cap-visual{
      aspect-ratio:1.65;
      min-height:160px;
    }
    .solution-card{ min-height:0; }
    .industry-visual{
      aspect-ratio:1.5;
      min-height:220px;
    }
  }

  @media (max-width:600px){
    :root{
      --page-gutter:clamp(16px,5vw,20px);
      --header-height:68px;
    }
    body{ padding-bottom:calc(76px + env(safe-area-inset-bottom)); }
    nav{ padding-inline:var(--page-gutter); }
    .mobile-nav-panel{ padding-inline:var(--page-gutter); }

    .hero{
      padding-top:clamp(36px,10vw,48px);
      padding-bottom:24px;
    }
    .hero-copy{ width:100%; }
    h1.hero-title{
      font-size:clamp(36px,10.8vw,44px);
      overflow-wrap:anywhere;
    }
    .hero-sub{
      font-size:clamp(16px,4.6vw,18px);
      line-height:1.48;
    }
    .hero-ctas{ width:100%; }
    .hero-ctas .btn-primary,
    .hero-ctas .btn-secondary{ width:100%; }

    .orb-stage{
      width:100%;
      max-width:430px;
      height:auto;
      aspect-ratio:1;
      margin-top:6px;
    }
    .hero-orb .orb-video-wrap{
      width:100%;
      height:auto;
      max-width:100%;
      max-height:none;
      aspect-ratio:1;
      transform:none;
    }
    .hero-orb .orb-glow{
      width:78%;
      height:auto;
    }
    .mobile-orb-ui{ width:100%; }
    .mobile-orb-card--live{
      right:0;
      width:min(45%,158px);
    }
    .mobile-orb-card--intent{
      left:0;
      width:min(44%,150px);
    }
    .mobile-orb-card--sync{
      right:0;
      width:min(44%,150px);
    }

    .story-step{ gap:16px; }
    .step-rail{ flex-basis:32px; }
    .story-step h3{ font-size:clamp(26px,8vw,34px); }
    .story-step p{ font-size:16px; line-height:1.55; }

    .cap-copy{ margin-top:0; }
    .proof-mini{
      width:min(78vw,290px);
      max-width:none;
    }
    .faq-q{ gap:14px; }
    .cta-band{ border-radius:20px; }
    .foot-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
    .foot-brand{ grid-column:1 / -1; }

    .auth-overlay{ padding-inline:0; }
    .auth-modal{
      width:100%;
      max-width:none;
    }
  }

  @media (max-width:420px){
    .eyebrow{ max-width:100%; }
    .mobile-orb-card{
      min-height:50px;
      padding:8px 9px;
    }
    .mobile-orb-card-icon{
      width:28px;
      height:28px;
      flex-basis:28px;
    }
    .mobile-orb-card-copy strong{ font-size:11px; }
    .mobile-orb-card-copy span{ font-size:9px; }
    .foot-grid{ grid-template-columns:1fr; }
    .foot-brand{ grid-column:auto; }
  }

  @media (hover:none){
    .cap-card:hover,
    .solution-card:hover,
    .price-card:hover,
    .proof-mini:hover,
    .btn-primary:hover,
    .price-cta:hover{
      transform:none;
    }
  }


  /* Tablet navigation: the desktop links hide at 980px, so the menu trigger
     must become available at the same breakpoint (not only below 600px). */
  @media (min-width:601px) and (max-width:980px){
    header{ background:rgba(5,6,13,.82); }
    nav{
      position:relative;
      min-height:68px;
      padding-block:12px;
    }
    .nav-actions{ gap:8px; }
    .nav-actions .btn-primary{ display:none; }
    .nav-actions .btn-ghost{
      min-height:44px;
      display:inline-flex;
      align-items:center;
      padding-inline:10px;
    }
    .nav-toggle{
      width:44px;
      height:44px;
      display:grid;
      place-items:center;
      padding:0;
      border:1px solid var(--line);
      border-radius:11px;
      color:var(--text);
      background:rgba(12,14,28,.7);
      cursor:pointer;
    }
    .nav-toggle-lines,
    .nav-toggle-lines::before,
    .nav-toggle-lines::after{
      width:18px;
      height:1.5px;
      display:block;
      border-radius:2px;
      background:currentColor;
      transition:transform .22s ease,opacity .22s ease;
    }
    .nav-toggle-lines{ position:relative; }
    .nav-toggle-lines::before,
    .nav-toggle-lines::after{
      content:"";
      position:absolute;
      left:0;
    }
    .nav-toggle-lines::before{ top:-6px; }
    .nav-toggle-lines::after{ top:6px; }
    header.mobile-menu-open .nav-toggle-lines{ background:transparent; }
    header.mobile-menu-open .nav-toggle-lines::before{ top:0; transform:rotate(45deg); }
    header.mobile-menu-open .nav-toggle-lines::after{ top:0; transform:rotate(-45deg); }
    .mobile-nav-panel{
      position:absolute;
      top:100%;
      left:0;
      right:0;
      display:grid;
      grid-template-rows:0fr;
      padding-inline:var(--page-gutter);
      border-bottom:1px solid transparent;
      background:rgba(5,6,13,.96);
      backdrop-filter:blur(18px);
      -webkit-backdrop-filter:blur(18px);
      opacity:0;
      visibility:hidden;
      transition:grid-template-rows .28s ease,opacity .22s ease,visibility .22s ease,border-color .22s ease;
    }
    .mobile-nav-inner{
      min-height:0;
      overflow:hidden;
      display:flex;
      flex-direction:column;
    }
    header.mobile-menu-open .mobile-nav-panel{
      grid-template-rows:1fr;
      padding-bottom:20px;
      border-color:var(--line);
      opacity:1;
      visibility:visible;
    }
    .mobile-nav-panel a{
      min-height:48px;
      display:flex;
      align-items:center;
      border-bottom:1px solid rgba(142,157,215,.1);
      color:#dfe2f4;
      font-size:16px;
      line-height:24px;
      font-weight:500;
    }
    .mobile-nav-panel .mobile-nav-cta{
      justify-content:center;
      min-height:50px;
      margin-top:14px;
      border:0;
      border-radius:12px;
      color:#fff;
      background:linear-gradient(135deg,var(--violet),var(--indigo));
      box-shadow:0 10px 26px rgba(75,111,255,.24);
      font-weight:600;
    }
  }

/* Layout modifiers moved from former inline styles */
.scene-pill--offset-sm { margin-top: 11px; }
.scene-pill--offset-md { margin-top: 12px; }
.section-head--centered {
  max-width: 680px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
.kicker--centered { justify-content: center; }

  /* ---------- orb UI on tablet + missing fourth status pill ---------- */
  @media (max-width:1024px){
    .mobile-orb-status{
      position:absolute;
      top:12%;
      left:0;
      z-index:7;
      min-height:32px;
      display:flex;
      align-items:center;
      gap:9px;
      padding:7px 13px;
      border:1px solid rgba(43,230,255,.52);
      border-radius:999px;
      color:#eafcff;
      background:rgba(6,15,31,.82);
      box-shadow:0 12px 28px rgba(0,0,0,.34),0 0 15px rgba(44,221,255,.12);
      backdrop-filter:blur(12px);
      -webkit-backdrop-filter:blur(12px);
      font-family:var(--font-body);
      font-size:10px;
      line-height:14px;
      font-weight:600;
      white-space:nowrap;
      animation:mobile-orb-float-status 6.5s ease-in-out infinite;
    }
    .mobile-orb-status span{
      width:7px;
      height:7px;
      flex:0 0 7px;
      border-radius:50%;
      background:var(--cyan);
      box-shadow:0 0 9px rgba(56,232,224,.85);
    }
    @keyframes mobile-orb-float-status{
      0%,100%{ transform:translate3d(0,0,0); }
      50%{ transform:translate3d(4px,-4px,0); }
    }
  }

  /* The story visual is intentionally hidden at this width, so keep its four
     orb-related UI elements around the hero orb instead. */
  @media (min-width:601px) and (max-width:1024px){
    .mobile-orb-ui{
      position:absolute;
      inset:0;
      z-index:6;
      display:block;
      pointer-events:none;
    }
    .mobile-orb-card{
      position:absolute;
      min-height:56px;
      display:flex;
      align-items:center;
      gap:9px;
      padding:9px 12px;
      border:1px solid transparent;
      border-radius:13px;
      color:#f5f7ff;
      background:
        linear-gradient(145deg,rgba(5,12,28,.94),rgba(10,9,29,.9)) padding-box,
        linear-gradient(110deg,#20e7ff,#4f9cff 55%,#a44fff) border-box;
      box-shadow:
        0 14px 34px rgba(0,0,0,.42),
        0 0 8px rgba(44,221,255,.52),
        0 0 24px rgba(91,103,255,.25),
        inset 0 1px 0 rgba(255,255,255,.1);
      backdrop-filter:blur(14px) saturate(145%);
      -webkit-backdrop-filter:blur(14px) saturate(145%);
    }
    .mobile-orb-card::after{
      content:"";
      position:absolute;
      inset:4px;
      border:1px solid rgba(122,224,255,.06);
      border-radius:9px;
      pointer-events:none;
    }
    .mobile-orb-card--live{
      top:8%;
      right:-3%;
      width:clamp(158px,25vw,190px);
      animation:mobile-orb-float-a 5.4s ease-in-out infinite;
    }
    .mobile-orb-card--intent{
      left:-4%;
      bottom:13%;
      width:clamp(150px,24vw,184px);
      animation:mobile-orb-float-b 6.2s ease-in-out infinite;
    }
    .mobile-orb-card--sync{
      right:-4%;
      bottom:7%;
      width:clamp(150px,24vw,184px);
      animation:mobile-orb-float-c 5.8s ease-in-out infinite;
    }
    .mobile-orb-card-icon{
      position:relative;
      z-index:1;
      width:30px;
      height:30px;
      flex:0 0 30px;
      display:grid;
      place-items:center;
      border:1px solid rgba(43,230,255,.9);
      border-radius:50%;
      color:#eaffff;
      background:rgba(79,91,255,.16);
      box-shadow:0 0 0 2px rgba(105,82,255,.2),0 0 10px rgba(42,224,255,.42);
    }
    .mobile-orb-card-icon svg{ width:16px; height:16px; }
    .mobile-orb-signal{
      width:9px;
      height:9px;
      border:2px solid #f7fdff;
      border-radius:50%;
      box-shadow:0 0 8px #fff,0 0 15px #29dcff,0 0 22px #7a5cff;
    }
    .mobile-orb-card-copy{
      position:relative;
      z-index:1;
      min-width:0;
    }
    .mobile-orb-card-copy strong{
      display:block;
      overflow:hidden;
      color:#f5f7ff;
      font-family:var(--font-body);
      font-size:12px;
      line-height:16px;
      font-weight:600;
      white-space:nowrap;
      text-overflow:ellipsis;
    }
    .mobile-orb-card-copy span{
      display:block;
      overflow:hidden;
      margin-top:2px;
      color:#aeb7dc;
      font-family:var(--font-body);
      font-size:10px;
      line-height:14px;
      white-space:nowrap;
      text-overflow:ellipsis;
    }
  }

  @media (max-width:600px){
    .mobile-orb-status{
      top:42px;
      left:0;
      min-height:30px;
      padding:6px 11px;
      font-size:9px;
    }
  }


/* Restore the original rising capability-card staircase on wide screens.
   Card and section widths remain controlled by the responsive grid above. */
@media (min-width:1240px){
  #capabilities .cap-grid{
    align-items:start;
  }
  #capabilities .cap-card:nth-child(1){ margin-top:144px; }
  #capabilities .cap-card:nth-child(2){ margin-top:96px; }
  #capabilities .cap-card:nth-child(3){ margin-top:48px; }
  #capabilities .cap-card:nth-child(4){ margin-top:0; }
}

/* Preserve the original lifecycle scroll runway. The sticky visual needs this
   space to complete all three steps before the following section enters. */
@media (min-width:1025px){
  .story-steps{ padding-bottom:clamp(240px,30vh,320px); }
  .story-step:last-child{ min-height:clamp(360px,48vh,520px); }
}

/* Final layout fixes: one fixed header, one inter-section spacing rhythm,
   and a true-alpha mobile/tablet orb that does not rely on video blending. */
header{
  position:fixed;
  inset:0 0 auto;
  width:100%;
  z-index:100;
  -webkit-backdrop-filter:blur(16px);
}
:root{
  --header-height:83px;
}
main{
  padding-top:var(--header-height);
}

.hero{
  padding-bottom:0;
}
@media (min-width:1025px){
  .hero{
    display:grid;
    min-height:calc(100svh - var(--header-height));
    align-items:center;
    padding-block:clamp(36px,4vh,64px);
  }
}
#lifecycle,
.section-pad{
  padding:var(--section-space) 0 0;
}

/* Tighter handoff from the final lifecycle step into AI Capabilities. */
#lifecycle + #capabilities{
  padding-top:clamp(48px,4.5vw,64px);
}

.orb-image{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  display:none;
  object-fit:contain;
}
.orb-image-source{
  display:contents;
}

@media (max-width:1024px){
  :root{
    --section-space:clamp(84px,11vw,104px);
    --header-height:69px;
  }
  #lifecycle + #capabilities{
    padding-top:clamp(44px,5.8vw,56px);
  }
  .orb-image{
    display:block;
  }
  .orb-video{
    display:none;
  }
}

/* Tablet browsers often expose a viewport wider than 1024px in landscape
   and may not render the WebM alpha channel. Use the verified transparent
   WebP on every device that has a coarse/touch pointer. */
@media (any-pointer:coarse){
  .orb-image{
    display:block;
  }
  .orb-video{
    display:none;
  }
}

/* Safari can decode the desktop WebM without preserving its alpha channel.
   Use the verified transparent WebP on desktop Safari before the first paint. */
@media (min-width:1025px) and (pointer:fine){
  html.safari-orb-fallback .orb-video{
    display:none;
  }
  html.safari-orb-fallback .orb-video-wrap::after{
    content:"";
    position:absolute;
    inset:0;
    z-index:3;
    background:url("assets/voxis-sphere-mobile.webp") center/contain no-repeat;
    pointer-events:none;
  }
}

@media (max-width:600px){
  :root{
    --section-space:clamp(68px,18vw,84px);
    --header-height:69px;
  }
  #lifecycle + #capabilities{
    padding-top:clamp(36px,9.5vw,46px);
  }

  #capabilities .cap-card,
  #capabilities .cap-card:nth-child(1),
  #capabilities .cap-card:nth-child(2),
  #capabilities .cap-card:nth-child(3),
  #capabilities .cap-card:nth-child(4){
    padding:24px 20px;
    border-radius:20px;
  }
  #capabilities .cap-visual{
    height:82px;
    min-height:82px;
    flex:0 0 82px;
    aspect-ratio:auto;
    overflow:visible;
    border:0;
    border-radius:0;
    background:none;
  }
  #capabilities .cap-visual::before,
  #capabilities .cap-visual::after{
    display:none;
  }
  #capabilities .cap-icon-stage{
    inset:0;
  }
  #capabilities .cap-pillar-icon,
  #capabilities .cap-card:nth-child(3) .cap-pillar-icon,
  #capabilities .cap-grid.cap-sequence-ready.is-revealed .cap-pillar-icon,
  #capabilities .cap-grid.cap-sequence-ready.sequence-complete .cap-pillar-icon{
    width:82px;
    height:82px;
    transform:none;
  }
  #capabilities .cap-copy{
    flex:0 0 auto;
    margin-top:24px;
    padding:0;
  }
  #capabilities .cap-number{
    margin-bottom:6px;
  }
  #capabilities .cap-copy > p{
    margin-top:4px;
    font-size:15px;
    line-height:22px;
  }
}

/* On-load entrance: a short reveal for the header and hero.
   The class is set in the head to prevent a flash before the animation starts. */
.intro-pending header,
.intro-pending .hero .eyebrow,
.intro-pending .hero-title,
.intro-pending .hero-sub,
.intro-pending .hero-ctas,
.intro-pending .hero-orb{
  opacity:0;
}

.intro-pending .aurora,
.intro-pending .grid-overlay{
  opacity:0;
}

.intro-running header{
  animation:voxis-intro-header .7s cubic-bezier(.22,1,.36,1) .06s both;
}

.intro-running .aurora{
  animation:voxis-intro-atmosphere 1.4s ease-out both;
}

.intro-running .grid-overlay{
  animation:voxis-intro-atmosphere 1.2s ease-out .12s both;
}

.intro-running .hero .eyebrow{
  animation:voxis-intro-rise .64s cubic-bezier(.22,1,.36,1) .22s both;
}

.intro-running .hero-title{
  animation:voxis-intro-rise .78s cubic-bezier(.22,1,.36,1) .36s both;
}

.intro-running .hero-sub{
  animation:voxis-intro-rise .72s cubic-bezier(.22,1,.36,1) .58s both;
}

.intro-running .hero-ctas{
  animation:voxis-intro-rise .72s cubic-bezier(.22,1,.36,1) .76s both;
}

.intro-running .hero-orb{
  animation:voxis-intro-orb 1.05s cubic-bezier(.22,1,.36,1) .42s both;
}

@keyframes voxis-intro-header{
  from{ opacity:0; transform:translateY(-18px); }
  to{ opacity:1; transform:translateY(0); }
}

@keyframes voxis-intro-rise{
  from{ opacity:0; transform:translateY(24px); filter:blur(7px); }
  to{ opacity:1; transform:translateY(0); filter:blur(0); }
}

@keyframes voxis-intro-orb{
  from{ opacity:0; filter:blur(16px) saturate(.7); }
  to{ opacity:1; filter:blur(0) saturate(1); }
}

@keyframes voxis-intro-atmosphere{
  from{ opacity:0; }
  to{ opacity:1; }
}

@media (prefers-reduced-motion:reduce){
  .intro-pending header,
  .intro-pending .hero .eyebrow,
  .intro-pending .hero-title,
  .intro-pending .hero-sub,
  .intro-pending .hero-ctas,
  .intro-pending .hero-orb,
  .intro-pending .aurora,
  .intro-pending .grid-overlay{
    opacity:1;
  }

  .intro-running header,
  .intro-running .aurora,
  .intro-running .grid-overlay,
  .intro-running .hero .eyebrow,
  .intro-running .hero-title,
  .intro-running .hero-sub,
  .intro-running .hero-ctas,
  .intro-running .hero-orb{
    animation:none;
  }
}

/* ===== Impact orbits — inspired by the connected-circle reference ===== */
.impact-orbit-section{
  --impact-progress:0;
  isolation:isolate;
  min-height:215vh;
  padding-top:0;
  overflow:clip;
}
.impact-orbit-section::before{
  content:"";
  position:absolute;
  top:10%;
  right:-14%;
  width:min(850px,70vw);
  height:min(850px,70vw);
  border-radius:50%;
  background:radial-gradient(circle,rgba(75,111,255,.16),rgba(109,94,245,.07) 42%,transparent 70%);
  filter:blur(32px);
  pointer-events:none;
  z-index:-1;
}
.impact-orbit-layout{
  position:sticky;
  top:var(--header-height);
  display:grid;
  grid-template-columns:minmax(330px,.9fr) minmax(430px,1.1fr);
  gap:clamp(40px,6vw,96px);
  align-content:start;
  align-items:start;
  min-height:calc(100vh - var(--header-height));
  padding-top:var(--section-space);
}
.impact-orbit-copy{
  align-self:start;
  max-width:560px;
  margin-bottom:0;
  padding-top:0;
}
.impact-orbit-copy h2{
  max-width:560px;
  font-size:clamp(34px,3vw,46px);
  line-height:1.08;
  letter-spacing:-.03em;
}
.impact-orbit-copy h2 span{
  display:block;
  white-space:nowrap;
}
.impact-orbit-copy > p{
  max-width:450px;
  margin-top:20px;
  font-size:18px;
  line-height:28px;
}
.impact-orbits{
  position:relative;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  width:100%;
  max-width:700px;
  margin-left:auto;
}
.impact-orbit{
  --impact-text-opacity:1;
  position:relative;
  display:flex;
  aspect-ratio:1;
  min-width:0;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:clamp(26px,3.4vw,46px);
  overflow:hidden;
  border:1px solid rgba(133,148,222,.27);
  border-radius:50%;
  background:
    radial-gradient(circle at 35% 28%,rgba(93,110,210,.08),transparent 45%),
    rgba(8,11,27,.42);
  text-align:center;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.025),
    0 20px 60px rgba(0,0,0,.12);
  transition:
    border-color .35s ease,
    background .35s ease,
    box-shadow .35s ease;
  will-change:transform,opacity;
}
.impact-orbit:nth-child(even){
  margin-left:-1px;
}
.impact-orbit:nth-child(n+3){
  margin-top:-1px;
}
.impact-orbit::before{
  content:"";
  position:absolute;
  inset:10%;
  border:1px solid transparent;
  border-radius:50%;
  transition:border-color .35s ease,transform .35s ease;
}
.impact-orbit::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:linear-gradient(135deg,var(--violet),var(--indigo));
  clip-path:circle(0% at 50% 50%);
  opacity:1;
  transition:clip-path .62s cubic-bezier(.22,1,.36,1);
  will-change:clip-path;
}
.impact-orbit > *{
  position:relative;
  z-index:1;
}
.impact-orbit h3{
  display:block;
  color:transparent;
  background:linear-gradient(110deg,#58dfdb,#7890ff 58%,#a877ff);
  -webkit-background-clip:text;
  background-clip:text;
  font-family:var(--font-display);
  font-size:clamp(24px,2.5vw,32px);
  line-height:1.2;
  font-weight:700;
  letter-spacing:-.03em;
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
  opacity:var(--impact-text-opacity);
  transition:color .35s ease;
}
.impact-orbit p{
  margin-top:20px;
  color:var(--muted);
  font-size:clamp(12px,1.25vw,15px);
  line-height:1.55;
  opacity:var(--impact-text-opacity);
  transition:color .35s ease;
}
.impact-orbit-final{
  position:absolute;
  top:50%;
  left:50%;
  z-index:4;
  display:grid;
  width:74%;
  aspect-ratio:1;
  place-items:center;
  padding:clamp(42px,7vw,90px);
  border:1px solid rgba(255,255,255,.12);
  border-radius:50%;
  background:
    radial-gradient(circle at 30% 24%,rgba(255,255,255,.12),transparent 36%),
    linear-gradient(135deg,var(--violet),var(--indigo));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.14),
    0 34px 100px rgba(72,77,210,.3);
  opacity:0;
  pointer-events:none;
  transform:translate(-50%,-50%) scale(.68);
  will-change:transform,opacity;
}
.impact-orbit-final p{
  display:grid;
  gap:8px;
  max-width:420px;
  color:#fff;
  font-family:var(--font-display);
  font-size:clamp(20px,2.5vw,34px);
  line-height:1.2;
  font-weight:700;
  letter-spacing:-.03em;
  text-align:center;
  opacity:0;
  transform:translateY(10px);
  will-change:transform,opacity;
}
.impact-orbit-final span{
  display:block;
}
@media (hover:hover){
  .impact-orbit:hover{
    z-index:2;
    border-color:rgba(105,126,247,.6);
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.1),
      0 30px 85px rgba(54,63,181,.24);
    transform:scale(1.025);
  }
  .impact-orbit:hover::before{
    border-color:rgba(255,255,255,.08);
    transform:scale(.94);
  }
  .impact-orbit:hover::after{
    clip-path:circle(72% at 50% 50%);
  }
  .impact-orbit:hover h3{
    color:#fff;
    background:none;
  }
  .impact-orbit:hover p{
    color:rgba(241,244,255,.76);
  }
}

@media (max-width:1000px){
  .impact-orbit-section{
    min-height:auto;
  }
  .impact-orbit-layout{
    position:relative;
    top:auto;
    grid-template-columns:1fr;
    gap:44px;
    min-height:190vh;
    align-content:start;
  }
  .impact-orbit-copy{
    padding-top:0;
  }
  .impact-orbit-copy h2{
    max-width:760px;
  }
  .impact-orbit-copy > p{
    max-width:620px;
  }
  .impact-orbits{
    position:sticky;
    top:calc(var(--header-height) + 18px);
    max-width:680px;
    margin-inline:auto;
  }
  .impact-orbit p{
    font-size:14px;
  }
}

@media (max-width:600px){
  .impact-orbit-layout{
    gap:34px;
  }
  .impact-orbit-copy h2{
    font-size:clamp(24px,7vw,30px);
    line-height:1.18;
  }
  .impact-orbit-copy > p{
    margin-top:16px;
    font-size:18px;
    line-height:26px;
  }
  .impact-orbit{
    padding:16px 11px;
  }
  .impact-orbit h3{
    font-size:clamp(18px,6.2vw,24px);
    line-height:1.2;
  }
  .impact-orbit p{
    margin-top:11px;
    font-size:clamp(10px,3vw,12px);
    line-height:1.42;
  }
  .impact-orbit-final{
    width:78%;
    padding:clamp(28px,8vw,58px);
  }
  .impact-orbit-final p{
    gap:6px;
    font-size:clamp(17px,5vw,26px);
  }
}

@media (max-width:360px){
  .impact-orbit h3{
    font-size:18px;
  }
  .impact-orbit p{
    font-size:9.5px;
  }
}

@media (prefers-reduced-motion:reduce){
  .impact-orbit-section{
    min-height:auto;
  }
  .impact-orbit-layout{
    position:relative;
    top:auto;
    min-height:0;
  }
  .impact-orbit{
    transition:none;
    transform:none !important;
    opacity:1 !important;
  }
  .impact-orbit::after{
    transition:none;
  }
  .impact-orbit-final{
    position:relative;
    top:auto;
    left:auto;
    grid-column:1/-1;
    width:min(74%,520px);
    margin:32px auto 0;
    opacity:1 !important;
    transform:none !important;
  }
  .impact-orbit-final p{
    opacity:1 !important;
    transform:none !important;
  }
}

/* Desktop lifecycle: one native-sticky stage and one scroll-driven sphere. */
@media (min-width:1025px){
  #lifecycle{
    padding-top:0;
    /* The page-level anchor offset includes an extra 16px. Cancel only that
       inset so lifecycle links land on the actual sticky-header boundary. */
    scroll-margin-top:-16px;
  }
  #lifecycle .story-visual{
    position:sticky;
    top:var(--lifecycle-header-height,var(--header-height));
    height:calc(100svh - var(--lifecycle-header-height,var(--header-height)));
    min-height:0;
    max-height:none;
    align-items:center;
    will-change:auto;
  }
  #lifecycle .story-steps{
    padding-top:var(--story-leading,calc(38svh - 90px));
    padding-bottom:var(--story-trailing,calc(38svh - 90px));
  }
  #lifecycle .story-step{
    min-height:clamp(360px,52svh,560px);
  }
  #lifecycle .story-ui{
    opacity:0;
    visibility:hidden;
    transform:translate3d(0,8px,0);
    transition:
      opacity .38s ease,
      transform .38s ease,
      visibility 0s linear .38s;
  }
  #lifecycle .story-ui.is-visible{
    opacity:1;
    visibility:visible;
    transform:translate3d(0,0,0);
    transition:
      opacity .38s ease,
      transform .38s ease,
      visibility 0s linear 0s;
  }
  .hero-orb{
    will-change:auto;
  }
  .hero-orb.is-flight-orb.is-in-flight{
    will-change:transform;
  }
}

@media (min-width:1025px) and (prefers-reduced-motion:reduce){
  #lifecycle .story-card,
  #lifecycle .live-waveform polyline,
  .hero-orb .orb-glow{
    animation:none !important;
  }
  #lifecycle .story-ui,
  #lifecycle .story-ui.is-visible{
    transition:none;
  }
}
