/* =============================================
   KAI COMPANION v5 — PREMIUM EDITORIAL
   Inspired by worldquantfoundry, makebeautifulwork,
   mersi-architecture, thesportsglasses
   ============================================= */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
  scrollbar-width:none}
html::-webkit-scrollbar{display:none}
body{font-family:-apple-system,BlinkMacSystemFont,'SF Pro Display','SF Pro Text','Helvetica Neue',sans-serif;
  color:#1d1d1f;background:#fafafa;line-height:1.55;overflow-x:hidden;
  text-rendering:optimizeLegibility;font-variant-ligatures:none}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
ul{list-style:none}
::selection{background:rgba(10,79,204,.12);color:#1d1d1f}

/* --- COLORS --- */
:root{
  --blue:#0A4FCC;--blue-l:#3B7BF7;--blue-ll:#6B9FFF;--blue-d:#07399A;
  --blue-glow:rgba(10,79,204,.08);--blue-glow-md:rgba(10,79,204,.14);--blue-glow-lg:rgba(10,79,204,.28);
  --red:#D93025;--green:#28C952;--amber:#FF9A00;
  --g50:#F9F9FB;--g100:#F2F2F7;--g200:#E5E5EA;--g300:#D1D1D6;--g400:#AEAEB2;
  --g500:#8E8E93;--g600:#636366;--g700:#48484A;--g800:#2C2C2E;--g900:#1C1C1E;
  --txt:#1D1D1F;--txt2:#86868B;--txt3:#AEAEB2;
  --txtd:#F5F5F7;--txtd2:rgba(245,245,247,.55);
  /* glass tokens */
  --gl:rgba(255,255,255,.45);--gl-h:rgba(255,255,255,.6);--gl-b:rgba(255,255,255,.35);
  --gl-s:0 2px 16px rgba(0,0,0,.04),0 0 1px rgba(0,0,0,.06);
  --gl-s-h:0 12px 48px rgba(0,0,0,.08),0 0 1px rgba(0,0,0,.06);
  --gld:rgba(28,28,30,.50);--gld-b:rgba(255,255,255,.08);--gld-b-h:rgba(255,255,255,.14);
  /* Premium easing */
  --ease:cubic-bezier(.8,0,.2,1);--ease-out:cubic-bezier(0,.55,.45,1);--ease-spring:cubic-bezier(.34,1.56,.64,1);
}

/* --- TYPOGRAPHY --- */
.th{font-size:clamp(3.4rem,9vw,7.5rem);font-weight:200;letter-spacing:-.05em;line-height:.92}
.t1{font-size:clamp(2.2rem,5vw,3.75rem);font-weight:300;letter-spacing:-.035em;line-height:1.05}
.t2{font-size:clamp(1.6rem,3.2vw,2.5rem);font-weight:400;letter-spacing:-.03em;line-height:1.12}
.t3{font-size:clamp(1.15rem,1.8vw,1.5rem);font-weight:500;letter-spacing:-.02em;line-height:1.2}
.tt{font-size:1rem;font-weight:600;letter-spacing:-.015em;line-height:1.35}
.tb{font-size:clamp(.9375rem,1.2vw,1.0625rem);font-weight:400;line-height:1.7;color:var(--txt2)}
.tc{font-size:.6875rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--txt2)}
.blue{color:var(--blue)}.txtd{color:var(--txtd)}.txtd2{color:var(--txtd2)}

