/* Small public additions; the original sales page retains its art, motion and checkout. */
.mlcp-public-landing .masthead nav .mlcp-passport-link{display:inline-flex;align-items:center;min-height:44px;white-space:nowrap}
.mlcp-public-landing .masthead nav .mlcp-buy-tickets{display:inline-flex;gap:8px;background:#ad2637;color:#fff;white-space:nowrap;padding:12px 18px;border-radius:4px}
.mlcp-passport-intro{padding:64px 0;background:#123b2a;color:#fffaf0;border-block:5px solid #e5ae42}
.mlcp-passport-intro>.wrap{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:64px;align-items:center}
.mlcp-passport-intro h2{color:#fffaf0;font-size:clamp(36px,5vw,58px);line-height:1.1;max-width:650px;margin-bottom:20px}
.mlcp-passport-intro h2 .script{display:block;color:#e5ae42}.mlcp-passport-intro .eyebrow{color:#e5ae42}.mlcp-passport-intro p{max-width:650px;margin-bottom:0}
.mlcp-passport-intro-action{text-align:center}.mlcp-passport-intro-action p{font-size:13px;margin-top:18px}
@media(max-width:1100px){.mlcp-public-landing .masthead .wrap{flex-wrap:wrap;justify-content:center;padding:12px 0}.mlcp-public-landing .masthead nav{justify-content:center;flex-wrap:wrap;gap:10px 18px;margin:0}}
@media(max-width:940px){.mlcp-public-landing .masthead nav a:not(.mlcp-passport-link):not(.mlcp-buy-tickets){display:none}}
@media(max-width:620px){.mlcp-public-landing .masthead .wrap{flex-direction:column;gap:4px}.mlcp-public-landing .masthead nav{margin:0}.mlcp-passport-intro{padding:40px 0}.mlcp-passport-intro>.wrap{grid-template-columns:1fr;gap:24px}}
/* Attendee edition keeps the original landing-page composition and native motion. */
.mlcp-passport-landing .masthead .mlcp-event-nav{display:block}
.mlcp-passport-landing .masthead .mlcp-event-nav a{text-transform:none;letter-spacing:0;font-weight:600;font-size:14px}
.mlcp-passport-landing .mlcp-public-guide{max-width:none;background:var(--white);font-weight:700}
.mlcp-passport-landing .mlcp-public-guide>.hero{width:100%;padding:72px 0 80px;min-height:760px}
.mlcp-passport-landing .hero h1{margin:0;font-size:clamp(4.2rem,8.5vw,8.4rem);line-height:.94;letter-spacing:-.07em;text-transform:uppercase;color:var(--pine)}
.mlcp-passport-landing .hero h1 .naughty{font-size:1em}.mlcp-passport-landing .hero h1 .tour{font-size:.38em}
.mlcp-passport-landing .hero .hero-lede{margin:22px 0 25px;font-size:1.12rem}
.mlcp-passport-landing .quick-fact{text-decoration:none}.mlcp-passport-landing a.quick-fact:hover{background:var(--cream)}
.mlcp-passport-landing .mlcp-public-guide>.mlcp-landing-section{width:100%;max-width:none;margin:0;padding:110px 0 120px}
/* Event-shell .wrap is 100% with 5% padding; past 1440px the legacy sections kept stretching (1728px at 1920).
   Cap the content at 1296px, the 1440 width, so 1440 and below are unchanged and the lineup lines up with it. */
.mlcp-passport-landing .mlcp-public-guide .wrap{padding-inline:max(5%,calc((100% - 1296px)/2))}
.mlcp-passport-landing .mlcp-public-guide>.mlcp-lineup{width:min(1296px,90%)}
.mlcp-passport-landing .mlcp-public-guide>.how{padding:115px 0}
.mlcp-passport-landing .mlcp-public-guide>.route{padding:130px 0}
.mlcp-passport-landing .mlcp-public-guide>.contests{padding:120px 0 145px}
.mlcp-passport-landing .mlcp-landing-section h2{font-size:clamp(2.7rem,6vw,5.5rem);line-height:.94;letter-spacing:-.035em}
.mlcp-passport-landing .intro h2{color:var(--red);margin-bottom:25px}
.mlcp-passport-landing .how h2{margin-bottom:75px}
.mlcp-passport-landing .step h3{font-size:1.65rem;margin-bottom:16px}
.mlcp-passport-landing .route h2{margin-bottom:0}
.mlcp-passport-landing .route .eyebrow{color:var(--gold)}
.mlcp-passport-landing .route-map-column{top:calc(var(--mlcp-header-offset,130px) + 18px)}
.mlcp-passport-landing .route-map-column .route-stage{min-height:clamp(340px,calc(100svh - var(--mlcp-header-offset,130px) - 210px),560px)}
.mlcp-passport-landing .route-stop{color:var(--ink);text-decoration:none;overflow-wrap:normal}
.mlcp-passport-landing .route-now{color:var(--ink)}
.mlcp-passport-landing .mlcp-live-bus-link{margin-top:22px}
.mlcp-passport-landing .mlcp-route-no-map{grid-template-columns:1fr}
.mlcp-passport-landing .mlcp-route-no-map .venue-passport{width:min(680px,100%);margin:auto}
.mlcp-festive-card .mlcp-stop-body{padding:0}
.mlcp-passport-landing .mlcp-festive-card h3{color:var(--venue-accent);font-size:clamp(1.75rem,2.5vw,2.25rem);margin-bottom:5px}
.mlcp-passport-landing .venue-card--flagship h3{font-size:clamp(2.3rem,3.4vw,3.1rem)}
.mlcp-festive-card .mlcp-stop-highlight{margin-top:20px;border-color:var(--venue-accent)}
.mlcp-festive-card .mlcp-stop-highlight>p:last-child{display:block;font-size:18px}
.mlcp-festive-card .mlcp-special-price{display:block;font-size:14px;color:var(--venue-accent)}
.mlcp-festive-card .mlcp-stop-next{border-color:var(--venue-accent)}.mlcp-festive-card .mlcp-stop-next small{color:#56655b}
.mlcp-festive-card .mlcp-stop-body .mlcp-guide-kicker{color:var(--venue-accent)}
.mlcp-festive-card .mlcp-stop-details{border-color:var(--venue-accent)}
.mlcp-passport-landing .venue-card--flagship .mlcp-stop-next small,.mlcp-passport-landing .venue-card--flagship .mlcp-stop-note{color:var(--cream)}
.mlcp-passport-landing .venue-card--flagship .mlcp-stop-expanded{color:var(--ink)}
.mlcp-passport-landing .venue-card--flagship .mlcp-stop-expanded .mlcp-guide-kicker,.mlcp-passport-landing .venue-card--flagship .mlcp-stop-expanded .mlcp-special-price{color:var(--red-dark)}
.mlcp-passport-landing .mlcp-directory-link{color:inherit}
.mlcp-passport-landing .mlcp-public-guide>.mlcp-lineup{padding:100px 0}
.mlcp-passport-landing .mlcp-lineup-row a{display:inline-flex;align-items:center;min-height:44px}
.mlcp-passport-landing .contests h2{color:var(--red);margin-bottom:18px}
.mlcp-passport-landing .contests .sub{margin:0 auto 70px}
.mlcp-passport-landing .present h3{font-size:1.7rem;margin-bottom:18px}
.mlcp-passport-landing .present .vote{display:inline-flex;min-height:44px;align-items:center;text-underline-offset:4px}
.mlcp-passport-landing .mlcp-public-guide>.mlcp-attendee-sponsors{width:100%;max-width:none;padding:100px 0;background:var(--white)}
.mlcp-attendee-sponsors h2{font-size:clamp(2.7rem,6vw,5.5rem);line-height:.94}.mlcp-attendee-sponsors h2 .script{display:block}.mlcp-attendee-sponsors .eyebrow{justify-content:center}.mlcp-attendee-sponsors .sponsor-tier h3{line-height:1.2}.mlcp-sponsor-pending{font-size:14px}
.mlcp-passport-landing .mlcp-public-guide>.finale{padding:100px 0}.mlcp-passport-landing .finale h2{color:var(--cream);margin:0 auto 25px}.mlcp-passport-landing .finale p{margin:0 auto 28px}
.mlcp-public-guide>.mlcp-passport-gate{max-width:800px;margin:0 auto;padding:64px 28px;text-align:center;min-height:55vh}.mlcp-passport-gate .eyebrow{justify-content:center}.mlcp-passport-gate .script{color:#ad2637;font-size:28px}.mlcp-gate-actions{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;margin:30px 0}.mlcp-gate-note{font-size:14px;line-height:1.7}.mlcp-passport-gate>p>a{display:inline-flex;align-items:center;min-height:44px}
.mlcp-passport-gate .button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:14px 20px;border:2px solid #123b2a;border-radius:4px;text-decoration:none;font-size:14px;font-weight:700;color:#123b2a;background:#f4e7d1}.mlcp-passport-gate .button--red{background:#ad2637;border-color:#ad2637;color:#fff}
body.mlcp-event-shell .mlcp-passport-gate h1{font:400 clamp(42px,8vw,70px)/1.1 "Bree Serif",Georgia,serif;text-transform:none;letter-spacing:-.02em;text-shadow:none;margin:16px 0}
@media(max-width:940px){.mlcp-passport-landing .masthead nav a:not(.mini-cta){display:flex}}
@media(max-width:920px){.mlcp-passport-landing .mlcp-public-guide>.hero{min-height:auto;padding-top:65px}.mlcp-passport-landing .route-map-column{position:relative;top:auto}.mlcp-passport-landing .route-map-column .route-stage{min-height:430px}}
@media(max-width:650px){.mlcp-passport-landing .masthead .mlcp-event-nav a{font-size:11px}.mlcp-public-guide>.mlcp-passport-gate{padding:40px 20px}.mlcp-passport-landing>.mlcp-site-footer{padding-bottom:calc(26px + env(safe-area-inset-bottom))}}
@media(max-width:620px){
 .mlcp-passport-landing .mlcp-public-guide>.hero{padding:65px 0 50px}.mlcp-passport-landing .hero h1{font-size:clamp(3.55rem,19vw,5rem);line-height:.88}.mlcp-passport-landing .hero .hero-lede{font-size:1rem}
 .mlcp-passport-landing .mlcp-public-guide>.mlcp-landing-section{padding:85px 0 90px}.mlcp-passport-landing .mlcp-landing-section h2{font-size:clamp(2.55rem,14vw,4rem)}
 .mlcp-passport-landing .route-map-column{display:block}.mlcp-passport-landing .route-map-column .route-stage{--route-pin:98px;min-height:360px;box-shadow:6px 6px 0 var(--red)}.mlcp-passport-landing .route-stop{font-size:10px;min-height:68px;padding:23px 5px 7px}.mlcp-passport-landing .route-stop.active{transform:translateY(-5px);outline-width:2px;outline-offset:2px}
 .mlcp-passport-landing .venue-card--flagship h3{font-size:2.55rem}.mlcp-passport-landing .mlcp-public-guide>.mlcp-lineup{padding:65px 0}.mlcp-passport-landing .mlcp-public-guide>.mlcp-attendee-sponsors{padding:75px 0}
}
@media(max-width:360px){.mlcp-passport-landing .masthead .mlcp-event-nav a{font-size:10.5px}.mlcp-passport-landing .route-map-column .route-stage{--route-pin:84px}.mlcp-passport-landing .route-stop{font-size:9px}}
/* The theme's scroll driver keeps updating positions. Hide only its decorative bus
   for reduced motion, and keep venue/pin/image changes static in this edition. */
@media(prefers-reduced-motion:reduce){
 .mlcp-passport-landing #loopBus{display:none}
 .mlcp-passport-landing .route-stop,.mlcp-passport-landing .venue-card,.mlcp-passport-landing .venue-photo img{transform:none!important;transition:none!important}
}
.mlcp-festive-card .mlcp-stop-expanded{background:var(--paper);color:var(--ink);padding:20px;margin-bottom:18px;border-radius:3px}
.mlcp-passport-landing .mlcp-public-guide [id]{scroll-margin-top:calc(var(--mlcp-header-offset,130px) + 36px)}
