:root{--paper:#f7f0e3;--sand:#ede0ca;--palm:#245043;--deep:#173c33;--clay:#a95736;--gold:#e7ba68;--ink:#2e2923;--muted:#6c6258;--line:rgba(64,50,37,.18);--display:"Bree Serif",Georgia,serif;--body:"Nunito Sans",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}img{display:block;max-width:100%;height:auto}a{color:inherit}.skip{position:fixed;z-index:9999;top:8px;left:8px;padding:9px 13px;transform:translateY(-160%);background:#fff}.skip:focus{transform:none}
.site-header{position:absolute;z-index:100;top:0;right:0;left:0;display:grid;grid-template-columns:180px 1fr auto;align-items:center;gap:30px;min-height:94px;padding:10px clamp(24px,5vw,76px);border-bottom:1px solid rgba(38,60,52,.22);background:rgba(245,239,224,.78);backdrop-filter:blur(16px) saturate(115%)}.brand{display:flex;width:152px;text-decoration:none}.brand img{width:142px}.site-header nav{display:flex;justify-content:center;gap:clamp(22px,3vw,44px)}.site-header nav a,.review{font-size:.73rem;font-weight:700;letter-spacing:.12em;text-decoration:none;text-transform:uppercase}.header-actions{display:flex;align-items:center;gap:22px}.reserve{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 25px;border-radius:999px;background:var(--clay);color:#fff;text-decoration:none;font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.hero{position:relative;display:flex;align-items:center;min-height:min(860px,96vh);overflow:hidden;padding:150px clamp(24px,7vw,104px) 138px;background:url("images/palapa-restaurante.jpg") center 48%/cover no-repeat;color:#fff}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(23,21,17,.72),rgba(23,21,17,.26) 58%,rgba(23,21,17,.08)),linear-gradient(0deg,rgba(20,28,23,.34),transparent 58%)}.hero-copy{position:relative;z-index:2;max-width:650px}.hero-copy p,.story-copy>p,.section-title>p,.location>div>p,.final-cta p{margin:0 0 13px;font-size:.75rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.hero-copy h1{margin:0;font:400 clamp(4.7rem,8vw,7.2rem)/.88 var(--display);letter-spacing:-.04em;text-shadow:0 3px 28px rgba(0,0,0,.26)}.hero-copy>span{display:block;max-width:560px;margin-top:22px;font-size:1.18rem;line-height:1.55;text-shadow:0 2px 18px rgba(0,0,0,.35)}.hero-copy>a{display:inline-flex;gap:11px;margin-top:27px;padding-bottom:5px;border-bottom:1px solid currentColor;text-decoration:none;font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.steps{position:absolute;z-index:2;top:42%;right:5%;display:flex;flex-direction:column;width:205px;padding:23px;border:1px solid rgba(255,255,255,.42);background:rgba(31,70,59,.4);backdrop-filter:blur(14px)}.steps strong{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase}.steps span{margin-top:5px;color:rgba(255,255,255,.82);font-size:.9rem;line-height:1.4}
.booking{position:relative;z-index:5;width:min(1190px,90%);margin:-78px auto 0;padding:18px;border:1px solid rgba(255,255,255,.45);border-radius:24px 24px 0 0;background:rgba(249,243,232,.94);box-shadow:0 24px 65px rgba(59,39,25,.18);backdrop-filter:blur(18px);scroll-margin-top:18px}.booking-summary{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:0 2px}.booking-summary>div{display:flex;align-items:baseline;gap:17px}.booking-summary strong{font:400 1.55rem var(--display)}.booking-summary span{color:var(--muted);font-size:.9rem}.booking-toggle{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 24px;border:0;border-radius:999px;background:var(--clay);color:#fff;font:700 .82rem var(--body);cursor:pointer}.booking.is-open{padding-bottom:22px;background:rgba(249,243,232,.98)}.booking.is-open .booking-summary{padding-bottom:17px}.booking.is-open .booking-toggle{border:1px solid var(--line);background:transparent;color:var(--ink)}.booking-engine{min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:16px;background:#faf7f1;box-shadow:0 15px 38px rgba(70,48,36,.11)}.booking-engine[hidden]{display:none}.booking-engine #cometia-embed-inline{max-width:none!important;margin:0!important}.booking-engine noscript a{display:block;padding:24px;color:var(--palm)}
.story{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(330px,.72fr);gap:clamp(50px,7vw,110px);align-items:center;padding:clamp(86px,9vw,138px) clamp(24px,7vw,104px)}.story-photos{display:grid;grid-template-columns:.76fr 1.24fr;gap:12px;min-height:620px}.story-photos img{width:100%;height:100%;object-fit:cover}.story-photos img:first-child{object-position:center 42%}.story-copy>p{color:var(--clay)}.story-copy h2,.section-title h2,.location h2{margin:0;font:400 clamp(3.2rem,5.4vw,5.3rem)/.94 var(--display);letter-spacing:-.04em}.story-copy>span{display:block;margin-top:26px;color:var(--muted);font-size:1.06rem;line-height:1.85}.story-copy>a,.section-title>a{display:inline-flex;margin-top:29px;padding-bottom:5px;border-bottom:1px solid currentColor;text-decoration:none;font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.highlights{display:grid;grid-template-columns:repeat(3,1fr);margin:0 clamp(24px,7vw,104px);background:var(--deep);color:#fff}.highlights article{padding:38px clamp(22px,3vw,46px);border-right:1px solid rgba(255,255,255,.16)}.highlights article:last-child{border:0}.highlights span{display:block;margin-bottom:12px;color:var(--gold);font-size:.72rem;font-weight:700;letter-spacing:.15em}.highlights strong{display:block;font:400 clamp(1.55rem,2.1vw,2.05rem)/1.15 var(--display)}.highlights p{max-width:330px;margin:11px 0 0;color:rgba(255,255,255,.7);font-size:.9rem;line-height:1.65}
.rooms{padding:clamp(92px,9vw,140px) clamp(24px,7vw,104px);background:var(--sand)}.section-title{display:grid;grid-template-columns:1fr auto;align-items:end;gap:30px;margin-bottom:48px}.section-title>p{grid-column:1/-1;margin-bottom:-7px;color:var(--clay)}.section-title h2{max-width:800px}.section-title>a{margin:0 0 8px;white-space:nowrap}.room-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.room-grid article{position:relative;min-height:560px;overflow:hidden;background:var(--deep)}.room-grid img{width:100%;height:560px;object-fit:cover}.room-grid article:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(28,24,20,.82))}.room-grid article>div{position:absolute;z-index:2;right:0;bottom:0;left:0;padding:32px;color:#fff}.room-grid strong{display:block;font:400 1.75rem/1.15 var(--display)}.room-grid span{display:block;max-width:390px;margin-top:8px;color:rgba(255,255,255,.78);font-size:.94rem}
.location{display:grid;grid-template-columns:1.05fr .95fr;background:var(--paper)}.location>img{width:100%;height:760px;object-fit:cover}.location>div{align-self:center;padding:clamp(58px,7vw,102px)}.location>div>p{color:var(--clay)}.location>div>span{display:block;max-width:560px;margin-top:26px;color:var(--muted);font-size:1rem;line-height:1.85}.location ul{margin:31px 0 0;padding:0;list-style:none}.location li{display:grid;grid-template-columns:155px 1fr;gap:20px;padding:17px 0;border-bottom:1px solid var(--line)}.location b{font-size:.8rem;letter-spacing:.08em;text-transform:uppercase}.location small{color:var(--muted);font-size:.9rem}
.final-cta{display:grid;grid-template-columns:1fr auto;align-items:center;gap:30px;padding:58px clamp(24px,7vw,104px);background:var(--clay);color:#fff}.final-cta p{margin-bottom:9px;color:#f4d19b}.final-cta strong{display:block;font:400 clamp(2.5rem,4.5vw,4.3rem)/1 var(--display)}.final-cta span{display:block;margin-top:8px;color:rgba(255,255,255,.78)}.final-cta>a{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 25px;border:1px solid rgba(255,255,255,.7);color:#fff;text-decoration:none;font-size:.76rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
footer{display:grid;grid-template-columns:1.25fr 1fr 1.2fr .65fr;gap:42px;align-items:center;padding:64px clamp(24px,7vw,104px);background:var(--deep);color:#fff}.footer-brand{display:flex;width:175px}.footer-brand img{width:160px;height:160px;object-fit:contain}footer div{display:flex;flex-direction:column;gap:5px}footer div>strong{margin-bottom:6px;color:var(--gold);font-size:.72rem;letter-spacing:.15em;text-transform:uppercase}footer div>a,footer div>span{color:rgba(255,255,255,.74);font-size:.88rem;line-height:1.65;text-decoration:none}
@media(max-width:980px){.site-header{grid-template-columns:155px 1fr auto}.site-header nav{gap:17px}.review{display:none}.story{grid-template-columns:1fr}.story-photos{min-height:560px}.highlights{margin-inline:0}.location{grid-template-columns:1fr}.location>img{height:560px}footer{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.site-header{grid-template-columns:1fr auto;min-height:78px;padding:8px 20px}.brand{width:122px}.brand img{width:118px}.site-header nav{display:none}.header-actions{gap:0}.reserve{min-height:42px;padding-inline:19px}.hero{min-height:720px;padding:125px 24px 150px;background-position:58% center}.hero-copy h1{font-size:clamp(4rem,18vw,5.8rem)}.hero-copy>span{font-size:1.05rem}.steps{display:none}.booking{width:calc(100% - 36px);margin-top:-94px;padding:15px;border-radius:20px 20px 0 0}.booking-summary{display:grid;gap:12px}.booking-summary>div{display:block}.booking-summary span{display:block;margin-top:2px}.booking-toggle{width:100%}.story{padding-inline:22px}.story-photos{grid-template-columns:1fr;min-height:850px}.story-photos img{min-height:410px}.highlights{grid-template-columns:1fr}.highlights article{border-right:0;border-bottom:1px solid rgba(255,255,255,.16)}.section-title{grid-template-columns:1fr}.section-title>p{margin-bottom:-5px}.section-title>a{width:max-content}.room-grid{grid-template-columns:1fr}.room-grid article,.room-grid img{min-height:430px;height:430px}.location>img{height:450px}.location>div{padding-inline:22px}.location li{grid-template-columns:1fr;gap:3px}.final-cta{grid-template-columns:1fr}.final-cta>a{width:max-content}footer{grid-template-columns:1fr;gap:28px}.footer-brand img{width:142px;height:142px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

body.altamira-site.admin-bar .site-header{top:32px}
@media(max-width:782px){body.altamira-site.admin-bar .site-header{top:46px}}