/* --- LAYOUT --- */
.ctr{max-width:1080px;margin:0 auto;padding:0 clamp(20px,4vw,36px)}
.ctr-w{max-width:1240px;margin:0 auto;padding:0 clamp(20px,4vw,36px)}
.sec{padding:clamp(100px,14vw,180px) 0;position:relative;overflow:hidden}
.sec-dark{background:#0a0a0f;color:var(--txtd)}
.sec-alt{background:var(--g50)}
.tc-center{text-align:center}

/* --- LABEL --- */
.lbl{display:inline-flex;align-items:center;gap:6px;padding:5px 14px;border-radius:999px;font-size:.5625rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.lbl-b{background:var(--blue-glow);color:var(--blue)}
.lbl-bd{background:rgba(59,123,247,.08);color:var(--blue-l)}
.lbl-gl{background:rgba(255,255,255,.4);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.4);color:var(--txt2)}

/* =============================================
   ICON SYSTEM (Lucide SVGs)
   ============================================= */
.p-icon svg,.priv-ic svg,.eco-ic svg,.uc-e svg{color:var(--blue);width:20px;height:20px}
.p-icon svg{width:20px;height:20px}
.eco-ic svg{width:22px;height:22px;color:var(--txtd)}
.uc-e svg{width:24px;height:24px;color:var(--blue)}
.priv-ic svg{width:20px;height:20px;color:var(--blue)}
.bc svg{color:currentColor}

/* --- BUTTONS --- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 30px;border:1px solid transparent;border-radius:999px;font-size:.8125rem;font-weight:600;letter-spacing:-.01em;cursor:pointer;transition:all .25s var(--ease);position:relative}
.btn-p{background:var(--blue);color:#fff;border-color:var(--blue)}
.btn-p:hover{background:var(--blue-l);border-color:var(--blue-l);transform:translateY(-2px);box-shadow:0 8px 32px rgba(10,79,204,.2)}
.btn-gl{background:var(--gl);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(0,0,0,.06);color:var(--txt)}
.btn-gl:hover{background:var(--gl-h);transform:translateY(-2px);box-shadow:var(--gl-s-h)}

.btn-as{display:inline-flex;align-items:center;gap:12px;padding:14px 28px;background:#000;color:#fff;border:none;border-radius:14px;cursor:pointer;transition:all .4s var(--ease)}
.btn-as:hover{transform:translateY(-2px);box-shadow:0 16px 48px rgba(0,0,0,.15)}
.btn-as svg{width:24px;height:24px;flex-shrink:0}
.btn-as-t{text-align:left}
.btn-as-t small{display:block;font-size:.6rem;font-weight:400;opacity:.65;line-height:1;letter-spacing:.02em}
.btn-as-t strong{display:block;font-size:1.0625rem;font-weight:600;line-height:1.3}

/* =============================================
   GLASS SYSTEM
   ============================================= */
.glass{
  background:var(--gl);
  backdrop-filter:blur(28px) saturate(180%);
  -webkit-backdrop-filter:blur(28px) saturate(180%);
  border:1px solid rgba(255,255,255,.4);
  border-radius:20px;
  box-shadow:var(--gl-s);
  position:relative;
  overflow:hidden;
  transition:all .35s var(--ease);
  cursor:pointer;
}
.glass::before{
  content:'';position:absolute;inset:0;border-radius:inherit;
  background:linear-gradient(160deg,rgba(255,255,255,.2) 0%,transparent 50%);
  pointer-events:none;z-index:1;
}
.glass:hover{
  background:var(--gl-h);border-color:rgba(255,255,255,.55);
  box-shadow:var(--gl-s-h);transform:translateY(-4px);
}

.glass-d{
  background:var(--gld);
  backdrop-filter:blur(28px) saturate(180%);
  -webkit-backdrop-filter:blur(28px) saturate(180%);
  border:1px solid var(--gld-b);border-radius:20px;
  position:relative;overflow:hidden;
  transition:all .35s var(--ease);
}
.glass-d::before{
  content:'';position:absolute;inset:0;border-radius:inherit;
  background:linear-gradient(160deg,rgba(255,255,255,.06) 0%,transparent 50%);
  pointer-events:none;z-index:1;
}
.glass-d:hover{border-color:var(--gld-b-h);transform:translateY(-4px)}

/* =============================================
   CSS ANIMATED ORB SYSTEM
   ============================================= */
.css-orb{
  width:100%;height:100%;border-radius:50%;position:relative;
  background:
    radial-gradient(circle at 35% 30%, rgba(255,255,255,.7) 0%, transparent 45%),
    radial-gradient(circle at 60% 65%, rgba(10,79,204,.12) 0%, transparent 40%),
    radial-gradient(circle, rgba(200,220,255,.5) 0%, rgba(107,159,255,.15) 40%, rgba(255,255,255,.35) 70%, rgba(200,210,230,.2) 100%);
  box-shadow:
    inset 0 -8px 30px rgba(10,79,204,.06),
    inset 0 8px 30px rgba(255,255,255,.6),
    0 0 80px rgba(10,79,204,.08),
    0 0 160px rgba(10,79,204,.04);
  animation:orb-breathe 6s ease-in-out infinite;
  overflow:hidden;
}
.css-orb::before{
  content:'';position:absolute;inset:-30%;border-radius:50%;
  background:conic-gradient(from 0deg,transparent 0%,rgba(59,123,247,.06) 15%,transparent 30%,rgba(107,159,255,.04) 50%,transparent 65%,rgba(59,123,247,.05) 80%,transparent 100%);
  animation:spin-slow 25s linear infinite;
}
.css-orb::after{
  content:'';position:absolute;top:8%;left:15%;width:55%;height:40%;border-radius:50%;
  background:radial-gradient(ellipse,rgba(255,255,255,.7) 0%,transparent 70%);
  filter:blur(8px);
}

/* Feature orb (smaller, blue tint) */
.css-orb-feature{
  width:100%;height:100%;border-radius:50%;position:relative;
  background:
    radial-gradient(circle at 35% 30%, rgba(255,255,255,.5) 0%, transparent 40%),
    radial-gradient(circle at 50% 50%, rgba(59,123,247,.2) 0%, rgba(10,79,204,.08) 50%, rgba(200,210,230,.15) 100%);
  box-shadow:inset 0 6px 20px rgba(255,255,255,.4),inset 0 -4px 15px rgba(10,79,204,.08),0 0 40px rgba(10,79,204,.08);
  overflow:hidden;animation:orb-breathe 5s ease-in-out infinite;
}
.css-orb-feature::after{content:'';position:absolute;top:10%;left:18%;width:50%;height:35%;border-radius:50%;background:radial-gradient(ellipse,rgba(255,255,255,.6) 0%,transparent 70%);filter:blur(6px)}

@keyframes orb-breathe{0%,100%{transform:scale(1);box-shadow:inset 0 -8px 30px rgba(180,180,190,.06),inset 0 8px 30px rgba(255,255,255,.6),0 0 80px rgba(180,180,190,.08)}50%{transform:scale(1.02);box-shadow:inset 0 -8px 30px rgba(180,180,190,.1),inset 0 8px 30px rgba(255,255,255,.5),0 0 100px rgba(180,180,190,.12)}}

/* Orb wrapper with glow + rings */
.orb-wrap{position:relative;display:flex;align-items:center;justify-content:center}
.orb-glow{position:absolute;border-radius:50%;background:radial-gradient(circle,rgba(180,180,190,.12) 0%,rgba(180,180,190,.03) 40%,transparent 65%);z-index:-1;animation:pulse-glow 5s ease-in-out infinite}
.orb-ring{position:absolute;border-radius:50%;border:1px solid rgba(180,180,190,.08);animation:spin-slow 30s linear infinite}

/*
 * Video orb — transparent alpha-channel videos
 * DO NOT add background-color to .video-orb or its containers!
 * The videos rely on background:transparent for alpha compositing.
 * DO NOT remove -webkit-transform:translateZ(0) — it enables
 * hardware-accelerated compositing needed for Safari HEVC alpha.
 */
.video-orb{width:100%;height:100%;object-fit:contain;border-radius:0;pointer-events:none;background:transparent;-webkit-transform:translateZ(0);transform:translateZ(0)}
.orb-peek .video-orb,.orb-wrap .video-orb{width:100%;height:100%;position:absolute;inset:0;object-fit:contain}
.bc-orb .video-orb{width:120px;height:120px}
/* Canvas fallback (alpha-video.js) — match video styles */
canvas.video-orb{width:100%;height:100%;object-fit:contain;border-radius:0;pointer-events:none;background:transparent}
.orb-peek canvas.video-orb,.orb-wrap canvas.video-orb{width:100%;height:100%;position:absolute;inset:0;object-fit:contain}
.bc-orb canvas.video-orb{width:120px;height:120px}

/* Video ribbon decoration — wide enough to hide edges */
.stripe-video{position:absolute;pointer-events:none;z-index:0;overflow:hidden}
.stripe-video video,.stripe-video canvas{width:100%;height:100%;object-fit:cover;background:transparent;-webkit-transform:translateZ(0);transform:translateZ(0)}

/* =============================================
   CSS GLASS STRIPE DECORATION
   ============================================= */
.stripe-bg{position:absolute;pointer-events:none;z-index:0}

/* =============================================
   AMBIENT FLOATING BLOBS
   ============================================= */
.amb{position:absolute;border-radius:50%;pointer-events:none;will-change:transform}
.amb-b{background:radial-gradient(circle,rgba(180,180,200,.10) 0%,rgba(180,180,200,.02) 55%,transparent 100%);filter:blur(60px)}
.amb-w{background:radial-gradient(circle,rgba(255,255,255,.25) 0%,transparent 65%);filter:blur(40px)}

@keyframes d1{0%,100%{transform:translate(0,0) scale(1)}25%{transform:translate(40px,-60px) scale(1.06)}50%{transform:translate(-30px,-20px) scale(.94)}75%{transform:translate(20px,40px) scale(1.04)}}
@keyframes d2{0%,100%{transform:translate(0,0) scale(1)}33%{transform:translate(-50px,30px) scale(1.08)}66%{transform:translate(30px,-40px) scale(.92)}}
@keyframes d3{0%,100%{transform:translate(0,0)}50%{transform:translate(25px,-35px)}}
@keyframes pulse-glow{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.08)}}
@keyframes spin-slow{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@keyframes float-y{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}
@keyframes float-xy{0%,100%{transform:translate(0,0) rotate(0deg)}25%{transform:translate(8px,-12px) rotate(1deg)}50%{transform:translate(-4px,-8px) rotate(-1deg)}75%{transform:translate(6px,4px) rotate(.5deg)}}
@keyframes shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}

