:root{--font-main:"Plus Jakarta Sans", "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-display:"Outfit", "Plus Jakarta Sans", sans-serif;--primary-red:#ea2e2e;--primary-red-hover:#d32020;--primary-red-light:#fff1f2;--primary-teal:#0097a7;--primary-teal-light:#e0f7f6;--accent-green:#10b981;--accent-green-light:#e2f7eb;--accent-pink:#f43f5e;--accent-pink-light:#fee7ed;--ita-green:#009246;--ita-dark:#111827;--ita-red:#ce2b37;--bg-main:#f8fafc;--bg-card:#fff;--text-main:#0f172a;--text-muted:#64748b;--text-subtle:#94a3b8;--border-light:#e2e8f0;--border-subtle:#f1f5f9;--shadow-sm:0 1px 3px #0000000f, 0 1px 2px #0000000a;--shadow-md:0 4px 14px #00000012, 0 2px 6px #0000000a;--shadow-lg:0 12px 28px #0000001a, 0 4px 10px #0000000d;--shadow-xl:0 20px 40px -10px #0000002e, 0 8px 16px -6px #00000014;--shadow-floating:0 15px 35px #0f172a1f, 0 5px 15px #0f172a0f;--radius-sm:8px;--radius-md:14px;--radius-lg:20px;--radius-xl:28px;--radius-pill:9999px;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-normal:.25s cubic-bezier(.4, 0, .2, 1);--transition-bounce:.35s cubic-bezier(.34, 1.56, .64, 1)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-family:var(--font-main);background-color:var(--bg-main);color:var(--text-main);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{min-height:100vh;line-height:1.5;overflow-x:hidden}button{cursor:pointer;background:0 0;border:none;outline:none;font-family:inherit}input,select,textarea{border:none;outline:none;font-family:inherit}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#f1f5f9}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes pulseGlow{0%,to{opacity:.8;transform:scale(1)}50%{opacity:1;transform:scale(1.03)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:.35s ease-out forwards fadeIn}.animate-slide-down{animation:.3s cubic-bezier(.16,1,.3,1) forwards slideDown}:root{--teal:#1d4b57;--teal-deep:#133841;--teal-soft:#2c6b78;--lime:#dbe982;--lime-soft:#eef4c6;--mint:#eef5f1;--ink:#17343c;--ink-soft:#5d7378;--line:#dfe8e4;--primary-red:#e0453a;--font-main:"Plus Jakarta Sans", system-ui, sans-serif;--font-serif:"DM Serif Display", Georgia, serif;--font-script:"Pinyon Script", cursive;--font-display:"Outfit", sans-serif;--shape:14px 70px 14px 14px;--shape-sm:10px 48px 10px 10px}.one-pager{min-height:100vh;color:var(--ink);font-family:var(--font-main);background:#fff;overflow-x:hidden}.container{width:100%;max-width:1180px;margin:0 auto;padding:0 24px}.section{padding:96px 0}.section--tint{background:linear-gradient(180deg, var(--mint) 0%, #f7faf3 100%)}.eyebrow{font-family:var(--font-serif);letter-spacing:1.5px;text-transform:uppercase;color:var(--ink-soft);margin-bottom:10px;font-size:14px;display:block}.eyebrow--light{color:#ffffffb3}.section-title{font-family:var(--font-serif);color:var(--teal);margin-bottom:14px;font-size:clamp(34px,5vw,54px);font-weight:400;line-height:1.05}.section-title em,.hero-title em,.explore-title em,.contact-body h3 em{color:var(--teal-soft);font-style:italic}.section-intro{color:var(--ink-soft);font-family:var(--font-serif);max-width:560px;margin-bottom:48px;font-size:18px;line-height:1.6}.hero{background:radial-gradient(700px 480px at 0 0,#dbe9828c,#0000 60%),radial-gradient(800px 600px at 55% 45%,#7abac447,#0000 65%),linear-gradient(#f4f8ef 0%,#eef5f3 100%);padding-bottom:40px;position:relative}.nav{border-bottom:1px dashed #1d4b5740;justify-content:space-between;align-items:center;gap:24px;padding:28px 0 22px;display:flex}.nav-logo{font-family:var(--font-script);color:var(--teal);font-size:40px;line-height:1}.nav-logo--light{color:#fff}.nav-links{gap:44px;list-style:none;display:flex}.nav-links a{color:var(--teal);letter-spacing:.4px;font-size:15px;font-weight:500;transition:opacity .2s}.nav-links a:hover{opacity:.6}.nav-call{background:var(--lime);color:var(--teal);font-family:var(--font-serif);border-radius:8px;align-items:center;gap:8px;padding:11px 26px;font-size:16px;transition:transform .2s;display:inline-flex;box-shadow:0 6px 16px -6px #96aa2899}.nav-call:hover{transform:translateY(-2px)}.hero-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:center;gap:40px;padding-top:52px;display:grid}.hero-kicker{font-family:var(--font-serif);letter-spacing:1.5px;color:var(--ink-soft);font-size:15px}.hero-tagline{letter-spacing:2px;color:var(--primary-red);margin-top:6px;font-size:12px;font-weight:800}.hero-title{font-family:var(--font-serif);color:var(--teal);margin-top:14px;font-size:clamp(44px,6.4vw,76px);font-weight:400;line-height:1.02}.hero-sub{max-width:480px;font-family:var(--font-serif);color:var(--ink-soft);margin-top:22px;font-size:19px;line-height:1.55}.hero-win{color:var(--teal);border:1px solid var(--line);background:#ffffffb3;border-radius:999px;align-items:center;gap:8px;margin-top:18px;padding:8px 16px;font-size:13.5px;display:inline-flex}.hero-win strong{font-weight:800}.activity-label{font-family:var(--font-serif);letter-spacing:1.5px;color:var(--ink-soft);margin-top:34px;font-size:15px}.activity-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:14px;display:grid}.activity-card{border-radius:var(--shape-sm);background:var(--lime);color:var(--teal);flex-direction:column;gap:4px;padding:7px 7px 12px;transition:transform .25s;display:flex}.activity-card:hover{transform:translateY(-4px)}.activity-card img{aspect-ratio:1/.9;object-fit:cover;border-radius:8px 42px 8px 8px;width:100%;margin-bottom:6px}.activity-card strong{font-family:var(--font-serif);padding:0 6px;font-size:15px;font-weight:400;line-height:1.15}.activity-card span{opacity:.75;align-items:center;gap:5px;padding:0 6px;font-size:11.5px;display:inline-flex}.activity-card--dark{background:var(--teal);color:#fff}.activity-card--main{box-shadow:0 0 0 2px var(--primary-red)}.hero-art{aspect-ratio:520/560;justify-self:end;width:100%;max-width:520px;position:relative}.water-letters{position:absolute;inset:0}.water-letters-text{font-family:Outfit,Arial Black,sans-serif;font-size:330px;font-weight:900}.water-letters-fill{clip-path:url(#spin-letters);background:var(--teal-soft) url(/bahamas-beach-poster.jpg) center / cover;position:absolute;inset:0}.water-letters-video{object-fit:cover;object-position:30% top;width:100%;height:100%;transform:scale(1.4)}.water-letters-fill:after{content:"";mix-blend-mode:multiply;background:linear-gradient(#1d6b7800 25%,#1d6b78d9 75%);position:absolute;inset:0}.hero-rings{z-index:1;fill:none;stroke:#b9cf3c;stroke-width:1.5px;stroke-dasharray:5 6;pointer-events:none;width:78%;position:absolute;top:14%;left:-6%}.hero-flyer{z-index:2;border:5px solid #fff;border-radius:14px;width:38%;transition:transform .3s;position:absolute;bottom:-6%;right:-6%;overflow:hidden;transform:rotate(8deg);box-shadow:0 30px 50px -20px #13384199}.hero-flyer:hover{transform:rotate(4deg)translateY(-6px)}.hero-flyer img{width:100%;height:auto}.hero-chip{z-index:2;background:var(--teal);color:#fff;font-family:var(--font-serif);border-radius:999px;align-items:center;gap:6px;padding:10px 18px;font-size:15px;display:inline-flex;position:absolute;bottom:8%;left:0;box-shadow:0 14px 28px -12px #13384199}.info-bar{z-index:3;background:#fff;border-radius:22px;grid-template-columns:repeat(4,minmax(0,1fr)) auto;align-items:center;gap:16px;margin-top:36px;padding:18px;display:grid;position:relative;box-shadow:0 24px 50px -24px #13384159}.info-item{color:var(--teal);background:#f3f6f6;border-radius:10px;align-items:center;gap:14px;min-width:0;padding:14px 16px;display:flex}.info-item>svg{flex-shrink:0}.info-item small{font-family:var(--font-serif);letter-spacing:1px;color:var(--ink-soft);font-size:11px;display:block}.info-item strong{font-family:var(--font-serif);color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:15.5px;font-weight:400;display:block;overflow:hidden}.info-cta{background:var(--teal);color:#fff;border-radius:999px;justify-content:center;align-items:center;width:104px;height:56px;transition:background .2s,transform .2s;display:flex;box-shadow:0 12px 24px -10px #133841b3}.info-cta:hover{background:var(--teal-deep);transform:translate(3px)}.explore{color:#fff;background:linear-gradient(90deg,#133841f5 0%,#133841d1 55%,#1338418c 100%),url(/bahamas-beach-poster.jpg) 50%/cover no-repeat;padding:80px 0;position:relative}.explore-inner{grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);align-items:center;gap:56px;display:grid}.explore-title{font-family:var(--font-serif);border-bottom:1px dashed #ffffff4d;padding-bottom:22px;font-size:clamp(40px,5vw,60px);font-weight:400;line-height:1}.explore-title em{color:var(--lime)}.explore-lead{font-family:var(--font-serif);margin-top:22px;font-size:24px}.explore-text{font-family:var(--font-serif);color:#ffffffbf;margin-top:8px;font-size:17px;line-height:1.6}.pill-btn{background:var(--lime);color:var(--teal);font-family:var(--font-serif);border-radius:8px;align-items:center;gap:8px;margin-top:26px;padding:11px 22px;font-size:16px;transition:transform .2s;display:inline-flex}.pill-btn:hover{transform:translate(3px)}.flyer-row{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.flyer-thumb{border-radius:var(--shape-sm);background:var(--lime);color:var(--teal);font-family:var(--font-serif);text-align:center;flex-direction:column;gap:10px;padding:8px 8px 12px;font-size:15px;transition:transform .25s;display:flex}.flyer-thumb:nth-child(2){background:#fff}.flyer-thumb:hover{transform:translateY(-5px)}.flyer-thumb img{aspect-ratio:3/4;object-fit:cover;object-position:top;border-radius:8px 42px 8px 8px;width:100%}.lineup{padding-bottom:72px}.lineup-grid{columns:3;column-gap:22px}.lineup-card{break-inside:avoid;border-radius:var(--shape);background:var(--lime-soft);margin-bottom:22px;padding:8px;transition:transform .25s;display:block}.lineup-card:nth-child(2n){background:var(--teal)}.lineup-card:hover{transform:translateY(-4px)}.lineup-card img{border-radius:10px 62px 10px 10px;width:100%;height:auto}.lineup-caption{font-family:var(--font-serif);color:var(--teal);padding:12px 8px 6px;font-size:17px;display:block}.lineup-card:nth-child(2n) .lineup-caption{color:#fff}.feature-grid{grid-template-columns:repeat(3,1fr);gap:22px;display:grid}.feature{border-radius:var(--shape);border:1px solid var(--line);background:#fff;padding:30px 28px}.feature--dark{background:var(--teal);border-color:var(--teal);color:#fff}.feature-icon{background:var(--lime);width:52px;height:52px;color:var(--teal);border-radius:12px;justify-content:center;align-items:center;margin-bottom:22px;display:flex}.feature h3{font-family:var(--font-serif);margin-bottom:10px;font-size:24px;font-weight:400}.feature p{color:var(--ink-soft);font-size:15px;line-height:1.65}.feature--dark p{color:#ffffffc7}.cost-images{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:24px;margin-top:56px;display:grid}.cost-images img{border-radius:var(--shape);width:100%;height:auto;box-shadow:0 22px 44px -22px #13384173}.cost-note{text-align:center;font-family:var(--font-serif);color:var(--teal);margin-top:30px;font-size:18px}.day-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:40px;display:grid}.day-card{border-radius:var(--shape);background:var(--lime);color:var(--teal);flex-direction:column;padding:8px;transition:transform .25s,box-shadow .25s;display:flex}.day-card:hover{transform:translateY(-6px);box-shadow:0 24px 40px -20px #13384173}.day-card--dark{background:var(--teal);color:#fff}.day-card--main{box-shadow:0 0 0 2px var(--primary-red)}.day-media{background:var(--teal-soft);border-radius:10px 62px 10px 10px;height:200px;position:relative;overflow:hidden}.day-media img{object-fit:cover;width:100%;height:100%;transition:transform .6s}.day-card:hover .day-media img{transform:scale(1.06)}.day-num{font-family:var(--font-serif);letter-spacing:1px;color:var(--teal);background:#ffffffe0;border-radius:999px;padding:4px 11px;font-size:13px;position:absolute;top:12px;left:12px}.day-flag{text-transform:uppercase;letter-spacing:.8px;color:#fff;background:var(--primary-red);border-radius:999px;align-items:center;gap:4px;padding:5px 10px;font-size:11px;font-weight:800;display:inline-flex;position:absolute;bottom:12px;left:12px}.day-body{padding:16px 10px 14px}.day-head{align-items:flex-start;gap:10px;display:flex}.day-icon{background:var(--teal);width:36px;height:36px;color:var(--lime);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.day-card--dark .day-icon{background:var(--lime);color:var(--teal)}.day-date{letter-spacing:.8px;opacity:.7;font-size:11px;font-weight:700;display:block}.day-theme{font-family:var(--font-serif);margin-top:2px;font-size:20px;font-weight:400;line-height:1.1}.day-items{flex-direction:column;gap:8px;margin-top:14px;list-style:none;display:flex}.day-items li{opacity:.85;padding-left:14px;font-size:13.5px;line-height:1.45;position:relative}.day-items li:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px;position:absolute;top:7px;left:0}.main-event{text-align:center;background:radial-gradient(500px 200px at 50% 0%, #dbe98240, transparent 70%), var(--teal);color:#fff;border-radius:20px 90px 20px 20px;margin-top:44px;padding:44px 24px}.main-event-icon{color:var(--lime);margin-bottom:8px}.main-event h3{font-family:var(--font-serif);letter-spacing:1px;font-size:40px;font-weight:400}.main-event p{font-family:var(--font-serif);color:#ffffffd1;max-width:520px;margin:10px auto 0;font-size:18px;line-height:1.6}.guests{background:var(--teal) url(/bahamas-beach-poster.jpg) center / cover no-repeat;padding:96px 0;position:relative;overflow:hidden}.guests-video,.contact-video{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.guests-shade{background:#133841b8;position:absolute;inset:0}.guests-inner{z-index:1;text-align:center;color:#fff;position:relative}.quote{font-family:var(--font-serif);font-size:clamp(30px,4.5vw,48px);font-style:italic}.celebrating{letter-spacing:1px;color:var(--lime);text-transform:uppercase;align-items:center;gap:8px;margin:16px auto 40px;font-size:14px;font-weight:800;display:inline-flex}.guest-grid{flex-wrap:wrap;justify-content:center;gap:22px;display:flex}.guest-card{background:var(--lime);color:var(--teal);border-radius:var(--shape);min-width:230px;margin-top:26px;padding:44px 34px 24px;position:relative}.guest-card:nth-child(2n){background:#fff}.guest-avatar{border:3px solid var(--teal);background:#fff;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;font-size:26px;display:flex;position:absolute;top:-28px;left:50%;transform:translate(-50%)}.guest-card h4{font-family:var(--font-serif);font-size:22px;font-weight:400}.guest-card p{opacity:.75;margin-top:4px;font-size:13px}.lvo-chip{color:#fff;font-family:var(--font-serif);letter-spacing:1.5px;border:1px dashed #fff9;border-radius:999px;align-items:center;gap:8px;margin-top:40px;padding:12px 24px;font-size:17px;display:inline-flex}.contact-card{background:var(--lime-soft);border-radius:20px 90px 20px 20px;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);max-width:960px;margin:0 auto;display:grid;overflow:hidden}.contact-media{background:var(--teal-soft) url(/bahamas-beach-poster.jpg) center / cover no-repeat;min-height:260px;position:relative}.contact-body{flex-direction:column;justify-content:center;align-items:flex-start;gap:12px;padding:44px 40px;display:flex}.contact-body .eyebrow{margin-bottom:0}.contact-body h3{font-family:var(--font-serif);color:var(--teal);font-size:30px;font-weight:400;line-height:1.2}.contact-btn{background:var(--teal);color:#fff;font-family:var(--font-serif);border-radius:999px;align-items:center;gap:10px;margin-top:8px;padding:13px 26px;font-size:18px;transition:background .2s;display:inline-flex}.contact-btn:hover{background:var(--teal-deep)}.page-footer{background:var(--teal-deep);color:#fff;padding:52px 0 32px}.footer-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;display:flex}.footer-meta{color:#fff9;margin-top:8px;font-size:13px}.footer-tel{font-family:var(--font-serif);color:var(--lime);align-items:center;gap:8px;font-size:19px;display:inline-flex}.footer-copy{color:#ffffff80;border-top:1px dashed #fff3;margin-top:32px;padding-top:20px;font-size:12.5px}@media (width<=1080px){.nav-links{gap:26px}.hero-grid{grid-template-columns:1fr}.hero-art{order:-1;justify-self:center;max-width:460px}.info-bar{grid-template-columns:repeat(2,minmax(0,1fr))}.info-cta{grid-column:1/-1;width:100%}.explore-inner{grid-template-columns:1fr}.day-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.nav-links{display:none}.nav-logo{font-size:34px}.hero-grid{padding-top:32px}.hero-art{max-width:340px}.activity-row{grid-template-columns:repeat(2,minmax(0,1fr))}.info-bar{grid-template-columns:1fr;padding:14px}.section{padding:64px 0}.feature-grid,.cost-images,.day-grid,.contact-card{grid-template-columns:1fr}.flyer-row{gap:10px}.lineup-grid{columns:2;column-gap:12px}.lineup-card{margin-bottom:12px}.contact-body{padding:32px 24px}}@media (prefers-reduced-motion:reduce){.day-card,.day-media img,.activity-card,.flyer-thumb,.lineup-card,.hero-flyer,.pill-btn,.nav-call,.info-cta{transition:none}}
