/* A quieter product layout within Apogee's existing visual system. */
.refresh-hero {
  display:block; min-height:940px; padding:145px 0 0;
  overflow:visible; isolation:auto;
  background:linear-gradient(180deg,#080d25 0%,#101a46 48%,#1e3f99 100%);
}
.refresh-hero .hero-shade,
body[data-hero="video"] .refresh-hero .hero-shade {
  background:radial-gradient(ellipse 45% 33% at 50% 79%,rgba(91,133,255,.45),transparent 100%),
    radial-gradient(ellipse 65% 38% at 50% 99%,rgba(67,97,224,.45),transparent 100%);
}
.refresh-hero-inner {
  display:flex; flex-direction:column; align-items:center; min-height:0;
}
.refresh-hero .hero-content {
  max-width:940px; margin:0 auto; padding:0; align-items:center; gap:28px; text-align:center;
}
.refresh-hero .hero-h1 {
  max-width:900px; font-family:var(--f-sans); font-size:clamp(56px,6.1vw,88px);
  font-weight:700; line-height:1.04; letter-spacing:-.065em; text-shadow:none;
}
.refresh-hero .hero-sub {
  max-width:670px; font-size:19px; line-height:1.5; font-weight:400;
  color:rgba(239,245,255,.78); text-shadow:none;
}
.refresh-hero .hero-stagger { animation-duration:1s; animation-delay:0s; }
.refresh-hero .hero-content > .hero-stagger:nth-child(1) { animation-delay:0s; }
.refresh-hero .hero-content > .hero-stagger:nth-child(2) { animation-delay:.15s; }
.refresh-hero .hero-content > .hero-stagger:nth-child(3) { animation-delay:.3s; }
.refresh-hero .refresh-hero-devices.hero-stagger { animation-delay:.5s; }
.refresh-hero-cta {
  display:inline-flex; align-items:center; justify-content:center; gap:22px;
  min-height:56px; margin-top:5px; padding:0 27px; border-radius:999px;
  background:#fff; color:#101b3e; font-size:15px; font-weight:700;
  text-decoration:none; box-shadow:0 15px 35px rgba(0,8,35,.18);
  transition:transform .2s ease,box-shadow .2s ease;
}
.refresh-hero-cta:hover { transform:translateY(-2px); box-shadow:0 19px 40px rgba(0,8,35,.26); }
.refresh-hero-cta:focus-visible { outline:3px solid #b7d4ff; outline-offset:4px; }
.refresh-hero-devices {
  position:relative; width:100%; height:670px; margin-top:20px; z-index:5;
}
.refresh-hero-triptych {
  display:block; position:absolute; top:-105px; left:50%;
  width:min(1080px,100vw); max-width:none; height:auto;
  transform:translateX(-50%);
  filter:drop-shadow(0 36px 42px rgba(1,6,24,.28));
}
.refresh-phone {
  position:absolute; width:var(--phone-width,280px); padding:6px; border:2px solid #f7f9fc;
  border-radius:45px; background:linear-gradient(120deg,#d4dbe3,#fff 42%,#cbd4db 77%,#fff);
  box-shadow:0 25px 55px rgba(13,23,45,.23),inset 0 0 0 1px #b9c4cc;
}
.refresh-phone::before,.refresh-phone::after {
  position:absolute; width:3px; border-radius:2px; background:#dce4e8; content:"";
}
.refresh-phone::before { top:140px; left:-4px; height:56px; }
.refresh-phone::after { top:165px; right:-4px; height:64px; }
.refresh-phone-screen { overflow:hidden; border-radius:37px; background:#f4f6f8; }
.refresh-phone-screen img { display:block; width:100%; height:auto; }

.refresh-features {
  position:relative; z-index:3; margin-top:-52px; padding:120px 0 100px;
  border-radius:56px 56px 0 0;
  background:linear-gradient(180deg,#080b12 0%,#090e1c 14%,#102356 34%,#1b3b8d 65%,#111f48 100%);
}
.refresh-features .who { padding:0 0 100px; background:transparent; }
.refresh-features .who-grid { max-width:1140px; margin:0 auto; }
.refresh-features .persona { background:rgba(23,29,45,.92); }
.refresh-features .persona-glyph--emoji {
  display:grid; place-items:center; font-size:47px; line-height:1;
}
.refresh-features .persona-learn {
  margin-top:7px; color:#c4d4ff; font-size:14px; font-weight:600;
  text-decoration:underline; text-decoration-color:rgba(164,190,255,.55); text-underline-offset:4px;
}
.refresh-features .persona-learn:hover,
.refresh-features .persona-learn:focus-visible { color:#fff; text-decoration-color:#fff; }
.refresh-features .who + .refresh-features-intro { padding-top:24px; }
.refresh-features .who + .refresh-features-intro::before {
  display:block; width:64px; height:1px; margin:0 auto 65px; background:rgba(215,229,255,.22); content:"";
}
.refresh-plaid-trust {
  padding:72px 0 112px;
  background:linear-gradient(180deg,#111f48 0%,#101a35 52%,#253e70 78%,#617da5 100%);
}
.refresh-plaid-trust .plaid-trust-inner { max-width:920px; }
.refresh-plaid-trust .plaid-orbit { --orbit-size:610px; min-height:650px; }
.refresh-plaid-trust .plaid-orbit-ring--outer {
  border-color:rgba(179,205,255,.14); background:none; box-shadow:none; animation:none;
  transform:translate(-50%,-50%);
}
.refresh-plaid-trust .plaid-orbit-ring--outer::before { display:none; }
.refresh-plaid-trust .plaid-orbit-ring--outer::after {
  inset:58px; border-color:rgba(179,205,255,.1); opacity:1; animation:none;
}
.refresh-plaid-trust .plaid-core {
  width:min(440px,calc(100vw - 96px)); min-height:0; gap:14px; padding:0 18px;
  border:0; border-radius:0; background:none; box-shadow:none;
  -webkit-backdrop-filter:none; backdrop-filter:none;
}
.refresh-plaid-trust .plaid-core .section-label { color:rgba(238,244,255,.5); font-size:10px; letter-spacing:.11em; }
.refresh-plaid-trust .plaid-core h2 {
  max-width:none; margin:3px 0 0; font:650 21px/1.25 var(--f-sans); letter-spacing:-.035em;
}
.refresh-plaid-trust .plaid-wordmark {
  display:inline-flex; min-width:0; width:72px; height:28px; padding:0; margin:0 1px;
  border:0; border-radius:0; background:none; box-shadow:none; backdrop-filter:none;
  vertical-align:-.26em;
}
.refresh-plaid-trust .plaid-logo { width:100%; height:auto; filter:brightness(0) invert(1); }
.refresh-plaid-trust .plaid-core p {
  max-width:32ch; color:rgba(239,245,255,.78); font-size:12.5px; line-height:1.5;
}
.refresh-plaid-trust .plaid-core .plaid-network {
  max-width:24ch; color:rgba(239,245,255,.93); font-size:25px; font-weight:600; line-height:1.25;
}
.refresh-plaid-trust .plaid-network strong { color:#9bc7ff; font-weight:700; }
.refresh-plaid-trust .bank-badge {
  --badge-size:80px; --tilt:0deg; --bob-x:0px; --bob-y:0px; --tilt-drift:0deg;
  border:1px solid rgba(255,255,255,.78); border-radius:21px;
  background:linear-gradient(150deg,#fff 0%,#f7f9fd 73%,#e9eef8 100%);
  box-shadow:0 3px 6px rgba(3,10,29,.08),0 17px 36px rgba(2,8,25,.22);
  will-change:transform;
  animation:none;
}
.refresh-plaid-trust .bank-badge::after { display:none; }
.refresh-plaid-trust .bank-badge .bank-logo { width:69%; height:69%; object-fit:contain; }
.refresh-plaid-trust .bank-badge--chase { --x:-156px; --y:-259px; --tilt:-5deg; }
.refresh-plaid-trust .bank-badge--citi { --x:166px; --y:-246px; --tilt:4deg; }
.refresh-plaid-trust .bank-badge--amex { --x:290px; --y:9px; --tilt:5deg; }
.refresh-plaid-trust .bank-badge--bofa { --x:171px; --y:247px; --tilt:-4deg; }
.refresh-plaid-trust .bank-badge--wells { --x:-168px; --y:251px; --tilt:5deg; }
.refresh-plaid-trust .bank-badge--capitalone { --x:-290px; --y:1px; --tilt:-4deg; }
.refresh-plaid-trust .bank-badge--citi .bank-logo { width:74%; height:74%; }
.refresh-plaid-trust .bank-badge--amex .bank-logo { width:73%; height:73%; }
.refresh-plaid-trust .bank-badge--capitalone .bank-logo { width:88%; height:88%; }
body[data-gsap] .refresh-plaid-trust.is-revealed .bank-badge { animation:none; }
.cta::after {
  background:linear-gradient(180deg,#617da5 0%,rgba(97,125,165,.6) 9%,rgba(97,125,165,0) 23%,rgba(247,248,246,0) 58%,rgba(247,248,246,.65) 84%,#f7f8f6 100%);
}
.cta-discord-link {
  display:inline-flex; align-items:center; justify-content:center; gap:18px;
  min-height:58px; margin-top:11px; padding:0 28px; border-radius:999px;
  background:#fff; color:#101b3e; font-size:15px; font-weight:700;
  box-shadow:0 16px 40px rgba(0,8,35,.22); transition:transform .2s ease,box-shadow .2s ease;
}
.cta-discord-link:hover { transform:translateY(-2px); box-shadow:0 20px 46px rgba(0,8,35,.3); }
.cta-discord-link:focus-visible { outline:3px solid #b7d4ff; outline-offset:4px; }
.cta .email-form-cta { margin-top:25px; }
.cta .email-field-light { max-width:580px; }
.cta .email-field-light .btn-dark { white-space:nowrap; font-size:12px; }
.faq {
  --ink-1:#0a0f1a; --ink-2:#4a5468; --ink-3:#8692a6;
  --line-2:rgba(10,15,26,.14); background:#f7f8f6;
}
.lens-banner,.footer { background:#f7f8f6; }
.lens-banner { --card:#fff; }
.footer { color:var(--ink-1); }
.refresh-features-intro { padding-bottom:55px; text-align:center; }
.refresh-features-intro h2 {
  margin:15px auto 0; color:#f7f9ff; font:500 clamp(40px,4.4vw,64px)/1.05 var(--f-display);
  letter-spacing:-.035em; text-wrap:balance;
}
.refresh-feature { padding:0 0 24px; background:transparent; }
.refresh-feature::before,.refresh-feature::after { display:none !important; }
.container.refresh-feature-card {
  display:grid; grid-template-columns:1.04fr .96fr; align-items:stretch;
  gap:clamp(38px,5.5vw,88px); width:calc(100% - 64px); max-width:1216px;
  min-height:520px; padding:18px 60px 18px 18px; border:1px solid rgba(209,226,255,.14);
  border-radius:34px; background:linear-gradient(135deg,rgba(10,20,47,.8),rgba(12,28,66,.74));
  box-shadow:0 18px 55px rgba(1,6,27,.14),0 1px 0 rgba(255,255,255,.035) inset;
}
.refresh-feature-copy {
  display:flex; flex-direction:column; justify-content:center; align-items:flex-start;
  max-width:465px; padding:36px 0;
}
.refresh-kicker {
  display:block; color:#a9c5ff; font:500 11px/1.4 var(--f-mono);
  letter-spacing:.11em; text-transform:uppercase;
}
.refresh-feature-title {
  margin:22px 0 0; color:#f7f9ff; font:500 clamp(38px,3.9vw,56px)/1.05 var(--f-display);
  letter-spacing:-.038em; text-wrap:balance;
}
.refresh-feature-copy p {
  max-width:425px; margin:24px 0 0; color:rgba(231,239,255,.72); font-size:17px; line-height:1.58;
}
.refresh-stage {
  position:relative; min-height:482px; overflow:hidden; border-radius:23px;
  background:radial-gradient(circle at 50% 60%,#e9efff 0%,#e7ebfa 50%,#e5e9f4 100%);
}
.refresh-stage::after {
  position:absolute; inset:auto 0 0; height:83px; background:linear-gradient(transparent,rgba(230,234,246,.96));
  content:""; pointer-events:none;
}
.refresh-stage--pair .refresh-phone:first-child { --phone-width:230px; top:89px; left:8%; transform:rotate(-7deg); }
.refresh-stage--pair .refresh-phone:nth-child(2) { --phone-width:256px; top:30px; right:8%; transform:rotate(5deg); }
.refresh-stage--single .refresh-phone {
  --phone-width:284px; top:27px; left:50%; transform:translateX(-50%);
}
.refresh-stage--budget { background:radial-gradient(circle at 50% 55%,#f5f3ff,#e9edff 74%); }
.refresh-stage--plan { background:radial-gradient(circle at 50% 61%,#dbe5ff,#cbd9fb 78%); }
.refresh-stage--simulator { background:radial-gradient(circle at 50% 61%,#d8e2ff,#d0d9f2 78%); }
.refresh-stage--weekly { background:radial-gradient(circle at 50% 55%,#f5f7fb,#e8edf7 76%); }
.refresh-stage--weekly::after { background:linear-gradient(transparent,rgba(237,241,248,.98)); }
.refresh-stage--simulator::after { background:linear-gradient(transparent,rgba(211,221,248,.96)); }
.refresh-preview-note {
  position:absolute; right:15px; bottom:16px; z-index:2; padding:7px 10px;
  border-radius:999px; background:rgba(255,255,255,.92); color:#465571;
  font:500 10px/1.3 var(--f-mono); letter-spacing:.01em;
}

@media (max-width:1050px) {
  .nav-links { gap:12px; }
  .nav-cta { padding-inline:14px; font-size:11px; }
  .refresh-hero .hero-h1 { max-width:790px; }
  .refresh-hero-triptych { width:min(940px,100vw); }
  .container.refresh-feature-card { gap:35px; padding-right:38px; }
  .refresh-stage--pair .refresh-phone:first-child { --phone-width:203px; left:4%; }
  .refresh-stage--pair .refresh-phone:nth-child(2) { --phone-width:228px; right:4%; }
  .refresh-plaid-trust .plaid-orbit { --orbit-size:530px; min-height:565px; }
  .refresh-plaid-trust .bank-badge { --badge-size:73px; }
  .refresh-plaid-trust .bank-badge--chase { --x:-136px; --y:-224px; }
  .refresh-plaid-trust .bank-badge--citi { --x:146px; --y:-212px; }
  .refresh-plaid-trust .bank-badge--amex { --x:251px; --y:9px; }
  .refresh-plaid-trust .bank-badge--bofa { --x:151px; --y:211px; }
  .refresh-plaid-trust .bank-badge--wells { --x:-148px; --y:216px; }
  .refresh-plaid-trust .bank-badge--capitalone { --x:-251px; --y:1px; }
}
@media (max-width:760px) {
  .refresh-hero { min-height:850px; padding:126px 0 0; }
  .refresh-hero .hero-content { gap:23px; }
  .refresh-hero .hero-h1 { max-width:630px; font-size:clamp(48px,8vw,66px); }
  .refresh-hero .hero-sub { max-width:540px; font-size:17px; }
  .refresh-hero-devices { height:500px; margin-top:25px; }
  .refresh-hero-triptych { top:-70px; width:min(780px,105vw); }
  .refresh-features { padding-top:140px; border-radius:40px 40px 0 0; }
  .refresh-features .who { padding-bottom:75px; }
  .refresh-plaid-trust .plaid-orbit { --orbit-size:440px; min-height:485px; }
  .refresh-plaid-trust .bank-badge { --badge-size:64px; border-radius:18px; }
  .refresh-plaid-trust .bank-badge--chase { --x:-114px; --y:-183px; }
  .refresh-plaid-trust .bank-badge--citi { --x:123px; --y:-174px; }
  .refresh-plaid-trust .bank-badge--amex { --x:207px; --y:9px; }
  .refresh-plaid-trust .bank-badge--bofa { --x:126px; --y:175px; }
  .refresh-plaid-trust .bank-badge--wells { --x:-123px; --y:178px; }
  .refresh-plaid-trust .bank-badge--capitalone { --x:-207px; --y:1px; }
  .refresh-features-intro { padding-bottom:39px; }
  .container.refresh-feature-card {
    display:flex; flex-direction:column-reverse; gap:0;
    width:calc(100% - 40px); min-height:0; padding:14px;
  }
  .refresh-feature-copy { max-width:650px; padding:32px 20px 34px; }
  .refresh-stage { min-height:500px; }
}
@media (max-width:600px) {
  .refresh-hero { min-height:800px; padding:117px 0 0; }
  .refresh-hero .hero-content { gap:19px; }
  .refresh-hero .hero-h1 { font-size:clamp(44px,11.2vw,58px); line-height:1.07; letter-spacing:-.06em; }
  .refresh-hero .hero-sub { font-size:15px; line-height:1.5; }
  .refresh-hero-cta { min-height:52px; margin-top:3px; padding:0 23px; }
  .refresh-hero-devices { height:360px; margin-top:30px; }
  .refresh-hero-triptych { top:-55px; width:min(650px,135vw); }
  .refresh-features { margin-top:-34px; padding:105px 0 70px; border-radius:32px 32px 0 0; }
  .refresh-features .who { padding-bottom:50px; }
  .refresh-features .who .section-head { margin-bottom:38px; }
  .refresh-features .who + .refresh-features-intro::before { margin-bottom:45px; }
  .refresh-plaid-trust { padding:38px 0 66px; }
  .refresh-plaid-trust .plaid-orbit {
    --orbit-size:min(326px,calc(100vw - 96px));
    --orbit-radius:calc(var(--orbit-size) / 2);
    min-height:calc(var(--orbit-size) + 70px);
  }
  .refresh-plaid-trust .plaid-orbit-ring--outer::after { inset:37px; }
  .refresh-plaid-trust .plaid-core { width:min(250px,calc(var(--orbit-size) - 64px)); min-height:0; gap:9px; padding:0 7px; }
  .refresh-plaid-trust .plaid-core .section-label { gap:6px; font-size:8px; letter-spacing:.035em; white-space:nowrap; }
  .refresh-plaid-trust .plaid-core .section-label::before,
  .refresh-plaid-trust .plaid-core .section-label::after { width:12px; }
  .refresh-plaid-trust .plaid-wordmark { width:64px; height:23px; }
  .refresh-plaid-trust .plaid-core h2 { margin-top:3px; font-size:clamp(14px,4.1vw,16px); line-height:1.25; }
  .refresh-plaid-trust .plaid-core p { max-width:24ch; font-size:10.5px; }
  .refresh-plaid-trust .plaid-core .plaid-network { max-width:18ch; font-size:clamp(15px,4.6vw,18px); }
  .refresh-plaid-trust .bank-badge { --badge-size:clamp(44px,13vw,53px); border-radius:15px; }
  .refresh-plaid-trust .bank-badge--chase { --x:calc(var(--orbit-radius) * -.5); --y:calc(var(--orbit-radius) * -.866); }
  .refresh-plaid-trust .bank-badge--citi { --x:calc(var(--orbit-radius) * .5); --y:calc(var(--orbit-radius) * -.866); }
  .refresh-plaid-trust .bank-badge--amex { --x:var(--orbit-radius); --y:0px; }
  .refresh-plaid-trust .bank-badge--bofa { --x:calc(var(--orbit-radius) * .5); --y:calc(var(--orbit-radius) * .866); }
  .refresh-plaid-trust .bank-badge--wells { --x:calc(var(--orbit-radius) * -.5); --y:calc(var(--orbit-radius) * .866); }
  .refresh-plaid-trust .bank-badge--capitalone { --x:calc(var(--orbit-radius) * -1); --y:0px; }
  .refresh-features-intro { padding-bottom:34px; }
  .refresh-features-intro h2 { font-size:clamp(37px,9vw,48px); }
  .refresh-feature { padding-bottom:15px; }
  .container.refresh-feature-card { width:calc(100% - 26px); padding:10px; border-radius:25px; }
  .refresh-feature-copy { padding:29px 14px 30px; }
  .refresh-feature-title { margin-top:16px; font-size:clamp(37px,9vw,49px); }
  .refresh-feature-copy p { margin-top:16px; font-size:16px; }
  .refresh-stage { min-height:420px; border-radius:18px; }
  .refresh-stage--pair .refresh-phone:first-child { --phone-width:174px; left:1%; top:74px; }
  .refresh-stage--pair .refresh-phone:nth-child(2) { --phone-width:198px; right:1%; top:20px; }
  .refresh-stage--single .refresh-phone { --phone-width:225px; }
  .refresh-preview-note { right:9px; bottom:9px; font-size:8px; }
}
@media (max-width:380px) {
  .refresh-hero .hero-h1 { font-size:42px; }
  .refresh-stage--pair .refresh-phone:first-child { --phone-width:157px; }
  .refresh-stage--pair .refresh-phone:nth-child(2) { --phone-width:178px; }
}
