:root{color-scheme:dark;--ink:#151b19;--paper:#eae5d8;--muted:#b6bbb0;--gold:#c8b488;--line:#ffffff26;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--ink);color:var(--paper);font-family:var(--sans);font-size:16px;line-height:1.7}a{color:inherit;text-decoration:none}a:focus-visible{outline:2px solid var(--gold);outline-offset:7px}img{display:block;max-width:100%;object-fit:cover}button,a{-webkit-tap-highlight-color:transparent}[hidden]{display:none!important}.skip-link{position:fixed;top:-100px;left:15px;z-index:20;background:var(--paper);color:var(--ink);padding:10px 20px}.skip-link:focus{top:10px}.header{height:108px;padding:0 5.5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:relative;z-index:2;background:#151b19}.wordmark{display:flex;gap:14px;align-items:center;font-size:12px;letter-spacing:2px;line-height:1.6}.wordmark b{font-size:16px;font-weight:400;letter-spacing:5px}.monogram{font:40px var(--serif);border:1px solid #c8b48866;width:53px;height:57px;position:relative;color:var(--gold);text-align:center;line-height:53px}.monogram span{position:absolute;font-size:23px;top:9px;left:23px}.header nav{display:flex;gap:35px;align-items:center;font-size:14px}.header nav a:hover,footer a:hover{color:var(--gold)}.nav-cta{border-bottom:1px solid var(--gold);padding:9px 0}.nav-cta span{margin-left:20px}.hero{min-height:730px;position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center}.hero-art{position:absolute;inset:0 0 0 32%;z-index:-2}.hero-art img{height:100%;width:100%;object-position:center 38%}.hero:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#151b19 2%,#151b19f5 22%,#151b19ad 43%,#151b1920 75%),linear-gradient(0deg,#151b19e8,transparent 23%,#00000012)}.hero-content{padding:70px 0 115px;margin-left:8%;max-width:650px}.eyebrow{font-size:12px;font-weight:500;letter-spacing:2.6px;color:var(--gold);margin:0 0 24px;display:flex;gap:16px;align-items:center}.short-line{display:inline-block;width:36px;height:1px;background:var(--gold)}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:400}h1{font-size:clamp(54px,5.8vw,86px);line-height:1.06;letter-spacing:-2.5px;margin-bottom:28px}em{font-weight:400;color:var(--gold)}.hero-description{max-width:410px;color:#c7cbc2;font-size:17px;line-height:1.8;margin-bottom:32px}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:28px;background:var(--gold);color:#19201c;padding:17px 24px;font-size:14px;font-weight:600;transition:background .2s,transform .2s}.button:hover{background:#decca3;transform:translateY(-2px)}.button span{font-size:20px}.hero-note{font-size:10px;letter-spacing:2px;margin:18px 0 0;color:#a9afa5}.hero-bottom{position:absolute;bottom:27px;left:8%;right:5.5%;display:flex;justify-content:space-between;font-size:11px;letter-spacing:1.8px;color:#b7bbb0}.hero-bottom a{font-size:12px;letter-spacing:1px}.hero-bottom a span{margin-left:17px}.format-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:25px 20px;display:flex;align-items:center;justify-content:center;gap:7%;font-size:11px;letter-spacing:2.5px;color:#c9cdbf}.format-strip i{font-style:normal;color:var(--gold)}.section{max-width:1240px;margin:auto;padding:110px 5%}.story{display:grid;grid-template-columns:1.1fr 1fr;gap:9%;align-items:center}.archive-photo{transform:rotate(-2deg);padding:13px;background:#d6cdb7;color:#4d493e;box-shadow:0 22px 50px #0004}.archive-photo img{aspect-ratio:1.3;object-position:center}.photo-caption{display:flex;justify-content:space-between;font-size:10px;letter-spacing:1.2px;padding:15px 3px 3px}.story-copy h2,h2{font-size:clamp(34px,3.4vw,50px);line-height:1.15;letter-spacing:-1px;margin-bottom:25px}.story-copy p:not(.eyebrow){font-size:16px;color:var(--muted)}.margin-note{border-left:1px solid var(--gold);padding-left:18px;font:italic 20px/1.5 var(--serif);color:var(--gold);margin-top:27px}.experience{border-top:1px solid var(--line);padding-top:85px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:60px;margin-bottom:45px}.section-heading h2{margin-bottom:0}.section-heading>p{max-width:310px;color:var(--muted);margin-bottom:3px}.steps{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.steps article{padding:34px 30px 30px 0;display:flex;flex-direction:column}.steps article+article{border-left:1px solid var(--line);padding-left:30px}.step-number,.step-footer{font-size:11px;letter-spacing:1.8px;color:var(--gold)}.steps h3{font-size:27px;line-height:1.25;margin:32px 0 15px}.steps p{color:var(--muted);font-size:15px;margin-bottom:30px}.step-footer{margin-top:auto;color:#919d92;font-size:10px}.interlude{height:490px;position:relative;isolation:isolate;overflow:hidden}.interlude>img{width:100%;height:100%;object-position:center 36%;position:absolute;inset:0;z-index:-2}.interlude:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#111b1bef,#111b1b7a 43%,#111b1b10 80%);z-index:-1}.interlude>div{padding:95px 8%}.interlude-quote{font:52px/1.15 var(--serif);letter-spacing:-1px}.image-label{position:absolute;right:5.5%;bottom:20px;font-size:10px;letter-spacing:1.6px;color:#c3cbc7}.campaign{text-align:center;max-width:800px;padding-top:100px;padding-bottom:100px}.campaign .eyebrow{justify-content:center}.campaign h2{font-size:clamp(45px,5vw,68px)}.campaign>p:not(.eyebrow){max-width:530px;margin-left:auto;margin-right:auto;color:var(--muted)}.campaign-pending{border:1px solid #c8b48870;padding:21px 25px;margin:30px auto;max-width:440px;background:#c8b48808}.pending-label{color:var(--gold);font-size:12px;letter-spacing:1.7px}.campaign-pending p{font-size:14px;color:var(--muted);margin:7px 0 0}.campaign .development-note{font-size:12px;line-height:1.8;max-width:430px;margin-top:25px;color:#929e92}footer{border-top:1px solid var(--line);padding:30px 5.5%;display:flex;justify-content:space-between;align-items:center;gap:24px;font-size:11px;color:#a3ac9f;letter-spacing:1px}.footer-brand{color:var(--paper);letter-spacing:2px}footer>a:last-child{letter-spacing:0;font-size:12px}@media(min-width:1600px){.hero-content{margin-left:calc((100% - 1340px)/2)}.hero{min-height:810px}}@media(max-width:900px){.header{padding:0 5%;height:90px}.header nav{gap:20px}.hero{min-height:690px}.hero-content{margin-left:6%;max-width:550px}.hero-art{left:20%}.hero:after{background:linear-gradient(90deg,#151b19f5,#151b19a8 52%,#151b1945),linear-gradient(0deg,#151b19,transparent 40%)}.hero-bottom{left:6%}.section{padding:75px 6%}.story{gap:7%}.section-heading{gap:30px}.section-heading>p{max-width:240px}.steps article{padding-right:20px}.steps article+article{padding-left:20px}.steps h3{font-size:24px}.interlude>div{padding-left:6%}footer{flex-wrap:wrap}}@media(max-width:600px){.header{height:84px}.wordmark{font-size:9px;gap:9px;letter-spacing:1.6px}.wordmark b{font-size:12px;letter-spacing:3.4px}.monogram{width:38px;height:43px;font-size:29px;line-height:39px}.monogram span{font-size:17px;left:17px;top:6px}.header nav>a:not(.nav-cta){display:none}.header .nav-cta{font-size:12px;max-width:120px;line-height:1.5}.nav-cta span{margin-left:3px}.hero{min-height:740px;align-items:flex-end}.hero-art{inset:0;bottom:120px}.hero-art img{object-position:62% top}.hero:after{background:linear-gradient(0deg,#151b19 8%,#151b19f2 36%,#151b1970 77%,#151b1944)}.hero-content{margin:0;padding:175px 6% 95px}.hero .eyebrow{font-size:10px;letter-spacing:1.8px}.hero h1{font-size:53px;letter-spacing:-1.8px}.hero-description{font-size:16px;max-width:340px}.button{font-size:13px;padding:16px 19px;gap:18px}.hero-bottom{font-size:9px;letter-spacing:1px;bottom:25px}.hero-bottom a{font-size:10px}.hero-bottom a span{margin-left:6px}.format-strip{gap:12px;justify-content:space-around;padding:22px 12px;font-size:9px;letter-spacing:1px}.format-strip i{font-size:9px}.story{display:flex;flex-direction:column;gap:45px;padding-top:65px}.archive-photo{max-width:440px;width:94%}.story-copy{width:100%}.story-copy h2,h2{font-size:38px}.section-heading{display:block}.section-heading>p{max-width:none;margin-top:24px}.steps{display:block}.steps article,.steps article+article{padding:27px 0;border-left:0}.steps article+article{border-top:1px solid var(--line)}.steps h3{margin-top:20px;font-size:29px}.steps p{font-size:16px;margin-bottom:18px}.interlude{height:450px}.interlude>img{object-position:63% center}.interlude:after{background:linear-gradient(90deg,#111b1be8,#111b1b70 65%,#111b1b30)}.interlude>div{padding-top:80px}.interlude .eyebrow{font-size:10px;letter-spacing:1.7px}.interlude-quote{font-size:44px}.image-label{font-size:9px}.campaign{padding-top:75px;padding-bottom:70px}.campaign h2{font-size:49px}.campaign-pending{padding:20px 12px}.pending-label{font-size:11px}footer{flex-direction:column;align-items:flex-start;gap:13px;padding:28px 6%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}.button:hover{transform:none}}

/* Home Detective Club / Case 01 */
:root{--gold:#d4ad70}.hero-art{left:25%}.hero-art img{object-position:70% center}.hero h1{font-size:clamp(64px,6.8vw,100px)}.hero-description{max-width:420px}.interlude{height:650px;background:#111714}.interlude>img{inset:0 7% 0 auto;width:48%;object-fit:contain;object-position:right center}.interlude:after{background:linear-gradient(90deg,#111714 5%,#111714e0 30%,transparent 62%)}.interlude>div{padding-top:170px}.object-feature{display:grid;grid-template-columns:1fr 1.3fr;align-items:center;gap:5%;border-bottom:1px solid var(--line)}.object-copy>p:not(.eyebrow){color:var(--muted)}.object-copy .object-note{font-size:12px}.object-feature figure{margin:0}.object-feature img{width:100%;border:1px solid var(--line)}figcaption{font-size:10px;letter-spacing:2px;color:var(--gold);padding:15px 0}.details{padding-top:80px;padding-bottom:30px}.facts{display:grid;grid-template-columns:1fr 1fr 1.4fr;margin:40px 0;border-block:1px solid var(--line)}.facts>div{padding:25px 20px 25px 0}.facts strong{display:block;font:30px var(--serif);color:var(--gold)}.facts span{display:block;font-size:12px;color:var(--muted);margin-top:10px}.faq details{border-bottom:1px solid var(--line);padding:20px 0}.faq summary{cursor:pointer;font-size:17px;color:var(--paper)}.faq summary:focus-visible{outline:2px solid var(--gold);outline-offset:5px}.faq details p{max-width:800px;color:var(--muted);margin:18px 0 2px}.campaign{padding-top:85px}@media(max-width:600px){.hero-art{left:0}.hero h1{font-size:64px}.hero{min-height:770px}.hero-content{padding-top:210px}.interlude{height:680px}.interlude>img{inset:0 4% auto;width:92%;height:460px;object-position:center top}.interlude:after{background:linear-gradient(0deg,#111714 0%,#111714ed 23%,transparent 65%)}.interlude>div{padding-top:425px}.interlude-quote{font-size:36px}.interlude .eyebrow{margin-bottom:15px}.image-label{display:none}.object-feature{grid-template-columns:1fr;gap:25px}.facts{grid-template-columns:1fr}.facts>div+div{border-top:1px solid var(--line)}.facts>div{padding:20px 0}.format-strip{letter-spacing:.3px}}

/* Image-space layers: the foreground wall occludes the emerging figure. */
.hero-art{overflow:hidden;pointer-events:none}.hero-scene{position:absolute;top:0;left:0;width:1448px;height:1086px;transform-origin:0 0;--peek-x:0px;--peek-angle:0deg}.hero-scene>img{position:absolute;inset:0;width:1448px;height:1086px;max-width:none;object-fit:fill}.hero-scene>.masked-figure{inset:445px auto auto 877px;width:190px;height:285px;transform-origin:100% 100%;transform:translateX(var(--peek-x)) rotate(var(--peek-angle));filter:brightness(.82) saturate(.75);will-change:transform}.hero-scene>.house-foreground{clip-path:polygon(65.54% 0,100% 0,100% 100%,65.54% 100%)}
@media(prefers-reduced-motion:reduce){.hero-scene>.masked-figure{display:none;will-change:auto}}



/* Candlelight remains registered to the image while the entire scene moves. */
.lantern-lights{position:absolute;inset:0;pointer-events:none;mix-blend-mode:screen}.lantern-glow{position:absolute;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(ellipse,#ffe9bddd 0%,#ffbd589e 23%,#ff84004d 48%,transparent 72%);opacity:.28;animation:candle-flicker var(--duration) var(--delay) infinite linear}.lantern-glow:after{content:"";position:absolute;inset:-70%;background:radial-gradient(ellipse,#ff940033,transparent 65%);border-radius:50%}.paused .lantern-glow{animation-play-state:paused}@keyframes candle-flicker{0%,100%{opacity:.38}8%{opacity:.85}13%{opacity:.16}24%{opacity:.72}29%{opacity:.35}31%{opacity:.95}45%{opacity:.22}58%{opacity:.82}62%{opacity:.18}76%{opacity:.65}83%{opacity:.12}91%{opacity:.78}}
.photo-inspector{position:relative;isolation:isolate;cursor:zoom-in;touch-action:pan-y}.photo-inspector>img{width:100%;height:auto;aspect-ratio:1.3;object-fit:cover}.photo-inspector:focus-visible{outline:2px solid #51412b;outline-offset:4px}.magnifier-lens{display:block;position:absolute;z-index:2;width:160px;height:160px;border:5px solid #b59561;border-radius:50%;background-repeat:no-repeat;background-color:#cbbd9f;transform:translate(-50%,-50%);box-shadow:0 0 0 2px #382e20,0 8px 25px #0008,inset 0 0 12px #0005;opacity:0;pointer-events:none}.magnifier-lens:after{content:"";position:absolute;inset:0;border-radius:50%;background:linear-gradient(135deg,#ffffff30,transparent 45%);box-shadow:inset 0 0 0 1px #ffecbe66}.inspecting .magnifier-lens{opacity:1}.inspection-hint{font-size:10px;text-align:center;letter-spacing:.4px;margin:12px 0 2px;color:#534b3d}@media(max-width:600px){.magnifier-lens{width:130px;height:130px}}@media(prefers-reduced-motion:reduce){.lantern-glow{animation:none;opacity:.25}}



model-viewer{display:block;width:100%;height:380px;background:radial-gradient(ellipse at 50% 45%,#39423b,#1c2520 72%);border:1px solid var(--line);--poster-color:#1c2520;--progress-bar-color:var(--gold)}model-viewer:focus-visible{outline:2px solid var(--gold);outline-offset:4px}.viewer-toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:13px 0;font-size:11px;color:var(--muted)}.viewer-toolbar button{border:1px solid #d4ad7066;color:var(--gold);background:transparent;padding:8px 12px;cursor:pointer;white-space:nowrap}.viewer-toolbar button:focus-visible{outline:2px solid var(--gold);outline-offset:3px}@media(max-width:600px){model-viewer{height:300px}.viewer-toolbar{font-size:10px;gap:8px}}



/* Precisely registered image patches brighten and dim the actual flames. */
.lantern-lights{mix-blend-mode:normal}.lantern-glow{background-image:url("assets/halloween-night.png");background-size:1448px 1086px;background-repeat:no-repeat;opacity:1;mask-image:radial-gradient(ellipse,#000 30%,#000b 48%,transparent 73%);-webkit-mask-image:radial-gradient(ellipse,#000 30%,#000b 48%,transparent 73%);animation-name:flame-luminance}.lantern-glow:after{display:none}@keyframes flame-luminance{0%,35%,58%,75%,100%{filter:brightness(.75)}43%{filter:brightness(2.8)}50%{filter:brightness(.45)}87%{filter:brightness(3.2)}99%{filter:brightness(.75)}}@media(prefers-reduced-motion:reduce){.lantern-glow{animation:none;filter:none;opacity:1}}
.header{background:#030e13}.wordmark{display:block;flex-shrink:0}.wordmark picture{display:block}.brand-logo{width:300px;height:100px;object-fit:contain}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}@media(max-width:900px) and (min-width:601px){.brand-logo{width:240px;height:80px}.header nav{gap:15px;font-size:12px}}@media(max-width:600px){.header{height:108px}.brand-logo{width:100px;height:100px}.header .nav-cta{max-width:150px}}



.wind-word{display:inline-block;position:relative;white-space:nowrap}.wind-text{display:inline-block}.wind-dust{position:fixed;inset:0;width:100%;height:100%;z-index:20;pointer-events:none}@media(prefers-reduced-motion:reduce){.wind-dust{display:none}.wind-text{opacity:1!important;mask-image:none!important;-webkit-mask-image:none!important}}


/* Stationary moonlight with two slow, seamless, image-registered cloud layers. */
.sky-weather{position:absolute;left:0;top:0;width:940px;height:300px;pointer-events:none;overflow:hidden;mask-image:linear-gradient(#000 65%,transparent);-webkit-mask-image:linear-gradient(#000 65%,transparent)}.moon-halo{position:absolute;left:325px;top:50px;width:200px;height:200px;border-radius:50%;background:radial-gradient(circle,#e2e9ff45 0%,#b7c9ef20 30%,transparent 69%);mix-blend-mode:screen}.moon-light{position:absolute;left:383px;top:108px;width:84px;height:84px;background:url("assets/halloween-night.png") -383px -108px / 1448px 1086px no-repeat;filter:brightness(2.7);mask-image:radial-gradient(circle,#000 46%,transparent 71%);-webkit-mask-image:radial-gradient(circle,#000 46%,transparent 71%)}.drifting-clouds{position:absolute;left:0;top:35px;width:100%;height:256px;background-image:url("assets/clouds.svg");background-repeat:repeat-x;background-size:1024px 256px;mix-blend-mode:multiply;mask-image:linear-gradient(transparent,#000 25%,#000 65%,transparent);-webkit-mask-image:linear-gradient(transparent,#000 25%,#000 65%,transparent);animation:cloud-drift 160s linear infinite;opacity:.82}.clouds-far{top:0;background-position:-400px 0;background-size:1536px 256px;animation:cloud-drift-far 240s linear infinite;opacity:.45}.paused .drifting-clouds{animation-play-state:paused}@keyframes cloud-drift{from{background-position:0 0}to{background-position:1024px 0}}@keyframes cloud-drift-far{from{background-position:-400px 0}to{background-position:1136px 0}}@media(prefers-reduced-motion:reduce){.drifting-clouds{animation:none}}


/* The panorama extends the original image-space scene without moving its effects. */
.hero-art{left:0}
.hero-scene>.scene-extension{inset:0 auto auto -1810px;width:3258px;height:1086px}
.hero-scene>.scene-original{mask-image:linear-gradient(90deg,transparent,#000 220px);-webkit-mask-image:linear-gradient(90deg,transparent,#000 220px)}
.hero-art{mask-image:linear-gradient(90deg,transparent,#000 38%);-webkit-mask-image:linear-gradient(90deg,transparent,#000 38%)}
.header{background:#151b19}
.brand-logo{mix-blend-mode:lighten;mask-image:radial-gradient(ellipse farthest-side,#000 75%,transparent);-webkit-mask-image:radial-gradient(ellipse farthest-side,#000 75%,transparent)}
@media(max-width:600px){.hero-art{mask-image:none;-webkit-mask-image:none}.hero-scene>.scene-original{mask-image:none;-webkit-mask-image:none}}
.brand-logo{mask-image:none;-webkit-mask-image:none}
.hero-scene>.scene-extension{mask-image:linear-gradient(90deg,#000 30%,transparent 50%);-webkit-mask-image:linear-gradient(90deg,#000 30%,transparent 50%)}

/* Let the mobile portrait and copy flow together, without fixed offsets. */
@media(max-width:600px){
 .interlude{height:auto;display:flex;flex-direction:column;align-items:stretch;padding:28px 6% 38px;overflow:hidden}
 .interlude>img{position:relative;inset:auto;width:100%;height:auto;max-width:440px;margin:0 auto;object-fit:contain;z-index:0}
 .interlude:after{display:none}
 .interlude>div{position:relative;padding:26px 0 0;z-index:1}
 .interlude-quote{margin-bottom:0;font-size:clamp(30px,8.6vw,38px)}
 .interlude .eyebrow{font-size:10px;letter-spacing:1.5px}
 .section-heading>div,.object-copy,.cryptex-preview{min-width:0}
 .hero h1{font-size:clamp(48px,15.8vw,64px)}
 .photo-caption{gap:10px;flex-wrap:wrap}
}

.newsletter{text-align:center;max-width:800px;border-top:1px solid var(--line);padding-top:65px;padding-bottom:75px}
.newsletter .eyebrow{justify-content:center}.newsletter>p:not(.eyebrow){color:var(--muted)}
.newsletter .newsletter-pending{color:var(--gold);font-size:13px}
.newsletter-form{display:block;width:100%;max-width:600px;height:490px;margin:28px auto 0;border:0;border-radius:4px;background:#fff}@media(max-width:600px){.newsletter-form{height:640px}}
.legal-page{max-width:900px}.legal-page h1{font-size:clamp(40px,6vw,68px)}
.legal-page h2{font-size:30px;margin-top:42px}.legal-page p,.legal-page dd{color:var(--muted)}
.legal-page a{text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}
.legal-page dt{color:var(--gold);margin-top:18px;font-size:13px}.legal-page dd{margin-left:0}
.legal-draft{border-left:2px solid var(--gold);padding:15px 20px;background:#d4ad7009;font-size:14px}
.text-button{background:none;border:0;color:inherit;font:inherit;cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:4px}.text-button:focus-visible{outline:2px solid var(--gold);outline-offset:5px}.cookie-panel{width:min(540px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow:auto;background:var(--ink);color:var(--paper);border:1px solid var(--gold);padding:28px}.cookie-panel::backdrop{background:#0009}.cookie-panel h2{font-size:30px}.cookie-panel p{font-size:15px}.cookie-panel a{text-decoration:underline}.cookie-actions{display:flex;gap:12px;flex-wrap:wrap}.cookie-actions button{flex:1 1 160px;padding:12px;border:1px solid var(--gold);background:transparent;color:var(--paper);font:inherit;cursor:pointer}.cookie-actions button:disabled{opacity:.4;cursor:default}.cookie-actions button:focus-visible{outline:2px solid var(--gold);outline-offset:3px}

.cookie-options{display:grid;gap:16px;margin:20px 0}.cookie-options label{display:flex;align-items:flex-start;gap:12px;font-size:16px;line-height:1.5;cursor:pointer}.cookie-options input{width:20px;height:20px;flex:0 0 20px;margin-top:3px;accent-color:var(--gold)}.cookie-options input:focus-visible{outline:2px solid var(--gold);outline-offset:3px}

/* Campaign dates use US month-first formatting with explicit US time zones. */
.campaign-dates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;max-width:840px;margin:36px auto 0;text-align:center}
.campaign-dates>div{padding:24px 16px;border-top:1px solid var(--gold);border-bottom:1px solid var(--line)}
.campaign-dates .date-label{font-size:11px;letter-spacing:1.3px;color:var(--gold);margin:0 0 14px}
.campaign-dates time{display:block;font-family:Georgia,serif;font-size:clamp(24px,3vw,30px);color:var(--paper);line-height:1.3}
.campaign-dates .date-hours{font-size:16px;margin:12px 0 0;color:var(--paper)}
.campaign-dates .date-midnight{font-size:12px;margin:8px 0 0;color:var(--muted)}
.campaign .campaign-timezones{font-size:12px;margin:16px auto 28px;color:var(--muted)}
@media(max-width:600px){.campaign-dates{grid-template-columns:1fr;gap:12px}.campaign-dates>div{padding:20px 12px}}

.calendar-menu{margin:20px auto 0;max-width:290px;text-align:left}
.calendar-menu summary{cursor:pointer;color:var(--gold);border:1px solid var(--gold);padding:10px 16px;font-size:14px;text-align:center;list-style-position:inside}
.calendar-menu summary:focus-visible,.calendar-options a:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
.calendar-options{display:grid;border:1px solid var(--line);border-top:0}
.calendar-options a{display:block;padding:12px 14px;font-size:14px;color:var(--paper);text-decoration:underline;text-underline-offset:3px}
.calendar-options a:hover{background:#d4ad7015}
.campaign .calendar-help{max-width:560px;margin:0 auto 28px;font-size:13px;color:var(--muted)}
