/* The selected 2027 identity: angled race graphics, open type and restrained print texture. */
:root{--print-grain:url('/assets/print-grain.svg')}
html{scroll-padding-top:126px}
.site-header{height:112px;background:#101113f7;border-bottom:1px solid #4acbfa55}
.nav-inner{gap:24px}
.brand{display:block;width:190px;flex-shrink:0}
.brand img{width:100%;height:auto;aspect-ratio:1880/837;object-fit:contain}
.nav-links{gap:28px}
.nav-links a:after{height:4px;transform:skewX(-28deg);background:linear-gradient(100deg,var(--blue) 0 45%,var(--pink) 45%)}
.scroll-progress{height:3px;background:linear-gradient(90deg,var(--blue),var(--pink))}
.footer-brand>a{display:block;width:240px;max-width:100%}
.footer-brand img{width:100%;height:auto;aspect-ratio:1880/837;object-fit:contain}
.footer-brand p{margin-top:20px}
.site-footer{position:relative}
.site-footer:before{content:'';position:absolute;top:0;left:0;right:0;height:7px;background:linear-gradient(100deg,var(--blue) 0 36%,var(--ink) 36% 39%,var(--pink) 39% 100%);clip-path:polygon(0 45%,100% 0,100% 70%,0 100%)}

/* Label wrappers keep text upright inside the slanted buttons. */
.button{position:relative;isolation:isolate;transform:skewX(-7deg);padding-inline:28px;font:italic 400 20px/1.2 var(--display);letter-spacing:.015em;box-shadow:4px 4px 0 var(--ink);background-image:var(--print-grain);background-size:240px 140px;transition:transform .18s,box-shadow .18s,background-color .18s}
.button-label{display:block;transform:skewX(7deg)}
.button:hover{transform:translate(-2px,-3px) skewX(-7deg);box-shadow:5px 6px 0 var(--blue)}
.button.blue:hover{box-shadow:5px 6px 0 var(--pink)}
.button:focus-visible{outline:3px solid var(--blue);outline-offset:6px}
.button.black{box-shadow:4px 4px 0 var(--paper)}
.button.outline{background-image:none;box-shadow:3px 3px 0 #4acbfa55}
.button.small{font-size:18px}
.desktop-cta .button{font-size:17px;padding:11px 22px}
.campaign-copy .button,.sweet-copy .button,.final-cta .button{font-size:21px}
.event-hero .button,.result-row .button{font-size:18px}
.text-link{position:relative;border-bottom-width:3px;text-decoration:none;border-image:linear-gradient(100deg,var(--blue),var(--pink)) 1}
.filter-button{transform:skewX(-6deg);font-style:italic;padding-inline:18px;border-bottom-width:3px}
.filter-button[aria-pressed=true]{border-bottom-color:var(--pink);background-image:var(--print-grain)}

/* The hero message remains the main headline, with the new mark as a finish-line stamp. */
.campaign-corner{display:block;width:clamp(200px,23vw,300px);padding:0;background:none;box-shadow:none;transform:none;right:0;bottom:77px}
.campaign-corner img{width:100%;height:auto;aspect-ratio:1880/837;object-fit:contain}
.campaign-title .title-main{width:max-content;max-width:100%;padding:0 .12em .04em .02em;background:#101113b3}
.campaign-title .title-distance{text-shadow:5px 5px 0 var(--ink)}
.hero-offer{border-image:linear-gradient(100deg,var(--pink) 0 65%,var(--blue) 65%) 1}
.motion-band{background-image:var(--print-grain);border-top-color:var(--blue);border-bottom-color:var(--ink)}
.marquee-track{font-style:italic}

/* Two-column tour cards share the logo's rising color rails and angular action panels. */
.city-grid{gap:34px}
.city-poster{padding-top:35px;padding-bottom:37px;border-color:#494c52;background-color:var(--ink);background-image:linear-gradient(150deg,transparent 0 88%,#4acbfa0c 88% 91%,transparent 91%),var(--print-grain);background-size:auto,240px 140px;box-shadow:6px 6px 0 #10111325}
.city-directory .city-poster{box-shadow:6px 6px 0 #ffffff10}
.city-poster:before{top:0;left:0;right:auto;width:100%;height:14px;background-image:var(--print-grain),linear-gradient(100deg,var(--blue) 0 28%,var(--pink) 28% 74%,var(--blue) 74%);background-size:240px 140px,100% 100%;clip-path:polygon(0 58%,100% 0,100% 40%,0 100%)}
.city-poster:after{right:0;bottom:0;width:100%;height:14px;background-image:var(--print-grain),linear-gradient(100deg,var(--pink) 0 22%,var(--city-accent) 22% 76%,var(--blue) 76%);background-size:240px 140px,100% 100%;clip-path:polygon(0 62%,100% 0,100% 46%,0 100%)}
.city-poster:hover{transform:translate(-2px,-3px);box-shadow:7px 8px 0 var(--city-accent)}
.city-name{transform:rotate(-2deg);transform-origin:left bottom;margin-top:4px;margin-bottom:27px;letter-spacing:-.01em}
.city-status{border-color:var(--city-accent);border-bottom-width:3px;background:#ffffff09;font-style:italic}
.city-view{width:calc(100% - 8px);margin-left:4px;transform:skewX(-6deg);background-image:var(--print-grain);background-size:240px 140px;box-shadow:4px 4px 0 var(--paper)}
.city-view>span{transform:skewX(6deg)}
.city-brand{font-style:italic;letter-spacing:-.02em}
.city-poster:hover .city-view{background-color:var(--paper);background-image:var(--print-grain)}

/* Streaks and grain carry the same visual language into every page. */
.section-index{position:relative;border-bottom-color:#4acbfa60}
.section-index:after{content:'';position:absolute;left:0;bottom:-3px;width:clamp(120px,23vw,320px);height:6px;background:linear-gradient(100deg,var(--pink) 0 62%,var(--blue) 62%);clip-path:polygon(0 45%,100% 0,98% 75%,0 100%)}
.page-hero:after{right:-2%;bottom:0;width:68%;height:15px;background-image:var(--print-grain),linear-gradient(100deg,var(--blue) 0 25%,var(--pink) 25% 82%,var(--blue) 82%);background-size:240px 140px,100% 100%;transform:rotate(-3deg);clip-path:polygon(0 55%,100% 0,100% 70%,0 100%)}
.city-detail:after{background-image:var(--print-grain),linear-gradient(100deg,var(--blue) 0 25%,var(--city-accent) 25% 82%,var(--pink) 82%)}
.page-hero h1,.section-heading h2,.faq-intro h2{font-style:italic}
.sweet-section:before{background-image:var(--print-grain);background-size:240px 140px;mask-image:linear-gradient(100deg,#000,transparent 68%);opacity:.55}
.print-tape,.average-label,.finish-strip,.mascot-note{background-image:var(--print-grain);background-size:240px 140px}
.print-tape{border-bottom:3px solid var(--blue)}
.mascot-note{border-bottom:3px solid var(--blue)}
.perk-tags span{background:#f4f5f23b;border-color:#10111380;border-bottom:3px solid var(--ink)}
.average-label{border-bottom:5px solid var(--blue)}
.finish-strip{border-top:7px solid var(--ink);border-bottom:7px solid var(--blue)}
.final-cta:before{content:'';position:absolute;top:0;left:0;width:100%;height:12px;background:var(--blue);clip-path:polygon(0 0,100% 0,100% 15%,0 100%)}
.final-cta:after{background-image:var(--print-grain),repeating-linear-gradient(-50deg,transparent 0 20px,#1011130d 20px 27px);background-size:240px 140px,auto}
.info-box,.contact-card{border-bottom:3px solid var(--blue)}
.info-box.pale-pink,.contact-card:nth-child(2){border-bottom-color:var(--pink)}
.award-card{border-image:linear-gradient(100deg,var(--pink),var(--blue)) 1}

@media(min-width:851px) and (max-width:1100px){.brand{width:168px}.nav-inner{gap:18px}.nav-links{gap:20px}.desktop-cta .button{font-size:16px;padding-inline:18px}}
@media(max-width:850px){html{scroll-padding-top:108px}.site-header{height:94px}.brand,.brand img{width:170px}.mobile-nav:not([hidden]){top:94px}.mobile-nav .button{font:italic 400 22px/1.2 var(--display)}.campaign-corner{width:215px;bottom:80px}.city-grid{gap:28px}.city-poster{padding-top:32px;padding-bottom:33px}}
@media(max-width:600px){html{scroll-padding-top:98px}.site-header{height:86px}.brand,.brand img{width:154px}.mobile-nav:not([hidden]){top:86px}.footer-brand>a{width:220px}.footer-brand img{width:100%}.button{font-size:18px;padding-inline:23px}.campaign-copy .button,.sweet-copy .button,.final-cta .button{font-size:18px}.event-hero .button,.result-row .button{font-size:16px}.button.small{font-size:16px}.campaign-corner{width:166px;right:0;bottom:67px}.campaign-title .title-distance{text-shadow:3px 3px 0 var(--ink)}.city-grid{gap:28px}.city-poster{padding-top:30px;padding-bottom:32px}.city-name{margin-bottom:25px}.city-view{gap:14px;padding-inline:18px}.city-brand{min-width:52px;padding-left:12px}.city-status{font-size:11px}.section-index:after{width:135px}.page-hero:after{width:85%;height:10px}.finish-strip{border-block-width:5px}}
@media(prefers-reduced-motion:reduce){.button,.city-poster{transition:none}.button:hover{transform:skewX(-7deg)}.city-poster:hover{transform:none}}

/* Compact photo-and-story layout for the 2027 city pages. */
.event-story-section{--city-accent:var(--blue);padding:64px 0 72px}
.event-story-section.city-west-palm-beach,.event-story-section.city-hollywood,.event-story-section.city-miami,.event-story-section.city-irvine{--city-accent:var(--pink)}
.event-story-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,64px);align-items:center}
.event-action-photo{position:relative;width:calc(100% - 14px);min-width:0;margin:9px 10px 16px 4px;padding:6px 6px 0;border:1px solid #73757b;background:var(--paper);color:var(--ink);transform:rotate(-1deg);box-shadow:7px 8px 0 var(--city-accent)}
.event-action-photo:after{content:'';position:absolute;left:-2px;bottom:-4px;width:34%;height:6px;background:var(--city-accent);clip-path:polygon(0 25%,100% 0,96% 100%,0 80%);pointer-events:none}
.event-photo-frame{overflow:hidden;background:var(--ink)}
.event-photo-frame img{display:block;width:100%;height:auto;aspect-ratio:7/4;object-fit:cover;object-position:center}
.event-action-photo figcaption{padding:14px 12px;background-image:var(--print-grain);background-size:240px 140px}
.event-action-photo figcaption strong{display:block;font:italic 400 clamp(1.1rem,1.65vw,1.4rem)/1.2 var(--display);text-transform:uppercase}
.event-action-photo figcaption span{display:block;margin-top:5px;font-size:12px;line-height:1.4;font-weight:800}
.event-story-copy{min-width:0}
.event-story-copy h2{font-size:clamp(2.5rem,3.6vw,3.5rem);margin-bottom:20px}
.event-story-copy>p{font-size:16px;line-height:1.65}
.event-story-perks{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0 0;padding:0;list-style:none}
.event-story-perks li{padding:7px 10px;border:1px solid #575960;border-bottom:2px solid var(--city-accent);color:var(--paper);font-size:14px;font-weight:700;line-height:1.35}
.event-story-copy .actions{margin-top:24px}
.event-story-notes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:48px}
.event-story-notes .info-box{margin:0;padding:25px 28px}
.event-story-notes h3{font-size:25px;line-height:1.2}
.event-story-notes p{font-size:16px;line-height:1.6}
@media(max-width:850px){.event-story-section{padding:45px 0 52px}.event-story-grid{grid-template-columns:minmax(0,1fr);gap:28px}.event-action-photo{width:calc(100% - 14px);max-width:500px;margin:8px auto 12px}.event-story-copy{max-width:600px}.event-story-copy h2{font-size:clamp(2.5rem,6vw,3.25rem)}.event-story-notes{margin-top:34px;gap:18px}.event-story-notes .info-box{padding:23px}}
@media(max-width:600px){.event-story-section{padding:32px 0 42px}.event-story-grid{gap:24px}.event-action-photo{padding:5px 5px 0;box-shadow:5px 6px 0 var(--city-accent);transform:rotate(-.8deg)}.event-action-photo figcaption{padding:11px 10px}.event-action-photo figcaption strong{font-size:19px}.event-action-photo figcaption span{font-size:12px}.event-story-copy h2{font-size:2.7rem;line-height:1.1;margin-bottom:18px}.event-story-copy .eyebrow{margin-bottom:14px}.event-story-perks{margin-top:19px}.event-story-notes{grid-template-columns:minmax(0,1fr);gap:16px;margin-top:30px}.event-story-notes h3{font-size:24px}}
