/*
 AtNightX V20.12 / LAST CSS TYPOGRAPHY FIDELITY TRIAL
 Original references: Canva DAHUJhv-VA4 / DAG5m8yGiyk,
 founder screenshots of Poppins Bold 155, Poppins Bold 112,
 Poppins SemiBold and Glitch (90deg, offset 30) / Neon (intensity 100).
 Design principle: strong central X-axis + consistent type hierarchy.
 Preserve 4K video, Wix-managed Astro interactions, copy, other pages.
 This stylesheet intentionally contains NO gradient-filled glyphs.
 All readable glyph fill is black/white; neon/glitch uses optical shadow/stroke.
*/
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&display=swap');
html body.home.ban-home-videos-v20 {
  --ban-v212-black:#071b2b;
  --ban-v212-white:#fff;
  --ban-v212-cyan:#00e7f5;
  --ban-v212-magenta:#f03dff;
  --ban-v212-body:clamp(15px,1.20vw,18px);
  --ban-v212-display:clamp(34px,3.75vw,54px);
  --ban-v212-head:clamp(30px,3.16vw,45px);
  font-family:'Poppins','Helvetica Neue',Arial,sans-serif !important;
  font-optical-sizing:auto;
}
/* Explicitly carry the original family through each visible homepage text role.
   No new text inserted into the supplied videos. */
html body.home.ban-home-videos-v20 :is(
    h1,h2,h3,h4,p,small,strong,em,span,button,label,input,select,textarea,
    a,summary,.eyebrow,.ban-home-eyebrow,.budget-value,.budget-head,
    .ban-home-btn,.btn,.ban-home-copy,.micro-note,.main-nav
) {font-family:'Poppins','Helvetica Neue',Arial,sans-serif !important;}
html body.home.ban-home-videos-v20 :is(h1,h2,h3){letter-spacing:-.033em !important;}
html body.home.ban-home-videos-v20 :is(.ban-home-story,.section-heading,.budget-section-intro) > p {
  font-weight:400 !important;
  line-height:1.48 !important;
}
/* Primary navigation: deliberately centered group and Canva Poppins SemiBold,
   but keep the existing desktop/mobile behavior and routes. */
@media(min-width:941px){
  html body.home.ban-home-videos-v20 .site-header .header-in{justify-content:center !important;}
  html body.home.ban-home-videos-v20 .site-header .main-nav{
    margin-inline:auto !important;justify-content:center !important;
    gap:clamp(12px,1.5vw,24px) !important;
  }
}
html body.home.ban-home-videos-v20 .site-header .main-nav > a:not(.header-cta),
html body.home.ban-home-videos-v20 .site-header .main-nav summary {
  color:#fff !important; -webkit-text-fill-color:#fff !important;
  font-size:12px !important; font-weight:600 !important;
  letter-spacing:0 !important; text-shadow:0 1px 6px rgba(8,40,68,.32);
}
html body.home.ban-home-videos-v20 .site-header .header-cta,
html body.home.ban-home-videos-v20 .site-header .header-cta span {
  font-size:12px !important;font-weight:600 !important;letter-spacing:0 !important;
  -webkit-text-fill-color:currentColor !important;
}
/* HERO — use the actual Canva measured centerline, lower the title only until
   the phone artwork keeps a safe optical gap. Black/white Poppins Bold 155 role.
   We do not use the old blanket fluorescent treatment or a text gradient. */
html body.home.ban-home-videos-v20 #ban-home-hero .ban-v207-hero-overlay.ban-v210-canva-title {
  top:clamp(108px,8.75vw,130px) !important;
  left:50% !important;width:min(43%,580px) !important;
  font-size:clamp(30px,3.65vw,53px) !important;
  line-height:1.065 !important;
  font-family:'Poppins','Helvetica Neue',Arial,sans-serif !important;
  font-weight:700 !important;
  letter-spacing:-.043em !important;
  text-align:center !important;
  text-shadow:none !important;
}
html body.home.ban-home-videos-v20 #ban-home-hero .ban-v210-canva-title p {
  font-family:inherit !important;font-weight:700 !important;
  font-size:inherit !important;letter-spacing:inherit !important;
  line-height:inherit !important;white-space:nowrap !important;
}
/* Black glyphs keep Canva's fine cyan/magenta glitch edge.
   White glyphs use a luminous cyan rim, never cyan/magenta filled letters. */
