:root{--ink:#083b51;--navy:#06465e;--blue:#087fa7;--aqua:#00b9bd;--cream:#fff9ea;--sun:#ffce32;--orange:#ff6837;--coral:#ff5948;--muted:#5b7886;--sh:0 15px 45px #06465e19}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:84px}body{margin:0;font-family:'DM Sans',sans-serif;color:var(--ink);background:#fff}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Outfit,sans-serif}h2{font-size:clamp(36px,4.7vw,65px);font-weight:900;line-height:1.04;letter-spacing:-2.1px}h2 em{font-style:normal;color:var(--orange)}p{line-height:1.7}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.wrap{width:min(1200px,calc(100% - 48px));margin:auto}.section{padding:95px 0}.tag{display:inline-block;color:#0784a8;font-size:12px;font-weight:900;letter-spacing:2px;margin-bottom:19px}.tag.light{color:#ffe17d}.announcement{background:#ffcc39;color:#114356;display:flex;justify-content:center;gap:30px;align-items:center;font-size:12px;font-weight:800;min-height:34px;padding:5px 15px}.announcement a{text-decoration:underline}.header{height:83px;position:sticky;z-index:60;top:0;background:#fff;box-shadow:0 4px 22px #083b510c}.nav,.brand,#nav{display:flex;align-items:center}.nav{height:100%;justify-content:space-between;gap:20px}.brand{gap:10px;flex-shrink:0}.brand img{width:62px;height:62px;border-radius:50%;object-fit:contain}.brand b{display:block;font-size:22px;font-family:Outfit;font-weight:900;letter-spacing:1px}.brand small{display:block;font-size:8px;font-weight:900;letter-spacing:2px;color:#138da7}.nav nav{gap:26px;font-size:13px;font-weight:800}.nav nav>a:not(.btn):hover{color:#ed643a}.lang{background:#def7f5;border:0;color:#057b86;border-radius:99px;padding:12px 15px;font-weight:900}.mobilemenu{display:none}.btn{display:inline-flex;align-items:center;justify-content:center;text-align:center;gap:10px;border:0;border-radius:99px;padding:16px 23px;font-weight:900;font-size:13px;letter-spacing:.3px;transition:transform .2s,box-shadow .2s}.btn:hover{transform:translateY(-3px);box-shadow:0 12px 25px #09394e2b}.btn-orange{background:var(--orange);color:white;box-shadow:0 9px 22px #ff68374a}.btn-sm{padding:14px 20px}.btn-lg{padding:20px 28px}.btn-ghost{color:white;border:2px solid #fffc;background:#ffffff17;backdrop-filter:blur(4px)}.hero{min-height:730px;position:relative;overflow:hidden;display:flex;align-items:center;color:#fff}.hero-photo{position:absolute;inset:0;background:url('assets/photo_22.jpg') center 60%/cover no-repeat;filter:saturate(1.13)}.hero-color{position:absolute;inset:0;background:linear-gradient(105deg,#03485de8 0%,#055871cb 47%,#006e9b56 100%)}.hero-inside{position:relative;display:grid;grid-template-columns:1.25fr .75fr;gap:50px;align-items:center;padding:80px 0 100px}.hero-copy h1{font-size:clamp(68px,8vw,123px);line-height:.90;font-weight:900;letter-spacing:-5px;text-shadow:0 8px 28px #00344e46;max-width:760px}.hero-copy h1 em{font-style:normal;color:#ffe049}.hero-copy p{font-size:18px;color:#fff;max-width:650px;margin:25px 0 28px}.hero-tag{color:#fff;background:#ffffff23;padding:10px 17px;border:1px solid #ffffff69;border-radius:30px}.hero-cta,.hero-badges{display:flex;flex-wrap:wrap;gap:12px}.hero-badges{margin-top:28px}.hero-badges span{font-size:12px;padding:10px 13px;border-radius:20px;background:#fff2;font-weight:800;border:1px solid #ffffff36}.hero-postcard{background:white;border:9px solid white;border-radius:24px;box-shadow:0 28px 70px #022c4d4a;transform:rotate(4deg);overflow:hidden;color:var(--navy);align-self:center}.hero-postcard img{width:100%;height:270px;object-fit:cover}.hero-postcard div{display:flex;flex-direction:column;gap:4px;padding:20px}.hero-postcard b{font-family:Outfit;font-size:24px;font-weight:900}.hero-postcard span{font-size:13px;color:var(--muted)}.scroll-indicator{position:absolute;bottom:25px;left:50%;font-size:25px}.ticker{background:#04a8ba;color:#fff;font-family:Outfit;font-size:24px;font-weight:900;letter-spacing:3px;white-space:nowrap;overflow:hidden;height:63px;display:flex;align-items:center}.ticker>div{animation:slide 24s linear infinite}@keyframes slide{to{transform:translateX(-30%)}}.intro{background:#fff}.intro-layout{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center}.intro-layout p{margin:23px 0;color:var(--muted);max-width:550px}.underlink{font-weight:900;color:#0087a7;border-bottom:3px solid #ffc72b;padding-bottom:5px}.intro-photos{height:450px;position:relative}.intro-ph{position:absolute;overflow:hidden;border-radius:25px;box-shadow:var(--sh);border:8px solid white}.intro-ph img{height:100%;width:100%;object-fit:cover}.intro-ph.big{width:74%;height:84%;left:0;top:0;transform:rotate(-3deg)}.intro-ph.small{width:49%;height:56%;right:0;bottom:0;transform:rotate(7deg)}.sunseal{position:absolute;right:0;top:0;width:120px;height:120px;border-radius:50%;background:#ffd641;transform:rotate(12deg);display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;z-index:2;font-family:Outfit;font-size:16px;font-weight:900;line-height:1.05;box-shadow:var(--sh)}.sunseal span{font-size:30px}.experiences{background:#e9fbfd}.head{margin-bottom:36px}.head.split{display:flex;justify-content:space-between;align-items:end;gap:30px}.head.split>p{max-width:370px;color:var(--muted)}.head.center{text-align:center;max-width:850px;margin-left:auto;margin-right:auto}.head.center p{color:var(--muted);margin-top:18px}.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:26px}.filters button{padding:13px 18px;border:2px solid #b8e8ec;background:white;color:var(--blue);border-radius:30px;font-weight:900}.filters button.active{background:var(--blue);color:white;border-color:var(--blue);box-shadow:0 8px 18px #007fa73b}.exp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:23px}.exp-card{background:white;border-radius:23px;box-shadow:var(--sh);overflow:hidden;display:flex;flex-direction:column;transition:transform .2s}.exp-card:hover{transform:translateY(-6px)}.exp-media{height:242px;background:#d7f8fa;padding:10px;position:relative}.exp-media img{height:100%;width:100%;object-fit:contain;border-radius:15px}.exp-tag{position:absolute;left:22px;top:20px;background:#ffce32;padding:7px 12px;border-radius:20px;font-size:11px;font-weight:900;color:#063f4d}.exp-content{padding:22px;display:flex;flex-direction:column;flex:1}.exp-content h3{font-weight:900;font-size:25px;line-height:1.05;margin-bottom:12px}.exp-content p{font-size:13px;color:var(--muted);margin-bottom:16px}.exp-action{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:12px}.exp-action span{font-size:12px;color:var(--blue);font-weight:900}.exp-action button{border:0;background:var(--orange);color:#fff;font-weight:900;border-radius:30px;padding:13px 17px}.wave{background:#e9fbfd;height:60px}.wave svg{width:100%;height:100%}.packages{background:var(--cream);padding-top:65px}.packages-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.pack-card{border-radius:23px;background:white;overflow:hidden;border:2px solid #ffe1bd;box-shadow:0 13px 35px #a45f2215;display:flex;flex-direction:column;position:relative}.pack-image{height:178px;position:relative;overflow:hidden}.pack-image img{height:100%;width:100%;object-fit:cover}.pack-image .pack-badge{position:absolute;top:15px;right:15px;background:#ffe342;color:#144558;padding:8px 13px;border-radius:20px;font-weight:900;font-size:11px}.pack-body{padding:22px;display:flex;flex-direction:column;flex:1}.pack-body h3{font-weight:900;font-size:25px;line-height:1.1;margin:0 0 8px}.pack-body p{font-size:13px;color:var(--muted);flex:1}.pack-price{display:flex;align-items:baseline;gap:8px;margin:14px 0}.pack-price strong{font-family:Outfit;font-size:47px;line-height:1;color:var(--orange);font-weight:900}.pack-price span{color:#5d7279;font-size:11px;font-weight:800}.pack-button{border:0;border-radius:13px;padding:15px;background:var(--blue);color:white;font-weight:900;width:100%}.package-foot{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-top:24px;font-size:12px;color:#6d7777}.package-foot a{font-weight:900;color:#067f9c;text-decoration:underline;white-space:nowrap}.escape{background:#063f56;color:white;padding:100px 0}.escape-layout{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.escape-photo{position:relative;border:12px solid white;border-radius:30px;transform:rotate(-2deg);box-shadow:0 25px 35px #0003}.escape-photo img{height:460px;width:100%;object-fit:cover;border-radius:15px}.photo-sticker{position:absolute;bottom:-21px;right:-20px;padding:14px 17px;background:var(--sun);border-radius:50px;font-weight:900;color:#08465b;transform:rotate(5deg)}.escape h2 em{color:#ffdf55}.escape p{color:#c7ecf3;margin:24px 0 30px}.gallery{background:#fff}.gallery-masonry{columns:4 220px;column-gap:16px}.gallery-masonry button{border:0;display:block;width:100%;margin:0 0 16px;padding:8px;background:white;box-shadow:0 8px 25px #073e4f1b;break-inside:avoid;border-radius:17px;overflow:hidden;transition:transform .2s}.gallery-masonry button:hover{transform:translateY(-3px)}.gallery-masonry img{width:100%;height:auto;border-radius:10px}.reserve{background:#05a4b9;color:white;overflow:hidden}.reserve-grid{display:grid;grid-template-columns:1fr .92fr;gap:85px;align-items:center}.reserve h2 em{color:#ffe049}.reserve-left p{color:white;font-size:16px;margin:23px 0}.reserve-benefits{display:flex;flex-direction:column;gap:12px;font-weight:900;font-size:13px}.reserve-accent{max-width:440px;height:215px;object-fit:cover;object-position:center;border:9px solid white;border-radius:20px;transform:rotate(-4deg);margin-top:32px;box-shadow:var(--sh)}.booking{background:white;border-radius:29px;color:var(--ink);padding:35px;box-shadow:0 25px 50px #00557750}.booking-header span{color:var(--orange);font-weight:900;letter-spacing:2px;font-size:12px}.booking-header h3{font-size:32px;font-weight:900;margin-top:4px}.booking-header p{font-size:13px;color:var(--muted);margin-top:5px}.booking label{display:block;margin:16px 0 7px;font-size:12px;font-weight:900}.booking input,.booking select,.booking textarea{padding:15px 13px;border-radius:12px;border:2px solid #e1f0f1;background:#f9fcfc;color:#143e4d;width:100%;outline-color:#08a9b9}.form2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.btn-submit{width:100%;margin:22px 0 12px}.booking small{display:block;color:#769099;text-align:center;line-height:1.5}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}.contact p{color:var(--muted);margin:15px 0}.contact-link{display:block;margin:16px 0;font-weight:900}.map{height:340px;border-radius:28px;overflow:hidden;box-shadow:var(--sh)}.map iframe{width:100%;height:100%;border:0}footer{background:#052c42;color:white;padding-top:34px}.footer-layout{display:flex;justify-content:space-between;align-items:center;gap:20px}.footer-layout p{color:#b4dce6}.footer-bottom{display:flex;justify-content:space-between;gap:14px;border-top:1px solid #ffffff28;margin-top:30px;padding:22px 0;font-size:12px;color:#8fbdcb}.whatsapp{position:fixed;right:23px;bottom:20px;z-index:65;background:#21c568;color:white;width:59px;height:59px;border-radius:50%;display:grid;place-items:center;font-size:31px;box-shadow:0 8px 25px #06753b70}.lightbox{position:fixed;inset:0;z-index:200;background:#012936ee;display:flex;align-items:center;justify-content:center;padding:70px 20px}.lightbox[hidden]{display:none}.lightbox img{max-height:90vh;max-width:94vw;object-fit:contain}.lightbox button{position:absolute;top:20px;right:30px;font-size:40px;background:none;color:white;border:0}
@media(max-width:1080px){.nav nav{gap:12px}.hero-inside{grid-template-columns:1fr .65fr}.exp-grid,.packages-grid{grid-template-columns:repeat(2,1fr)}.reserve-grid{gap:40px}}@media(max-width:780px){.wrap{width:min(100% - 32px,1200px)}.section{padding:67px 0}.announcement{font-size:10px;gap:12px}.mobilemenu{display:block;background:#e3f8fa;border:0;border-radius:10px;padding:6px 12px;font-size:24px;color:#03475e}#nav{display:none;position:absolute;top:83px;left:10px;right:10px;padding:20px;background:white;flex-direction:column;box-shadow:var(--sh);border-radius:20px;align-items:stretch;gap:20px}#nav.open{display:flex}.hero-inside,.intro-layout,.escape-layout,.reserve-grid,.contact-grid{grid-template-columns:1fr}.hero{min-height:0}.hero-inside{padding:75px 0 90px}.hero-copy h1{font-size:clamp(59px,14vw,90px);letter-spacing:-3px}.hero-postcard{max-width:400px;justify-self:center;transform:rotate(2deg)}.head.split{display:block}.head.split>p{margin-top:18px}.intro-photos{height:350px}.exp-grid,.packages-grid{grid-template-columns:repeat(2,1fr)}.package-foot{display:block}.package-foot a{display:block;margin-top:14px}.reserve-accent{display:none}.footer-layout{flex-direction:column;align-items:flex-start}}@media(max-width:540px){.hero-copy p{font-size:15px}.hero-cta .btn{width:100%}.hero-postcard{display:none}.exp-grid,.packages-grid{grid-template-columns:1fr}.intro-photos{height:320px}.gallery-masonry{columns:2 140px}.form2{grid-template-columns:1fr}.booking{padding:23px}.hero-badges span{font-size:11px}h2{letter-spacing:-1px}.brand img{width:52px;height:52px}.brand b{font-size:19px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Mobile navigation: explicit hidden state overrides the desktop #nav flex rule. */
@media(max-width:780px){#nav:not(.open){display:none!important}#nav.open{display:flex!important}}
@media(min-width:781px){#nav{display:flex!important}}

/* Language control always visible, including on small screens */
.nav-actions{display:flex;align-items:center;gap:10px;flex-shrink:0;margin-left:auto;margin-right:12px}
.nav-actions .lang{display:inline-flex;align-items:center;gap:5px;justify-content:center;white-space:nowrap;background:#e3f8fa;border:2px solid #80dbe1;border-radius:12px;padding:10px 13px;min-width:90px;color:#0b7188;font-size:13px;box-shadow:0 4px 12px #0084a515}
.nav-actions .lang b{color:#033c54;font-weight:900}
.nav-actions .lang span{color:#8db8bf}
.pack-snorkelpass .pack-image{background:#dff8fa}
.pack-snorkelpass .pack-image img{object-fit:contain}
@media(max-width:780px){.nav-actions{margin-right:0}.header .nav{gap:8px}.nav-actions .lang{padding:9px 11px;min-width:80px}.nav-actions .mobilemenu{display:block}}
@media(max-width:390px){.brand b{font-size:17px}.brand small{font-size:7px;letter-spacing:1px}.brand img{width:43px;height:43px}.nav-actions{gap:6px}.nav-actions .lang{font-size:11px;padding:8px;min-width:68px}}

.google-profile{margin-top:25px;background:#fff;border:2px solid #e2eef1;border-radius:22px;padding:22px;box-shadow:var(--sh);max-width:450px}.google-profile-top{display:flex;align-items:center;gap:12px}.google-g{display:grid;place-items:center;color:#4285f4;font-size:30px;font-weight:900;background:#ecf5ff;border-radius:50%;width:48px;height:48px}.google-profile-top b{display:block;font-weight:900}.google-profile-top small{display:block;color:#637d87;margin-top:4px}.google-rating{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:16px 0}.google-rating strong{color:#ff9f18;font-size:20px}.google-rating span{font-size:13px;color:#617d87}.google-profile-btn{font-size:12px;width:100%;padding:14px 16px}

/* Clearly distinguish the two all-inclusive packages. */
.snorkel-alert{font-family:Outfit,sans-serif;font-size:13px;line-height:1.3;font-weight:900;letter-spacing:.15px;border-radius:10px;padding:12px 13px;margin-bottom:12px;text-align:center}
.snorkel-alert.equipment{background:#fff2d6;color:#824313;border:2px solid #f8be68}
.snorkel-alert.withtour{background:#d8fae8;color:#075c3f;border:2px solid #41b78a}
.pack-perfectday{border:3px solid #f4ad50}
.pack-full{border:3px solid #28bd88}
.pack-perfectday .pack-image:after,.pack-full .pack-image:after{position:absolute;bottom:9px;left:9px;font-size:12px;font-weight:900;padding:9px 13px;border-radius:10px;background:#fff;color:#06465e;box-shadow:0 5px 20px #0002}
html[lang="es"] .pack-perfectday .pack-image:after{content:"SOLO EQUIPO • SIN TOUR"}
html[lang="en"] .pack-perfectday .pack-image:after{content:"EQUIPMENT • NO TOUR"}
html[lang="es"] .pack-full .pack-image:after{content:"TOUR DE SNORKEL INCLUIDO"}
html[lang="en"] .pack-full .pack-image:after{content:"SNORKELING TOUR INCLUDED"}
