
:root{--navy:#123448;--teal:#157b7d;--sand:#f2eadc;--cream:#fbf8f2;--ink:#26343c;--gold:#c99a57;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--cream);line-height:1.6}img{display:block;width:100%}a{color:inherit;text-decoration:none}.site-header{height:78px;padding:0 clamp(20px,5vw,72px);display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.96);position:sticky;top:0;z-index:50;box-shadow:0 2px 18px rgba(0,0,0,.08)}.brand{font-family:Georgia,serif;color:var(--navy);font-size:25px;font-weight:bold;letter-spacing:.04em}.brand small{display:block;font-family:Arial;font-size:9px;letter-spacing:.26em;color:var(--teal)}nav{display:flex;gap:26px;align-items:center;font-size:14px;font-weight:600}nav a:hover{color:var(--teal)}.nav-cta,.btn{display:inline-block;background:var(--teal);color:white;padding:13px 22px;border-radius:3px;font-weight:bold}.hero{min-height:calc(100vh - 78px);background-size:cover;background-position:center;display:flex;align-items:center;position:relative;color:white}.hero:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,31,43,.78),rgba(9,31,43,.15))}.hero-content{position:relative;max-width:760px;padding:70px clamp(24px,8vw,120px)}.eyebrow{letter-spacing:.22em;font-size:12px;font-weight:bold;text-transform:uppercase}.hero h1{font:700 clamp(48px,7vw,92px)/.98 Georgia,serif;margin:18px 0}.hero p{font-size:19px;max-width:620px}.btn.light{background:white;color:var(--navy);margin-top:18px}.section{padding:90px clamp(22px,7vw,100px)}.section.alt{background:white}.section-head{text-align:center;max-width:760px;margin:0 auto 45px}.section h2{font:700 clamp(36px,5vw,58px)/1.08 Georgia,serif;color:var(--navy);margin:10px 0}.lead{font-size:18px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;max-width:1250px;margin:auto}.card{background:white;box-shadow:0 10px 35px rgba(24,52,67,.12);transition:.25s}.card:hover{transform:translateY(-5px)}.card img{height:290px;object-fit:cover}.card-body{padding:28px}.card h3{font:700 31px Georgia,serif;color:var(--navy);margin:0 0 6px}.sleeps{color:var(--teal);font-weight:bold;letter-spacing:.08em}.coming{background:var(--sand);padding:20px;text-align:center;color:var(--navy)}.split{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:center;max-width:1250px;margin:auto}.split img{height:560px;object-fit:cover}.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#d6dfdf;margin-top:28px}.fact{background:white;padding:22px;text-align:center}.fact strong{display:block;color:var(--navy);font:700 25px Georgia}.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.gallery button{border:0;padding:0;background:none;cursor:pointer;overflow:hidden}.gallery img{height:245px;object-fit:cover;transition:.35s}.gallery button:hover img{transform:scale(1.04)}.gallery button:nth-child(9n+1),.gallery button:nth-child(9n+6){grid-column:span 2}.gallery button:nth-child(9n+1) img,.gallery button:nth-child(9n+6) img{height:330px}.page-hero{min-height:62vh;background-size:cover;background-position:center;position:relative;display:flex;align-items:end;color:white}.page-hero:before{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,29,40,.8),transparent 70%)}.page-hero .hero-content{padding-bottom:70px}.page-hero h1{font-size:clamp(48px,7vw,84px)}.preview-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px}.preview-grid img{height:440px;object-fit:cover}.footer{background:var(--navy);color:white;padding:55px clamp(22px,7vw,100px);display:flex;justify-content:space-between;gap:30px}.footer .brand{color:white}.modal{position:fixed;inset:0;background:rgba(0,0,0,.9);z-index:100;display:none;align-items:center;justify-content:center;padding:30px}.modal.open{display:flex}.modal img{max-width:94vw;max-height:90vh;object-fit:contain}.modal button{position:absolute;right:25px;top:18px;border:0;background:none;color:white;font-size:42px;cursor:pointer}.menu{display:none}@media(max-width:850px){nav{display:none}.menu{display:block;border:0;background:none;font-size:28px}.cards,.split{grid-template-columns:1fr}.split img{height:380px}.gallery{grid-template-columns:repeat(2,1fr)}.gallery button:nth-child(n){grid-column:span 1}.gallery button:nth-child(n) img{height:210px}.preview-grid{grid-template-columns:1fr}.preview-grid img{height:280px}.footer{display:block}.facts{grid-template-columns:1fr}.hero h1{font-size:50px}}
.placeholder-hero{min-height:55vh;background:linear-gradient(135deg,#123448,#157b7d);display:flex;align-items:end;color:white;position:relative}.placeholder-hero .hero-content{padding-bottom:70px}.destination-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:25px;max-width:1000px;margin:auto}.destination-card{background:white;box-shadow:0 10px 35px rgba(24,52,67,.12);overflow:hidden}.destination-card img{height:320px;object-fit:cover}.destination-card .card-body{padding:28px}.gallery-note{max-width:850px;margin:0 auto 35px;text-align:center}.small-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.small-gallery img{height:320px;object-fit:cover}@media(max-width:850px){.destination-cards,.small-gallery{grid-template-columns:1fr}.small-gallery img{height:250px}}

/* Tulum section-based page */
.tulum-intro{padding-bottom:45px}.tulum-feature{display:grid;grid-template-columns:minmax(0,1.22fr) minmax(330px,.78fr);align-items:center;gap:clamp(35px,6vw,85px);padding:70px clamp(22px,7vw,100px);background:var(--cream)}.tulum-feature.alt{background:#fff}.tulum-feature.alt .tulum-feature-image{order:2}.tulum-feature-image{position:relative;border:0;padding:0;background:none;cursor:pointer;overflow:hidden;box-shadow:0 16px 45px rgba(18,52,72,.16)}.tulum-feature-image img{height:clamp(390px,48vw,650px);object-fit:cover;transition:transform .45s ease}.tulum-feature-image:hover img{transform:scale(1.025)}.tulum-feature-image span{position:absolute;left:22px;bottom:20px;background:rgba(18,52,72,.9);color:white;padding:11px 16px;font-weight:700;letter-spacing:.04em}.tulum-feature-copy h2{font:700 clamp(38px,5vw,62px)/1.05 Georgia,serif;color:var(--navy);margin:10px 0 20px}.category-open{border:0;cursor:pointer;margin-top:15px;font-size:15px}.category-modal{position:fixed;inset:0;z-index:150;background:rgba(4,12,18,.96);display:none;align-items:center;justify-content:center;padding:30px 80px;color:#fff}.category-modal.open{display:flex}.category-modal figure{margin:0;text-align:center;max-width:calc(100vw - 180px)}.category-modal img{max-width:100%;max-height:84vh;object-fit:contain}.category-modal figcaption{padding-top:12px;font-size:14px;letter-spacing:.06em}.category-close,.category-prev,.category-next{position:absolute;border:0;background:rgba(255,255,255,.12);color:#fff;cursor:pointer;z-index:2}.category-close{right:22px;top:18px;font-size:42px;background:none}.category-prev,.category-next{top:50%;transform:translateY(-50%);font-size:58px;width:58px;height:82px;line-height:60px}.category-prev{left:18px}.category-next{right:18px}@media(max-width:850px){.tulum-feature{grid-template-columns:1fr;padding-top:48px;padding-bottom:55px}.tulum-feature.alt .tulum-feature-image{order:0}.tulum-feature-image img{height:390px}.category-modal{padding:60px 12px 70px}.category-modal figure{max-width:100%}.category-prev,.category-next{top:auto;bottom:8px;transform:none;height:52px}.category-prev{left:calc(50% - 70px)}.category-next{right:calc(50% - 70px)}}

/* Subtle luxury-page polish */
.tulum-new-hero{min-height:72vh;background-position:center 48%}
.tulum-new-hero:before{background:linear-gradient(0deg,rgba(7,27,39,.82) 0%,rgba(7,27,39,.22) 58%,rgba(7,27,39,.08) 100%)}
.tulum-new-hero .hero-content{max-width:900px}
.tulum-new-hero .hero-content>p:last-child{font-size:clamp(18px,2vw,22px);max-width:760px}
.tulum-intro .section-head{margin-bottom:15px}
.tulum-feature-copy .lead{max-width:560px;color:#43555f}
.tulum-feature-image{border-radius:2px}
.tulum-feature-image:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(10,34,47,.22),transparent 42%);pointer-events:none}
.tulum-feature-image span{z-index:1;border:1px solid rgba(255,255,255,.24);backdrop-filter:blur(4px)}
.reveal{opacity:0;transform:translateY(26px);transition:opacity .75s ease,transform .75s ease}
.reveal.visible{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}.tulum-feature-image img{transition:none}}

/* Property summary and sleeping details */
.property-summary{padding:42px clamp(22px,7vw,100px) 48px;text-align:center;background:#fff;box-shadow:0 8px 28px rgba(18,52,72,.08)}
.property-summary h2{font:700 clamp(28px,4vw,46px)/1.15 Georgia,serif;color:var(--navy);margin:0 0 12px}
.property-summary p{font-size:18px;max-width:820px;margin:0 auto 22px;color:#43555f}
.sleeping-arrangements,.amenities-list{margin:24px 0 22px;padding:22px 25px;background:#fff;border-left:4px solid var(--teal);box-shadow:0 8px 24px rgba(18,52,72,.08)}
.tulum-feature.alt .sleeping-arrangements,.tulum-feature.alt .amenities-list{background:var(--cream)}
.sleeping-arrangements h3,.amenities-list h3{font:700 25px Georgia,serif;color:var(--navy);margin:0 0 10px}
.sleeping-arrangements ul{margin:0 0 12px;padding-left:22px}
.amenities-list ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 24px;margin:0;padding-left:22px}
.ocean-hero{background-position:center}
@media(max-width:850px){.property-summary{padding-top:32px}.amenities-list ul{grid-template-columns:1fr}}
