/* Shared controls, matched to the supplied grey and white button references. */
:root{--control-surface:#ffffff14;--control-border:#fff;--control-radius:999px}
.navigation{grid-template-columns:1fr auto}
.header-actions{grid-column:2;justify-self:end;display:flex;align-items:center;gap:7.5px;pointer-events:auto}
.header-ticket,.navigation .menu-toggle,.category-actions .vote-button,.category-ceremony-link,.category-back-top{border:1.25px solid var(--control-border);background:var(--control-surface);color:#fff;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;transition:background .2s,border-color .2s;animation:none}
.header-ticket{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:9px;height:37.5px;min-height:37.5px;padding:0 15px;border-radius:var(--control-radius);font:400 12.75px/1.1 "RTS Neue",sans-serif;letter-spacing:-.045em;cursor:pointer}
.header-ticket img{display:block;width:16.5px;height:auto;flex:none}
.navigation .menu-toggle{display:flex;align-items:center;justify-content:center;flex:none;width:37.5px;height:37.5px;padding:9px;border-radius:50%;gap:0}
.navigation .menu-toggle img{display:block;width:19.5px;height:auto;flex:none}
.category-actions{display:flex;align-items:stretch;justify-content:center;gap:15px;flex-shrink:0;margin:var(--category-carousel-gap,48px) auto 0;width:min(75%,315px)}
.category-actions .vote-button,.category-ceremony-link{display:flex;align-items:center;justify-content:center;gap:9px;flex:1 1 0;min-width:0;height:51px;min-height:51px;margin:0;padding:0 16.5px;border-radius:var(--control-radius);font:400 16.5px/.92 "RTS Neue",sans-serif;letter-spacing:-.055em;text-align:left;text-decoration:none;transform:none;cursor:pointer}
.category-ceremony-link img{height:31.5px;width:auto;flex:none;object-fit:contain}
.category-back-top{justify-content:center;width:50px;height:50px;min-height:50px;padding:11px;right:5vw;bottom:max(22px,env(safe-area-inset-bottom));border-radius:50%;text-shadow:none}
.category-back-top img{display:block;width:24px;height:28px;object-fit:contain}
.header-ticket:hover,.navigation .menu-toggle:hover,.category-actions .vote-button:hover,.category-ceremony-link:hover,.category-back-top:hover{background:#ffffff26;border-color:#fff}
.header-ticket:focus-visible,.navigation .menu-toggle:focus-visible,.category-actions .vote-button:focus-visible,.category-ceremony-link:focus-visible,.category-back-top:focus-visible{outline:2px solid #fff;outline-offset:5px}
#ticket-notice{border:1px solid #fff8;border-radius:22px;background:#252525;padding:36px;color:#fff;text-align:center;width:min(440px,calc(100% - 40px))}
#ticket-notice h2{margin:0 0 24px;font-family:"RTS Neue",sans-serif;font-weight:500;font-size:30px;line-height:1.05;letter-spacing:-.04em;text-transform:none}
.ticket-notice-close{padding:12px 24px;border:1px solid #fff;border-radius:var(--control-radius);background:var(--control-surface);color:#fff;font-size:16px}
@media(max-width:700px){
 .header-actions{gap:6px}
 .header-ticket{height:33px;min-height:33px;padding:0 11.25px;gap:6.75px;font-size:12px}
 .header-ticket img{width:15px}
 .navigation .menu-toggle{width:33px;height:33px;padding:7.5px}
 .navigation .menu-toggle img{width:17.25px}
 .category-actions{width:75%;max-width:292.5px;gap:9px}
 .category-actions .vote-button,.category-ceremony-link{height:clamp(42px,12vw,49.5px);min-height:clamp(42px,12vw,49.5px);padding:0 9.75px;gap:6.75px;font-size:clamp(11.25px,3.45vw,15px);line-height:.95}
 .category-ceremony-link img{height:27px}
 .category-back-top{width:44px;height:44px;min-height:44px;right:22px;bottom:max(16px,env(safe-area-inset-bottom));padding:10px}
 .category-back-top img{width:21px;height:25px}
}
@media(max-width:360px){.header-ticket{font-size:11.25px;padding-inline:9px;gap:5.25px}.header-actions{gap:5.25px}.category-actions{gap:7.5px}.category-actions .vote-button,.category-ceremony-link{padding-inline:7.5px;gap:5.25px}.category-ceremony-link img{height:24px}}
@media(prefers-reduced-motion:reduce){.header-ticket,.navigation .menu-toggle,.category-actions .vote-button,.category-ceremony-link,.category-back-top{transition:none}}

/* Keep generous hit areas while reducing the visible buttons by 25%. */
.header-ticket,.navigation .menu-toggle,.category-actions>*{position:relative}
.header-ticket::after,.navigation .menu-toggle::after,.category-actions>*::after{content:"";position:absolute;left:50%;top:50%;width:max(100%,44px);height:max(100%,44px);transform:translate(-50%,-50%)}
.category-actions{margin-top:var(--category-carousel-gap)}
/* Both edges fade into the same animated backdrop, without a section seam. */
.award-section,.award-section:nth-child(even){border-top:0;background:linear-gradient(180deg,rgba(5,5,5,0) 0,rgba(5,5,5,.35) min(160px,18svh),rgba(5,5,5,.35) calc(100% - min(160px,18svh)),rgba(5,5,5,0) 100%)}

.ticket-notice-close:hover{background:#ffffff26}

/* Larger home titles only on desktop; preserve the existing mobile typography. */
@media(min-width:701px){
 .orbit-item{font-size:60px;letter-spacing:-3px;max-width:690px}
 .orbit-item .display-line,.orbit-item .category-subtitle{font-size:60px;letter-spacing:-3px}
}
#vote-dialog{border-radius:22px}
#vote-dialog .dialog-close{width:44px;height:44px;display:grid;place-items:center;padding:0;border:0;border-radius:50%;background:transparent;box-shadow:none;outline:none;line-height:1}
#vote-dialog .dialog-close:focus-visible{outline:1px solid #fff;outline-offset:0;box-shadow:none}
#ticket-notice{max-width:500px;padding:40px 32px;outline:none}
#ticket-notice h2{margin-bottom:18px}
#ticket-opening-date{font-size:15px;line-height:1.5;color:#e7e7e7;margin:0 0 28px}
#ticket-opening-date span{color:#aaa;font-size:12px}
.ticket-countdown{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;font-variant-numeric:tabular-nums}
.ticket-countdown>div{display:flex;flex-direction:column;align-items:center;gap:8px}
.ticket-countdown [data-countdown]{font-family:"RTS Neue",sans-serif;font-size:42px;font-weight:500;letter-spacing:-.04em;line-height:1}
.ticket-countdown small{font-size:11px;font-weight:400;color:#bbb;line-height:1.2}
@media(max-width:700px){
 #ticket-notice{padding:32px 20px}
 #ticket-notice h2{font-size:27px}
 .ticket-countdown{gap:8px}
 .ticket-countdown [data-countdown]{font-size:34px}
 .ticket-countdown small{font-size:10px}
}
@media(max-width:360px){.ticket-countdown [data-countdown]{font-size:29px}.ticket-countdown{gap:5px}}

/* One subtle boundary for every award section, including the first. */
.award-section,.award-section:nth-child(even),.award-section+.award-section{border-top:1px solid #ffffff26}
/* Local to the home section, above the trophy and below the foreground category labels.
   No fixed surface: it scrolls with the hero and cannot cover later sections. */
.hero-readability-shade{position:absolute;inset:0;z-index:4;pointer-events:none;background:linear-gradient(to bottom,transparent 38%,rgba(0,0,0,.12) 50%,rgba(0,0,0,.6) 72%,rgba(0,0,0,.92) 100%);opacity:var(--home-shade-opacity,1)}

/* Discovery control follows the supplied pill and rounded arrow reference. */
.hero-carousel-help .discover{display:inline-flex;align-items:center;justify-content:center;gap:16px;height:54px;padding:0 25px;border:1.25px solid var(--control-border);border-radius:var(--control-radius);background:var(--control-surface);font:400 18px/1.1 "RTS Neue",sans-serif;letter-spacing:-.045em;white-space:nowrap;transition:background .2s,border-color .2s}
.hero-carousel-help .discover span{font:inherit;line-height:inherit}
.hero-carousel-help .discover svg{display:block;width:22px;height:26px;flex:none}
.hero-carousel-help .discover:hover{background:#ffffff26;border-color:#fff}
@media(max-width:700px){
 .navigation .home{width:80px}
 .header-ticket{height:41.25px;min-height:41.25px;padding:0 14.0625px;gap:8.4375px;font-size:15px}
 .header-ticket img{width:18.75px}
 .navigation .menu-toggle{width:41.25px;height:41.25px;padding:9.375px}
 .navigation .menu-toggle img{width:21.5625px}
 .hero-carousel-help .discover{height:48px;padding:0 22px;gap:14px;font-size:16px}
 .hero-carousel-help .discover svg{width:20px;height:24px}
}
@media(max-width:360px){.header-ticket{font-size:14.0625px;padding-inline:11.25px;gap:6.5625px}}
@media(prefers-reduced-motion:reduce){.hero-carousel-help .discover{transition:none}}

/* Desktop header controls: +25 %, preserving the mobile sizing. */
@media(min-width:701px){
 .header-actions{gap:9.375px}
 .header-ticket{height:46.875px;min-height:46.875px;padding:0 18.75px;gap:11.25px;font-size:15.9375px}
 .header-ticket img{width:20.625px}
 .navigation .menu-toggle{width:46.875px;height:46.875px;padding:11.25px}
 .navigation .menu-toggle img{width:24.375px}
}

/* Periodic white reflection, shared by both category actions. */
.category-actions .vote-button::before,.category-actions .category-ceremony-link::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(110deg,transparent 42%,#ffffff0a 45%,#ffffff50 50%,#ffffff0a 55%,transparent 58%) 200% 0/300% 100% no-repeat;animation:category-button-shine 5s ease-in-out infinite;}
@keyframes category-button-shine{0%,56%{background-position:200% 0}96%,100%{background-position:-100% 0}}
/* Zoom follows the translation, so the card centre stays in place. */
@media(min-width:701px) and (hover:hover) and (pointer:fine){
 .nominee-card{--card-hover-scale:1;transform-origin:center center;transition:transform .3s var(--ease),opacity .5s;}
 .nominee-card:hover{--card-hover-scale:1.15;z-index:10!important;}
}
@media(prefers-reduced-motion:reduce){
 .category-actions .vote-button::before,.category-actions .category-ceremony-link::before{animation:none;background:none;}
 .nominee-card{transition:none;}
}

/* Persistent access to the official RTS consent settings, inside the menu. */
.cookie-settings{display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin:8px 0 0;padding:10px 18px;border:1px solid #ffffff70;border-radius:999px;background:#ffffff14;color:#fff;font:400 14px/1.2 "RTS Neue",sans-serif;}
.cookie-settings:hover{background:#ffffff26;}
.cookie-settings:focus-visible{outline:2px solid #fff;outline-offset:4px;}
