/* Original script identity, with blue as the main surface color. */
:root{--ink:#101113;--paper:#fff;--blue:#4acbfa;--sky:#e4f7ff;--pink:#f20b95;--pink-dark:#91004f;--blue-dark:#064b6b;--muted:#365462;--line:#9bc9dc;color-scheme:light}
body{background:#effaff;color:var(--ink)}
::selection{background:var(--pink);color:#fff}
.pink-text{color:var(--pink-dark)}
.blue-text{color:var(--blue-dark)}
.eyebrow:before{color:var(--pink-dark)}
.text-link{border-image:linear-gradient(100deg,var(--blue-dark),var(--pink)) 1}
.text-link:hover{color:var(--pink-dark)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,.button:focus-visible{outline-color:var(--pink-dark)}

/* Keep the original logo's natural, wider proportions everywhere. */
.site-header{background:#4acbfa;border-bottom:1px solid #075c8238}
.brand img,.footer-brand img,.campaign-corner img{width:100%;height:auto;aspect-ratio:419/181;object-fit:contain}
.nav-links a{color:var(--ink)}
.nav-links a:hover,.nav-links a[aria-current=page]{color:var(--pink-dark)}
.nav-links a:after{background:linear-gradient(100deg,var(--pink),#fff)}
.scroll-progress{background:linear-gradient(90deg,var(--pink),var(--blue-dark))}
.menu-toggle{border-color:#075c8270;background:#ffffff30}
.menu-toggle span{background:var(--ink)}
.mobile-nav:not([hidden]){background:var(--sky);color:var(--ink)}
.mobile-nav>a{border-color:var(--line)}
.site-footer{background:var(--blue);color:var(--ink)}
.site-footer:before{background:linear-gradient(100deg,var(--pink) 0 36%,#fff 36% 39%,#1397ce 39%)}
.footer-brand img{filter:none}
.footer-brand p,.footer-bottom{color:#244453}
.footer-col h3{color:var(--blue-dark)}
.footer-col a:hover{color:var(--pink-dark)}
.footer-bottom{border-color:#075c8250}

/* Bright primary actions stay distinct against blue backgrounds. */
.button,.button.blue,.button.black{background-color:var(--pink);border-color:var(--pink-dark);color:var(--ink);box-shadow:4px 4px 0 #075c82}
.button:hover,.button.blue:hover,.button.black:hover{background-color:#ff53b9;color:var(--ink);box-shadow:5px 6px 0 var(--blue-dark)}
.button.outline{color:var(--ink);border-color:#075c82;background-color:#ffffff60;box-shadow:3px 3px 0 #075c8230}
.button.outline:hover{background-color:#fff;color:var(--ink)}
.button.white{background-color:#fff;color:var(--ink);border-color:#fff}

/* Blue replaces the large black hero field, including its image overlay. */
.campaign-hero{background:var(--blue);color:var(--ink)}
.campaign-hero:after{background:linear-gradient(90deg,#4acbfa 0%,#4acbfaf7 21%,#4acbfad9 35%,#4acbfa66 51%,#4acbfa00 67%),linear-gradient(0deg,#4acbfa 0%,#4acbfa00 22%)}
.campaign-copy>.eyebrow{color:var(--ink)}
.campaign-title .title-lead,.campaign-title .title-main{color:var(--ink);background:none}
.campaign-title .title-distance{color:var(--pink-dark);text-shadow:3px 3px 0 #ffffffb0}
.campaign-copy .campaign-rule,.campaign-copy>p,.campaign-copy .text-link,.hero-offer{color:var(--ink)}
.campaign-rule span{color:var(--pink-dark)}
.hero-offer{border-image:linear-gradient(100deg,var(--pink) 0 65%,#fff 65%) 1}
.campaign-bottom span:last-child{color:var(--ink)}
.campaign-corner{max-width:250px}
.motion-band{border-top-color:#fff;border-bottom-color:var(--blue-dark)}
.marquee-track{color:var(--ink)}

/* Blue and pale blue alternate through the homepage. */
.intro-section{background:#e4f7ff;color:var(--ink)}
.intro-heading h2 .intro-distance{color:var(--ink)}
.intro-heading p,.vibe-points p{color:var(--muted)}
.vibe-points .num{color:var(--blue-dark)}
.section-index{border-color:#7eb8ce}
.section-index>span:last-child{color:var(--muted)}
.section-index:after{background:linear-gradient(100deg,var(--pink) 0 62%,var(--blue-dark) 62%)}
.mascot-track{border-color:#075c8280}
.mascot-finish{color:var(--blue-dark)}
.mascot-note{background-color:#fff;color:var(--ink)}
.tour-section{background:#f7fcff;color:var(--ink)}
.tour-section:before{background:#f7fcff}
.tour-section .section-index{border-color:var(--line)}
.tour-section .section-heading>p,.tour-section .section-index>span:last-child{color:var(--muted)}
.sweet-section{background:var(--blue)}
.campaign-print{box-shadow:12px 12px 0 #1397ce}
.perk-tags span{background:#ffffff60;border-color:#075c8260;border-bottom-color:var(--blue-dark)}
.average-section{background:var(--sky);color:var(--ink)}
.awards-art-caption{color:var(--ink)}
.finish-strip{border-top-color:#fff;border-bottom-color:#169cd2}
.faq-section{background:#dcf4ff;color:var(--ink)}
.faq-intro p,.faq details p{color:var(--muted)}
.faq details,.faq details:first-child{border-color:#9bc9dc}
.faq details[open] summary,.faq summary:after{color:var(--pink-dark)}
.final-cta{background:var(--blue);color:var(--ink)}
.final-cta:before{background:var(--pink)}
.final-cta h2 span{color:var(--pink-dark)}

/* Original logos and individual blue shades anchor the city posters. */
.city-card{--city-accent:var(--pink);--city-wash:#b5edff}
.city-orlando{--city-wash:#8bddfa}
.city-san-diego{--city-wash:#c8f0ff}
.city-irvine{--city-wash:#91e4fa}
.city-hollywood{--city-wash:#aae8fb}
.city-miami{--city-wash:#77d9fa}
.city-naples{--city-wash:#d4f4ff}
.city-tampa{--city-wash:#9fe4fd}
.city-poster{background-color:var(--city-wash);background-image:linear-gradient(155deg,#ffffff70,transparent 56%),var(--print-grain);border-color:#62b9dc;color:var(--ink);box-shadow:6px 6px 0 #69bdd240}
.city-directory .city-poster{box-shadow:6px 6px 0 #69bdd240}
.city-name{color:var(--blue-dark);overflow-wrap:anywhere}
.city-west-palm-beach .city-name,.city-hollywood .city-name,.city-miami .city-name,.city-irvine .city-name{color:var(--pink-dark)}
.city-tour-year,.city-mood{color:#274f60}
.city-status{border-color:#075c8270;background:#ffffff60;color:var(--ink)}
.city-view{background-color:#fff;border-bottom:3px solid var(--pink);box-shadow:4px 4px 0 #075c8260;color:var(--ink)}
.city-poster:hover .city-view{background-color:#ecfaff;box-shadow:4px 4px 0 var(--pink)}
.city-brand{display:flex;width:118px;min-width:90px;max-width:38%;border-left:1px solid #075c8260;padding-left:16px}
.city-brand img{width:100%;height:auto;aspect-ratio:419/181;object-fit:contain}

/* Shared pages, archived events, results and signup use the same light palette. */
.page-hero,.page-hero.sky{background:var(--blue);color:var(--ink)}
.page-hero .eyebrow,.page-hero.sky .eyebrow{color:var(--ink)}
.page-hero p,.page-hero.sky p,.breadcrumb{color:#244453}
.page-hero.sky .pink-text{color:var(--pink-dark);text-decoration:none}
.city-detail h1{color:var(--ink)}
.city-detail h1 .pink-text{color:var(--pink-dark)}
.city-detail:after{background-image:var(--print-grain),linear-gradient(100deg,#fff 0 25%,var(--pink) 25% 82%,var(--blue-dark) 82%)}
.event-facts{background:#fff;box-shadow:7px 7px 0 var(--pink)}
.city-detail .event-facts{box-shadow:7px 7px 0 var(--pink)}
.event-facts:before,.city-detail .event-facts:before{background:var(--pink);color:var(--ink)}
.event-facts dt,.event-facts dd small{color:#355365}
.event-facts dl>div{border-color:#aacbd7}
.event-photo-frame{background:var(--sky)}
.event-action-photo{border-color:#9bc9dc;box-shadow:7px 8px 0 #1ba6db}
.event-story-perks li{color:var(--ink);background:#fff;border-color:#9bc9dc;border-bottom-color:var(--pink)}
.event-detail-copy>p,.about-intro p,.event-highlights p,.award-card p,.contact-card p{color:var(--muted)}
.info-box{background:#d5f1fe;color:var(--ink);border-color:#1599ce}
.info-box.pale-pink{background:#fff0f7;border-color:var(--pink)}
.info-box p{color:#315061}
.award-card,.award-card:first-child{color:var(--ink);background:transparent}
.award-card .eyebrow{color:var(--pink-dark)}
.contact-card{background:#fff;border-color:#9bc9dc}
.contact-card:nth-child(2){background:#def5ff}
.support-list a{border-color:var(--line)}
.filter-button{background:#fff;color:var(--ink);border-color:#9bc9dc}
.filter-button[aria-pressed=true]{background:var(--blue);color:var(--ink);border-color:var(--blue-dark)}
.filter-button:hover{border-color:var(--pink-dark)}
.search-field input,.signup-form .signup-field input,.signup-form .signup-field select{background:#fff;color:var(--ink);border-color:#7ea8bc}
.search-field input::placeholder{color:#5a7180}
.date-block strong{color:var(--blue-dark)}
.empty-message{background:var(--sky);color:var(--ink)}
.signup-form .signup-consent a,.signup-form .signup-privacy a,.signup-form .signup-help a{color:var(--blue-dark)}
.signup-form .signup-field input:focus,.signup-form .signup-field select:focus,.signup-form .signup-consent input:focus-visible{outline-color:var(--pink-dark)}

@media(max-width:850px){.mobile-nav:not([hidden]){background:var(--sky)}.city-brand{width:108px;min-width:82px}}
@media(max-width:600px){
 .campaign-hero{background:var(--blue)}
 .campaign-title .title-distance{text-shadow:2px 2px 0 #ffffffb0}
 .campaign-corner{display:none}
 .campaign-print{box-shadow:8px 8px 0 #1397ce}
 .event-action-photo{box-shadow:5px 6px 0 #1ba6db}
 .city-brand{width:100px;min-width:78px;padding-left:12px}
 .footer-brand>a{width:220px}
}
