:root{--night:#06152b;--deep:#09203b;--red:#a7192e;--cream:#f7f2e8;--gold:#d9a441;--ink:#10233a}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}.site-header{height:92px;padding:0 5vw;position:absolute;z-index:20;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;color:white;border-bottom:1px solid #ffffff24}.brand{display:flex;align-items:center;gap:12px;line-height:1}.brand-star{font-size:33px;color:var(--gold);filter:drop-shadow(0 0 8px #f3b74488)}.brand b{display:block;font-family:'Playfair Display';font-size:20px}.brand small{display:block;letter-spacing:.12em;text-transform:uppercase;font-size:9px;margin-top:5px}.site-header nav{display:flex;align-items:center;gap:34px;font-size:14px}.site-header nav>a:not(.nav-cta):after{content:'';display:block;width:0;height:1px;background:var(--gold);transition:.25s}.site-header nav>a:hover:after{width:100%}.nav-cta{padding:13px 20px;border:1px solid #ffffff70;border-radius:99px}.menu{display:none;background:none;border:0}.hero{height:max(760px,100vh);min-height:680px;position:relative;background:url('assets/parade-hero.png') 59% center/cover no-repeat;color:white}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,14,33,.97) 0%,rgba(4,18,39,.72) 37%,rgba(4,15,31,.15) 72%),linear-gradient(0deg,rgba(1,10,24,.75),transparent 42%)}.hero-content{position:absolute;left:8vw;top:50%;transform:translateY(-52%);max-width:720px}.eyebrow,.section-kicker{text-transform:uppercase;letter-spacing:.24em;font-size:11px;font-weight:700}.eyebrow{color:#efd497;display:flex;align-items:center;gap:12px}.eyebrow span{width:35px;height:1px;background:var(--gold)}h1,h2{font-family:'Playfair Display',serif;margin:.25em 0;line-height:.98;letter-spacing:-.03em}h1{font-size:clamp(55px,6.2vw,96px)}h1 em,h2 em{font-weight:600;color:var(--gold)}.hero-content>p{max-width:600px;line-height:1.75;color:#d8e0e9;font-size:17px}.hero-actions{display:flex;align-items:center;gap:34px;margin-top:36px}.button{display:inline-flex;align-items:center;gap:28px;padding:17px 23px;border-radius:2px;font-weight:700;font-size:14px;transition:.25s}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--red);box-shadow:0 10px 35px #0005}.button-primary span,.button-light span{font-size:20px}.text-link{display:flex;align-items:center;gap:12px;font-size:14px}.text-link i{font-style:normal;border:1px solid #ffffff80;border-radius:50%;height:38px;width:38px;display:grid;place-items:center;font-size:10px}.hero-meta{position:absolute;bottom:0;left:0;right:0;margin:0 8vw;display:flex;gap:60px;padding:26px 0;border-top:1px solid #ffffff30}.hero-meta div{padding-right:60px;border-right:1px solid #ffffff30}.hero-meta div:last-child{border:0}.hero-meta small,.hero-meta strong{display:block}.hero-meta small{text-transform:uppercase;letter-spacing:.18em;font-size:9px;color:#aebaca;margin-bottom:7px}.hero-meta strong{font-family:'Playfair Display';font-size:17px}.scroll{position:absolute;right:3vw;bottom:42px;writing-mode:vertical-rl;text-transform:uppercase;letter-spacing:.2em;font-size:9px;color:#aab4c3}.scroll span{margin-top:10px}.section{padding:120px 8vw}.section-kicker{color:var(--red);margin-bottom:24px}.intro-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:10vw}.intro h2,.section-heading h2,.route h2,.join h2,.newsletter h2{font-size:clamp(44px,5vw,72px)}.intro-copy{padding-top:20px;max-width:540px}.intro-copy p{line-height:1.8;color:#576576}.intro-copy .lead{font-family:'Playfair Display';font-size:23px;color:var(--ink);line-height:1.45}.arrow-link{display:inline-flex;gap:55px;margin-top:22px;border-bottom:1px solid #bdc2c5;padding-bottom:10px;font-weight:700;font-size:14px}.arrow-link span{color:var(--red)}.stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #c9c8c2;margin-top:90px;padding-top:45px}.stats div{display:flex;align-items:center;gap:22px;border-right:1px solid #c9c8c2;padding-left:35px}.stats div:first-child{padding-left:0}.stats div:last-child{border:0}.stats strong{font-family:'Playfair Display';font-size:50px;color:var(--red)}.stats span{font-size:12px;line-height:1.5;color:#657181}.moments{background:var(--night);color:white}.section-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:55px}.section-heading p{max-width:380px;color:#9aa9b9;line-height:1.7}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{min-height:390px;padding:38px;display:flex;flex-direction:column;justify-content:end;position:relative;overflow:hidden;background:linear-gradient(150deg,#122d4b,#09182d);border:1px solid #ffffff12;transition:.35s}.card:hover{transform:translateY(-8px);border-color:#d9a44180}.card:before{content:'';position:absolute;width:230px;height:230px;border-radius:50%;filter:blur(20px);top:-80px;right:-70px;opacity:.3}.card-lights:before{background:#ebb955}.card-music:before{background:#a7192e}.card-family:before{background:#2d7593}.card-icon{position:absolute;top:54px;left:50%;transform:translateX(-50%);font-size:65px;color:var(--gold);text-shadow:0 0 30px #d9a441}.card>span{font-size:10px;color:var(--gold);letter-spacing:.15em}.card h3{font-family:'Playfair Display';font-size:27px;margin:12px 0}.card p{color:#aab6c3;line-height:1.7;font-size:14px}.route{display:grid;grid-template-columns:.75fr 1.25fr;gap:8vw;align-items:center}.route-copy>p{line-height:1.8;color:#5b6877}.route-note{display:flex;align-items:center;gap:15px;margin-top:35px}.route-note>span{width:45px;height:45px;border-radius:50%;background:var(--red);color:white;display:grid;place-items:center}.route-note small,.route-note b{display:block}.route-note small{text-transform:uppercase;letter-spacing:.15em;font-size:9px;color:#7a8490;margin-bottom:4px}.map-card{height:500px;position:relative;background:#e9e2d2;overflow:hidden;border:12px solid white;box-shadow:0 25px 70px #24334c22}.map-card:before,.map-card:after{content:'';position:absolute;background:#d5c7ad;transform:rotate(-13deg)}.map-card:before{width:130%;height:50px;top:35%;left:-10%}.map-card:after{height:130%;width:55px;left:60%;top:-10%}.map-lines{position:absolute;inset:0;background:repeating-linear-gradient(25deg,transparent 0 70px,#d5cbb8 72px 74px)}.route-path{position:absolute;left:15%;top:62%;width:68%;height:5px;background:var(--red);transform:rotate(-17deg);box-shadow:0 0 0 4px #fff}.map-pin{position:absolute;width:35px;height:35px;background:var(--night);color:white;border:4px solid white;border-radius:50%;display:grid;place-items:center;font-size:11px;z-index:2}.p1{left:17%;top:65%}.p2{left:49%;top:49%}.p3{left:79%;top:30%;background:var(--red);color:var(--gold)}.map-label{position:absolute;z-index:2;background:#ffffffdb;padding:8px 12px;font-family:'Playfair Display';font-size:13px}.m1{left:8%;top:78%}.m2{left:38%;top:36%}.m3{right:7%;top:18%}.join{background:var(--red);color:white;position:relative;overflow:hidden}.join:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 80% 50%,#ca344659,transparent 35%),linear-gradient(120deg,transparent 0 60%,#6d0c1b33 60%)}.join-inner{max-width:720px;position:relative;z-index:2}.join .section-kicker{color:#f2cf8b}.join h2 em{color:#f6d993}.join p{line-height:1.8;color:#f6dce0;max-width:570px}.button-light{margin-top:25px;background:white;color:var(--red)}.ornament{position:absolute;right:10vw;top:50%;transform:translateY(-50%);font-size:260px;color:#ffffff0d;text-shadow:0 0 80px #fff2}.newsletter{background:#efe8da}.newsletter-inner{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}.newsletter form label{display:block;text-transform:uppercase;letter-spacing:.18em;font-size:9px;margin-bottom:12px}.newsletter form>div{display:flex;border-bottom:1px solid #9c9b95}.newsletter input{flex:1;border:0;background:transparent;padding:14px 4px;font:inherit;font-size:17px;outline:0}.newsletter button{border:0;background:transparent;color:var(--red);font-weight:700;cursor:pointer}.newsletter form small{display:block;color:#7b817f;margin-top:12px}footer{background:#030e1e;color:white;padding:45px 8vw;display:flex;align-items:center;justify-content:space-between}footer p{color:#758396;font-family:'Playfair Display';font-style:italic}footer>div{display:flex;gap:28px;font-size:12px;color:#a1aab4}.toast{position:fixed;right:25px;bottom:25px;background:var(--night);color:white;padding:18px 24px;z-index:99;transform:translateY(120px);transition:.35s;box-shadow:0 15px 40px #0004}.toast.show{transform:none}.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s,transform .8s}.reveal.visible{opacity:1;transform:none}.snow{position:fixed;inset:0;pointer-events:none;z-index:50;background-image:radial-gradient(circle,#fff 1px,transparent 1.5px);background-size:70px 70px;opacity:.25;animation:snow 18s linear infinite}@keyframes snow{to{background-position:40px 600px}}@media(max-width:900px){.site-header{height:74px}.site-header nav{position:absolute;display:none;top:74px;left:0;right:0;background:var(--night);padding:28px 5vw;flex-direction:column;align-items:flex-start}.site-header nav.open{display:flex}.menu{display:block}.menu span{display:block;width:25px;height:1px;background:white;margin:7px}.hero{min-height:760px;background-position:63% center}.hero-content{left:6vw;right:6vw;top:44%}.hero-shade{background:linear-gradient(90deg,rgba(3,14,33,.92),rgba(3,14,33,.25)),linear-gradient(0deg,rgba(3,14,33,.92),transparent 60%)}.hero-meta{margin:0 6vw;gap:15px}.hero-meta div{padding-right:15px}.hero-meta strong{font-size:13px}.scroll{display:none}.section{padding:80px 6vw}.intro-grid,.route,.newsletter-inner{grid-template-columns:1fr}.stats{gap:25px}.stats div{display:block;padding-left:18px}.stats strong{display:block;font-size:38px}.section-heading{display:block}.cards{grid-template-columns:1fr}.card{min-height:310px}.map-card{height:390px}.newsletter-inner{gap:25px}footer{flex-direction:column;gap:25px;text-align:center}footer>div{flex-wrap:wrap;justify-content:center}}@media(max-width:560px){h1{font-size:48px}.hero-content>p{font-size:15px}.hero-actions{align-items:flex-start;flex-direction:column;gap:20px}.hero-meta div:nth-child(2){display:none}.stats{grid-template-columns:1fr}.stats div{border-right:0;border-bottom:1px solid #ccc;padding:0 0 20px;display:flex}.cards{gap:12px}.newsletter form>div{display:block}.newsletter button{padding:14px 0}.ornament{font-size:160px;right:-30px}}