/* =============================================
   NAVIGATION
   ============================================= */
.nav{position:fixed;top:0;left:0;right:0;z-index:1000;padding:14px 0;transition:all .5s var(--ease)}
.nav.scrolled{
  background:rgba(250,250,250,.82);
  backdrop-filter:blur(32px) saturate(180%);
  -webkit-backdrop-filter:blur(32px) saturate(180%);
  border-bottom:1px solid rgba(0,0,0,.04);
}
.nav-in{display:flex;align-items:center;justify-content:space-between;max-width:1080px;margin:0 auto;padding:0 clamp(20px,4vw,36px)}
.nav-logo{display:flex;align-items:center;gap:10px;font-size:1rem;font-weight:500;letter-spacing:-.015em;color:var(--txt);transition:opacity .3s}
.nav-logo:hover{opacity:.6}
.nav-logo img{height:26px;width:26px;border-radius:7px}
.nav-links{display:flex;align-items:center;gap:28px}
.nav-links a{font-size:.75rem;font-weight:500;color:var(--txt3);letter-spacing:.01em;transition:color .25s var(--ease);position:relative}
.nav-links a:hover{color:var(--txt)}
.nav-links a.active{color:var(--txt)}
.nav-links a::after{content:'';position:absolute;bottom:-4px;left:0;right:0;height:1px;background:var(--txt);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease)}
.nav-links a:hover::after,.nav-links a.active::after{transform:scaleX(1)}
.nav-cta{padding:8px 20px !important;background:var(--txt) !important;color:#fff !important;border-radius:999px !important;font-weight:600 !important;font-size:.6875rem !important;letter-spacing:.02em !important;transition:all .4s var(--ease) !important}
.nav-cta:hover{opacity:.8 !important}
.nav-cta::after{display:none !important}

/* Language switcher */
.lang-switcher{display:inline-flex;align-items:center;gap:8px}
.lang-switcher-label{font-size:.5625rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--txt3)}
.lang-switcher-select{
  appearance:none;-webkit-appearance:none;-moz-appearance:none;
  border:1px solid var(--g200);border-radius:999px;
  background:var(--g50) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238E8E93' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 10px center;
  color:var(--txt);font:inherit;font-size:.75rem;line-height:1.35;
  padding:8px 30px 8px 14px;cursor:pointer;min-width:120px;
}
.lang-switcher-select:hover{border-color:var(--g300)}
.lang-switcher-select:focus-visible{outline:2px solid var(--blue-l);outline-offset:2px}
.lang-switcher-nav .lang-switcher-label{display:none}
.lang-switcher-nav .lang-switcher-select{padding:7px 28px 7px 12px;min-width:100px;font-size:.6875rem}
.lang-switcher-mobile{margin-top:16px;padding-top:18px;border-top:1px solid var(--g200);display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.lang-switcher-mobile .lang-switcher-label{font-size:.6875rem;color:var(--g500)}
.lang-switcher-mobile .lang-switcher-select{width:100%;max-width:220px;padding:11px 34px 11px 14px;font-size:.875rem;border-radius:14px}

/* Mobile nav — hamburger toggle */
.nav-tog{display:none;background:none;border:none;cursor:pointer;padding:10px;z-index:1001;position:relative;
  width:44px;height:44px;border-radius:12px;transition:background .3s var(--ease)}
.nav-tog:hover{background:var(--g100)}
.nav-tog span{display:block;width:22px;height:2px;background:var(--txt);border-radius:2px;
  transition:all .4s cubic-bezier(.77,.2,.05,1);position:absolute;left:50%;transform:translateX(-50%)}
.nav-tog span:nth-child(1){top:13px}
.nav-tog span:nth-child(2){top:21px;width:16px}
.nav-tog span:nth-child(3){top:29px}
/* Animated X state */
.nav-tog.active span:nth-child(1){top:21px;transform:translateX(-50%) rotate(45deg)}
.nav-tog.active span:nth-child(2){opacity:0;width:0}
.nav-tog.active span:nth-child(3){top:21px;transform:translateX(-50%) rotate(-45deg)}

/* Mobile nav — overlay */
.nav-mob{position:fixed;inset:0;z-index:1000;
  background:rgba(248,248,250,.97);
  backdrop-filter:blur(40px) saturate(220%);
  -webkit-backdrop-filter:blur(40px) saturate(220%);
  display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;
  opacity:0;pointer-events:none;transition:opacity .35s var(--ease);
  padding:0 clamp(28px,8vw,48px);overflow-y:auto}
.nav-mob.open{opacity:1;pointer-events:auto}

/* Logo area in mobile nav */
.nav-mob-header{display:flex;align-items:center;justify-content:space-between;
  padding:20px 0;border-bottom:1px solid var(--g200);margin-bottom:12px;flex-shrink:0}
.nav-mob-logo{display:flex;align-items:center;gap:10px;font-weight:600;font-size:.9375rem;
  letter-spacing:-.02em;color:var(--txt)}
.nav-mob-logo img{width:32px;height:32px;border-radius:8px}

/* Close button */
.nav-mob-close{background:none;border:none;cursor:pointer;color:var(--g500);z-index:1002;
  width:40px;height:40px;display:flex;align-items:center;justify-content:center;
  border-radius:12px;transition:all .3s var(--ease);flex-shrink:0}
.nav-mob-close:hover{background:var(--g100);color:var(--txt)}
.nav-mob-close svg{width:18px;height:18px}

/* Nav links container */
.mob-links{display:flex;flex-direction:column;align-items:stretch;gap:0;
  flex:1;justify-content:center;padding:20px 0}

/* Individual links */
.nav-mob .mob-link{
  font-family:-apple-system,BlinkMacSystemFont,'SF Pro Display','Helvetica Neue',sans-serif;
  font-size:clamp(1.6rem,5vw,2.2rem);font-weight:300;letter-spacing:-.03em;
  color:var(--g700);padding:16px 0;transition:all .4s var(--ease);
  position:relative;display:flex;align-items:center;gap:14px;
  border-bottom:1px solid transparent;
  opacity:0;transform:translateY(20px)}
.nav-mob.open .mob-link{opacity:1;transform:translateY(0)}
.nav-mob.open .mob-link:nth-child(1){transition-delay:.06s}
.nav-mob.open .mob-link:nth-child(2){transition-delay:.1s}
.nav-mob.open .mob-link:nth-child(3){transition-delay:.14s}
.nav-mob.open .mob-link:nth-child(4){transition-delay:.18s}
.nav-mob.open .mob-link:nth-child(5){transition-delay:.22s}
.nav-mob.open .mob-link:nth-child(6){transition-delay:.26s}

/* Link number label */
.nav-mob .mob-link::before{
  content:attr(data-num);
  font-size:.6875rem;font-weight:500;color:var(--g400);
  letter-spacing:.04em;font-variant-numeric:tabular-nums;
  min-width:20px;text-align:right}

/* Link hover/active */
.nav-mob .mob-link:hover,.nav-mob .mob-link:active{color:var(--blue)}
.nav-mob .mob-link::after{content:'';position:absolute;bottom:0;left:34px;right:0;
  height:1px;background:var(--g200);transition:background .3s var(--ease)}
.nav-mob .mob-link:last-of-type::after{display:none}
.nav-mob .mob-link:hover::after{background:var(--blue-glow-md)}

/* CTA button */
.nav-mob .mob-cta{margin-top:16px;font-size:.9375rem;font-weight:600;letter-spacing:0;
  padding:16px 36px;color:#fff;border-radius:16px;justify-content:center;
  border-bottom:none;background:var(--blue);
  box-shadow:0 4px 20px rgba(10,79,204,.25)}
.nav-mob .mob-cta::before{display:none}
.nav-mob .mob-cta::after{display:none}
.nav-mob .mob-cta:hover{background:var(--blue-d);transform:translateY(-1px);
  box-shadow:0 6px 28px rgba(10,79,204,.35)}

/* Bottom decoration */
.nav-mob-footer{flex-shrink:0;padding:24px 0;text-align:center;
  font-size:.75rem;color:var(--g400);letter-spacing:.02em}

@media(max-width:900px){
  .nav-links{display:none}
  .nav-tog{display:flex;align-items:center;justify-content:center}
}

/* =============================================
   HERO
   ============================================= */
.hero{min-height:100svh;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;padding:120px 0 80px;background:#fafafa}

/* Hero orb */
.hero-orb{width:clamp(160px,24vw,260px);height:clamp(160px,24vw,260px);margin-bottom:48px}
.hero-orb .orb-glow{inset:-40%}
.hero-orb .orb-ring{inset:-22%;animation-duration:25s}
.hero-orb .orb-ring-2{position:absolute;inset:-38%;border-radius:50%;border:1px solid rgba(180,180,190,.04);animation:spin-slow 45s linear infinite reverse}

.hero-ct{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;text-align:center;max-width:760px;margin:0 auto;padding:0 clamp(20px,4vw,36px)}
.hero h1{margin-bottom:22px}
.hero-sub{max-width:440px;margin-bottom:44px}
.hero-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;justify-content:center}

/* Orb peek elements */
.orb-peek{position:absolute;pointer-events:none;z-index:0;background:transparent;-webkit-transform:translateZ(0);transform:translateZ(0)}

@media(max-width:600px){
  .hero{padding:90px 0 50px}
  .hero-orb{width:130px;height:130px;margin-bottom:32px}
  .hero-sub{max-width:100%}
  .hero-actions{flex-direction:column;width:100%}
  .hero-actions .btn,.hero-actions .btn-as{width:100%;justify-content:center}
}

/* =============================================
   PROMISE SECTION
   ============================================= */
.promise-g{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:56px}
.promise-c{padding:32px 24px;text-align:center}
.promise-c .p-icon{width:44px;height:44px;border-radius:12px;background:var(--blue-glow);display:flex;align-items:center;justify-content:center;margin:0 auto 16px;transition:all .5s var(--ease)}
.promise-c:hover .p-icon{background:var(--blue-glow-md);transform:scale(1.08)}
.promise-c .p-icon svg{width:20px;height:20px;color:var(--blue)}
.promise-c h3{margin-bottom:6px}
.promise-c p{color:var(--txt2);font-size:.8125rem;line-height:1.6}
@media(max-width:640px){.promise-g{grid-template-columns:1fr;gap:12px}}

/* =============================================
   STEPS
   ============================================= */
.steps-g{display:grid;grid-template-columns:repeat(3,1fr);gap:48px;margin-top:56px}
.step{text-align:center}
.step-n{width:40px;height:40px;border-radius:50%;background:var(--txt);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:600;margin:0 auto 18px;letter-spacing:-.02em}
.step h3{margin-bottom:8px}
.step p{color:var(--txt2);font-size:.8125rem;line-height:1.6}
@media(max-width:640px){.steps-g{grid-template-columns:1fr;gap:32px}}

/* =============================================
   BENTO GRID
   ============================================= */
.bento{display:grid;grid-template-columns:repeat(12,1fr);gap:16px;margin-top:56px}
.bc{padding:32px;display:flex;flex-direction:column;min-height:260px;position:relative}
.bc>*{position:relative;z-index:2}
.bc h3{margin-top:8px;margin-bottom:6px}
.bc p{font-size:.8125rem;line-height:1.6}
.bc-media{flex:1;display:flex;align-items:center;justify-content:center;margin-top:16px;border-radius:14px;overflow:hidden}
.ph{width:100%;min-height:90px;border:1px dashed var(--g200);border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:16px;color:var(--txt3);font-size:.625rem;text-align:center;background:rgba(0,0,0,.01)}
.ph-d{border-color:rgba(255,255,255,.06);color:var(--txtd2);background:rgba(255,255,255,.02)}
.ph-l{font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--blue);font-size:.5625rem}

