:root{--navy:#07182e;--deep:#0a2543;--ice:#dff5ff;--blue:#a9daf0;--jade:#4da98d;--gold:#e2bc78;--paper:#f8fbfd;--ink:#10243a;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:"DM Sans",sans-serif;color:var(--ink);background:var(--paper);font-size:16px}a{color:inherit}.hero{min-height:100svh;color:#fff;background:linear-gradient(90deg,rgba(4,16,32,.98) 0%,rgba(4,16,32,.87) 35%,rgba(4,16,32,.2) 72%),url("hero.png") center/cover no-repeat;display:flex;flex-direction:column;padding:0 clamp(24px,6vw,96px);position:relative;overflow:hidden}.hero:after{content:"";position:absolute;inset:auto -10% -36% 32%;height:62%;background:radial-gradient(ellipse,rgba(109,202,225,.16),transparent 68%);pointer-events:none}nav{height:92px;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:1;border-bottom:1px solid rgba(255,255,255,.16)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-weight:700;letter-spacing:.03em}.tile-mark{display:grid;place-items:center;width:38px;height:44px;background:#f8f4e8;color:#a53535;border-radius:5px;box-shadow:inset 0 -3px 0 #d8cfb7;font-family:serif}.nav-links{display:flex;gap:30px}.nav-links a{text-decoration:none;color:#eaf6fa;font-size:.92rem}.nav-links a:hover{text-decoration:underline;text-underline-offset:5px}.hero-content{position:relative;z-index:1;margin:auto 0;width:min(700px,100%);padding:80px 0}.eyebrow,.section-kicker{text-transform:uppercase;letter-spacing:.18em;font-weight:700;font-size:.76rem;color:var(--blue)}h1,h2{font-family:"Playfair Display",serif;margin:.2em 0;line-height:.98}h1{font-size:clamp(4rem,9vw,8.5rem);letter-spacing:-.055em}h1 em{display:block;color:var(--ice);font-weight:600}.hero-copy{font-size:clamp(1.08rem,2vw,1.35rem);line-height:1.6;max-width:540px;color:#d9e9ef}.event-meta{display:flex;gap:0;margin:34px 0;border-top:1px solid rgba(255,255,255,.2);border-bottom:1px solid rgba(255,255,255,.2);width:max-content;max-width:100%}.event-meta div{padding:16px 30px 16px 0;margin-right:30px}.event-meta div+div{border-left:1px solid rgba(255,255,255,.2);padding-left:30px}.event-meta span{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.13em;color:var(--blue);margin-bottom:5px}.event-meta strong{font-size:.96rem}.primary-btn,.outline-btn{border:0;border-radius:999px;padding:15px 22px;background:var(--gold);color:#142336;font:600 1rem "DM Sans";text-decoration:none;display:inline-flex;align-items:center;gap:22px;cursor:pointer}.primary-btn:hover,.outline-btn:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(0,0,0,.18)}.hero-note{position:absolute;right:clamp(24px,6vw,96px);bottom:26px;z-index:2;font-family:"Playfair Display",serif;font-style:italic;color:#fff}.intro{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(40px,8vw,120px);padding:clamp(80px,10vw,150px) clamp(24px,8vw,130px);align-items:end}.intro h2,.section-heading h2,.included h2,.closing h2{font-size:clamp(2.6rem,5.5vw,5.2rem);letter-spacing:-.035em}.intro>p{font-size:1.12rem;line-height:1.8;color:#526274;max-width:570px}.section-kicker{color:#347f76}.schedule-section{background:var(--deep);color:#fff;padding:clamp(70px,9vw,130px) clamp(24px,8vw,130px);position:relative}.schedule-section:before{content:"❄";position:absolute;right:5%;top:4%;font-size:9rem;color:rgba(255,255,255,.035)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px}.section-heading h2{margin-bottom:0}.day-tabs{display:flex;background:rgba(255,255,255,.08);border-radius:999px;padding:5px}.day-tab{border:0;background:transparent;color:#c6dbe6;border-radius:999px;padding:12px 20px;font:600 .95rem "DM Sans";cursor:pointer}.day-tab.active{background:var(--ice);color:var(--navy)}.timeline{margin-top:60px;border-top:1px solid rgba(255,255,255,.18)}.timeline article{display:grid;grid-template-columns:minmax(150px,.35fr) 1fr;border-bottom:1px solid rgba(255,255,255,.18);padding:28px 0;transition:background .25s}.timeline article:hover{background:rgba(255,255,255,.035)}.timeline time{color:var(--blue);font-weight:600}.timeline article>div{display:grid;grid-template-columns:46px 1fr;align-items:start}.mini-icon{grid-row:1/3;font-size:1.25rem;color:var(--gold)}.timeline h3{margin:0 0 7px;font:600 1.5rem "Playfair Display",serif}.timeline p{margin:0;color:#afc4cf;line-height:1.6}.schedule-note{color:#8fa9b7;font-size:.82rem;margin-top:25px}.included{padding:clamp(80px,10vw,150px) clamp(24px,8vw,130px);display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(50px,8vw,120px);background:#eaf6f8}.included-copy p:not(.section-kicker){line-height:1.7;color:#526274}.included-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #aac7ce;border-left:1px solid #aac7ce}.included-grid article{padding:30px;border-right:1px solid #aac7ce;border-bottom:1px solid #aac7ce;min-height:190px}.included-grid span{color:#438c83;font-weight:700;font-size:.78rem}.included-grid h3{font:600 1.4rem "Playfair Display",serif;margin:28px 0 8px}.included-grid p{color:#657785;line-height:1.5;margin:0}.closing{text-align:center;padding:clamp(90px,12vw,170px) 24px;background:var(--navy);color:#fff}.closing h2{max-width:850px;margin:20px auto}.closing>p:not(.section-kicker){color:#afc5d0}.outline-btn{margin-top:22px;background:transparent;color:var(--ice);border:1px solid rgba(255,255,255,.5)}.copy-status{display:block;height:24px;margin-top:12px;color:var(--gold);font-size:.9rem}footer{padding:26px clamp(24px,6vw,96px);display:flex;justify-content:space-between;align-items:center;background:#04101f;color:#d8e7ed}footer p{font-family:"Playfair Display",serif;font-style:italic}@media(max-width:760px){nav{height:76px}.nav-links{display:none}.hero{min-height:900px;background-position:66% center}.hero-content{padding:60px 0 160px}.hero-note{display:none}.event-meta{display:block;width:100%;padding:8px 0}.event-meta div,.event-meta div+div{border:0;padding:8px 0;margin:0}.intro,.included{grid-template-columns:1fr}.section-heading{display:block}.day-tabs{margin-top:30px;width:max-content}.timeline article{grid-template-columns:1fr;gap:12px}.included-grid{grid-template-columns:1fr}.included-grid article{min-height:auto}footer{display:block;text-align:center}footer .brand{justify-content:center}}