html body.home.ban-home-videos-v20 #ban-home-hero .ban-v210-canva-title .ban-v210-black {
  color:#071725 !important;-webkit-text-fill-color:#071725 !important;
  -webkit-text-stroke:0 !important;
  text-shadow:1px 0 var(--ban-v212-cyan),-1px 0 var(--ban-v212-magenta) !important;
  background:none !important;
}
html body.home.ban-home-videos-v20 #ban-home-hero .ban-v210-canva-title .ban-v210-white {
  color:#fff !important;-webkit-text-fill-color:#fff !important;
  -webkit-text-stroke:.3px rgba(0,222,244,.95) !important;
  text-shadow:0 0 3px #fff,0 0 11px rgba(0,231,245,.98),0 0 23px rgba(0,231,245,.56) !important;
  background:none !important;
}
/* Calm, deliberate typography beneath the film. Three lines, not one giant H1. */
html body.home.ban-home-videos-v20 .ban-home-story--intro #ban-home-title.ban-v209-phone-title {
  font-size:clamp(19px,1.85vw,28px) !important;
  line-height:1.28 !important;
  font-family:'Poppins','Helvetica Neue',Arial,sans-serif !important;
  font-weight:400 !important;letter-spacing:-.032em !important;
  color:var(--ban-v212-black) !important;
  text-align:center !important;
}
html body.home.ban-home-videos-v20 #ban-home-title .ban-v209-phone-line {
  font-size:1em !important;font-weight:400 !important;letter-spacing:inherit !important;
}
html body.home.ban-home-videos-v20 #ban-home-title strong{font-weight:700 !important;}
html body.home.ban-home-videos-v20 #ban-home-title .ban-v209-ink {font-weight:600 !important;}
html body.home.ban-home-videos-v20 #ban-home-title .ban-v209-phone-line--end {
  font-size:.82em !important;letter-spacing:-.018em !important;
}
/* The intro is supporting copy: no isolated bright-gradient token. */
html body.home.ban-home-videos-v20 #ban-home-title .ban-home-soft-accent {
  color:var(--ban-v212-black) !important;-webkit-text-fill-color:var(--ban-v212-black) !important;
  background:none !important;text-shadow:1px 0 rgba(0,231,245,.75),-1px 0 rgba(240,61,255,.55) !important;
  font-weight:600 !important;
}
/* Mobility hero: Canva black + bright white/cyan text, not a gradient fill. */
html body.home.ban-home-videos-v20 #network-compounding .ban-v208-mobility-overlay h2 {
  color:var(--ban-v212-black) !important;
  -webkit-text-fill-color:var(--ban-v212-black) !important;
  font-family:'Poppins','Helvetica Neue',Arial,sans-serif !important;
  font-size:clamp(24px,3vw,44px) !important;
  font-weight:700 !important;letter-spacing:-.046em !important;
  line-height:1.12 !important;
  text-shadow:1px 0 rgba(0,231,245,.7),-1px 0 rgba(240,61,255,.5) !important;
}
html body.home.ban-home-videos-v20 #network-compounding .ban-v208-mobility-overlay h2 span {
  color:#fff !important;-webkit-text-fill-color:#fff !important;
  -webkit-background-clip:border-box !important;background:none !important;
  -webkit-text-stroke:.65px rgba(0,212,233,.96) !important;
  text-shadow:0 0 2px rgba(0,231,245,1),0 0 10px rgba(0,231,245,.89),0 0 20px rgba(0,231,245,.40) !important;
}
html body.home.ban-home-videos-v20 #network-compounding .ban-v209-mobility-summary {
  color:var(--ban-v212-black) !important;font-size:var(--ban-v212-body) !important;
}
html body.home.ban-home-videos-v20 #network-compounding .ban-v209-mobility-summary p {
  font-size:clamp(13px,1.08vw,16px) !important;font-weight:400 !important;line-height:1.45 !important;
}
html body.home.ban-home-videos-v20 #network-compounding .ban-v209-mobility-summary strong {
  font-size:clamp(13px,1.08vw,16px) !important;font-weight:600 !important;
}
html body.home.ban-home-videos-v20 #network-compounding .ban-v208-mobility-buttons {
  margin:12px auto 26px !important;justify-content:center !important;
}
/* Section title system: a Canva Poppins 112-style scale translated to web.
   Default black for bright scenes, white for the dark platform chapter. */