/* Screenshot images in bento cards & sections */
.sc-img{width:100%;height:auto;border-radius:16px;display:block;object-fit:contain}
.sc-img-sm{max-width:280px;margin:0 auto}
.sc-stack{display:flex;flex-direction:column;gap:12px;align-items:center;width:100%}
.sc-row{display:flex;gap:12px;align-items:center;justify-content:center;flex-wrap:wrap}
.sc-di{border-radius:22px;height:auto;display:block;object-fit:contain}
.sc-la{border-radius:18px;height:auto;display:block;object-fit:contain;max-width:240px}
.sc-widget-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:center;width:100%;padding:24px}
.sc-widget-grid img{width:100%;height:auto;border-radius:20px;display:block;object-fit:contain}
@media(max-width:640px){.sc-widget-grid{grid-template-columns:1fr;gap:12px}.sc-row{flex-direction:column}}

.c12{grid-column:span 12}.c8{grid-column:span 8}.c7{grid-column:span 7}
.c6{grid-column:span 6}.c5{grid-column:span 5}.c4{grid-column:span 4}

.bc-hero{background:linear-gradient(155deg,var(--blue),var(--blue-d)) !important;border:none !important;color:#fff;min-height:340px}
.bc-hero::before{background:linear-gradient(155deg,rgba(255,255,255,.1) 0%,transparent 60%)}
.bc-hero p{color:rgba(255,255,255,.65)}
.bc-hero:hover{transform:translateY(-4px)}

.bc-dark{background:var(--g900) !important;border-color:rgba(255,255,255,.05) !important;color:var(--txtd)}
.bc-dark p{color:var(--txtd2)}

/* Orb inside bento card */
.bc-orb{display:flex;align-items:center;justify-content:center;margin-top:14px;position:relative}
.bc-orb .orb-item{width:100px;height:100px}
.bc-orb-glow{position:absolute;width:160px;height:160px;border-radius:50%;background:radial-gradient(circle,rgba(180,180,190,.06) 0%,transparent 65%)}

@media(max-width:1024px){.c8,.c7,.c5{grid-column:span 6}.c4{grid-column:span 6}}
@media(max-width:640px){.c12,.c8,.c7,.c6,.c5,.c4{grid-column:span 12}.bc{min-height:200px;padding:24px}}

/* =============================================
   SPLIT LAYOUT
   ============================================= */
.split{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}
.split-r{direction:rtl}.split-r>*{direction:ltr}
.split-t h2{margin-bottom:16px}
.split-t>p{margin-bottom:18px}
.ck{display:flex;flex-direction:column;gap:10px;margin-top:14px}
.ck li{display:flex;align-items:flex-start;gap:10px;font-size:.8125rem;line-height:1.5}
.ck li::before{content:'';flex-shrink:0;width:20px;height:20px;border-radius:50%;margin-top:1px;
  background:var(--blue-glow) url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10 3L4.5 8.5L2 6' stroke='%230A4FCC' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center}
.ck-d li::before{background-color:rgba(59,123,247,.12);background-image:url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10 3L4.5 8.5L2 6' stroke='%233B7BF7' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.ck-d li{color:var(--txtd2)}
.split-v{aspect-ratio:4/3;border-radius:24px;overflow:hidden;position:relative}
@media(max-width:640px){.split,.split-r{grid-template-columns:1fr;gap:32px;direction:ltr}}

/* =============================================
   NOTIFICATIONS
   ============================================= */
.notif-s{max-width:340px;display:flex;flex-direction:column;gap:8px}
.notif{display:flex;gap:10px;align-items:flex-start;padding:11px 13px;border-radius:18px;
  background:rgba(255,255,255,.55);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);
  border:1px solid rgba(255,255,255,.5);box-shadow:0 4px 20px rgba(0,0,0,.04),inset 0 1px 0 rgba(255,255,255,.7);
  opacity:0;transform:translateY(14px);animation:nIn .5s var(--ease) forwards}
.notif:nth-child(1){animation-delay:.2s}.notif:nth-child(2){animation-delay:.5s}.notif:nth-child(3){animation-delay:.8s}
@keyframes nIn{to{opacity:1;transform:translateY(0)}}
.notif-i{width:34px;height:34px;min-width:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:.875rem}
.notif-b h4{font-size:.6875rem;font-weight:600}.notif-b p{font-size:.625rem;color:var(--txt2);line-height:1.4;margin-top:1px}
.notif-t{font-size:.5625rem;color:var(--txt3);white-space:nowrap;margin-left:auto}

/* =============================================
   USE CASES
   ============================================= */
.uc-g{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:56px}
.uc-c{padding:32px 24px}
.uc-e{font-size:1.5rem;margin-bottom:14px}
.uc-c h3{margin-bottom:6px}
.uc-c p{color:var(--txt2);font-size:.8125rem;line-height:1.6}
@media(max-width:900px){.uc-g{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.uc-g{grid-template-columns:1fr}}

/* =============================================
   ECOSYSTEM
   ============================================= */
.eco-r{display:flex;justify-content:center;gap:40px;flex-wrap:wrap;margin-top:52px}
.eco-i{text-align:center}
.eco-ic{width:52px;height:52px;border-radius:14px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.06);display:flex;align-items:center;justify-content:center;margin:0 auto 10px;font-size:1.375rem;transition:all .5s var(--ease)}
.eco-ic:hover{background:rgba(255,255,255,.1);transform:translateY(-4px)}
.eco-i span{font-size:.6875rem;color:var(--txtd2)}
.eco-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:44px}
.eco-card{padding:28px}
.eco-card h3{margin-bottom:6px}
.eco-card p{color:var(--txtd2);font-size:.8125rem;line-height:1.6}
@media(max-width:900px){.eco-cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.eco-cards{grid-template-columns:1fr}}

/* =============================================
   PRIVACY
   ============================================= */
.priv-g{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:56px}
.priv-c{padding:32px 24px;text-align:center}
.priv-ic{width:44px;height:44px;border-radius:50%;background:var(--blue-glow);display:flex;align-items:center;justify-content:center;margin:0 auto 16px;font-size:1.125rem;transition:all .5s var(--ease)}
.priv-c:hover .priv-ic{transform:scale(1.1);background:var(--blue-glow-md)}
.priv-c h3{margin-bottom:5px}
.priv-c p{color:var(--txt2);font-size:.8125rem}
@media(max-width:640px){.priv-g{grid-template-columns:1fr}}

/* =============================================
   CTA
   ============================================= */
.cta{padding:clamp(100px,16vw,200px) 0 clamp(40px,6vw,80px);position:relative;overflow:hidden}
.cta-bg{position:absolute;inset:0;background:radial-gradient(ellipse 60% 50% at 50% 50%,rgba(10,79,204,.03),transparent)}

/* =============================================
   FOOTER
   ============================================= */
.footer{background:#0a0a0f;color:var(--txtd);padding:56px 0 28px}
.f-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;padding-bottom:40px;border-bottom:1px solid rgba(255,255,255,.04)}
.f-brand img{height:26px;width:26px;border-radius:7px;margin-bottom:8px}
.f-brand p{color:var(--txtd2);font-size:.75rem;max-width:240px;line-height:1.55}
.f-col h4{font-size:.5625rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--txtd2);margin-bottom:12px}
.f-col a{display:block;color:var(--txtd2);font-size:.75rem;margin-bottom:7px;transition:color .2s}
.f-col a:hover{color:#fff}
.f-bot{display:flex;justify-content:space-between;align-items:center;padding-top:18px;font-size:.625rem;color:var(--txtd2)}
.lang-switcher-footer{margin-left:auto}
.footer .lang-switcher-label{color:var(--txtd2)}
.footer .lang-switcher-select{
  background:rgba(255,255,255,.06) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23AEAEB2' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 10px center;
  border-color:rgba(255,255,255,.16);color:var(--txtd)
}
.footer .lang-switcher-select option{color:var(--txt)}
.f-bot-l{display:flex;gap:18px}.f-bot-l a{color:var(--txtd2);transition:color .2s}.f-bot-l a:hover{color:#fff}
@media(max-width:640px){.f-grid{grid-template-columns:1fr 1fr}.f-bot{flex-direction:column;gap:8px;text-align:center}.lang-switcher-footer{margin-left:0}}

/* =============================================
   GLASS DIVIDER
   ============================================= */
.divider{height:1px;border:none;background:linear-gradient(90deg,transparent 0%,var(--g200) 50%,transparent 100%);max-width:1080px;margin:0 auto}

/* =============================================
   SCROLL REVEAL
   ============================================= */
.rv{opacity:0;transform:translateY(32px) scale(.98);filter:blur(3px);transition:opacity .8s var(--ease-out),transform .8s var(--ease),filter .6s var(--ease)}
.rv.vis{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}
.rv-d1{transition-delay:.1s}.rv-d2{transition-delay:.2s}.rv-d3{transition-delay:.3s}.rv-d4{transition-delay:.4s}

@media(prefers-reduced-motion:reduce){
  .rv{transition:none;opacity:1;transform:none}
  .amb,.orb-ring,.css-orb::before{animation:none}
  .hero-orb,.orb-wrap,.orb-peek,.bc-orb{animation:none}
  .stripe-video video,.video-orb{animation:none}
  *{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}
}

/* =============================================
   SKIP TO CONTENT
   ============================================= */
.skip-link{position:absolute;top:-100%;left:16px;padding:12px 24px;background:var(--blue);color:#fff;border-radius:12px;font-size:.875rem;font-weight:600;z-index:9999;transition:top .2s var(--ease)}
.skip-link:focus{top:16px}

/* =============================================
   FOCUS STATES
   ============================================= */
*:focus-visible{outline:2px solid var(--blue-l);outline-offset:3px;border-radius:8px}
.btn:focus-visible,.btn-as:focus-visible,.nav-cta:focus-visible{outline-offset:4px}
.glass:focus-visible{outline-offset:2px;border-radius:20px}

/* =============================================
   ACTIVE / PRESS STATES
   ============================================= */
.btn:active{transform:scale(.97);transition-duration:.1s}
.btn-as:active{transform:scale(.97);transition-duration:.1s}
.glass:active{transform:translateY(-2px) scale(.99);transition-duration:.15s}
.nav-links a:active{opacity:.7}
.mob-link:active{opacity:.7}

.bc{cursor:default}
.promise-c,.uc-c,.priv-c,.eco-card,.eco-ic{cursor:default}
.step-n{cursor:default}

/* =============================================
   HELP CHAIN
   ============================================= */
.chain-sec{padding:clamp(60px,10vw,140px) 0}
.chain{display:flex;align-items:stretch;justify-content:center;gap:0;margin-top:56px;padding:0 24px}
.chain-step{display:flex;flex-direction:column;align-items:center;text-align:center;flex:1 1 0%;min-width:0;max-width:260px}
.chain-card{padding:36px 16px 32px;display:flex;flex-direction:column;align-items:center;text-align:center;width:100%;height:100%;cursor:default;
  -webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}
.chain-card:hover{transform:translateY(-6px)}
.chain-card h3{margin-top:20px;margin-bottom:4px}
.chain-desc{color:var(--txt2);font-size:.8125rem;line-height:1.55}

/* Orb icon */
.chain-orb{width:72px;height:72px;border-radius:50%;position:relative;
  background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.7) 0%,transparent 45%),
    radial-gradient(circle at 60% 65%,rgba(10,79,204,.06) 0%,transparent 40%),
    radial-gradient(circle,rgba(230,238,255,.6) 0%,rgba(200,220,255,.25) 60%,rgba(255,255,255,.3) 100%);
  box-shadow:inset 0 -4px 16px rgba(10,79,204,.04),inset 0 4px 16px rgba(255,255,255,.5),
    0 0 40px rgba(10,79,204,.06),0 4px 24px rgba(0,0,0,.04);
  display:flex;align-items:center;justify-content:center;
  -webkit-animation:orb-breathe 6s ease-in-out infinite;animation:orb-breathe 6s ease-in-out infinite;
  -webkit-transition:all .5s var(--ease);transition:all .5s var(--ease)}
.chain-orb::after{content:'';position:absolute;top:6%;left:14%;width:50%;height:35%;border-radius:50%;
  background:radial-gradient(ellipse,rgba(255,255,255,.65) 0%,transparent 70%);-webkit-filter:blur(4px);filter:blur(4px);pointer-events:none}
.chain-card:hover .chain-orb{-webkit-transform:scale(1.06);transform:scale(1.06);box-shadow:inset 0 -4px 16px rgba(10,79,204,.06),inset 0 4px 16px rgba(255,255,255,.5),
    0 0 60px rgba(10,79,204,.1),0 8px 32px rgba(0,0,0,.06)}
.chain-orb-inner{position:relative;z-index:1;display:flex;align-items:center;justify-content:center}

/* Location badge on SMS icon */
.chain-loc-badge{position:absolute;bottom:-2px;right:-6px;-webkit-filter:drop-shadow(0 2px 4px rgba(10,79,204,.25));filter:drop-shadow(0 2px 4px rgba(10,79,204,.25));
  -webkit-animation:pin-pulse 2.5s ease-in-out infinite;animation:pin-pulse 2.5s ease-in-out infinite}
@-webkit-keyframes pin-pulse{0%,100%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}50%{-webkit-transform:scale(1.1) translateY(-1px);transform:scale(1.1) translateY(-1px)}}
@keyframes pin-pulse{0%,100%{transform:scale(1) translateY(0)}50%{transform:scale(1.1) translateY(-1px)}}

