/* Home */
* { box-sizing: border-box; }
  html { scroll-behavior:smooth; }
  body { margin: 0; }
  a { color: inherit; text-decoration: none; }
  .rvr { font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; }
  ::selection { background: #1D1D1F; color: #fff; }
  .btn { transition: transform .2s ease, background .2s ease, box-shadow .2s ease; }
  .btn:hover { transform: translateY(-2px); }
  .btn-ink:hover { background:#000; box-shadow:0 16px 34px rgba(0,0,0,.22); }
  .btn-lime:hover { background:#0A6FE0; }
  .arrow { display:inline-block; transition: transform .4s cubic-bezier(.16,.7,.2,1); }
  .btn:hover .arrow, .cta:hover .arrow { transform: translateX(5px); }
  .navlink { position: relative; }
  .navlink::after { content:''; position:absolute; left:0; bottom:-4px; height:1px; width:100%; background:currentColor; transform:scaleX(0); transform-origin:left; transition:transform .4s cubic-bezier(.16,.7,.2,1); }
  .navlink:hover::after { transform: scaleX(1); }
  .nav-item { position:static; padding:8px 0; }
  .nav-trigger { display:inline-flex; align-items:center; gap:6px; cursor:pointer; color:#1D1D1F; }
  .nav-caret { font-size:9px; color:#86868B; transition:transform .3s ease; }
  .nav-item:hover .nav-caret { transform:rotate(180deg); }
  .nav-menu { position:absolute; left:0; right:0; top:100%; background:#FFFFFF; border-bottom:1px solid #E8E8ED; box-shadow:0 30px 60px rgba(30,40,70,.10); padding:30px 56px 38px; opacity:0; visibility:hidden; transform:translateY(-10px); transition:opacity .28s cubic-bezier(.16,.7,.2,1), transform .28s cubic-bezier(.16,.7,.2,1); z-index:210; }
  .nav-menu::before { content:''; position:absolute; top:-28px; left:0; right:0; height:28px; }
  .nav-item:hover .nav-menu { opacity:1; visibility:visible; transform:translateY(0); }
  .nav-menu-inner { max-width:1440px; margin:0 auto; }
  .nav-menu-eyebrow { font-size:11px; color:#86868B; font-weight:600; margin-bottom:14px; letter-spacing:.06em; text-transform:uppercase; }
  .nav-menu a { display:block; width:100%; padding:6px 0; font-size:16px; font-weight:500; letter-spacing:-.01em; color:#1D1D1F; transition:color .2s ease; }
  .nav-menu a:hover { color:#0A84FF; }
  .rv { opacity:0; transform:translateY(30px); transition:opacity .9s cubic-bezier(.16,.7,.2,1), transform .9s cubic-bezier(.16,.7,.2,1); }
  .rv.in { opacity:1; transform:none; }
  .svc-scroll { display:flex; gap:22px; overflow-x:auto; overflow-y:hidden; -ms-overflow-style:none; scrollbar-width:none; padding:6px 56px 10px; scroll-padding-left:56px; }
  .svc-scroll::-webkit-scrollbar { display:none; }
  .svc-card { position:relative; flex:0 0 min(80vw,380px); aspect-ratio:3/4.1; border-radius:26px; overflow:hidden; background:#0C0C0E; transition:transform .5s cubic-bezier(.16,.7,.2,1); }
  .svc-card:hover { transform:translateY(-6px); }
  .svc-card:hover .svc-plus { background:#0A84FF; color:#fff; transform:rotate(90deg); }
  .svc-plus { transition:background .3s ease, color .3s ease, transform .4s cubic-bezier(.16,.7,.2,1); }
  .grad { color:#1D1D1F; }
  @keyframes sheen { to { background-position:200% center; } }
  .sheen { color:#1D1D1F; }
  .word { display:inline-block; opacity:.16; transition:opacity .5s ease; }
  .word.lit { opacity:1; }
  .mq { overflow:hidden; -webkit-mask:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent); mask:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent); }
  .mq-track { display:inline-flex; gap:56px; white-space:nowrap; animation:scrollx 32s linear infinite; }
  @keyframes scrollx { to { transform:translateX(-50%); } }
  @keyframes rFade { 0%{ opacity:0; filter:blur(10px); transform:scale(.9); } 100%{ opacity:1; filter:blur(0); transform:none; } }
  @keyframes restIn { 0%{ opacity:0; max-width:0; margin-left:-.1em; letter-spacing:-.2em; } 100%{ opacity:1; max-width:2em; margin-left:0; letter-spacing:.42em; } }
  .logo-in .lg-r { display:inline-block; animation:rFade 1s cubic-bezier(.16,.7,.2,1) both; }
  .logo-in .lg-r + span { letter-spacing:.42em; }
  .logo-in .lg-o, .logo-in .lg-v, .logo-in .lg-e, .logo-in .lg-r2 { display:inline-block; overflow:hidden; opacity:0; white-space:nowrap; animation:restIn 1.4s cubic-bezier(.16,.7,.2,1) forwards; }
  .logo-in .lg-o { animation-delay:1.05s; }
  .logo-in .lg-v { animation-delay:1.28s; }
  .logo-in .lg-e { animation-delay:1.51s; }
  .logo-in .lg-r2 { animation-delay:1.74s; }
  @keyframes copyIn { from{ opacity:0; transform:translateY(16px); } to{ opacity:1; transform:none; } }
  .hero-copy { animation:copyIn .9s cubic-bezier(.16,.7,.2,1) .5s both; }
  @keyframes glowPulse { 0%,100%{ opacity:.4; } 50%{ opacity:.8; } }
  @keyframes heroZoom { from{ transform:scale(1.12); } to{ transform:scale(1); } }
  @keyframes floaty { 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-8px); } }
  @keyframes heUp { from{ opacity:0; transform:translateY(26px); } to{ opacity:1; transform:none; } }
  .he-1{ animation:heUp .9s cubic-bezier(.16,.7,.2,1) .3s both; }
  .rover-fade{ }
  .rover-fade .lf{ display:inline-block; opacity:0; animation-duration:1.2s; animation-timing-function:cubic-bezier(.16,.7,.2,1); animation-fill-mode:both; }
  .rover-fade .lfL{ animation-name:slideL; }
  .rover-fade .lfR{ animation-name:slideR; }
  .rover-fade .lfC{ animation-name:slideC; }
  @keyframes sheenSweep{ 0%{ background-position:200% center; } 100%{ background-position:-200% center; } }
  .rover-fade.lit .lf{ opacity:1; color:#fff !important; }
  @keyframes slideL{ 0%{ opacity:0; transform:translateX(-90px); filter:blur(12px); } 100%{ opacity:1; transform:none; filter:blur(0); } }
  @keyframes slideR{ 0%{ opacity:0; transform:translateX(90px); filter:blur(12px); } 100%{ opacity:1; transform:none; filter:blur(0); } }
  @keyframes slideC{ 0%{ opacity:0; transform:translateY(40px) scale(.85); filter:blur(12px); } 100%{ opacity:1; transform:none; filter:blur(0); } }
  .hero-after{ animation:heUp 1s cubic-bezier(.16,.7,.2,1) 1.9s both; }
  .aurora{ position:absolute; border-radius:50%; filter:blur(70px); opacity:0; z-index:0; pointer-events:none; }
  .a1{ width:44vw; height:44vw; background:radial-gradient(circle, rgba(10,132,255,.55), rgba(10,132,255,0) 70%); left:8%; top:6%; animation:auroraIn 2s ease .3s forwards, drift1 16s ease-in-out 2.3s infinite; }
  .a2{ width:40vw; height:40vw; background:radial-gradient(circle, rgba(139,92,246,.5), rgba(139,92,246,0) 70%); right:6%; top:12%; animation:auroraIn 2s ease .5s forwards, drift2 19s ease-in-out 2.5s infinite; }
  .a3{ width:46vw; height:46vw; background:radial-gradient(circle, rgba(236,72,153,.4), rgba(236,72,153,0) 70%); left:30%; bottom:0%; animation:auroraIn 2s ease .7s forwards, drift3 22s ease-in-out 2.7s infinite; }
  @keyframes auroraIn{ to{ opacity:1; } }
  @keyframes drift1{ 0%,100%{ transform:translate(0,0); } 50%{ transform:translate(8%,6%); } }
  @keyframes drift2{ 0%,100%{ transform:translate(0,0); } 50%{ transform:translate(-7%,5%); } }
  @keyframes drift3{ 0%,100%{ transform:translate(0,0); } 50%{ transform:translate(5%,-6%); } }
  .hero-grain{ position:absolute; inset:0; z-index:1; pointer-events:none; opacity:.06; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); }
  .hero-line{ height:1px; width:0; margin:30px auto 0; background:linear-gradient(90deg, rgba(255,255,255,0), #0A84FF, #8B5CF6, #EC4899, rgba(255,255,255,0)); animation:lineDraw 1.1s cubic-bezier(.16,.7,.2,1) 1.7s both; }
  @keyframes lineDraw{ from{ width:0; opacity:0; } to{ width:min(320px,60%); opacity:1; } }
  .he-2{ animation:heUp 1s cubic-bezier(.16,.7,.2,1) .45s both; }
  .he-3{ animation:heUp 1s cubic-bezier(.16,.7,.2,1) 1s both; }
  .he-4{ animation:heUp 1s cubic-bezier(.16,.7,.2,1) .78s both; }
  @media (max-width:920px){ .two{grid-template-columns:1fr !important;} .ways{grid-template-columns:1fr !important;} .stat4{grid-template-columns:1fr 1fr !important;} .cta-split{grid-template-columns:1fr !important;} }
  .way{ transition:transform .5s cubic-bezier(.16,.7,.2,1); }
  .way image-slot{ transition:transform .7s cubic-bezier(.16,.7,.2,1); display:block; width:100%; height:100%; }
  .way:hover{ transform:translateY(-6px); }
  .way:hover image-slot{ transform:scale(1.05); }
  .way-btn{ transition:background .3s ease, transform .3s ease; }
  .nav-shell { transition:background .4s ease, border-color .4s ease; }
  .nav-over { background:transparent !important; border-bottom-color:transparent !important; }
  .nav-over > a { color:#fff !important; }
  .nav-over .nav-trigger { color:#fff !important; }
  .nav-over .desknav > .navlink { color:#fff !important; }
  .nav-over .nav-caret { color:rgba(255,255,255,.6) !important; }
  .nav-over .mnav-label span, .nav-over .mnav-label span::before, .nav-over .mnav-label span::after { background:#fff !important; }

  /* ===== responsive ===== */
  .mnav-toggle, .mnav-label { display:none; }
  .mobile-menu { display:none; }
  @media (max-width: 900px){
    nav > div:nth-of-type(1).desknav { display:none !important; }
    .desknav { display:none !important; }
    .mnav-label { display:inline-flex !important; align-items:center; justify-content:center; width:42px; height:42px; cursor:pointer; }
    .mnav-label span, .mnav-label span::before, .mnav-label span::after { content:''; display:block; width:20px; height:2px; background:#1D1D1F; position:relative; transition:transform .3s ease, opacity .3s ease; }
    .mnav-label span::before { position:absolute; top:-6px; }
    .mnav-label span::after { position:absolute; top:6px; }
    .mnav-toggle:checked ~ .mnav-label span { background:transparent; }
    .mnav-toggle:checked ~ .mnav-label span::before { transform:translateY(6px) rotate(45deg); }
    .mnav-toggle:checked ~ .mnav-label span::after { transform:translateY(-6px) rotate(-45deg); }
    .mobile-menu { display:block; position:fixed; top:63px; left:0; right:0; bottom:0; background:#fff; z-index:199; padding:24px 24px 40px; overflow-y:auto; transform:translateX(100%); transition:transform .4s cubic-bezier(.16,.7,.2,1); }
    .mnav-toggle:checked ~ .mobile-menu { transform:translateX(0); }
    .mobile-menu a { display:block; padding:14px 0; font-size:19px; font-weight:600; letter-spacing:-.02em; color:#1D1D1F; border-bottom:1px solid #E8E8ED; }
    .mobile-menu .mm-eye { font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:#86868B; font-weight:600; margin:26px 0 6px; }
    .mm-cta { margin-top:24px; text-align:center; background:#0A84FF; color:#fff !important; border-radius:100px; padding:15px 0 !important; border-bottom:none !important; }
  }
  @media (max-width: 640px){
    section, header, footer, nav { padding-left:24px !important; padding-right:24px !important; }
    .g3, .grid3, .grid4, .stat4, .two, .split, .cta-split, .art-grid, .console { grid-template-columns:1fr !important; }
    .stat4 > div, .grid4 > div { border-left:none !important; }
    .rover-fade { font-size:26px !important; letter-spacing:.28em !important; padding-left:.28em !important; }
    .hero-copy > div { padding-left:24px !important; padding-right:24px !important; }
  }