
:root{--ink:#102743;--blue:#1458be;--pale:#eef5ff;--text:#52647a;--line:#dce5ef;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--white);color:var(--ink);font:16px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}a{color:inherit}button{font:inherit}a,button{-webkit-tap-highlight-color:transparent}header{position:sticky;top:0;z-index:20;background:#fffffff5;border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.navwrap{max-width:1320px;margin:auto;padding:20px 5%;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{font-size:25px;letter-spacing:-1.3px;text-decoration:none;font-weight:750;line-height:1.25}.brand b{color:var(--blue)}.brand small{display:block;font-size:9px;letter-spacing:1.2px;font-weight:550;margin-top:6px;color:var(--text)}nav{display:flex;gap:25px;align-items:center}nav a{font-size:13px;text-decoration:none;font-weight:600}nav a[aria-current=page]{color:var(--blue)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;border:1px solid var(--blue);padding:13px 23px;border-radius:7px;background:var(--blue);color:white;text-decoration:none;font-size:14px;font-weight:650;transition:background .15s}.btn:hover{background:#103f8a}.btn.secondary{background:white;color:var(--ink);border-color:var(--line)}.btn.secondary:hover{background:var(--pale)}.btn.white{background:white;color:var(--ink);border-color:white}.menu{display:none;border:1px solid var(--line);border-radius:5px;background:white;padding:9px 12px;color:var(--ink);font-size:13px}.shell{max-width:1320px;margin:auto;padding-left:5%;padding-right:5%}.hero{display:grid;grid-template-columns:1.02fr 1fr;gap:60px;align-items:center;padding-top:65px;padding-bottom:65px}.eyebrow{display:block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:2px;color:var(--blue)}h1,h2,h3{margin:0;letter-spacing:-1.7px;line-height:1.1;font-weight:650}h1{font-size:clamp(42px,4.8vw,68px);margin:24px 0}h1 em{font-style:normal;color:var(--blue)}h2{font-size:clamp(30px,3vw,44px);margin:14px 0 20px}h3{font-size:23px;letter-spacing:-.7px}p{color:var(--text)}.hero p{font-size:17px;max-width:470px}.actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:28px}.small{font-size:12px!important}.hero figure{margin:0;position:relative}.hero figure img{display:block;width:100%;height:520px;object-fit:cover;border-radius:20px}.hero figure figcaption{font-size:11px;color:var(--text);padding:8px 4px}.image-label{position:absolute;left:22px;bottom:65px;background:white;padding:14px 20px;border-radius:9px;box-shadow:0 5px 22px #10274320;font-size:13px;font-weight:600}.image-label small{display:block;color:var(--text);font-size:11px;font-weight:400}.trust{background:var(--pale);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.trust .shell{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;padding-top:25px;padding-bottom:25px}.trust strong{display:block;font-size:14px}.trust p{font-size:12px;margin:4px 0 0}.section{padding-top:80px;padding-bottom:80px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:45px}.section-head p{max-width:400px;font-size:14px}.zone-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:35px}.zone{border:1px solid var(--line);border-radius:12px;padding:28px;position:relative;overflow:hidden;background:white}.zone-number{font-size:11px;color:var(--blue);text-transform:uppercase;letter-spacing:1px}.zone h3{margin-top:22px}.zone p{font-size:14px;min-height:85px}.zone a{font-size:13px;color:var(--blue);font-weight:650;text-decoration:none}.zone:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--blue)}.booking-band{background:var(--ink);color:white}.booking-band .shell{padding-top:65px;padding-bottom:65px;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.booking-band p{color:#d2dfef;font-size:14px}.booking-band .eyebrow{color:#94bfff}.steps{list-style:none;padding:0;counter-reset:step}.steps li{counter-increment:step;border-bottom:1px solid #ffffff24;padding:17px 0;font-size:14px;display:flex;gap:20px}.steps li:before{content:"0" counter(step);color:#94bfff}.guide-tease{background:var(--pale);border-radius:16px;padding:40px;display:flex;justify-content:space-between;align-items:center;gap:35px;margin-top:50px}.guide-tease p{font-size:14px;max-width:590px}.guide-tease h3{font-size:28px}#preguntas{max-width:1100px;margin:auto;padding:70px 5%}details{border-bottom:1px solid var(--line);padding:20px 0}summary{cursor:pointer;font-size:16px;font-weight:600}details p{font-size:14px}.contact{border-top:1px solid var(--line);background:var(--pale)}.contact .shell{padding-top:50px;padding-bottom:50px;display:flex;justify-content:space-between;align-items:center;gap:40px}.contact p{font-size:14px}.contact a:not(.btn){font-size:14px}footer .shell{padding-top:35px;padding-bottom:40px;display:flex;align-items:start;justify-content:space-between;gap:35px}footer p{font-size:11px;margin:4px 0}footer strong{color:var(--ink)}footer img{width:82px;height:82px;object-fit:contain}.bottom{display:flex;gap:20px;flex-wrap:wrap}.float-wa{position:fixed;right:20px;bottom:20px;z-index:15;color:white;background:var(--ink);border:1px solid white;border-radius:30px;padding:12px 19px;text-decoration:none;font-size:12px;box-shadow:0 4px 18px #0002}.skip{position:absolute;top:-70px;left:12px;z-index:100;background:white;padding:12px}.skip:focus{top:10px}:focus-visible{outline:3px solid #f5a623;outline-offset:4px}.guide-intro{padding-top:65px;padding-bottom:45px;max-width:820px}.guide-intro h1{font-size:clamp(42px,5vw,66px)}.guide-intro p{font-size:17px}.filters{display:flex;gap:10px;flex-wrap:wrap;padding-bottom:30px}.filter{cursor:pointer;border:1px solid var(--line);background:white;color:var(--ink);border-radius:30px;padding:10px 20px;font-size:13px}.filter[aria-pressed=true]{background:var(--ink);color:white;border-color:var(--ink)}.places{display:grid;grid-template-columns:1fr 1fr;gap:22px}.place{border:1px solid var(--line);border-radius:12px;overflow:hidden;display:grid;grid-template-columns:100px 1fr}.place-badge{background:var(--pale);display:flex;align-items:center;justify-content:center;color:var(--blue);font-size:40px;font-weight:300}.place-body{padding:28px}.place h2{font-size:25px;margin:12px 0 14px;letter-spacing:-.8px}.place p{font-size:14px}.place .tip{font-size:12px;background:var(--pale);padding:12px;border-radius:5px}.place .links{display:flex;gap:20px;flex-wrap:wrap;margin-top:22px}.place .links a{font-size:12px;color:var(--blue);font-weight:600;text-underline-offset:4px}[hidden]{display:none!important}.guide-note{font-size:12px;border-top:1px solid var(--line);margin-top:30px;padding-top:20px}.plan{background:var(--pale);border-radius:14px;padding:35px;margin-top:45px}.plan h2{font-size:29px;margin-top:0}.plan p{font-size:14px}.plan ol{font-size:14px;line-height:2;color:var(--text)}@media(max-width:900px){.navwrap{padding:16px 5%;flex-wrap:wrap;gap:12px}.brand{font-size:22px}.menu{display:block}nav{display:none;flex-basis:100%;padding:15px 0;align-items:stretch;gap:15px;flex-direction:column}nav.open{display:flex}.hero{gap:25px;padding-top:35px}.hero figure img{height:440px}.hero p{font-size:15px}.zone-grid{gap:15px}.zone{padding:22px}.places{grid-template-columns:1fr}.booking-band .shell{gap:35px}}@media(max-width:640px){.hero{grid-template-columns:1fr;padding-bottom:30px}.hero h1{font-size:45px}.hero figure img{height:340px;border-radius:13px}.image-label{bottom:60px;left:16px}.trust .shell{grid-template-columns:1fr;gap:15px}.trust strong{font-size:13px}.trust p{margin-top:0}.section{padding-top:50px;padding-bottom:50px}.section-head{display:block}.zone-grid{grid-template-columns:1fr;margin-top:25px}.zone p{min-height:0}.booking-band .shell{grid-template-columns:1fr;gap:20px;padding-top:45px;padding-bottom:45px}.guide-tease,.contact .shell{align-items:start;flex-direction:column;padding:25px}.contact .shell{padding:40px 5%}.guide-tease{margin-top:30px}#preguntas{padding-top:45px;padding-bottom:45px}footer .shell{flex-direction:column;padding-bottom:100px}.guide-intro{padding-top:35px;padding-bottom:25px}.guide-intro h1{font-size:44px}.place{grid-template-columns:65px 1fr}.place-badge{font-size:26px}.place-body{padding:20px}.plan{padding:25px}.filter{padding:8px 15px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

#reservas .zone a.btn{color:white;font-size:13px}#reservas .zone h3{min-height:52px}#reservas .zone p{min-height:92px}@media(max-width:640px){#reservas .zone h3,#reservas .zone p{min-height:0}}

.stay-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:30px}.stay{border:1px solid var(--line);border-radius:14px;overflow:hidden}.stay>img{width:100%;height:260px;object-fit:cover;display:block}.stay-body{padding:28px}.stay h3{margin-top:12px}.stay p{font-size:14px}.stay-facts{font-weight:600;color:var(--ink)}.map-link{color:var(--blue);font-size:13px}.extra-zones{grid-template-columns:1fr 1fr}@media(max-width:640px){.stay-grid,.extra-zones{grid-template-columns:1fr}.stay-body{padding:22px}.stay>img{height:230px}.stay .btn{width:100%}}

