/* Homepage-only promotion feed. Manual slides retain their established artwork.
   Without JS all slides remain readable; enhanced slides share one grid cell,
   retaining the tallest slide's intrinsic height without clipping any content. */
.home-promo__track { display:grid; gap:24px; }
.home-promo.is-enhanced .home-promo__track { gap:0; }
.home-promo.is-enhanced .home-promo__slide { grid-area:1 / 1; min-width:0; }
.home-promo.is-enhanced .home-promo__slide:not(.is-active) { visibility:hidden; pointer-events:none; }
.home-promo:not(.is-enhanced) .home-promo__slide + .home-promo__slide { border-top:1px solid #ffffff30; }
.home-promo__slide--announcement { display:flex; min-width:0; }
.home-promo__slide--announcement::before,.home-promo__slide--announcement::after { content:none; }
.home-promo__announcement { width:100%; min-width:0; color:#f6f5ff; background:radial-gradient(ellipse at 0 0,#5743873d,transparent 70%),#111d35; }
.home-promo__announcement--editorial { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(0,1fr); }
.home-promo__announcement-copy { grid-area:1 / 1; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; min-width:0; padding:44px 46px; }
.home-promo__announcement-label { margin:0 0 24px; color:#c4b4ec; font-size:11px; font-weight:700; line-height:1.5; letter-spacing:.12em; text-transform:uppercase; }
.home-page .home-promo .home-promo__announcement h2 { max-width:100%; font-size:clamp(28px,3.4vw,48px); line-height:1.08; letter-spacing:-.035em; text-transform:none; overflow-wrap:anywhere; hyphens:none; }
.home-promo__announcement-summary { max-width:58ch; margin:24px 0 0; color:#d9dfed; font-size:17px; line-height:1.6; overflow-wrap:anywhere; white-space:normal; }
.home-promo__announcement-link { max-width:100%; margin-top:30px; white-space:normal; overflow-wrap:anywhere; text-align:center; gap:8px; }
.home-promo__announcement-media { grid-area:1 / 2; display:grid; place-items:center; min-width:0; padding:24px; background:radial-gradient(ellipse at 70% 20%,#ede9fa,#dce5ee 76%); }
.home-promo__announcement-media img { display:block; width:100%; height:100%; max-height:552px; min-height:0; object-fit:contain; border-radius:8px; }
.home-promo__announcement--text { grid-template-columns:minmax(0,1fr); }
.home-promo__announcement--text .home-promo__announcement-copy { max-width:980px; padding-block:64px; }
.home-promo__announcement--poster { display:flex; flex-direction:column; }
.home-promo__announcement--poster .home-promo__announcement-media { flex:1; padding:24px; }
.home-promo__announcement--poster .home-promo__announcement-media img { height:auto; max-height:520px; width:100%; }
.home-promo__announcement--poster .home-promo__announcement-copy { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px 32px; padding:26px 36px 30px; }
.home-promo__announcement--poster .home-promo__announcement-label { grid-column:1; margin:0; }
.home-page .home-promo .home-promo__announcement--poster h2 { grid-column:1; font-size:clamp(24px,2.5vw,32px); }
.home-promo__announcement--poster .home-promo__announcement-summary { grid-column:1; margin:2px 0 0; font-size:16px; }
.home-promo__announcement--poster .home-promo__announcement-link { grid-column:2; grid-row:1 / span 3; align-self:center; margin:0; max-width:240px; }
.home-promo .home-promo__controls { position:relative; inset:auto; justify-content:flex-end; gap:16px; padding:16px 24px; min-height:78px; border-top:1px solid #ffffff20; background:#0a172b; color:#fff; }
.home-promo .home-promo__controls[hidden] { display:none; }
.home-promo__controls [data-promo-status] { min-width:48px; text-align:center; font-variant-numeric:tabular-nums; color:#d9dfed; font-size:14px; }
.home-promo .home-promo__controls button { flex:none; display:grid; place-items:center; padding:0; font-size:22px; line-height:1; cursor:pointer; }
.home-promo .home-promo__controls button:hover { background:#ffffff28; }
.home-promo .home-promo__controls button:focus-visible { outline:2px solid #d8c3ff; outline-offset:4px; }
@media (max-width:1023px) {
 .home-promo__announcement-copy { padding:36px 30px; }
 .home-page .home-promo .home-promo__announcement h2 { font-size:clamp(26px,4vw,38px); }
 .home-promo__announcement-summary { font-size:16px; }
 .home-promo__announcement-media { padding:20px; }
}
@media (max-width:639px) {
 .home-promo__announcement--editorial { grid-template-columns:minmax(0,1fr); }
 .home-promo__announcement-copy { grid-area:auto; padding:28px 22px 32px; }
 .home-promo__announcement-media { grid-area:auto; order:2; padding:18px; }
 .home-promo__announcement-media img { height:auto; max-height:360px; }
 .home-promo__announcement-label { margin-bottom:18px; font-size:10px; }
 .home-page .home-promo .home-promo__announcement h2 { font-size:clamp(25px,6.6vw,38px); }
 .home-promo__announcement-summary { margin-top:20px; font-size:16px; line-height:1.55; }
 .home-promo__announcement-link { margin-top:24px; }
 .home-promo__announcement--text .home-promo__announcement-copy { padding:36px 22px; }
 .home-promo__announcement--poster .home-promo__announcement-media { order:0; padding:18px; }
 .home-promo__announcement--poster .home-promo__announcement-media img { max-height:420px; }
 .home-promo__announcement--poster .home-promo__announcement-copy { display:flex; gap:0; padding:26px 22px 30px; }
 .home-promo__announcement--poster .home-promo__announcement-label { margin-bottom:14px; }
 .home-promo__announcement--poster .home-promo__announcement-summary { margin-top:16px; }
 .home-promo__announcement--poster .home-promo__announcement-link { align-self:flex-start; margin-top:24px; max-width:100%; }
 .home-promo .home-promo__controls { justify-content:center; min-height:78px; padding:16px 22px; }
}
