/* Photo replacement only: retain the original type, controls and section styles. */
.hero .hero__content{min-height:470px}
.hero__photo{position:absolute;inset:0;z-index:-1;overflow:clip;pointer-events:none}
.hero__photo img{width:100%;height:100%;object-fit:cover;object-position:center;animation:hero-photo-enter 700ms ease-out both}
.hero__photo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#080b12 0%,#080b12f2 20%,#080b12c7 38%,#080b1222 65%,transparent 86%),linear-gradient(0deg,#080b12,transparent 25%,transparent 85%,#080b1233)}
@keyframes hero-photo-enter{from{opacity:.3}to{opacity:1}}
@media(max-width:900px){.hero{min-height:0;padding-block:36px 30px}.hero .hero__content{min-height:0}.hero__photo img{object-position:72% center}.hero__photo::after{background:linear-gradient(0deg,#080b12,transparent 25%,#080b124d 75%,#080b1260),linear-gradient(90deg,#080b12cd,#080b12a6 48%,#080b1280)}}
@media(prefers-reduced-motion:reduce){.hero__photo img{animation:none}}

/* The old hero honeycomb must not show beneath the server photograph. */
.home-compact::before{content:none}
@media(min-width:901px){.hero{display:grid;align-items:center;min-height:0;padding-block:0;background:var(--bg)}.hero .hero__content{min-height:0;padding-block:44px}.hero__photo img{width:auto;max-width:100%;margin-left:auto;object-fit:contain;object-position:right center;mask-image:linear-gradient(90deg,transparent,#000 23%)}.hero__photo::after{background:linear-gradient(90deg,#080b12e6 0%,#080b12b3 25%,#080b125c 44%,transparent 67%),linear-gradient(0deg,#080b12,transparent 12%,transparent 94%,#080b1233)}}

/* Content determines hero height; no empty frame after the price. */
.home-compact .features-showcase{padding-top:22px}
@media(max-width:480px){.hero{padding-block:30px 24px}.home-compact .features-showcase{padding-top:18px}}
