:root {
  --navy: #182019;
  --navy-2: #293526;
  --blue: #546441;
  --gold: #c4a85b;
  --paper: #e9e5d8;
  --ink: #20251f;
  --muted: #676b60;
  --line: #c8c2b1;
  --white: #fff;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--ink);
  background: var(--paper);
}
* { box-sizing: border-box; }
html { scroll-padding-bottom: 180px; }
body { margin: 0; min-height: 100vh; padding-bottom: max(140px, env(safe-area-inset-bottom)); background-color: var(--paper); background-image: repeating-linear-gradient(135deg, rgba(43,53,38,.025) 0, rgba(43,53,38,.025) 1px, transparent 1px, transparent 12px); }
button, input { font: inherit; }
button { cursor: pointer; }
.top-actions { display: flex; align-items: center; gap: 18px; }
.top-actions button { padding: 8px 11px; border: 1px solid #899276; background: #24301d; color: white; font-size: .78rem; font-weight: 850; }
.top-actions button:hover, .top-actions button:focus-visible { border-color: var(--gold); color: var(--gold); }
.top-actions button span { display: inline-grid; place-items: center; min-width: 20px; height: 20px; margin-left: 4px; border-radius: 50%; background: var(--gold); color: var(--navy); }
.topbar { height: 192px; display: flex; align-items: center; justify-content: space-between; padding: 0 max(24px, calc((100vw - 1320px) / 2)); background-color: #202a1c; background-image: linear-gradient(180deg, rgba(255,255,255,.025), rgba(0,0,0,.16)); color: white; border-bottom: 4px solid var(--gold); }
.brand { display: flex; align-items: center; gap: 10px; min-width: 0; color: white; text-decoration: none; }
.brand-emblem { width: 116px; height: 116px; flex: 0 0 auto; object-fit: contain; filter: drop-shadow(0 2px 0 rgba(0,0,0,.5)); }
.brand-wordmark { display: block; width: clamp(620px, 53vw, 720px); height: auto; object-fit: contain; filter: drop-shadow(0 2px 0 rgba(0,0,0,.55)); }
.nationwide { color: #d5cfba; font-size: .8rem; font-weight: 750; letter-spacing: .09em; text-transform: uppercase; }
main { max-width: 1180px; margin: 0 auto; padding: 34px 24px 56px; }
.search-panel { position: relative; display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(340px, .85fr); overflow: hidden; background: var(--navy-2); color: white; border: 1px solid #0e130f; border-radius: 4px; box-shadow: 0 14px 34px rgba(30,35,28,.18); }
.search-panel::after { content: ""; position: absolute; inset: 8px; border: 1px solid rgba(196,168,91,.24); pointer-events: none; }
.mission-strip { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 14px; padding: 13px 17px; border: 1px solid var(--line); border-left: 5px solid var(--gold); background: #f8f6ee; }
.mission-strip > div, .streak { display: flex; align-items: center; gap: 11px; }
.mission-strip b, .mission-strip span, .mission-strip small { display: block; }
.mission-strip b { font-size: .88rem; text-transform: uppercase; }
.mission-strip div > span { margin-top: 2px; color: var(--muted); font-size: .78rem; }
.mission-icon { display: grid !important; place-items: center; width: 36px; height: 36px; background: var(--navy); color: var(--gold) !important; }
.streak { flex: 0 0 auto; padding-left: 18px; border-left: 1px solid var(--line); }
.streak > span { color: var(--blue) !important; font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif; font-size: 1.9rem !important; }
.streak small { color: var(--muted); font-size: .7rem; }
.photo-competition { margin-top: 18px; padding: 24px; border: 1px solid #1f2b1e; background: var(--navy-2); color: white; box-shadow: 0 8px 24px rgba(34,40,31,.12); }
.photo-head { display: flex; align-items: end; justify-content: space-between; gap: 20px; }
.photo-head h2 { font-size: 1.55rem; }
.photo-head p { margin: 5px 0 0; color: #d5d8ce; font-size: .84rem; }
.photo-head-actions { display: flex; align-items: center; gap: 10px; }
.photo-head-actions span { color: #d5d8ce; font-size: .78rem; font-weight: 750; text-transform: uppercase; }
.photo-head-actions button, .photo-empty button { padding: 10px 12px; border: 1px solid var(--gold); background: var(--gold); color: var(--navy); font-size: .78rem; font-weight: 900; text-transform: uppercase; }
.photo-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: 18px; }
.photo-entry { position: relative; overflow: hidden; border: 1px solid #697462; background: #f8f6ee; color: var(--ink); }
.photo-entry img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; background: #111; }
.photo-entry > div:last-child { padding: 13px; }
.photo-entry span { color: var(--blue); font-size: .7rem; font-weight: 850; text-transform: uppercase; }
.photo-entry h3 { margin: 4px 0; font-size: 1rem; }
.photo-entry p { margin: 0 0 11px; color: var(--muted); font-size: .8rem; }
.photo-entry button { width: 100%; padding: 9px; border: 1px solid var(--gold); background: #eee5c9; color: var(--navy); font-size: .76rem; font-weight: 900; text-transform: uppercase; }
.photo-entry button:hover:not(:disabled) { background: var(--gold); }
.photo-entry button:disabled { cursor: default; border-color: #9ba28f; background: #d8d7cd; color: #5c6258; }
.photo-rank { position: absolute; top: 8px; left: 8px; z-index: 1; padding: 5px 7px; background: rgba(24,32,25,.92); color: var(--gold); font-size: .7rem; font-weight: 900; }
.photo-empty { grid-column: 1 / -1; display: grid; place-items: center; gap: 7px; min-height: 150px; padding: 24px; border: 1px dashed #6d7763; color: #d5d8ce; text-align: center; }
.photo-form { margin-top: 18px; padding: 20px; border: 1px solid #6d7763; background: #f8f6ee; color: var(--ink); }
.photo-form[hidden] { display: none; }
.photo-form h3 { margin: 4px 0; font-size: 1.2rem; }
.photo-form > div:first-child p { margin: 0 0 16px; color: var(--muted); }
.photo-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.photo-form-grid label { margin: 0; color: var(--ink); }
.photo-field small { display: block; margin-top: 6px; color: var(--muted); font-size: .76rem; line-height: 1.35; }
.photo-form-grid input, .photo-form-grid select { display: block; width: 100%; height: 50px; margin-top: 6px; padding: 0 12px; border: 1px solid var(--line); border-radius: 2px; background: white; color: var(--ink); font: inherit; }
.photo-form-grid input[type="file"] { padding: 11px; }
.photo-preview { display: block; width: min(100%, 440px); max-height: 300px; margin: 15px 0; object-fit: contain; background: #111; }
.photo-preview[hidden] { display: none; }
.consent-check { display: flex; align-items: flex-start; gap: 10px; margin: 16px 0; color: var(--ink); font-size: .82rem; letter-spacing: 0; line-height: 1.4; text-transform: none; }
.consent-check input { width: 20px; height: 20px; min-width: 20px; padding: 0; }
.photo-form-actions { display: flex; justify-content: flex-end; gap: 8px; }
.photo-form-actions button { padding: 10px 13px; border: 1px solid var(--line); background: white; font-weight: 850; }
.photo-form-actions button[type="submit"] { border-color: var(--gold); background: var(--gold); }
.announcements { margin-top: 28px; }
.announcement-heading { margin-bottom: 11px; }
.announcement-heading h2 { font-size: 1.2rem; }
.drill-announcement { position: relative; isolation: isolate; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 18px; overflow: hidden; padding: 20px; border: 1px solid #aaa58f; border-top: 5px solid var(--blue); background: #fffdf5; color: var(--ink); text-decoration: none; box-shadow: 0 8px 22px rgba(34,40,31,.11), inset 0 0 0 1px rgba(255,255,255,.7); transition: transform .18s ease, box-shadow .18s ease; }
.drill-announcement::before { position: absolute; z-index: -2; inset: 0; background: url('/daytona-nationals-background.webp') center 58% / cover no-repeat; content: ''; filter: grayscale(.18) saturate(.82) contrast(.9) brightness(1.03); opacity: .45; }
.drill-announcement::after { position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg, rgba(255,253,245,.28) 0%, rgba(255,253,245,.12) 58%, rgba(255,253,245,0) 100%); content: ''; }
.drill-announcement > * { position: relative; z-index: 1; }
.drill-announcement:hover, .drill-announcement:focus-visible { outline: 2px solid var(--blue); outline-offset: 3px; transform: translateY(-2px); box-shadow: 0 12px 26px rgba(34,40,31,.15); }
.drill-date { display: grid; place-items: center; width: 80px; min-height: 82px; padding: 8px; border: 1px solid var(--navy); background: var(--navy); color: white; text-align: center; }
.drill-date small { color: var(--gold); font-size: .7rem; font-weight: 900; letter-spacing: .16em; }
.drill-date strong { font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif; font-size: 1.65rem; font-weight: 500; line-height: 1.05; }
.drill-date span { font-size: .7rem; font-weight: 850; letter-spacing: .1em; }
.drill-announcement-copy { min-width: 0; }
.drill-announcement-copy small, .drill-announcement-copy strong, .drill-announcement-copy > span { display: block; }
.drill-announcement-copy small { color: var(--blue); font-size: .7rem; font-weight: 900; letter-spacing: .13em; }
.drill-announcement-copy strong { margin-top: 4px; font-size: 1.08rem; line-height: 1.25; }
.drill-announcement-copy > span { margin-top: 3px; color: var(--muted); font-size: .82rem; font-weight: 750; }
.drill-announcement-copy p { margin: 7px 0 0; color: var(--muted); font-size: .82rem; line-height: 1.4; }
.drill-announcement-action { display: flex; align-items: center; gap: 8px; padding: 10px 12px; border: 1px solid var(--gold); background: var(--navy); color: white; font-size: .76rem; font-weight: 900; text-transform: uppercase; box-shadow: 0 3px 8px rgba(24,32,25,.18); }
.drill-magazine-link { display: grid; grid-template-columns: 1fr; height: 86px; margin-top: 8px; overflow: hidden; border: 1px solid #485442; border-left: 5px solid var(--gold); background: var(--navy); color: #f4e5b0; text-decoration: none; box-shadow: 0 5px 14px rgba(34,40,31,.13); transition: transform .18s ease, box-shadow .18s ease; }
.drill-magazine-art { position: relative; display: block; min-width: 0; height: 100%; background: var(--navy); }
.drill-magazine-art img { position: relative; z-index: 2; display: block; width: 100%; height: 100%; object-fit: contain; object-position: center; background: var(--navy); }
.drill-magazine-fallback { position: absolute; z-index: 1; inset: 0; display: grid; place-content: center; gap: 2px; color: #f4e5b0; text-align: center; text-transform: uppercase; }
.drill-magazine-fallback[hidden] { display: none; }
.drill-magazine-fallback strong { font-family: Georgia, serif; font-size: 1.35rem; letter-spacing: .04em; }
.drill-magazine-fallback small { font-size: .68rem; font-weight: 850; letter-spacing: .12em; }
.service-branches { display: none; align-items: stretch; min-width: 0; }
.service-branches > span { display: flex; flex: 1 1 0; min-width: 0; flex-direction: column; align-items: center; justify-content: center; gap: 3px; border-right: 1px solid rgba(196,168,91,.2); text-align: center; }
.service-branches-right > span { border-right: 0; border-left: 1px solid rgba(196,168,91,.2); }
.service-branches b { color: var(--gold); font-size: .9rem; line-height: 1; letter-spacing: .03em; }
.service-branches small { color: #f4e5b0; font-size: .54rem; font-weight: 850; line-height: 1.05; letter-spacing: .035em; text-transform: uppercase; }
.drill-magazine-link:hover, .drill-magazine-link:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; transform: translateY(-1px); box-shadow: 0 8px 18px rgba(34,40,31,.18); }
.sponsor-banner { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 16px; min-height: 104px; padding: 17px 20px; overflow: hidden; border: 1px solid #485442; border-left: 6px solid var(--gold); background: linear-gradient(105deg, var(--navy) 0%, #2f3d2b 62%, #3e4b38 100%); color: white; text-decoration: none; box-shadow: 0 8px 22px rgba(34,40,31,.16), inset 0 0 0 1px rgba(196,168,91,.12); transition: transform .18s ease, box-shadow .18s ease; }
.drill-magazine-link + .sponsor-banner { margin-top: 12px; }
.sponsor-banner:hover, .sponsor-banner:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; transform: translateY(-2px); box-shadow: 0 12px 28px rgba(34,40,31,.22); }
.sponsor-banner-mark { display: grid; place-items: center; width: 58px; height: 58px; border: 2px solid var(--gold); color: var(--gold); font-size: 1.65rem; transform: rotate(-8deg); }
.sponsor-banner-copy { min-width: 0; }
.sponsor-banner-copy small, .sponsor-banner-copy strong, .sponsor-banner-copy > span { display: block; }
.sponsor-banner-copy small { color: var(--gold); font-size: .7rem; font-weight: 900; letter-spacing: .14em; }
.sponsor-banner-copy strong { margin-top: 3px; font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif; font-size: clamp(1.25rem, 3vw, 1.75rem); font-weight: 500; letter-spacing: .035em; text-transform: uppercase; }
.sponsor-banner-copy > span { margin-top: 3px; color: #d5d8ce; font-size: .82rem; font-weight: 700; }
.sponsor-banner-action { display: flex; align-items: center; gap: 9px; padding: 10px 12px; border: 1px solid var(--gold); background: var(--gold); color: var(--navy); font-size: .76rem; font-weight: 900; text-transform: uppercase; }
.search-content { position: relative; z-index: 1; padding: 38px; }
.photo-frame { position: relative; z-index: 1; min-width: 0; margin: 0; padding: 14px; background: #111711; border-left: 1px solid rgba(196,168,91,.35); display: flex; flex-direction: column; justify-content: center; }
.photo-frame img { display: block; width: 100%; height: auto; max-height: 340px; object-fit: contain; background: white; border: 1px solid #727763; filter: saturate(.82) contrast(1.04); }
.photo-frame figcaption { padding: 9px 4px 1px; color: #d5cfba; font-size: .7rem; font-weight: 850; letter-spacing: .16em; text-align: right; }
.eyebrow, .section-kicker { font-size: .75rem; font-weight: 850; letter-spacing: .15em; color: var(--gold); }
h1 { position: relative; margin: 9px 0 6px; font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif; font-size: clamp(2rem, 5vw, 3.35rem); font-weight: 500; line-height: 1; letter-spacing: .025em; text-transform: uppercase; }
.intro { position: relative; margin: 0 0 27px; color: #d5d8ce; font-size: 1rem; }
form { position: relative; z-index: 1; }
label, .filter-heading { display: block; margin-bottom: 9px; font-size: .78rem; font-weight: 800; color: #d8d4c5; letter-spacing: .07em; text-transform: uppercase; }
.search-row { display: grid; grid-template-columns: 1fr auto; gap: 10px; }
input { min-width: 0; height: 56px; padding: 0 16px; border: 2px solid transparent; border-radius: 2px; background: #f8f5eb; color: var(--ink); font-size: 1rem; outline: none; }
input:focus { border-color: var(--gold); box-shadow: 0 0 0 4px rgba(243,187,50,.17); }
.search-row > button { height: 56px; padding: 0 23px; border: 1px solid #dfca85; border-radius: 2px; background: var(--gold); color: #1f241e; font-weight: 900; letter-spacing: .04em; text-transform: uppercase; box-shadow: inset 0 -3px 0 rgba(0,0,0,.16); }
.search-row > button:hover { background: #d7bd6b; }
.filter-heading { margin-top: 22px; }
.filters { display: flex; flex-wrap: wrap; gap: 8px; }
.chip { padding: 9px 11px; border: 1px solid #6d7763; border-radius: 2px; background: #354231; color: #eff0e9; font-size: .78rem; font-weight: 800; letter-spacing: .03em; text-transform: uppercase; }
.chip:hover, .chip.active { border-color: var(--gold); background: var(--gold); color: var(--navy); }
.results { padding-top: 36px; }
.results-head { display: flex; justify-content: space-between; gap: 20px; align-items: end; margin-bottom: 17px; }
.section-kicker { color: var(--blue); }
h2 { margin: 5px 0 0; font-size: 1.45rem; letter-spacing: -.02em; }
.text-button { border: 0; background: none; color: var(--blue); font-weight: 700; padding: 8px; }
.platform-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.video-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.video-card, .search-more-card { overflow: hidden; border: 1px solid var(--line); border-radius: 3px; background: #f8f6ee; box-shadow: 0 5px 18px rgba(34,40,31,.07); }
.video-frame { position: relative; aspect-ratio: 16 / 9; background: #111; }
.video-frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.video-info { padding: 15px 17px 18px; }
.video-info span { color: var(--blue); font-size: .76rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.video-info h3, .search-more-card h3 { margin: 6px 0 0; font-size: 1rem; line-height: 1.35; }
.view-controls, .rank-view-controls { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; margin-top: 13px; }
.view-controls button, .rank-view-controls button { padding: 9px 7px; border: 1px solid #8c927f; border-radius: 2px; background: #f0eee5; color: var(--navy); font-size: .76rem; font-weight: 850; }
.view-controls button:hover, .rank-view-controls button:hover { border-color: var(--gold); background: #eee5c9; }
.vote-button { width: 100%; margin-top: 14px; padding: 10px 12px; border: 1px solid var(--gold); border-radius: 2px; background: #eee5c9; color: var(--navy); font-size: .78rem; font-weight: 900; text-transform: uppercase; }
.vote-button:hover { background: var(--gold); }
.vote-button:disabled { cursor: default; opacity: .72; }
.card-actions { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 9px; }
.card-actions button { flex: 1 1 auto; padding: 7px 8px; border: 0; background: transparent; color: var(--muted); font-size: .72rem; font-weight: 800; }
.card-actions button:hover, .card-actions button.saved { background: #e9e4d4; color: var(--navy); }
.vote-picker { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 9px; padding: 10px; border: 1px solid var(--line); background: white; }
.vote-picker[hidden] { display: none; }
.vote-picker b { flex: 1 0 100%; font-size: .78rem; text-transform: uppercase; }
.vote-picker button { padding: 7px 8px; border: 1px solid var(--line); background: #f0eee5; color: var(--ink); font-size: .72rem; font-weight: 750; }
.vote-picker button:hover { border-color: var(--gold); background: #eee5c9; }
.search-more-card { padding: 20px; }
.result-message { grid-column: 1 / -1; min-height: 230px; display: grid; place-items: center; align-content: center; gap: 9px; padding: 32px; border: 1px solid var(--line); background: #f8f6ee; text-align: center; }
.result-message h3, .result-message p { margin: 0; }
.result-message p { color: var(--muted); }
.result-message .open-search { min-width: 220px; margin-top: 8px; }
.result-message.loading .platform-icon { animation: pulse 1.1s ease-in-out infinite; }
.search-more-card p { margin: 10px 0 4px; color: var(--muted); line-height: 1.45; }
.search-more-card .open-search { margin-top: 12px; }
.youtube-link { background: #d92318; }
.platform-card { min-height: 230px; padding: 24px; border: 1px solid var(--line); border-radius: 3px; background: #f8f6ee; box-shadow: 0 5px 18px rgba(34,40,31,.07); }
.platform-top { display: flex; align-items: center; gap: 10px; font-size: .9rem; font-weight: 850; text-transform: uppercase; letter-spacing: .08em; }
.platform-icon { width: 35px; height: 35px; display: grid; place-items: center; border-radius: 2px; color: white; font-size: 1rem; }
.youtube { background: #e62117; }
.tiktok { background: #111; }
.platform-card h3 { margin: 27px 0 8px; font-size: 1.26rem; }
.platform-card p { margin: 0; color: var(--muted); line-height: 1.55; }
.card-hint { display: inline-block; margin-top: 22px; color: #8290a0; font-size: .86rem; font-weight: 650; }
.result-card { display: flex; flex-direction: column; }
.result-card .query-preview { margin: 24px 0 8px; font-size: 1.15rem; font-weight: 800; line-height: 1.35; }
.result-card p { flex: 1; }
.open-search { display: flex; align-items: center; justify-content: space-between; margin-top: 24px; padding: 14px 16px; border-radius: 2px; color: white; text-decoration: none; font-weight: 800; }
.youtube-card .open-search { background: #d92318; }
.tiktok-card .open-search { background: #111; }
.open-search:hover { filter: brightness(1.12); }
.quick-block, .recent-block { margin-top: 34px; }
.top-ten { margin-top: 38px; padding: 26px; border: 1px solid #1f2b1e; background: var(--navy-2); color: white; box-shadow: 0 8px 24px rgba(34,40,31,.12); }
.top-ten-head { display: flex; align-items: end; justify-content: space-between; gap: 20px; }
.top-ten-head p { max-width: 390px; margin: 0; color: #d5d8ce; }
.ranking-period { display: block; margin-top: 5px; color: #d5d8ce; font-size: .78rem; }
.top-ten-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.top-ten-actions button { padding: 10px 12px; border: 1px solid #7b856f; background: #354231; color: white; font-size: .76rem; font-weight: 850; text-transform: uppercase; }
.top-ten-actions button:hover, .top-ten-actions button.following { border-color: var(--gold); background: var(--gold); color: var(--navy); }
.top-tabs { display: flex; gap: 7px; margin: 20px 0 16px; overflow-x: auto; padding-bottom: 4px; }
.top-tab { flex: 0 0 auto; padding: 9px 12px; border: 1px solid #6d7763; background: #354231; color: white; font-size: .78rem; font-weight: 850; text-transform: uppercase; }
.top-tab.active, .top-tab:hover { border-color: var(--gold); background: var(--gold); color: var(--navy); }
.top-list { display: grid; gap: 8px; }
.ranked-video { display: grid; grid-template-columns: 44px 128px 1fr; align-items: center; gap: 13px; min-width: 0; padding: 9px; background: #f8f6ee; color: var(--ink); }
.rank { color: var(--gold); font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif; font-size: 1.8rem; text-align: center; }
.ranked-video img { display: block; width: 128px; aspect-ratio: 16 / 9; object-fit: cover; }
.top-thumb { width: 128px; padding: 0; border: 0; background: #111; }
.ranked-video div { min-width: 0; }
.ranked-video div > span { color: var(--blue); font-size: .72rem; font-weight: 850; text-transform: uppercase; }
.ranked-video h3 { margin: 3px 0 5px; overflow: hidden; font-size: .95rem; line-height: 1.3; text-overflow: ellipsis; white-space: nowrap; }
.ranked-video b { font-size: .78rem; }
.rank-view-controls { grid-template-columns: repeat(4, auto); max-width: 360px; margin-top: 7px; }
.rank-view-controls button { padding: 5px 6px; font-size: .68rem; }
.nomination-form { margin-top: 18px; padding: 18px; border: 1px solid #6d7763; background: #f8f6ee; color: var(--ink); }
.nomination-form[hidden] { display: none; }
.nomination-form h3 { margin: 4px 0; font-size: 1.15rem; }
.nomination-form p { margin: 0 0 15px; color: var(--muted); }
.nomination-form label { color: var(--ink); }
.nomination-row { display: grid; grid-template-columns: 1fr auto; gap: 8px; }
.nomination-row input { border: 1px solid var(--line); }
.nomination-row button { padding: 0 17px; border: 1px solid #dfca85; background: var(--gold); color: var(--navy); font-weight: 900; text-transform: uppercase; }
.form-status { min-height: 20px; margin: 8px 0 0 !important; font-size: .8rem; font-weight: 750; }
.form-status.success { color: #365d2f; }
.form-status.error { color: #9f2821; }
.top-empty button { margin-top: 10px; padding: 9px 12px; border: 1px solid var(--gold); background: #354231; color: white; font-weight: 800; }
.saved-section { margin-top: 34px; padding: 24px; border: 1px solid var(--line); background: #f4f0e4; }
.saved-section[hidden] { display: none; }
.device-note { margin: -7px 0 15px; color: var(--muted); font-size: .78rem; }
.saved-grid { display: grid; gap: 9px; }
.saved-video { display: grid; grid-template-columns: 128px 1fr; align-items: center; gap: 13px; padding: 10px; border: 1px solid var(--line); background: white; }
.saved-video img { display: block; width: 128px; aspect-ratio: 16 / 9; object-fit: cover; }
.saved-video span { color: var(--blue); font-size: .72rem; font-weight: 850; text-transform: uppercase; }
.saved-video h3 { margin: 3px 0; font-size: .95rem; }
.saved-empty { display: grid; place-items: center; gap: 6px; min-height: 120px; border: 1px dashed var(--line); color: var(--muted); text-align: center; }
.video-viewer { position: fixed; inset: 0; z-index: 1000; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 18px; background: rgba(3, 8, 5, .94); }
.video-viewer[hidden] { display: none; }
.viewer-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; width: min(50vw, 760px); padding: 10px 12px; background: var(--navy); color: white; transition: width .2s ease; }
.viewer-toolbar strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.viewer-toolbar > div { display: flex; flex: 0 0 auto; gap: 6px; }
.viewer-toolbar button { padding: 8px 9px; border: 1px solid #6d7763; background: #354231; color: white; font-size: .76rem; font-weight: 800; }
.viewer-toolbar button:hover { border-color: var(--gold); background: var(--gold); color: var(--navy); }
.viewer-stage { width: min(50vw, 760px); aspect-ratio: 16 / 9; background: #000; transition: width .2s ease, height .2s ease; }
.viewer-stage iframe { width: 100%; height: 100%; border: 0; }
.video-viewer.full { padding: 0; }
.video-viewer.full .viewer-toolbar { width: 100vw; min-height: 58px; }
.video-viewer.full .viewer-stage { width: 100vw; height: calc(100dvh - 58px); aspect-ratio: auto; }
.viewer-open { overflow: hidden; }
.report-dialog { position: fixed; inset: 0; z-index: 1100; display: grid; place-items: center; padding: 18px; background: rgba(3, 8, 5, .86); }
.report-dialog[hidden] { display: none; }
.report-card { width: min(92vw, 470px); padding: 25px; border: 1px solid var(--gold); background: #f8f6ee; box-shadow: 0 20px 60px rgba(0,0,0,.4); }
.report-card h2 { margin-bottom: 8px; }
.report-card > p { color: var(--muted); line-height: 1.45; }
.report-card > label { display: flex; align-items: center; gap: 10px; margin: 7px 0; padding: 10px; border: 1px solid var(--line); background: white; color: var(--ink); font-size: .88rem; letter-spacing: 0; text-transform: none; }
.report-card input { width: 18px; height: 18px; min-width: 18px; padding: 0; }
.dialog-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 18px; }
.dialog-actions button { padding: 10px 13px; border: 1px solid var(--line); background: white; font-weight: 850; }
.dialog-actions button[type="submit"], .safety-card .dialog-actions button { border-color: var(--gold); background: var(--gold); }
.toast { position: fixed; left: 50%; bottom: 22px; z-index: 1200; transform: translateX(-50%); width: max-content; max-width: calc(100vw - 30px); padding: 11px 15px; background: var(--navy); color: white; border: 1px solid var(--gold); font-size: .85rem; font-weight: 750; text-align: center; }
.toast[hidden] { display: none; }
.moderation-dialog { align-items: start; overflow-y: auto; padding: 5vh 18px; }
.moderation-card { width: min(94vw, 880px); padding: 24px; border: 1px solid var(--gold); background: #f8f6ee; color: var(--ink); box-shadow: 0 20px 60px rgba(0,0,0,.4); }
.moderation-head { display: flex; align-items: start; justify-content: space-between; gap: 16px; }
.moderation-head button { padding: 8px 10px; border: 1px solid var(--line); background: white; font-weight: 800; }
.moderation-login { max-width: 520px; margin: 24px auto; }
.moderation-login > div { display: grid; grid-template-columns: 1fr auto; gap: 8px; }
.moderation-login button { padding: 0 16px; border: 1px solid var(--gold); background: var(--gold); font-weight: 900; }
.moderation-queue { display: grid; gap: 12px; margin-top: 20px; }
.moderation-item { display: grid; grid-template-columns: 240px 1fr; gap: 16px; padding: 12px; border: 1px solid var(--line); background: white; }
.moderation-item img { display: block; width: 240px; aspect-ratio: 4 / 3; object-fit: contain; background: #111; }
.moderation-item span { color: var(--blue); font-size: .72rem; font-weight: 850; text-transform: uppercase; }
.moderation-item h3 { margin: 5px 0; }
.moderation-item p { margin: 0 0 14px; color: var(--muted); }
.moderation-item > div > div { display: flex; flex-wrap: wrap; gap: 8px; }
.moderation-item button { padding: 9px 11px; border: 1px solid var(--line); background: #eee; font-weight: 850; }
.moderation-item button[data-review-status="approved"] { border-color: #58734c; background: #dbe8d4; }
.install-card ol { margin: 12px 0 18px; padding-left: 24px; color: var(--ink); line-height: 1.65; }
.install-card p { color: var(--ink); }
.install-card .sync-note { padding: 12px 14px; border-left: 4px solid var(--gold); background: #eee8d7; color: var(--muted); font-size: .88rem; line-height: 1.45; }
.top-empty { display: grid; place-items: center; gap: 6px; min-height: 130px; padding: 24px; border: 1px dashed #6d7763; color: #d5d8ce; text-align: center; }
.quick-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-top: 14px; }
.quick { text-align: left; padding: 18px; min-height: 94px; border: 1px solid var(--line); border-left: 5px solid var(--blue); border-radius: 2px; background: #f8f6ee; color: var(--ink); }
.quick:hover { border-color: var(--blue); transform: translateY(-1px); }
.quick b, .quick span { display: block; }
.quick span { margin-top: 5px; color: var(--muted); font-size: .83rem; }
.recent-list { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 13px; }
.recent-item { border: 1px solid var(--line); background: #f8f6ee; color: var(--ink); border-radius: 2px; padding: 9px 13px; font-size: .88rem; }
footer { max-width: 1180px; margin: 0 auto; padding: 24px; border-top: 1px solid var(--line); display: flex; justify-content: space-between; gap: 18px; color: var(--muted); font-size: .82rem; }
footer button { border: 0; background: none; color: var(--blue); font-size: .82rem; font-weight: 750; text-decoration: underline; }
@media (min-width: 900px) {
  .drill-magazine-link { grid-template-columns: minmax(170px, 1fr) minmax(500px, 58%) minmax(170px, 1fr); }
  .service-branches { display: flex; }
}
@media (max-width: 1050px) {
  .brand-emblem { width: 72px; height: 72px; }
  .brand-wordmark { width: 500px; }
  .nationwide { display: none; }
}
@media (max-width: 760px) {
  body { padding-bottom: calc(180px + env(safe-area-inset-bottom)); }
  .topbar { height: 86px; padding: 0 14px; }
  .brand { gap: 6px; }
  .brand-emblem { width: 54px; height: 54px; }
  .brand-wordmark { width: clamp(230px, 43vw, 320px); }
  .nationwide { font-size: .75rem; }
  main { padding: 20px 14px 40px; }
  .search-panel { grid-template-columns: 1fr; border-radius: 3px; }
  .search-content { padding: 27px 20px 24px; }
  .photo-frame { order: -1; padding: 9px 9px 6px; border-left: 0; border-bottom: 1px solid rgba(196,168,91,.35); }
  .photo-frame img { max-height: 230px; }
  .photo-frame figcaption { padding: 6px 2px 1px; text-align: left; }
  .search-row { grid-template-columns: 1fr; }
  .search-row > button { width: 100%; }
  .platform-grid { grid-template-columns: 1fr; }
  .video-grid { grid-template-columns: 1fr 1fr; }
  .quick-grid { grid-template-columns: 1fr 1fr; }
  .top-ten { padding: 20px 14px; }
  .top-ten-head { align-items: start; flex-direction: column; }
  .top-ten-actions { justify-content: flex-start; }
  .photo-head { align-items: start; flex-direction: column; }
  .photo-grid { grid-template-columns: 1fr 1fr; }
  .drill-announcement { grid-template-columns: auto 1fr; }
  .drill-announcement-action { grid-column: 1 / -1; justify-content: center; }
  .sponsor-banner { grid-template-columns: auto 1fr; }
  .sponsor-banner-action { grid-column: 1 / -1; justify-content: center; }
  .nomination-row { grid-template-columns: 1fr; }
  .nomination-row button { min-height: 48px; }
  footer { margin: 0 14px; padding: 20px 0; }
}
@media (max-width: 430px) {
  .brand-emblem { width: 46px; height: 46px; }
  .brand-wordmark { width: 190px; }
  .nationwide { display: none; }
  .top-actions { gap: 6px; }
  .top-actions button { padding: 8px; font-size: .7rem; }
  .mission-strip { align-items: flex-start; flex-direction: column; }
  .streak { width: 100%; padding: 10px 0 0; border-top: 1px solid var(--line); border-left: 0; }
  .quick-grid { grid-template-columns: 1fr; }
  .video-grid { grid-template-columns: 1fr; }
  .photo-competition { padding: 20px 14px; }
  .photo-head-actions { width: 100%; align-items: stretch; flex-direction: column; }
  .photo-grid, .photo-form-grid { grid-template-columns: 1fr; }
  .drill-announcement { grid-template-columns: 1fr; justify-items: start; padding: 17px; }
  .drill-date { width: 68px; min-height: 70px; }
  .drill-announcement-action { width: 100%; }
  .drill-magazine-link { height: 68px; }
  .sponsor-banner { grid-template-columns: 1fr; justify-items: start; padding: 18px; }
  .sponsor-banner-mark { width: 46px; height: 46px; font-size: 1.35rem; }
  .sponsor-banner-action { width: 100%; }
  .moderation-item { grid-template-columns: 1fr; }
  .moderation-item img { width: 100%; }
  .ranked-video { grid-template-columns: 34px 88px 1fr; gap: 8px; }
  .ranked-video img { width: 88px; }
  .top-thumb { width: 88px; }
  .rank-view-controls { grid-template-columns: 1fr 1fr; }
  .saved-video { grid-template-columns: 88px 1fr; }
  .saved-video img { width: 88px; }
  .video-viewer { padding: 8px; }
  .viewer-toolbar, .viewer-stage { width: 96vw; }
  .viewer-toolbar { align-items: flex-start; flex-direction: column; }
  .viewer-toolbar > div { width: 100%; }
  .viewer-toolbar button { flex: 1; }
  .video-viewer.full .viewer-toolbar { min-height: 92px; }
  .video-viewer.full .viewer-stage { height: calc(100dvh - 92px); }
  footer { flex-direction: column; gap: 6px; }
}
@media (prefers-reduced-motion: no-preference) {
  .quick, .search-row > button, .open-search { transition: .18s ease; }
}
@keyframes pulse { 50% { transform: scale(.9); opacity: .55; } }

/* Keep the larger wordmark readable without crowding header controls. */
.topbar { height: auto; min-height: 156px; gap: 18px; flex-wrap: wrap; padding-top: 12px; padding-bottom: 12px; }
.brand { max-width: 100%; flex: 1 1 540px; }
.brand-wordmark { width: clamp(360px, 54vw, 780px); max-width: calc(100% - 82px); max-height: 144px; }
.top-actions { flex-wrap: wrap; }
@media (max-width: 760px) {
  .topbar { min-height: 0; gap: 8px; }
  .brand { flex-basis: 100%; }
  .brand-wordmark { width: min(100%, 510px); max-width: calc(100% - 52px); max-height: 102px; }
  .top-actions { margin-left: auto; }
}
/* Dialogs remain scrollable when mobile browser chrome or a keyboard reduces space. */
.report-dialog, .video-viewer { max-height: 100dvh; overflow-y: auto; padding-bottom: max(18px, env(safe-area-inset-bottom)); }
.report-card { max-height: calc(100dvh - 36px); overflow-y: auto; }

/* Matched header captions sit across from each other above the action buttons. */
.top-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 14px; flex: 0 1 390px; }
.header-motto { order: -1; flex-basis: 100%; display: flex; justify-content: space-between; gap: 18px; }
.header-motto .nationwide { display: block; color: #e5d7b5; font-size: .72rem; white-space: nowrap; }
.brand-emblem { width: 94px; height: 94px; }
.brand-wordmark { max-width: calc(100% - 104px); }
@media (max-width: 760px) {
  .brand-emblem { width: 60px; height: 60px; }
  .brand-wordmark { max-width: calc(100% - 66px); }
  .top-actions { flex-basis: 100%; }
  .header-motto .nationwide { font-size: .63rem; letter-spacing: .08em; }
}

.site-layout { max-width: 1520px; margin: 0 auto; display: grid; grid-template-columns: minmax(0, 1fr) 290px; align-items: start; gap: 24px; padding: 34px 24px 56px; }
.site-layout > main { min-width: 0; width: 100%; padding: 0; }
.sponsor-sidebar { min-width: 0; }
.sponsor-ad { padding: 22px 18px 16px; border: 1px solid #a58d5c; border-radius: 6px; background: #f8f6ee; text-align: center; color: #20251f; }
.sponsor-disclosure { margin: 0 0 20px; font-size: .64rem; letter-spacing: .17em; text-transform: uppercase; }
.sponsor-ad h2 { margin: 0; font-family: Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif; font-size: clamp(2.3rem, 3.5vw, 3.25rem); font-weight: 500; line-height: 1.05; }
.sponsor-tagline { margin: 14px 0 0; font-size: 1.12rem; line-height: 1.35; }
.sponsor-ad img { display: block; width: 100%; height: auto; margin: 16px 0; object-fit: contain; }
.sponsor-copy { margin: 12px 0 18px; font-size: .94rem; line-height: 1.5; }
.sponsor-cta { display: block; padding: 14px 8px; border-radius: 3px; background: #c8af7e; color: #182019; font-weight: 850; font-size: .86rem; text-decoration: none; text-transform: uppercase; }
.sponsor-cta:hover, .sponsor-cta:focus-visible { background: #dfc99e; outline: 2px solid #546441; outline-offset: 3px; }
.sponsor-note { margin: 12px 0 0; font-size: .66rem; line-height: 1.4; color: #676b60; }
@media (max-width: 1200px) {
  .site-layout { grid-template-columns: minmax(0, 1fr); }
  .sponsor-sidebar { width: min(100%, 360px); justify-self: center; }
}
@media (max-width: 760px) { .site-layout { padding: 20px 14px 40px; } }

/* Sponsorship inventory complements the finder without overlaying its controls. */
.sponsor-sidebar { display: grid; gap: 24px; }
.ad-slot { box-sizing: border-box; border: 1px solid #bba373; background: #273322; color: #f5ecd5; padding: 24px; overflow-wrap: anywhere; }
.ad-label { display: block; font-size: .75rem; line-height: 1.5; letter-spacing: .08em; text-transform: uppercase; color: #d8c399; }
.ad-slot h2 { margin: 16px 0 12px; font-family: Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif; font-weight: 500; font-size: 2rem; line-height: 1.12; text-transform: uppercase; color: #f5ecd5; }
.ad-slot p { font-size: 1rem; line-height: 1.5; margin: 0 0 20px; }
.ad-slot a { color: #f5ecd5; font-size: .875rem; font-weight: 800; text-underline-offset: 5px; }
.ad-slot a:focus-visible, .placement-list a:focus-visible, .sponsorship-email:focus-visible { outline: 3px solid #ddbd75; outline-offset: 5px; }
.ad-leaderboard { display: grid; grid-template-columns: 1fr auto; gap: 8px 24px; margin: 24px 0; padding: 18px 24px; border-left: 5px solid #d4b477; }
.ad-leaderboard .ad-label { grid-column: 1 / -1; }
.ad-leaderboard h2 { margin: 0; font-size: 1.8rem; }
.ad-leaderboard p { margin: 0; grid-column: 1; }
.ad-leaderboard a { grid-column: 2; grid-row: 2 / 4; align-self: center; padding: 14px 18px; color: #20291c; background: #e5d3a9; text-decoration: none; }
.ad-badge { padding: 18px; background: #e5d7b5; color: #253020; }
.ad-badge .ad-label, .ad-badge h2, .ad-badge a { color: #253020; }
.ad-badge h2 { font-size: 1.5rem; margin: 8px 0; }
.ad-badge p { font-size: .875rem; margin-bottom: 12px; }
.ad-rectangle { min-height: 250px; display: flex; flex-direction: column; justify-content: center; }
.ad-slim { width: 160px; min-height: 600px; justify-self: center; display: flex; flex-direction: column; padding: 24px 16px; border-top: 6px solid #cfb77d; background: #1e291c; }
.ad-slim h2 { font-size: 2.25rem; margin-top: 36px; }
.ad-slim a { margin-top: auto; padding-top: 24px; }
.sponsor-disclosure, .sponsor-note { font-size: .75rem; line-height: 1.5; }
.sponsorship-options { margin-top: 32px; padding: 28px; background: #f4efdf; color: #263020; border-top: 4px solid #bca36d; }
.sponsorship-options h2 { font-size: 1.6rem; margin: 10px 0; }
.sponsorship-options p { line-height: 1.6; font-size: 1rem; }
.placement-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(155px, 1fr)); gap: 12px; margin: 24px 0; }
.placement-list a { padding: 18px 14px; border: 1px solid #a89d82; display: flex; flex-direction: column; gap: 12px; text-decoration: none; color: #263020; background: #fffdf6; }
.placement-list a:hover { background: #e7ddc3; }
.placement-list strong { font-size: 1rem; }
.placement-list span { font-size: .875rem; }
.placement-list span:last-child { margin-top: auto; text-decoration: underline; text-underline-offset: 3px; }
.sponsorship-options .placement-note { font-size: .875rem; }
.sponsorship-email { color: #34462b; font-weight: 700; overflow-wrap: anywhere; }
@media (max-width: 1200px) {
 .sponsor-sidebar { width: 100%; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }
 .ad-slim { width: 100%; min-height: 250px; }
 .ad-slim h2 { margin-top: 16px; }
}
@media (max-width: 600px) {
 .ad-leaderboard { display: block; padding: 20px; }
 .ad-leaderboard h2 { margin: 10px 0; }
 .ad-leaderboard a { display: inline-block; margin-top: 16px; }
 .sponsor-sidebar { grid-template-columns: 1fr; }
 .sponsor-ad img { max-height: 280px; }
 .sponsorship-options { padding: 22px 18px; }
 .placement-list { grid-template-columns: 1fr; }
 .ad-slim { min-height: 0; }
}

.impact-contest { margin: 24px 0; padding: 28px; border: 1px solid #bfa671; border-top: 5px solid #cfb573; background: #f5f0e2; color: #24301f; scroll-margin-top: 20px; }
.impact-heading { display:flex; gap:24px; justify-content:space-between; align-items:start; }
.impact-heading h2 { font-family:Impact, sans-serif; font-size:clamp(2rem,4vw,3rem); text-transform:uppercase; margin:10px 0; }
.impact-contest p, .impact-contest label, .impact-steps span { font-size:1rem; line-height:1.6; }
.impact-prize { background:#283522; color:#f5e6bc; padding:20px 24px; text-align:center; flex-shrink:0; }
.impact-prize strong { display:block; font-size:3rem; line-height:1.1; }
.impact-prize span, .impact-prize small { display:block; margin-top:8px; }
.impact-prize small { font-size:.875rem; }
.impact-steps { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; padding-left:20px; margin:24px 0; }
.impact-steps b, .impact-steps span { display:block; }.impact-steps b {margin-bottom:8px;}
.impact-deadline { font-weight:700; }
.impact-rules, .impact-entry { border-top:1px solid #b8ae95; padding:18px 0; }
.impact-contest summary { cursor:pointer; font-weight:800; font-size:1rem; }
.impact-contest a { color:#374d2b; text-underline-offset:3px; }
.impact-fields { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin:22px 0; }
.impact-fields label { display:flex; flex-direction:column; gap:6px; }.impact-url {grid-column:1/-1;}
.impact-fields input, .impact-fields select { width:100%; min-width:0; padding:12px; border:1px solid #9e987e; background:#fffef8; color:#24301f; font:inherit; }
.impact-fields small {font-size:.875rem;}
.impact-contest button, #impact-admin button { padding:12px 16px; background:#35482b; color:#fff9e8; border:1px solid #35482b; font-weight:700; }
.impact-contest button:disabled {opacity:.6;cursor:wait;}
.impact-contest :focus-visible {outline:3px solid #9b6a1c;outline-offset:3px;}
.impact-gallery-heading {display:flex;justify-content:space-between;gap:16px;align-items:center;margin-top:20px;}
.impact-gallery {display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;}
.impact-story {padding:18px;border:1px solid #b7ac8f;background:#fffdf5;overflow-wrap:anywhere;}
.impact-story h4 {font-size:1.1rem;margin:10px 0;}.impact-winner {font-weight:800;color:#57420c;}
#impact-admin {margin-top:24px;} .impact-review {padding:18px;background:#fffdf5;border:1px solid #b7ac8f;margin-top:12px;overflow-wrap:anywhere;}.impact-review label {display:block;margin:10px 0;}.impact-review input {width:80px;padding:8px;}.impact-review button {margin:6px;}
@media(max-width:650px){.impact-contest{padding:20px 16px;}.impact-heading{flex-direction:column;}.impact-prize{width:100%;}.impact-steps,.impact-fields{grid-template-columns:1fr;}.impact-gallery-heading{align-items:start;flex-direction:column;}.impact-gallery{grid-template-columns:1fr;}}

.moderation-card {width:min(96vw,1100px); max-height:94dvh;overflow-y:auto;}
.moderator-filters {display:flex;flex-wrap:wrap;gap:12px;padding:18px;background:#e8e1ce;align-items:end;}
.moderator-filters label {display:flex;flex-direction:column;gap:6px;font-size:1rem;flex:1 1 150px;}
.moderator-filters input,.moderator-filters select {padding:10px;width:100%;font:inherit;border:1px solid #9e947c;}
.moderator-paging {display:flex;gap:12px;margin:12px 0;}
#impact-admin button:disabled {opacity:.45;cursor:not-allowed;}
.impact-review textarea {display:block;width:100%;font:inherit;padding:12px;border:1px solid #9e947c;}
.impact-review input[type=checkbox] {width:auto;margin-right:8px;}
.impact-total {font-weight:800;background:#e7ddc0;padding:12px;}
.impact-history {padding:14px 0;border-block:1px solid #c9bea2;margin:14px 0;}.impact-history summary{cursor:pointer;font-weight:700;}
.moderation-card :focus-visible {outline:3px solid #917129;outline-offset:3px;}
@media(max-width:600px){.moderation-card{padding:16px;}.moderation-head{flex-wrap:wrap;gap:12px;}}

.lead-home-link {color:#f0dfb7;border:1px solid #a39169;padding:10px 14px;text-decoration:none;font-weight:700;}
.lead-navigation {display:flex;flex-wrap:wrap;gap:18px;}.lead-navigation a{color:#f1e4c6;font-size:1rem;text-underline-offset:6px;}.lead-navigation [aria-current]{font-weight:800;}
.lead-main {max-width:1180px;margin:auto;padding:40px 24px 60px;color:#263021;}
.lead-intro {max-width:800px;margin-bottom:32px;}.lead-intro h1{font-family:Impact,sans-serif;font-size:clamp(2.6rem,6vw,4.5rem);text-transform:uppercase;line-height:1.1;margin:12px 0;}.lead-intro p{font-size:1.15rem;line-height:1.7;}
.lead-jumps {display:flex;flex-wrap:wrap;gap:12px;margin:24px 0;}.lead-jumps a{padding:10px 16px;border:1px solid #8f886f;color:#263021;text-decoration:none;}
.lead-handout{display:grid;grid-template-columns:1fr auto;gap:28px;align-items:center;background:#263421;color:#f5ecd5;padding:28px;border-top:5px solid #c4a768;scroll-margin-top:24px;}.lead-handout h2{font-size:1.8rem;margin:10px 0;}.lead-handout .section-kicker{color:#e3c991;}.lead-handout p{line-height:1.6;}.lead-handout .lead-source{color:#d9d2bc;}
.lead-downloads{display:grid;gap:12px;}.lead-downloads a{background:#e5d3aa;color:#263021;padding:14px 20px;text-align:center;font-weight:800;text-decoration:none;}.lead-downloads a:last-child{background:transparent;color:#f5ecd5;border:1px solid #bfa775;}
.lead-section{margin-top:44px;scroll-margin-top:24px;}.lead-section h2{font-size:2rem;margin:10px 0;}.lead-memory{font-size:1rem;}
.lead-traits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:24px;}.lead-trait{background:#fcf9ee;border:1px solid #c9bea1;padding:22px;}.lead-number{font-size:.875rem;color:#6b624a;}.lead-trait h3{font-size:1.3rem;margin:10px 0;}.lead-trait p{line-height:1.6;margin:0;font-size:1rem;}
.lead-principles{padding-left:28px;columns:2;column-gap:48px;}.lead-principles li{break-inside:avoid;padding:8px 0 16px 8px;}.lead-principles h3{font-size:1.12rem;line-height:1.5;margin:0;}.lead-principles p{font-size:1rem;line-height:1.6;margin:8px 0;}.lead-source{font-size:.875rem;line-height:1.6;color:#575b4c;}
.lead-resource-link{display:flex;flex-direction:column;gap:8px;padding:22px;margin:24px 0;border-left:5px solid #bea56c;background:#e8dfc8;color:#283421;text-decoration:none;}.lead-resource-link strong{font-size:1.2rem;}.lead-resource-link span{font-size:1rem;}
.lead-main a:focus-visible,.lead-navigation a:focus-visible,.lead-home-link:focus-visible,.lead-resource-link:focus-visible{outline:3px solid #aa7d25;outline-offset:4px;}
@media(max-width:760px){.lead-main{padding:28px 16px;}.lead-traits{grid-template-columns:repeat(2,minmax(0,1fr));}.lead-handout{grid-template-columns:1fr;padding:22px;}.lead-principles{columns:1;}.lead-navigation{padding-bottom:12px;}}
@media(max-width:450px){.lead-traits{grid-template-columns:1fr;}}

/* Compact contest invitation with the existing entry and rules controls retained. */
.impact-contest{padding:20px;margin:20px 0;}.impact-heading{gap:16px;align-items:center;}.impact-heading h2{font-size:clamp(1.6rem,3vw,2.2rem);margin:6px 0;}.impact-heading p{margin:6px 0;}.impact-prize{padding:12px 18px;}.impact-prize strong{font-size:2rem;}.impact-prize span,.impact-prize small{margin-top:4px;}.impact-steps{margin:16px 0;gap:16px;}.impact-rules,.impact-entry{padding:12px 0;}
.lead-quiz{padding:28px;background:#263421;color:#f5ecd5;margin:28px 0;scroll-margin-top:20px;}.lead-quiz>.section-kicker{color:#e6d09c;}.lead-quiz h2{font-size:2rem;margin:12px 0;}.lead-quiz p{line-height:1.6;}.lead-quiz button{padding:13px 18px;background:#e6d09c;color:#263421;border:1px solid #c1a76b;font:inherit;font-weight:800;}.lead-quiz select{font:inherit;padding:12px;background:#fffdf5;color:#263421;}.lead-quiz button:disabled{opacity:.5;cursor:not-allowed;}
#quiz-setup{display:flex;flex-wrap:wrap;gap:12px;align-items:center;} .quiz-note{font-size:.875rem;color:#e0d8c4;}#quiz-status{font-weight:700;}#quiz-progress{font-weight:700;}
#quiz-questions fieldset{margin:24px 0;padding:20px;border:1px solid #b0a17e;min-width:0;}#quiz-questions legend{font-size:1.1rem;font-weight:700;padding:0 8px;line-height:1.6;}#quiz-questions label{display:flex;gap:12px;align-items:start;padding:13px;margin:8px 0;border:1px solid #6f795f;cursor:pointer;line-height:1.5;font-size:1rem;}#quiz-questions label:has(input:checked){background:#405332;border-color:#e6d09c;}#quiz-questions input{margin-top:5px;flex-shrink:0;accent-color:#d4b576;}
#quiz-result{margin-top:28px;}#quiz-result>h3{font-size:1.7rem;} .quiz-review{padding:20px;background:#faf6e9;color:#263421;border-left:5px solid #90a278;margin:16px 0;}.quiz-review.quiz-incorrect{border-left-color:#b26b3f;}.quiz-review h4{font-size:1.1rem;margin:0;}.quiz-review a{color:#354d27;}.lead-quiz :focus-visible{outline:3px solid #dfb856;outline-offset:4px;}
@media(max-width:650px){.impact-heading{flex-direction:row;flex-wrap:wrap;}.impact-prize{width:auto;}.impact-prize small{display:none;}.lead-quiz{padding:20px 16px;}#quiz-setup{align-items:stretch;flex-direction:column;}#quiz-questions fieldset{padding:12px;}#quiz-questions legend{font-size:1rem;}}

.quiz-email {padding:20px;background:#f7f0df;color:#263421;border:1px solid #c9b57d;margin:20px 0;}.quiz-email label{display:block;line-height:1.6;margin:12px 0;}.quiz-email input[type=email]{display:block;width:100%;padding:12px;font:inherit;}.quiz-email input[type=checkbox]{margin-right:10px;}.quiz-email a{color:#344b29;text-decoration:underline;}.quiz-email h4{font-size:1.2rem;}.quiz-applause{padding:18px;border:2px solid #dfc68a;font-size:1.3rem;font-weight:800;text-align:center;}.quiz-email p{font-size:.9rem;}
@media(prefers-reduced-motion:no-preference){.quiz-applause{animation:quiz-clap .35s ease-in-out 4 alternate;}@keyframes quiz-clap{from{transform:scale(1);}to{transform:scale(1.025);}}}
#quiz-contact-panel{padding:18px;border:1px solid #b5a887;margin:16px 0;}#quiz-contact-list{max-height:360px;overflow:auto;overflow-wrap:anywhere;}

.quiz-applause button{margin:12px 6px 0;font-size:1rem;}.quiz-applause p{font-size:.875rem;font-weight:400;}

.jaa-sponsor{width:100%;align-self:start}.jaa-sponsor a{display:block;line-height:0}.jaa-sponsor img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain}.jaa-sponsor a:focus-visible{outline:3px solid #aa7d25;outline-offset:4px}

#search-results-heading[hidden], #platform-results[hidden] { display: none; }

/* Homepage photo and search refinements. */
.photo-head .section-kicker { color: var(--gold); }
.photo-thumbnail { display:block; cursor:zoom-in; }
.photo-thumbnail:focus-visible { outline:3px solid var(--gold); outline-offset:-3px; }
.photo-entry .photo-thumbnail img { aspect-ratio: 40 / 39; }
.search-format-label { display:flex; align-items:center; gap:8px; margin-bottom:12px; font-size:.8rem; }
.search-format-label select { max-width:100%; padding:7px; font:inherit; background:#fffdf7; color:#253521; border:1px solid #a3ad97; }
@media(max-width:600px){.search-format-label{flex-wrap:wrap}}
.photo-entry > div:last-child { display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:8px;row-gap:0;padding:6px 8px;align-items:center; }
.photo-entry > div:last-child > span { display:none; }
.photo-entry h3 { margin:0;line-height:1.2;font-size:.85rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.photo-entry p { grid-column:1;margin:2px 0 0;font-size:.72rem;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.photo-entry [data-photo-vote] { grid-column:2;grid-row:1 / 3;width:auto;min-height:44px;padding:6px 8px;font-size:.7rem; }

.vote-button.is-voted:disabled{color:#a83f00;opacity:1;background:#fff4e8;border-color:#bf5109}
.photo-entry .photo-thumbnail img{aspect-ratio:16 / 9;object-fit:cover}
.video-vote-counter{color:var(--gold);font-size:.85rem;font-weight:700;margin:8px 0}

/* Approved compact reference and Sea Cadets placements. */
.compact-study{margin:20px 0}.compact-study a{display:inline-flex;align-items:center;gap:10px;padding:10px 15px;border:1px solid #a08a54;border-radius:7px;background:#fff7de;color:#253521;font-size:16px;font-weight:750;text-decoration:none}.compact-study span{font-size:14px;font-weight:500}.sea-waterfront{display:flex;align-items:center;gap:24px;min-height:150px;margin:26px 0 20px;background:white;border-radius:10px;overflow:hidden;border-bottom:5px solid #e85c2d;color:#14354c}.sea-waterfront img{width:230px;height:155px;object-fit:cover}.sea-waterfront h2{font-size:clamp(22px,2.3vw,30px);line-height:1.12;margin:7px 0}.sea-waterfront p{font-size:16px;margin:7px 0;color:#506674}.sea-waterfront div>span{font-size:12px;font-weight:800;letter-spacing:1px}.sea-waterfront>a{flex-shrink:0;margin:16px 22px 16px auto;background:#e85c2d;color:#fff;padding:12px 15px;border-radius:5px;font-size:14px;font-weight:800;text-decoration:none}.sea-mini-brand{font-size:12px}.sea-compact-ad p,.sea-compact-ad a{font-size:14px}.sea-compact-ad:before,.sea-compact-ad:after{pointer-events:none}.sea-compact-ad strong{font-size:27px}@media(max-width:760px){.sea-waterfront{display:block}.sea-waterfront img{width:100%;height:150px;object-position:center 45%}.sea-waterfront div{padding:15px 18px 0}.sea-waterfront>a{display:block;margin:16px 18px;text-align:center}.compact-study a{flex-wrap:wrap}}
