/* Revision 09 — desktop hero height balance.
   All rules are desktop-only. The approved art, its aspect ratio, background
   sizing and source-coordinate masks remain coupled and unchanged. */
@media (min-width:900px) {
 .hero {
  --hero-edge:clamp(16px,3svh,34px);
  min-height:100svh;
  padding-top:var(--hero-edge);
  padding-bottom:var(--hero-edge);
 }
 .hero .hero-inner {
  min-height:calc(100svh - var(--hero-edge) - var(--hero-edge));
  grid-template-rows:auto minmax(auto,1fr) auto;
 }
 .hero .hero-copy {
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  margin-top:clamp(14px,2.3svh,27px);
 }
 .hero h1 {
  font-size:clamp(57px,min(6.25vw,10svh),100px);
  line-height:1.04;
 }
 .hero .hero-subtitle {
  font-size:clamp(26px,min(2.78vw,4.15svh),44px);
  line-height:1.055;
  margin-bottom:clamp(11px,1.65svh,19px);
 }
 .hero .hero-lead {
  font-size:clamp(16px,min(1.49vw,2.45svh),24px);
  line-height:1.25;
  padding-block:clamp(10px,1.8svh,20px);
 }
 .hero .hero-question {
  margin-top:clamp(12px,1.9svh,22px);
  font-size:clamp(15px,min(1.37vw,2.25svh),22px);
 }
 .hero .hero-question strong {
  font-size:clamp(19px,min(1.81vw,2.9svh),28.7px);
  margin-bottom:clamp(6px,.85svh,9px);
 }
 .hero .section-action {margin-top:clamp(11px,1.9svh,22px)}
 .hero .cta {
  min-height:clamp(60px,7.4svh,80px);
  padding-block:clamp(12px,1.7svh,19px);
  font-size:clamp(21px,min(1.96vw,3.3svh),31px);
 }
 .hero .hero-gift {
  margin-top:clamp(15px,2.8svh,32px);
  min-height:clamp(82px,10.4svh,112px);
  padding-block:clamp(8px,1.25svh,15px);
  display:flex;
  align-items:center;
 }
 .hero .gift-content {width:100%}
 .hero .hero-gift:before {top:50%;transform:translateY(-50%)}
}
/* Keep a comfortable natural overflow on unusually short windows; this
   compact rhythm gives the normal 650–730px desktop heights room to breathe. */
@media (min-width:900px) and (max-height:730px) {
 .hero {--hero-edge:14px}
 .hero .hero-copy {margin-top:12px}
 .hero h1 {line-height:1}
 .hero .hero-subtitle {line-height:1.04;margin-bottom:10px}
 .hero .hero-lead {padding-block:10px;line-height:1.2}
 .hero .hero-question {margin-top:11px}
 .hero .section-action {margin-top:10px}
 .hero .hero-gift {margin-top:14px;min-height:80px;padding-block:8px}
 .hero .hero-gift:before {transform:translateY(-50%) scale(.87);transform-origin:left center}
}
/* Narrow desktop still uses the established two-column composition. */
@media (min-width:900px) and (max-width:1199px) {
 .hero h1 {font-size:clamp(57px,6vw,66px)}
 .hero .hero-subtitle {font-size:clamp(26px,2.8vw,30px)}
 .hero .hero-lead {font-size:16px}
 .hero .hero-question {font-size:15px}
 .hero .hero-question strong {font-size:19px}
 .hero .cta {font-size:20px}
}
/* The source scene is capped at 1750px. Fade that physical right edge on
   wider screens without altering its source-coordinate mask or crop. */
@media (min-width:1751px) {
 .hero .desktop-planet-art:after {
  content:'';
  position:absolute;
  inset:0 0 0 auto;
  width:80px;
  background:linear-gradient(90deg,rgba(248,248,246,0),#f8f8f6);
  pointer-events:none;
 }
}