#reservas .zone{display:flex;flex-direction:column;align-items:flex-start}#reservas .zone h3{min-height:0;margin-bottom:18px}#reservas .zone p{min-height:0;margin:0 0 24px}#reservas .zone a.btn{margin-top:auto}#reservas .zone-grid{align-items:stretch}

.brand-group{display:flex;align-items:center;gap:16px}.corporate-logo{width:80px;height:80px;object-fit:contain;flex-shrink:0}.brand-group .brand{font-size:23px}@media(max-width:1100px){nav{gap:15px}.brand-group{gap:10px}.corporate-logo{width:65px;height:65px}.brand-group .brand{font-size:21px}}@media(max-width:640px){.corporate-logo{width:54px;height:54px}.brand-group .brand{font-size:19px}.brand-group .brand small{font-size:7px;letter-spacing:.6px}.navwrap{gap:8px}.brand-group{gap:7px}}

.stay{display:flex;flex-direction:column}.stay-body{display:flex;flex-direction:column;flex:1}.stay .actions{margin-top:auto;padding-top:22px;align-items:stretch;gap:10px}.stay .btn{padding:11px 15px;font-size:13px}.rating{display:block;font-size:13px;color:var(--ink);font-weight:650;text-underline-offset:4px;margin:8px 0 20px}.property-links{display:flex;gap:15px;flex-wrap:wrap;margin:0 0 15px}.service-note{background:var(--pale);padding:12px;border-radius:6px}.stay-filters{padding:15px 0 0}.room-details{margin-top:25px}.room-details>summary{padding:12px 0}.room-pending{border:1px solid var(--line);border-radius:12px;padding:25px;margin-top:24px}.hotel-section{border-top:1px solid var(--line)}.host-rating{display:flex;gap:40px;align-items:center;justify-content:space-between;padding-top:45px;padding-bottom:45px}.host-rating h2{font-size:30px}.host-rating p{max-width:700px}.host-rating .btn{flex-shrink:0}@media(max-width:640px){.host-rating{align-items:flex-start;flex-direction:column;gap:12px}.stay .actions{flex-direction:column}.filter{min-height:44px}}

