/* V30 section feedback: heading, unobstructed video, then a compact introduction. */
.hero-style-section .section-visual-hero{display:block;min-height:0;overflow:visible;margin-bottom:24px;background:transparent;color:var(--paper)}
.hero-style-section .section-visual-hero:after{display:none}
.hero-style-section .section-visual-hero>.step-heading{max-width:960px;margin:0 auto 24px}
.hero-style-section .section-visual-hero>.section-background-media{position:relative;inset:auto;z-index:auto;width:100%;margin:0;background:transparent}
.hero-style-section .section-visual-hero .animated-figure{position:relative;height:auto;aspect-ratio:1248/704;overflow:hidden;background:var(--soft)}
.hero-style-section .section-visual-hero .animated-figure:after{display:none}
.hero-style-section .section-visual-hero .animated-figure>img,.hero-style-section .section-visual-hero .animated-figure>video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center}
.hero-style-section .section-visual-hero>.visual-lead{max-width:960px;margin:20px auto 0;padding:0;background:transparent;color:var(--paper);font-size:.95rem;line-height:1.55}
.hero-style-section .section-visual-hero>.visual-lead:empty{display:none}
.hero-style-section .visual-lead>.source-heading:first-child{margin-top:0}
@media(max-width:700px){.hero-style-section .section-visual-hero{margin-bottom:22px}.hero-style-section .section-visual-hero>.step-heading{margin-bottom:20px}.hero-style-section .section-visual-hero>.visual-lead{margin-top:16px;font-size:.925rem}.hero-style-section .section-visual-hero>.section-background-media{aspect-ratio:auto}}
@media print{.hero-style-section .section-visual-hero{background:white;color:#171a16;margin-bottom:12pt;break-inside:auto}.hero-style-section .section-visual-hero>.step-heading{margin-bottom:12pt;break-after:avoid}.hero-style-section .section-visual-hero>.section-background-media{max-width:460px;margin:0 auto;break-inside:avoid}.hero-style-section .section-visual-hero .animated-figure{height:auto;aspect-ratio:auto;background:white}.hero-style-section .section-visual-hero .animated-figure>img{position:static;height:auto;max-height:230pt;object-fit:contain}.hero-style-section .section-visual-hero>.visual-lead{margin-top:10pt;background:white;color:#171a16;font-size:9.5pt}}

/* Match section-title sizing while retaining the three price headings' hierarchy. */
#investment .source-heading.investment-heading{font-size:clamp(1.95rem,3.15vw,2.8rem);line-height:1.1;text-wrap:balance}
@media(max-width:760px){#investment .source-heading.investment-heading{font-size:2rem}}
@media(max-width:360px){#investment .source-heading.investment-heading{font-size:1.85rem}}
@media print{#investment .source-heading.investment-heading{font-size:27pt}}

/* Keep the welcome copy clear over motion without strengthening its 50% wash. */
/* Bound the aspect-ratio box to its available width, including existing margins. */
#welcome.step-hero{width:calc(100% - 88px);max-width:calc(100% - 88px);min-width:0}
@media(max-width:900px){#welcome.step-hero{width:calc(100% - 40px);max-width:calc(100% - 40px)}}
@media(max-width:360px){#welcome.step-hero{width:calc(100% - 32px);max-width:calc(100% - 32px)}}
@media print{#welcome.step-hero{width:100%;max-width:100%}}
#welcome .hero-copy h1,#welcome .hero-copy .hero-deck{font-weight:700}
#welcome .hero-copy .hero-byline{font-weight:600}
#welcome .hero-copy :is(h1,.eyebrow,.hero-deck,.hero-byline){text-shadow:0 1px 2px rgb(250 247 240 / .9),0 0 7px rgb(250 247 240 / .6)}
.overview-grid .offer-label{font-size:clamp(1rem,1.7vw,1.3rem)!important;font-weight:700;line-height:1.35;letter-spacing:.08em}
@media print{#welcome .hero-copy :is(h1,.eyebrow,.hero-deck,.hero-byline){text-shadow:none}.overview-grid .offer-label{font-size:11pt!important}}
