/* phones draw a blue flash on every tap; the site's own hover and focus styles replace it */
a, button, [role="button"] { -webkit-tap-highlight-color: transparent; }

/* SCA v2 - nominees.css. Prefix nm-. Tokens only, no base overrides. */
.page-nominees .theme-ivory :focus-visible { outline-color: var(--red); }

/* 01 HERO: sealed envelope */
.nm-hero { position: relative; overflow: hidden; isolation: isolate; min-height: 100svh; display: flex; align-items: flex-start; padding: clamp(6rem, 9vw, 7.5rem) 0 clamp(3rem, 6vw, 5rem); }
.nm-hero__glow { position: absolute; z-index: -1; inset: auto -10% -30% 30%; height: 80%; background: radial-gradient(closest-side, rgb(240 215 140 / 0.14), rgb(200 31 44 / 0.08) 55%, transparent); pointer-events: none; }
.nm-hero__inner { display: grid; gap: clamp(2.5rem, 6vw, 5rem); align-items: center; }
.nm-hero__copy { display: grid; gap: clamp(1.4rem, 2.6vw, 2.2rem); justify-items: start; }
.nm-hero__title { font-size: clamp(2.8rem, 6.4vw, 7rem); }
.nm-hero__lead { max-width: 38ch; }
@media (min-width: 960px) { .nm-hero__inner { grid-template-columns: 1.15fr 0.85fr; } }

.nm-env { position: relative; width: min(100%, 460px); aspect-ratio: 3 / 2; justify-self: center; filter: drop-shadow(0 30px 40px rgb(0 0 0 / 0.45)); }
.nm-env > * { position: absolute; }
.nm-env__card { left: 8%; right: 8%; top: 6%; bottom: 20%; z-index: 0; background: var(--ivory); color: var(--red-ink); display: grid; align-content: center; gap: 0.7rem; padding: 0 12%; translate: 0 -8%; }
.nm-env__card span { font: 500 0.7rem/1 var(--f-label); letter-spacing: 0.26em; text-transform: uppercase; }
.nm-env__card i { height: 0.55rem; background: rgb(36 5 10 / 0.85); border-radius: 1px; }
.nm-env__card i + i { width: 60%; }
.nm-env__body { inset: 0; z-index: 1; background: linear-gradient(160deg, #5a1119, var(--red-deep)); border: 1px solid var(--hair); }
.nm-env__body::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top right, transparent 49.6%, var(--hair) 50%, transparent 50.4%) 0 0 / 50% 100% no-repeat, linear-gradient(to top left, transparent 49.6%, var(--hair) 50%, transparent 50.4%) 100% 0 / 50% 100% no-repeat; }
.nm-env__flap { left: 0; right: 0; top: 0; height: 62%; z-index: 2; background: linear-gradient(180deg, #6d1620, #4a0d15); clip-path: polygon(0 0, 100% 0, 50% 100%); transform-origin: 50% 0; }
.nm-env__seal { left: 50%; top: 62%; width: 22%; aspect-ratio: 1; z-index: 3; translate: -50% -50%; border-radius: 50%; display: grid; place-items: center; overflow: hidden; color: var(--red-ink); background: linear-gradient(135deg, var(--gold-deep), var(--gold-hot) 40%, var(--gold) 55%, var(--gold-deep)); box-shadow: inset 0 0 0 3px rgb(255 234 184 / 0.4), 0 6px 18px rgb(0 0 0 / 0.4); }
.nm-env__seal span { font: 500 clamp(0.7rem, 1.6vw, 1rem)/1 var(--f-label); letter-spacing: 0.16em; }
.nm-env__seal::after { content: ""; position: absolute; inset: 0; background: linear-gradient(105deg, transparent 35%, rgb(255 255 255 / 0.55) 50%, transparent 65%); translate: -120% 0; }
@media (prefers-reduced-motion: no-preference) {
  .nm-env { animation: nm-float 7s var(--ease-io) infinite alternate; }
  .nm-env__flap { animation: nm-tremble 5s var(--ease-io) infinite; }
  .nm-env__seal::after { animation: nm-foil 4.5s var(--ease-io) infinite; }
}
@keyframes nm-float { from { transform: translateY(-8px) rotate(-1deg); } to { transform: translateY(8px) rotate(1deg); } }
@keyframes nm-tremble { 0%, 80%, 100% { transform: rotateX(0); } 88% { transform: rotateX(6deg); } 94% { transform: rotateX(-2deg); } }
@keyframes nm-foil { 0%, 40% { translate: -120% 0; } 80%, 100% { translate: 120% 0; } }

/* 02 BOARD */
.nm-slots { list-style: none; margin: clamp(2.5rem, 5vw, 4.5rem) 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 18rem), 1fr)); border-top: 1px solid var(--line); }
.nm-slot { display: grid; gap: 0.7rem; align-content: start; padding: 1.4rem 1.2rem 1.6rem 0; border-bottom: 1px solid var(--line); }
.nm-slot__cat { font: 400 var(--fs-h4)/1.15 var(--f-display); }
.nm-slot__bar { position: relative; overflow: hidden; height: 0.9rem; width: 72%; background: var(--red-ink); border-radius: 1px; }
.nm-slot__bar::after { content: ""; position: absolute; inset: 0; background: linear-gradient(105deg, transparent 30%, rgb(240 215 140 / 0.55) 50%, transparent 70%); translate: -120% 0; }
.nm-slot__tag { color: var(--red); }
@media (prefers-reduced-motion: no-preference) { .nm-slot__bar::after { animation: nm-foil 4.5s var(--ease-io) infinite; } }

