/* Hero composition only. V01's approved mask/reveal stylesheet remains unchanged. */
.page-home .header{height:var(--header-height);block-size:var(--header-height)}
.page-home .hero{
 --hero-art-span:clamp(640px,calc(100vw - 604px),836px);
 position:relative;
 isolation:isolate;
 min-height:580px;
 padding-block:40px 32px;
 margin-block-start:0;
}
.page-home .hero-copy{position:relative;z-index:1;max-width:580px}
.page-home .hero .stage{margin-block-end:18px}
.page-home .hero h1{font-size:60px;line-height:1.08;max-width:580px;margin-block-end:20px;scroll-margin-block-start:calc(var(--header-height) + 24px)}
.page-home .hero .lead{font-size:18px;line-height:28px;max-width:500px}
.page-home .hero .actions{margin-block-start:24px;gap:24px}
.page-home .hero .trust-note{margin-block-start:18px;max-width:360px}
.page-home .hero>.approved-visual.slot-v01{
 position:absolute;
 width:calc(var(--hero-art-span) + 64px);
 inset-inline-end:calc(40px - clamp(0px,calc(50vw - 640px),80px));
 inset-block-end:32px;
 margin-block:0;
 z-index:0;
}
@media(max-width:1199px){
 .page-home .hero{--hero-art-span:clamp(540px,calc(100vw - 480px),640px);min-height:540px;padding-block:32px 24px}
 .page-home .hero-copy{max-width:560px}
 .page-home .hero h1{font-size:52px;max-width:560px;line-height:1.08;margin-block-end:18px}
 .page-home .hero .stage{margin-block-end:16px}
 .page-home .hero .lead{max-width:490px}
 .page-home .hero>.approved-visual.slot-v01{inset-inline-end:40px;inset-block-end:24px}
}
@media(max-width:1023px){
 .page-home .hero>.approved-visual.slot-v01{width:calc(var(--hero-art-span) + 40px);inset-inline-end:32px}
}
@media(max-width:900px){
 .page-home .hero{min-height:520px}
 .page-home .hero-copy{max-width:620px}
 .page-home .hero h1{font-size:48px;max-width:620px}
 .page-home .hero .lead{max-width:620px}
 .page-home .hero .trust-note{max-width:220px}
 .page-home .hero>.approved-visual.slot-v01{width:calc(100% - 248px);inset-block-end:20px}
}
@media(max-width:767px){
 .page-home .hero{min-height:0;padding-block:28px 20px}
 .page-home .hero-copy{max-width:none}
 .page-home .hero h1{font-size:38px;line-height:42px;margin-block-end:18px;max-width:none}
 .page-home .hero .actions{margin-block-start:20px;gap:4px}
 .page-home .hero .trust-note{margin-block-start:14px;max-width:360px}
 .page-home .hero>.approved-visual.slot-v01{position:relative;inset:auto;width:calc(100% + 24px);margin-block-start:4px}
}
@media(max-width:359px){
 .page-home .hero h1{font-size:36px;line-height:41px}
 .page-home .hero>.approved-visual.slot-v01{width:calc(100% + 16px)}
}