/* Connector */
.chain-connector{display:flex;align-items:center;justify-content:center;flex:0 0 auto;
  width:clamp(40px,6vw,80px);position:relative;align-self:center;padding-bottom:60px}
.chain-connector-line{width:100%;height:1px;
  background:linear-gradient(90deg,transparent 0%,var(--blue-ll) 50%,transparent 100%);opacity:.35}
.chain-connector-dot{position:absolute;top:50%;-webkit-transform:translateY(calc(-50% - 30px));transform:translateY(calc(-50% - 30px));
  width:6px;height:6px;border-radius:50%;
  background:var(--blue);box-shadow:0 0 10px rgba(10,79,204,.35);
  -webkit-animation:chain-flow 4.5s ease-in-out infinite;animation:chain-flow 4.5s ease-in-out infinite}
.chain-connector:nth-of-type(2) .chain-connector-dot{-webkit-animation-delay:2s;animation-delay:2s}
@-webkit-keyframes chain-flow{0%{left:0;opacity:0}15%{opacity:1}85%{opacity:1}100%{left:calc(100% - 6px);opacity:0}}
@keyframes chain-flow{0%{left:0;opacity:0}15%{opacity:1}85%{opacity:1}100%{left:calc(100% - 6px);opacity:0}}

@media(max-width:700px){
  .chain{flex-direction:column;align-items:center;gap:0;padding:0 16px}
  .chain-step{max-width:320px;width:100%}
  .chain-card{height:auto}
  .chain-connector{width:1px;height:40px;padding-bottom:0;flex-direction:column}
  .chain-connector-line{width:1px;height:100%;
    background:linear-gradient(180deg,transparent 0%,var(--blue-ll) 50%,transparent 100%)}
  .chain-connector-dot{top:0;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%);
    -webkit-animation:chain-flow-v 4.5s ease-in-out infinite;animation:chain-flow-v 4.5s ease-in-out infinite}
  .chain-connector:nth-of-type(2) .chain-connector-dot{-webkit-animation:chain-flow-v 4.5s ease-in-out infinite;animation:chain-flow-v 4.5s ease-in-out infinite;-webkit-animation-delay:2s;animation-delay:2s}
}
@-webkit-keyframes chain-flow-v{0%{top:0;opacity:0}15%{opacity:1}85%{opacity:1}100%{top:calc(100% - 6px);opacity:0}}
@keyframes chain-flow-v{0%{top:0;opacity:0}15%{opacity:1}85%{opacity:1}100%{top:calc(100% - 6px);opacity:0}}