.experience-hero{background:var(--ink);color:white}.experience-hero .shell{padding-top:75px;padding-bottom:75px}.experience-hero h1{max-width:780px}.experience-hero h1 em{color:#94bfff}.experience-hero .eyebrow{color:#94bfff}.experience-hero p{color:#d2dfef;max-width:660px;font-size:18px}.experience-link{color:white;font-size:14px;text-underline-offset:5px}.experience-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:35px}.experience-card{display:flex;flex-direction:column;align-items:flex-start;border:1px solid var(--line);border-radius:15px;padding:35px;background:linear-gradient(150deg,var(--pale),white 65%)}.experience-card h3{font-size:30px;margin-top:22px}.experience-card ul{color:var(--text);font-size:14px;padding-left:20px;margin-bottom:30px}.experience-card li{margin:8px 0}.experience-card .btn{margin-top:auto}.quote-section{background:var(--pale)}.quote-grid{padding-top:60px;padding-bottom:60px;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}#experience-quote{background:white;border:1px solid var(--line);border-radius:14px;padding:30px}#experience-quote label{display:block;font-size:14px;font-weight:600;margin-bottom:8px}#experience-quote label span{font-weight:400;color:var(--text)}#experience-quote input,#experience-quote select,#experience-quote textarea{font:inherit;color:var(--ink);background:white;border:1px solid #b7c6d7;padding:12px;border-radius:6px;width:100%;min-width:0;margin-bottom:20px}#experience-quote textarea{resize:vertical}#experience-quote .btn{width:100%;cursor:pointer}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:15px;min-width:0}.form-pair>div{min-width:0}.experience-tease{display:flex;align-items:center;justify-content:space-between;gap:35px;padding-top:55px;padding-bottom:55px;border-bottom:1px solid var(--line)}@media(max-width:1100px){nav{gap:12px}nav a{font-size:12px}}@media(max-width:900px){.quote-grid{gap:30px}.experience-card{padding:25px}}@media(max-width:640px){.experience-hero .shell{padding-top:45px;padding-bottom:45px}.experience-hero h1{font-size:43px}.experience-hero p{font-size:16px}.experience-grid,.quote-grid{grid-template-columns:1fr}.experience-card h3{font-size:27px}.quote-grid{padding-top:40px;padding-bottom:40px}#experience-quote{padding:22px}.form-pair{grid-template-columns:1fr}.experience-tease{flex-direction:column;align-items:flex-start}}

.tours-hero{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;padding-top:60px;padding-bottom:45px}.tours-hero p{max-width:520px}.tours-hero figure{margin:0}.tours-hero img{display:block;width:100%;height:430px;object-fit:cover;border-radius:18px}.tours-hero figcaption{font-size:11px;color:var(--text);padding:8px 4px}.tour-inclusions{font-size:14px;padding:14px 0}.tour-inclusions summary{font-size:14px}.tour-inclusions ul{padding-left:20px;color:var(--text)}.tour-inclusions li{margin:7px 0}.yacht-info h3{color:white}.yacht-info p{color:#d2dfef}@media(max-width:640px){.tours-hero{grid-template-columns:1fr;gap:25px;padding-top:35px}.tours-hero img{height:280px}.tours-hero h1{font-size:43px}}

.tour-search{max-width:650px;margin:28px 0 20px}.tour-search label{display:block;font-size:14px;font-weight:600;margin-bottom:8px}.tour-search input{display:block;width:100%;font:inherit;border:1px solid #b7c6d7;border-radius:8px;padding:14px;color:var(--ink);background:white}.tour-more{justify-content:center;margin-top:35px}.tour-more button{cursor:pointer;min-height:48px}.tour-photo-label{display:flex;align-items:center;justify-content:center;min-height:180px;background:var(--pale);color:var(--blue);font-size:22px;font-weight:600}#tour-empty{background:var(--pale);padding:22px;border-radius:8px}

/* Tour thumbnails preserve their original aspect ratio without large enlargement. */
#tour-catalogue .stay>img{width:auto;max-width:180px;max-height:120px;height:auto;object-fit:contain;display:block;margin:20px auto 0;border-radius:10px}
#tour-catalogue .tour-photo-label{min-height:100px}
.tour-location{color:var(--navy,#12344b);font-size:.85rem;font-weight:600;margin:8px 0 12px}
.tour-location-control{max-width:480px;margin:18px 0}.tour-location-control label,.tour-type-label{display:block;font-weight:600;margin-bottom:8px}.tour-location-control select{width:100%;min-height:48px;padding:12px;border:1px solid #bbccd8;border-radius:10px;background:#fff;color:#12344b;font:inherit}
@media(max-width:600px){#tour-catalogue .stay>img{max-width:160px;max-height:105px}.tour-location-control{max-width:100%}}

/* Mobile refinements after review on a phone. */
.wa-short{display:none}
#tour-catalogue .stay>img.tour-panorama{width:calc(100% - 40px);max-width:320px;max-height:none;height:auto;border-radius:8px}
@media(max-width:640px){.navwrap{padding:8px 5%;gap:6px}.corporate-logo{width:38px;height:38px}.brand-group{gap:6px}.brand-group .brand{font-size:17px}.brand-group .brand small{font-size:6px;letter-spacing:.35px}.menu{padding:8px 10px;font-size:12px;min-height:40px}.float-wa{right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));padding:9px 12px;font-size:11px;line-height:1.3;min-height:40px;display:flex;align-items:center}.wa-full{display:none}.wa-short{display:inline}#tour-catalogue .stay>img.tour-panorama{max-width:280px}footer{padding-bottom:75px}}
@media(max-width:360px){.brand-group .brand{font-size:15px}.corporate-logo{width:32px;height:32px}.brand-group .brand small{font-size:5.5px}}
