/* V16 Editorial hero only. Retains V15 sticky full-screen photo expansion. */
.hero.has-hero-pin .hero-layout{grid-template-columns:1fr .99fr;gap:5.2%}
.hero.has-hero-pin .hero-copy{max-width:590px;padding-left:0}
.hero.has-hero-pin h1{font-family:var(--serif);font-weight:500;font-size:clamp(45px,4.25vw,67px)!important;line-height:1.11;letter-spacing:-.052em;max-width:600px;margin:19px 0 26px}
.hero.has-hero-pin .hero-title-primary{font:inherit;display:block;max-width:590px;text-wrap:balance;color:#fff}
.hero.has-hero-pin .hero-title-secondary{font-size:.72em;line-height:1.25;font-weight:400;letter-spacing:-.027em;display:block;margin-top:14px;color:#ecedea;text-wrap:balance}
.hero.has-hero-pin .hero-title-secondary em{color:#e3c27c;font-weight:400;letter-spacing:-.015em}
.hero.has-hero-pin .hero-offer-kicker{color:#dbbf85;font-size:clamp(10px,.91vw,13px);font-weight:700;letter-spacing:.135em;text-transform:uppercase;line-height:1.6;max-width:600px;margin:0 0 16px;padding-top:18px;border-top:1px solid rgba(218,192,138,.42)}
.hero.has-hero-pin .hero-description-support{font-size:13px;line-height:1.85;max-width:480px;color:#c7d1dd;letter-spacing:.01em;margin-bottom:0}
.hero.has-hero-pin .hero-actions{margin-top:26px}
.hero.has-hero-pin .hero-bottom{margin-top:38px}
.hero.has-hero-pin .hero-visual{height:min(62vh,580px)}
.hero.has-hero-pin .hero-visual-title strong{font-size:clamp(25px,2.2vw,34px)}
.hero-expansion-seal-holder{position:absolute;left:0;top:0;z-index:11;opacity:1;pointer-events:none;transform:translateZ(0)}
.hero-expansion-seal{width:108px;height:108px;border-radius:50%;background:#0d233d;box-shadow:0 0 0 4px rgba(9,29,49,.73),0 0 0 5px rgba(229,194,121,.76),0 9px 30px rgba(0,0,0,.28);border:1px solid #d8ba77;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;text-align:center;color:#e8c781;font-size:8px;line-height:1.23;font-weight:800;letter-spacing:.095em;padding:12px;transform:rotate(9deg)}
.hero-expansion-seal-icon{font-size:19px;line-height:1.2;color:#f2d995}
/* Hero initial entrance: same timing every load, including cached photo. */
.hero.has-hero-pin:not(.hero-intro-skip) .hero-expansion-image{opacity:0;transform:translate3d(0,18px,0) scale(.985)}
.hero.has-hero-pin.hero-intro-play .hero-expansion-image{animation:heroV16Photo 1.55s cubic-bezier(.22,1,.36,1) .44s both}
.hero.has-hero-pin.hero-intro-play .hero-expansion-seal{animation:heroV16Seal .95s cubic-bezier(.16,1,.3,1) 1.02s both}
.hero.has-hero-pin.hero-intro-skip .hero-expansion-image{opacity:1;transform:none}
.hero.has-hero-pin.hero-intro-skip .hero-expansion-seal{opacity:1;transform:rotate(9deg)}
@keyframes heroV16Photo{0%{opacity:0;transform:translate3d(0,18px,0) scale(.985);filter:blur(7px)}100%{opacity:1;transform:translate3d(0,0,0) scale(1);filter:blur(0)}}
@keyframes heroV16Seal{0%{opacity:0;transform:translateY(9px) rotate(-14deg) scale(.86)}100%{opacity:1;transform:translateY(0) rotate(9deg) scale(1)}}
@keyframes heroV16Text{from{opacity:0;transform:translate3d(-25px,10px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
.hero.has-hero-pin.hero-intro-play .hero-copy>.eyebrow{animation:heroV16Text 1s cubic-bezier(.22,1,.36,1) .03s both}
.hero.has-hero-pin.hero-intro-play .hero-title-primary{animation:heroV16Text 1.1s cubic-bezier(.22,1,.36,1) .19s both}
.hero.has-hero-pin.hero-intro-play .hero-title-secondary{animation:heroV16Text 1.05s cubic-bezier(.22,1,.36,1) .37s both}
.hero.has-hero-pin.hero-intro-play .hero-offer-kicker{animation:heroV16Text 1.0s cubic-bezier(.22,1,.36,1) .59s both}
.hero.has-hero-pin.hero-intro-play .hero-description-support{animation:heroV16Text 1s cubic-bezier(.22,1,.36,1) .72s both}
.hero.has-hero-pin.hero-intro-play .hero-actions{animation:heroV16Text 1s cubic-bezier(.22,1,.36,1) .83s both}
.hero.has-hero-pin.hero-intro-play .hero-bottom{animation:heroV16Text 1s cubic-bezier(.22,1,.36,1) 1.02s both}
@media(max-width:1100px){
 .hero.has-hero-pin h1{font-size:clamp(42px,5.2vw,60px)!important}
 .hero.has-hero-pin .hero-visual{height:min(54vh,530px)}
}
@media(max-width:680px){
 .hero.has-hero-pin .hero-layout{padding:77px 0 12px!important;gap:0}
 .hero.has-hero-pin h1{font-size:clamp(34px,8.75vw,43px)!important;line-height:1.08;margin:12px 0 16px;letter-spacing:-.044em;max-width:100%}
 .hero.has-hero-pin .hero-title-primary{max-width:350px}
 .hero.has-hero-pin .hero-title-secondary{font-size:.72em;line-height:1.18;max-width:340px;margin-top:9px}
 .hero.has-hero-pin .hero-offer-kicker{font-size:9px;line-height:1.6;letter-spacing:.09em;padding-top:11px;margin-bottom:10px}
 .hero.has-hero-pin .hero-description-support{display:block;font-size:10px;line-height:1.55;max-width:345px;margin:0;color:#c6d0dc}
 .hero.has-hero-pin .hero-actions{margin-top:16px}
 .hero.has-hero-pin .hero-actions .button{min-height:40px;font-size:9px;padding:0 12px}
 .hero.has-hero-pin .hero-visual{width:min(100%,340px);height:30svh;min-height:175px;max-height:270px;margin-top:19px}
 .hero.has-hero-pin .hero-visual-title strong{font-size:23px}
 .hero-expansion-seal-holder{top:0;left:0}
 .hero-expansion-seal{width:72px;height:72px;gap:1px;font-size:5.8px;letter-spacing:.05em;padding:7px}
 .hero-expansion-seal-icon{font-size:14px}
}
@media(max-width:680px) and (max-height:735px){
 .hero.has-hero-pin .hero-layout{padding-top:90px!important}
 .hero.has-hero-pin h1{font-size:clamp(32px,8vw,38px)!important;margin:9px 0 13px}
 .hero.has-hero-pin .hero-title-secondary{margin-top:6px}
 .hero.has-hero-pin .hero-offer-kicker{font-size:8px;padding-top:9px;margin-bottom:6px}
 .hero.has-hero-pin .hero-description-support{font-size:9px;line-height:1.45}
 .hero.has-hero-pin .hero-actions{margin-top:10px}
 .hero.has-hero-pin .hero-visual{height:26svh;min-height:145px;margin-top:9px}
}
@media(prefers-reduced-motion:reduce){
 .hero.has-hero-pin .hero-expansion-image,.hero.has-hero-pin .hero-copy>*{animation:none!important;opacity:1!important;transform:none!important}
}
