/* BAN V20.4 — Source artwork: founder-supplied Canva SVG. Its glyphs are vector
   outlines, not a distributable font. Source color endpoints exactly #00FFFF
   and #FF00FF, with neutral black. Do not fake a font identity. */
:root {
  --ban-canva-cyan: #00ffff;
  --ban-canva-magenta: #ff00ff;
  --ban-canva-ink: #000000;
  --ban-canva-hairline: #d8e6ee;
}
/* Same source color endpoints everywhere. Keep non-accent text readable. */
html body main .accent,
html body main .ban-home-soft-accent,
html body main .ban-gradient-word {
  background-image: linear-gradient(102deg, var(--ban-canva-cyan) 0%, var(--ban-canva-magenta) 100%) !important;
  background-clip: text !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}
/* Consolidate existing web typography; leave planner map/canvas controls alone. */
html body main > section h1,
html body main > section h2,
html body main .section-heading h1,
html body main .section-heading h2 {
  font-family: Inter, 'Helvetica Neue', Arial, sans-serif !important;
  letter-spacing: -.047em !important;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
html body main .section-heading > p {
  font-family: Inter, 'Helvetica Neue', Arial, sans-serif;
  letter-spacing: -.012em;
  line-height: 1.55;
}
/* Phone film stays at its approved size and location. Only attached copy is
   pulled into a tighter, centered composition. */
html body.home.ban-home-videos-v20 .ban-home-story--intro.ban-home-story--centered {
  margin-top: clamp(-106px, -6.1vw, -35px) !important;
  padding-top: 0 !important;
  padding-bottom: clamp(22px, 2.7vw, 38px) !important;
  width: min(900px, calc(100% - 50px)) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
}
html body.home.ban-home-videos-v20 .ban-home-story--intro.ban-home-story--centered h1 {
  font-family: Inter, 'Helvetica Neue', Arial, sans-serif !important;
  font-weight: 670 !important;
  font-size: clamp(21px, 2.08vw, 31px) !important;
  letter-spacing: -.055em !important;
  line-height: 1.21 !important;
  max-width: 780px !important;
  margin: 0 auto !important;
  text-wrap: balance;
  text-align: center !important;
}
html body.home.ban-home-videos-v20 .ban-home-story--intro .ban-home-cta {
  margin-top: clamp(12px, 1.55vw, 19px) !important;
  justify-content: center !important;
  gap: 9px !important;
}
html body.home.ban-home-videos-v20 .ban-home-story--intro .ban-home-micro {margin: 7px 0 0 !important;}
/* Actual second film: the founder-supplied BAN Target Robotaxi. Native 16:9,
   no zoom, no crop, 4K original retained. */
html body.home.ban-home-videos-v20 #ban-home-robotaxi {background: #fff; width: 100%;}
html body.home.ban-home-videos-v20 #ban-home-robotaxi .ban-home-film__frame {
  aspect-ratio: 16/9 !important;
  background: #fff center / contain no-repeat;
}
html body.home.ban-home-videos-v20 #ban-home-robotaxi video {
  width: 100% !important; height: 100% !important;
  object-fit: contain !important; object-position: center !important;
}
/* AI THAT film is now third; its caption belongs beneath it and uses the
   same centered language as the phone caption, never huge left aligned text. */
html body.home.ban-home-videos-v20 #ban-home-channel .ban-home-story {
  width: min(840px, calc(100% - 44px)) !important;
  margin: 0 auto !important;
  padding: clamp(14px, 2.7vw, 34px) 0 clamp(30px, 4.1vw, 54px) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
}
html body.home.ban-home-videos-v20 #ban-home-channel .ban-home-eyebrow {
  font-size: clamp(10px, 1vw, 12px) !important;
  font-weight: 730 !important;
  letter-spacing: .15em !important;
  margin: 0 0 13px !important;
}
html body.home.ban-home-videos-v20 #ban-home-channel .ban-home-story h2 {
  max-width: 790px !important;
  margin: 0 auto !important;
  font-weight: 690 !important;
  font-size: clamp(25px, 2.9vw, 39px) !important;
  line-height: 1.14 !important;
  letter-spacing: -.052em !important;
  text-align: center !important;
  text-wrap: balance;
}
html body.home.ban-home-videos-v20 #ban-home-channel .ban-home-story .ban-home-copy {
  max-width: 690px !important;
  font-size: clamp(15px, 1.3vw, 18px) !important;
  line-height: 1.52 !important;
  margin: 14px auto 0 !important;
  text-align: center !important;
}
/* Center the high-level marketing headline sections without touching forms,
   interactive planner labels, table cells or legal pages. */
