/* Homepage production hero. Other pages and shared styling are unchanged. */
.home-page .hero{position:relative;isolation:isolate;padding-top:0;background:var(--navy);color:var(--cream);overflow:hidden}
.home-page .hero-grid{position:relative;display:block;padding:64px 0 62px;min-height:690px}
.home-page .hero-copy{position:relative;z-index:2;width:43%;max-width:550px}
.home-page .hero h1{font-size:clamp(3.8rem,5.55vw,6rem);line-height:.98;letter-spacing:-.035em}
.home-page .hero h1 em{color:var(--cream)}
.home-page .hero-description{color:var(--cream);font-size:1rem;line-height:1.7;margin-top:25px;max-width:465px}
.home-page .hero-price{margin-top:25px}
.home-page .hero-actions{gap:15px 24px}
.home-page .hero-actions .button{background:var(--cream);border-color:var(--cream);color:var(--navy)}
.home-page .hero-actions .button:hover{background:var(--navy);border-color:var(--cream);color:var(--cream)}
.home-page .hero-note{color:var(--cream);max-width:420px;--stop:var(--cream)}
.home-page .hero-visual{position:absolute;z-index:0;left:40%;top:0;width:calc(72vw);height:100%;padding:0;display:block;pointer-events:none}
.home-page .hero-photograph{position:absolute;width:100%;height:100%;max-width:none;object-fit:cover;object-position:left center}
.home-page .hero-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,var(--navy) 0%,rgba(15,22,32,.92) 2%,rgba(15,22,32,.40) 11%,rgba(15,22,32,0) 25%),linear-gradient(0deg,rgba(15,22,32,.8),rgba(15,22,32,0) 12%);pointer-events:none}
.home-page .hero .visual-caption{position:absolute;z-index:1;bottom:20px;left:12%;right:auto;width:calc(49vw - 56px);margin:0;padding:12px 0 0;border-color:rgba(233,228,219,.35);color:var(--cream);font-size:.625rem;letter-spacing:.035em}
.home-page .hero .visual-caption span:last-child{color:var(--cream)}
.home-page .hero-bottom{position:relative;z-index:2;background:var(--cream);color:var(--navy);border:0;box-shadow:0 0 0 100vmax var(--cream);clip-path:inset(0 -100vmax);padding-block:23px}
@media(min-width:1600px){.home-page .hero-visual{width:1150px}.home-page .hero-grid{min-height:740px}}
@media(max-width:1100px) and (min-width:901px){.home-page .hero-copy{width:46%}.home-page .hero-grid{min-height:690px;padding-block:48px}.home-page .hero h1{font-size:4rem}.home-page .hero-description{font-size:.9375rem}.home-page .hero-visual{left:42%;width:85vw}}
@media(max-width:900px){
 .home-page .hero>.wrap{width:100%}
 .home-page .hero-grid{display:flex;flex-direction:column;padding:0;min-height:0}
 .home-page .hero-copy{width:100%;max-width:none;padding:46px 32px 36px}
 .home-page .hero h1{font-size:clamp(3.25rem,8vw,4.75rem)}
 .home-page .hero-description{max-width:560px}
 .home-page .hero-actions{gap:18px 24px}
 .home-page .hero-note{max-width:520px}
 .home-page .hero-visual{position:relative;left:auto;top:auto;width:100%;height:auto;padding:0}
 .home-page .hero-photograph{position:relative;width:100%;height:auto;object-fit:contain}
 .home-page .hero-visual:after{height:42px;bottom:auto;background:linear-gradient(180deg,var(--navy),rgba(15,22,32,0))}
 .home-page .hero .visual-caption{position:relative;inset:auto;width:auto;display:flex;flex-wrap:wrap;gap:4px 15px;padding:15px 32px;margin:0;border:0;color:var(--cream);background:var(--navy)}
 .home-page .hero .visual-caption span:last-child{color:var(--cream)}
 .home-page .hero-bottom{margin:0 32px;flex-wrap:nowrap;gap:16px}
 .home-page .hero-bottom p{max-width:180px}
}
@media(max-width:420px){.home-page .hero-copy{padding:38px 24px 32px}.home-page .hero h1{font-size:clamp(2.9rem,13vw,3.4rem)}.home-page .hero .eyebrow{font-size:.625rem;letter-spacing:.1em}.home-page .hero-description{font-size:.9375rem}.home-page .hero-price{font-size:.6875rem;letter-spacing:.075em}.home-page .hero-actions{align-items:flex-start}.home-page .hero .visual-caption{padding-inline:24px;font-size:.5625rem}.home-page .hero-bottom{margin-inline:24px;flex-wrap:wrap}.home-page .hero-bottom p{max-width:145px}.home-page .hero-bottom .verdict-inline{font-size:1rem;gap:8px}.home-page .hero-bottom .verdict-inline>.outcome+.outcome{padding-left:8px}}

/* QA 01: a small desktop-only framing adjustment; retain the mobile photograph. */
@media(min-width:901px){.home-page .hero-visual{transform:translateX(12px)}.home-page .hero-photograph{top:-10px;height:calc(100% + 10px)}}