/* =============================================
   MOBILE REFINEMENTS
   ============================================= */
@media(max-width:600px){
  .sec{padding:clamp(64px,12vw,100px) 0}
  .tb{font-size:.875rem}
  .hero h1{font-size:clamp(2.8rem,12vw,3.8rem)}
  .t1{font-size:clamp(1.875rem,7vw,2.75rem)}
  .t2{font-size:clamp(1.4rem,5.5vw,2rem)}
  .btn{padding:12px 24px;font-size:.8125rem}
  .btn-as{padding:12px 20px}
  .btn-as-t strong{font-size:1rem}
}

/* =============================================
   LEGAL / CONTENT PAGES
   ============================================= */
.legal-page{padding:clamp(120px,16vw,180px) 0 clamp(60px,8vw,100px);min-height:60vh}
.legal-page h1{font-size:clamp(2rem,4vw,3rem);font-weight:300;letter-spacing:-.035em;line-height:1.1;margin-bottom:32px}
.legal-page h2{font-size:clamp(1.2rem,2vw,1.5rem);font-weight:600;letter-spacing:-.02em;margin:36px 0 12px}
.legal-page h3{font-size:1rem;font-weight:600;margin:24px 0 8px}
.legal-page p{font-size:.9375rem;line-height:1.75;color:var(--txt2);margin-bottom:14px}
.legal-page ul,.legal-page ol{margin:12px 0 16px 20px;color:var(--txt2);font-size:.9375rem;line-height:1.75}
.legal-page ul{list-style:disc}.legal-page ol{list-style:decimal}
.legal-page li{margin-bottom:6px}
.legal-page a{color:var(--blue);text-decoration:underline;text-underline-offset:2px}
.legal-page a:hover{color:var(--blue-l)}
.legal-page strong{font-weight:600;color:var(--txt)}
.legal-page .legal-caps{text-transform:uppercase;font-weight:600;color:var(--txt);font-size:.875rem;line-height:1.75}
.legal-page hr{border:none;height:1px;background:var(--g200);margin:32px 0}

