/* waiv-home.css — long-scroll homepage built on the Direction-B dark system */

.wv-home{
  font-family:'Schibsted Grotesk',system-ui,sans-serif;
  color:var(--frost);
  background:#000814;
  overflow-x:clip;
}
.wv-container{max-width:1200px;margin:0 auto;padding:0 clamp(28px,5vw,64px);}

/* scroll reveal */
[data-reveal]{opacity:0;transform:translateY(34px);transition:opacity .8s cubic-bezier(.2,.7,.3,1),transform .8s cubic-bezier(.2,.7,.3,1);}
[data-reveal].is-in{opacity:1;transform:none;}
[data-reveal-delay="1"]{transition-delay:.08s;}
[data-reveal-delay="2"]{transition-delay:.16s;}
[data-reveal-delay="3"]{transition-delay:.24s;}
[data-reveal-delay="4"]{transition-delay:.32s;}
@media (prefers-reduced-motion: reduce){
  [data-reveal]{opacity:1 !important;transform:none !important;}
}

/* section scaffold */
.wv-sec{position:relative;padding:clamp(90px,11vw,150px) 0;}
.wv-sec-head{max-width:780px;}
.wv-sec-head--center{margin:0 auto;text-align:center;}
.wv-kicker{display:inline-flex;align-items:center;gap:11px;font-family:'Space Mono',monospace;font-size:13px;
  letter-spacing:.26em;text-transform:uppercase;color:var(--yellow);margin-bottom:22px;}