html body.home main > .section.wrap > .section-heading,
html body.home main > .section.wrap > .section-heading p,
html body.home main > .mission-x-multiply.wrap,
html body.home main > #network-compounding .section-heading {
  text-align: center;
  margin-inline: auto;
}
html body.home main > .section.wrap > .section-heading > p {
  max-width: 810px; margin-inline: auto;
}
/* 1x10 footage: keep video showcase at its existing centered half-page width. */
html body .ban-one-ten-showcase__inner { margin-inline: auto !important; text-align: center !important; }
/* Architects at Night is a program, accessible only under 1x10 dropdown. */
html body .main-nav .ban-nav-programs {position: relative; display: inline-flex; align-items: stretch; min-width: 64px;}
html body .main-nav .ban-nav-programs > summary {
  display:flex;align-items:center;gap:7px;cursor:pointer;list-style:none;
  font:inherit;font-size:inherit;font-weight:inherit;padding:0;margin:0;
  color:inherit;white-space:nowrap;
}
html body .main-nav .ban-nav-programs > summary::-webkit-details-marker { display:none; }
html body .main-nav .ban-nav-programs > summary .ban-nav-chevron {opacity:.77;font-size:12px;}
html body .main-nav .ban-nav-programs > summary:focus-visible {outline:2px solid var(--ban-canva-cyan);outline-offset:5px;}
html body .main-nav .ban-nav-programs[open] > summary {color:inherit;}
html body .main-nav .ban-nav-programs .ban-nav-program-list {
  position:absolute;inset-block-start:calc(100% + 14px);inset-inline-start:0;
  min-width:208px;display:flex;flex-direction:column;gap:3px;
  background:rgba(10,30,46,.93);border:1px solid rgba(255,255,255,.24);
  box-shadow:0 14px 34px rgba(0,0,0,.22);padding:9px;
  backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-radius:12px;z-index:900;
}
html body .main-nav .ban-nav-programs:not([open]) .ban-nav-program-list {display:none;}
html body .main-nav .ban-nav-programs .ban-nav-program-list a {
  color:#fff!important;-webkit-text-fill-color:#fff!important;
  padding:10px 12px;border-radius:7px;text-decoration:none;font-size:13px;
  white-space:nowrap;line-height:1.4;
}
html body .main-nav .ban-nav-programs .ban-nav-program-list a:is(:hover,:focus-visible) {background:rgba(255,255,255,.15);}
html body.home .main-nav .ban-nav-programs > summary {color:#fff!important;-webkit-text-fill-color:#fff!important;text-shadow:0 1px 3px rgba(0,0,0,.88);}
@media(max-width:1020px) {
  html body .main-nav .ban-nav-programs {display:block;width:100%;}
  html body .main-nav .ban-nav-programs .ban-nav-program-list {position:static;inset:auto;min-width:0;margin-top:8px;box-shadow:none;}
}
@media(max-width:700px) {
  html body.home.ban-home-videos-v20 .ban-home-story--intro.ban-home-story--centered {
    margin-top: clamp(-20px, -2.5vw, -7px) !important;
    width:calc(100% - 32px)!important;
    padding-bottom:24px!important;
  }
  html body.home.ban-home-videos-v20 .ban-home-story--intro.ban-home-story--centered h1 {
    font-size: clamp(18px, 4.9vw, 27px) !important;
    line-height:1.25!important;letter-spacing:-.05em!important;
  }
  html body.home.ban-home-videos-v20 #ban-home-channel .ban-home-story h2 {
    font-size:clamp(24px, 6.2vw, 32px)!important;
  }
  html body.home.ban-home-videos-v20 #ban-home-channel .ban-home-story .ban-home-copy {
    font-size:15px!important;
  }
}
@media(prefers-reduced-motion:reduce){
  html body.home.ban-home-videos-v20 #ban-home-robotaxi video {animation:none!important;}
}
