@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@500;600;700&display=swap');
:root{--green:#173b32;--green2:#0f2c25;--gold:#c5a36a;--cream:#f5f0e7;--paper:#fbf9f4;--ink:#1c2824;--muted:#6d7772;--line:#ddd6ca;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif}img{display:block;max-width:100%}a{text-decoration:none;color:inherit}.container{width:min(1180px,calc(100% - 40px));margin:auto}.topbar{background:var(--green2);color:#d9e1dc;font-size:11px;letter-spacing:.12em}.topbar-inner{height:36px;display:flex;align-items:center;justify-content:space-between}.site-header{position:absolute;z-index:20;top:36px;left:0;width:100%;color:#fff;border-bottom:1px solid rgba(255,255,255,.18);transition:.3s}.site-header.scrolled{position:fixed;top:0;background:rgba(15,44,37,.97);backdrop-filter:blur(10px)}.nav-wrap{height:90px;display:flex;align-items:center;justify-content:space-between}.brand img{width:168px;height:auto}.nav{display:flex;align-items:center;gap:27px;font-size:13px;text-transform:uppercase;letter-spacing:.1em}.nav a{padding:34px 0;opacity:.9}.nav a:hover,.nav a.active{color:#e5c889}.nav-cta{border:1px solid rgba(255,255,255,.45);padding:11px 17px!important;border-radius:30px}.menu-toggle{display:none;background:none;border:0;color:#fff}.menu-toggle span{display:block;width:25px;height:2px;background:#fff;margin:5px}.hero{height:780px;position:relative;color:#fff;overflow:hidden}.hero-slides,.hero-slide{position:absolute;inset:0}.hero-slide{opacity:0;transition:opacity 1.2s}.hero-slide.active{opacity:1}.hero-slide img{width:100%;height:100%;object-fit:cover}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,25,21,.76),rgba(8,25,21,.18) 70%),linear-gradient(0deg,rgba(8,25,21,.55),transparent 45%)}.hero-content{position:relative;z-index:2;padding-top:270px;max-width:1180px}.hero h1{font:600 clamp(48px,6vw,82px)/.98 'Playfair Display',serif;margin:18px 0}.hero h1 em,.page-hero h1 em,h2 em{color:#ddbf7d;font-style:italic}.hero p{max-width:580px;font-size:17px;line-height:1.7;color:#eef2ee}.eyebrow{display:inline-block;color:#9a7b46;font-size:11px;font-weight:700;letter-spacing:.17em}.eyebrow.light{color:#e0c584}.hero-actions{display:flex;gap:12px;margin-top:28px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;border:0;padding:14px 21px;border-radius:2px;font-weight:700;font-size:13px;cursor:pointer}.btn-gold{background:var(--gold);color:#18241f}.btn-outline{border:1px solid rgba(255,255,255,.6);color:#fff}.btn-dark{background:var(--green);color:#fff}.hero-bottom{position:absolute;z-index:3;bottom:28px;left:50%;transform:translateX(-50%);display:flex;justify-content:space-between;color:#e8ece9;font-size:11px;letter-spacing:.13em}.hero-meta{display:flex;align-items:center;gap:12px}.hero-meta i{display:block;width:70px;height:1px;background:#fff}.scroll-hint{opacity:.8}.section{padding:105px 0}.split{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center}.split.reverse{grid-template-columns:1fr .82fr}.image-frame{position:relative;overflow:hidden}.image-frame img{width:100%;height:570px;object-fit:cover}.image-frame.tall img{height:650px}.image-badge{position:absolute;left:22px;bottom:22px;background:rgba(23,59,50,.93);color:#fff;padding:14px 18px}.image-badge strong,.image-badge span{display:block}.image-badge strong{font:600 19px 'Playfair Display'}.image-badge span{font-size:9px;letter-spacing:.18em;color:#d8c18c;margin-top:4px}.content h2,.section-head h2,.center h2{font:600 clamp(35px,4vw,52px)/1.08 'Playfair Display',serif;margin:15px 0 20px}.content p,.section-head>p{color:var(--muted);line-height:1.8;font-size:15px}.text-link{display:inline-block;margin-top:15px;color:var(--green);font-weight:700;border-bottom:1px solid var(--gold);padding-bottom:7px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:50px;margin-bottom:45px}.section-head>p{max-width:440px;margin:0}.center{text-align:center}.center h2{max-width:720px;margin:14px auto 0}.rooms{background:#f0ebe2}.room-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.room-card{background:#fff}.room-image{height:330px;overflow:hidden}.room-image img{width:100%;height:100%;object-fit:cover;transition:.5s}.room-card:hover img{transform:scale(1.03)}.room-info{padding:22px;display:flex;justify-content:space-between;align-items:end}.room-info h3{font:600 25px 'Playfair Display';margin:8px 0 0}.room-info a{font-size:12px;font-weight:700;color:#80663c}.room-grid-premium{align-items:stretch}.room-card-premium{border:1px solid #e5ded2;box-shadow:0 12px 35px rgba(27,39,34,.07);transition:transform .35s,box-shadow .35s;overflow:hidden}.room-card-premium:hover{transform:translateY(-7px);box-shadow:0 20px 45px rgba(27,39,34,.13)}.room-card-premium .room-image{height:340px;position:relative}.room-card-premium .room-image:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.2),transparent 38%,rgba(0,0,0,.12))}.room-number{position:absolute;z-index:2;top:18px;left:18px;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:rgba(23,59,50,.9);color:#fff;font-size:11px;font-weight:700}.room-card-premium .room-info{display:block;padding:26px}.room-title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:15px}.room-title-row h3{font-size:29px}.room-price-tag{white-space:nowrap;background:#f1e7d4;color:#745b35;border:1px solid #e1cfad;padding:8px 10px;font-size:11px;font-weight:800;letter-spacing:.04em}.room-desc{color:var(--muted);line-height:1.7;font-size:14px;min-height:48px;margin:17px 0}.room-rate{display:flex;gap:10px;flex-wrap:wrap;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0;margin-top:15px}.room-rate span{flex:1;min-width:110px;background:#f8f5ef;padding:10px 12px;font-size:13px;color:#53605a}.room-rate strong{color:#8b6b39;font-size:10px;letter-spacing:.12em;margin-right:5px}.room-card-actions{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:17px;padding-top:2px}.room-card-actions small{color:#89928d;font-size:10px;letter-spacing:.05em}.room-card-actions .btn{padding:12px 20px;min-width:94px;min-height:40px;font-size:12px;line-height:1;white-space:nowrap;background:var(--green);color:#fff;display:inline-flex;visibility:visible;opacity:1;flex-shrink:0}.room-card-actions .btn:hover{background:var(--gold);color:#18241f}.rooms .room-card-premium{background:#fff}@media(max-width:900px){.room-grid-premium{grid-template-columns:1fr 1fr}}@media(max-width:600px){.room-grid-premium{grid-template-columns:1fr}.room-card-premium .room-image{height:300px}.room-title-row{display:block}.room-price-tag{display:inline-block;margin-top:12px}.room-card-actions{align-items:flex-end}}
.amenities{background:var(--green);color:#fff}.amenities .eyebrow{color:#d8bb7b}.amenity-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid rgba(255,255,255,.2);margin-top:45px}.amenity{display:grid;grid-template-columns:60px 1fr;gap:25px;padding:32px 25px;border-bottom:1px solid rgba(255,255,255,.2)}.amenity:nth-child(odd){border-right:1px solid rgba(255,255,255,.2)}.amenity>span{color:#cbb277;font-size:12px}.amenity h3{font:600 24px 'Playfair Display';margin:0 0 7px}.amenity p{margin:0;color:#c7d0cb;line-height:1.7}.image-banner{height:570px;position:relative;overflow:hidden}.image-banner>img{width:100%;height:100%;object-fit:cover}.banner-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,38,31,.78),rgba(11,38,31,.2))}.banner-content{position:relative;z-index:2;color:#fff;padding-top:180px}.banner-content h2{font:600 clamp(38px,5vw,64px)/1.08 'Playfair Display';margin:15px 0}.gallery{background:var(--paper)}.gallery-head{align-items:end}.filters{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.filter{border:1px solid var(--line);background:transparent;padding:9px 14px;border-radius:30px;cursor:pointer;color:#58625e}.filter.active{background:var(--gold);border-color:var(--gold);color:#18241f}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.gallery-item{position:relative;margin:0;height:310px;overflow:hidden;cursor:pointer;background:#ddd}.gallery-item:nth-child(5n+1){height:410px}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:.5s}.gallery-item:hover img{transform:scale(1.025)}.gallery-tag{position:absolute;left:14px;bottom:14px;background:rgba(15,44,37,.86);color:#fff;padding:8px 11px;font-size:11px;text-transform:uppercase;letter-spacing:.08em}.gallery-more{text-align:center;margin-top:30px}.location{background:#eee8dd}.location-list{margin-top:30px;border-top:1px solid #d2c9bb}.location-list div{display:grid;grid-template-columns:45px 1fr;gap:8px;padding:17px 0;border-bottom:1px solid #d2c9bb}.location-list span{color:#9b7c49;font-size:12px}.location-list strong{font-family:'Playfair Display';font-size:19px}.location-list small{grid-column:2;color:var(--muted)}.contact{padding-top:0}.contact-box{background:var(--green2);color:#fff;padding:55px 65px;display:flex;align-items:center;justify-content:space-between;gap:30px}.contact-box h2{font:600 45px/1.08 'Playfair Display';margin:13px 0}.contact-box p{color:#c8d0cc}.page-hero{height:500px;position:relative;color:#fff;display:flex;align-items:end;padding-bottom:65px;overflow:hidden}.page-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.page-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,25,21,.78),rgba(8,25,21,.22))}.page-hero .container{position:relative;z-index:2}.page-hero h1{font:600 clamp(48px,6vw,75px)/1 'Playfair Display';margin:14px 0 0}.page-hero p{max-width:620px;line-height:1.7;color:#e9eeea}.prose{max-width:800px}.prose p{line-height:1.9;color:var(--muted)}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.feature-card{background:#fff;border:1px solid #e4ddd1;padding:28px}.feature-card h3{font:600 25px 'Playfair Display';margin:13px 0}.feature-card p{color:var(--muted);line-height:1.7}.booking-wrap{background:#f0ebe2}.booking-card{background:#fff;padding:35px;max-width:900px;margin:auto}.booking-form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.booking-form input,.booking-form select,.booking-form textarea{width:100%;border:1px solid #d9d2c7;background:#fff;padding:14px 15px;font:inherit;color:var(--ink);outline:none}.booking-form textarea{min-height:120px;resize:vertical;grid-column:1/-1}.booking-form .full{grid-column:1/-1}.contact-page-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:50px;align-items:start}.contact-details{background:var(--green);color:#fff;padding:35px}.contact-details h3{font:600 29px 'Playfair Display';margin:8px 0 22px}.contact-details p{color:#cad4cf;line-height:1.8}.contact-details a{display:block;margin:15px 0;color:#e0c584}.map-placeholder{min-height:400px;background:#ddd6ca;display:flex;align-items:center;justify-content:center;text-align:center;color:#5f6965;padding:25px}.contact-float{position:fixed;z-index:50;right:22px;bottom:22px;display:flex;flex-direction:column;gap:9px}.contact-link{display:flex;align-items:center;gap:8px;color:#fff;padding:9px 12px;border-radius:24px;font-size:12px;font-weight:700;box-shadow:0 5px 20px rgba(0,0,0,.18)}.contact-link svg{width:19px;height:19px;fill:currentColor}.whatsapp{background:#168c5b}.phone{background:var(--green)}.lightbox{position:fixed;z-index:100;inset:0;background:rgba(0,0,0,.92);display:none;align-items:center;justify-content:center;padding:35px}.lightbox.open{display:flex}.lightbox img{max-width:94vw;max-height:88vh;object-fit:contain}.close-lightbox{position:absolute;right:25px;top:15px;background:none;border:0;color:#fff;font-size:42px;cursor:pointer}footer{background:#0b211b;color:#d9e0dc;padding-top:65px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1.4fr 1fr;gap:35px;padding-bottom:45px}.footer-brand img{width:170px}.footer-brand p,footer p{color:#9eaaa5;line-height:1.7}.footer-grid>div:not(.footer-brand){display:flex;flex-direction:column;gap:11px;font-size:13px}.footer-title{color:#e1c27f;text-transform:uppercase;letter-spacing:.13em;font-size:10px;font-weight:700;margin-bottom:5px}.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding:18px 0;display:flex;justify-content:space-between;color:#82908a;font-size:11px}.footer-bottom a{color:#d8bc7d}.reveal{opacity:0;transform:translateY(18px);transition:.7s}.reveal.visible{opacity:1;transform:none}@media(max-width:900px){.top-note{display:none}.nav{display:none;position:absolute;top:90px;left:0;width:100%;background:var(--green2);padding:15px 20px;flex-direction:column;align-items:flex-start;gap:0}.nav.open{display:flex}.nav a{padding:12px 0}.menu-toggle{display:block}.site-header{top:36px}.hero{height:720px}.hero-content{padding-top:235px}.split,.split.reverse,.contact-page-grid{grid-template-columns:1fr;gap:35px}.room-grid,.feature-grid{grid-template-columns:1fr 1fr}.gallery-grid{grid-template-columns:1fr 1fr}.amenity-grid{grid-template-columns:1fr}.amenity:nth-child(odd){border-right:0}.footer-grid{grid-template-columns:1fr 1fr}.booking-form{grid-template-columns:1fr}.booking-form textarea,.booking-form .full{grid-column:auto}.section{padding:75px 0}}@media(max-width:600px){.container{width:min(100% - 28px,1180px)}.topbar-inner{font-size:9px}.nav-wrap{height:76px}.site-header{top:36px}.brand img{width:145px}.hero h1{font-size:47px}.hero p{font-size:15px}.hero-bottom .scroll-hint{display:none}.hero-bottom{justify-content:flex-start}.hero-actions{flex-direction:column;align-items:flex-start}.section-head{display:block}.section-head>p{margin-top:15px}.room-grid,.feature-grid,.gallery-grid{grid-template-columns:1fr}.gallery-item,.gallery-item:nth-child(5n+1){height:320px}.image-frame img,.image-frame.tall img{height:430px}.contact-box{padding:35px 25px;display:block}.contact-box .btn{margin-top:20px}.footer-grid{grid-template-columns:1fr}.footer-bottom{display:block;line-height:1.8}.contact-float{right:10px;bottom:10px}.contact-link{padding:8px 10px}.page-hero{height:430px}}

/* Contact icons: icon-only floating actions */
.contact-float{right:22px;bottom:22px;gap:12px}
.contact-link{width:52px;height:52px;padding:0;border-radius:50%;display:flex;align-items:center;justify-content:center;gap:0}
.contact-link span{display:none}
.contact-link svg{width:25px;height:25px}
.contact-link.whatsapp{background:#168c5b}
.contact-link.phone{background:#0f3b32}
.contact-link:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.24)}
.hotel-video{background:#f0ebe2}
.video-frame{position:relative;width:100%;aspect-ratio:16/9;max-height:680px;overflow:hidden;background:#0b211b;box-shadow:0 20px 55px rgba(20,35,30,.12)}
.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
@media(max-width:600px){.contact-float{right:12px;bottom:12px}.contact-link{width:48px;height:48px}.contact-link svg{width:23px;height:23px}}
.home-room-price{display:block;margin-top:8px;color:#8a6a3b;font-size:10px;letter-spacing:.04em;font-weight:700}
