/* Neo Money Transfer — Design 3, cinematic build.
   Tokens are the Figma file's own (Onest, #0B0215 ink, #000005 night, orange→magenta). */
@font-face{font-family:"Roobert";src:url("fonts/Roobert-Light.otf") format("opentype");font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:"Roobert";src:url("fonts/Roobert-Regular.otf") format("opentype");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Roobert";src:url("fonts/Roobert-Medium.otf") format("opentype");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Roobert";src:url("fonts/Roobert-SemiBold.otf") format("opentype");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Roobert";src:url("fonts/Roobert-Bold.otf") format("opentype");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Roobert";src:url("fonts/Roobert-Heavy.otf") format("opentype");font-weight:800;font-style:normal;font-display:swap}
:root{
  --ink:#800080; --night:#800080; --card-dark:#1E252B; --night-2:#2A323A;
  --body:#40474D; --body2:#232A30; --mute:#7A8590; --grey:#E0E0E0; --grey-2:#D4D4D4; --lavender:#F0EDF7; --line:rgba(0,0,0,.1);
  --violet:#946EFF; --purple:#800080; --indigo:#603886; --lilac:#EDE6FF; --rose:#F3EEFF; --slate:#4E5D69;
  --grad:#800080;
  --sans:"Roobert","Onest",system-ui,sans-serif;
  --wrap:1300px; --gutter:clamp(20px,4.9vw,70px);
  --sec:clamp(80px,10vw,144px);
  --ease:cubic-bezier(.22,1,.36,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:auto;-webkit-text-size-adjust:100%;overscroll-behavior-y:none}
body{font-family:var(--sans);font-weight:400;color:var(--ink);background:var(--grey);line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:hidden;overscroll-behavior-y:none;touch-action:pan-y}
img{display:block;max-width:100%} a{color:inherit} button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
:focus-visible{outline:2px solid var(--purple);outline-offset:4px;border-radius:4px}
.wrap{width:min(var(--wrap),calc(100% - var(--gutter)*2));margin:0 auto}
.sec{padding:var(--sec) 0 calc(var(--sec) * .72)}
.label{font-size:11.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--mute);margin-bottom:18px}
.sec-dark .label{color:var(--violet)}
.numbers .label{color:var(--violet)}
h2.h{font-size:clamp(32px,4vw,52px);font-weight:500;line-height:1.15;letter-spacing:-.01em;max-width:760px}
.lead{font-size:clamp(16px,1.35vw,19px);line-height:1.6;color:var(--body);max-width:62ch;margin-top:18px}
.sec-dark .lead{color:#C0C0C0}
.center{text-align:center}.center h2.h,.center .lead{margin-inline:auto}
.btn{display:inline-flex;align-items:center;gap:8px;padding:14px 32px;border-radius:999px;font-weight:500;font-size:16px;text-decoration:none;background:var(--grad);color:#fff;position:relative;overflow:hidden;isolation:isolate;transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.btn::after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#800080,#946EFF);opacity:0;transition:opacity .35s;z-index:-1}
.btn:hover{transform:translateY(-2px);box-shadow:0 14px 34px -14px rgba(128,0,128,.65)}.btn:hover::after{opacity:1}
.btn-ghost{background:transparent;border:1px solid rgba(255,255,255,.5);color:#fff}.btn-ghost::after{background:rgba(255,255,255,.12)}.btn-ghost:hover{box-shadow:none}
.btn-dark{background:var(--ink)}.btn-dark::after{background:var(--grad)}

/* Heading word-rise wrappers (JS injects .w > i) */
.w{display:inline-block;overflow:hidden;vertical-align:bottom;padding-bottom:.08em;margin-bottom:-.08em}.w i{display:inline-block;font-style:normal;will-change:transform}
html.gsap .rv{opacity:0;transform:translateY(28px)}
html.gsap .pw-cell{opacity:0}
html.gsap .fig i{--s:0}
html.gsap .w i{transform:translateY(110%)}

.more-link{display:inline-flex;align-items:center;gap:9px;margin-top:26px;font-size:15.5px;font-weight:500;color:var(--ink);text-decoration:none;position:relative}
.more-link::after{content:"";position:absolute;left:0;right:26px;bottom:-4px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease)}
.more-link:hover::after{transform:scaleX(1)}
.more-link i{width:26px;height:26px;border-radius:50%;background:var(--grad);color:#fff;display:grid;place-items:center;font-style:normal;font-size:13px;transition:transform .4s var(--ease)}
.more-link:hover i{transform:translateX(3px)}
.sec-dark .more-link{color:#fff}

/* ── Nav: theme-aware pill, adapts to the section beneath it ───── */
.nav{position:fixed;top:0;left:0;right:0;z-index:60;color:#fff;padding-top:clamp(12px,1.8vw,22px);transition:transform .45s var(--ease)}
.nav.hide{transform:translateY(-135%)}
.nav .bar{width:min(1120px,calc(100% - var(--gutter)*2));margin:0 auto;height:62px;border-radius:50px;
  background:rgba(11,2,21,.22);border:1px solid rgba(255,255,255,.16);
  backdrop-filter:blur(16px) saturate(1.3);-webkit-backdrop-filter:blur(16px) saturate(1.3);
  display:flex;align-items:center;gap:20px;padding:0 12px 0 22px;
  transition:background .45s var(--ease),border-color .45s var(--ease),box-shadow .45s var(--ease),height .35s var(--ease)}
.nav.solid .pill{background:rgba(11,2,21,.9);border-color:rgba(255,255,255,.14);box-shadow:0 18px 44px -28px rgba(0,0,0,.9);height:58px}
.nav.light{color:var(--ink)}
.nav.light .bar{background:rgba(255,255,255,.86);border-color:rgba(11,2,21,.08)}
.nav.light.solid .bar{background:rgba(255,255,255,.94);box-shadow:0 18px 44px -30px rgba(11,2,21,.55)}
.nav .brand{display:flex;align-items:center;flex:none}
.nav .brand img{height:28px;width:auto;display:block}
.nav .brand .logo-light{display:none}
.nav.light .brand .logo-dark{display:none}
.nav.light .brand .logo-light{display:block}
.nav img{height:30px;width:auto;transition:filter .45s var(--ease)}
.nav.light img{filter:none}
.nav ul{list-style:none;display:flex;gap:clamp(18px,2.4vw,34px);font-size:15.5px;margin:0 auto}
.nav ul a{text-decoration:none;position:relative;padding:6px 0;color:inherit;opacity:.82;transition:opacity .3s}
.nav ul a:hover{opacity:1}
.nav ul a::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1.5px;background:var(--grad);transition:right .35s var(--ease)}
.nav ul a:hover::after{right:0}
.nav ul li:first-child a{opacity:1;font-weight:500}
.nav .nav-cta{padding:11px 22px;font-size:15px;flex:none}
.nav .burger{display:none;width:42px;height:42px;margin-left:auto;border-radius:50%;flex:none;flex-direction:column;align-items:center;justify-content:center}
.nav .burger span{display:block;width:19px;height:2px;background:currentColor;margin:3px 0;border-radius:2px;transition:transform .35s var(--ease),opacity .2s}
.nav.open .burger span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.nav.open .burger span:nth-child(2){opacity:0}
.nav.open .burger span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
.nav .menu[hidden]{display:none}
/* display:contents removes the <li> itself from the layout box model,
   leaving its <a> as a direct grid item — matching the bare <a> tags
   for Home and Track money exactly. Without this, wp_nav_menu()'s <li>
   wrappers around the middle links break the grid's consistent
   sizing/spacing against those two bare links, which is why "Home" had
   visibly different spacing below it than the rest of the menu. */
.nav .menu li{list-style:none;display:contents}
.nav .menu{width:min(1120px,calc(100% - var(--gutter)*2));margin:10px auto 0;border-radius:24px;padding:10px;
  background:rgba(11,2,21,.94);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
  display:grid;gap:4px;overflow:hidden}
.nav.light .menu{background:rgba(255,255,255,.96);border-color:rgba(11,2,21,.08);box-shadow:0 24px 60px -30px rgba(11,2,21,.5)}
/* Generous padding (comfortably above the ~48px minimum recommended
   touch-target height once line-height is included) plus a real gap
   between items, rather than the 2px gap this had before — with rows
   nearly touching, adjacent tap zones had almost no visual separation,
   making a mistap easy. */
.nav .menu a{display:block;text-decoration:none;padding:16px 18px;border-radius:14px;font-size:17px;line-height:1.3;color:inherit;transition:background .2s}
.nav .menu a:not(.btn):hover,.nav .menu a:not(.btn):active{background:rgba(255,255,255,.08)}
.nav.light .menu a:not(.btn):hover,.nav.light .menu a:not(.btn):active{background:rgba(11,2,21,.05)}
.nav .menu .btn{justify-content:center;margin-top:8px;color:#fff}

/* ── Hero: pinned, photographic ─────────────────────────────────── */
.hero{position:relative;height:100svh;min-height:640px;color:#fff;overflow:hidden;background:var(--ink);z-index:1}
.hero .media{position:absolute;inset:-6% 0;will-change:transform;backface-visibility:hidden}
.hero .media img{width:100%;height:100%;object-fit:cover;object-position:62% 45%;will-change:transform;backface-visibility:hidden}
.hero .veil{position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,2,21,.55) 0%,rgba(11,2,21,.12) 48%,rgba(11,2,21,.34) 100%),linear-gradient(180deg,rgba(11,2,21,.28),transparent 26%,rgba(11,2,21,.5) 100%)}
.hero .shade{position:absolute;inset:0;background:var(--ink);opacity:0;pointer-events:none}
.hero .wrap{position:relative;z-index:1;height:100%;display:grid;grid-template-columns:1fr auto;gap:40px;align-items:end;padding-bottom:clamp(60px,9vh,110px)}
.hero .kicker{font-size:15px;color:var(--violet);margin-bottom:18px;display:flex;align-items:center;gap:12px}
.hero .kicker::before{content:"";width:28px;height:1px;background:var(--violet)}
.hero h1{font-weight:500;letter-spacing:-.035em;line-height:.94;font-size:clamp(46px,8.4vw,120px);text-transform:uppercase;max-width:12ch}
.hero h1.stmt{text-transform:uppercase;font-size:clamp(30px,4.6vw,58px);line-height:1.16;max-width:19ch;letter-spacing:-.02em}
.hero h1 .ln{display:block}
.hero h1 .grad{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero h1 .w{padding-bottom:.06em;margin-bottom:-.06em}
.hero p{color:#E8E8E8;max-width:44ch;margin:22px 0 28px;font-size:clamp(15px,1.2vw,17px)}
.hero-ctas{display:flex;gap:12px;flex-wrap:wrap}
.bal-wrap{width:min(320px,100%);will-change:transform,opacity}
.bal{background:rgba(255,255,255,.1);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.22);border-radius:20px;padding:22px 26px 24px;width:100%;will-change:transform;box-shadow:0 30px 60px -30px rgba(0,0,0,.6)}
.bal small{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#E8E8E8;display:flex;align-items:center;gap:8px}
.bal small::before{content:"";width:8px;height:8px;border-radius:50%;background:#3DDC84;box-shadow:0 0 0 0 rgba(61,220,132,.6);animation:live 1.8s infinite}
@keyframes live{70%{box-shadow:0 0 0 8px rgba(61,220,132,0)}100%{box-shadow:0 0 0 0 rgba(61,220,132,0)}}
.bal b{display:block;font-size:clamp(34px,3vw,42px);font-weight:500;letter-spacing:-.03em;margin:8px 0 12px;font-variant-numeric:tabular-nums}
.bal b.bal-question{font-size:clamp(19px,2vw,23px);line-height:1.35;letter-spacing:-.01em;font-weight:600;margin:8px 0 18px}
.bal .ticks{list-style:none;display:grid;gap:6px;margin-bottom:16px;font-size:13px;color:#DADADA;font-variant-numeric:tabular-nums}
.bal .ticks li{display:flex;justify-content:space-between;gap:12px;overflow:hidden}
.bal .ticks li em{font-style:normal;color:#fff}
.bal .btn{padding:10px 18px;font-size:14px}
.scroll-cue{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);z-index:1;font-size:12px;letter-spacing:.06em;color:#C0C0C0;display:flex;flex-direction:column;align-items:center;gap:8px}
.scroll-cue i{width:1px;height:38px;background:linear-gradient(#fff,transparent);display:block;animation:cue 1.8s var(--ease) infinite}
@keyframes cue{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}

/* ── Corridors: pinned WebGL globe ──────────────────────────────── */
.corridors{position:relative;z-index:2;background:var(--night);color:#fff;height:100svh;min-height:640px;overflow:hidden;margin-top:-52svh}
.corridors .glow{position:absolute;right:-10%;top:10%;width:70vmin;height:70vmin;border-radius:50%;background:radial-gradient(circle,rgba(96,56,134,.55),rgba(128,0,128,.12) 45%,transparent 70%);filter:blur(30px);pointer-events:none}
.corridors canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.glabels{position:absolute;inset:0;z-index:1;pointer-events:none}
.glabel{position:absolute;left:0;top:0;display:inline-flex;align-items:center;gap:7px;white-space:nowrap;font-size:12.5px;line-height:1;font-weight:500;color:#fff;background:rgba(11,2,21,.78);border:1px solid rgba(255,255,255,.28);padding:6px 12px 6px 10px;border-radius:999px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 4px 16px rgba(0,0,0,.35);opacity:0;transition:opacity .45s ease}
.glabel.on{opacity:1}
.glabel i{width:5px;height:5px;border-radius:50%;background:var(--violet);box-shadow:0 0 8px rgba(148,110,255,.9);flex:none}
.glabel.hub{color:#fff;font-weight:500;font-size:13.5px;border-color:rgba(128,0,128,.55);background:rgba(128,0,128,.24);padding:7px 14px 7px 11px}
.glabel.hub i{background:#fff;box-shadow:0 0 10px rgba(255,255,255,.9);width:6px;height:6px}
.corridors .wrap{position:relative;z-index:1;height:100%;display:grid;grid-template-columns:minmax(0,520px) 1fr;align-items:center}
.beats{position:relative;min-height:340px}
.beat{position:absolute;inset:0;display:grid;align-content:center;gap:18px;opacity:0;visibility:hidden}
.beat .num{font-size:clamp(56px,7vw,104px);font-weight:500;letter-spacing:-.04em;line-height:.95;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;font-variant-numeric:tabular-nums}
.beat h2{font-size:clamp(26px,2.6vw,36px);font-weight:500;line-height:1.2;letter-spacing:-.01em;max-width:16ch}
.beat p{color:#C0C0C0;max-width:42ch;font-size:16px}
.beat .tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.beat .tags span{transition:opacity .3s}
.beat .tags span{font-size:13px;padding:7px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.18);color:#EDE6FF}
.progress{position:absolute;left:0;bottom:clamp(30px,5vh,56px);display:flex;gap:6px;z-index:1}
.progress i{width:34px;height:2px;background:rgba(255,255,255,.18);position:relative;overflow:hidden;display:block}
.progress i::after{content:"";position:absolute;inset:0;background:var(--grad);transform:scaleX(var(--p,0));transform-origin:left}
.no-webgl .corridors canvas{display:none}
.no-webgl .corridors .glow{background:radial-gradient(circle at 40% 40%,#3a1224,#0B0215 60%);filter:none;right:6%;top:18%;width:56vmin;height:56vmin;box-shadow:inset -30px -30px 80px rgba(0,0,0,.8),0 0 120px rgba(128,0,128,.25)}

/* ── Partners wall — static grid, placed above the footer ───────── */
.partners-wall{background:var(--grey-2)}
.pw-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:clamp(36px,4.5vw,56px)}
.pw-head .lead{margin-top:14px}
.pw-head .more-link{flex:none;margin-top:0}
.pw-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:1px;background:var(--line);
  border:1px solid var(--line);border-radius:22px;overflow:hidden}
.pw-cell{background:#fff;height:104px;display:grid;place-items:center;padding:20px 22px;transition:background .35s var(--ease)}
.pw-cell:hover{background:var(--grey)}
.pw-cell img{max-height:44px;max-width:118px;width:auto;height:auto;object-fit:contain;
  filter:grayscale(1) contrast(.85) brightness(.72);opacity:.6;transition:filter .4s var(--ease),opacity .4s var(--ease),transform .4s var(--ease)}
.pw-cell:hover img{filter:none;opacity:1;transform:scale(1.05)}

/* ── Offers: pinned horizontal gallery ──────────────────────────── */
.offers{position:relative;overflow:visible;background:var(--grey);z-index:1}
@media (min-width:901px){
  .offers{min-height:100svh;display:grid;align-items:center}
  .offers>.pin-spacer{display:flex!important;align-items:center}
  .offers .stage{top:calc((100svh - min(600px,78svh)) / 2) !important}
}
.offers .stage{height:min(600px,78svh);min-height:520px;display:grid;grid-template-columns:minmax(280px,380px) minmax(0,1fr);gap:clamp(24px,4vw,64px);align-items:center;width:100%}
.offers .intro{align-self:center}
.offers .intro .count{margin-top:28px;font-size:14px;color:var(--body);font-variant-numeric:tabular-nums}
.offers .intro .count b{font-weight:500;color:var(--ink)}
.offers .rail{position:relative;overflow:hidden;height:calc(min(460px,64svh) + 80px);padding:40px 0;min-width:0;mask-image:linear-gradient(90deg,transparent,#000 40px);-webkit-mask-image:linear-gradient(90deg,transparent,#000 40px)}
.offers .track{display:flex;gap:20px;height:100%;width:max-content;will-change:transform;padding-left:12px}
.oc{position:relative;flex:none;width:400px;max-width:82vw;height:100%;border-radius:20px;overflow:hidden;background:#fff;border:1px solid var(--line);text-decoration:none;color:inherit;display:flex;flex-direction:column;box-shadow:0 30px 60px -40px rgba(11,2,21,.45);transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.oc:hover{transform:translateY(-4px);box-shadow:0 40px 70px -40px rgba(11,2,21,.5)}
.oc .shot{position:relative;flex:none;width:100%;aspect-ratio:400/314;overflow:hidden;display:block}
.oc .shot img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}
.oc:hover .shot img{transform:scale(1.05)}
.oc .chip{position:absolute;left:50%;bottom:34px;transform:translateX(-50%);background:#fff;border-radius:999px;padding:12px 20px;font-size:15px;line-height:1.2;color:var(--ink);white-space:nowrap;box-shadow:0 14px 34px -16px rgba(11,2,21,.5)}
.oc .chip b{font-weight:600}
.oc .meta{flex:1;display:flex;align-items:center;gap:14px;padding:20px 22px 22px}
.oc .ic{width:44px;height:44px;border-radius:12px;background:var(--grad);color:#fff;display:grid;place-items:center;flex:none}
.oc .ic svg{width:22px;height:22px;fill:currentColor}
.oc .lock{display:flex;align-items:baseline;gap:5px;flex:none;font-size:15px;font-weight:500;color:var(--ink)}
.oc .lock em{font-style:normal;font-weight:600;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;font-size:19px;letter-spacing:-.03em}
.oc h3{font-weight:500;font-size:22px;line-height:1.2;letter-spacing:-.02em;margin-right:auto}
.oc .go{width:34px;height:34px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;flex:none;font-size:15px;transition:background .35s,color .35s,border-color .35s}
.oc:hover .go{background:var(--ink);color:#fff;border-color:var(--ink)}
.oc.end{background:var(--ink);color:#fff;display:grid;align-content:end;padding:28px;width:320px;border:0}
.oc.end h3{font-weight:500;font-size:26px;line-height:1.15;margin-bottom:14px}
.oc.end p{color:#C0C0C0;font-size:14px;margin-bottom:20px}

/* ── Why Neo — pinned assembly stage ─────────────────────────── */
#why{position:relative;overflow:hidden;background:linear-gradient(to bottom,var(--grey) 0,var(--grey-2) 140px)}
#why::before{content:"";position:absolute;left:50%;top:50%;width:120vmin;height:120vmin;transform:translate(-50%,-50%);pointer-events:none;
  background:radial-gradient(circle,rgba(128,0,128,.12),rgba(96,56,134,.07) 42%,transparent 68%);opacity:var(--g,0);transition:opacity .3s linear}
.why-stage{transform-origin:center center;will-change:transform}
@media (min-width:901px){
  #why{height:100svh;min-height:780px;padding:0;display:grid;align-items:center}
  #why .wrap{width:min(var(--wrap),calc(100% - var(--gutter)*2))}
  /* shorter tiles in the pinned stage so the grid needs little or no scaling */
  #why .b1{aspect-ratio:860/348}
  #why .b2,#why .b3,#why .b4,#why .b5{aspect-ratio:420/348}
  #why .bento{margin-top:30px}
  #why .b{padding:26px}
  #why .b h3{font-size:clamp(22px,2.1vw,34px)}
  #why .b2 .copy p,#why .b1 p{font-size:15px}
}

/* ── Why Neo bento — coded tiles (copy and icons from the Figma frames) ── */
.bento{display:grid;grid-template-columns:2fr 1fr;gap:20px;margin-top:48px}
.bento .row2{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.b{position:relative;border-radius:20px;overflow:hidden;background:var(--grey);will-change:transform;aspect-ratio:860/400;display:flex;flex-direction:column;justify-content:flex-end;padding:32px}
.b2,.b3,.b4,.b5{aspect-ratio:420/400}
.b > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.b .copy{position:relative;z-index:2;max-width:40ch}
.b h3{font-weight:500;font-size:clamp(24px,2.4vw,40px);line-height:1.12;letter-spacing:-.02em;color:#fff}
.b p{font-size:15.5px;line-height:1.5;margin-top:14px;color:#E8E8E8;max-width:52ch}
html.gsap .b{will-change:transform,opacity,filter}
html.gsap .b .copy h3,html.gsap .b .copy p,html.gsap .b .fpill,html.gsap .b5 .blob,html.gsap .b5 .ghost,html.gsap .b5 .shield,html.gsap .b5 .mini{opacity:0}
.b .copy{transform-style:preserve-3d}
.b > img{will-change:transform}
.b1::after,.b4::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(0,0,0,.96) 10%,rgba(0,0,0,.62) 46%,transparent 74%),linear-gradient(0deg,rgba(0,0,0,.86) 4%,transparent 58%)}
.b4::after{background:linear-gradient(0deg,rgba(0,0,0,.9) 18%,transparent 62%)}
.b1 p{max-width:44ch}
/* Affordable — gradient tile, no photo */
.b2{background:linear-gradient(150deg,#A78BFA 0%,#800080 55%,#946EFF 100%);justify-content:flex-start}
.b2::before{content:"";position:absolute;left:22%;top:26%;width:190px;height:168px;border-radius:50%;background:#946EFF;filter:blur(28px);opacity:.85}
.b2 .copy{margin-bottom:auto}
.b2 p{color:rgba(255,255,255,.92)}
.fpills{position:relative;z-index:2;background:rgba(255,255,255,.96);border-radius:18px;padding:14px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:20px}
.fpill{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:90px;padding:6px 14px 6px 6px;font-size:12.5px;font-weight:500;color:var(--ink);white-space:nowrap;justify-content:flex-start;min-width:0;overflow:hidden;text-overflow:ellipsis}
.fpill .ck{width:20px;height:20px;flex:none;color:var(--purple)}
.pill .ck path{fill:var(--purple)}
/* Lightning fast — person on a purple field */
.b3{background:linear-gradient(155deg,#C4B5FD 0%,#800080 45%,#800080 100%);justify-content:flex-start;overflow:hidden}
.b3 > img{width:58%;height:100%;top:0;bottom:0;left:auto;right:0;object-fit:cover;object-position:center bottom;-webkit-mask-image:linear-gradient(90deg,transparent,#000 32%);mask-image:linear-gradient(90deg,transparent,#000 32%)}
.b3 .copy{max-width:17ch}
.b3 h3{font-size:clamp(22px,2vw,32px)}
.b3 p{font-size:14px;max-width:22ch;color:rgba(255,255,255,.9)}
.b3 .fpills{margin-top:auto;background:transparent;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.b3 .fpill{background:#fff}
/* Reliable and secure — fully coded illustration */
.b5{background:linear-gradient(180deg,#FFFFFF,#F4F4F6);justify-content:flex-start;overflow:hidden}
.b5 h3{color:var(--body2)}
.b5 .ghost{position:absolute;left:4%;top:46%;font-size:clamp(64px,8vw,104px);font-weight:500;letter-spacing:-.04em;color:rgba(255,255,255,.72);z-index:2;pointer-events:none;line-height:1}
.blob{position:absolute;border-radius:50%;z-index:0;filter:blur(1px)}
.blob-a{width:54%;height:44%;right:2%;bottom:6%;background:radial-gradient(circle at 38% 34%,#FF6E9E,#F53F7C);opacity:.9}
.blob-b{width:30%;height:26%;left:-4%;bottom:30%;background:#603886;opacity:.55;filter:blur(6px)}
.blob-c{width:52%;height:44%;right:14%;bottom:14%;background:#FFE4BE;opacity:.9}
.b5 .shield{position:absolute;right:14%;bottom:16%;width:74px;z-index:4;filter:drop-shadow(0 18px 30px rgba(128,0,128,.4))}
.b5 .shield svg{width:100%;height:auto}
.mini{position:absolute;z-index:3;background:#fff;border-radius:10px;padding:9px 12px;display:flex;align-items:center;gap:9px;box-shadow:0 16px 34px -18px rgba(11,2,21,.35);width:54%}
.mini i{width:20px;height:20px;border-radius:999px;flex:none}
.mini b{font-size:12px;font-weight:500;color:#171717;margin-right:auto}
.mini u{display:block;height:4px;border-radius:10px;background:#E3E3E3;width:34px;text-decoration:none}
.mini u.s{width:22px}
.mini-1{left:6%;bottom:26%}
.mini-2{right:4%;bottom:50%}

/* ── How it works: dark, scrubbed timeline ──────────────────────── */
.how{background:var(--night);color:#fff}
.tl{position:relative;max-width:920px;margin:56px auto 0}
.tl-line{position:absolute;left:50%;top:0;bottom:0;width:2px;background:rgba(255,255,255,.1);transform:translateX(-50%)}
.tl-line i{display:block;width:100%;height:0;background:var(--grad);box-shadow:0 0 18px rgba(128,0,128,.6)}
.tl-ball{position:absolute;left:50%;top:0;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;background:#fff;box-shadow:0 0 0 6px rgba(128,0,128,.25),0 0 24px rgba(128,0,128,.9)}
.tl-item{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:80px;padding:18px 0;align-items:center}
.tl-item .card{background:var(--card-dark);border:1px solid rgba(255,255,255,.08);border-radius:28px;padding:30px 32px;width:min(400px,100%);will-change:transform,opacity;transition:border-color .4s}
.tl-item:nth-child(odd) .card{grid-column:1;justify-self:end}.tl-item:nth-child(even) .card{grid-column:2;justify-self:start}
.tl-item .n{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:28px;font-weight:500;color:rgba(255,255,255,.28);transition:color .4s;padding:0 20px;background:var(--night)}
.tl-item.lit .n{color:#fff}.tl-item.lit .card{border-color:rgba(128,0,128,.45)}
.tl-item h3{font-weight:500;font-size:22px;line-height:1.3}.tl-item p{color:#C0C0C0;font-size:15.5px;margin-top:12px}

/* ── Why send to bank: dark cards + phone panel ─────────────────── */
.bank-light{background:var(--lavender);color:var(--ink)}
.bank-top{text-align:center;max-width:760px;margin:0 auto}
.bank-kicker{display:inline-flex;align-items:center;gap:9px;font-size:14.5px;font-weight:600;color:var(--purple);
  background:#fff;border:1px solid rgba(128,0,128,.18);padding:9px 20px 9px 14px;border-radius:999px;margin-bottom:28px}
.bk-ic{width:24px;height:24px;border-radius:7px;background:var(--grad);color:#fff;display:grid;place-items:center;flex:none}
.bk-ic svg{width:14px;height:14px}
.bank-h{font-size:clamp(38px,6vw,76px);font-weight:800;letter-spacing:-.035em;line-height:1.02;color:var(--ink)}
.bank-sub{font-size:clamp(16px,1.6vw,20px);font-weight:600;color:var(--body2);max-width:52ch;margin:22px auto 0;line-height:1.5}
.bank-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(30px,5vw,70px);align-items:center;margin-top:clamp(56px,7vw,90px)}
.bank-features{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,3.5vw,48px) 24px}
.bf-ic{width:34px;height:34px;color:var(--ink);display:block;margin-bottom:18px}
.bf-ic svg{width:100%;height:100%}
.bf h3{font-size:clamp(18px,1.6vw,21px);font-weight:700;letter-spacing:-.02em;line-height:1.25;margin-bottom:10px}
.bf p{font-size:14.5px;line-height:1.55;color:var(--body)}
.bank-visual{position:relative}
.bv-panel{position:relative;min-height:460px;isolation:isolate;overflow:visible}
.bv-panel::before{content:"";position:absolute;left:50%;bottom:-4%;width:64%;height:48%;transform:translateX(-50%);
  background:radial-gradient(circle,rgba(128,0,128,.18),transparent 72%);filter:blur(6px);z-index:0;pointer-events:none}
.bv-cutout{position:absolute;left:50%;bottom:0;width:78%;max-width:400px;transform:translateX(-50%);z-index:1}
.bv-cutout img{width:100%;height:auto;display:block;filter:drop-shadow(0 26px 34px rgba(12,8,24,.28))}
.bv-pill{position:absolute;background:#fff;color:var(--ink);font-size:13px;font-weight:600;padding:10px 18px;border-radius:999px;
  box-shadow:0 16px 34px -18px rgba(12,8,24,.35);z-index:2}
.bv-pill-a{left:6%;top:14%}
.bv-pill-b{right:5%;bottom:8%}
.bank-cta{text-align:center;margin-top:clamp(36px,4.5vw,56px)}
.bank-light .more-link{color:var(--ink);justify-content:center}

/* ── Testimonials ───────────────────────────────────────────────── */
.tsec{background:var(--grey-2)}
.tsec .grid{display:grid;grid-template-columns:minmax(0,630px) minmax(0,670px);gap:20px;justify-content:space-between;margin-top:48px}
.quote{position:relative;border-radius:20px;padding:clamp(32px,3.5vw,48px);background:var(--card-dark);color:#fff;display:grid;align-content:space-between;min-height:520px;overflow:hidden}
.quote .stars{color:var(--violet);letter-spacing:.12em;font-size:15px}
.quote .slides{position:relative;min-height:220px;margin:24px 0}
.quote .slide{position:absolute;inset:0;opacity:0;visibility:hidden}
.quote .slide.active{position:relative;opacity:1;visibility:visible}
.quote p{font-size:clamp(20px,2.1vw,28px);line-height:1.32;font-weight:400;color:var(--lilac)}
.quote .who{display:flex;align-items:center;gap:12px;font-size:14px;color:#9F9F9F;margin-top:26px}
.quote .who b{font-size:17px;display:block;color:#fff;font-weight:500}
.quote .who .av{width:48px;height:48px;border-radius:50%;background:var(--grad);display:grid;place-items:center;color:#fff;font-weight:500;flex:none;overflow:hidden}
.quote .who .av img{width:100%;height:100%;object-fit:cover;display:block}
.quote .ctrl{display:flex;justify-content:space-between;align-items:center}
.quote .dots{display:flex;gap:6px}.quote .dots i{width:22px;height:2px;background:rgba(255,255,255,.2);transition:background .3s}.quote .dots i.on{background:#fff}
.quote .arrows{display:flex;gap:8px}.quote .arrows button{width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.2);display:grid;place-items:center;transition:background .3s}.quote .arrows button:hover{background:rgba(255,255,255,.1)}
.tphoto{border-radius:20px;overflow:hidden;min-height:520px;position:relative}
.tphoto .rating{position:absolute;left:0;top:0;z-index:2;background:#fff;border-radius:20px 0 16px 0;padding:16px 20px 18px;min-width:230px}
.tphoto .rating b{display:block;font-size:15px;font-weight:600;color:#141B34}
.tphoto .rating .row{display:flex;align-items:center;gap:12px;margin-top:8px}
.tphoto .rating .score{font-size:34px;font-weight:600;letter-spacing:-.03em;color:#141B34;line-height:1}
.tphoto .rating .stars{display:flex;gap:2px}
.tphoto .rating .stars svg{width:16px;height:16px;fill:var(--violet)}
.tphoto .rating small{display:block;font-size:11.5px;color:#141B34;opacity:.65;margin-top:3px}
.tphoto img{position:absolute;inset:-4% 0;width:100%;height:108%;object-fit:cover;object-position:center top}

/* ── Band: grey, scattered parallax photos ──────────────────────── */
.band{background:var(--grey);color:var(--ink);text-align:center;position:relative;overflow:hidden;min-height:min(900px,110svh);display:grid;place-items:center;padding:clamp(120px,16vh,180px) 0}
.band .wrap{position:relative;z-index:1;max-width:760px}
.band h2{font-size:clamp(28px,3.6vw,52px);line-height:1.15;font-weight:700;letter-spacing:-.01em}
.band h2 .cw{display:inline-block;transition:opacity .2s}html.gsap .band h2 .cw{opacity:.15}
.band .btn{margin-top:28px}
.ph{position:absolute;border-radius:14px;overflow:hidden;box-shadow:0 30px 60px -30px rgba(11,2,21,.35);will-change:transform;width:var(--w)}
.ph img{width:100%;height:100%;object-fit:cover;aspect-ratio:var(--ar,4/3)}
.ph.p1{--w:14vw;left:4%;top:12%}.ph.p2{--w:11vw;left:36%;top:6%}.ph.p3{--w:12vw;right:5%;top:9%;--ar:1}
.ph.p4{--w:15vw;left:2%;bottom:12%}.ph.p5{--w:11vw;left:28%;bottom:5%;--ar:3/4}.ph.p6{--w:16vw;right:22%;bottom:6%}.ph.p7{--w:12vw;right:3%;bottom:30%}

/* ── FAQ ────────────────────────────────────────────────────────── */
#faq{background:var(--grey-2)}
.faq{max-width:820px;margin:48px auto 0;border-top:1px solid var(--line)}
.faq .q{border-bottom:1px solid var(--line);padding:0 22px;margin:0 -22px;border-radius:14px;transition:background .3s}
.faq .q:nth-child(even){background:var(--grey-2)}
.faq .q button{width:100%;text-align:left;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 0;font-size:clamp(17px,1.5vw,22px);font-weight:500;color:#040404}
.faq .q button i{width:32px;height:32px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;flex:none;transition:background .3s,transform .4s var(--ease),border-color .3s}
.faq .q button i::before,.faq .q button i::after{content:"";position:absolute;width:12px;height:1.5px;background:currentColor;transition:transform .35s var(--ease)}
.faq .q button i::after{transform:rotate(90deg)}
.faq .q.open button i{background:var(--ink);color:#fff;border-color:var(--ink)}.faq .q.open button i::after{transform:rotate(0)}
.faq .a{height:0;overflow:hidden}
.faq .a p{color:var(--body2);font-size:16px;line-height:1.6;padding:0 0 24px;max-width:64ch}

/* ── Blog ───────────────────────────────────────────────────────── */
#blog{background:var(--grey)}
.posts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:48px}
.post{border-radius:20px;overflow:hidden;text-decoration:none;background:#fff;border:1px solid rgba(11,2,21,.1);display:block;
  transition:border-color .4s var(--ease),transform .5s var(--ease),box-shadow .5s var(--ease)}
.post:hover{border-color:rgba(128,0,128,.35);transform:translateY(-5px);box-shadow:0 30px 56px -34px rgba(11,2,21,.4)}
.post .img{position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--grey)}
.post .img img{width:100%;height:100%;object-fit:cover;object-position:top;transition:transform .8s var(--ease)}.post:hover .img img{transform:scale(1.06)}
.post .no-thumb{width:100%;height:100%;display:grid;place-items:center;background:linear-gradient(135deg,var(--purple),var(--indigo))}
.post .no-thumb span{font-size:64px;font-weight:600;color:rgba(255,255,255,.22);line-height:1}
.post .pbadge{position:absolute;left:14px;top:14px;padding:6px 13px;border-radius:999px;background:rgba(11,2,21,.62);backdrop-filter:blur(6px);
  color:#fff;font-size:11px;font-weight:600;letter-spacing:.07em;text-transform:uppercase}
.post .body{padding:22px 24px 26px;display:grid;gap:9px}
.post .pmeta{font-size:12.5px;color:var(--mute)}
.post h3{font-weight:500;font-size:20px;line-height:1.3;letter-spacing:-.005em}
.post p{color:var(--body2);font-size:14.5px;line-height:1.55}
.post .more-link{display:inline-flex;align-items:center;gap:7px;margin-top:4px;font-weight:500;color:var(--purple);font-size:14.5px}
.post .more-link i{transition:transform .35s var(--ease)}
.post:hover .more-link i{transform:translateX(4px)}
@media (max-width:700px){.posts{grid-template-columns:1fr}}

/* ── Find nearest cash pickup ───────────────────────────────────── */
.find{text-align:center;padding-top:var(--sec);padding-bottom:var(--sec);background:var(--grey-2)}
.find form{display:flex;gap:10px;max-width:620px;margin:32px auto 0;padding:6px;border-radius:999px;background:#fff;border:1px solid var(--line);box-shadow:0 30px 60px -40px rgba(11,2,21,.35)}
.find input{flex:1;min-width:0;border:0;border-radius:999px;padding:14px 22px;font:400 16px var(--sans);background:transparent;color:var(--ink);outline:none}
.find .btn{padding:14px 26px}
.find .prov{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:22px}
.find .prov span{font-size:13px;color:var(--body);padding:7px 12px;border-radius:999px;background:var(--grey)}
/* h2.h has max-width:760px for the left-aligned headings elsewhere on the
   site (Bank, Why Neo, Services, FAQ) but no margin:auto of its own —
   .find{text-align:center} only centers inline content, not the heading's
   own block box, so without this it sits flush against the left edge of
   the section instead of centering. Scoped to .find only, so the other
   sections that correctly rely on left-alignment are untouched. Verified
   with real measurements: the heading's box was flush-left (left edge at
   70px, same as the container's own left edge) before this fix. */
.find h2.h{margin-left:auto;margin-right:auto}

/* ── Numbers ────────────────────────────────────────────────────── */
.numbers{padding:var(--sec) 0;background:var(--ink);color:#fff;position:relative;overflow:hidden}
.numbers::before{content:"";position:absolute;left:-10%;top:-20%;width:60vmin;height:60vmin;border-radius:50%;background:radial-gradient(circle,rgba(96,56,134,.5),transparent 68%);pointer-events:none}
.numbers .wrap{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,380px);gap:clamp(32px,5vw,72px);align-items:center}
.numbers .head{grid-column:1}
.numbers .label{color:var(--violet)}
.numbers .lead{color:#B9B4C0}
.numbers .figs{grid-column:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin-top:44px;background:rgba(255,255,255,.12)}
.fig{background:var(--ink);padding:26px 28px 24px;display:grid;gap:8px}
.fig b{font-size:clamp(34px,4.4vw,58px);font-weight:500;letter-spacing:-.035em;line-height:1;font-variant-numeric:tabular-nums}
.fig span{font-size:15px;color:#fff}
.fig i{display:block;height:2px;background:rgba(255,255,255,.14);position:relative;margin-top:6px}
.fig i::after{content:"";position:absolute;inset:0;background:var(--grad);transform:scaleX(calc(var(--v,1) * var(--s,1)));transform-origin:left}
.fig small{font-size:13px;color:#A69B93}
.portrait{grid-column:2;grid-row:1/3;position:relative;border-radius:24px;overflow:hidden;align-self:stretch;min-height:420px}
.portrait img{position:absolute;inset:-7% 0;width:100%;height:114%;object-fit:cover;object-position:center 14%}
.portrait figcaption{position:absolute;left:16px;right:16px;bottom:16px;background:rgba(11,2,21,.7);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.14);border-radius:16px;padding:16px 18px}
.portrait figcaption b{display:block;font-size:22px;font-weight:500;letter-spacing:-.02em}
.portrait figcaption span{font-size:13.5px;color:#C6C0CE}

/* ── Partner CTA ────────────────────────────────────────────────── */
.cta2{padding:clamp(64px,8vw,110px) 0;background:#E1E1E1}
.cta2 .wrap{display:flex;justify-content:space-between;align-items:center;gap:30px;flex-wrap:wrap}
.cta2 h2{font-weight:500;letter-spacing:-.02em;font-size:clamp(28px,3.4vw,44px);max-width:18ch;line-height:1.15}
.cta2 p{color:var(--body);margin-top:12px;max-width:46ch}

/* ── Footer — light, institutional, structured ─────────────────── */
.ft{background:#F4F4F5;color:var(--body2);padding:clamp(56px,6vw,80px) 0 30px;font-size:15px;border-top:1px solid rgba(11,2,21,.08)}
.ft-cols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(20px,3vw,48px);padding:40px 0 44px}
.ft h6,.ft-col-h{font-size:11.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);margin-bottom:18px}
.ft-col-h{display:block;text-align:left;width:100%;background:none;border:0;font-family:inherit;cursor:default}
.ft-col-h i{display:none}
.ft ul{list-style:none}
.ft li{margin-bottom:11px;line-height:1.45;font-size:14.5px}
.ft a{text-decoration:none;color:inherit;transition:color .25s}
.ft-cols a:hover{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.ft .hours{color:#8A8590}
.ft-base{display:flex;align-items:center;gap:clamp(16px,3vw,40px);flex-wrap:wrap;padding-top:26px;border-top:1px solid rgba(11,2,21,.1)}
.ft-mark img{height:26px;width:auto;display:block}
.ft-lic{font-size:12.5px;line-height:1.6;color:#8A8590;margin-right:auto}
.ft-lic span{color:#A5A0AA}
.ft-social{display:flex;gap:8px}
.ft-social a{width:36px;height:36px;border-radius:50%;border:1px solid rgba(11,2,21,.14);display:grid;place-items:center;color:var(--ink);background:#fff;transition:background .3s,color .3s,border-color .3s,transform .3s var(--ease)}
.ft-social a:hover{background:var(--ink);color:#fff;border-color:var(--ink);transform:translateY(-2px)}
.ft-social svg{width:17px;height:17px}

/* ── Responsive ─────────────────────────────────────────────────── */
@media (max-width:1100px){
  .bank-grid,.tsec .grid{grid-template-columns:1fr}.bv-panel,.tphoto{min-height:420px}
  }
@media (max-width:900px){
  .bal-wrap{display:none}
  .nav ul,.nav .nav-cta{display:none}.nav .burger{display:flex}.nav .bar{gap:0;padding-right:6px}
  .logos .wrap{flex-direction:column;align-items:flex-start;gap:16px}.logos b{font-size:13px}.marquee{width:100%}.logo{height:38px}
  .pw-head{flex-direction:column;align-items:flex-start;gap:16px}
  .pw-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .pw-cell{height:86px;padding:14px 16px}.pw-cell img{max-height:32px;max-width:86px}
  .hero .wrap{grid-template-columns:1fr;align-items:end;padding-bottom:80px}.hero h1{font-size:clamp(44px,13vw,72px)}.hero h1.stmt{font-size:clamp(28px,8vw,40px);max-width:none}.bal{display:none}
  /* The -6% inset "bleed" exists only to give the desktop scrub animation
     (scale + yPercent, tied to the pinned scroll) room to move the image
     without exposing gaps at the edges. That animation is intentionally
     skipped on mobile (see the JS mobile-performance fix), so on mobile
     this bleed no longer has any animation using it — it was just
     permanently cropping 6% off the top and bottom of the image with
     nothing to ever reveal it, making the hero look over-zoomed. */
  .hero .media{inset:0}
  /* min-height:640px (set for desktop, where very wide/short browser
     windows are the concern) can exceed the actually-available height on
     mobile once the browser's own chrome — address bar, toolbar — is
     factored in: confirmed directly that at a 600px available height the
     hero still renders at 640px, pushing 40px of it off-screen below the
     fold. 100svh alone is already the safe, conservative choice for
     mobile (it's defined specifically as the smallest available space,
     accounting for visible browser chrome), so the fixed-pixel floor
     fighting it here does more harm than good — removed on mobile only. */
  .hero{min-height:0}
  .corridors{height:auto;min-height:0;padding-bottom:72px;margin-top:0}
  .corridors canvas{position:sticky;inset:auto;top:0;left:0;height:70svh;margin-bottom:-26svh;z-index:0}
  .corridors .glow{position:absolute;right:-30%;top:0;width:120vw;height:70svh;
    background:radial-gradient(circle,rgba(148,110,255,.5),rgba(96,56,134,.2) 45%,transparent 70%)}
  .corridors::after{content:"";position:absolute;left:-20%;bottom:0;width:100vw;height:55svh;pointer-events:none;
    background:radial-gradient(circle,rgba(148,110,255,.22),transparent 68%)}
  .corridors .wrap{display:block;height:auto;position:relative;z-index:2}
  .beats{position:static;min-height:0;display:grid;gap:26px;padding:0 0 8px}
  .beat{position:static;opacity:1;visibility:visible;display:grid;gap:12px;padding:24px 22px 26px;border-radius:22px;background:linear-gradient(180deg,rgba(11,2,21,.55),rgba(0,0,5,.8));border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
  .beat .num{font-size:46px}.beat h2{font-size:23px}.beat p{font-size:15px}
  .beat .tags{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-right:-22px;padding-right:22px}.beat .tags::-webkit-scrollbar{display:none}.beat .tags span{font-size:12px;padding:6px 10px;white-space:nowrap;flex:none}
  .progress{display:none}
  .offers .stage{grid-template-columns:1fr;height:auto;min-height:0;padding:var(--sec) 0 40px var(--gutter);gap:28px}
  /* Vertical stack instead of a horizontal swipe carousel — no more
     scrollbar/snap-scroll; cards reveal on the page's own vertical
     scroll, same as every other card grid on this site does on mobile. */
  .offers .rail{height:auto;overflow-x:visible;overflow-y:visible;scroll-snap-type:none;padding:0 var(--gutter) 12px 0;mask-image:none;-webkit-mask-image:none}
  .offers .track{padding-left:0;display:flex;flex-direction:column;height:auto;width:auto}
  .offers .intro{padding-right:var(--gutter)}
  .offers .intro .count{display:none}
  .oc{height:auto;min-height:380px;width:100%;max-width:none;scroll-snap-align:none}
  .oc.end{width:100%}
  .bento{grid-template-columns:1fr}.fpills{grid-template-columns:1fr}.b2 .fpills{grid-template-columns:1fr 1fr}.b2,.b3{aspect-ratio:auto;min-height:400px}.bento .row2{grid-template-columns:1fr 1fr}.b{aspect-ratio:860/440;padding:24px}.b3 .copy{max-width:22ch}
  .tl-line,.tl-ball{left:14px;transform:none}.tl-item{grid-template-columns:1fr;padding:12px 0 12px 54px;gap:0}
  .tl-item .card{grid-column:1!important;justify-self:stretch!important;width:100%}.tl-item .n{left:14px;transform:translate(-50%,-50%);padding:6px 0;font-size:18px}
  .posts{grid-template-columns:1fr}
  .numbers .wrap{grid-template-columns:1fr}.numbers .figs{grid-column:1}.portrait{grid-column:1;grid-row:auto;min-height:320px}
  .ft-top{grid-template-columns:1fr;gap:36px}.ft-nav{grid-template-columns:1fr 1fr}
  .ph{--w:24vw!important}.ph.p2,.ph.p5,.ph.p7{display:none}.band{min-height:0;padding:140px 0}
  .find form{flex-direction:column;border-radius:24px}
  .ft-cols{grid-template-columns:1fr;gap:0}
  .ft-col{border-top:1px solid var(--line)}
  .ft-col:last-child{border-bottom:1px solid var(--line)}
  .ft-col-h{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 2px;margin-bottom:0;cursor:pointer}
  .ft-col-h i{display:block;position:relative;width:18px;height:18px;flex:none}
  .ft-col-h i::before,.ft-col-h i::after{content:"";position:absolute;left:2px;top:8px;width:14px;height:1.6px;background:var(--ink);transition:transform .3s var(--ease)}
  .ft-col-h i::after{transform:rotate(90deg)}
  .ft-col.open .ft-col-h i::after{transform:rotate(0)}
  .ft-col ul{max-height:0;overflow:hidden;transition:max-height .35s var(--ease)}
  .ft-col.open ul{max-height:280px}
  .ft-col ul li:first-child{padding-top:2px}
  .ft-col ul li:last-child{margin-bottom:20px}
  .ft-base{flex-direction:column;align-items:flex-start;gap:16px}
  .ft-lic{margin-right:0}
  .ft li{overflow-wrap:anywhere}
}
@media (max-width:560px){
  .bento .row2{grid-template-columns:1fr}.b4,.b5{aspect-ratio:420/400}.b2,.b3{aspect-ratio:auto;min-height:380px}.b2 .fpills{grid-template-columns:1fr 1fr;padding:11px;gap:7px}.b2 .fpill,.b3 .fpill{font-size:10.5px;padding:6px 8px 6px 5px;gap:5px;letter-spacing:-.01em}.b2 .fpill .ck,.b3 .fpill .ck{width:17px;height:17px}.b1{aspect-ratio:420/420}.b1::after{background:linear-gradient(0deg,rgba(0,0,0,.92) 30%,transparent 75%)}.bank-features{grid-template-columns:1fr}.ft-nav{grid-template-columns:1fr}.numbers .figs{grid-template-columns:1fr}.hero h1{max-width:none}
  .pw-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pw-cell{height:82px}
}
@media (prefers-reduced-motion:reduce){
  html.gsap .rv,html.gsap .w i,html.gsap .band h2 .cw,html.gsap .b,html.gsap .b .copy h3,html.gsap .b .copy p,html.gsap .b .fpill,html.gsap .b5 .blob,html.gsap .b5 .ghost,html.gsap .b5 .shield,html.gsap .b5 .mini,html.gsap .pw-cell{opacity:1;transform:none;clip-path:none}
  .scroll-cue i,.bal small::before{animation:none}
}

/* ── Image band with caption overlay — shared with pages.css's copy of
   the same rules (Careers page). Needed here too now that the homepage
   uses this pattern for its story section, and pages.css never loads
   on the front page. ───────────────────────────────────────────── */
.imgband{position:relative;border-radius:26px;overflow:hidden;min-height:clamp(280px,34vw,420px);display:grid;align-items:end;color:#fff}
.imgband img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.imgband::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(0deg,rgba(7,3,13,.94) 14%,rgba(7,3,13,.5) 48%,rgba(7,3,13,.2) 78%)}
.imgband .cap{position:relative;z-index:2;padding:clamp(24px,3vw,44px);max-width:52ch}
.imgband .cap .k{font-size:11.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--violet)}
.imgband .cap h3{font-size:clamp(22px,2.4vw,34px);font-weight:500;letter-spacing:-.02em;line-height:1.18;margin:10px 0 8px}
.imgband .cap p{font-size:15.5px;color:#D6D0DE;line-height:1.6}

/* ── Cinematic scroll story (homepage) ──────────────────────────────
   Structured like the Corridors globe's three "beats": one pinned
   section, several sequential panels cross-faded by scroll progress —
   not three separate sections. See the JS block's own comment for the
   full reasoning. */
.story-cine{position:relative;height:100vh;overflow:hidden;color:#fff;background:#0a0512}
.story-bg{position:absolute;inset:0;z-index:0}
.story-bg-layer{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:none}
.story-bg-layer.is-active{opacity:1}
.story-veil{position:absolute;inset:0;background:linear-gradient(100deg,rgba(10,5,18,.94) 0%,rgba(10,5,18,.82) 32%,rgba(10,5,18,.55) 58%,rgba(10,5,18,.35) 100%)}
.story-wrap{position:relative;z-index:1;height:100%;display:flex;align-items:center}
.story-chapter{position:absolute;max-width:640px;opacity:0;pointer-events:none}
.story-chapter.is-active{pointer-events:auto}
.story-badge{display:inline-flex;align-items:center;gap:10px;border:1px solid rgba(255,255,255,.22);border-radius:8px;padding:7px 14px;font-size:13px;font-weight:700;letter-spacing:.04em;margin-bottom:22px;background:rgba(255,255,255,.04)}
.story-badge .loc{color:var(--violet);font-size:11px;letter-spacing:.1em;text-transform:uppercase}
.story-badge .time{font-variant-numeric:tabular-nums;font-size:16px}
.story-kicker{font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--violet);margin-bottom:16px}
.story-h{font-weight:800;letter-spacing:-.02em;line-height:1.08;font-size:clamp(34px,5vw,62px);margin-bottom:22px}
.story-h .ln{display:block}
.story-h .grad{color:var(--violet)}
.story-chapter p{font-size:17px;line-height:1.6;color:#D6D0DE;margin:0 0 14px;max-width:52ch}
.story-quote{border-left:3px solid var(--violet);padding-left:16px;color:var(--violet);font-weight:600;margin-top:20px}
.story-rail{position:absolute;right:clamp(20px,4vw,64px);top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:14px;z-index:2}
.story-rail-item{font-size:11px;font-weight:700;letter-spacing:.08em;color:rgba(255,255,255,.4);display:flex;align-items:center;gap:10px;justify-content:flex-end}
.story-rail-item i{width:22px;height:2px;background:rgba(255,255,255,.25);display:block;border-radius:2px;transition:background .3s,width .3s}
.story-rail-item.is-active{color:var(--violet)}
.story-rail-item.is-active i{background:var(--violet);width:32px}
@media (max-width:900px){
  .story-rail{display:none}
  .story-chapter{max-width:none;padding:0 4px}
}
