/* Retreat landing page only. Inherits the property's existing font families. */
.tr-page{--tr-paper:#faf9f4;--tr-sand:#f0ece2;--tr-blue:#e5eff1;--tr-ink:#234a4c;--tr-muted:#526565;--tr-green:#e8ece4;background:var(--tr-paper);color:var(--tr-ink);overflow:hidden}
.tr-page *, .tr-page *::before,.tr-page *::after{box-sizing:border-box}
.tr-page .tr-shell{width:min(1280px,calc(100% - 112px));margin-inline:auto}
.tr-page .tr-section{padding:112px 0}
.tr-page p{font-size:16px;line-height:1.8;color:var(--tr-muted);margin:0 0 22px;max-width:none}
.tr-page h1,.tr-page h2,.tr-page h3{font-family:var(--font-display);font-weight:400;color:var(--tr-ink);letter-spacing:-.04em;margin:0 0 24px}
.tr-page h2{font-size:clamp(38px,4.1vw,62px);line-height:1.12;max-width:none}
.tr-page h3{font-size:27px;line-height:1.25;letter-spacing:-.025em}
.tr-page em{font-weight:400}
.tr-page .tr-kicker{font-family:var(--font-body);font-size:11px;font-weight:600;line-height:1.6;letter-spacing:.19em;text-transform:uppercase;color:var(--tr-ink);margin-bottom:25px}
.tr-page .tr-lead{font-size:21px;line-height:1.65;color:var(--tr-ink)}
.tr-page figure{margin:0;min-width:0}
.tr-page img{width:100%;height:auto;display:block;border-radius:0;object-fit:contain}
.tr-page figcaption{font-size:13px;line-height:1.6;color:var(--tr-muted);padding-top:16px}
.tr-page .tr-split{display:grid;grid-template-columns:1fr 1fr;gap:88px;align-items:center}
.tr-page .tr-hero{position:relative;min-height:760px;min-height:calc(100svh - 90px);display:flex;align-items:center;background:#617f86;padding:90px 0;color:#fff}
.tr-page .tr-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%}
.tr-page .tr-hero::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,35,44,.69),rgba(9,35,44,.20) 65%,rgba(9,35,44,.04))}
.tr-page .tr-hero-content{position:relative;z-index:1}
.tr-page .tr-hero h1{font-size:clamp(48px,5.7vw,88px);line-height:1.04;color:#fffdf5;max-width:850px;letter-spacing:-.035em;margin-bottom:28px}
.tr-page .tr-hero .tr-kicker{color:#fffdf5;font-size:13px;letter-spacing:.16em;margin-bottom:40px}
.tr-page .tr-hero .tr-kicker span{display:block;font-size:10px;letter-spacing:.21em;margin-top:4px}
.tr-page .tr-hero-copy{color:#fffdf5;max-width:480px;font-size:17px;line-height:1.65;margin-bottom:32px}
.tr-page .tr-button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;background:#f7f6ef;color:#234a4c;min-height:56px;padding:17px 25px;border:1px solid transparent;text-decoration:none;font:600 11px/1.5 var(--font-body);letter-spacing:.12em;text-transform:uppercase;border-radius:0;transition:background .2s}
.tr-page .tr-button:hover{background:#e5eff1}
.tr-page .tr-button span{font-size:19px;line-height:1}
.tr-page a:focus-visible,.tr-page button:focus-visible,.tr-page [tabindex]:focus-visible{outline:3px solid #4d8188;outline-offset:5px}
.tr-page .tr-hero-location{position:absolute;z-index:1;bottom:25px;right:56px;font-size:10px;text-transform:uppercase;letter-spacing:.18em;color:#fff}
.tr-page .tr-facts-section{padding:48px 0 55px;background:var(--tr-blue)}
.tr-page .tr-facts-section .tr-kicker{margin-bottom:30px}
.tr-page .tr-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:30px 45px;padding:0;margin:0;list-style:none}
.tr-page .tr-facts li{border-top:1px solid #b7cbcd;padding:19px 0 0}
.tr-page .tr-facts strong{display:block;font-size:16px;font-weight:500;letter-spacing:.055em;text-transform:uppercase;margin-bottom:7px}
.tr-page .tr-facts span{font-size:13px;color:var(--tr-muted)}
.tr-page .tr-intro .tr-split{align-items:start}
.tr-page .tr-intro{padding:130px 0}
.tr-page .tr-accommodations{background:var(--tr-sand)}
.tr-page .tr-section-heading{display:flex;justify-content:space-between;gap:60px;align-items:end;margin-bottom:46px}
.tr-page .tr-section-heading h2{margin-bottom:0}
.tr-page .tr-section-heading>p{max-width:370px;margin:0}
.tr-page .tr-room-types{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin:55px 0}
.tr-page .tr-room-types>div{border-top:1px solid #c9cbbf;padding-top:24px;position:relative}
.tr-page .tr-room-types b{font:400 46px/1 var(--font-display);color:#638081;display:block;margin-bottom:18px}
.tr-page .tr-room-types h3{margin-bottom:12px}
.tr-page .tr-room-types p{font-size:14px;margin-bottom:0;max-width:280px}
.tr-page .tr-gallery-top{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:15px}
.tr-page .tr-gallery-top>p{font-size:11px;text-transform:uppercase;letter-spacing:.14em;margin:0}
.tr-page .tr-gallery-controls{display:flex;gap:18px;align-items:center;white-space:nowrap;font-size:12px}
.tr-page .tr-gallery-controls[hidden]{display:none}
.tr-page .tr-gallery-controls button{width:44px;height:44px;padding:0;background:transparent;border:1px solid #8b9d99;color:var(--tr-ink);border-radius:50%;cursor:pointer;font-size:20px}
.tr-page .tr-gallery-controls button:disabled{opacity:.35;cursor:default}
.tr-page .tr-gallery-track{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#718c8a transparent;padding-bottom:16px}
.tr-page .tr-gallery-track figure{flex:0 0 78%;scroll-snap-align:start}
.tr-page .tr-gallery-track img{aspect-ratio:1672/941;object-fit:contain}
.tr-page .tr-wide{margin-bottom:40px}
.tr-page .tr-wide figcaption{display:flex;justify-content:space-between;gap:35px;padding-top:25px}
.tr-page .tr-wide figcaption h3{margin:0}
.tr-page .tr-wide figcaption p{max-width:470px;font-size:14px;margin:0}
.tr-page .tr-photo-pair{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.tr-page .tr-palapa{margin:95px 0 40px;grid-template-columns:.7fr 1.3fr;gap:65px}
.tr-page .tr-dining{background:var(--tr-green)}
.tr-page .tr-dining .tr-split{grid-template-columns:1.1fr 1fr;gap:70px}
.tr-page .tr-inclusions{border-top:1px solid #bfcbbb;margin-top:65px;padding-top:32px}
.tr-page .tr-inclusions ul{list-style:none;display:flex;flex-wrap:wrap;gap:18px 32px;padding:0;margin:0}
.tr-page .tr-inclusions li{font-size:13px;line-height:1.6}
.tr-page .tr-inclusions li::before{content:'✓';margin-right:10px}
.tr-page .tr-amenity-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:35px;margin-top:55px}
.tr-page .tr-amenity-grid article{border-top:1px solid #c8d0c9;padding-top:23px}
.tr-page .tr-amenity-grid span{font-size:11px;color:#647e7d;display:block;margin-bottom:24px}
.tr-page .tr-amenity-grid h3{font-size:25px;margin-bottom:15px}
.tr-page .tr-amenity-grid p{font-size:14px}
.tr-page .tr-support{background:var(--tr-blue)}
.tr-page .tr-support p:last-child{margin:0}
.tr-page .tr-baja .tr-wide{margin-bottom:65px}
.tr-page .tr-experiences>div{border-bottom:1px solid #c8d0c9;padding:20px 0}
.tr-page .tr-experiences>div:first-child{padding-top:0}
.tr-page .tr-experiences h3{font-size:24px;margin-bottom:10px}
.tr-page .tr-experiences p{font-size:14px;margin:0}
.tr-page .tr-private{padding:clamp(26px,3.25vw,41.6px) 0;background:var(--tr-blue);text-align:center}
.tr-page .tr-private .tr-kicker{margin-bottom:16px}
.tr-page .tr-private h2{font-size:clamp(34px,3.2vw,48px);margin-bottom:18px}
.tr-page .tr-private p:last-child{max-width:680px;margin:0 auto}
.tr-page .tr-inquiry{background:var(--tr-sand);scroll-margin-top:144px}
.tr-page .tr-inquiry>.tr-split{align-items:start}
.tr-page .tr-inquiry-signature{font:400 32px/1.2 var(--font-display);margin-top:55px;color:var(--tr-ink)}
.tr-page .tr-inquiry-signature span{font:500 10px/1.6 var(--font-body);text-transform:uppercase;letter-spacing:.15em}
.tr-page .tr-privacy{font-size:12px;line-height:1.7;margin-top:24px}
.tr-page .tr-event-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.tr-page .tr-event-grid img{margin-bottom:25px}
.tr-page .tr-text-link{font-size:13px;text-underline-offset:5px}
.tr-page .tr-form .wpforms-container-full{margin:0!important;--wpforms-field-background-color:#faf9f4;--wpforms-field-border-color:#a3b4af;--wpforms-field-border-radius:0px;--wpforms-label-color:#234a4c;--wpforms-field-text-color:#234a4c;--wpforms-button-background-color:#234a4c;--wpforms-button-text-color:#fff;--wpforms-button-border-radius:0px}
.tr-page .tr-form .wpforms-field{padding-top:0!important;padding-bottom:24px!important}
.tr-page .tr-form .wpforms-field-label{font-size:13px!important;font-weight:500!important;color:var(--tr-ink)!important;line-height:1.5!important}
.tr-page .tr-form .wpforms-field-description{font-size:12px!important;line-height:1.6!important;color:var(--tr-muted)!important}
.tr-page .tr-form input:not([type=checkbox]):not([type=hidden]),.tr-page .tr-form textarea{font-size:16px!important;border-radius:0!important;box-shadow:none!important;background:#faf9f4!important;color:#234a4c!important;border-color:#a3b4af!important}
.tr-page .tr-form button[type=submit]{height:auto!important;min-height:56px!important;padding:18px 25px!important;background:#234a4c!important;color:#fff!important;font-size:11px!important;letter-spacing:.1em!important;text-transform:uppercase;border-radius:0!important;white-space:normal!important;line-height:1.5!important}
@media(min-width:1600px){.tr-page .tr-hero{min-height:850px}}
@media(max-width:1000px){.tr-page .tr-shell{width:calc(100% - 64px)}.tr-page .tr-split,.tr-page .tr-dining .tr-split{gap:40px}.tr-page .tr-section{padding:80px 0}.tr-page .tr-amenity-grid{grid-template-columns:repeat(2,1fr)}.tr-page .tr-section-heading{gap:35px}.tr-page .tr-section-heading>p{max-width:300px}.tr-page .tr-palapa{gap:35px;grid-template-columns:1fr 1fr}}
@media(max-width:700px){
 .tr-page .tr-shell{width:calc(100% - 40px)}.tr-page .tr-section{padding:65px 0}.tr-page .tr-split,.tr-page .tr-dining .tr-split,.tr-page .tr-palapa{grid-template-columns:1fr;gap:28px}.tr-page h2{font-size:40px}.tr-page p{font-size:15px}.tr-page .tr-lead{font-size:19px}.tr-page .tr-kicker{font-size:10px;margin-bottom:20px}
 .tr-page .tr-hero{min-height:730px;min-height:calc(100svh - 76px);padding:70px 0 80px;align-items:center}.tr-page .tr-hero>img{object-position:43% center}.tr-page .tr-hero::after{background:linear-gradient(90deg,rgba(9,35,44,.70),rgba(9,35,44,.30))}.tr-page .tr-hero h1{font-size:clamp(42px,10.5vw,68px);line-height:1.07}.tr-page .tr-hero .tr-kicker{font-size:12px;margin-bottom:34px}.tr-page .tr-hero-copy{font-size:15px;max-width:340px}.tr-page .tr-hero-location{left:20px;right:auto;font-size:9px;bottom:24px}
 .tr-page .tr-facts-section{padding:36px 0}.tr-page .tr-facts{grid-template-columns:1fr 1fr;gap:25px 20px}.tr-page .tr-facts strong{font-size:12px;line-height:1.5}.tr-page .tr-facts span{font-size:12px;line-height:1.5;display:block}.tr-page .tr-intro h2{margin-bottom:0}.tr-page .tr-section-heading{display:block;margin-bottom:30px}.tr-page .tr-section-heading>p{max-width:none;margin-top:24px}
 .tr-page .tr-room-types{grid-template-columns:1fr;gap:24px;margin:35px 0}.tr-page .tr-room-types>div{padding-left:65px;padding-top:20px}.tr-page .tr-room-types b{position:absolute;left:0;top:21px;font-size:37px}.tr-page .tr-room-types h3{font-size:24px;margin-bottom:8px}.tr-page .tr-room-types p{max-width:none}.tr-page .tr-gallery-track{gap:15px}.tr-page .tr-gallery-track figure{flex-basis:94%}.tr-page .tr-gallery-top>p{font-size:9px;max-width:150px}.tr-page .tr-gallery-controls{gap:10px}.tr-page .tr-gallery-controls button{width:40px;height:40px}
 .tr-page .tr-photo-pair{grid-template-columns:1fr;gap:30px}.tr-page .tr-wide figcaption{display:block}.tr-page .tr-wide figcaption h3{margin-bottom:12px}.tr-page .tr-palapa{margin:65px 0 30px}.tr-page .tr-inclusions{margin-top:35px}.tr-page .tr-inclusions ul{display:grid;gap:14px}.tr-page .tr-amenity-grid{gap:20px;margin-top:35px}.tr-page .tr-amenity-grid h3{font-size:23px}.tr-page .tr-amenity-grid p{font-size:13px}.tr-page .tr-amenity-grid span{margin-bottom:18px}.tr-page .tr-baja .tr-wide{margin-bottom:35px}.tr-page .tr-inquiry-signature{margin-top:30px}.tr-page .tr-event-grid{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){.tr-page *{scroll-behavior:auto!important;transition:none!important}}

/* The header keeps its layout and booking destination on this page. */
body.cdp-retreat-landing .header .header-cta,
body.cdp-retreat-landing .header .nav-cta{background:transparent;border:1px solid #8b9d99;color:#234a4c;box-shadow:none}
body.cdp-retreat-landing .header .header-cta:hover,
body.cdp-retreat-landing .header .header-cta:focus-visible,
body.cdp-retreat-landing .header .nav-cta:hover,
body.cdp-retreat-landing .header .nav-cta:focus-visible{background:#e5eff1;border-color:#234a4c;color:#234a4c;box-shadow:none}
