/* Voting page styles are isolated from the existing site. */
.vote-hero{background:linear-gradient(#141719,#182e5d);color:#edf1f6;padding:64px 0}.vote-grid{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:64px}.vote-hero h1{font-size:clamp(2.8rem,5vw,5rem);line-height:1.05;margin:18px 0 24px;color:#edf1f6}.vote-kicker{color:#c8a65f;font:700 .8rem/1.6 Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase}.vote-lead{font-size:1.6rem;line-height:1.5}.vote-action,.vote-subscribe{display:inline-block;background:#c8a65f;color:#141719;padding:20px 30px;border:0;font:700 1rem/1.4 Arial,sans-serif;letter-spacing:.08em;text-decoration:none}.vote-action:disabled{opacity:1}.vote-note{font-size:1rem;max-width:36em}.vote-review-note{font-size:.85rem;color:#edf1f6}.vote-portrait{width:100%;height:480px;object-fit:cover;object-position:center 35%;border:1px solid #c8a65f}.vote-about{background:#e5eaf0;padding:56px 0}.vote-about h2,.vote-books h2{color:#141719;font-size:clamp(2rem,3vw,3rem);line-height:1.15}.vote-about p:not(.vote-kicker){max-width:48em;font-size:1.2rem}.vote-books{background:#ded7d2;padding:64px 0;color:#141719}.vote-book-grid{display:grid;grid-template-columns:240px 1fr;align-items:center;gap:64px}.vote-book-grid>img{width:100%;height:auto;border:2px solid #5a3b2e;box-shadow:0 7px 18px #5a3b2e55}.vote-books p{max-width:44em;line-height:1.7}.vote-preview{display:block;margin-top:20px;color:#182e5d}.vote-action:focus-visible,.vote-subscribe:focus-visible,.vote-preview:focus-visible{outline:3px solid #7b292d;outline-offset:5px}
.vote-banner{background:#c8a65f;color:#141719;text-align:center;padding:13px 20px;font:700 .9rem/1.5 Arial,sans-serif}.vote-banner a{color:inherit;text-decoration:underline;text-underline-offset:4px}
@media(max-width:760px){.vote-grid{grid-template-columns:1fr;gap:30px}.vote-hero{padding:36px 0}.vote-portrait{height:360px}.vote-book-grid{grid-template-columns:1fr;gap:30px}.vote-book-grid>img{max-width:230px}.vote-action{width:100%}.vote-books{padding:40px 0}}

/* Preserve the complete thank-you message and check mark at every width. */
.vote-portrait{height:auto;object-fit:contain;display:block}.vote-action:hover,.vote-subscribe:hover{background:#d8b975;color:#141719}.vote-action{box-sizing:border-box;text-align:center}

/* Keep the voting introduction below the full navigation height. */
.voting-page .site-header{position:relative;inset:auto}
.voting-page .vote-hero{padding-top:64px}
.vote-title-final{white-space:nowrap}
@media(max-width:760px){.voting-page .vote-hero{padding-top:40px}}

/* Keep the voting introduction below the full navigation height. */
.voting-page .site-header{position:relative;inset:auto}
.voting-page .vote-hero{padding-top:64px}
.vote-title-final{white-space:nowrap}
@media(max-width:760px){.voting-page .vote-hero{padding-top:40px}}

/* Bright campaign call to action, with an offset red edge. */
.voting-page .vote-action{background:#ffdf32;color:#141719;border:3px solid #cf1234;border-radius:48% 52% 48% 52% / 30% 35% 65% 70%;padding:24px 38px;box-shadow:0 7px 0 #a80e29,0 12px 24px #0003;font-size:1.2rem;letter-spacing:.03em;transform:rotate(-2deg);transition:transform .15s,background .15s}
.voting-page .vote-action:hover{background:#ffec65;color:#141719;transform:rotate(0deg) translateY(-2px)}
.voting-page .vote-action:focus-visible{outline:3px solid white;outline-offset:6px}
.voting-page .vote-note{margin-top:28px}

/* Top 20 uses the website gold. */
.voting-page .vote-hero h1 .vote-title-final{color:var(--gold,#c8a65f)}
