:root{--ink:#f4f4f4;--muted:#bebebe;--paper:#090909;--line:#323232;--dark:#000;--accent:#d4b16b}
html{scroll-padding-top:195px}body{background:#090909;color:#f4f4f4}.header{height:184px;background:#000;flex-direction:column;justify-content:center;gap:16px;padding:10px 28px 16px;border-bottom:1px solid #252525}.header .brand img{width:105px;height:105px}.header nav{justify-content:center;gap:26px;font-size:.75rem;text-transform:uppercase;letter-spacing:.045em}.header .button,.hero .button,.contact .button,.button{background:#d4b16b;border-color:#d4b16b;color:#090909}.button:hover,.header .button:hover,.hero .button:hover,.contact .button:hover{background:#ead09a;border-color:#ead09a}.hero{min-height:620px;padding:70px max(6%,calc((100% - 1120px)/2)) 115px}.hero h1{max-width:720px;font-size:clamp(2.8rem,4.8vw,4.5rem);letter-spacing:-.035em;line-height:1.12}.hero-shade{background:linear-gradient(90deg,#000c,#0007 55%,#0002)}.hero .eyebrow{color:#dfc38e}.hero-copy>p:not(.eyebrow){max-width:570px;font-size:1.1rem}.hero .text-link.light{border:1px solid #ffffff50;padding:12px 25px;min-height:52px;display:inline-flex;align-items:center}.hero .text-link.light:hover{background:#ffffff18;color:white}.hero-foot{left:max(6%,calc((100% - 1120px)/2));right:max(6%,calc((100% - 1120px)/2));align-items:center;gap:20px;bottom:25px}.hero-controls{display:flex;gap:8px;align-items:center}.hero-controls button{color:white;background:#0005;border:1px solid #ffffff45;padding:8px 12px;min-height:40px;font-size:.75rem}.hero-controls button:hover,.hero-controls button.active{background:#d4b16b;color:#090909;border-color:#d4b16b}.hero-controls .slide-dot{width:34px;padding:8px 0}#slide-count{margin-left:20px;color:#ddd;letter-spacing:.1em}.booking{margin-top:0;width:100%;max-width:none;box-shadow:none;padding:35px max(6%,calc((100% - 1120px)/2));background:#151515;border:0;border-bottom:1px solid #333;grid-template-columns:1fr 1.6fr;gap:40px}.booking h2{font-size:1.65rem;line-height:1.2;letter-spacing:-.02em}.booking form{grid-template-columns:1fr 1fr 1fr;gap:12px}.booking form>.button{grid-column:1/-1}.booking input,.booking select{background:#202020;color:#f4f4f4;border-color:#515151;color-scheme:dark}.booking .eyebrow{color:#d4b16b}.booking .form-note{color:#bbb}.wrap{width:min(1120px,calc(100% - 80px))}.section{padding-block:80px}h2{font-size:clamp(2rem,3.1vw,3rem);line-height:1.2;letter-spacing:-.025em}.intro{display:block;text-align:center;max-width:950px}.intro-text{padding-top:28px}.intro-text p{max-width:85ch;margin-inline:auto}.intro .text-link{margin-top:22px}.eyebrow{color:#d4b16b}.amenities{padding:30px 0;color:#eee}.amenities span:before{color:#d4b16b}.section-heading{display:block;text-align:center;margin-bottom:45px}.section-heading h2{max-width:850px;margin-inline:auto}.section-heading>p{margin:22px auto 0;max-width:700px}.section-heading>.text-link{margin-top:24px}.text-link{color:#f4f4f4;border-color:#d4b16b}.text-link:hover{color:#e2c58d}.suite-grid{display:block}.suite{display:grid;grid-template-columns:1fr 1fr;gap:46px;align-items:center;padding-block:38px;border-bottom:1px solid #323232}.suite:first-child{padding-top:0}.suite:last-child{border-bottom:0}.suite:nth-child(even) img{order:2}.suite:nth-child(even) .suite-body{order:1}.suite img{aspect-ratio:1.35;width:100%;max-height:410px}.suite-body{padding:0}.suite h3{font-size:2rem}.suite .eyebrow{font-size:.75rem;color:#d4b16b}.suite p:not(.eyebrow){font-size:1rem;line-height:1.7;min-height:0;margin-block:15px}.suite-features{display:flex;flex-wrap:wrap;gap:8px 12px;list-style:none;margin:18px 0 22px;padding:0}.suite-features li{font-size:.75rem;padding:6px 10px;border:1px solid #444;color:#d2d2d2}.suite-actions{display:flex;align-items:center;gap:24px;margin-top:22px}.suite-actions .button{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em}.experiences{background:#111}.experience-grid{grid-template-columns:1fr 1fr;gap:35px}.experience-grid figure:last-child{padding-top:0}.experience-grid img{aspect-ratio:1.5}.experience-grid h3{font-size:1.8rem}.moment{border-color:#333}.number{color:#bca066}.gallery{grid-template-columns:repeat(4,1fr);grid-template-rows:260px;gap:15px}.gallery button:first-child{grid-row:auto;grid-column:auto}.gallery button:last-child{display:block}.gallery img{object-fit:cover}.location{border-color:#333}.travel{background:#181818;border-top-color:#d4b16b}.location address{color:#ddd}.faq h2{font-size:2.5rem}.contact{background:#111;border-block:1px solid #323232}.contact p{color:#bebebe}.contact input,.contact textarea{border-color:#555;background:#181818;color:white}.contact input::placeholder,.contact textarea::placeholder{color:#b5b5b5}.footer-top .brand img{width:125px;height:125px}.footer-top{padding-block:40px}.whatsapp{background:#171717;border:1px solid #a38954;color:#fff}.whatsapp:hover{background:#303030}.menu-toggle{border-color:#777}.caption{color:#bebebe}.dialog-image{background:#090909}.close{background:#151515;color:#fff}.dialog-body{background:#111}.skip{background:#fff;color:#000}.form-note a{color:#e8d1a5}.button:active{transform:translateY(1px)}
.booking.wrap{width:100%;margin-inline:0}#slide-count{display:inline-block}
@media(max-width:1100px){.header nav{gap:15px}.booking{grid-template-columns:1fr 1.5fr;gap:28px}.hero-foot>span{font-size:.65rem}.hero-controls{gap:4px}.hero-controls button{padding-inline:8px}.suite{gap:30px}}
@media(max-width:800px){html{scroll-padding-top:100px}.header{height:96px;flex-direction:row;justify-content:space-between;gap:10px;padding:8px 25px}.header .brand img{width:80px;height:80px}.header nav{top:96px;background:#000;text-align:left;gap:18px;align-items:stretch}.hero{min-height:610px;padding:70px 30px 145px}.hero h1{font-size:3.1rem}.hero-foot{left:30px;right:30px;flex-direction:column;align-items:start;gap:18px;bottom:25px}.booking{padding:32px 30px;grid-template-columns:1fr;gap:24px}.wrap{width:calc(100% - 56px)}.booking.wrap{width:100%}.suite{gap:25px}.suite h3{font-size:1.8rem}.suite-features{gap:6px}.suite-actions{gap:15px;flex-wrap:wrap}.gallery{grid-template-columns:1fr 1fr;grid-template-rows:230px 230px}.faq h2{font-size:2.3rem}.section{padding-block:65px}.experience-grid{gap:25px}}
@media(max-width:520px){.header{padding-inline:20px}.hero{padding:60px 24px 160px;min-height:660px}.hero h1{font-size:2.65rem;line-height:1.13}.hero .eyebrow{font-size:.65rem}#slide-count{display:block;margin:10px 0 0}.hero-copy>p:not(.eyebrow){font-size:1rem;margin-top:22px}.hero .actions{gap:12px}.hero .text-link.light{padding:11px 19px}.hero-foot{left:24px;right:24px}.hero-controls button{font-size:.7rem;padding:7px 9px}.hero-controls .slide-dot{width:30px}.hero-foot>span{font-size:.6rem;letter-spacing:.015em}.booking{padding:28px 24px}.booking h2{font-size:1.6rem}.booking form{grid-template-columns:1fr 1fr}.booking form label:nth-child(3){grid-column:1/-1}.wrap{width:calc(100% - 40px)}.suite{grid-template-columns:1fr;gap:24px;padding-block:30px}.suite:nth-child(even) img{order:0}.suite:nth-child(even) .suite-body{order:0}.suite img{aspect-ratio:1.3}.suite h3{font-size:1.9rem}.suite-features li{font-size:.75rem}.section{padding-block:55px}.section-heading{margin-bottom:32px}.section-heading .eyebrow{font-size:.7rem}.experience-grid{grid-template-columns:1fr;gap:35px}.gallery{grid-template-rows:170px 170px;gap:10px}.footer-top{align-items:center;text-align:center}.footer-top .brand img{width:130px;height:130px}.footer-bottom{justify-content:center;text-align:center}.footer-top p{margin-inline:auto}.contact-grid{gap:30px}.moment{grid-template-columns:.2fr 1fr}.hero-shade{background:linear-gradient(90deg,#000c,#0007)}}
/* Brand alignment: header and footer share the content edges. */
@media(min-width:1101px){html{scroll-padding-top:126px}.header{height:116px;flex-direction:row;justify-content:space-between;gap:30px;padding:8px max(6%,calc((100% - 1120px)/2))}.header .brand{flex-shrink:0;margin-left:-10px}.header .brand img{width:100px;height:100px}.header nav{justify-content:flex-end;gap:clamp(12px,1.6vw,26px);font-size:clamp(.65rem,.9vw,.75rem);white-space:nowrap}}
@media(min-width:801px) and (max-width:1100px){html{scroll-padding-top:106px}.header{height:96px;flex-direction:row;justify-content:space-between;padding:8px 30px}.header .brand img{width:80px;height:80px}.menu-toggle{display:block}.header nav{display:none;position:absolute;top:96px;left:0;right:0;padding:24px 30px;flex-direction:column;align-items:stretch;gap:18px;background:#000;border-top:1px solid #333;white-space:normal}.header nav.open{display:flex}}
@media(max-width:1100px){.header .brand{margin-left:-8px}}
@media(max-width:800px){.header{padding-inline:30px}}
@media(max-width:520px){.header{padding-inline:24px}}
.footer-top>.brand{margin-left:-12px;flex-shrink:0}
@media(max-width:520px){.footer-top>.brand{margin-left:0}.footer-top{flex-direction:column;justify-content:center;gap:24px}}
/* Let the portrait meet the header divider. */
.header{padding-top:0;padding-bottom:0}.header>.brand{align-self:flex-end;margin-bottom:0}

.packages{background:#090909;border-bottom:1px solid #323232}.packages-carousel{display:grid;grid-template-columns:40px minmax(0,1fr) 40px;gap:16px;align-items:center}.packages-track{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:#826b3d #171717;padding:4px 0 16px}.package-card{flex:0 0 calc((100% - 48px)/3);min-width:0;scroll-snap-align:start;background:#151515;border:1px solid #383838;display:flex;flex-direction:column}.package-card>img{width:100%;height:auto;aspect-ratio:1.22;object-fit:cover}.package-body{padding:24px;display:flex;flex-direction:column;flex:1}.package-body .eyebrow{font-size:.65rem;letter-spacing:.08em;margin-bottom:12px}.package-body h3{font-size:1.8rem}.package-body>p:not(.eyebrow){color:#bebebe;font-size:.9rem;line-height:1.7;margin:14px 0 24px}.package-body .button{margin-top:auto;text-transform:uppercase;font-size:.72rem;padding-inline:12px}.package-arrow{border:1px solid #655334;width:40px;height:48px;background:#141414;color:#d4b16b;font-size:2rem;line-height:1}.package-arrow:hover{background:#30281a}.package-arrow:disabled{opacity:.3;cursor:default}.packages-note{max-width:85ch;text-align:center;margin:20px auto 0}.packages-track:focus-visible{outline:2px solid #d4b16b;outline-offset:5px}@media(max-width:1100px){.package-card{flex-basis:calc((100% - 24px)/2)}}@media(max-width:600px){.packages-carousel{grid-template-columns:28px minmax(0,1fr) 28px;gap:8px}.package-arrow{width:28px;height:44px}.package-card{flex-basis:100%}.package-body{padding:22px}.packages .section-heading h2{font-size:2rem}.packages-note{font-size:.7rem}.packages-track{gap:16px}}@media(prefers-reduced-motion:reduce){.packages-track{scroll-behavior:auto}}

/* Footer portrait rests on the same divider as the lower footer row. */
.footer-top{padding-bottom:0}.footer-top>.brand{align-self:flex-end}
@media(max-width:520px){.footer-top>.brand{order:3;align-self:center}.footer-top{padding-bottom:0}}

.package-card>img{aspect-ratio:1;object-fit:contain;background:#000}.section-whatsapp{display:flex;justify-content:center;margin-top:32px;grid-column:1/-1}.section-whatsapp .button{max-width:100%;font-size:.8rem}.whatsapp{animation:whatsapp-invite 16s ease-in-out infinite}@keyframes whatsapp-invite{0%,85%,94%,100%{transform:scale(1);box-shadow:0 4px 20px #0003}90%{transform:scale(1.035);box-shadow:0 0 0 8px #d4b16b18,0 4px 20px #0003}97%{transform:scale(1.025);box-shadow:0 0 0 5px #d4b16b12,0 4px 20px #0003}}.whatsapp:hover,.whatsapp:focus-visible{animation-play-state:paused}@media(prefers-reduced-motion:reduce){.whatsapp{animation:none}}
.hero,.photo-dialog{touch-action:pan-y pinch-zoom}.packages-track{touch-action:pan-x pan-y pinch-zoom;overscroll-behavior-x:contain}.photo-controls{display:flex;justify-content:center;align-items:center;gap:20px;padding:16px}.photo-controls button{background:#171717;border:1px solid #a38954;color:#fff;min-height:44px;padding:8px 16px}.photo-controls button:focus-visible{outline:2px solid #d4b16b;outline-offset:3px}

.suite-detail-photos{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:24px 0}.suite-detail-photos img{width:100%;height:auto}

/* Consistent framing and type across the three experience moments. */
.experience-grid{align-items:start;gap:36px}.experience-grid figure{min-width:0}.experience-grid img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;object-position:center}.experience-grid figure:last-child img{aspect-ratio:16/9;object-position:center 85%}.experience-grid figcaption{padding-top:24px}.experience-grid h3,.moment h3{font-size:clamp(1.55rem,2.2vw,1.8rem);line-height:1.25;margin:0 0 14px}.experience-grid .eyebrow,.moment .eyebrow{font-family:'Segoe UI',Arial,sans-serif;font-size:.75rem;line-height:1.6;letter-spacing:.12em;font-weight:600;color:#d4b16b;margin:0 0 12px;display:block}.moment{grid-template-columns:1fr 1fr;gap:36px;align-items:start;margin-top:48px;padding-top:32px}.moment>div{grid-column:auto}.experience-grid p,.moment>div>p:not(.eyebrow){font-size:.95rem;line-height:1.7;color:#bebebe}.experiences .section-heading h2{max-width:720px}.experiences .section-heading{margin-bottom:36px}
@media(max-width:800px){.experience-grid{grid-template-columns:1fr;gap:36px}.experience-grid figure:last-child{padding-top:0}.moment{grid-template-columns:1fr;gap:18px}.moment>div{grid-column:auto}.experience-grid img,.experience-grid figure:last-child img{aspect-ratio:16/10}.experience-grid figure:last-child img{object-position:center 85%}.experiences .section-heading h2{font-size:clamp(2rem,6vw,2.7rem)}.experience-grid figcaption{padding-top:20px}}

.experience-photo{width:100%;aspect-ratio:16/10;overflow:hidden;background:#171717}.experience-grid .experience-photo img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:center 58%}.experience-grid .breakfast-photo img{object-position:center 60%;transform:scale(1.24)}

/* Shared columns and a closer action for location and reservation guidance. */
@media(min-width:801px){
  .location,.faq{grid-template-columns:1.1fr 1fr;column-gap:64px}
  .location{padding-block:64px;align-items:stretch}
  .location>div{min-width:0;display:flex;flex-direction:column;align-items:flex-start;padding-block:32px}
  .location>.travel{padding:32px;align-self:stretch}
  .location h2,.location .travel h3{font-size:clamp(2rem,3vw,2.5rem);line-height:1.2;letter-spacing:-.025em}
  .location .eyebrow{margin:0 0 24px}
  .location p:not(.eyebrow){margin-top:24px;line-height:1.75}
  .location address{margin-block:24px}
  .location .button{margin-top:auto;min-height:52px}
  .location .travel p:not(.eyebrow){margin-bottom:32px}
  .faq{padding-block:48px 64px;border-top:1px solid var(--line);row-gap:24px;align-items:start}
  .faq>div{min-width:0}
  .faq .eyebrow{margin-bottom:24px}
  .faq h2{font-size:clamp(2rem,3vw,2.5rem);line-height:1.2}
  .faq details:first-child{padding-top:0}
  .faq details{padding-block:20px}
  .faq summary{line-height:1.6}
  .faq>.section-whatsapp{grid-column:2;justify-content:flex-start;margin-top:0}
}

/* Romantic stay photo, framed to highlight the bed decoration. */
.moment-romantic{align-items:center}.moment-romantic .romantic-photo img{width:100%;height:100%;object-fit:cover;object-position:center 75%}.moment-romantic .moment-copy{min-width:0}.moment-romantic .moment-copy>p:not(.eyebrow){margin-top:16px}.moment-romantic .text-link{margin-top:24px}
@media(max-width:800px){.moment-romantic{align-items:start;gap:24px}.moment-romantic .romantic-photo{aspect-ratio:16/10}}
