/* RESERVE PRIVATE · shared editorial and interaction system */
:root{--navy:#090a15;--ivory:#f6f3ec;--gold:#c7a76c;--muted:#bfc2ca;--rule:rgba(199,167,108,.32)}
html{scroll-padding-top:100px}body{font-family:Montserrat,"Helvetica Neue",Arial,sans-serif;font-size:16px;font-weight:300;line-height:1.75;background:var(--navy);color:var(--ivory);padding-bottom:calc(86px + env(safe-area-inset-bottom,0px))}
p,li{line-height:1.8}h1,h2,h3{font-family:"Cormorant Garamond",Georgia,serif;font-weight:300;text-wrap:balance}h1{font-size:clamp(3rem,7vw,6.6rem);line-height:1.04}h2{line-height:1.08}.project-title{font-size:clamp(3rem,6.5vw,6rem);line-height:1.07}.project-title.long{font-size:clamp(2.7rem,5.5vw,5.7rem)}
.site-head,.head{width:min(1280px,calc(100% - 3rem));margin-inline:auto;padding-block:24px;align-items:center;gap:24px}.wordmark{font-size:13px;letter-spacing:.2em;line-height:1.65}.wordmark small,.wordmark span{font-size:9px;letter-spacing:.2em;line-height:1.65}.site-language-switch{font-size:12px}.site-language-switch a{min-width:36px;min-height:44px}
.page-main,.wrap,.site-foot{width:min(1280px,calc(100% - 3rem));margin-inline:auto}.page-main{padding-top:48px;padding-bottom:72px}.page-title{font-size:clamp(3.2rem,7.5vw,7rem);margin-bottom:40px}.eyebrow{font-size:12px;letter-spacing:.16em;line-height:1.8}.lead{font-size:clamp(1.08rem,1.6vw,1.3rem);line-height:1.7}.metadata{font-size:17px;line-height:1.7}.attribution{font-size:16px;line-height:1.8;max-width:70ch}.feature-copy{padding-top:32px;max-width:900px}.feature-copy .project-title{margin-bottom:16px}.feature-copy .attribution{margin-bottom:20px}.collection-area,.residence-areas{font-size:15px;line-height:1.8;font-weight:400;letter-spacing:.015em;color:var(--gold)}.collection-area{margin:18px 0 16px}.text-link{font-size:13px;line-height:1.6;letter-spacing:.12em;min-height:44px;padding-top:8px;padding-bottom:12px}.listing-divider{margin-top:64px;padding-top:48px}
.refined-project .hero{display:grid;grid-template-columns:1fr;gap:40px;padding-top:32px;padding-bottom:64px}.refined-project .hero-photo{order:-1}.refined-project .hero-photo img{height:auto;max-height:none;object-fit:contain}.refined-project .hero>div:first-child{max-width:850px}.refined-project .hero h1{font-size:clamp(3rem,7vw,6.6rem)}.hero-photo img[data-orientation=portrait]{max-height:900px;object-fit:contain}.section{padding-block:72px}.section-head{max-width:800px;margin-bottom:32px}.section-head p{max-width:68ch}.section h2{font-size:clamp(2.5rem,4.7vw,4.5rem)}.gallery{gap:28px}.gallery img{object-fit:contain}.full-photo img{height:auto;aspect-ratio:auto}.feature-media{background:transparent}.brand-logo{max-width:250px;height:auto;margin:auto}.legal-note{font-size:11px;line-height:1.75;max-width:1050px}.mandarina-cover-layout{gap:16px}.mandarina-cover-layout img{width:100%;height:auto!important;object-fit:contain;max-height:none!important}
/* One quiet contextual toolbar; WhatsApp is the only floating control. */
.project-navigation{position:static;inset:auto;transform:none;display:flex;align-items:center;justify-content:space-between;gap:16px;width:min(1280px,calc(100% - 3rem));max-width:none;margin:0 auto 12px;padding:4px 0 12px;border:0;border-bottom:1px solid var(--rule);border-radius:0;box-shadow:none;background:transparent;backdrop-filter:none;z-index:auto}.project-navigation a,.project-navigation button,.project-navigation-end a,.project-navigation-end button{font:400 13px/1.6 Montserrat,Arial,sans-serif;letter-spacing:.02em;padding:10px 0;min-height:44px;white-space:normal;text-align:left}.project-navigation-actions{display:flex;align-items:center;gap:24px}.project-navigation-status{position:static;display:block;white-space:normal;font:400 12px/1.6 Montserrat,Arial,sans-serif;min-height:0;background:transparent}.project-navigation-status:empty{display:none}.project-navigation-end{display:flex;justify-content:space-between;align-items:center;width:min(1280px,calc(100% - 3rem));max-width:none;margin:32px auto;padding-top:24px;border-top:1px solid var(--rule)}.has-project-navigation{padding-bottom:calc(86px + env(safe-area-inset-bottom,0px))}.has-project-navigation main a.back,.has-project-navigation main>.back-link{display:none}.site-whatsapp-float{width:54px!important;height:54px!important}.availability-contact .availability-contact-copy{font-size:15px;line-height:1.8;max-width:45ch}a.availability-whatsapp{font-size:14px;min-height:50px;letter-spacing:.025em;border-radius:0}
/* Compact destination controls, generous touch targets. */
.beach-region-tabs{gap:8px;padding:8px 0;margin-bottom:24px;top:0}.beach-region-tabs a,.city-municipality-tabs a{min-height:56px;font-size:12px;line-height:1.5;letter-spacing:.07em;padding:10px 12px}.beach-city-tabs{margin-bottom:32px;gap:8px}.beach-city-tabs a,.beach-city-unavailable{font-size:12px;line-height:1.5;min-height:48px;letter-spacing:.035em}.beach-city-panel,.city-municipality-panel{scroll-margin-top:150px}.beach-region-panel{scroll-margin-top:90px}.beach-city-unavailable{opacity:.65}.portfolio-card{scroll-margin-top:100px}.portfolio-card[hidden]{display:none!important}
/* Search and index belong to the collection, not to individual property sheets. */
.portfolio-tools{margin:0 0 40px;padding:20px 0 24px;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}.portfolio-tool-row{display:flex;flex-wrap:wrap;align-items:end;gap:20px 28px}.portfolio-search-field{flex:1 1 280px;max-width:550px}.portfolio-tools label{display:block;margin-bottom:8px;font-size:12px;line-height:1.5;letter-spacing:.06em;color:var(--muted)}.portfolio-tools input,.portfolio-tools select{display:block;box-sizing:border-box;width:100%;min-height:48px;padding:10px 4px;background:var(--navy);border:0;border-bottom:1px solid var(--gold);border-radius:0;color:var(--ivory);font:300 16px/1.6 Montserrat,Arial,sans-serif}.portfolio-tools input::placeholder{color:#969aa6;opacity:1}.portfolio-area-field{flex:0 1 240px;min-width:200px}.portfolio-tools input:focus-visible,.portfolio-tools select:focus-visible{outline:2px solid var(--gold);outline-offset:5px}.portfolio-tools button,.portfolio-index summary{font:400 13px/1.6 Montserrat,Arial,sans-serif;color:var(--gold);background:none;border:0;min-height:44px;padding:10px 0;cursor:pointer}.portfolio-tool-status{margin:16px 0 0!important;font-size:13px;color:var(--muted);line-height:1.6}.portfolio-index{margin-top:12px}.portfolio-index summary{width:max-content;max-width:100%;list-style:none}.portfolio-index summary::-webkit-details-marker{display:none}.portfolio-index summary::after{content:' +';padding-left:8px}.portfolio-index[open] summary::after{content:' −'}.portfolio-index nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 28px;padding-top:12px}.portfolio-index nav a{display:block;padding:12px 0;border-bottom:1px solid #c7a76c2b;color:var(--ivory);font-size:14px;line-height:1.6}.portfolio-index nav a:hover{color:var(--gold)}.portfolio-no-results{padding:24px 0;color:var(--muted);font-size:16px}.portfolio-no-results[hidden]{display:none}.portfolio-tools[hidden]{display:none!important}
@media(max-width:760px){.site-head,.head,.page-main,.wrap,.site-foot,.project-navigation,.project-navigation-end{width:calc(100% - 2.5rem)}.site-head,.head{padding-block:20px;gap:14px}.wordmark{font-size:11px;letter-spacing:.16em}.wordmark small,.wordmark span{font-size:8px;letter-spacing:.14em}.site-language-switch{font-size:12px}.site-language-switch a{min-width:30px}.page-main{padding-top:32px;padding-bottom:48px}.page-title{font-size:clamp(2.8rem,12vw,3.6rem);margin-bottom:32px}.project-title,.project-title.long,.refined-project .hero h1{font-size:clamp(2.7rem,11.5vw,3.5rem)}.section h2{font-size:clamp(2rem,8.5vw,2.6rem)}.eyebrow{font-size:12px;letter-spacing:.12em}.metadata{font-size:16px}.attribution{font-size:16px;line-height:1.8}.feature-copy{padding-top:28px}.listing-divider{margin-top:48px;padding-top:36px}.section{padding-block:48px}.gallery{gap:24px}.refined-project .hero{gap:28px;padding-top:24px;padding-bottom:40px}.hero-photo img[data-orientation=portrait]{max-height:82svh}.brand-logo{max-width:210px}.project-navigation{display:flex;left:auto;right:auto;transform:none;margin-bottom:0;padding-bottom:8px;gap:12px}.project-navigation a,.project-navigation button{font-size:12px;padding:10px 0;min-height:44px}.project-navigation-actions{gap:16px}.project-navigation-end a,.project-navigation-end button{font-size:12px}.beach-region-tabs,.city-municipality-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.city-municipality-tabs{grid-template-columns:1fr 1fr}.beach-region-tabs a,.beach-region-tabs a:first-child,.city-municipality-tabs a:first-child{grid-column:auto;min-height:56px;font-size:11px;padding:10px 6px}.beach-city-tabs{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.beach-nayarit-tabs{grid-template-columns:1fr 1fr}.beach-city-tabs a,.beach-city-unavailable{font-size:11px;line-height:1.5;padding:9px 4px;min-height:48px}.portfolio-tools{margin-bottom:32px;padding:16px 0 20px}.portfolio-tool-row{gap:16px}.portfolio-search-field{flex-basis:100%;max-width:none}.portfolio-area-field{flex:1 1 180px}.portfolio-index nav{grid-template-columns:1fr 1fr;gap:0 20px}.portfolio-index nav a{font-size:13px}.legal-note{font-size:11px}.mandarina-cover-layout{gap:12px}}
@media(max-width:360px){.wordmark{font-size:10px;letter-spacing:.11em}.wordmark small,.wordmark span{font-size:7px}.project-navigation-actions{gap:12px}.project-navigation a,.project-navigation button{font-size:11px}.beach-region-tabs a{font-size:10px}.portfolio-index nav{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

.project-navigation{flex-wrap:wrap}.project-navigation-actions{flex-wrap:wrap}.project-navigation-end{gap:20px}.portfolio-card a:focus-visible,a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:5px}
/* Prominent brand, sized to preserve the space needed by language controls. */
.refined-site header .wordmark,.refined-site header .ritz-wordmark{font-size:26px;letter-spacing:.16em;line-height:1.45;flex:0 1 auto}
.refined-site header .wordmark small,.refined-site header .wordmark span,.refined-site header .ritz-wordmark span{font-size:12px;letter-spacing:.14em;line-height:1.8}
.refined-site header .site-language-switch{flex-shrink:0}
@media(max-width:760px){.refined-site header .wordmark,.refined-site header .ritz-wordmark{font-size:19.8px;letter-spacing:.12em}.refined-site header .wordmark small,.refined-site header .wordmark span,.refined-site header .ritz-wordmark span{font-size:9.9px;letter-spacing:.10em}}
@media(max-width:480px){.refined-site header .wordmark,.refined-site header .ritz-wordmark{font-size:clamp(14.4px,4.5vw,19.8px);letter-spacing:.12em}.refined-site header .wordmark small,.refined-site header .wordmark span,.refined-site header .ritz-wordmark span{font-size:clamp(7.2px,2.25vw,9.9px);letter-spacing:.10em}}
