:root{--rainbow-radius:2rem}
.rainbow-nav{padding:.72rem 1.15rem;border-radius:999px;transition:background .3s,border .3s,box-shadow .3s,padding .3s}
.rainbow-nav.is-top{background:rgba(12,19,31,.58);border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(16px);color:#fff}
.rainbow-nav.is-scrolled{background:rgba(255,255,255,.93);border:1px solid rgba(231,229,228,.9);box-shadow:0 12px 40px rgba(0,0,0,.08);backdrop-filter:blur(20px);padding-top:.58rem;padding-bottom:.58rem}
.rainbow-mark{width:40px;height:40px;flex:0 0 40px;border-radius:50%;background:var(--color-primary);color:white;display:grid;place-items:center;box-shadow:0 6px 18px rgba(15,118,110,.18)}
.rainbow-mark svg{width:22px;height:22px}
.rainbow-mark-footer{background:rgba(255,255,255,.1)}
.rainbow-brand-main{font-size:16px;letter-spacing:-.04em;color:white;transition:color .25s}
.rainbow-brand-sub{color:rgba(255,255,255,.68);transition:color .25s}
.is-scrolled .rainbow-brand-main{color:var(--color-dark)}
.is-scrolled .rainbow-brand-sub{color:#78716c}
.rainbow-nav-links a{color:rgba(255,255,255,.9);transition:color .2s}
.is-scrolled .rainbow-nav-links a{color:#57534e}
.rainbow-nav-links a:hover,.is-scrolled .rainbow-nav-links a:hover{color:var(--color-secondary)}
.rainbow-nav-contact{font-size:11px;font-weight:800;padding:.7rem .9rem;border-radius:999px;color:#fff;transition:all .2s}
.is-scrolled .rainbow-nav-contact{color:#57534e}
.rainbow-nav-contact:hover{background:rgba(255,255,255,.12)}
.is-scrolled .rainbow-nav-contact:hover{background:#f5f5f4}
.rainbow-nav-cta{display:inline-flex;align-items:center;gap:.55rem;border-radius:999px;background:var(--color-primary);color:#fff;padding:.72rem 1.1rem;font-size:11px;font-weight:800;box-shadow:0 5px 15px rgba(15,118,110,.16);transition:all .2s}
.rainbow-nav-cta:hover{background:var(--color-primary-hover);transform:translateY(-1px)}
.rainbow-menu-trigger{background:rgba(255,255,255,.16);color:white}
.is-scrolled .rainbow-menu-trigger{background:#f5f5f4;color:var(--color-dark)}
.mobile-rainbow-link{padding:13px 14px;border-radius:15px;background:#f7f6f3;color:#44403c;transition:background .2s}
.mobile-rainbow-link:hover{background:#e7e5e4}
.rainbow-footer{background:#0c131f;color:#d6d3d1;border-top:4px solid var(--color-secondary)}
.rainbow-footer-heading{font-size:11px;text-transform:uppercase;letter-spacing:.15em;color:#fff;font-weight:900;margin-bottom:1.25rem}
.rainbow-footer-links{display:grid;gap:.8rem;font-size:12px;color:rgba(255,255,255,.55)}
.rainbow-footer-links a:hover{color:var(--color-secondary)}
.rainbow-social{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.08);color:#d6d3d1;transition:all .2s}
.rainbow-social:hover{background:var(--color-secondary);color:#0c131f;transform:translateY(-2px)}
.rainbow-floating-actions{position:fixed;z-index:45;right:1.25rem;bottom:1.25rem;display:flex;flex-direction:column;gap:.65rem;align-items:flex-end}
.rainbow-float-call,.rainbow-float-wa{display:flex;align-items:center;justify-content:center;box-shadow:0 8px 25px rgba(0,0,0,.2);transition:transform .2s}
.rainbow-float-call{width:46px;height:46px;border-radius:50%;background:var(--color-dark);color:white;font-size:15px}
.rainbow-float-wa{height:52px;padding:0 18px;border-radius:999px;background:#25d366;color:#fff;gap:9px;font-size:13px;font-weight:900}
.rainbow-float-wa i{font-size:21px}
.rainbow-float-call:hover,.rainbow-float-wa:hover{transform:translateY(-3px)}
.rainbow-section{padding:4.5rem 0}
.rainbow-eyebrow{display:inline-flex;align-items:center;gap:.6rem;color:var(--color-primary);font-size:10px;font-weight:900;letter-spacing:.18em;text-transform:uppercase}
.rainbow-eyebrow:before{content:"";display:inline-block;width:28px;height:2px;background:var(--color-primary)}
.rainbow-section-title{color:var(--color-dark);font-size:clamp(1.8rem,4vw,3.15rem);line-height:1.08;font-weight:900;letter-spacing:-.045em}
.rainbow-section-subtitle{max-width:34rem;color:#78716c;font-size:13px;line-height:1.8}
.rainbow-hero-frame{min-height:720px;border-radius:2.5rem;overflow:hidden;position:relative;background:var(--color-dark);display:flex;flex-direction:column;justify-content:space-between;padding:8rem clamp(1rem,4vw,4rem) 1.5rem}
.rainbow-booking-dock{background:#fff;border:1px solid #e7e5e4;border-radius:1.65rem;padding:1rem;box-shadow:0 25px 70px rgba(0,0,0,.35)}
.rainbow-dock-field{min-width:0;border:1px solid #e7e5e4;background:#fafaf9;border-radius:1rem;padding:.62rem .8rem;transition:border-color .2s,background .2s}
.rainbow-dock-field:focus-within{border-color:var(--color-primary);background:white}
.rainbow-dock-field label{display:block;text-transform:uppercase;letter-spacing:.11em;color:#a8a29e;font-size:9px;font-weight:900}
.rainbow-dock-field input,.rainbow-dock-field select{width:100%;background:transparent;border:0;outline:0;color:var(--color-dark);font-size:12px;font-weight:800;min-width:0;margin-top:3px}
.rainbow-dark-panel{position:relative;overflow:hidden;border-radius:2.5rem;background:var(--color-dark);color:white}
.rainbow-dark-panel:before{content:"";position:absolute;inset:auto -10% -70% auto;width:24rem;height:24rem;border-radius:50%;background:var(--color-primary);filter:blur(95px);opacity:.26;pointer-events:none}
.rainbow-bento-card{position:relative;overflow:hidden;border-radius:2rem;min-height:250px;background:var(--color-dark);isolation:isolate}
.rainbow-bento-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .75s;z-index:-2}
.rainbow-bento-card:hover img{transform:scale(1.06)}
.rainbow-bento-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(12,19,31,.9),rgba(12,19,31,.14));z-index:-1}
.rainbow-fleet-card,.rainbow-package-card{background:#fff;border:1px solid #e7e5e4;border-radius:2rem;overflow:hidden;box-shadow:0 8px 30px rgba(0,0,0,.035);transition:transform .25s,box-shadow .25s,border-color .25s}
.rainbow-fleet-card:hover,.rainbow-package-card:hover{transform:translateY(-5px);box-shadow:0 20px 50px rgba(0,0,0,.09);border-color:color-mix(in srgb,var(--color-primary) 40%,white)}
.rainbow-card-img{width:100%;height:220px;object-fit:cover;transition:transform .7s}
.rainbow-fleet-card:hover .rainbow-card-img,.rainbow-package-card:hover .rainbow-card-img{transform:scale(1.045)}
.rainbow-ticket-divider{height:1px;border-top:2px dashed #e7e5e4;position:relative;margin:.4rem 0}
.rainbow-destination-card{position:relative;overflow:hidden;border-radius:2rem;min-height:300px;background:var(--color-dark)}
.rainbow-destination-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s}
.rainbow-destination-card:hover img{transform:scale(1.06)}
.rainbow-rich-card{border:1px solid #e7e5e4;border-radius:1.6rem;background:white;padding:1.5rem}
.rainbow-form-input{width:100%;border:1px solid #e7e5e4;border-radius:12px;padding:12px 14px;font-size:12px;background:white;outline:none;transition:border .2s,box-shadow .2s}
.rainbow-form-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 14%,transparent)}
.booking-feedback{font-size:11px;margin-top:8px;color:#64748b}.booking-feedback.success{color:#047857}.booking-feedback.error{color:#b91c1c}
.rainbow-cta{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;border-radius:999px;background:var(--color-primary);color:white;font-weight:900;font-size:12px;padding:13px 20px;transition:all .2s}
.rainbow-cta:hover{background:var(--color-primary-hover);transform:translateY(-2px)}
.rainbow-cta-gold{background:var(--color-secondary);color:var(--color-dark)}
.rainbow-cta-gold:hover{filter:brightness(.94);background:var(--color-secondary);color:var(--color-dark)}
@media(max-width:767px){
 .rainbow-nav{padding:.58rem .8rem}.rainbow-nav.is-scrolled{padding:.52rem .8rem}
 .rainbow-hero-frame{min-height:850px;border-radius:1.6rem;padding:7.2rem 1rem 1rem}
 .rainbow-section{padding:3.25rem 0}
 .rainbow-booking-dock{border-radius:1.3rem;padding:.8rem}
 .rainbow-card-img{height:205px}
 .rainbow-floating-actions{right:.8rem;bottom:.8rem}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