html body.home.ban-home-videos-v20 #what-the-x-means h2,
html body.home.ban-home-videos-v20 #ban-home-channel .ban-home-story h2,
html body.home.ban-home-videos-v20 #ask-ai h2,
html body.home.ban-home-videos-v20 #budget-home-section h2,
html body.home.ban-home-videos-v20 #difference h2,
html body.home.ban-home-videos-v20 .panel-dark h2,
html body.home.ban-home-videos-v20 .end-panel h2 {
  font-family:'Poppins','Helvetica Neue',Arial,sans-serif !important;
  font-size:var(--ban-v212-head) !important;
  font-weight:600 !important;
  letter-spacing:-.038em !important;
  line-height:1.14 !important;
  text-wrap:balance;
}
html body.home.ban-home-videos-v20 #ban-home-channel .ban-home-story h2,
html body.home.ban-home-videos-v20 #what-the-x-means h2,
html body.home.ban-home-videos-v20 #budget-home-section h2,
html body.home.ban-home-videos-v20 #difference h2 {
  color:var(--ban-v212-black) !important;
  -webkit-text-fill-color:var(--ban-v212-black) !important;
}
/* Neon type = white interior plus cyan rim. This is a text-specific effect,
   NOT a gradient word and not a background-video effect. */
html body.home.ban-home-videos-v20 #ban-home-channel .ban-home-soft-accent,
html body.home.ban-home-videos-v20 #budget-home-section .accent,
html body.home.ban-home-videos-v20 #difference .accent,
html body.home.ban-home-videos-v20 .end-panel .accent {
  color:#fff !important;-webkit-text-fill-color:#fff !important;
  -webkit-text-stroke:.85px rgba(0,220,240,.99) !important;
  background-image:none !important;background:none !important;
  text-shadow:0 0 2px rgba(0,231,245,1),0 0 9px rgba(0,231,245,.89),0 0 19px rgba(0,231,245,.43) !important;
}
html body.home.ban-home-videos-v20 #ban-home-channel .ban-home-story h2 {
  font-weight:700 !important;letter-spacing:-.043em !important;
}
html body.home.ban-home-videos-v20 #ban-home-channel .ban-home-story .ban-home-copy {
  color:#172331 !important;font-weight:400 !important;
  font-size:clamp(15px,1.32vw,19px) !important;
  line-height:1.52 !important;max-width:760px !important;
}
html body.home.ban-home-videos-v20 #ban-home-channel .ban-home-eyebrow,
html body.home.ban-home-videos-v20 .eyebrow {
  font-family:'Poppins','Helvetica Neue',Arial,sans-serif !important;
  font-weight:600 !important;letter-spacing:.10em !important;
}
/* Dark section: white main copy, no cyan/magenta letter fills. */
html body.home.ban-home-videos-v20 .panel-dark h2 {
  color:#fff !important;-webkit-text-fill-color:#fff !important;
}
html body.home.ban-home-videos-v20 .panel-dark h2 .accent {
  color:#fff !important;-webkit-text-fill-color:#fff !important;
  background:none !important;
  -webkit-text-stroke:.36px rgba(0,231,245,.7);
  text-shadow:0 0 8px rgba(0,231,245,.32) !important;
}
html body.home.ban-home-videos-v20 .panel-dark .section-heading p,
html body.home.ban-home-videos-v20 #difference .section-heading p,
html body.home.ban-home-videos-v20 #what-the-x-means > p,
html body.home.ban-home-videos-v20 #budget-home-section .budget-section-intro > p,
html body.home.ban-home-videos-v20 .end-panel .end-inner p {
  font-family:'Poppins','Helvetica Neue',Arial,sans-serif !important;
  font-size:clamp(14px,1.1vw,17px) !important;
  font-weight:400 !important;
  line-height:1.55 !important;
}
/* Operating system scene is already owner-aligned higher: keep its position;
   only update the face and colors of the existing two-line message. */
