.cinematic-hero{position:relative;overflow:hidden;background:#fcfbff;color:#382364;border-bottom:1px solid #e8e0f4}
.cinematic-media{width:100%;aspect-ratio:16/9;max-height:calc(100svh - 100px);overflow:hidden}
.cinematic-media video{display:block;width:100%;height:100%;object-fit:contain;background:#fcfbff}
.hero-accessible-title{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.hero-mobile-tagline{display:none}
.hero-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 32px;background:#fff}
.hero-media-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.hero-media-controls button{min-height:44px;padding:11px 17px;border:1px solid #c5b4df;border-radius:999px;background:#fff;color:#513082;font:600 .875rem/1.2 "Avenir Next",Avenir,ui-sans-serif,system-ui,sans-serif;cursor:pointer}
.hero-media-controls button:hover{border-color:#7142ae;background:#f3edfc}
.hero-media-controls button:disabled{opacity:.55;cursor:default}
.hero-media-controls button:focus-visible,.cinematic-hero a:focus-visible{outline:3px solid #824cce;outline-offset:4px}
.hero-toolbar .button{flex-shrink:0;padding:15px 21px;background:#7040ae;font-size:.875rem;line-height:1.2;text-transform:none;letter-spacing:0}
.hero-toolbar .button:hover{background:#583187}
.hero-media-status{flex-basis:100%;margin:0;color:#513b70;font-size:.875rem}
.hero-media-status:empty{display:none}
.hero-media-controls[hidden]{display:none}
.hero-noscript{padding:0 32px 20px;font-size:.875rem}
.hero h2{max-width:690px;margin:0;font-size:clamp(2.6rem,5.2vw,5rem);line-height:.94;letter-spacing:-.07em}
.hero h2 span{color:var(--indigo)}
.thinking i{margin-right:36px;flex-shrink:0}
@media(max-width:1100px){
  .hero-mobile-tagline{display:block;max-width:22em;margin:0 auto;padding:16px 24px 8px;text-align:center;color:#513082;font-size:clamp(1.25rem,3.8vw,1.65rem);font-weight:700;line-height:1.35}
  .hero-toolbar{flex-wrap:wrap;justify-content:center;padding:20px 24px 24px}
  .hero-media-controls{justify-content:center}
  .hero-media-status{text-align:center}
}
@media(max-width:820px){.cinematic-media{max-height:none}.hero h2{font-size:clamp(2.4rem,8vw,3.2rem)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
