/* Restore the selected sketch's actual scenery and compact visual hierarchy. */
.race-page{max-width:1000px;background:#fbefdb}
.race-page:before,.hero-road,.start-flag,.racing-stripes,.details-rule{display:none!important}
.race-page>section{position:relative;isolation:isolate;background:none}
.race-page .sketch-scene-art{position:absolute!important;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none;opacity:1!important;translate:none!important;transition:none!important}
.hero{padding:22px 0 16px;min-height:calc(100cqw * 295 / 793)}
.car-stage{width:91%;margin:auto;min-height:0;position:relative}
.car-art{width:100%;height:auto;aspect-ratio:3/1;max-width:100%;object-fit:contain;filter:drop-shadow(0 8px 8px #25171355)}
.car-copy{display:block;position:absolute;left:28%;top:51%;width:46%;transform:translateY(-50%);margin:0;padding:0;text-align:center;background:none;box-shadow:none}
.car-copy h1{font-size:clamp(28px,4.7cqw,48px);line-height:1.05;margin:0}
.car-copy p{font-size:clamp(17px,2.3cqw,23px);line-height:1.2;margin:8px 0 0}
.date-control{font-size:clamp(16px,2cqw,20px);margin:7px 0 0;min-height:30px;padding:0}
.editing .car-copy h1:after{position:absolute;right:-20px;top:0;margin:0}
#music-toggle{right:16px;top:12px;font-size:16px;padding:8px 12px;min-height:42px;z-index:10}
.race-page h2{font-size:clamp(28px,3.9cqw,40px);margin-bottom:18px}
.race-page p{font-size:clamp(16px,2.1cqw,19px);line-height:1.5}
.intro{min-height:calc(100cqw * 180 / 793);padding:27px 28% 42px 22%}
.intro p{line-height:1.45}.helmet-art{position:absolute;right:1%;bottom:-45px;width:26%;max-width:none;margin:0;top:auto;z-index:4}
.date-scene{min-height:calc(100cqw * 90 / 793);padding:22px 22% 27px 23%}.date-display{gap:6px}.date-display span{display:none}.date-display strong{font-size:clamp(25px,3.5cqw,37px)}
.venue{padding:0 0 22px;min-height:calc(100cqw * 340 / 793)}
.garage{aspect-ratio:2.5;margin-top:0}.garage-art{object-fit:fill}.garage h2{top:14.5%;font-size:clamp(27px,4.5cqw,45px);margin:0}.venue-photo{top:33%;height:51%}.photo-edit{top:58%}
.venue-copy{margin-top:-10px;padding:0 15% 0 20%;display:grid;grid-template-columns:1fr auto;gap:4px 18px;background:none;text-align:start}.venue-copy h3{font-size:18px}.venue-copy p{font-size:16px;margin:0}.venue-copy #map-link{padding:8px 22px;min-height:43px;font-size:17px}.venue-copy .edit-only{margin:8px auto 0}
.program{min-height:calc(100cqw * 223 / 793);padding:28px 20% 45px 18%}.program h2{margin-bottom:12px}.schedule{margin:16px 0 0;gap:22px}.schedule>div+div{padding-left:22px}.schedule strong{font-size:28px;margin:10px 0}.schedule p{font-size:17px}.step{font:700 21px/1 Georgia}
.outfit{min-height:calc(100cqw * 145 / 793);padding:25px 18% 34px 32%}.outfit h2{margin-bottom:14px}.suit-art{width:29%;left:0;bottom:4px;top:auto;margin:0;max-width:none}.palette{display:none}
.gallery-section{min-height:calc(100cqw * 192 / 793);padding:22px 21% 30px}.public-gallery{margin:12px 0;gap:18px}.public-gallery figure{max-width:360px}.public-gallery img{border-radius:10px}.gallery-section h2{margin-bottom:16px}.gallery-section>.edit-only{font-size:16px}
.invitation-details{min-height:calc(100cqw * 130 / 793);padding:24px 23% 32px 28%}.invitation-details h2{margin-bottom:15px}.invitation-details h3{margin:16px 0 8px}.invitation-details p{font-size:17px}.invitation-details p+p{margin-top:10px}
.invitation-rsvp{min-height:calc(100cqw * 140 / 793);padding:30px 23% 32px}.invitation-rsvp h2{margin-bottom:12px}.rsvp-disclosure{margin-top:18px;min-width:0;width:fit-content}.rsvp-disclosure summary{font-size:17px;padding:12px 24px;white-space:normal}.invitation-rsvp #deadline-text{font-size:17px}.rsvp-disclosure[open]{width:100%;background:#fff4e5f5;border-radius:26px;padding:0 12px 10px}
.closing{min-height:calc(100cqw * 205 / 793);padding:16px 10% 150px}.closing h2{padding:0}.closing>img{display:none}.finish-checker{margin:15px auto 0;width:50px;height:20px;background-size:16px 16px}
footer{padding:28px 12px;background:#fff5e5}
.car-title-long .car-copy{position:relative;inset:auto;transform:none;width:85%;margin:15px auto;background:#fff0d9;padding:20px;border-radius:18px}
@media(max-width:760px){
 .hero{padding:48px 0 22px;min-height:0}.car-stage{width:100%}.car-art{width:100%;height:auto}.car-copy{display:contents;position:static;transform:none;width:auto}
 .car-copy h1{position:absolute;left:29%;top:calc(var(--car-height) * .51);transform:translateY(-50%);width:45%;font-size:clamp(20px,5.9vw,36px);line-height:1.05;text-align:center}
 .car-copy p{position:relative;width:80%;margin:10px auto 0;text-align:center;font-size:18px;background:#fff3dfee;border-radius:14px 14px 0 0;padding:12px 12px 3px}
 .car-copy .date-control{display:block;width:80%;margin:0 auto;text-align:center;background:#fff3dfee;border-radius:0 0 14px 14px;padding:3px 8px 12px;font-size:17px;min-height:44px}
 .editing .car-copy h1:after{font-size:16px;right:-13px;top:-5px}.car-title-long .car-copy{display:block;width:85%;padding:16px}.car-title-long .car-copy h1{position:static;transform:none;width:auto;font-size:28px}.car-title-long .car-copy p,.car-title-long .date-control{width:100%}
 #music-toggle{top:8px;right:10px;font-size:16px;min-height:38px;padding:5px 10px}
 .race-page h2{font-size:28px}.race-page p{font-size:17px}
 .intro{padding:24px 23% 35px 20%;min-height:240px}.intro h2{font-size:27px}.intro p{font-size:17px;line-height:1.45}.helmet-art{right:0;bottom:-28px;width:27%}
 .date-scene{padding:28px 20% 24px 21%;min-height:116px}.date-display strong{font-size:25px;line-height:1.3}
 .venue{padding:0 0 30px}.garage{aspect-ratio:1.7}.garage h2{font-size:27px;top:15%}.venue-copy{display:block;padding:12px 17% 0;margin-top:-8px;text-align:center}.venue-copy h3{font-size:18px;line-height:1.4}.venue-copy p{font-size:16px;margin:8px 0 14px}.venue-copy #map-link{font-size:17px}.photo-edit{font-size:16px;padding:6px}
 .program{padding:30px 18% 35px 17%}.schedule{display:grid;grid-template-columns:1fr;gap:16px}.schedule>div{display:grid;grid-template-columns:65px 1fr;gap:10px;align-items:center}.schedule .step{display:none}.schedule strong{font-size:24px;margin:0}.schedule p{font-size:17px}.schedule>div+div{border-left:none;padding:16px 0 0}
 .outfit{padding:28px 18% 38px 32%;min-height:235px}.outfit h2{font-size:27px}.outfit p{font-size:17px;line-height:1.45}.suit-art{width:31%;bottom:12px;left:0}
 .gallery-section{padding:28px 16% 36px}.gallery-section h2{font-size:27px}.public-gallery{gap:12px}.public-gallery figure{min-width:0}.gallery-tools button{font-size:16px;padding:5px;min-height:44px}
 .invitation-details{padding:28px 21% 35px 25%}.invitation-details h2{font-size:27px}.invitation-details p{font-size:17px}.invitation-details h3{font-size:18px}
 .invitation-rsvp{padding:32px 19% 32px}.invitation-rsvp h2{font-size:27px}.rsvp-disclosure{width:100%}.rsvp-disclosure summary{font-size:17px;padding:13px 15px}
 .closing{min-height:230px;padding:20px 15% 140px}.closing h2{font-size:28px}.finish-checker{margin-top:10px}
}
.race-page .venue-ground{top:auto;bottom:0;height:110px}
.venue{background:#fbefdb}.venue-copy{padding-bottom:14px}
.invitation-details{padding-top:35px;padding-bottom:65px}
.closing h2{position:relative;z-index:1;text-shadow:0 1px 8px #fff6e4,0 0 20px #fff6e4}
@media(max-width:760px){
 .race-page .sketch-scene-art{overflow:hidden}
 .intro{padding:32px 17% 80px;min-height:310px}.intro p{text-align:start!important}.helmet-art{width:30%;bottom:-12px;right:3%}.intro h2{font-size:28px}
 .date-scene{padding:30px 13%;min-height:100px}.date-display strong{font-size:24px}
 .program{padding:36px 14% 45px}.outfit{padding:32px 14% 80px;min-height:240px}.outfit p{max-width:230px}.suit-art{width:28%;bottom:2px;left:4%}
 .gallery-section{padding:32px 13% 40px}.invitation-details{padding:35px 15% 55px}.invitation-details h2{font-size:28px}.invitation-rsvp{padding:38px 15% 45px}
 .venue{padding-bottom:22px}.venue-copy{padding:10px 13% 16px}.race-page .venue-ground{height:110px;opacity:.4!important}
 .closing{padding-top:25px;min-height:240px}.closing .sketch-scene-art{opacity:.85!important}.closing h2{font-size:28px}
}
.race-page>.intro,.race-page>.outfit{z-index:3}
@media(max-width:760px){.invitation-details{padding-bottom:95px}.closing h2{background:radial-gradient(ellipse,#fff0d5cc,transparent 75%);border-radius:50%}}