html body.home.ban-home-videos-v20 #ban-home-geo-scene .ban-v207-geo-overlay {
  font-family:'Poppins','Helvetica Neue',Arial,sans-serif !important;
  font-size:clamp(27px,3.08vw,44px) !important;
  font-weight:700 !important;letter-spacing:-.045em !important;
  line-height:1.10 !important;text-align:center !important;
  color:var(--ban-v212-black) !important;
}
html body.home.ban-home-videos-v20 #ban-home-geo-scene .ban-v207-geo-overlay .ban-v207-gradient {
  color:#fff !important;-webkit-text-fill-color:#fff !important;
  -webkit-background-clip:border-box !important;background:none !important;
  -webkit-text-stroke:.8px rgba(0,225,241,.96) !important;
  text-shadow:0 0 2px var(--ban-v212-cyan),0 0 10px rgba(0,231,245,.9),0 0 21px rgba(0,231,245,.47) !important;
}
/* Functional UI: Poppins SemiBold, black or white glyphs; retain all button
   backgrounds/gradients/interaction colors as they were. */
html body.home.ban-home-videos-v20 :is(.ban-home-btn,.btn,.budget-action,.budget-card button) {
  font-family:'Poppins','Helvetica Neue',Arial,sans-serif !important;
  font-weight:600 !important;letter-spacing:0 !important;
}
html body.home.ban-home-videos-v20 .main-nav a:hover,
html body.home.ban-home-videos-v20 .main-nav a:focus-visible {
  color:#fff !important;-webkit-text-fill-color:#fff !important;
}
@media(max-width:940px){
  html body.home.ban-home-videos-v20 #ban-home-hero .ban-v207-hero-overlay.ban-v210-canva-title {
    top:clamp(64px,8.4vw,104px) !important;
    width:49% !important;
    font-size:clamp(20px,3.6vw,34px) !important;
  }
  html body.home.ban-home-videos-v20 .site-header .main-nav > a:not(.header-cta),
  html body.home.ban-home-videos-v20 .site-header .main-nav summary {
    font-size:14px !important;
  }
}
@media(max-width:640px){
  html body.home.ban-home-videos-v20 #ban-home-hero .ban-v207-hero-overlay.ban-v210-canva-title {
    top:clamp(30px,7.2vw,44px) !important;
    width:52% !important;
    font-size:clamp(12px,3.5vw,20px) !important;
    line-height:1.07 !important;
  }
  html body.home.ban-home-videos-v20 .ban-home-story--intro #ban-home-title.ban-v209-phone-title {
    font-size:clamp(17px,4.4vw,20px) !important;
  }
  html body.home.ban-home-videos-v20 #ban-home-title .ban-v209-phone-line {
    white-space:normal !important;text-wrap:balance;
  }
  html body.home.ban-home-videos-v20 #network-compounding .ban-v208-mobility-overlay h2 {
    font-size:clamp(13px,3.5vw,20px) !important;
  }
  html body.home.ban-home-videos-v20 #what-the-x-means h2,
  html body.home.ban-home-videos-v20 #ban-home-channel .ban-home-story h2,
  html body.home.ban-home-videos-v20 #ask-ai h2,
  html body.home.ban-home-videos-v20 #budget-home-section h2,
  html body.home.ban-home-videos-v20 #difference h2,
  html body.home.ban-home-videos-v20 .panel-dark h2,
  html body.home.ban-home-videos-v20 .end-panel h2 {
    font-size:clamp(26px,7.8vw,34px) !important;
  }
  html body.home.ban-home-videos-v20 #ban-home-channel .ban-home-story .ban-home-copy {
    font-size:15px !important;
  }
  /* Poppins may have different actual glyph widths than the offline fallback.
     Avoid brittle nowrap on the phone/intro when rendered on mobile. */
  html body.home.ban-home-videos-v20 #ban-home-channel .ban-v209-channel-line {
    white-space:normal !important;text-wrap:balance !important;
  }
}
@media(prefers-reduced-motion:reduce){
  html body.home.ban-home-videos-v20 :is(h1,h2,h3,p,a) {transition:none !important;}
}
/* FINAL QA CORRECTIONS / 12 NOV
   The 4K hero phone starts below the title area; cap headline height to
   preserve a visible buffer instead of blindly moving it a full inch.
   Across the white scenes the sticky navigation requires a dark glass surface
   or white navigation links become invisible. */
