/* Exploration B: one photographic invitation, two prize choices, focused entry dialogs. */
.contests-page .b-opening{position:relative;min-height:460px;overflow:hidden;margin:0 0 30px;background:var(--bg)}
.b-opening>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:70% 12%}
.b-opening:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#100608b8,transparent 68%)}
.b-opening-copy{position:relative;z-index:1;padding:64px 48px;max-width:65%}
.b-opening-copy>p{font-size:.875rem;color:var(--cream);margin-bottom:24px}
.b-opening h1{font-size:clamp(3rem,5.5vw,5rem);line-height:1.02;color:var(--gold)}
.b-deadline{margin-top:30px;font-size:.875rem;color:var(--cream);max-width:22em}
.b-choices{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.b-choice{position:relative;padding:32px 34px;background:#300d17;display:grid;grid-template-columns:1fr;gap:20px;border-top:1px solid var(--gold)}
.b-candy{background:#221014}

.b-label{font-size:.75rem;color:var(--muted);margin-bottom:14px}
.b-choice h2{font-size:clamp(1.625rem,2.5vw,2.25rem);color:var(--cream)}
.b-reward{font:clamp(1.75rem,3.2vw,2.75rem)/1.16 var(--serif);color:var(--gold);margin:28px 0 16px}
.b-summary{max-width:24em;color:var(--muted);font-size:.875rem;min-height:48px;margin-bottom:24px}
.b-choice .btn{border-radius:4px;min-height:50px;display:inline-flex;align-items:center;justify-content:center;font-size:.9375rem}
.b-rules-link{display:block;width:max-content;font-size:.8125rem;margin-top:20px}
.b-entry-note{font-size:.8125rem;color:var(--muted);margin:24px 0 12px}
.b-detail-source[hidden]{display:none}
.b-detail-source>.contest-feature{margin:40px 0}
.b-focus{max-width:1040px;width:calc(100% - 56px);max-height:calc(100dvh - 56px);border:1px solid #75424b88;border-radius:8px;background:#18090e;padding:0 40px 30px;color:var(--cream)}
.b-focus::backdrop{background:#100608d9;backdrop-filter:blur(7px)}
.b-dialog-open{overflow:hidden}
.b-focus-toolbar{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:20px;background:#18090ef5;padding:20px 0;border-bottom:1px solid var(--line)}
.b-focus-toolbar p{font-size:.8125rem;color:var(--muted)}
.b-close{background:none;border:0;color:var(--cream);font-size:.875rem;min-height:44px;padding:8px 0 8px 20px}
.contest-feature{padding-top:28px}
.contest-kind{font-size:.75rem;color:var(--muted);margin-bottom:8px}
.contest-heading h2{font-size:clamp(2rem,4vw,3rem);color:var(--gold);margin-bottom:30px;padding-right:0}
.contest-spread{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px}
.contest-prizes .pitch{font:1.5rem var(--serif);color:var(--cream);margin-bottom:12px}
.contest-prizes .intro{font-size:.875rem;color:var(--muted);margin-bottom:20px}
.prize{display:block;border:0;padding:14px 0;}
.prize .prize-level{font:600 .6875rem/1.4 var(--sans);letter-spacing:.08em;color:var(--muted);margin:0 0 6px;}

.prize strong{font-size:.9375rem}
.prize p{font-size:.8125rem;color:var(--muted)}
.prize-main strong{font-size:1.25rem}
.contest-entry{border-left:1px solid var(--line);padding-left:30px}
.contest-entry h3{font-size:1.5rem;margin-bottom:18px}
.steps{padding-left:20px;font-size:.875rem;color:var(--muted)}
.steps li{margin-bottom:12px}
.steps li::marker{color:var(--gold)}
.entry-code{border-radius:0;border:0;padding:14px 0;margin-bottom:8px;background:none;font-size:.875rem;overflow-wrap:anywhere}
.contest-feature .btn{border-radius:4px;min-height:46px;font-size:.875rem}
.contest-entry>p{font-size:.8125rem}
.entry-periods{margin-top:28px}
.contest-feature details{border:0;}
.fan-page-links{display:flex;flex-wrap:wrap;gap:12px 22px;margin-top:20px;font-size:.8125rem;}
.contest-feature summary{min-height:44px;cursor:pointer;font-size:.875rem;color:var(--cream)}
.weeks{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:16px 0;font-size:.75rem}
.weeks span{border:0;margin:0;border-radius:0;background:none;padding:4px 0}
.mini-callout{background:none;border:0;padding:8px 0;font-size:.8125rem}
.contest-rules-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:start;border-top:1px solid var(--line);padding-top:18px;margin-top:28px}
.contest-rules-content{padding:12px 0;font-size:.8125rem;max-width:45em;color:var(--muted)}
.official-rules{font-size:.8125rem;min-height:44px;padding-top:3px;display:block}
.contest-separation{font-size:.8125rem;text-align:left;padding:8px 0;margin:0;color:var(--muted)}
.contests-page .page-foot{padding:24px 0 36px;margin:0;text-align:left;font-size:.75rem}
.contests-page .page-foot>a:first-child{margin-left:0}
@media(max-width:760px){.weeks{grid-template-columns:repeat(2,minmax(0,1fr));}.b-opening-copy{padding:40px 30px}.b-opening{min-height:400px}.b-choices{gap:18px}.b-choice{padding:24px 20px;grid-template-columns:1fr}.b-summary{min-height:68px}.b-focus{padding:0 26px 26px}.contest-spread{grid-template-columns:1fr;gap:26px}.contest-entry{border-left:0;border-top:1px solid var(--line);padding:26px 0 0}.contest-rules-row{grid-template-columns:1fr;gap:4px}}
@media(max-width:560px){.b-opening{min-height:510px;margin-bottom:20px}.b-opening>img{object-position:76% center}.b-opening:after{background:linear-gradient(0deg,#100608f7 3%,#10060855 55%,transparent)}.b-opening-copy{max-width:100%;padding:0 26px 28px;position:absolute;bottom:0}.b-opening-copy>p{margin-bottom:12px}.b-opening h1{font-size:3.1rem}.b-deadline{margin-top:16px;font-size:.8125rem}.b-choices{grid-template-columns:1fr;gap:20px}.b-choice{padding:28px;grid-template-columns:1fr;gap:14px}.b-choice h2{font-size:1.875rem}.b-reward{font-size:2rem;margin-top:22px}.b-summary{min-height:0}.b-choice .btn{width:100%}.b-focus{width:calc(100% - 20px);max-height:calc(100dvh - 20px);padding:0 20px 24px}.b-focus-toolbar{padding:8px 0}.contest-heading h2{font-size:2rem}.contest-spread{gap:20px}.b-entry-note{margin-top:22px}}
@media(prefers-reduced-motion:no-preference){.b-focus[open]{animation:focus-enter .18s ease-out}@keyframes focus-enter{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}}

/* One primary card action; the separate Official Rules link stays independent. */
.b-choice [data-open-contest]::after { content:"";position:absolute;inset:0;z-index:1; }
.b-choice .b-rules-link { position:relative;z-index:2; }
.b-choice:focus-within { outline:2px solid var(--gold);outline-offset:4px; }
.b-choice { cursor:pointer; }
.prize .prize-level { font-size:.875rem;line-height:1.5;letter-spacing:.06em;margin-bottom:8px;color:var(--gold); }
.prize { padding-block:20px; }
.prize + .prize { margin-top:12px; }
.prize-main .prize-level { font-size:.9375rem; }
.weeks > span { display:block; }
.weeks b { display:block;font-weight:600;margin-bottom:4px;color:var(--cream); }
.weeks .week-date { display:block;padding:0;white-space:nowrap;color:var(--muted); }

/* Compact, readable prize hierarchy; no separate prize boxes. */
.prize { padding-block:12px; }
.prize + .prize { margin-top:4px; }
.prize .prize-level, .prize-main .prize-level { font-size:1rem;color:#fff;letter-spacing:.04em;margin-bottom:5px; }
.prize strong { font:1.375rem/1.25 var(--serif);color:var(--gold);margin-bottom:8px; }
.prize-main strong { font-size:1.625rem; }
.b-rules-link { min-height:24px;padding-block:3px; }
.fan-page-links a { display:inline-flex;align-items:center;min-height:32px; }
/* Let enlarged text grow the photographic opening instead of clipping it. */
.b-opening h1 { overflow-wrap:anywhere; }
.b-focus { scroll-padding-top:80px; }
@media(max-width:560px) {
 .b-opening { display:flex;align-items:flex-end; }
 .b-opening-copy { position:relative;bottom:auto;width:100%;padding-top:240px; }
}
.b-choices, .b-choice { min-width:0;grid-template-columns:repeat(2,minmax(0,1fr)); }
.b-choice { grid-template-columns:minmax(0,1fr); }
.b-choice h2, .b-reward, .b-focus h2, .b-focus h3 { overflow-wrap:anywhere; }
@media(max-width:560px) { .b-choices { grid-template-columns:minmax(0,1fr); } }
