:root{--navy:#07111f;--ink:#0a1625;--red:#ef2b2d;--gold:#f6c65b;--cream:#fffaf0;--white:#fff;--muted:#5c6978;--line:rgba(10,22,37,.14)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:Inter,Arial,sans-serif}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.site-header{height:88px;padding:0 clamp(20px,5vw,72px);display:flex;align-items:center;justify-content:space-between;background:rgba(7,17,31,.92);backdrop-filter:blur(16px);position:absolute;inset:0 0 auto;z-index:10;border-bottom:1px solid rgba(255,255,255,.14)}.brand{display:flex;flex-direction:column;text-decoration:none;color:#fff;font-family:"Barlow Condensed",Impact,sans-serif;font-weight:900;line-height:.72;transform:rotate(-2deg)}.brand-top{font-size:1.8rem;letter-spacing:.08em;color:var(--red);text-shadow:0 2px 0 #fff}.brand-bottom{font-size:1.1rem;letter-spacing:.24em;margin-left:3px}nav{display:flex;align-items:center;gap:clamp(18px,2.5vw,40px)}nav a{color:#fff;text-decoration:none;font-size:.9rem;font-weight:600}nav a[aria-current="page"]{color:var(--gold)}.nav-cta{border:1px solid rgba(255,255,255,.5);padding:11px 18px;border-radius:999px}.menu-button{display:none;background:none;border:0;padding:8px}.menu-button span:not(.sr-only){display:block;width:26px;height:2px;background:#fff;margin:5px}h1,h2{font-family:"Barlow Condensed",Impact,sans-serif;text-transform:uppercase;margin:0;line-height:.88;letter-spacing:-.025em}.eyebrow,.section-kicker{text-transform:uppercase;letter-spacing:.2em;font-size:.76rem;font-weight:800;color:var(--gold)}
.hero{min-height:720px;padding:150px clamp(24px,8vw,120px) 95px;color:#fff;display:flex;align-items:center;position:relative;overflow:hidden;background:radial-gradient(circle at 72% 32%,rgba(21,112,184,.28),transparent 25%),linear-gradient(115deg,rgba(3,9,18,.97),rgba(7,17,31,.84)),url("../fireworks-hero.png") center/cover no-repeat}.hero:after{content:"";position:absolute;inset:auto 0 -1px;height:85px;background:var(--cream);clip-path:polygon(0 85%,100% 25%,100% 100%,0 100%)}.hero-copy{max-width:780px;position:relative;z-index:1}.hero h1{font-size:clamp(5.1rem,10.5vw,10rem)}.hero h1 em{font-style:normal;color:var(--red);text-shadow:0 0 35px rgba(239,43,45,.4)}.hero-copy>p:not(.eyebrow){font-size:clamp(1.05rem,2vw,1.3rem);line-height:1.65;max-width:620px}.hero-copy>a{display:inline-block;color:#fff;text-decoration:none;font-weight:800;border-bottom:2px solid var(--red);padding:10px 0}.hero-copy>a span{color:var(--gold);margin-left:8px}.hero-stats{position:absolute;right:clamp(24px,6vw,95px);bottom:105px;z-index:2;display:flex;background:rgba(7,17,31,.65);border:1px solid rgba(255,255,255,.25);backdrop-filter:blur(10px)}.hero-stats div{padding:22px 28px;border-right:1px solid rgba(255,255,255,.18);display:flex;flex-direction:column}.hero-stats div:last-child{border:0}.hero-stats strong{font-family:"Barlow Condensed";font-size:2.3rem;color:var(--gold);line-height:1}.hero-stats span{text-transform:uppercase;font-size:.62rem;letter-spacing:.13em;margin-top:6px}
.season-note{margin:75px clamp(24px,8vw,125px) 100px;padding:40px;display:grid;grid-template-columns:130px 1fr;gap:38px;align-items:center;background:#fff;border:1px solid var(--line);box-shadow:0 18px 50px rgba(7,17,31,.07)}.season-badge{width:120px;height:120px;border-radius:50%;background:var(--red);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(-6deg)}.season-badge span{font-family:"Barlow Condensed";font-size:2.7rem;font-weight:900;line-height:.9}.season-badge strong{font-size:.72rem;letter-spacing:.2em;color:var(--gold)}.season-note .section-kicker{color:var(--red);margin:0 0 10px}.season-note h2{font-size:clamp(2.5rem,5vw,4.6rem)}.season-note p:last-child{color:var(--muted);line-height:1.7;max-width:900px;margin-bottom:0}
.explorer{padding:105px clamp(20px,5vw,75px);background:#fff}.explorer-heading{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:45px}.explorer-heading h2{font-size:clamp(4rem,7vw,7rem)}.explorer-heading .section-kicker{color:var(--red)}.explorer-heading>p{max-width:450px;color:var(--muted);line-height:1.7}.tool-row{display:grid;grid-template-columns:minmax(240px,650px) auto 1fr;align-items:center;gap:12px;margin-bottom:22px}.search-box{height:58px;border:2px solid var(--ink);display:flex;align-items:center;padding:0 18px;gap:12px;background:#fff}.search-box span{font-size:1.7rem}.search-box input{border:0;outline:0;width:100%;font:600 1rem Inter;background:transparent}.clear-button{height:58px;padding:0 20px;border:1px solid var(--line);background:var(--cream);font-weight:800;cursor:pointer}.result-count{justify-self:end;text-align:right;display:flex;flex-direction:column}.result-count strong{font-family:"Barlow Condensed";font-size:2rem;color:var(--red);line-height:1}.result-count span{text-transform:uppercase;font-size:.6rem;letter-spacing:.13em;font-weight:800;color:var(--muted)}.area-tabs{display:flex;gap:8px;overflow-x:auto;padding-bottom:22px;scrollbar-width:thin}.area-tabs button{white-space:nowrap;padding:10px 14px;border-radius:999px;border:1px solid var(--line);background:var(--cream);font:700 .76rem Inter;cursor:pointer}.area-tabs button.active{background:var(--navy);border-color:var(--navy);color:#fff}.area-tabs button span{color:var(--red);margin-left:5px}.area-tabs button.active span{color:var(--gold)}
.map-layout{display:grid;grid-template-columns:minmax(340px,.78fr) minmax(500px,1.22fr);height:720px;border:1px solid var(--line);background:var(--cream)}.address-panel{min-height:0;display:flex;flex-direction:column;border-right:1px solid var(--line)}.panel-top{height:62px;flex:0 0 auto;padding:0 20px;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:space-between}.panel-top p{font-family:"Barlow Condensed";font-size:1.4rem;font-weight:800;text-transform:uppercase}.panel-top span{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--gold);font-weight:800}.address-list{overflow:auto;padding:8px}.address-row{width:100%;display:grid;grid-template-columns:42px 1fr auto;gap:12px;align-items:center;padding:13px 12px;border-bottom:1px solid var(--line);background:transparent;text-align:left;color:var(--ink);font-family:Inter}.address-row:hover,.address-row.selected{background:#fff3d0}.stop-number{width:34px;height:34px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-family:"Barlow Condensed";font-size:1rem;font-weight:800}.address-copy{border:0;background:transparent;padding:0;text-align:left;cursor:pointer;font-family:inherit}.address-copy strong{display:block;font-size:.88rem}.address-copy span{font-size:.66rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.visited-toggle{border:1px solid var(--line);background:#fff;width:31px;height:31px;border-radius:50%;font-size:0;cursor:pointer}.visited-toggle:before{content:"✓";font-size:.9rem;color:#a9b2bd}.visited-toggle.done{background:#198754;border-color:#198754}.visited-toggle.done:before{color:#fff}.empty-message{padding:35px;line-height:1.6;color:var(--muted)}.map-panel{position:relative;background:#dde8ec;min-width:0}.map-panel iframe{width:100%;height:100%;border:0;display:block;filter:saturate(.85)}.selected-stop{position:absolute;left:24px;right:24px;bottom:24px;padding:18px 20px;background:rgba(7,17,31,.93);backdrop-filter:blur(10px);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:20px;box-shadow:0 12px 40px rgba(0,0,0,.3)}.selected-stop div{display:flex;flex-direction:column;gap:5px}.selected-stop div span{font-size:.62rem;letter-spacing:.14em;color:var(--gold);font-weight:800}.selected-stop strong{font-size:.95rem}.selected-stop a{color:#fff;text-decoration:none;font-size:.78rem;font-weight:800;padding:11px 14px;border:1px solid rgba(255,255,255,.4);white-space:nowrap}.selected-stop a span{color:var(--gold)}.map-credit{position:absolute;top:4px;right:5px;margin:0;padding:3px 5px;background:rgba(255,255,255,.86);font-size:.55rem;color:#3a4652}
.tour-tips{padding:110px clamp(24px,8vw,125px);background:var(--red);color:#fff;display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(50px,9vw,130px)}.tour-tips h2{font-size:clamp(4rem,7vw,7rem)}.tour-tips .section-kicker{color:var(--navy)}.tour-tips ul{list-style:none;padding:0;margin:0}.tour-tips li{display:grid;grid-template-columns:170px 1fr;gap:25px;padding:25px 0;border-top:1px solid rgba(255,255,255,.35)}.tour-tips li:last-child{border-bottom:1px solid rgba(255,255,255,.35)}.tour-tips li strong{font-family:"Barlow Condensed";font-size:1.25rem;text-transform:uppercase;color:var(--gold)}.tour-tips li span{line-height:1.6}footer{background:#030912;color:#9ca9ba;padding:45px clamp(24px,6vw,90px);display:flex;align-items:center;gap:40px;font-size:.85rem}footer p:last-child{margin-left:auto}.footer-brand{margin-right:20px}
@media(max-width:1050px){.hero-stats{left:clamp(24px,8vw,120px);right:auto}.map-layout{grid-template-columns:390px 1fr}.tour-tips{grid-template-columns:1fr}.tour-tips ul{max-width:760px}}@media(max-width:800px){.site-header{height:76px}.menu-button{display:block}nav{display:none;position:absolute;top:76px;left:0;right:0;background:var(--navy);padding:25px;flex-direction:column;align-items:flex-start;border-top:1px solid rgba(255,255,255,.14)}nav.open{display:flex}.hero{padding-top:125px;align-items:flex-start}.hero-stats{bottom:65px}.hero-stats div{padding:17px 18px}.season-note{grid-template-columns:1fr}.explorer-heading{display:block}.explorer-heading>p{margin-top:25px}.map-layout{display:flex;flex-direction:column;height:auto}.address-panel{height:530px;border-right:0;border-bottom:1px solid var(--line)}.map-panel{height:520px}.tour-tips li{grid-template-columns:1fr;gap:8px}footer{align-items:flex-start;flex-direction:column;gap:12px}footer p{margin:0!important}}@media(max-width:540px){.hero{min-height:700px}.hero h1{font-size:clamp(4.5rem,22vw,6.5rem)}.hero-stats{left:20px;right:20px}.hero-stats div{flex:1;padding:15px 8px}.hero-stats strong{font-size:1.8rem}.season-note{margin:55px 20px 70px;padding:28px}.explorer{padding-top:75px}.explorer-heading h2,.tour-tips h2{font-size:clamp(3.5rem,17vw,5rem)}.tool-row{grid-template-columns:1fr auto}.result-count{grid-column:1/-1;justify-self:start;text-align:left;flex-direction:row;align-items:baseline;gap:8px}.selected-stop{left:12px;right:12px;bottom:12px;align-items:flex-start;flex-direction:column}.map-panel{height:480px}.tour-tips{padding-top:80px;padding-bottom:80px}}