html body.home.ban-home-videos-v20 .site-header[data-ban-glass-header] {
  background:rgba(3,29,53,.64) !important;
  border-bottom:1px solid rgba(255,255,255,.17) !important;
  -webkit-backdrop-filter:blur(12px) saturate(125%) !important;
  backdrop-filter:blur(12px) saturate(125%) !important;
}
html body.home.ban-home-videos-v20 .site-header .main-nav.is-open {
  background:rgba(3,26,46,.96) !important;
  -webkit-backdrop-filter:blur(14px) !important;
  backdrop-filter:blur(14px) !important;
}
html body.home.ban-home-videos-v20 .site-header .nav-toggle span {background:#fff !important;}
@media(min-width:1181px){
  html body.home.ban-home-videos-v20 #ban-home-hero .ban-v207-hero-overlay.ban-v210-canva-title {
    top:clamp(104px,8.3vw,121px) !important;
    font-size:clamp(35px,3.38vw,49px) !important;
  }
}
@media(min-width:941px) and (max-width:1180px){
  html body.home.ban-home-videos-v20 #ban-home-hero .ban-v207-hero-overlay.ban-v210-canva-title {
    top:clamp(73px,7.8vw,94px) !important;
    font-size:clamp(26px,3.25vw,39px) !important;
  }
}
@media(min-width:641px) and (max-width:940px){
  html body.home.ban-home-videos-v20 #ban-home-hero .ban-v207-hero-overlay.ban-v210-canva-title {
    top:clamp(55px,7.3vw,78px) !important;
    font-size:clamp(19px,3.1vw,31px) !important;
  }
}
/* Existing functional budget interface on near-white glass suffered low text
   contrast in V20.11. This changes visual ink only, not labels or calculations. */
html body.home.ban-home-videos-v20 #budget-home-section :is(
    .budget-head span,.budget-head strong,.budget-value,
    .budget-labels span,.budget-currency-control,.budget-quick,
    .budget-footnote,.budget-personal span,.budget-under
){
  color:var(--ban-v212-black) !important;
  -webkit-text-fill-color:var(--ban-v212-black) !important;
  text-shadow:none !important;
}
html body.home.ban-home-videos-v20 #budget-home-section .budget-head strong {
  font-size:clamp(30px,3.15vw,44px) !important;
  letter-spacing:-.035em !important;
  font-weight:700 !important;
}
html body.home.ban-home-videos-v20 #budget-home-section :is(.budget-labels,.budget-footnote,.budget-quick){
  font-size:clamp(11px,.86vw,13px) !important;
  font-weight:500 !important;
}
/* Small screen: put the readable headline directly after the full, uncropped
   phone video. On the original 16:9 image there is physically insufficient
   clear space between header and phone to overlay 3 legible text lines. */
@media(max-width:640px){
  html body.home.ban-home-videos-v20 #ban-home-hero {
    aspect-ratio:auto !important;
    display:flex !important;flex-direction:column !important;
  }
  html body.home.ban-home-videos-v20 #ban-home-hero .ban-home-film__frame {
    order:0 !important;width:100% !important;flex:0 0 auto !important;
    aspect-ratio:16/9 !important;
  }
  html body.home.ban-home-videos-v20 #ban-home-hero .ban-v207-hero-overlay.ban-v210-canva-title {
    position:relative !important;inset:auto !important;
    top:auto !important;left:auto !important;
    transform:none !important;
    order:1 !important;
    width:100% !important;max-width:none !important;
    margin:0 auto !important;padding:13px 14px 16px !important;
    font-size:clamp(19px,5.2vw,25px) !important;
    line-height:1.10 !important;
    background:linear-gradient(180deg,#16659d,#0a365f) !important;
    color:#fff !important;
  }
  html body.home.ban-home-videos-v20 #ban-home-hero .ban-v210-canva-title .ban-v210-black {
    color:#fff !important;-webkit-text-fill-color:#fff !important;
    text-shadow:0 0 1px #00e7f5,1px 0 #f03dff,-1px 0 #00e7f5 !important;
  }
  html body.home.ban-home-videos-v20 #ban-home-hero .ban-v210-canva-title p {
    white-space:normal !important;
  }
}
@media(max-width:640px){
  /* Do not let the fixed mobile navigation hide the original 4K video's logo. */
  html body.home.ban-home-videos-v20 main > #ban-home-hero {
    padding-top:69px !important;
  }
}