.wv-kicker-mark{width:7px;height:7px;background:var(--yellow);transform:rotate(45deg);box-shadow:0 0 12px rgba(255,213,39,.8);}
.wv-sec-title{font-size:clamp(34px,4.4vw,62px);line-height:1.02;font-weight:800;letter-spacing:-.035em;color:#fff;margin:0;text-wrap:balance;}
.wv-sec-title em{font-style:normal;color:var(--yellow);}
.wv-sec-lede{font-size:clamp(17px,1.3vw,20px);line-height:1.55;color:rgba(230,235,255,.66);margin:24px 0 0;max-width:34em;text-wrap:pretty;}
.wv-sec-head--center .wv-sec-lede{margin-left:auto;margin-right:auto;}

/* ───────── marquee trust strip ───────── */
.wv-marquee{position:relative;border-top:1px solid rgba(230,235,255,.08);border-bottom:1px solid rgba(230,235,255,.08);
  padding:34px 0;background:rgba(0,5,16,.6);overflow:hidden;}
.wv-marquee-lbl{font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.24em;text-transform:uppercase;
  color:rgba(230,235,255,.4);text-align:center;margin-bottom:26px;}
.wv-marquee-track{display:flex;gap:72px;width:max-content;animation:wv-marq 32s linear infinite;}
.wv-marquee:hover .wv-marquee-track{animation-play-state:paused;}
.wv-marquee-track span{font-size:23px;font-weight:700;letter-spacing:-.02em;color:rgba(230,235,255,.5);white-space:nowrap;}
@keyframes wv-marq{to{transform:translateX(-50%);}}
@media (prefers-reduced-motion: reduce){.wv-marquee-track{animation:none;}}

/* ───────── how it works ───────── */
.wv-how{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(40px,6vw,90px);align-items:center;margin-top:64px;}
.wv-steps{display:flex;flex-direction:column;gap:8px;}
.wv-step{display:grid;grid-template-columns:auto 1fr;gap:22px;padding:26px 0;border-top:1px solid rgba(230,235,255,.1);cursor:pointer;transition:padding-left .3s;}
.wv-step:last-child{border-bottom:1px solid rgba(230,235,255,.1);}
.wv-step.is-active{padding-left:8px;}
.wv-step-num{font-family:'Space Mono',monospace;font-size:14px;font-weight:700;letter-spacing:.1em;
  color:rgba(230,235,255,.4);width:30px;padding-top:5px;transition:color .3s;}
.wv-step.is-active .wv-step-num{color:var(--yellow);}
.wv-step-t{font-size:clamp(21px,2vw,27px);font-weight:700;letter-spacing:-.02em;color:rgba(230,235,255,.55);margin:0;transition:color .3s;}
.wv-step.is-active .wv-step-t{color:#fff;}
.wv-step-d{font-size:16px;line-height:1.55;color:rgba(230,235,255,.6);margin:10px 0 0;max-width:30em;
  max-height:0;opacity:0;overflow:hidden;transition:max-height .4s ease,opacity .4s ease,margin .4s ease;}
.wv-step.is-active .wv-step-d{max-height:120px;opacity:1;}

.wv-how-stage{position:relative;display:flex;align-items:center;justify-content:center;min-height:520px;}
.wv-how-stage .wv-phone{transform:scale(1.12);}
.wv-how-glow{position:absolute;width:440px;height:440px;border-radius:50%;
  background:radial-gradient(closest-side,rgba(255,213,39,.22),transparent 70%);filter:blur(60px);z-index:-1;}
.wv-tapcard{position:absolute;left:-8%;top:8%;z-index:4;}

/* ───────── card / finishes deep-dive ───────── */
.wv-finishes-sec{background:
  radial-gradient(120% 80% at 84% 16%,#073066 0%,transparent 50%),
  linear-gradient(180deg,#000814 0%,#00112b 50%,#000814 100%);}
.wv-finish-layout{display:grid;grid-template-columns:.92fr 1.08fr;gap:clamp(40px,5vw,80px);align-items:center;margin-top:56px;}
.wv-finish-stage{position:relative;display:flex;align-items:center;justify-content:center;min-height:520px;}
.wv-finish-detail .wv-kicker{margin-bottom:18px;}
.wv-finish-switch{display:flex;gap:10px;margin:30px 0 34px;flex-wrap:wrap;}
.wv-finish-chip{width:54px;height:35px;border-radius:9px;cursor:pointer;border:none;padding:0;
  box-shadow:inset 0 0 0 1px rgba(230,235,255,.2);transition:transform .22s,box-shadow .22s;}
.wv-finish-chip:hover{transform:translateY(-2px);}
.wv-finish-chip.is-active{box-shadow:0 0 0 2px var(--yellow),0 8px 20px -6px rgba(255,213,39,.55);transform:translateY(-2px);}
.wv-finish-now{display:flex;align-items:baseline;gap:14px;margin-bottom:30px;}
.wv-finish-now h3{font-size:30px;font-weight:700;letter-spacing:-.02em;color:#fff;margin:0;}
.wv-finish-now span{font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.16em;color:rgba(230,235,255,.45);text-transform:uppercase;}
.wv-specs{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(230,235,255,.1);border:1px solid rgba(230,235,255,.1);border-radius:16px;overflow:hidden;}
.wv-spec{background:#00112b;padding:20px 22px;}
.wv-spec-k{font-family:'Space Mono',monospace;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:rgba(230,235,255,.45);margin:0 0 7px;}
.wv-spec-v{font-size:16px;font-weight:600;color:#fff;margin:0;letter-spacing:-.01em;}
.wv-spec-v small{display:block;font-weight:400;font-size:13px;color:rgba(230,235,255,.55);margin-top:3px;letter-spacing:0;}

/* ───────── share bento grid ───────── */
.wv-bento{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:200px;gap:18px;margin-top:60px;}
.wv-tile-x{position:relative;border-radius:22px;padding:26px;overflow:hidden;
  background:rgba(255,255,255,.03);box-shadow:inset 0 0 0 1px rgba(230,235,255,.08);
  display:flex;flex-direction:column;justify-content:space-between;transition:transform .35s cubic-bezier(.2,.7,.3,1),box-shadow .35s,background .35s;}
.wv-tile-x:hover{transform:translateY(-4px);background:rgba(255,255,255,.055);box-shadow:inset 0 0 0 1px rgba(255,213,39,.3),0 24px 50px -24px rgba(0,4,20,.8);}
.wv-tile-x.span2{grid-column:span 2;}
.wv-tile-x.row2{grid-row:span 2;}
.wv-tx-ico{width:46px;height:46px;border-radius:13px;display:flex;align-items:center;justify-content:center;
  background:rgba(255,213,39,.12);box-shadow:inset 0 0 0 1px rgba(255,213,39,.25);}
.wv-tx-ico svg{width:22px;height:22px;stroke:var(--yellow);fill:none;stroke-width:1.7;}
.wv-tx-t{font-size:21px;font-weight:700;letter-spacing:-.02em;color:#fff;margin:0 0 8px;}
.wv-tx-d{font-size:15px;line-height:1.5;color:rgba(230,235,255,.62);margin:0;max-width:26em;}
.wv-tx-foot{margin-top:auto;}
.wv-tx-glow{position:absolute;right:-40px;bottom:-40px;width:180px;height:180px;border-radius:50%;
  background:radial-gradient(closest-side,rgba(63,123,255,.25),transparent 70%);filter:blur(30px);pointer-events:none;}
.wv-tx-chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px;}
.wv-tx-chips b{font-family:'Space Mono',monospace;font-size:11px;font-weight:400;letter-spacing:.08em;color:rgba(230,235,255,.7);
  padding:6px 11px;border-radius:999px;background:rgba(230,235,255,.06);box-shadow:inset 0 0 0 1px rgba(230,235,255,.12);}

/* ───────── Onelynk ───────── */
.wv-onelynk{background:linear-gradient(180deg,#000814,#00102b 60%,#000814);}
.wv-ol-layout{display:grid;grid-template-columns:1fr .9fr;gap:clamp(40px,6vw,90px);align-items:center;margin-top:18px;}
.wv-ol-stage{position:relative;display:flex;align-items:center;justify-content:center;min-height:560px;}
.wv-ol-feats{display:flex;flex-direction:column;gap:24px;margin:34px 0 38px;}
.wv-ol-feat{display:grid;grid-template-columns:auto 1fr;gap:16px;}
.wv-ol-feat-ico{width:38px;height:38px;border-radius:11px;flex:none;display:flex;align-items:center;justify-content:center;
  background:rgba(255,213,39,.12);box-shadow:inset 0 0 0 1px rgba(255,213,39,.25);}
.wv-ol-feat-ico svg{width:19px;height:19px;stroke:var(--yellow);fill:none;stroke-width:1.7;}
.wv-ol-feat h4{font-size:18px;font-weight:700;letter-spacing:-.01em;color:#fff;margin:1px 0 5px;}
.wv-ol-feat p{font-size:15px;line-height:1.5;color:rgba(230,235,255,.6);margin:0;max-width:30em;}

/* big phone for onelynk */
.wv-ol-phone{width:300px;height:610px;border-radius:46px;padding:11px;position:relative;
  background:linear-gradient(160deg,#0a1c3e,#001127);
  box-shadow:0 50px 90px -30px rgba(0,0,0,.8),inset 0 0 0 2px rgba(120,150,210,.28),inset 0 0 0 8px #00254f;}
.wv-ol-screen{position:relative;width:100%;height:100%;border-radius:36px;overflow:hidden;
  background:linear-gradient(175deg,#04183a,#001026);}
.wv-ol-notch{position:absolute;top:13px;left:50%;transform:translateX(-50%);width:96px;height:22px;background:#000a1c;border-radius:12px;z-index:5;}
.wv-ol-cover{height:148px;position:relative;background:
  radial-gradient(120% 130% at 20% 0%,rgba(63,123,255,.5),transparent 60%),
  linear-gradient(135deg,#13407e,#0a2a5c);}
.wv-ol-cover::after{content:"";position:absolute;inset:0;background-image:var(--noise);background-size:120px;opacity:.18;mix-blend-mode:overlay;}
.wv-ol-body{padding:0 22px 22px;position:relative;}
.wv-ol-avatar{width:84px;height:84px;border-radius:50%;margin-top:-46px;position:relative;z-index:2;
  background:linear-gradient(135deg,var(--yellow),var(--sapphire));box-shadow:0 8px 22px -6px rgba(63,123,255,.6),0 0 0 4px #04183a;}
.wv-ol-name{font-size:22px;font-weight:800;letter-spacing:-.02em;color:#fff;margin:16px 0 3px;}
.wv-ol-role{font-size:13px;color:rgba(230,235,255,.6);margin:0;}
.wv-ol-tag{display:inline-block;margin-top:12px;font-family:'Space Mono',monospace;font-size:10px;letter-spacing:.12em;
  color:var(--yellow);padding:5px 10px;border-radius:999px;background:rgba(255,213,39,.12);box-shadow:inset 0 0 0 1px rgba(255,213,39,.3);}
.wv-ol-links{display:flex;flex-direction:column;gap:10px;margin-top:20px;}
.wv-ol-link{display:flex;align-items:center;gap:13px;padding:13px 15px;border-radius:14px;
  background:rgba(230,235,255,.05);box-shadow:inset 0 0 0 1px rgba(230,235,255,.1);}
.wv-ol-link-ico{width:30px;height:30px;border-radius:9px;flex:none;background:rgba(255,213,39,.14);
  display:flex;align-items:center;justify-content:center;}
.wv-ol-link-ico svg{width:16px;height:16px;stroke:var(--yellow);fill:none;stroke-width:1.8;}
.wv-ol-link-txt{flex:1;}
.wv-ol-link-txt b{display:block;font-size:14px;font-weight:600;color:#fff;letter-spacing:-.01em;}
.wv-ol-link-txt span{font-size:11px;color:rgba(230,235,255,.5);}
.wv-ol-save{margin-top:16px;background:var(--yellow);color:var(--navy);font-weight:700;font-size:15px;text-align:center;padding:14px;border-radius:14px;}
.wv-ol-float{position:absolute;z-index:6;background:rgba(0,8,20,.82);backdrop-filter:blur(8px);border-radius:14px;
  padding:13px 16px;box-shadow:0 18px 40px -14px rgba(0,0,0,.7),inset 0 0 0 1px rgba(230,235,255,.12);display:flex;align-items:center;gap:11px;}
.wv-ol-float-1{top:14%;right:-16%;animation:wv-ol-bob 5s ease-in-out infinite alternate;}
.wv-ol-float-2{bottom:14%;left:-18%;animation:wv-ol-bob 6s ease-in-out infinite alternate-reverse;}
.wv-ol-float .wv-num{font-size:22px;font-weight:800;letter-spacing:-.02em;color:var(--yellow);font-family:'Schibsted Grotesk',sans-serif;}
.wv-ol-float .wv-cap{font-family:'Space Mono',monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:rgba(230,235,255,.6);line-height:1.3;}
@keyframes wv-ol-bob{to{transform:translateY(-14px);}}
@media (prefers-reduced-motion: reduce){.wv-ol-float-1,.wv-ol-float-2{animation:none;}}

/* ───────── for business ───────── */
.wv-biz{background:linear-gradient(160deg,#00112b,#000814);}
.wv-biz-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:56px;}
.wv-biz-card{background:rgba(255,255,255,.03);border-radius:20px;padding:30px;box-shadow:inset 0 0 0 1px rgba(230,235,255,.08);}
.wv-biz-card h4{font-size:20px;font-weight:700;letter-spacing:-.02em;color:#fff;margin:18px 0 9px;}
.wv-biz-card p{font-size:15px;line-height:1.55;color:rgba(230,235,255,.6);margin:0;}
.wv-biz-ico{width:46px;height:46px;border-radius:13px;display:flex;align-items:center;justify-content:center;
  background:rgba(63,123,255,.14);box-shadow:inset 0 0 0 1px rgba(63,123,255,.3);}
.wv-biz-ico svg{width:23px;height:23px;stroke:var(--sapphire);fill:none;stroke-width:1.7;}
.wv-biz-stats{display:flex;gap:clamp(28px,5vw,72px);margin-top:60px;flex-wrap:wrap;justify-content:center;text-align:center;}
.wv-biz-stat b{display:block;font-size:clamp(40px,5vw,64px);font-weight:800;letter-spacing:-.04em;color:#fff;line-height:1;}
.wv-biz-stat b em{font-style:normal;color:var(--yellow);}
.wv-biz-stat span{font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:rgba(230,235,255,.5);margin-top:10px;display:block;}

/* ───────── final CTA ───────── */
.wv-cta{position:relative;text-align:center;padding:clamp(110px,13vw,170px) 0;overflow:hidden;
  background:radial-gradient(110% 90% at 50% 18%,#0a3a78 0%,transparent 55%),linear-gradient(180deg,#000814,#00102b);}
.wv-cta-glow{position:absolute;left:50%;top:8%;transform:translateX(-50%);width:680px;height:680px;border-radius:50%;
  background:radial-gradient(closest-side,rgba(255,213,39,.3),transparent 70%);filter:blur(90px);pointer-events:none;z-index:0;}
.wv-cta .wv-container{position:relative;z-index:1;}
.wv-cta-card{display:flex;justify-content:center;margin-bottom:46px;}
.wv-cta h2{font-size:clamp(40px,6vw,86px);line-height:.94;font-weight:800;letter-spacing:-.04em;color:#fff;margin:0;text-wrap:balance;}
.wv-cta h2 em{font-style:normal;color:var(--yellow);}
.wv-cta p{font-size:clamp(17px,1.4vw,21px);color:rgba(230,235,255,.7);margin:24px auto 38px;max-width:30em;}
.wv-cta .wv-cta-row{justify-content:center;}

/* ───────── footer ───────── */
.wv-foot{border-top:1px solid rgba(230,235,255,.08);padding:70px 0 40px;background:#000610;}
.wv-foot-top{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:40px;}
.wv-foot-brand img{height:30px;margin-bottom:18px;}
.wv-foot-brand p{font-size:15px;line-height:1.55;color:rgba(230,235,255,.55);margin:0;max-width:24em;}
.wv-foot-col h5{font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:rgba(230,235,255,.4);margin:0 0 18px;}
.wv-foot-col a{display:block;font-size:15px;color:rgba(230,235,255,.65);margin-bottom:13px;cursor:pointer;transition:color .2s;text-decoration:none;}
.wv-foot-col a:hover{color:#fff;}
.wv-foot-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:56px;padding-top:26px;
  border-top:1px solid rgba(230,235,255,.08);flex-wrap:wrap;gap:16px;}
.wv-foot-bottom span{font-size:13px;color:rgba(230,235,255,.4);}
.wv-foot-socials{display:flex;gap:12px;}
.wv-foot-socials a{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:rgba(230,235,255,.05);box-shadow:inset 0 0 0 1px rgba(230,235,255,.12);transition:background .2s,transform .2s;cursor:pointer;}
.wv-foot-socials a:hover{background:rgba(255,213,39,.14);transform:translateY(-2px);}
.wv-foot-socials svg{width:17px;height:17px;stroke:rgba(230,235,255,.7);fill:none;stroke-width:1.8;}

/* nav scroll state */
.hb-nav{transition:background .3s,box-shadow .3s,padding .3s;}
.wv-home .hb-nav{position:fixed;top:0;left:0;right:0;}
.wv-home .hb-nav.is-stuck{background:rgba(0,6,18,.78);backdrop-filter:blur(14px);box-shadow:0 1px 0 rgba(230,235,255,.08);padding-top:18px;padding-bottom:18px;}

/* responsive */
@media (max-width:980px){
  .wv-how,.wv-finish-layout,.wv-ol-layout{grid-template-columns:1fr;}
  .wv-how-stage,.wv-finish-stage,.wv-ol-stage{order:-1;min-height:auto;padding:30px 0;}
  .wv-bento{grid-template-columns:repeat(2,1fr);}
  .wv-tile-x.span2{grid-column:span 2;}
  .wv-tile-x.row2{grid-row:span 1;}
  .wv-biz-grid{grid-template-columns:1fr;}
  .wv-foot-top{grid-template-columns:1fr 1fr;}
}
@media (max-width:560px){
  .wv-bento{grid-template-columns:1fr;}
  .wv-tile-x.span2{grid-column:span 1;}
  .wv-foot-top{grid-template-columns:1fr;}
}
