:root{--ink:#082c2b;--cream:#f5f0e6;--orange:#f0643b;--yellow:#f6c84b;--mint:#bdd8c6;--paper:#fffaf0}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:"Assistant",sans-serif}.page-shell{overflow:hidden}.topbar{height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(24px,7vw,100px);border-bottom:1px solid rgba(8,44,43,.14);position:absolute;width:100%;z-index:3}.brand{display:flex;align-items:center;gap:10px;color:inherit;text-decoration:none;font-weight:700}.brand-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--orange);color:white;font-family:Georgia,serif;font-style:italic}.flight-chip{font-size:14px;border:1px solid rgba(8,44,43,.2);border-radius:50px;padding:8px 14px}.live-dot{width:7px;height:7px;background:#50a678;border-radius:50%;display:inline-block;margin-left:7px;box-shadow:0 0 0 4px rgba(80,166,120,.12)}.hero{min-height:100vh;padding:145px clamp(24px,9vw,130px) 70px;position:relative;background:radial-gradient(circle at 13% 25%,rgba(246,200,75,.18),transparent 22%),var(--cream)}.hero:after{content:"";position:absolute;left:-8vw;bottom:-20vw;width:48vw;height:48vw;border:1px solid rgba(8,44,43,.08);border-radius:50%;box-shadow:0 0 0 70px rgba(8,44,43,.025),0 0 0 140px rgba(8,44,43,.02)}.eyebrow,.section-number{font:700 12px Heebo,sans-serif;letter-spacing:2.5px;color:var(--orange);margin-bottom:20px}.hero h1,.wish-section h2,.kit-section h2,.finale h2{font:900 clamp(64px,10vw,142px)/.86 Heebo,sans-serif;letter-spacing:-6px;margin:0;max-width:920px}.hero h1 em,.wish-section h2 em,.kit-section h2 em,.finale h2 em{font-family:Georgia,serif;font-weight:400;color:var(--orange)}.intro{max-width:480px;font-size:20px;line-height:1.65;margin:35px 0}.primary-button,.celebrate-button{border:0;background:var(--ink);color:white;padding:16px 24px;border-radius:4px;font:700 16px Assistant;cursor:pointer;display:flex;gap:45px;align-items:center;transition:.25s}.primary-button:hover,.celebrate-button:hover{transform:translateY(-3px);box-shadow:0 12px 25px rgba(8,44,43,.2)}.route-card{position:absolute;left:7vw;top:29%;width:min(390px,34vw);padding:28px;background:var(--paper);border:1px solid rgba(8,44,43,.14);box-shadow:14px 14px 0 var(--mint);transform:rotate(-2deg);z-index:1}.route-card:before{content:"BOARDING PASS";position:absolute;top:12px;left:18px;font:700 9px Heebo;letter-spacing:2px;color:#a99f8d}.airport{display:inline-flex;flex-direction:column}.airport strong{font:900 44px Heebo}.airport span{font-size:13px}.destination{float:left;text-align:left}.route-line{display:flex;align-items:center;gap:8px;margin:24px 0 18px;direction:ltr}.route-line i{height:1px;background:rgba(8,44,43,.3);flex:1}.plane{color:var(--orange);font-size:23px;transform:rotate(-8deg)}.ticket-meta{border-top:1px dashed #bab2a4;padding-top:15px;display:flex;justify-content:space-between;font-size:11px}.scroll-note{position:absolute;bottom:35px;right:9vw;font-size:13px}.scroll-note span{color:var(--orange);font-size:20px}.wish-section{padding:120px clamp(24px,9vw,130px);background:var(--paper)}.wish-grid{display:grid;grid-template-columns:1fr 1fr;gap:10vw;align-items:start}.wish-section h2{font-size:clamp(45px,6.2vw,85px);letter-spacing:-4px;line-height:.97}.letter{position:relative;font-size:19px;line-height:1.75;padding-top:20px}.letter p{margin:0 0 20px}.quote-mark{position:absolute;right:-45px;top:-20px;color:var(--yellow);font:120px Georgia;opacity:.55}.signature{margin-top:40px;padding-top:24px;border-top:1px solid rgba(8,44,43,.15)}.kit-section{background:var(--ink);color:var(--cream);padding:110px clamp(24px,9vw,130px)}.section-number.light{color:var(--yellow)}.kit-section h2{font-size:clamp(50px,7vw,92px);letter-spacing:-4px;margin-bottom:60px}.kit-section h2 em{color:var(--yellow)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.kit-card{min-height:310px;border:1px solid rgba(255,255,255,.18);padding:28px;display:flex;flex-direction:column;transition:.3s}.kit-card:hover{transform:translateY(-7px);border-color:var(--yellow)}.kit-card.featured{background:var(--orange);border-color:var(--orange);transform:rotate(1.5deg)}.kit-card.featured:hover{transform:rotate(1.5deg) translateY(-7px)}.kit-card>span{font:600 11px Heebo;color:var(--yellow);letter-spacing:2px}.featured>span{color:var(--cream)}.icon{font-size:42px;margin:auto 0 30px;color:var(--yellow)}.featured .icon{color:white}.kit-card h3{font:700 28px Heebo;margin:0 0 8px}.kit-card p{line-height:1.55;margin:0;opacity:.8}.finale{min-height:75vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:90px 24px;position:relative;background:var(--yellow)}.finale>p{font:700 11px Heebo;letter-spacing:3px}.finale h2{font-size:clamp(60px,8vw,112px);letter-spacing:-5px;line-height:.9}.finale h2 em{color:var(--orange)}.celebrate-button{margin:45px auto 20px;background:var(--orange);gap:16px}.celebrate-button span{transition:.5s}.celebrate-button:hover span{transform:rotate(180deg)}.finale small{opacity:.65}.confetti-piece{position:fixed;z-index:99;top:-20px;width:10px;height:18px;animation:fall linear forwards}@keyframes fall{to{transform:translate3d(var(--drift),110vh,0) rotate(780deg)}}
.journey-section{padding:120px clamp(24px,7vw,100px);background:#d9e6dc}.journey-heading{display:grid;grid-template-columns:1.3fr .7fr;gap:8vw;align-items:end;margin-bottom:70px}.journey-heading h2{font:900 clamp(52px,7vw,96px)/.9 Heebo,sans-serif;letter-spacing:-5px;margin:0}.journey-heading h2 em{font-family:Georgia,serif;font-weight:400;color:var(--orange)}.journey-heading p{font-size:19px;line-height:1.65;margin:0 0 10px}.timeline{display:grid;grid-template-columns:repeat(4,1fr);direction:rtl}.stop{position:relative;min-height:335px;padding:25px;border:1px solid rgba(8,44,43,.22);margin-left:-1px;background:rgba(255,250,240,.35);display:flex;flex-direction:column;transition:.3s}.stop:after{content:"←";position:absolute;left:-12px;top:50%;z-index:2;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--orange);color:white;font-size:12px}.stop:last-child:after{display:none}.stop:hover{background:var(--paper);transform:translateY(-7px);z-index:3}.stop-top{display:flex;justify-content:space-between;align-items:center}.flag{font-size:27px}.days{font:700 12px Heebo;border:1px solid currentColor;border-radius:50px;padding:5px 10px}.stop-number{margin:auto 0 12px;font:700 11px Heebo;letter-spacing:2px;color:var(--orange)}.stop h3{font:800 31px Heebo;margin:0 0 8px}.stop p{line-height:1.55;margin:0;opacity:.72}.journey-total{direction:ltr;display:flex;align-items:center;gap:15px;margin-top:40px;font:700 12px Heebo;letter-spacing:1px}.journey-total i{height:1px;background:rgba(8,44,43,.25);flex:1}.journey-total b{color:var(--orange)}
.map-wrap{margin-top:65px;background:var(--paper);border:1px solid rgba(8,44,43,.2);padding:18px;box-shadow:12px 12px 0 rgba(8,44,43,.12)}.map-title{display:flex;align-items:center;justify-content:space-between;padding:8px 8px 18px}.map-title span{font:700 10px Heebo;letter-spacing:2px;color:var(--orange)}.map-title h3{font:800 25px Heebo;margin:2px 0 0}.map-title button{border:1px solid rgba(8,44,43,.25);background:transparent;color:var(--ink);padding:10px 14px;border-radius:50px;font:700 13px Assistant;cursor:pointer}.map-title button:hover{background:var(--ink);color:white}#tripMap{height:520px;background:#cbded6;z-index:1}.map-legend{display:flex;align-items:center;gap:24px;padding:15px 8px 2px;font-size:12px;color:rgba(8,44,43,.68)}.map-legend span{display:flex;align-items:center;gap:7px}.legend-dot{width:9px;height:9px;border-radius:50%;background:var(--orange)}.legend-line{width:24px;height:3px;background:var(--orange);display:inline-block}.trip-marker{background:var(--ink);color:white;border:3px solid var(--paper);border-radius:50%;display:grid;place-items:center;font:800 12px Heebo;box-shadow:0 3px 12px rgba(8,44,43,.3)}.trip-marker.start{background:var(--orange)}.leaflet-popup-content-wrapper{border-radius:3px;font-family:Assistant,sans-serif}.leaflet-popup-content{text-align:right;direction:rtl;line-height:1.45}.leaflet-popup-content strong{font:800 18px Heebo}.leaflet-popup-tip{background:white}
@media(max-width:800px){.map-title{align-items:flex-start;gap:15px}.map-title button{font-size:11px}#tripMap{height:430px}.map-legend{flex-wrap:wrap;gap:10px 20px}.journey-heading{grid-template-columns:1fr;gap:25px}.journey-heading h2{letter-spacing:-3px}.timeline{grid-template-columns:1fr}.stop{min-height:245px;margin:0 0 -1px}.stop:after{content:"↓";left:50%;top:auto;bottom:-12px}.journey-total b{font-size:10px}.hero{padding-top:125px;min-height:980px}.hero h1{font-size:64px;letter-spacing:-4px}.route-card{top:auto;bottom:120px;left:8%;width:84%;transform:rotate(-1deg)}.wish-grid{grid-template-columns:1fr;gap:50px}.quote-mark{right:auto;left:0}.cards{grid-template-columns:1fr}.kit-card{min-height:260px}.kit-card.featured{transform:none}.ticket-meta{gap:10px}.topbar{padding:0 22px}.flight-chip{font-size:12px}.scroll-note{right:24px}.finale h2{letter-spacing:-3px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation-duration:.01ms!important;transition:none!important}}
