/* Scoped presentation for the 2026 finalist honor roll. */
:root{--navy:#1B4F8A;--navy-light:#2D6BB0;--ink:#0E2340;--gold:#D4AF72;--gold-ink:#80602E;--paper:#F7F9FC;--cream:#F5F0E5;--muted:#52647A;--line:#D9E1EB}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:94px}
body{margin:0;min-height:100dvh;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:var(--navy)}
a:focus-visible,button:focus-visible{outline:3px solid var(--gold-ink);outline-offset:5px}
.skip-link{position:fixed;top:10px;left:12px;z-index:300;padding:12px 20px;background:var(--cream);transform:translateY(-160%)}
.skip-link:focus{transform:translateY(0)}
.site-header{position:sticky;top:0;z-index:200;background:rgba(212,175,114,.98);border-bottom:1px solid rgba(14,35,64,.1)}
.site-header-inner{max-width:1280px;margin:auto;padding:0 24px;min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.site-header-logo{height:48px;width:auto;display:block}
.site-header nav{display:flex;gap:20px;align-items:center}
.site-header nav a{font-size:14px;color:var(--ink);text-decoration:none;white-space:nowrap}
.site-header nav a:hover,.site-header nav a.active{color:var(--navy)}
.site-header nav a.active{font-weight:700}
.site-header-cta{padding:8px 16px;background:var(--navy);color:var(--cream);border-radius:8px;text-decoration:none;white-space:nowrap;font-size:14px}
.mobile-menu-btn{display:none;background:none;border:0;padding:8px;color:var(--ink);cursor:pointer}
.mobile-menu-btn svg{width:24px;height:24px;display:block}
.mobile-nav{display:none;flex-direction:column;padding:16px 24px}
.mobile-nav.active{display:flex;position:absolute;top:100%;left:0;right:0;background:var(--gold);max-height:calc(100dvh - 74px);overflow:auto}
.mobile-nav a{padding:8px;color:var(--ink);text-decoration:none}
.mobile-nav-buttons{border-top:1px solid rgba(14,35,64,.2);padding-top:12px;margin-top:10px}
.mobile-nav .btn-getstarted{display:block;background:var(--navy);border-radius:8px;text-align:center}
.finalists-wrap{max-width:1200px;margin:auto;padding-left:36px;padding-right:36px}
.finalists-hero{position:relative;overflow:hidden;background:var(--cream);border-bottom:1px solid #E2D8C4;padding:76px 0 64px}
.finalists-hero:after{content:"";position:absolute;width:470px;height:470px;border:1px solid rgba(128,96,46,.15);border-radius:50%;right:-265px;top:-65px;box-shadow:0 0 0 40px rgba(128,96,46,.035),0 0 0 80px rgba(128,96,46,.025);pointer-events:none}
.hero-layout{display:grid;grid-template-columns:1.6fr 1fr;gap:64px;align-items:end;position:relative;z-index:1}
.eyebrow{margin:0 0 22px;font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:700;color:var(--gold-ink)}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{font-family:'DM Serif Display',Georgia,serif;font-weight:400}
h1{font-size:clamp(56px,7.5vw,88px);line-height:1.04;letter-spacing:-.035em;margin-bottom:22px}
h1 span{display:block;color:var(--navy)}
.hero-message{max-width:530px;margin:0;font-size:18px;color:var(--muted)}
.hero-aside{border-left:1px solid #D8C9AC;padding:8px 0 8px 32px}
.hero-aside p{font-size:15px;color:var(--muted);margin-bottom:22px}
.hero-aside strong{color:var(--ink)}
.button-link{display:inline-flex;align-items:center;justify-content:center;gap:22px;background:var(--navy);color:var(--paper);padding:13px 22px;border-radius:6px;font-size:14px;font-weight:700;text-decoration:none;transition:transform .2s ease}
.button-link:hover{transform:translateY(-2px)}
.hero-aside .event-detail{font-size:12px;margin:14px 0 0}
.finalists-summary{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:25px;padding-bottom:25px;border-bottom:1px solid var(--line)}
.summary-numbers{display:flex;gap:32px}
.summary-numbers span{font-size:13px;color:var(--muted)}
.summary-numbers strong{font-family:'DM Serif Display',Georgia,serif;font-size:26px;font-weight:400;color:var(--navy);margin-right:7px}
.finalists-summary p{font-size:12px;color:var(--muted);margin:0;text-align:right}
.honor-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:65px;padding-top:56px;padding-bottom:80px}
.category-index{position:sticky;top:96px;align-self:start}
.category-index h2{font-family:'DM Sans',sans-serif;font-weight:700;font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--gold-ink);margin-bottom:18px}
.category-index ol{list-style:none;padding:0;margin:0}
.category-index a{display:flex;gap:12px;align-items:baseline;font-size:12px;line-height:1.5;text-decoration:none;color:var(--muted);padding:8px 9px 8px 0;border-bottom:1px solid var(--line);transition:transform .2s ease}
.category-index a:hover{color:var(--navy);transform:translateX(3px)}
.category-index a[aria-current="location"]{color:var(--navy);font-weight:700}
.category-index .index-number{color:var(--gold-ink);font-size:10px;font-variant-numeric:tabular-nums;flex-shrink:0}
.award-category{scroll-margin-top:96px;margin-bottom:56px}
.award-category:last-child{margin-bottom:0}
.category-heading{display:flex;align-items:baseline;gap:18px;margin-bottom:22px}
.category-number{font-size:12px;color:var(--gold-ink);font-weight:600;font-variant-numeric:tabular-nums}
.category-heading h2{font-size:30px;line-height:1.2;letter-spacing:-.02em;margin:0;max-width:580px}
.category-heading h2 span{color:var(--navy)}
.finalist-list{list-style:none;margin:0;padding:0;border-top:2px solid var(--gold);display:grid;grid-template-columns:1fr 1fr;column-gap:30px}
.finalist{padding:22px 0 21px;border-bottom:1px solid var(--line);min-width:0}
.finalist h3{font-family:'DM Sans',sans-serif;font-size:17px;line-height:1.4;font-weight:700;margin:0 0 5px;overflow-wrap:anywhere}
.finalist .affiliation{font-size:14px;color:var(--muted);line-height:1.5;margin:0 0 8px}
.finalist .location{font-size:11px;letter-spacing:.045em;color:var(--gold-ink);margin:8px 0 0}
.celebration{background:var(--ink);color:var(--cream);padding:60px 0}
.celebration-layout{display:flex;justify-content:space-between;align-items:center;gap:40px}
.celebration .eyebrow{color:var(--gold);margin-bottom:14px}
.celebration h2{font-size:clamp(32px,4vw,46px);line-height:1.16;max-width:650px;margin-bottom:17px}
.celebration p:not(.eyebrow){color:#C8D5E4;font-size:15px;margin-bottom:0}
.celebration .button-link{background:var(--gold);color:var(--ink);white-space:nowrap}
.finalists-footer{display:flex;justify-content:space-between;gap:24px;padding-top:28px;padding-bottom:28px;font-size:12px;color:var(--muted)}
.finalists-footer a{text-decoration:none}
.finalists-footer a:hover{text-decoration:underline}
@media(max-width:1100px){.site-header nav{display:none}.mobile-menu-btn{display:block}.honor-layout{gap:36px;grid-template-columns:220px minmax(0,1fr)}.hero-layout{gap:36px}}
@media(max-width:767px){.finalists-wrap{padding-left:22px;padding-right:22px}.finalists-hero{padding:48px 0 38px}.hero-layout{grid-template-columns:1fr;gap:28px}h1{font-size:62px}.hero-message{font-size:16px}.hero-aside{padding:22px 0 0;border-left:0;border-top:1px solid #D8C9AC}.hero-aside p{margin-bottom:16px}.finalists-summary{align-items:start;flex-direction:column;gap:12px}.finalists-summary p{text-align:left}.summary-numbers{gap:23px}.honor-layout{display:block;padding-top:30px;padding-bottom:48px}.category-index{position:static;margin-bottom:40px}.category-index ol{display:grid;grid-template-columns:1fr;gap:0}.category-index a{padding:10px 0;font-size:13px}.category-heading{gap:13px}.category-heading h2{font-size:29px}.award-category{margin-bottom:42px}.finalist-list{grid-template-columns:1fr}.finalist{padding:19px 0}.finalist h3{font-size:18px}.celebration{padding:42px 0}.celebration-layout{flex-direction:column;align-items:start;gap:26px}.finalists-footer{flex-direction:column;gap:8px}.site-header-inner{padding:0 16px;gap:10px}.site-header-cta{font-size:12px;padding:8px 10px}.site-header-logo{height:42px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.button-link:hover,.category-index a:hover{transform:none}.banner-shimmer{color:var(--gold)!important;background:none!important}}
