:root{--coal:#2A2422;--cream:#F5F2EF;--amber:#E27036;--taupe:#796B5D;--muted:#69615D;--footer:#3D3734;--line:rgba(245,242,239,.2)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--coal);color:var(--cream);font-family:Lato,Arial,sans-serif;font-weight:300;font-size:18px;line-height:1.65}h1,h2,h3,p,figure{margin:0}a{color:inherit;text-decoration:none}button,select{font:inherit}img{display:block;width:100%;object-fit:cover}h1,h2,h3,.eyebrow,.button,nav,.strip,.tags,.step-title,.footer-bottom,.pending-label,.brand,.preview-band,.hero-bottom,.hero-locations,.campaign,.mobile-cta,.review summary{font-family:Oswald,'Arial Narrow',sans-serif;font-weight:400}h1,h2,h3{font-weight:300;line-height:1.1;letter-spacing:.025em}h1 span,h2 span,h3 span{color:var(--amber)}h1{font-size:clamp(2.65rem,5.3vw,5.2rem)}h2{font-size:clamp(2.5rem,4.3vw,4.4rem)}h3{font-size:clamp(1.9rem,2.8vw,2.85rem)}p+p{margin-top:18px}p{max-width:620px}a,button,select,summary{touch-action:manipulation}a:focus-visible,button:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--amber);outline-offset:6px}.container{width:min(1280px,calc(100% - 112px));margin:auto}.eyebrow{font-size:14px;letter-spacing:.18em;margin-bottom:25px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:15px 31px;border-radius:999px;border:1px solid transparent;font-size:14px;letter-spacing:.12em;line-height:1.25;text-align:center;transition:background .2s,color .2s}.primary{background:var(--amber);color:#251c18}.primary:hover{background:#f2915f}.outline{border-color:rgba(245,242,239,.5)}.outline:hover{background:var(--cream);color:var(--coal)}.small{padding:12px 24px;min-height:45px;font-size:13px}.preview-band{padding:8px 5%;display:flex;justify-content:center;gap:25px;background:#1e1a18;font-size:12px;letter-spacing:.12em}.preview-band a{text-decoration:underline;text-underline-offset:4px;color:#d5b6a6}header{height:106px;padding:0 4%;display:flex;align-items:center;justify-content:space-between;background:transparent;position:absolute;width:100%;z-index:2;border-bottom:1px solid rgba(255,255,255,.14)}.brand{display:flex;flex-direction:column;align-items:center;line-height:1.2}.brand-name{font-size:32px;letter-spacing:.1em}.brand-sub{font-family:Lato,sans-serif;font-size:9px;letter-spacing:.24em;margin-top:5px}nav{display:flex;gap:35px;font-size:13px;letter-spacing:.1em}nav a:hover{color:var(--amber)}.hero{min-height:830px;height:calc(100svh - 36px);max-height:1100px;position:relative;display:flex;align-items:center}.hero-image{position:absolute;inset:0;height:100%;object-position:center 53%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,18,15,.9),rgba(18,20,15,.6) 40%,rgba(16,18,13,.08) 78%),linear-gradient(0deg,rgba(21,23,19,.9),transparent 30%)}.hero-content{position:relative;padding-top:75px}.hero .eyebrow{font-size:13px;letter-spacing:.2em;color:#efc8ae;margin-bottom:20px}.campaign{font-size:15px;letter-spacing:.12em;margin-bottom:28px}.hero-copy{font-size:18px;max-width:455px;margin-top:30px;line-height:1.6}.hero .button{margin-top:30px}.hero-locations{font-size:12px;letter-spacing:.1em;margin-top:27px!important}.hero-bottom{position:absolute;bottom:26px;left:0;right:0;display:flex;justify-content:space-between;font-size:11px;letter-spacing:.14em}.hero-bottom a{font-size:12px}.hero-bottom a span{margin-left:16px}.strip{display:flex;justify-content:space-evenly;align-items:center;min-height:108px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:15px;letter-spacing:.15em}.strip span+span{border-left:1px solid var(--line);padding-left:7%}.strip b{font-size:25px;font-weight:300;letter-spacing:0;margin-right:10px}.cream{background:var(--cream);color:var(--coal)}.dark{background:var(--coal)}.manifesto{padding:132px 0}.manifesto-grid{display:grid;grid-template-columns:1fr 2fr;gap:50px}.manifesto .eyebrow{padding-top:9px;color:var(--muted)}.manifesto h2{margin-bottom:32px}.manifesto p:not(.eyebrow){color:var(--muted);max-width:590px}.moments{padding:122px 0 132px}.section-intro{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:0 90px;margin-bottom:85px}.section-intro .eyebrow{grid-column:1/-1;color:#d0b09f}.section-intro>p:last-child{color:#c8bdb6;max-width:440px}.moment{display:grid;grid-template-columns:1.18fr 1fr;align-items:center;gap:9%;margin-top:105px}.moment:first-of-type{margin-top:0}.moment figure{position:relative}.moment img{height:560px}.moment figcaption{position:absolute;bottom:17px;left:18px;right:12px;font-family:Oswald,sans-serif;font-size:11px;letter-spacing:.1em;text-shadow:0 1px 5px #000;color:white}.moment-copy .eyebrow{margin-bottom:16px;color:#d6c2b5}.number{display:block;font-family:Oswald,sans-serif;font-size:56px;font-weight:300;color:#8e7565;margin-bottom:25px;line-height:1}.moment-copy h3{margin-bottom:25px}.moment-copy p{color:#d8cec8}.moment-copy .muted{font-size:15px;color:#b3a59c}.tags{display:flex;flex-wrap:wrap;gap:18px;font-size:12px;letter-spacing:.12em;margin-top:30px;padding-top:20px;border-top:1px solid var(--line)}.reverse{grid-template-columns:1fr 1.18fr}.reverse figure{order:2}.ritual-image{height:450px;overflow:hidden}.ritual-image img{height:160%;width:160%;max-width:none;object-fit:cover;object-position:center;transform:translate(-23%,-27%)}.destinations{padding:130px 0}.section-heading{display:flex;align-items:flex-end;gap:60px;justify-content:space-between;margin-bottom:58px}.section-heading>p{max-width:370px;color:var(--muted)}.destination-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.destination-card{min-width:0}.destination-card figure{height:325px;position:relative;background:#b7aea5}.destination-card figure img{height:100%}.destination-card figure figcaption{position:absolute;bottom:12px;left:12px;right:12px;font-size:11px;line-height:1.5;color:white;text-shadow:0 1px 5px #000}.destination-card .eyebrow{font-size:12px;color:var(--muted);margin:25px 0 12px}.destination-card h3{font-size:31px}.destination-card p{font-size:17px;color:var(--muted);margin:16px 0 25px;min-height:84px}.destination-card button{cursor:pointer;background:transparent;border:1px solid #b9aaa0;color:var(--coal);width:100%}.destination-card button:hover{background:var(--coal);color:var(--cream)}.booking{padding:130px 0}.booking-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:13%}.booking h2{font-size:clamp(4rem,6vw,6rem);margin-bottom:32px}.booking-note{color:#b9aaa0;font-size:16px;margin-top:35px!important;max-width:365px}.booking-panel{border:1px solid #726154;padding:38px;background:#302823}.step-title{display:flex;gap:16px;font-size:14px;letter-spacing:.12em;margin-bottom:12px}.step-title span{color:var(--amber)}select{display:block;min-width:0;width:100%;height:60px;border:1px solid #8b786c;color:var(--cream);background:#302823;border-radius:0;padding:0 16px;margin-bottom:30px;font-size:17px}select:disabled{color:#baada4;opacity:1;border-color:#5f5147}.form-note{color:#c4b8ae;font-size:14px;line-height:1.6;margin-top:-15px;max-width:none}.booking-summary{font-size:16px;border-top:1px solid var(--line);margin-top:25px;padding-top:24px;margin-bottom:20px}.full{width:100%;margin-bottom:27px}.button[aria-disabled=true]{background:#645044;color:#e7d6cb;cursor:not-allowed}.mictlan{text-align:center;padding:90px 0;border-bottom:1px solid #d5c9c0}.mictlan p{margin-left:auto;margin-right:auto}.mictlan h2{margin-bottom:22px}.pending-label{display:inline-block;max-width:none;font-size:12px;letter-spacing:.09em;border-top:1px solid #cec0b5;padding-top:23px;margin-top:25px!important;color:var(--muted)}.faq{padding:115px 0}.faq-grid{display:grid;grid-template-columns:1fr 1.35fr;gap:90px}details{border-bottom:1px solid #c9bdb3}summary{cursor:pointer;list-style:none;padding:22px 36px 22px 0;position:relative;font-weight:400;font-size:18px;line-height:1.5}summary::-webkit-details-marker{display:none}summary:after{content:'+';position:absolute;right:3px;font-weight:300;font-size:25px;top:17px}details[open]>summary:after{content:'−'}details>p{padding-bottom:25px;font-size:16px;color:var(--muted)}.faq-note{font-size:15px;color:var(--muted);margin-top:28px}.faq-note a{text-decoration:underline}.closing{position:relative;min-height:630px;display:flex;align-items:center;text-align:center}.closing>img{position:absolute;inset:0;height:100%;object-position:center 66%}.closing-shade{position:absolute;inset:0;background:rgba(20,25,20,.74)}.closing .container{position:relative;padding:75px 0}.closing p{margin-left:auto;margin-right:auto}.closing h2{font-size:clamp(2.3rem,4.5vw,4.5rem);line-height:1.18}.closing .button{margin-top:34px}footer{background:var(--footer);padding:64px 0 25px}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:35px}.footer-brand{font-family:Oswald,sans-serif;font-size:58px;letter-spacing:.08em}.footer-top p,.footer-top>a:last-child{font-family:Oswald,sans-serif;font-size:13px;letter-spacing:.12em}.footer-bottom{display:flex;justify-content:space-between;margin-top:45px;padding-top:22px;border-top:1px solid var(--line);font-size:11px;letter-spacing:.1em}.review{background:#241e1b;color:#cbbdb3;padding:20px 0}.review details{border:0}.review summary{font-size:12px;letter-spacing:.12em}.review-content{padding:20px 0 35px;max-width:900px;font-size:16px}.review-content p{max-width:none}.review-content h3{font-size:22px;margin:28px 0 15px}.review-content a{text-decoration:underline}.review-content li{margin:10px 0}.mobile-cta{display:none}.skip{position:fixed;top:-100px;left:20px;background:var(--cream);color:var(--coal);padding:15px;z-index:20}.skip:focus{top:12px}section[id]{scroll-margin-top:20px}
@media(min-width:1600px){.hero-content{padding-top:60px}}
@media(max-width:1050px){.container{width:calc(100% - 64px)}nav{gap:20px}header{height:95px}.hero{min-height:780px}.hero-shade{background:linear-gradient(90deg,rgba(14,18,15,.9),rgba(18,20,15,.45) 70%,rgba(16,18,13,.1)),linear-gradient(0deg,rgba(21,23,19,.9),transparent 40%)}.manifesto-grid{grid-template-columns:1fr;gap:10px}.section-intro{gap:0 45px}.moment{gap:6%}.moment img{height:465px}.ritual-image{height:410px}.ritual-image img{height:160%}.destination-card figure{height:260px}.destination-card h3{font-size:26px}.booking-grid{gap:7%}.booking-panel{padding:28px}.faq-grid{gap:50px;grid-template-columns:1fr 1.2fr}.footer-top{gap:20px}.section-heading>p{max-width:290px}}
@media(max-width:767px){body{font-size:17px;padding-bottom:76px}.container{width:calc(100% - 40px)}.preview-band{font-size:10px;letter-spacing:.07em;gap:15px;padding:7px 12px}.preview-band a{white-space:nowrap}header{height:85px;padding:0 20px}nav{display:none}.brand-name{font-size:27px}.brand-sub{font-size:8px}.small{font-size:12px;padding:11px 17px}.hero{height:auto;min-height:790px}.hero-content{padding-top:95px;padding-bottom:85px}.hero-image{object-position:62% center}.hero-shade{background:linear-gradient(90deg,rgba(13,18,15,.83),rgba(20,22,17,.5)),linear-gradient(0deg,rgba(19,22,18,.9),transparent 45%)}.hero .eyebrow{font-size:11px;letter-spacing:.1em}.campaign{font-size:12px;letter-spacing:.1em;margin-bottom:25px}h1{font-size:clamp(2.2rem,7.7vw,3.7rem);line-height:1.15;letter-spacing:.015em}.hero-copy{font-size:17px;max-width:390px;margin-top:26px}.hero-locations{max-width:290px;font-size:11px;line-height:1.7}.hero-bottom{bottom:21px;font-size:9px;gap:20px;align-items:end}.hero-bottom>span{max-width:140px;text-align:right}.hero-bottom a{font-size:11px}.strip{min-height:92px;gap:12px;padding:20px;font-size:10px;letter-spacing:.07em}.strip b{font-size:19px;margin-right:3px}.strip span{flex:1;text-align:center}.strip span+span{padding-left:12px}.strip span:nth-child(2){flex:1.4}h2{font-size:clamp(2.25rem,7.8vw,3.5rem)}.eyebrow{font-size:12px;letter-spacing:.15em;margin-bottom:21px}.manifesto{padding:76px 0}.manifesto h2{margin-bottom:25px}.manifesto-grid{gap:4px}.moments{padding:77px 0 80px}.section-intro{display:block;margin-bottom:45px}.section-intro>p:last-child{margin-top:25px;font-size:16px}.moment,.reverse{grid-template-columns:1fr;gap:28px;margin-top:65px}.moment img{height:390px}.moment figure{order:0}.moment-copy{padding:0 7px}.number{font-size:42px;float:left;margin:2px 23px 0 0}.moment-copy>.eyebrow{padding-top:9px;min-height:45px}.moment-copy h3{font-size:32px;margin-top:21px}.moment-copy p{font-size:17px}.tags{font-size:11px}.ritual-image{height:320px}.ritual-image img{height:160%}.destinations{padding:78px 0}.section-heading{display:block;margin-bottom:38px}.section-heading>p{max-width:100%;margin-top:25px}.destination-grid{grid-template-columns:1fr;gap:45px}.destination-card figure{height:340px}.destination-card h3{font-size:32px}.destination-card p{min-height:0;margin:15px 0 22px}.destination-card .eyebrow{margin-top:22px}.booking{padding:78px 0}.booking-grid{grid-template-columns:1fr;gap:40px}.booking h2{font-size:58px}.booking-note{max-width:none;font-size:16px;margin-top:20px!important}.booking-panel{padding:25px 20px}.booking-panel .button{font-size:12px;padding-left:14px;padding-right:14px}.mictlan{padding:66px 0}.mictlan h2{font-size:38px}.pending-label{font-size:11px;line-height:1.8}.faq{padding:77px 0}.faq-grid{grid-template-columns:1fr;gap:29px}.faq h2 br{display:none}.faq h2 span:before{content:' '}.faq summary{font-size:17px}.closing{min-height:500px}.closing h2{font-size:33px}.closing .eyebrow{font-size:11px}.closing h2 span{display:block;margin-top:5px}.footer-top{flex-wrap:wrap;justify-content:space-between;gap:25px}.footer-brand{font-size:47px}.footer-top p{font-size:11px}.footer-top>a:last-child{width:100%;font-size:12px}.footer-bottom{display:block;font-size:10px}.footer-bottom span{display:block;margin-bottom:12px}.mobile-cta{position:fixed;bottom:0;left:0;right:0;min-height:72px;padding:12px 16px calc(12px + env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:space-between;gap:14px;background:#29221f;border-top:1px solid #6c5546;z-index:10;font-size:11px;letter-spacing:.08em}.mobile-cta>span{max-width:100px}.review summary{font-size:11px}.review-content{font-size:15px}.review-content ul{padding-left:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
@media(prefers-reduced-motion:no-preference){.hero-content{animation:enter 1s cubic-bezier(.22,1,.36,1) both}@keyframes enter{from{opacity:.1;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}}

.brand img{width:140px;height:auto;max-height:65px;object-fit:contain}.footer-brand img{width:210px;height:auto;object-fit:contain}@media(max-width:767px){.brand img{width:112px}.footer-brand img{width:155px}}

.brand img.seal{width:68px;height:68px;max-height:none}@media(max-width:767px){.brand img.seal{width:57px;height:57px}}
.brand img.seal{filter:brightness(0) invert(1);object-fit:contain}
/* Valle de Bravo season update */
h1,h2,h3{text-wrap:balance}p{text-wrap:pretty}.cream h2 span,.cream h3 span{color:#a8441a}.season-dates{font-family:Oswald,sans-serif;font-size:clamp(16px,1.65vw,21px);letter-spacing:.075em;color:#fff;margin:0 0 19px;padding:10px 0;border-top:1px solid rgba(255,255,255,.45);border-bottom:1px solid rgba(255,255,255,.45);max-width:555px}.hero .eyebrow{margin-bottom:14px}.hero .campaign{margin-bottom:22px}.hero-copy{max-width:475px}.hero-image{object-position:center}.hero{min-height:940px}.hero-content{padding-top:100px;padding-bottom:105px}.image-note{font-size:14px;color:var(--muted);max-width:850px;margin-top:30px}.cabin-link{border:1px solid #796b5d;color:var(--coal);width:100%}.destination-card{display:flex;flex-direction:column}.destination-card figure{flex-shrink:0}.destination-card .cabin-link{margin-top:auto}.destination-card p.eyebrow{min-height:0}.destination-card h3{font-size:28px}.moment figcaption,.destination-card figure figcaption{background:rgba(20,20,18,.8);padding:5px 8px;left:0;right:auto;bottom:0;text-shadow:none}.moment img{object-position:center}.destination-card:first-child img{object-position:70% center}.booking-panel h3{margin-bottom:24px}.booking .booking-summary{margin-bottom:30px}.hero-bottom>span{max-width:200px;text-align:right}.faq details[open] summary{color:#a8441a}
@media(max-width:767px){.hero{min-height:900px}.hero-content{padding-top:120px;padding-bottom:95px}.season-dates{font-size:16px;letter-spacing:.035em;line-height:1.5}.hero .campaign{font-size:11px}.hero-image{object-position:68% center}.hero-copy{font-size:17px}.destination-card figure{height:300px}.destination-card h3{font-size:29px}.strip{font-size:12px}.hero-bottom>span{font-size:9px;max-width:130px}.hero-shade{background:linear-gradient(90deg,rgba(13,18,15,.88),rgba(20,22,17,.53)),linear-gradient(0deg,rgba(19,22,18,.9),transparent 45%)}}

/* Descriptive season headings in the established condensed typeface. */
.season-title{max-width:1050px;font-size:clamp(2.3rem,4.5vw,4.5rem);text-transform:uppercase}
.season-title>span{display:block;font-size:.7em;line-height:1.22;margin-top:12px;max-width:900px}
.section-intro h2,.section-heading h2,.faq h2,.booking h2,.festival h2{text-transform:uppercase}
.section-heading>div{flex:1;min-width:0}.section-heading>p{flex:0 1 370px}
.festival{padding:80px 0 100px;border-top:1px solid var(--line)}
.festival-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.festival .eyebrow{color:#d0b09f}.festival p:not(.eyebrow){color:#d8cec8}.festival .button{margin-top:26px}
@media(max-width:767px){.season-title{font-size:clamp(2.2rem,8vw,3.6rem)}.season-title>span{font-size:.68em;line-height:1.3}.festival{padding:66px 0}.festival-grid{grid-template-columns:1fr;gap:26px}}