/* Support page form */
.support-form{max-width:560px}
.support-form label{display:block;font-size:.8125rem;font-weight:600;color:var(--txt);margin-bottom:6px}
.support-form input,.support-form textarea{width:100%;padding:12px 16px;border:1px solid var(--g200);border-radius:12px;font-size:.9375rem;font-family:inherit;background:var(--g50);transition:border-color .2s,box-shadow .2s;outline:none}
.support-form input:focus,.support-form textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-glow)}
.support-form textarea{resize:vertical;min-height:140px}
.support-form .form-group{margin-bottom:20px}
.support-form .required::after{content:" *";color:var(--red)}

/* =============================================
   SCROLL PROGRESS BAR
   ============================================= */
.scroll-progress{position:fixed;top:0;left:0;height:2px;background:linear-gradient(90deg,var(--blue),var(--blue-l));z-index:10000;transform-origin:left;transition:none;pointer-events:none;will-change:transform}

/* =============================================
   3D TILT CARDS (VisionOS-style)
   ============================================= */
.bc{transform-style:preserve-3d;will-change:auto}
.bc.tilt-active{will-change:transform}
.bc .tilt-glare{position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:3;opacity:0;transition:opacity .3s var(--ease);background:radial-gradient(circle at var(--mouse-x,50%) var(--mouse-y,50%),rgba(255,255,255,.15) 0%,transparent 60%)}
.bc:hover .tilt-glare{opacity:1}

