:root{
  --green:#17382e;--green2:#285447;--cream:#f6f2e9;--sand:#e8dfcf;--white:#fff;
  --ink:#18211d;--muted:#67716c;--accent:#d9b66f;--radius:22px;--shadow:0 20px 60px rgba(23,56,46,.12)
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:"DM Sans",sans-serif;color:var(--ink);background:#fff}
img{max-width:100%;display:block}a{text-decoration:none;color:inherit}.container{width:min(1180px,calc(100% - 40px));margin:auto}
.site-header{height:84px;display:flex;align-items:center;background:rgba(255,255,255,.96);position:sticky;top:0;z-index:50;border-bottom:1px solid #eee}
.nav-wrap{display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:45px;height:45px;border-radius:50%;background:var(--green);color:white;display:grid;place-items:center;font-family:"Playfair Display";font-size:25px}.brand strong,.brand small{display:block}.brand strong{font-family:"Playfair Display";font-size:21px}.brand small{font-size:11px;color:var(--muted);letter-spacing:.06em;text-transform:uppercase}.nav{display:flex;align-items:center;gap:28px}.nav a{font-weight:600;font-size:14px}.nav a:hover,.nav a.active{color:var(--green2)}.nav-cta{background:var(--green);color:white!important;padding:12px 18px;border-radius:999px}.nav-toggle{display:none;border:0;background:none;font-size:26px}
.hero{min-height:720px;position:relative;display:flex;align-items:center;background:linear-gradient(120deg,#17382e 0%,#285447 55%,#789b7f 100%);overflow:hidden}
.hero:after{content:"";position:absolute;right:-140px;bottom:-260px;width:650px;height:650px;border-radius:50%;border:80px solid rgba(255,255,255,.06)}
.hero-overlay{position:absolute;inset:0;background:radial-gradient(circle at 70% 45%,rgba(255,255,255,.12),transparent 35%)}
.hero-content{position:relative;z-index:2;color:#fff}.hero h1,.page-hero h1{font-family:"Playfair Display";font-size:clamp(52px,7vw,92px);line-height:.98;max-width:820px;margin:18px 0 24px}.hero p{font-size:20px;max-width:650px;line-height:1.7;color:rgba(255,255,255,.83)}
.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:12px;font-weight:700;color:#f3d9a3}.eyebrow.dark{color:var(--green2)}.hero-actions{display:flex;gap:14px;margin-top:34px}.btn{display:inline-flex;padding:15px 22px;border-radius:999px;font-weight:700}.btn-primary{background:var(--accent);color:#243127}.btn-light{background:#fff;color:var(--green)}
.section{padding:100px 0}.muted{background:var(--cream)}.two-col{display:grid;grid-template-columns:1fr 1.2fr;gap:90px;align-items:start}.section h2{font-family:"Playfair Display";font-size:clamp(38px,5vw,58px);line-height:1.05;margin:14px 0}.lead{font-size:21px;line-height:1.8;color:var(--muted)}
.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:40px}.text-link{font-weight:700;color:var(--green2)}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.card{border-radius:var(--radius);overflow:hidden;background:#fff;box-shadow:var(--shadow)}.card img{width:100%;height:240px;object-fit:cover}.card-body{padding:26px}.card-icon{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--cream);margin-bottom:18px}.card h3,.post-card h3{font-family:"Playfair Display";font-size:27px;margin:0 0 10px}.card p,.post-card p{color:var(--muted);line-height:1.7}
.quote-section{background:var(--green);color:#fff;padding:100px 0}.quote{text-align:center}.quote span{font-family:"Playfair Display";font-size:90px;color:var(--accent);line-height:.5}.quote p{font-family:"Playfair Display";font-size:clamp(32px,4vw,56px);max-width:900px;margin:10px auto 0}
.posts-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.post-card{border:1px solid #ece8df;border-radius:var(--radius);overflow:hidden}.post-card img{height:230px;width:100%;object-fit:cover}.post-body{padding:24px}.post-body small{color:var(--green2);font-weight:700}.post-body a{font-weight:700;color:var(--green2)}
.gallery-strip{display:grid;grid-template-columns:repeat(4,1fr)}.gallery-strip img{width:100%;height:280px;object-fit:cover}
.contact-banner{background:var(--green2);color:#fff}.banner-inner{display:flex;justify-content:space-between;align-items:center}.banner-inner p{color:rgba(255,255,255,.8)}
.page-hero{background:var(--green);color:#fff;padding:110px 0 90px}.page-hero.small{padding-bottom:70px}.page-hero p{font-size:20px;max-width:720px;color:rgba(255,255,255,.75)}
.masonry{columns:3 280px;column-gap:20px}.masonry figure{break-inside:avoid;margin:0 0 20px}.masonry img{border-radius:18px;width:100%}.masonry figcaption{font-size:13px;color:var(--muted);margin-top:8px}
.contact-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.contact-card{padding:38px;border-radius:var(--radius);background:var(--cream)}.contact-card span{color:var(--green2);font-weight:700}.contact-card h3{font-family:"Playfair Display";font-size:27px;margin:10px 0 0}
.narrow{width:min(850px,calc(100% - 40px))}.article-cover{border-radius:24px;margin-bottom:40px}.article-content{font-size:18px;line-height:1.85}.article-content h2{font-size:36px}
.site-footer{background:#102920;color:#fff;padding:70px 0 25px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:50px}.footer-grid p{color:rgba(255,255,255,.65);line-height:1.7}.footer-grid a{display:block;color:rgba(255,255,255,.7);margin:10px 0}.footer-brand .brand-mark{background:var(--accent);color:var(--green)}.footer-brand small{color:rgba(255,255,255,.55)}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:40px;padding-top:25px;color:rgba(255,255,255,.45);font-size:13px}
.error-page{min-height:100vh;display:grid;place-items:center;text-align:center;background:var(--cream)}.error-page h1{font-family:"Playfair Display";font-size:110px;margin:0}
@media(max-width:850px){.nav-toggle{display:block}.nav{display:none;position:absolute;top:84px;left:0;right:0;background:#fff;flex-direction:column;padding:25px}.nav.open{display:flex}.hero{min-height:620px}.two-col,.cards,.posts-grid,.contact-grid,.footer-grid{grid-template-columns:1fr}.section{padding:70px 0}.section-head,.banner-inner{align-items:flex-start;flex-direction:column;gap:20px}.gallery-strip{grid-template-columns:repeat(2,1fr)}}

.hero[style]{background-size:cover!important;background-position:center!important}
.gallery-section{background:#faf8f3}
.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:230px;gap:16px}
.gallery-tile{position:relative;border:0;padding:0;border-radius:20px;overflow:hidden;cursor:pointer;background:#ddd;min-height:230px}
.gallery-tile.gallery-featured{grid-column:span 2;grid-row:span 2}
.gallery-tile img{width:100%;height:100%;object-fit:cover;transition:transform .55s ease}
.gallery-tile:hover img{transform:scale(1.055)}
.gallery-shade{position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(0,0,0,.58));opacity:.85}
.gallery-title{position:absolute;left:20px;bottom:18px;color:white;font-weight:700;font-size:15px;text-align:left}
.gallery-zoom{position:absolute;right:16px;top:16px;width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.9);display:grid;place-items:center;color:#17382e;font-size:23px;opacity:0;transform:translateY(-5px);transition:.25s}
.gallery-tile:hover .gallery-zoom{opacity:1;transform:none}
.lightbox{position:fixed;inset:0;background:rgba(7,16,12,.92);z-index:200;display:none;place-items:center;padding:50px}
.lightbox.show{display:grid}.lightbox img{max-height:82vh;max-width:92vw;border-radius:16px;box-shadow:0 30px 90px rgba(0,0,0,.45)}
.lightbox-close{position:absolute;right:30px;top:22px;background:none;border:0;color:white;font-size:48px;cursor:pointer}
#lightboxTitle{color:white;text-align:center;margin-top:15px;font-weight:600}
.article-content .content-image{margin:36px 0}.article-content .content-image img{width:100%;border-radius:20px}.article-content .content-image figcaption{text-align:center;color:#7a837e;font-size:14px;margin-top:9px}
@media(max-width:850px){.gallery-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:180px}.gallery-tile.gallery-featured{grid-column:span 2;grid-row:span 2}.lightbox{padding:20px}}

.room-card-gallery{display:grid;grid-template-columns:2fr 1fr;height:240px;overflow:hidden}
.room-card-gallery img{width:100%;height:100%;object-fit:cover}
.room-card-thumbs{display:grid;grid-template-rows:repeat(3,1fr);gap:2px}
.room-card-thumbs img{height:100%;min-height:0}
.room-detail-gallery{display:grid;grid-template-columns:2fr 1fr;gap:4px;height:330px}
.room-detail-gallery .gallery-tile{border-radius:0;min-height:0}
.room-gallery-main{height:100%}
.room-gallery-side{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:4px}
.room-gallery-side .gallery-tile{height:100%}
@media(max-width:850px){
  .room-detail-gallery{grid-template-columns:1fr;height:auto}
  .room-gallery-main{height:260px}
  .room-gallery-side{height:220px}
}

.lightbox-nav{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:58px;
  height:58px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.28);
  background:rgba(15,25,20,.62);
  color:#fff;
  display:grid;
  place-items:center;
  font-size:42px;
  line-height:1;
  cursor:pointer;
  z-index:2;
  backdrop-filter:blur(8px);
  transition:.2s ease;
}
.lightbox-nav:hover{
  background:rgba(255,255,255,.94);
  color:#17382e;
  transform:translateY(-50%) scale(1.06);
}
.lightbox-prev{left:28px}
.lightbox-next{right:28px}
@media(max-width:850px){
  .lightbox-nav{width:46px;height:46px;font-size:34px}
  .lightbox-prev{left:10px}
  .lightbox-next{right:10px}
}

.room-card-gallery{position:relative}
.room-card-main-button,.room-thumb-button,.room-single-image{
  border:0;
  padding:0;
  margin:0;
  width:100%;
  height:100%;
  background:none;
  cursor:pointer;
  position:relative;
  overflow:hidden;
  min-height:0;
  border-radius:0;
}
.room-card-main-button img,.room-thumb-button img,.room-single-image img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.room-card-main-button:hover img,.room-thumb-button:hover img,.room-single-image:hover img{
  transform:scale(1.045);
}
.room-card-main-button img,.room-thumb-button img,.room-single-image img{
  transition:transform .35s ease;
}
.room-thumb-button{display:block}
.room-hidden-gallery-item{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  min-height:0!important;
  opacity:0!important;
  pointer-events:none!important;
  overflow:hidden!important;
}
.room-more-images{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  background:rgba(15,30,24,.58);
  color:#fff;
  font-size:22px;
  font-weight:700;
}
.room-card-main-button .gallery-zoom,.room-single-image .gallery-zoom{
  opacity:0;
}
.room-card-main-button:hover .gallery-zoom,.room-single-image:hover .gallery-zoom{
  opacity:1;
  transform:none;
}
.room-single-image{
  height:240px;
}

.lang-switch{display:flex;align-items:center;gap:5px;margin-left:4px;font-size:12px;font-weight:700}.lang-switch a{padding:6px 7px;border-radius:8px;color:#77817c}.lang-switch a.selected{background:var(--cream);color:var(--green)}

.lang-switch{flex-wrap:wrap}.lang-switch a{min-width:30px;text-align:center}


.content-prose{font-size:17px;line-height:1.8;color:#334039}
.content-prose h2,.content-prose h3{font-family:"Playfair Display";color:var(--ink);line-height:1.15}
.content-prose h2{font-size:34px;margin:45px 0 16px}
.content-prose h3{font-size:24px;margin:32px 0 12px}
.content-prose ul,.content-prose ol{padding-left:24px}
.content-prose li{margin:8px 0}
.content-prose a{color:var(--green2);text-decoration:underline}
.about-full-section{padding-top:25px}
.room-details-btn{margin-top:12px}
.room-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin:30px 0}
.room-stats span{padding:20px;border-radius:16px;background:var(--cream);display:flex;flex-direction:column;color:var(--muted)}
.room-stats strong{font-family:"Playfair Display";font-size:27px;color:var(--green);margin-bottom:4px}
.amenities-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.amenities-grid>div{background:var(--cream);border-radius:18px;padding:22px}
.amenities-grid h3{margin-top:0}
.room-booking-box,.booking-contact-box{margin-top:55px;padding:32px;border-radius:24px;background:var(--cream);display:flex;align-items:center;justify-content:space-between;gap:25px}
.booking-contact-box{margin-top:30px}
.room-detail-image-section{padding-bottom:20px}
.legal-content{max-width:900px}
.legal-content>h2:first-child{margin-top:0}
.footer-grid-wide{grid-template-columns:1.7fr 1.2fr 1fr 1.2fr}
.footer-ntak{font-size:13px}
.footer-bottom{display:flex;justify-content:space-between;gap:20px;align-items:center}
.footer-book{color:var(--accent);font-weight:700}
.booking-nav{white-space:nowrap}
@media(max-width:1000px){.footer-grid-wide{grid-template-columns:repeat(2,1fr)}}
@media(max-width:850px){
  .amenities-grid,.room-stats{grid-template-columns:1fr}
  .room-booking-box,.booking-contact-box{flex-direction:column;align-items:flex-start}
  .footer-grid-wide{grid-template-columns:1fr}
}
