/* The sketch is a landscape crossed by one circuit, not separate bordered cards. */
.race-page{background:radial-gradient(ellipse at 60% 8%,#fff9e9 0,transparent 32%),linear-gradient(100deg,#e1cc9f,#fff4dd 18%,#fff6e5 74%,#e6ce9e)}
.circuit-background{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:visible;max-width:none}
.circuit-background path{fill:none;stroke-linecap:round;stroke-linejoin:round}
.track-shadow{stroke:#6b4a2940;stroke-width:var(--shadow-width)}
.track-shoulder{stroke:#ffedc9;stroke-width:var(--shoulder-width)}
.track-curb{stroke:#b43b2b;stroke-width:var(--curb-width);stroke-dasharray:26 23}
.track-surface{stroke:url(#asphalt-light);stroke-width:var(--road-width);filter:url(#asphalt-grain)}
.track-edge{stroke:#fff5d5;stroke-width:1;opacity:.38;transform:translateY(3px)}
.race-page>section,.race-page>footer{position:relative;z-index:1}
.infield,.venue,.closing{background:none;border:0}
.infield:before,.infield:after{display:none!important}
.hero{padding-top:38px;padding-bottom:15px;background:none}
.hero-road{background:repeating-linear-gradient(103deg,#fff1 0 1px,transparent 1px 5px),linear-gradient(160deg,#8d806c,#5a554b);inset:-35px -5% 0;border:0;border-bottom:10px solid #f3e4c9;border-radius:0 0 35% 22% / 0 0 14% 20%;box-shadow:0 5px 0 #ab3d2b}
.car-stage{width:94%;margin-inline:auto}
.car-art{object-fit:fill;width:100%}
.intro{padding:65px 27% 45px 19%;min-height:270px}
.intro h2{font-size:clamp(30px,4cqw,46px);margin-bottom:20px}
.helmet-art{right:2%;top:auto;bottom:-30px;width:25%;z-index:4;filter:drop-shadow(10px 14px 9px #5a371e44)}
.start-flag{position:absolute!important;left:8%;top:36px;width:9%;height:170px;border-left:5px solid #564532;transform:rotate(5deg);filter:drop-shadow(6px 7px 4px #49301c30)}
.start-flag:before{content:'';position:absolute;width:11px;height:11px;border-radius:50%;background:#827051;left:-8px;top:-7px}
.start-flag i{display:block;width:100%;height:65px;background:conic-gradient(#292723 25%,#f4e8cc 0 50%,#292723 0 75%,#f4e8cc 0) 0 0/28px 28px;clip-path:polygon(0 0,100% 12%,100% 95%,0 85%)}
.date-scene{padding:38px 24% 35px 20%;min-height:150px}
.date-display{margin:0;gap:8px}.date-display strong{font-size:clamp(27px,3.9cqw,43px)}
.venue{padding:0 0 48px}.garage{margin-top:-12px;aspect-ratio:2.12}.venue-copy{position:relative;display:grid;grid-template-columns:1fr auto;text-align:start;align-items:center;column-gap:22px;padding:0 14%;margin-top:-26px;z-index:3}.venue-copy h3{grid-column:1}.venue-copy p{grid-column:1;margin:6px 0 0;font-size:17px}.venue-copy #map-link{grid-column:2;grid-row:1/3;white-space:nowrap}.venue-copy .edit-only{grid-column:1/-1;margin-block:14px 0}
.program{padding:55px 17% 60px}.program .eyebrow{display:none}.program h2{margin-bottom:20px}.schedule{margin-top:20px}.schedule strong{margin-top:10px}.step{border:0;font-size:21px;color:#2e2924}
.outfit{padding:50px 18% 55px 31%;min-height:240px}.outfit .racing-stripes{display:none}.outfit h2{margin-bottom:18px}.suit-art{left:1%;top:auto;bottom:14px;width:29%;z-index:3}.palette{margin-top:20px}
.gallery-section{padding:55px 18%}.gallery-section h2{margin-bottom:24px}.public-gallery{gap:24px;margin:15px 0}.public-gallery figure,.public-gallery figure:nth-child(even){transform:none;border-radius:10px;background:none;padding:0;box-shadow:none}.public-gallery img{border-radius:10px}
.invitation-details{padding:50px 20%}.details-rule{display:none}.invitation-details h2{margin-bottom:22px}.invitation-details h3{margin-top:20px}.invitation-rsvp{padding:55px 21%}.invitation-rsvp .family-caption{display:none}.invitation-rsvp h2{margin-top:0}.rsvp-disclosure{width:fit-content;min-width:300px;max-width:100%}.rsvp-disclosure[open]{width:100%}.rsvp-disclosure summary{padding-inline:32px}.closing{padding-top:40px}.closing h2{margin-bottom:20px}.closing img{margin-top:-10px}.finish-checker{margin-bottom:10px}footer{padding-top:40px;background:#fff5e3}
@media(max-width:760px){
 .hero{padding-top:56px}.hero-road{border-radius:0 0 30% 20% / 0 0 8% 10%}.car-stage{width:100%}.car-art{width:153%}.car-copy{width:64%;margin-left:5%}.car-copy h1{font-size:clamp(28px,7.8vw,40px)}
 .intro{padding:55px 23% 50px 12%;min-height:285px}.intro h2{font-size:30px}.intro p{font-size:17px}.helmet-art{position:absolute;right:-1%;bottom:-36px;top:auto;left:auto;width:25%;max-width:none;margin:0}.start-flag{left:2%;top:55px;width:7%;height:150px}.start-flag i{height:45px;background-size:18px 18px}
 .date-scene{padding:38px 14% 40px 12%;min-height:145px}.date-display strong{font-size:27px}
 .garage{aspect-ratio:1.5}.venue{padding-bottom:46px}.venue-copy{display:block;text-align:center;padding:6px 14% 0;margin-top:-10px}.venue-copy h3{font-size:19px}.venue-copy p{margin:8px 0 16px}.garage h2{font-size:27px}
 .program{padding:55px 14%}.schedule{gap:18px}.schedule>div{grid-template-columns:25px 67px 1fr;gap:9px}.schedule>div+div{padding-top:18px}.schedule strong{font-size:24px;margin:0}.schedule p{font-size:17px}.step{font-size:16px}
 .outfit{padding:55px 12% 55px 27%;min-height:300px}.outfit h2{font-size:30px}.outfit p{font-size:17px}.suit-art{position:absolute;left:-1%;right:auto;top:auto;bottom:45px;width:28%;max-width:none;margin:0}.palette{gap:10px}.palette i{width:28px;height:28px}
 .gallery-section{padding:55px 13%}.gallery-section h2{font-size:30px}.public-gallery{gap:14px}.invitation-details{padding:55px 14%}.invitation-details h2{font-size:30px}.invitation-rsvp{padding:55px 12%}.invitation-rsvp h2{font-size:30px}.rsvp-disclosure{min-width:0;width:100%}.rsvp-disclosure summary{padding-inline:16px}.closing{padding-top:40px}
}
.race-page:before{content:'';position:absolute;inset:380px 0 180px;background:url("assets/landscape.a5236929fb6e.webp") center/100% 100% no-repeat;z-index:0;pointer-events:none;opacity:.95}
.circuit-background .track-curb{stroke-linecap:butt}
.date-scene{padding-top:54px;padding-bottom:55px;min-height:200px}
.invitation-details{padding-top:72px;padding-bottom:85px}
.venue-copy{background:radial-gradient(ellipse,#fff3df 55%,#fff3df00 76%);padding-block:15px}
@media(max-width:760px){.race-page:before{opacity:.65;background-size:100% 100%}.date-scene{padding-top:50px;padding-bottom:50px}.invitation-details{padding-top:80px;padding-bottom:90px}.intro{padding-left:17%;padding-right:19%}.helmet-art{width:30%;right:0}.outfit{padding-left:29%}.suit-art{width:32%;left:0}.invitation-rsvp{padding-inline:17%}.venue-copy{padding-inline:16%}.gallery-section{padding-block:70px}}
.program{padding-bottom:85px}.gallery-section{padding-bottom:85px}.closing{padding-top:65px}
@media(max-width:760px){.program{padding-bottom:70px}.gallery-section{padding-bottom:80px}.closing{padding-top:65px}}
/* Never stretch the illustration to the height of an editable headline. */
.car-stage{display:block;height:auto!important;min-height:0}
.car-art{position:relative;width:100%;height:auto;max-width:100%;object-fit:contain;aspect-ratio:3 / 1}
.car-copy{position:absolute;left:28%;top:50%;transform:translateY(-50%);width:46%;margin:0;padding:0}
.car-copy-below .car-copy{position:relative;left:auto;top:auto;transform:none;width:82%;margin:12px auto 8px;padding:22px 24px;background:#fff1d7;border-radius:36px 36px 18px 18px;box-shadow:0 4px 14px #301c1620}
.car-copy-below .car-copy h1{font-size:clamp(28px,4.7cqw,48px)}
@media(max-width:760px){.hero{padding-top:68px;padding-bottom:24px}.car-stage{width:100%}.car-art{width:100%;height:auto;max-width:100%}.car-copy-below .car-copy{width:88%;padding:22px 18px;margin-top:18px}.car-copy-below .car-copy h1{font-size:30px}.car-copy p{font-size:18px}.date-control{font-size:17px}.hero-road{border-radius:0 0 12% 8% / 0 0 5% 6%}}
