.hero{grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);padding:clamp(48px,6vw,96px) clamp(24px,7vw,120px);gap:clamp(42px,6vw,88px);background:linear-gradient(90deg,transparent 0 64%,rgba(157,41,51,.035) 64%)}
.hero h1{font-size:clamp(3.2rem,5.7vw,6.25rem);max-width:900px}
.hero-visual{position:relative;margin:0;align-self:center}
.hero-visual>img{width:100%;aspect-ratio:5/4;max-height:680px;display:block;object-fit:cover;object-position:center;filter:saturate(.98) contrast(1.04);box-shadow:18px 18px 0 var(--cream)}
.hero-visual:before{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 1px rgba(11,39,66,.16);pointer-events:none}
.image-caption{margin:20px 0 0;padding-left:18px;border-left:3px solid var(--red);font-size:.76rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:#586777}
@media(max-width:1050px){.hero{grid-template-columns:1fr}.hero-visual{margin-top:12px}.hero-visual>img{aspect-ratio:16/9;max-height:none}.image-caption{margin-top:26px}}
@media(max-width:560px){.hero-visual>img{aspect-ratio:4/3;object-position:52% center;box-shadow:9px 9px 0 var(--cream)}.image-caption{font-size:.7rem;letter-spacing:.075em}}
