.has-hero-motion .hero-slide { opacity:0; transition:opacity .85s ease; pointer-events:none; }
.has-hero-motion .hero-slide.is-active { opacity:1; z-index:1; pointer-events:auto; }
.has-hero-motion .hero-art img { transform:scale(var(--hero-image-scale,1)); transform-origin:center; }
.has-hero-motion .hero-slide.is-active .hero-art img { will-change:transform; }
.hero-home .hero-bottom { z-index:3; }
.hero-home .hero-pagination { position:relative; }
/* These media-library backgrounds contain the design's crop and colour overlays. */
.hero-home [data-design^="poster-"] .hero-art:before,.hero-home [data-design^="poster-"] .hero-art:after { content:none; }
.hero-home [data-design^="poster-"] .hero-art img { left:0; top:0; width:100%; height:100%; object-fit:cover; }
.hero-home [data-design^="poster-"] .hero-badge { width:calc(321 * var(--u)); height:calc(180 * var(--u)); margin-top:calc(30 * var(--u)); }
.hero-home [data-design^="poster-"] .badge-laurel { width:100%; height:100%; }
.hero-home [data-design^="poster-"] .badge-copy { left:calc(38.5 * var(--u)); right:calc(39.5 * var(--u)); top:calc(15 * var(--u)); font:300 calc(24 * var(--u))/calc(30 * var(--u)) var(--badge); }
.hero-home [data-design^="poster-"] .badge-year { top:calc(141 * var(--u)); font:400 calc(24 * var(--u))/calc(29 * var(--u)) var(--serif); }
.hero-home [data-design="poster-003"] .badge-copy { top:0; text-transform:capitalize; }
.badge-rank { position:absolute; left:0; right:0; top:calc(1 * var(--u)); text-align:center; color:#e7d3af; font:300 calc(102 * var(--u))/1 var(--serif); }
.badge-rank:first-letter { font-weight:700; }
.hero-home [data-badge-design="poster-002"] .badge-rank { font-size:calc(87 * var(--u)); }
.hero-home [data-badge-design="poster-002"] .badge-rank:first-letter { font-size:calc(102 * var(--u)); }
.hero-home [data-badge-design="poster-002"] .badge-copy { left:calc(21.5 * var(--u)); right:calc(22.5 * var(--u)); top:calc(131.5 * var(--u)); font-size:calc(18 * var(--u)); line-height:calc(24 * var(--u)); text-transform:lowercase; }
.hero-home [data-badge-design="poster-002"] .badge-year { top:calc(98.6 * var(--u)); font-size:calc(31 * var(--u)); line-height:calc(37 * var(--u)); }
.hero-home [data-design="poster-004"] .hero-badge { display:grid; grid-template-columns:calc(208 * var(--u)) calc(142 * var(--u)); gap:calc(20 * var(--u)); align-items:center; width:calc(370 * var(--u)); height:calc(77 * var(--u)); margin-top:calc(50 * var(--u)); }
.hero-home [data-design="poster-004"] .badge-copy { position:static; margin:0; width:calc(208 * var(--u)); text-align:left; white-space:nowrap; font:400 calc(64 * var(--u))/calc(77 * var(--u)) var(--heading); color:transparent; background:linear-gradient(180deg,#f1e4ca,#7e5b31); background-clip:text; -webkit-background-clip:text; }
.hero-home [data-design="poster-004"] .badge-partner-marks { display:block; width:calc(142 * var(--u)); height:calc(77 * var(--u)); object-fit:contain; }
.hero-home [data-badge-design="poster-005"] .hero-badge { width:calc(307 * var(--u)); height:calc(184 * var(--u)); }
/* Leave more room above the stars and optically centre the rank between the laurels. */
.hero-home [data-badge-design="poster-005"] .badge-rank { left:calc(-1 * var(--u)); right:calc(1 * var(--u)); top:0; font-size:calc(112 * var(--u)); }
.hero-home [data-badge-design="poster-005"] .badge-copy { left:calc(19.5 * var(--u)); right:calc(21.5 * var(--u)); top:calc(135.5 * var(--u)); font-size:calc(18 * var(--u)); line-height:calc(24 * var(--u)); }
.hero-title-line { display:block; overflow:hidden; padding-bottom:.06em; margin-bottom:-.06em; }
.hero-title-line>span { display:block; color:transparent; background:linear-gradient(180deg,#fff,#fff0) 0 0 / 100% calc(130 * var(--u)) no-repeat; background-clip:text; -webkit-background-clip:text; }
.has-hero-motion .hero-content h1 { background:none; }
.has-hero-motion .is-active .hero-title-line>span { animation:hero-title-in .95s cubic-bezier(.16,1,.3,1) calc(.18s + var(--line-index) * .12s) both; }
.has-hero-motion .is-active .hero-support-copy { animation:hero-support-in var(--hero-support-duration,1450ms) ease .18s both; }
.has-hero-motion .hero-pagination button[data-hero-go]:before { content:""; position:absolute; z-index:1; left:0; right:0; top:50%; height:calc(4 * var(--u)); min-height:2px; border-radius:999px; background:linear-gradient(90deg,#1db4bf,#295987); transform:scaleX(0); transform-origin:left; }
.has-hero-motion .hero-pagination button[aria-pressed=true]:after { background:#fff4; }
.has-hero-motion .hero-pagination button[aria-pressed=true]:before { transform:scaleX(var(--hero-progress,0)); }
@keyframes hero-title-in { from { opacity:0; transform:translateY(105%); } to { opacity:1; transform:translateY(0); } }
@keyframes hero-copy-in { from { opacity:0; transform:translateY(22px); } to { opacity:1; transform:translateY(0); } }
@keyframes hero-support-in { from { opacity:0; } to { opacity:1; } }
@media(max-width:1023px) {
  .hero-home .hero-pagination { gap:8px; }
  .hero-home .hero-pagination button[data-hero-go] { width:36px; }
  .hero-home { height:100svh; min-height:760px; }
  .hero-home .hero-content { padding-top:150px; }
  .hero-home .hero-content h1 { font-size:clamp(42px,12vw,100px); }
  .hero-home .hero-subtitle { font-size:22px; }
  .hero-home [data-design^="poster-"] .hero-art img { object-position:57% center; }
  .has-hero-motion .hero-art img { transform-origin:57% center; }
  .hero-home [data-design^="poster-"] .hero-art:after { content:""; background:linear-gradient(90deg,#00152680,#0015260d); }
  .hero-home [data-design^="poster-"] .hero-badge { --u:.72px; margin-top:30px; }
  .hero-home [data-design^="poster-"] .badge-copy { font-size:17.28px; line-height:21.6px; }
  .hero-home [data-badge-design="poster-002"] .badge-copy,.hero-home [data-badge-design="poster-005"] .badge-copy { font-size:12.96px; line-height:17.28px; }
  .hero-home [data-design="poster-004"] .hero-badge { --u:min(.72px,calc((100vw - 48px) / 370)); }
  .hero-title-line>span { background-size:100% .92em; }
}
@media(prefers-reduced-motion:reduce) {
  .has-hero-motion .hero-slide { transition:none; }
  .has-hero-motion .hero-art img { transform:none; will-change:auto; }
  .has-hero-motion .is-active .hero-title-line>span,.has-hero-motion .is-active .hero-support-copy { animation:none; }
  .has-hero-motion .hero-pagination button[aria-pressed=true]:before { transform:scaleX(1); }
}
