:root{--navy:#090a15;--ivory:#f6f3ec;--gold:#c7a76c;--muted:#bfc2ca;--rule:rgba(199,167,108,.38)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--navy);color:var(--ivory);font:300 1rem/1.65 Montserrat,"Helvetica Neue",Arial,sans-serif}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}a:focus-visible{outline:2px solid var(--gold);outline-offset:6px}
.site-head{width:min(1380px,calc(100% - 4rem));margin:auto;padding:2.3rem 0;display:flex;align-items:start;justify-content:space-between;gap:2rem}.wordmark{font-size:.82rem;letter-spacing:.28em;line-height:1.55;white-space:nowrap}.wordmark span{display:block;font-size:.6rem;letter-spacing:.34em;color:var(--gold)}.site-head nav{display:flex;gap:clamp(1.2rem,3vw,3rem);padding-top:.24rem}.site-head nav a,.back-link{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;border-bottom:1px solid transparent;padding-bottom:.4rem}.site-head nav a:hover,.back-link:hover{border-color:var(--gold);color:var(--gold)}
.landing{min-height:calc(100svh - 178px);display:flex;align-items:center}.landing-inner{width:min(1380px,calc(100% - 4rem));margin:0 auto;padding:7vh 0 12vh}.landing-choice{display:grid;grid-template-columns:4.5rem 1fr auto;align-items:baseline;gap:1rem;border-bottom:1px solid var(--rule);padding:clamp(1.6rem,4vw,4.5rem) .4rem clamp(2rem,4.5vw,5rem);font-family:"Cormorant Garamond",Georgia,serif;font-weight:300;font-size:clamp(3.25rem,8vw,8.3rem);line-height:1.02;letter-spacing:-.012em;transition:color .25s}.landing-choice:first-child{border-top:1px solid var(--rule)}.landing-choice:hover{color:var(--gold)}.ordinal{font:300 .76rem/1.5 Montserrat,sans-serif;letter-spacing:.16em;color:var(--gold);align-self:start;padding-top:.5rem}.choice-arrow{font:300 clamp(1.7rem,3vw,3rem)/1 Montserrat,sans-serif;color:var(--gold);align-self:center}
.site-foot{width:min(1380px,calc(100% - 4rem));margin:0 auto;padding:3rem 0 2rem;border-top:1px solid var(--rule)}.footer-logo{display:block;width:220px;height:auto}.page-main{width:min(1380px,calc(100% - 4rem));margin:0 auto;padding:clamp(3rem,6vw,7rem) 0 clamp(5rem,9vw,9rem)}.eyebrow{margin:0 0 2rem;color:var(--gold);font-size:.73rem;letter-spacing:.23em;text-transform:uppercase}.page-title,.project-title,.tile-title{font-family:"Cormorant Garamond",Georgia,serif;font-weight:300;letter-spacing:-.012em;line-height:1.05}.page-title{font-size:clamp(3.5rem,8vw,8.5rem);margin:0 0 clamp(2.5rem,6vw,6rem)}.back-link{display:inline-block;color:var(--muted);margin-bottom:clamp(2.5rem,5vw,5rem)}
.section-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.4rem,4vw,4.5rem)}.selection-tile{display:block}.tile-image{background:#111421;overflow:hidden}.tile-image img{width:100%;height:auto;transition:transform .5s}.selection-tile:hover .tile-image img{transform:scale(1.015)}.tile-bottom{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px solid var(--rule);padding:1.2rem 0 1.4rem}.tile-title{font-size:clamp(2.6rem,4.4vw,5rem);margin:0}.tile-arrow{color:var(--gold);font-size:1.5rem}
.feature-media{background:#111421}.feature-media img{width:100%;height:auto}.feature-copy{padding:clamp(2.5rem,5vw,5rem) 0 0;max-width:900px}.project-title{font-size:clamp(3.2rem,7vw,7rem);margin:0 0 1.1rem}.project-title.long{font-size:clamp(2.7rem,5.8vw,6.5rem)}.metadata{font-size:clamp(1rem,1.5vw,1.3rem);color:var(--muted);margin:0 0 1rem}.attribution{color:var(--muted);font-size:1rem;margin:0 0 2.5rem;line-height:1.8}.text-link{display:inline-block;border-bottom:1px solid var(--gold);padding-bottom:.65rem;color:var(--gold);font-size:.76rem;letter-spacing:.2em;text-transform:uppercase}.text-link:hover{color:var(--ivory)}.disclosure{font-size:.76rem;letter-spacing:.08em;color:var(--muted);margin:1rem 0 0}.feature-copy .eyebrow{margin-bottom:1rem}
@media(max-width:720px){.site-head,.site-foot,.page-main,.landing-inner{width:calc(100% - 2.5rem)}.site-head{padding:1.5rem 0;display:block}.site-head nav{margin-top:1.35rem;gap:1.8rem}.site-head nav a{font-size:.68rem}.wordmark{font-size:.72rem}.wordmark span{font-size:.54rem}.landing{min-height:calc(100svh - 210px)}.landing-inner{padding:3rem 0 5rem}.landing-choice{grid-template-columns:2rem 1fr auto;gap:.35rem;font-size:clamp(2.5rem,12vw,5rem);padding:2rem .1rem 2.3rem}.ordinal{font-size:.65rem;padding-top:.4rem}.choice-arrow{font-size:1.6rem}.page-main{padding:3rem 0 5rem}.page-title{font-size:clamp(3.5rem,13vw,6rem);margin-bottom:3rem}.section-grid{grid-template-columns:1fr;gap:3.3rem}.tile-image img,.feature-media img{height:auto;object-fit:contain}.tile-title{font-size:3rem}.feature-copy{padding-top:2.7rem}.site-foot{padding:2rem 0}.footer-logo{width:185px}}
@media(max-width:380px){.landing-choice{font-size:2.35rem}.wordmark{font-size:.66rem}.wordmark span{font-size:.5rem;letter-spacing:.25em}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media(max-width:480px){.project-title.long{font-size:clamp(2rem,9vw,3rem)}}
.landing-door{min-height:calc(100svh - 120px);display:flex;align-items:center}.landing-door .landing-inner{width:min(1440px,calc(100% - 4rem));padding:2rem 0 5rem;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(2rem,5vw,6rem);align-items:center}.landing-image{display:block;width:100%;height:auto}.landing-options .landing-choice{grid-template-columns:2.5rem minmax(0,1fr) auto;gap:.4rem;padding:clamp(1.5rem,3vw,3rem) 0;font-size:clamp(2.7rem,4.8vw,5.8rem)}.landing-options .ordinal{font-size:.72rem}.landing-options .choice-arrow{font-size:1.8rem}
@media(max-width:760px){.landing-door{min-height:calc(100svh - 120px);display:block}.landing-door .landing-inner{width:calc(100% - 2.5rem);display:block;padding:1.5rem 0 3.5rem}.landing-image{width:calc(100% + 2.5rem);max-width:none;margin-left:-1.25rem}.landing-options{margin-top:clamp(2rem,6vh,4rem)}.landing-options .landing-choice{grid-template-columns:1.8rem minmax(0,1fr) auto;padding:1.65rem 0 1.9rem;font-size:clamp(2.4rem,10.5vw,4.5rem)}.landing-options .ordinal{font-size:.65rem}.landing-options .choice-arrow{font-size:1.5rem}}

/* Quiet brand framing and balanced residential entrance */
.site-head.home-head{justify-content:center;text-align:center}
.site-foot .footer-logo{margin-inline:auto}
.page-main:has(> .sr-only) .section-grid{margin-top:clamp(3rem,6vw,6rem)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:720px){.site-head.home-head{display:flex;justify-content:center}.page-main:has(> .sr-only) .section-grid{margin-top:2.5rem}}

.private-contact{display:inline-flex;align-items:center;gap:1.15rem;margin-top:2.5rem;padding:0 0 .65rem;border-bottom:1px solid var(--gold);font:300 .74rem/1.6 Montserrat,"Helvetica Neue",sans-serif;letter-spacing:.15em;text-transform:uppercase;color:var(--gold);transition:color .25s}.private-contact:hover{color:var(--ivory)}.private-contact span{font-size:1.15rem;line-height:1}.private-contact-interior{margin-top:clamp(3rem,6vw,6rem)}@media(max-width:760px){.private-contact{margin-top:2.4rem;font-size:.72rem;letter-spacing:.12em}}

/* A lighter, more spacious opening */
.landing-door .landing-inner{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);column-gap:clamp(2.5rem,6vw,7rem);row-gap:2rem;padding-top:2.5rem}
.landing-door .private-contact{grid-column:2;justify-self:start;margin-top:0;font-size:.875rem;letter-spacing:.08em}
@media(max-width:760px){.landing-door .landing-inner{padding-top:2rem}.landing-door .landing-image{width:100%;max-width:100%;margin-left:0}.landing-options{margin-top:2.5rem}.landing-door .private-contact{margin-top:2.5rem;font-size:.875rem}}

.tower-note{display:block;text-align:right;margin-top:.5rem;color:#bfc2ca;font:300 .75rem/1.5 Montserrat,Arial,sans-serif;letter-spacing:.02em}

.beach-portrait{aspect-ratio:9/16}.beach-portrait img{display:block;width:100%;height:100%;aspect-ratio:9/16;object-fit:contain}.section-grid{align-items:start}
/* Destination tabs preserve each project's original presentation. */
.beach-collection>.page-title{margin-bottom:2rem}.beach-region-tabs{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:10px;position:sticky;top:8px;z-index:30;background:#090a15f7;padding:10px 0 14px;margin-bottom:2rem;backdrop-filter:blur(12px)}.beach-region-tabs a{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:7px;min-height:76px;padding:13px 10px;border:1px solid #c7a76c55;color:#c7a76c;font:400 11px/1.6 Montserrat,Arial,sans-serif;letter-spacing:.09em;text-align:center;text-transform:uppercase;transition:background .2s,border-color .2s}.beach-region-tabs small{font-size:9px;line-height:1.7;letter-spacing:.055em}.beach-region-tabs a[aria-selected=true]{background:#c7a76c18;border-color:#c7a76c;box-shadow:inset 0 -2px #c7a76c}.beach-region-tabs a:hover{background:#c7a76c12}.beach-region-tabs a:focus-visible{outline:2px solid #c7a76c;outline-offset:3px}.beach-region-panel[hidden]{display:none!important}.beach-region-panel:focus,.beach-city-panel:focus,.city-municipality-panel:focus{outline:none}.beach-region-panel>.beach-project:first-child{margin-top:0!important;padding-top:0!important;border-top:0!important}.beach-project .feature-media img{max-height:80svh;object-fit:contain}@media(max-width:650px){.beach-region-tabs{grid-template-columns:1fr 1fr;gap:8px;top:0;padding-top:8px}.beach-region-tabs a:first-child{grid-column:1/-1;min-height:65px}.beach-region-tabs a{min-height:72px;font-size:10px;padding:10px 8px}.beach-region-tabs small{font-size:9px}.beach-collection>.page-title{margin-bottom:1.4rem}}

.beach-region-panel{scroll-margin-top:180px}
.beach-city-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:0 0 2rem;padding-bottom:1rem;border-bottom:1px solid #c7a76c44}.beach-city-tabs a{display:flex;align-items:center;justify-content:center;min-height:46px;padding:9px;color:#c7a76c;border-bottom:1px solid transparent;text-align:center;text-transform:uppercase;font:400 10px/1.7 Montserrat,Arial,sans-serif;letter-spacing:.08em}.beach-city-tabs a[aria-selected=true]{background:#c7a76c12;border-color:#c7a76c}.beach-city-tabs a:focus-visible{outline:2px solid #c7a76c;outline-offset:3px}.beach-city-panel[hidden]{display:none!important}.beach-city-panel{scroll-margin-top:280px}.beach-city-panel>.beach-project:first-child{margin-top:0!important;padding-top:0!important;border-top:0!important}.beach-empty{padding:3rem 0 5rem;max-width:650px}.beach-empty p{font-size:.875rem;line-height:1.9;color:#bfc2ca}.beach-location-enquiry{display:inline-flex;gap:12px;align-items:center;border:1px solid #c7a76c80;color:#c7a76c;padding:12px 18px;font:300 12px/1.5 Montserrat,Arial,sans-serif}.beach-location-enquiry img{width:26px;height:26px}.beach-location-enquiry:focus-visible{outline:2px solid #c7a76c;outline-offset:4px}@media(max-width:650px){.beach-city-tabs{grid-template-columns:1fr 1fr;gap:6px}.beach-city-tabs a{padding:8px;font-size:9px;min-height:44px}}
.beach-nayarit-tabs{grid-template-columns:1fr 1fr}

.beach-city-unavailable{display:flex;align-items:center;justify-content:center;min-height:46px;padding:9px;color:#85858e;text-align:center;text-transform:uppercase;font:400 10px/1.7 Montserrat,Arial,sans-serif;letter-spacing:.08em;cursor:default}@media(max-width:650px){.beach-city-unavailable{padding:8px;font-size:9px;min-height:44px}}
.city-municipality-tabs{grid-template-columns:1fr 1fr}.city-municipality-panel[hidden]{display:none!important}.city-municipality-panel{scroll-margin-top:180px}.city-municipality-panel>.municipality-project:first-child{margin-top:0!important;padding-top:0!important;border-top:0!important}@media(max-width:650px){.city-municipality-tabs a:first-child{grid-column:auto;min-height:72px}}

.mandarina-cover-layout{display:flex;flex-direction:column;gap:12px}.mandarina-cover-layout img{display:block;width:100%;height:auto!important;max-height:none!important;aspect-ratio:3/2;object-fit:contain}

.inna-copy a[x-apple-data-detectors],.inna-copy a[href^="x-apple-data-detectors:"]{color:inherit!important;text-decoration:none!important;border-bottom:0!important;font:inherit!important}