/* 03 WINNERS */
.nm-wins__list { list-style: none; margin: clamp(2.5rem, 5vw, 4rem) 0 0; padding: 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--gap); align-items: end; }
.nm-win { display: grid; gap: 0.6rem; align-content: start; }
.nm-win__img { aspect-ratio: 4 / 5; max-width: 16rem; overflow: hidden; }
.nm-win__img picture, .nm-win__img img { display: block; width: 100%; height: 100%; object-fit: cover; }
.nm-win__name { font: 400 var(--fs-h3)/1.1 var(--f-display); }
.nm-win .label { color: var(--gold); }
@media (min-width: 900px) { .nm-wins__list { grid-template-columns: repeat(4, 1fr); } .nm-win:nth-child(even) { margin-bottom: 3rem; } }

/* 04 HOW */
.nm-steps { list-style: none; margin: clamp(2.5rem, 5vw, 4rem) 0 0; padding: 0; display: grid; gap: var(--gap); }
.nm-steps li { display: grid; gap: 0.6rem; padding-top: 1.2rem; border-top: 1px solid var(--hair); }
.nm-steps__n { font: italic 300 clamp(3rem, 6vw, 5.5rem)/1 var(--f-display); color: var(--gold); }
@media (min-width: 800px) { .nm-steps { grid-template-columns: repeat(3, 1fr); } }

/* 05 NOTIFY */
.nm-notify__grid { display: grid; gap: clamp(2rem, 5vw, 4rem); }
@media (min-width: 900px) { .nm-notify__grid { grid-template-columns: 1fr 1fr; align-items: start; } }
.nm-form { display: grid; gap: 1.4rem; justify-items: start; }
.nm-field { display: grid; gap: 0.5rem; width: 100%; }
.nm-field label { font: 500 var(--fs-label)/1.4 var(--f-label); letter-spacing: 0.22em; text-transform: uppercase; }
.nm-field input[type="email"], .nm-field input[type="text"] { width: 100%; padding: 0.9rem 0; background: transparent; color: var(--fg); border: 0; border-bottom: 1px solid var(--hair); font: 300 1.05rem var(--f-body); border-radius: 0; }
.nm-field input[aria-invalid="true"] { border-bottom-color: var(--red); }
.nm-field--check { grid-template-columns: auto 1fr; align-items: start; column-gap: 0.8rem; }
.nm-field--check label { font: 300 var(--fs-small)/1.5 var(--f-body); letter-spacing: 0; text-transform: none; }
.nm-field--check input { width: 1.2rem; height: 1.2rem; margin-top: 0.15rem; accent-color: var(--gold); }
.nm-err { grid-column: 1 / -1; margin: 0; font-size: var(--fs-small); color: #ff9aa2; }
.nm-err:empty { display: none; }
.nm-status.is-note { padding: 0.9rem 1rem; border: 1px solid var(--hair); color: var(--gold); }
.nm-status:empty { display: none; }