/* =============================================
   MAGNETIC BUTTONS
   ============================================= */
.btn,.btn-as,.nav-cta{will-change:auto}
.magnetic-active{will-change:transform}

/* =============================================
   HERO TEXT ANIMATION
   ============================================= */
.th .word{display:inline-block;opacity:0;transform:translateY(20px);transition:opacity .6s cubic-bezier(.16,1,.3,1),transform .6s cubic-bezier(.16,1,.3,1)}
.th .word.revealed{opacity:1;transform:translateY(0)}
.th .word-space{display:inline-block;width:.3em}

/* =============================================
   GLASS LIGHT REFRACTION
   ============================================= */
.glass .light-effect{position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:2;opacity:0;transition:opacity .4s var(--ease);background:radial-gradient(300px circle at var(--light-x,50%) var(--light-y,50%),rgba(255,255,255,.12) 0%,transparent 70%)}
.glass:hover .light-effect{opacity:1}

/* =============================================
   HERO CARD SHIMMER
   ============================================= */
.bc-hero{position:relative;overflow:hidden}
.bc-hero .shimmer-border{position:absolute;inset:-2px;border-radius:inherit;z-index:0;opacity:.4;background:conic-gradient(from var(--shimmer-angle,0deg) at 50% 50%,transparent 0%,rgba(255,255,255,.3) 10%,transparent 20%,transparent 50%,rgba(255,255,255,.2) 60%,transparent 70%);animation:shimmer-rotate 8s linear infinite;pointer-events:none}
@keyframes shimmer-rotate{to{--shimmer-angle:360deg}}
@property --shimmer-angle{syntax:"<angle>";initial-value:0deg;inherits:false}

/* =============================================
   STAGGERED BENTO ENTRANCE
   ============================================= */
.bento.rv{opacity:1;transform:none;filter:none}
.bento .bc{opacity:0;transform:translateY(24px) scale(.96);filter:blur(4px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1),filter .7s cubic-bezier(.16,1,.3,1)}
.bento .bc.revealed{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}
.bento .bc:nth-child(1){transition-delay:0s}
.bento .bc:nth-child(2){transition-delay:.08s}
.bento .bc:nth-child(3){transition-delay:.16s}
.bento .bc:nth-child(4){transition-delay:.24s}
.bento .bc:nth-child(5){transition-delay:.32s}
.bento .bc:nth-child(6){transition-delay:.4s}
.bento .bc:nth-child(7){transition-delay:.48s}
.bento .bc:nth-child(8){transition-delay:.56s}
.bento .bc:nth-child(9){transition-delay:.64s}

/* =============================================
   ICON GLOW PULSE
   ============================================= */
.p-icon,.priv-ic{position:relative}
.p-icon::after,.priv-ic::after{content:'';position:absolute;inset:-4px;border-radius:inherit;background:var(--blue-glow-md);opacity:0;z-index:-1;transition:all .5s var(--ease);filter:blur(8px)}
.promise-c:hover .p-icon::after,.priv-c:hover .priv-ic::after{opacity:1;inset:-8px}

/* CTA Bottom Orb — responsive sizing */
.cta-orb-wrap{position:relative;z-index:1;height:270px;overflow:hidden;pointer-events:none}
.cta-orb{width:540px;height:540px;margin:0 auto;position:relative}
@media(max-width:768px){.cta-orb-wrap{height:180px}.cta-orb{width:360px;height:360px}}
