:root{--green:#003e33;--green2:#052f28;--gold:#c58a35;--gold2:#d7a552;--cream:#fbf6ed;--border:#eadbc5;--text:#19352f;--muted:#6d6d64}*{box-sizing:border-box}body{margin:0;font-family:'Montserrat',Arial,sans-serif;background:var(--cream);color:#293733}h1,h2,h3,h4,.brand{font-family:'Playfair Display',Georgia,serif;color:var(--text)}a{text-decoration:none}img{max-width:100%;display:block}.site-header{height:92px;background:linear-gradient(105deg,#003c32,#012b25);display:flex;align-items:center;border-bottom:1px solid rgba(197,138,53,.7);position:sticky;top:0;z-index:50}.wrap{width:min(1130px,calc(100% - 54px));margin:auto}.nav-wrap{display:flex;align-items:center;justify-content:space-between}.logo{display:flex;align-items:center;gap:12px;color:var(--gold)}.logo-mark{width:52px;height:52px;border:2px solid var(--gold);border-radius:50%;display:grid;place-items:center;font-family:'Playfair Display';font-size:28px;position:relative}.logo-text{font-family:'Playfair Display';font-size:25px;font-weight:700;line-height:1;color:#d7a552}.logo-text small{display:block;text-align:center;font-family:Montserrat;font-size:10px;letter-spacing:2px;margin-top:2px}.main-nav{display:flex;align-items:center;gap:29px}.main-nav a{font-weight:700;font-size:12px;text-transform:uppercase;color:#fff;letter-spacing:.2px;position:relative}.main-nav a.active,.main-nav a:hover{color:var(--gold2)}.main-nav a.active:after{content:'';position:absolute;left:0;right:0;bottom:-18px;height:2px;background:var(--gold)}.book-btn,.btn-gold{background:linear-gradient(135deg,#d3a24d,#b87925);color:#fff;border:0;border-radius:3px;padding:15px 25px;font-size:13px;font-weight:800;text-transform:uppercase;display:inline-flex;align-items:center;gap:8px;box-shadow:0 8px 20px rgba(132,80,20,.16)}.book-btn{border:1px solid rgba(224,171,75,.7);border-radius:12px;background:transparent;color:#e0aa45}.book-btn.solid{background:linear-gradient(135deg,#d3a24d,#b87925);color:#fff;border:0}.hero{height:510px;background-image:linear-gradient(90deg,rgba(0,0,0,.82) 0%,rgba(0,0,0,.58) 34%,rgba(0,0,0,.18) 70%,rgba(0,0,0,.10)),var(--hero);background-size:cover;background-position:center;display:flex;align-items:center}.hero.home{height:530px}.eyebrow{color:var(--gold2);font-weight:800;text-transform:uppercase;letter-spacing:1.6px;font-size:14px;margin-bottom:15px;display:flex;gap:13px;align-items:center}.eyebrow:after,.deco:after{content:'';width:58px;height:1px;background:var(--gold);display:inline-block}.hero h1{color:#fff;font-size:58px;line-height:1.08;margin:0 0 20px;max-width:560px}.hero p{color:#fff;font-size:17px;line-height:1.7;max-width:430px;margin-bottom:25px}.hero-meta{display:flex;gap:28px;color:#fff;margin:25px 0;font-size:15px}.hero-price{font-family:Playfair Display;font-size:44px;color:#fff;margin:16px 0}.booking-bar{width:min(790px,calc(100% - 30px));background:#fff;box-shadow:0 10px 30px rgba(0,0,0,.15);border-radius:5px;margin:-47px auto 0;position:relative;z-index:3;display:flex;align-items:center;justify-content:space-between;padding:22px 26px}.booking-item{display:flex;gap:14px;align-items:center;border-right:1px solid #ddd;padding-right:34px}.booking-item:last-of-type{border-right:0}.booking-item i{font-size:26px;color:#56615d}.label{font-size:10px;text-transform:uppercase;color:#555}.booking-item strong{display:block;font-weight:500;color:#222;font-size:15px}.section{padding:74px 0}.section-head{text-align:center;max-width:720px;margin:0 auto 46px}.section-head h2{font-size:45px;margin:8px 0 16px}.section-head p{line-height:1.7;color:#555}.decor-bg{position:relative}.decor-bg:before,.decor-bg:after{content:'❧';position:absolute;font-size:150px;color:#eadfce;opacity:.6;top:85px}.decor-bg:before{left:0}.decor-bg:after{right:0;transform:scaleX(-1)}.cards-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px}.feature-card,.attraction-card{background:#fff8ee;border:1px solid var(--border);text-align:center;position:relative;transition:.25s}.feature-card:hover,.attraction-card:hover{transform:translateY(-6px);box-shadow:0 18px 35px rgba(0,0,0,.09)}.feature-card img,.attraction-card img{height:215px;width:100%;object-fit:cover}.icon-badge{width:58px;height:58px;border-radius:50%;background:var(--green);color:#fff;display:grid;place-items:center;font-size:28px;margin:-29px auto 14px;border:3px solid rgba(255,255,255,.5)}.feature-card h3,.attraction-card h3{font-size:22px;letter-spacing:1px;margin:0 0 10px}.feature-card p,.attraction-card p{font-size:14px;line-height:1.65;padding:0 22px;min-height:70px}.card-link{color:#b67b28;text-transform:uppercase;font-weight:700;font-size:13px;letter-spacing:1px;display:inline-block;margin:6px 0 25px}.green-strip{background:linear-gradient(100deg,#003c32,#063c34);color:#fff;border-radius:7px;padding:26px 34px;display:flex;align-items:center;justify-content:space-between;margin-top:42px}.green-strip h4{color:#fff;font-family:Montserrat;font-size:15px;text-transform:uppercase;margin:0 0 8px}.green-strip p{margin:0;color:#e8eee9}.green-icon{width:74px;height:74px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;color:var(--gold);font-size:32px;margin-right:25px}.benefits{background:linear-gradient(100deg,#003d33,#003128);padding:38px 0;color:#fff}.benefit-grid{display:grid;grid-template-columns:repeat(4,1fr);text-align:center}.benefit{border-right:1px solid rgba(255,255,255,.18)}.benefit:last-child{border-right:0}.benefit i{font-size:34px;color:var(--gold);display:block;margin-bottom:13px}.benefit b{color:var(--gold);display:block;text-transform:uppercase;letter-spacing:1px}.site-footer{background:linear-gradient(115deg,#004137,#002c26);color:#fff;padding:48px 0 20px}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr 1.25fr;gap:32px}.site-footer h4{font-family:Montserrat;color:#fff;font-size:14px;text-transform:uppercase}.site-footer p,.site-footer a,.site-footer li{color:#eef5ef;font-size:14px;line-height:1.85}.site-footer ul{list-style:none;margin:0;padding:0}.newsletter{border:1px solid rgba(215,165,82,.4);padding:22px;border-radius:5px}.newsletter input,.search input,.form-control{background:transparent;border:1px solid rgba(215,165,82,.4);height:48px;color:#fff;padding:0 14px;width:100%;border-radius:3px}.copyright{text-align:center;border-top:1px solid rgba(255,255,255,.1);margin-top:34px;padding-top:18px;font-size:12px;color:#dce5df}.page-layout{display:grid;grid-template-columns:1fr 340px;gap:44px}.content-card{background:#fffaf3;border:1px solid var(--border);border-radius:8px;padding:22px;box-shadow:0 12px 34px rgba(0,0,0,.05)}.blog-video{height:430px;background:#111;position:relative;overflow:hidden}.blog-video img{width:100%;height:100%;object-fit:cover;filter:grayscale(.25) brightness(.75)}.play{position:absolute;inset:0;margin:auto;width:92px;height:92px;border-radius:50%;background:rgba(197,138,53,.92);display:grid;place-items:center;color:#fff;font-size:42px}.video-bar{position:absolute;left:20px;right:20px;bottom:18px;height:5px;background:rgba(255,255,255,.4)}.post-title{font-size:40px;margin:25px 0 16px}.meta{display:flex;flex-wrap:wrap;gap:18px;color:#777;font-size:13px;margin-bottom:30px}.sidebar{background:#fffaf3;border:1px solid var(--border);border-radius:6px;padding:34px;box-shadow:0 12px 30px rgba(0,0,0,.05);height:max-content}.search{display:flex;margin-bottom:30px}.search input{color:#333;background:#fff;border-color:#ddd}.search button{width:54px;background:var(--gold);border:0;color:#fff}.side-title{background:var(--green);color:#fff;text-align:center;padding:17px;font-family:Playfair Display;font-size:22px;margin:0 0 18px}.amenity-list li{padding:11px 0;border-bottom:1px solid #e6dfd5;color:#3c3c3c}.amenity-list li:before{content:'»';color:var(--gold);margin-right:9px}.policy-list{max-width:930px;margin:0 auto}.policy-row{display:grid;grid-template-columns:72px 1fr 30px;align-items:center;background:#fffaf3;border:1px solid var(--border);padding:15px 18px;border-radius:5px;margin-bottom:0}.policy-row i{width:52px;height:52px;background:var(--green);color:#fff;border-radius:50%;display:grid;place-items:center;font-size:22px}.policy-row h3{font-size:18px;margin:0 0 5px}.policy-row p{margin:0;font-size:14px;line-height:1.5}.contact-grid{display:grid;grid-template-columns:1fr 1.5fr 1.1fr;gap:24px}.contact-info{background:linear-gradient(160deg,#004237,#06322b);color:#fff;border-radius:6px;padding:34px}.contact-info h3{color:var(--gold);font-family:Montserrat;font-size:16px}.contact-line{display:grid;grid-template-columns:42px 1fr;gap:15px;margin:28px 0}.contact-line i{font-size:29px;color:var(--gold)}.form-box,.map-box{background:#fffaf3;border:1px solid var(--border);border-radius:6px;padding:30px}.form-box input,.form-box textarea{border:1px solid #dfcfba;border-radius:4px;background:#fff9ef;margin-bottom:15px;color:#333}.form-box textarea{height:128px;padding:14px}.map-art{height:220px;border-radius:5px;background:linear-gradient(35deg,#ede6da,#f9f4ec);position:relative;overflow:hidden}.map-art:before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(40deg,transparent 0 35px,rgba(255,255,255,.9) 36px 42px),repeating-linear-gradient(-35deg,transparent 0 60px,rgba(204,198,187,.8) 61px 67px)}.pin{position:absolute;left:48%;top:42%;width:52px;height:52px;background:var(--green);color:var(--gold);border-radius:50% 50% 50% 0;transform:rotate(-45deg);display:grid;place-items:center;font-family:Playfair Display;font-size:26px}.pin span{transform:rotate(45deg)}.room-grid{display:grid;grid-template-columns:2fr 1fr;gap:28px}.gallery-main img{height:430px;width:100%;object-fit:cover}.thumbs{display:grid;grid-template-columns:42px repeat(5,1fr) 42px;gap:8px;margin-top:8px}.thumbs button{background:var(--green);color:var(--gold);border:0}.thumbs img{height:74px;object-fit:cover;width:100%;cursor:pointer}.highlight-box,.about-room,.book-box{background:#fffaf3;border:1px solid var(--border);border-radius:7px;padding:28px}.highlight-box li{list-style:none;margin:0 0 20px;color:#424242}.highlight-box li i{margin-right:14px;color:#52625c}.split-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:26px;margin-top:34px}.amenity-icons{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:24px}.attractions-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.gallery-item{height:260px;border-radius:5px;overflow:hidden;position:relative}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:.35s}.gallery-item:hover img{transform:scale(1.08)}.gallery-item span{position:absolute;left:18px;bottom:18px;background:rgba(0,62,51,.85);color:#fff;padding:9px 15px}.mobile-toggle{display:none;color:#fff;font-size:26px}@media(max-width:980px){.main-nav{display:none;position:absolute;left:0;right:0;top:100%;background:#00382f;flex-direction:column;padding:24px}.main-nav.open{display:flex}.mobile-toggle{display:block}.booking-bar,.page-layout,.contact-grid,.room-grid,.split-grid{display:block}.booking-item{border:0;margin-bottom:14px}.cards-grid,.attractions-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr}.hero h1{font-size:42px}}@media(max-width:620px){.cards-grid,.attractions-grid,.gallery-grid,.benefit-grid,.footer-grid{grid-template-columns:1fr}.hero{height:440px}.hero h1{font-size:34px}.wrap{width:min(100% - 28px,1130px)}}
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.86);z-index:99;display:grid;place-items:center}.lightbox img{max-width:88vw;max-height:86vh;border:8px solid #fff}.lightbox button{position:absolute;top:22px;right:34px;background:transparent;border:0;color:#fff;font-size:50px}
.lightbox .lb-nav{top:50%;transform:translateY(-50%);width:52px;height:52px;border-radius:50%;background:rgba(0,0,0,.45);font-size:34px;line-height:1;display:grid;place-items:center}
.lightbox .lb-prev{left:24px;right:auto}
.lightbox .lb-next{right:24px;left:auto}
.lightbox .lb-close{top:18px;right:26px;background:transparent;font-size:46px}

/* Header spacing refinements for PHP include layout */
.site-header{height:86px}
.site-header .wrap.nav-wrap{width:min(1320px,calc(100% - 40px));gap:20px}
.nav-wrap .logo{flex-shrink:0}
.nav-wrap .main-nav{flex:1;justify-content:center;gap:18px}
.nav-wrap .main-nav a{white-space:nowrap;display:inline-flex;align-items:center;font-size:11px;line-height:1}
.nav-wrap .book-btn.solid{flex-shrink:0;padding:12px 18px;border-radius:10px}
.nav-wrap .header-actions{display:flex;align-items:center;gap:clamp(10px,1.8vw,16px);flex-shrink:0}
.nav-wrap .header-contact-icons{display:inline-flex;align-items:center;gap:10px}
.site-header .header-contact-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;border:1px solid rgba(215,165,82,.55);color:var(--gold2);font-size:1.08rem;line-height:1;text-decoration:none;transition:background .2s ease,border-color .2s ease,color .2s ease,transform .15s ease}
.site-header .header-contact-icon:hover{background:rgba(215,165,82,.14);border-color:rgba(224,171,82,.92);color:#fff;transform:translateY(-1px)}
.site-header .header-contact-icon:focus-visible{outline:2px solid rgba(215,165,82,.85);outline-offset:3px}
@media(max-width:1200px){.site-header .wrap.nav-wrap{width:min(1160px,calc(100% - 28px));gap:12px}.nav-wrap .main-nav{gap:12px}.nav-wrap .main-nav a{font-size:10px}}
@media(max-width:1060px){.nav-wrap .book-btn.solid{display:none}}
@media(max-width:520px){.nav-wrap .header-contact-icons{gap:8px}.site-header .header-contact-icon{width:38px;height:38px;font-size:1rem}}

/* Home page visual polish */
.hero-highlights{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.hero-highlights span{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border:1px solid rgba(255,255,255,.32);border-radius:999px;background:rgba(255,255,255,.09);color:#fff;font-size:12px;font-weight:600}
.hero-highlights i{color:var(--gold2)}
.home-elegance{padding-top:54px;padding-bottom:28px}
.elegance-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.elegance-card{background:#fff;border:1px solid var(--border);border-radius:10px;padding:26px 24px;text-align:center;box-shadow:0 14px 32px rgba(0,0,0,.06);transition:.25s}
.elegance-card:hover{transform:translateY(-6px);box-shadow:0 20px 36px rgba(0,0,0,.1)}
.elegance-card i{font-size:34px;color:var(--gold);display:block;margin-bottom:12px}
.elegance-card h3{font-size:24px;margin:0 0 10px}
.elegance-card p{margin:0;color:#4d5753;line-height:1.75}
@media(max-width:980px){.hero-highlights{gap:10px}.hero-highlights span{font-size:11px;padding:8px 12px}.elegance-grid{grid-template-columns:1fr}}

/* Room gallery active state */
.thumbs img.active-thumb{outline:2px solid var(--gold);outline-offset:2px;opacity:1}
.thumbs img:not(.active-thumb){opacity:.78}
.gallery-main #room-main-image{transition:opacity .25s ease-in-out}
.gallery-main #room-main-image.is-changing{opacity:.55}
.thumbs-slider{display:grid!important;grid-template-columns:42px minmax(0,1fr) 42px;align-items:center;gap:10px;margin-top:8px;overflow:hidden}
.thumbs-slider .thumbs-track{display:flex;gap:8px;overflow:hidden;flex:1;min-width:0;width:100%;white-space:nowrap;transition:transform .28s ease;will-change:transform}
.thumbs-slider .thumbs-track img{flex:0 0 calc((100% - 32px)/5);max-width:calc((100% - 32px)/5);height:74px;object-fit:cover}
.thumbs-slider button{width:42px;height:74px}
@media(max-width:900px){.thumbs-slider .thumbs-track img{flex:0 0 calc((100% - 24px)/4);max-width:calc((100% - 24px)/4)}}
.room-filter-tabs{display:flex;flex-wrap:wrap;align-items:center;gap:5px;margin:0 0 14px}
.room-filter-tab{border:1px solid var(--border);background:#fff;border-radius:999px;padding:8px 15px;line-height:1.25;color:var(--text);cursor:pointer;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease;text-align:center;box-shadow:0 1px 0 rgba(255,255,255,.85) inset}
.room-filter-tab:hover{background:#fffaf3;border-color:#d4c4a8}
.room-filter-tab-inner{display:inline-flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:7px;max-width:min(280px,92vw)}
.room-filter-tab-name{font-size:12px;font-weight:700;letter-spacing:.01em}
.room-filter-tab-floor{flex-shrink:0;font-size:10px;font-weight:700;padding:3px 9px;border-radius:999px;letter-spacing:.02em;white-space:nowrap;background:rgba(0,62,51,.08);color:var(--green);border:1px solid rgba(0,62,51,.18)}
.room-filter-tab.active{background:var(--green);color:#fff;border-color:var(--green);box-shadow:0 2px 8px rgba(0,62,51,.2)}
.room-filter-tab.active .room-filter-tab-name{color:#fff}
.room-filter-tab.active .room-filter-tab-floor{background:#fff;color:var(--green);border-color:rgba(255,255,255,.35);box-shadow:0 1px 2px rgba(0,0,0,.1)}
.room-filter-mobile-toggle{display:none}

/* property-details — room filters: full-width stack on phones (laptop row + wrap unchanged) */
@media(max-width:700px){
  .room-filter-mobile-toggle{
    width:100%;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin:0 0 12px;
    padding:12px 16px;
    border:1px solid rgba(0,62,51,.2);
    border-radius:12px;
    background:#fff;
    color:var(--text);
    font-weight:700;
    font-size:14px;
    box-shadow:0 6px 16px rgba(0,0,0,.06);
  }
  .room-filter-mobile-toggle i{
    font-size:16px;
    transition:transform .18s ease;
  }
  .room-filter-mobile-toggle.is-open i{
    transform:rotate(180deg);
  }
  .room-filter-tabs{
    flex-direction:column;
    align-items:stretch;
    gap:10px;
    display:none;
  }
  .room-filter-tabs.is-mobile-open{
    display:flex;
  }
  .room-filter-tab{
    width:100%;
    max-width:100%;
    box-sizing:border-box;
    display:flex;
    justify-content:center;
    align-items:center;
    padding:11px 16px;
    border-radius:999px;
  }
  .room-filter-tab-inner{
    max-width:100%;
    width:100%;
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:center;
    gap:8px 12px;
  }
  .room-filter-tab-name{
    text-align:center;
    line-height:1.35;
    overflow-wrap:anywhere;
  }
}

.gallery-main{position:relative}
.room-main-nav{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border:0;border-radius:50%;background:rgba(0,62,51,.88);color:#fff;font-size:24px;display:grid;place-items:center;cursor:pointer;z-index:4}
.room-main-nav.prev{left:14px}
.room-main-nav.next{right:14px}
.room-main-nav:hover{background:rgba(0,62,51,.98)}
.property-hero{min-height:520px;background-position:center center;position:relative}
.property-hero:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,18,16,.78) 0%,rgba(8,18,16,.62) 36%,rgba(8,18,16,.3) 64%,rgba(8,18,16,.12) 100%)}
.property-hero .wrap{position:relative;z-index:2}
.property-hero h1{font-size:64px;line-height:1.02;max-width:640px;text-shadow:0 8px 30px rgba(0,0,0,.28)}
.property-hero p{max-width:560px}
.property-hero .hero-meta span{padding:8px 12px;border:1px solid rgba(255,255,255,.25);border-radius:999px;background:rgba(255,255,255,.08)}
.property-hero .btn-gold{margin-top:4px;border-radius:10px}
.property-hero .hero-meta .property-hero-cta{margin-top:0;padding:10px 18px;border-radius:10px;font-size:11px;line-height:1.1;white-space:nowrap}
@media(max-width:980px){.property-hero{min-height:470px}.property-hero h1{font-size:46px}}
.inn-policies-hero.hero{position:relative}
.inn-policies-hero.hero:before{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(8,18,16,.78) 0%,rgba(8,18,16,.62) 36%,rgba(8,18,16,.3) 64%,rgba(8,18,16,.12) 100%)}
.inn-policies-hero.hero .wrap{position:relative;z-index:2}
.inn-policies-hero.hero h1{text-shadow:0 8px 30px rgba(0,0,0,.28)}
.property-info-stack{display:grid;gap:18px;margin-top:28px}
.property-info-grid{display:grid;grid-template-columns:1fr;gap:18px}
.property-info-card{border-radius:12px;background:#fffdf8;border:1px solid var(--border);box-shadow:0 10px 24px rgba(0,0,0,.05)}
.property-info-card h3{margin:0 0 12px}
.property-rich-content p{margin:0 0 12px;color:#455751;line-height:1.8}
.property-rich-content ul,.property-rich-content ol{margin:0 0 12px 18px;color:#455751;line-height:1.8}
.property-rich-content h1,.property-rich-content h2,.property-rich-content h3,.property-rich-content h4{margin:0 0 10px}
@media(max-width:980px){.property-info-grid{grid-template-columns:1fr}}

/* Property showcase section on home */
.property-showcase{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);gap:34px;align-items:start;margin-top:18px}
.property-images{position:relative;display:grid;grid-template-columns:1fr;gap:0;padding-bottom:28px}
.property-images.property-images--single{padding-bottom:0}
.property-images img{width:100%;object-fit:cover;object-position:center;border-radius:16px;border:1px solid rgba(234,219,197,.8);box-shadow:0 18px 34px rgba(0,0,0,.14);transition:transform .35s ease,box-shadow .35s ease,filter .35s ease;filter:saturate(1.03) contrast(1.02)}
.property-images img:hover{transform:translateY(-4px) scale(1.01);box-shadow:0 24px 38px rgba(0,0,0,.18)}
.property-images .large{height:360px;min-height:220px}
.property-images .small{height:235px;max-width:84%;justify-self:end;margin-top:-38px;position:relative;z-index:2;border:5px solid #fff}
.property-images.property-images--single .large{width:100%}
.property-content .property-about-clamp{margin:0 0 18px;color:#4f5d58;line-height:1.7;font-size:15px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden;text-overflow:ellipsis;word-break:break-word}
.property-content .property-about-rich{display:block;-webkit-line-clamp:unset;line-clamp:unset;overflow:visible;text-overflow:unset}
.property-content .property-about-rich p{margin:0 0 12px}
.property-content .property-about-rich p:last-child{margin-bottom:0}
.property-content .property-about-rich ul,.property-content .property-about-rich ol{margin:0 0 12px;padding-left:1.25rem}
.property-content .property-about-rich a{color:#0d5f4f;font-weight:600}
.property-content{background:#fffdf8;border:1px solid var(--border);border-radius:14px;padding:30px 30px 26px;box-shadow:0 16px 30px rgba(0,0,0,.08)}
.property-content h3{font-size:38px;line-height:1.15;margin:4px 0 14px}
.property-content p{color:#4f5d58;line-height:1.8;margin:0 0 16px}
.property-content ul{list-style:none;margin:0 0 24px;padding:0;display:grid;gap:10px}
.property-content li{display:flex;align-items:center;gap:10px;color:#30423c;font-weight:500}
.property-content li i{color:var(--gold)}
@media(max-width:980px){.property-showcase{grid-template-columns:1fr;gap:20px}.property-images{padding-bottom:0;gap:14px}.property-images .large{height:300px}.property-images .small{height:220px;max-width:100%;justify-self:stretch;margin-top:0;border:1px solid rgba(234,219,197,.8)}.property-images.property-images--single .large{height:min(52vw,320px)}.property-content h3{font-size:30px}.property-content .property-about-clamp{font-size:14px;line-height:1.65;-webkit-line-clamp:3;line-clamp:3}}

/* Premium typography + header polish */
html,body{margin:0!important;padding:0!important}
body{font-family:'Inter',Arial,sans-serif}
h1,h2,h3,h4,.brand,.logo-text{font-family:'Cormorant Garamond',Georgia,serif}
.site-header{height:96px!important;margin-top:0!important;top:0!important}
.site-header .wrap.nav-wrap{width:min(1380px,calc(100% - 42px))!important;gap:28px!important}
.nav-wrap .main-nav{gap:24px!important}
.nav-wrap .main-nav a{font-size:13px!important;font-weight:700!important;letter-spacing:.4px!important}
.nav-wrap .main-nav a.active:after{bottom:-24px!important;height:3px!important}
.nav-wrap .book-btn.solid{padding:12px 20px!important;border-radius:11px!important;font-size:12px!important;font-weight:800!important}
.nav-wrap .header-actions{gap:14px!important}
@media(max-width:1200px){.site-header .wrap.nav-wrap{gap:18px!important}.nav-wrap .main-nav{gap:16px!important}.nav-wrap .main-nav a{font-size:12px!important}}

/* Gallery hero polish */
.gallery-hero{min-height:460px;position:relative;background-position:center center}
.gallery-hero:before{content:'';position:absolute;inset:0;background:linear-gradient(95deg,rgba(5,16,14,.76) 0%,rgba(5,16,14,.58) 40%,rgba(5,16,14,.22) 68%,rgba(5,16,14,.08) 100%)}
.gallery-hero .wrap{position:relative;z-index:2}
.gallery-hero h1{font-size:72px;line-height:1;margin:4px 0 12px;letter-spacing:.5px}
.gallery-hero p{font-size:22px;max-width:680px;line-height:1.5;color:#f3f7f5}
@media(max-width:980px){.gallery-hero{min-height:360px}.gallery-hero h1{font-size:48px}.gallery-hero p{font-size:17px}}
@media(max-width:767px){.hero:not(.property-hero),.gallery-hero{height:300px!important;min-height:300px!important;max-height:300px!important}}
@media(max-width:767px){.nav-wrap .main-nav a.active:after{height:0!important}}

/* Flush header with page body — removes cream/white strip between header and hero */
.site-header{margin-bottom:0!important;padding-bottom:0!important}
header.site-header+section{margin-top:0!important}
.hero,.gallery-hero,.property-hero{margin-top:0!important}
@media(max-width:980px){
.site-header .main-nav{top:100%!important}
}

.map-iframe-wrap{border-radius:5px;overflow:hidden;border:1px solid #dfd5c9;background:#eae4dc;line-height:0}
.map-iframe-wrap iframe{display:block;width:100%;border:0;min-height:260px;height:clamp(220px,40vw,360px)}

.contact-cms-simple{padding-top:48px;padding-bottom:64px}
.contact-cms-simple__grid{display:grid;grid-template-columns:1fr minmax(260px,340px);gap:40px;align-items:start}
.contact-cms-simple__title{font-size:42px;margin:0 0 20px;color:var(--text)}
.contact-simple-html{line-height:1.78;color:#3c4a45}
.contact-simple-html p{margin:0 0 14px;font-size:inherit}
.contact-info-alt{background:#fffdf8;border:1px solid var(--border);border-radius:12px;padding:26px 24px;box-shadow:0 12px 30px rgba(0,0,0,.05)}
.contact-info-alt__heading{font-size:13px;text-transform:uppercase;letter-spacing:.12em;color:var(--green);margin:0 0 18px;font-weight:800}
.contact-info-alt .contact-line{border-bottom:1px solid rgba(234,219,197,.85);margin:0;padding:14px 0}
.contact-info-alt .contact-line:last-child{border-bottom:0}
.contact-info-alt a{color:#0d5f4f;font-weight:600}
.contact-info-alt a:hover{text-decoration:underline}
@media(max-width:900px){.contact-cms-simple__grid{grid-template-columns:1fr}}

/* Contact page — hero + tiles + body + form + map */
.contact-hero-title{color:#fff;margin:8px 0 16px}
.contact-page{padding-top:52px;padding-bottom:88px}
.contact-page .wrap{position:relative}
.contact-flash{padding:14px 18px;border-radius:12px;margin:0 auto 22px;max-width:1040px;font-size:15px;font-weight:600;line-height:1.45;text-align:center}
.contact-flash--ok{background:rgba(0,62,51,.09);border:1px solid rgba(0,62,51,.22);color:#0a3d33}
.contact-flash--err{background:rgba(160,40,40,.07);border:1px solid rgba(160,40,40,.22);color:#6b1c1c}

/* Reviews page */
.reviews-page-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px;align-items:start}
.reviews-form-card,.reviews-list-card{padding:24px}
.reviews-panel-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.reviews-panel-title h2{font-size:32px;margin:0}
.reviews-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.reviews-form .field{margin-bottom:14px}
.reviews-form .field.full{grid-column:1/-1}
.reviews-form label{display:block;font-weight:700;color:#314845;margin:0 0 8px}
.reviews-form input,.reviews-form textarea,.reviews-form select{
  width:100%;border:1px solid var(--border);border-radius:10px;background:#fffdfa;padding:12px 14px;
  font:inherit;color:#2d3d38;outline:none
}
.reviews-form input:focus,.reviews-form textarea:focus,.reviews-form select:focus{border-color:var(--gold);box-shadow:0 0 0 4px rgba(200,146,61,.12)}
.reviews-list{display:grid;gap:14px}
.review-card{
  display:grid;grid-template-columns:96px 1fr;gap:14px;align-items:start;
  padding:14px;border:1px solid var(--border);border-radius:10px;background:#fffdf8
}
.review-card-image{width:96px;height:96px;object-fit:cover;border-radius:10px}
.review-card-content{min-width:0}
.review-title-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:4px}
.review-card h3{margin:0 0 4px;font-size:24px;line-height:1.1}
.review-title-row h3{margin:0}
.review-stars{margin:0;color:#cf9b3f;font-size:15px;letter-spacing:1px;line-height:1}
.review-stars .is-active{color:#cf9b3f}
.review-stars span:not(.is-active){color:#d9d2c5}
.review-meta{margin:0 0 8px;color:#64736f;font-size:13px;line-height:1.45}
.review-card p{margin:0;color:#3d4f4a;line-height:1.7}
.review-excerpt-wrap{position:relative}
.review-excerpt{
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:normal;
  padding-right:0;
}
.review-read-more{
  position:absolute;right:0;bottom:0;background:#fffdf8;border:0;
  padding:0 0 0 12px;color:#0d5f4f;font-weight:700;font-size:13px;
  cursor:pointer;line-height:1.7;white-space:nowrap
}
.review-read-more::before{
  content:'';
  position:absolute;
  left:-34px;
  top:0;
  bottom:0;
  width:34px;
  background:linear-gradient(to right,rgba(255,253,248,0),#fffdf8);
  pointer-events:none;
}
.review-read-more:hover{text-decoration:underline}
.review-modal-open{overflow:hidden}
.review-modal{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:16px}
.review-modal[hidden]{display:none}
.review-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.55)}
.review-modal-dialog{
  position:relative;z-index:1;width:min(680px,100%);max-height:80vh;overflow:auto;
  background:#fffdf8;border:1px solid var(--border);border-radius:12px;padding:20px 22px
}
.review-modal-close{
  position:absolute;top:10px;right:12px;border:0;background:transparent;font-size:30px;
  color:#2f3f3b;cursor:pointer;line-height:1
}
.review-modal-title-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:8px}
.review-modal-dialog h3{margin:0;font-size:30px}
.review-modal-stars{margin:0}
.review-modal-head{display:grid;grid-template-columns:86px 1fr;gap:12px;align-items:center;margin-bottom:10px}
.review-modal-image{width:86px;height:86px;object-fit:cover;border-radius:10px;border:1px solid var(--border)}
.review-modal-meta-wrap{min-width:0}
.review-modal-author{margin:0 0 10px;color:#64736f;font-weight:600}
.review-modal-meta{margin:0;color:#64736f;font-size:13px}
.review-modal-text{margin:0;color:#364844;line-height:1.75;white-space:pre-line}
@media(max-width:560px){.review-modal-head{grid-template-columns:1fr}.review-modal-image{width:72px;height:72px}}
@media(max-width:640px){
  .review-card{grid-template-columns:1fr}
  .review-card-image{width:86px;height:86px}
}
@media(max-width:760px){.reviews-form-grid{grid-template-columns:1fr}}
@media(max-width:980px){.reviews-page-grid{grid-template-columns:1fr}}
.contact-panel .contact-flash--below-form{margin:18px 0 0;max-width:none;width:100%;text-align:center}
.contact-quick{max-width:1040px;margin:0 auto 30px;width:min(1040px,100%)}
.contact-quick__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,268px),1fr));gap:clamp(14px,2.2vw,22px)}
.contact-quick__solo{display:flex;justify-content:center;margin-top:8px}
.contact-quick__footnote{text-align:center;margin-top:14px}
.contact-quick__directions-link{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--green);text-decoration:none}
.contact-quick__directions-link:hover{color:var(--gold)}
.contact-tile{border-radius:14px;background:#fff;border:1px solid rgba(234,219,197,.92);padding:clamp(18px,2.6vw,24px);box-shadow:0 12px 32px rgba(0,42,34,.058);display:flex;flex-direction:column;gap:12px;min-height:100%;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}
.contact-tile--interactive{text-decoration:none;color:inherit;cursor:pointer}
.contact-tile--interactive:hover{border-color:rgba(197,138,53,.52);box-shadow:0 16px 40px rgba(0,42,34,.088);transform:translateY(-2px)}
.contact-tile--interactive:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.contact-tile--address{border-style:solid}
.contact-tile--solo{max-width:400px;width:100%}
.contact-tile__icon{width:42px;height:42px;border-radius:12px;background:linear-gradient(145deg,rgba(212,169,93,.28),rgba(197,138,53,.14));border:1px solid rgba(197,138,53,.38);display:grid;place-items:center;color:var(--gold);font-size:1.28rem;line-height:1;flex-shrink:0}
.contact-tile__kicker{font-size:11px;text-transform:uppercase;letter-spacing:.12em;font-weight:800;color:var(--green);line-height:1.2;margin:0;padding:0;font-family:inherit}
.contact-tile__value{margin:0;font-size:clamp(14px,.4vw+13px,16px);font-weight:600;color:#17332d;line-height:1.5;word-break:break-word}
.contact-tile--interactive .contact-tile__value{color:#084237;font-weight:700}
.contact-tile__value--multiline{font-weight:600;color:#2d3934;line-height:1.55}
.contact-tile__maplink{margin-top:auto;padding-top:4px;display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:var(--green);text-decoration:none;text-transform:uppercase;letter-spacing:.05em}
.contact-tile__maplink:hover{color:var(--gold)}
.contact-tile__maplink i{font-size:.9em}
.contact-page__lead{text-align:center;max-width:680px;margin:0 auto clamp(22px,3.8vw,36px)}
.contact-page__eyebrow{justify-content:center}
.contact-page__h2{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(28px,3.8vw,42px);margin:10px 0 0;line-height:1.12;color:var(--text)}
.contact-page__body{max-width:min(1040px,100%);margin:0 auto clamp(28px,4vw,40px);background:#fffdf8;border:1px solid var(--border);border-radius:14px;padding:clamp(24px,3.2vw,38px);box-shadow:0 12px 32px rgba(0,0,0,.045);font-size:16px;line-height:1.75;color:#39463f}
.contact-page__body.contact-simple-html p:last-child{margin-bottom:0}
.contact-page__form-wrap{max-width:min(1040px,100%);margin:0 auto 8px;width:100%}
.contact-panel{border-radius:16px;background:#fff;border:1px solid rgba(234,219,197,.92);padding:clamp(22px,2.8vw,34px) clamp(20px,2.5vw,34px);box-shadow:0 16px 44px rgba(0,42,34,.074);display:flex;flex-direction:column;min-height:0;width:100%}
.contact-panel__heading{font-size:13px;text-transform:uppercase;letter-spacing:.14em;color:var(--green);margin:0 0 20px;font-weight:800;line-height:1.25}
.contact-panel--form{border-color:rgba(226,207,178,.98)}
.contact-panel__form-head{margin-bottom:20px;padding-bottom:4px;border-bottom:1px solid rgba(234,219,197,.72)}
.contact-panel__sub{margin:10px 0 0;color:#59635e;font-size:14px;line-height:1.65;max-width:52ch}
.contact-form{flex:1;display:flex;flex-direction:column;min-height:0}
.contact-form__hp{position:absolute;left:-9999px;width:1px;height:1px;padding:0;margin:0;overflow:hidden;clip:rect(0,0,0,0);border:0}
.contact-form__fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 20px;margin-top:2px}
.contact-form__group{display:flex;flex-direction:column;gap:9px}
.contact-form__group--full{grid-column:1/-1}
.contact-form__group label{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.085em;color:var(--green)}
.contact-form__opt{font-weight:600;text-transform:none;letter-spacing:.01em;color:#7a827e;font-size:10px}
.contact-form__control{width:100%;padding:13px 15px;border:1px solid #d9caba;border-radius:10px;background:#fffefa;font-size:15px;color:#22302b;font-family:inherit;transition:border-color .18s,box-shadow .18s;line-height:1.35}
.contact-form__control::placeholder{color:#9a988f}
.contact-form__control:hover{border-color:#ccb89e}
.contact-form__control:focus{outline:0;border-color:var(--gold);box-shadow:0 0 0 3px rgba(197,138,53,.16)}
.contact-form__textarea{min-height:132px;resize:vertical;line-height:1.6}
.contact-form__submit{margin-top:auto;padding-top:24px;display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;max-width:100%;border-radius:11px;box-shadow:0 10px 28px rgba(132,80,20,.22)}
.contact-form__submit-ico{font-size:.95em}
.contact-map-block{margin-top:48px;padding-top:10px;max-width:1040px;margin-inline:auto;width:min(1040px,100%)}
.contact-map-block__head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px;padding:0 2px}
.contact-map-block__head .eyebrow{margin:0}
.contact-map-link{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--green)}
.contact-map-link:hover{color:var(--gold)}
.contact-map-shell--lg{border-radius:16px;box-shadow:0 16px 44px rgba(0,42,34,.09);overflow:hidden}
@media(min-width:761px){
  .contact-form__submit{max-width:320px;margin-left:0;margin-right:auto}
}
@media(max-width:820px){.contact-tile--interactive:hover{transform:none}.contact-form__submit{max-width:100%!important;margin-inline:0;width:100%}}
@media(max-width:540px){.contact-quick__grid{grid-template-columns:1fr}}
@media(max-width:760px){
  .contact-form__fields{grid-template-columns:1fr}
  .contact-form__group--full{grid-column:auto}
}

/* Nearby attractions cards + popup */
.nearby-attractions-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.nearby-attractions-grid .attraction-card{display:flex;flex-direction:column}
.nearby-attractions-grid .attraction-card .card-link{background:none;border:0;cursor:pointer;align-self:center}
.nearby-attractions-grid .attraction-about-clamp{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;min-height:auto}
@media(max-width:980px){.nearby-attractions-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.nearby-attractions-grid{grid-template-columns:1fr}}

.attraction-modal{position:fixed;inset:0;z-index:120;display:none;overflow-y:auto;padding:20px 12px}
.attraction-modal.is-open{display:flex;align-items:flex-start;justify-content:center}
.attraction-modal__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.62)}
.attraction-modal__dialog{position:relative;z-index:1;width:min(680px,100%);margin:6vh auto;background:#fffdf8;border:1px solid var(--border);border-radius:12px;box-shadow:0 22px 50px rgba(0,0,0,.25);padding:28px 24px 22px;max-height:calc(100vh - 64px);overflow-y:auto}
.attraction-modal__dialog h3{margin:0 0 10px;font-size:34px}
.attraction-modal__dialog img{width:100%;max-height:320px;object-fit:cover;border-radius:10px;border:1px solid #e5d8c4;margin:0 0 14px}
.attraction-modal__dialog p{margin:0;color:#3e4d47;line-height:1.8;white-space:pre-line}
.attraction-modal__close{position:absolute;right:12px;top:8px;border:0;background:transparent;font-size:34px;line-height:1;color:#4b5853;cursor:pointer}
@media(max-width:700px){.attraction-modal{padding:12px 8px}.attraction-modal__dialog{margin:4vh auto;padding:18px 16px 16px;max-height:calc(100vh - 24px)}.attraction-modal__dialog h3{font-size:26px}.attraction-modal__dialog img{max-height:220px;border-radius:8px}.attraction-modal__close{font-size:30px;right:8px;top:6px}}

.attractions-hero-title{font-size:clamp(28px,5.5vw,58px);line-height:1.08;margin:8px 0 16px;word-break:break-word;overflow-wrap:break-word;text-wrap:balance}

/* Blog listing — 2 cards per row (isolated from attractions grid rules) */
.blog-posts-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(20px,3vw,32px);
  width:100%;
  align-items:stretch;
}
.blog-posts-grid > .blog-card{min-width:0}
.blog-card{
  background:#fff8ee;
  border:1px solid var(--border);
  border-radius:12px;
  text-align:center;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  box-shadow:0 6px 18px rgba(0,0,0,.06);
  transition:transform .25s ease,box-shadow .25s ease;
}
.blog-card:hover{transform:translateY(-5px);box-shadow:0 20px 40px rgba(0,0,0,.1)}
.blog-posts-grid .blog-meta{
  justify-content:center;
  font-size:12px;
  color:#6d6d64;
  margin:0;
  padding:14px 16px 0;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  font-weight:600;
  text-transform:none;
  letter-spacing:0;
}
.blog-posts-grid .blog-meta i{color:var(--gold);margin-right:4px}
.blog-posts-grid .blog-card h3{text-align:center;margin:10px 16px 4px;line-height:1.25;font-size:22px}
.blog-posts-grid .blog-about-clamp{
  text-align:center;
  margin:8px 16px 6px;
  flex:1 1 auto;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  line-clamp:3;
  overflow:hidden;
  text-overflow:ellipsis;
  line-height:1.62;
  color:#455751;
  font-size:14px;
  max-height:calc(1.62em * 3);
}
.blog-card-thumb{display:block;width:100%;height:215px;object-fit:cover;border:0;margin:0}
.blog-card-media--video{position:relative;background:#151e1d;overflow:hidden;flex-shrink:0}
/* Do NOT use pointer-events:none here — it blocks clicks on native <video controls> */
.blog-card-thumb--video{width:100%;height:215px;display:block;object-fit:cover;background:#121c18}
.blog-posts-grid .blog-read-more{
  background:none!important;
  border:0;
  cursor:pointer;
  align-self:center;
  margin-top:auto;
  margin-bottom:20px;
  padding:10px 8px;
}
@media(max-width:620px){.blog-posts-grid{grid-template-columns:1fr;gap:20px}}
.blog-modal{z-index:121}
.blog-modal .blog-modal-content-root{width:100%}
.blog-modal .blog-modal-content-root>img{width:100%;display:block!important;max-height:360px;object-fit:cover;border-radius:10px;border:1px solid #e5d8c4;margin:0 0 16px;background:#fdf9f4}
.blog-modal .blog-modal-content-root>video{width:100%;display:block!important;max-height:360px;border-radius:10px;border:1px solid #222;margin:0 0 16px;background:#111}
.blog-modal-html{line-height:1.79;color:#3e4d47;font-size:15px}
.blog-modal-html p{margin:0 0 13px;line-height:inherit;white-space:normal}
.blog-modal-html p:last-child{margin-bottom:0}
.blog-modal-html ul,.blog-modal-html ol{padding-left:1.25rem;margin:0 0 14px;line-height:1.65;color:#39443f}
.blog-modal-html a{color:#0d5f4f;font-weight:600}
.blog-modal-html a:hover{text-decoration:underline}

/* Home hero slider — shorter band so booking bar sits higher; portrait images crop via cover + center */
.hero.home.home-hero-slider,.home-hero-slider{display:block!important;align-items:initial!important;position:relative;overflow:hidden;min-height:0;background:none!important;background-image:none!important;padding:0;height:clamp(268px,40vh,400px)}
.home-hero-slides{position:relative;height:100%;min-height:268px}
.home-hero-slide{position:absolute;inset:0;opacity:0;transition:opacity .55s ease;display:flex;align-items:flex-end;background-size:100% 100%;background-position:center;background-repeat:no-repeat;min-height:100%}
.home-hero-slide.is-active{opacity:1;z-index:1}
.home-hero-content{position:relative;z-index:2;padding-bottom:36px;padding-top:12px}
.home-hero-caption{margin:0;max-width:min(760px,90%);font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(28px,4.5vw,52px);line-height:1.06;font-weight:600;color:#fff;text-shadow:0 10px 28px rgba(0,0,0,.45)}
.home-hero-nav{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border:1px solid rgba(255,255,255,.46);border-radius:50%;background:rgba(0,0,0,.35);color:#fff;font-size:1.35rem;line-height:1;display:grid;place-items:center;cursor:pointer;z-index:4;-webkit-tap-highlight-color:transparent}
.home-hero-nav i{font-size:1.5rem;line-height:1;display:block}
.home-hero-nav.prev{left:16px}
.home-hero-nav.next{right:16px}
.home-hero-nav:hover:not(:disabled){background:rgba(0,0,0,.5)}
.home-hero-nav:focus-visible{outline:2px solid var(--gold2);outline-offset:3px}
.home-hero-nav:disabled{opacity:.35;cursor:default}
.home-hero-dots{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);display:flex;gap:8px;z-index:4}
.home-hero-dots button{width:10px;height:10px;border-radius:50%;border:0;background:rgba(255,255,255,.42);cursor:pointer}
.home-hero-dots button.is-active{background:#fff}
@media(max-width:980px){
  .hero.home.home-hero-slider,.home-hero-slider{height:clamp(248px,36vh,360px)}
  .home-hero-caption{font-size:clamp(26px,4.2vw,44px);padding-right:14px}
  .home-hero-content{padding-bottom:30px}
  .home-hero-nav{width:44px;height:44px}
  .home-hero-nav.prev{left:12px}
  .home-hero-nav.next{right:12px}
  .home-hero-nav i{font-size:1.35rem}
}
@media(max-width:620px){
  .hero.home.home-hero-slider,.home-hero-slider{height:clamp(228px,min(52vw,34vh),300px)}
  .home-hero-caption{font-size:clamp(22px,5.8vw,32px);line-height:1.08}
  .home-hero-content{padding-bottom:26px}
  .home-hero-nav{width:40px;height:40px}
  .home-hero-nav i{font-size:1.2rem}
}

/* Laptop + desktop horizontal booking row: bar sits below hero — no awkward half-overlap */
@media(min-width:901px){
  #home-booking-bar.booking-bar{
    margin:6px auto 0;
    width:min(920px,calc(100% - 40px));
  }
}

/* Larger viewports only — fixed hero height on laptop/desktop (≤980 / phones unchanged) */
@media(min-width:981px){
  .hero.home.home-hero-slider,.home-hero-slider{height:600px}
  .home-hero-slides{min-height:600px}
  .home-elegance{padding-top:40px;padding-bottom:32px;}
}

/* Home booking bar — layout (overrides global .booking-bar) */
#home-booking-bar.booking-bar{
  width:min(940px,calc(100% - 28px));
  margin:-58px auto 0;
  padding:0;
  border-radius:12px;
  background:#fff;
  box-shadow:
    0 24px 48px rgba(0,62,51,.13),
    0 8px 20px rgba(0,0,0,.08);
  position:relative;
  z-index:3;
  display:flex;
  flex-direction:row;
  align-items:stretch;
  flex-wrap:nowrap;
  gap:0;
  overflow:hidden;
}

#home-booking-bar .booking-bar-fields{
  flex:1 1 auto;
  min-width:0;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:center;
}

#home-booking-bar .booking-item{
  gap:clamp(10px,2vw,14px);
  padding:clamp(14px,2.5vw,20px) clamp(12px,2.4vw,24px);
  margin:0;
  align-self:stretch;
  border-right:0;
  padding-right:clamp(12px,2.4vw,24px);
}

#home-booking-bar .booking-bar-fields > .booking-item:not(:last-child){
  border-right:1px solid rgba(226,217,203,.98);
}

#home-booking-bar .booking-bar-icon{
  font-size:clamp(22px,2.8vw,28px);
  color:#56615d;
  flex-shrink:0;
  opacity:.93;
}

#home-booking-bar .booking-item .label,
#home-booking-bar label.label{
  font-size:10px;
  letter-spacing:.14em;
  font-weight:600;
  color:var(--muted);
  margin:0;
  display:block;
}

/* Home booking bar — dates */
#home-booking-bar .booking-date-field{cursor:pointer}
#home-booking-bar .booking-date-inner{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:4px;min-width:0;flex:1}
#home-booking-bar .booking-date-input{
  border:0;
  background:transparent;
  padding:0;
  margin:0;
  font:inherit;
  font-size:clamp(14px,1.55vw,16px);
  font-weight:600;
  color:#1a1a1a;
  cursor:pointer;
  width:100%;
  min-width:0;
  line-height:1.3;
}
#home-booking-bar .booking-date-input::placeholder{color:#1a1a1a;opacity:.82}
#home-booking-bar .booking-date-input:focus-visible{outline:2px solid rgba(197,138,53,.45);outline-offset:3px;border-radius:4px}

/* Home booking bar — guests (match date typography) */
#home-booking-bar .booking-guests-field{cursor:pointer}
#home-booking-bar .booking-guest-inner{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:4px;min-width:0;flex:1}
#home-booking-bar .booking-guest-control{
  position:relative;
  width:100%;
  min-width:0;
}

#home-booking-bar .booking-guest-select{
  border:0;
  border-radius:0;
  background-color:transparent;
  padding:2px 22px 2px 0;
  margin:0;
  font:inherit;
  font-size:clamp(14px,1.55vw,16px);
  font-weight:600;
  color:#1a1a1a;
  cursor:pointer;
  width:100%;
  max-width:100%;
  min-width:0;
  line-height:1.35;
  appearance:none;
  -moz-appearance:none;
  -webkit-appearance:none;
}

#home-booking-bar .booking-guest-select:focus,
#home-booking-bar .booking-guest-select:focus-visible{
  outline:2px solid rgba(197,138,53,.45);
  outline-offset:3px;
  border-radius:4px;
}

#home-booking-bar .booking-guest-control::after{
  content:'';
  position:absolute;
  right:4px;
  top:50%;
  transform:translateY(-35%);
  width:0;
  height:0;
  border-left:5px solid transparent;
  border-right:5px solid transparent;
  border-top:6px solid rgba(109,109,100,.82);
  pointer-events:none;
}

/* CTA matches bar height slightly proud of card */
#home-booking-bar .booking-bar-cta{
  flex:0 0 auto;
  align-self:stretch;
  margin:10px 12px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:min(168px,100%);
  padding:clamp(14px,2.2vw,18px) clamp(18px,2.6vw,28px);
  border-radius:6px;
  font-size:12px;
  letter-spacing:.08em;
  line-height:1.2;
  box-shadow:0 12px 32px rgba(184,121,37,.42);
}

#home-booking-bar .booking-bar-cta-text{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  gap:1px;
}

#home-booking-bar .booking-bar-cta-line{
  display:block;
}

.flatpickr-calendar{z-index:10000!important}

/* Home booking bar — responsive */
@media(max-width:900px){
  #home-booking-bar.booking-bar{
    flex-direction:column;
    width:min(520px,calc(100% - 24px));
    margin:-50px auto 0;
    border-radius:12px;
  }

  #home-booking-bar .booking-bar-fields{
    grid-template-columns:1fr 1fr;
    width:100%;
  }

  #home-booking-bar .booking-bar-fields > .booking-item{
    border-right:0!important;
  }

  #home-booking-bar .booking-bar-fields > .booking-item:nth-child(1){
    border-right:1px solid rgba(226,217,203,.98)!important;
    border-bottom:1px solid rgba(226,217,203,.98);
  }

  #home-booking-bar .booking-bar-fields > .booking-item:nth-child(2){
    border-bottom:1px solid rgba(226,217,203,.98);
  }

  #home-booking-bar .booking-bar-fields > .booking-item:nth-child(3){
    grid-column:1 / -1;
    border-right:0!important;
    border-bottom:0;
  }

  #home-booking-bar .booking-bar-cta{
    margin:clamp(12px,3vw,18px);
    width:calc(100% - 24px);
    align-self:center;
    min-height:52px;
  }
}

@media(max-width:520px){
  #home-booking-bar.booking-bar{
    width:calc(100% - 24px);
    margin:-30px auto 0;
  }

  #home-booking-bar .booking-bar-fields{
    grid-template-columns:1fr;
  }

  #home-booking-bar .booking-bar-fields > .booking-item:nth-child(1),
  #home-booking-bar .booking-bar-fields > .booking-item:nth-child(2){
    border-right:0!important;
    border-bottom:1px solid rgba(226,217,203,.98);
  }

  #home-booking-bar .booking-bar-fields > .booking-item:nth-child(2){
    border-bottom:1px solid rgba(226,217,203,.98);
  }

  #home-booking-bar .booking-bar-fields > .booking-item:nth-child(3){
    border-bottom:0;
  }

  #home-booking-bar .booking-item{
    padding:14px 16px;
  }

  /* Prevent iOS auto-zoom on focus for date/select fields */
  #home-booking-bar .booking-date-input,
  #home-booking-bar .booking-guest-select{
    font-size:16px;
  }

  #home-booking-bar .booking-bar-cta{
    width:calc(100% - 24px);
  }
}

/* Logo image (assets/images/logo.png) */
.logo--image{
  gap:0;
  align-items:center;
}
.logo-img{
  width:auto;
  object-fit:contain;
  display:block;
}
/* Header — tall enough to read manor + lettering */
.site-header .logo-img{
  height:96px;
  max-height:96px;
  max-width:min(420px,calc(100vw - 260px));
}
.site-footer .logo-img{
  height:95px;
  max-width:min(340px,92vw);
}
@media(max-width:1200px){
  .site-header .logo-img{
    max-width:min(360px,calc(100vw - 220px));
  }
}
@media(max-width:980px){
  .site-header .logo-img{
    height:72px;
    max-height:72px;
    max-width:min(300px,calc(100vw - 120px));
  }
}
@media(max-width:720px){
  .site-header .logo-img{
    height:85px;
    max-height:85px;
    max-width:min(260px,calc(100vw - 92px));
  }
}

/* Inn policies — boxed CMS content */
.inn-policies-main .policy-cms-box{
  max-width:930px;margin:12px auto 40px;padding:clamp(28px,4.5vw,44px);
  background:linear-gradient(178deg,#fffcf8 0%,#fff9f1 52%,#fffdf7 100%);
  border:1px solid rgba(234,219,197,.92);border-radius:16px;text-align:left;
  box-shadow:0 26px 55px rgba(25,53,47,.08),0 8px 18px rgba(0,58,51,.045),inset 0 1px 0 rgba(255,255,255,.9);
}
.inn-policies-main .policy-cms-rich{max-width:100%;margin:0}
.inn-policies-main .policy-cms-rich>p:last-child,.inn-policies-main .policy-cms-rich li:last-child p:last-child{margin-bottom:0}
.inn-policies-main .policy-cms-rich h1,.inn-policies-main .policy-cms-rich h2,.inn-policies-main .policy-cms-rich h3,.inn-policies-main .policy-cms-rich h4{
  margin-top:1.1em;color:var(--text)
}
.inn-policies-main .policy-cms-rich h1:first-child,.inn-policies-main .policy-cms-rich h2:first-child,.inn-policies-main .policy-cms-rich h3:first-child{margin-top:0}
.inn-policies-main .policy-cms-rich .policy-row{border-radius:8px;margin-bottom:10px}
@media(max-width:620px){
  .inn-policies-main .policy-cms-box{border-radius:12px;padding:22px 18px;margin-left:auto;margin-right:auto;width:min(100%,calc(100% - 8px))}
}

/* Inn policies — help CTA: text + button one row (wrap only on very narrow screens) */
.inn-policies-main .inn-policies-strip{
  max-width:950px;margin-left:auto;margin-right:auto;
  flex-wrap:nowrap;
  align-items:center;
  justify-content:space-between;
  gap:clamp(14px,2.5vw,22px);
}
.inn-policies-strip__content{
  display:flex;align-items:center;gap:clamp(14px,2vw,22px);
  flex:1 1 auto;
  min-width:0;
}
.inn-policies-strip__text{text-align:left;min-width:0;flex:1 1 auto}
.inn-policies-strip__text h4{margin:0 0 8px;font-size:14px;line-height:1.25}
.inn-policies-strip__text p{margin:0;line-height:1.5;font-size:14px}
.inn-policies-main .inn-policies-strip .green-icon{margin-right:0;flex-shrink:0;width:62px;height:62px;font-size:26px}
.inn-policies-strip__cta{
  flex-shrink:0;
  flex-grow:0;
  white-space:nowrap;
  min-width:auto;
  padding:12px 20px!important;
  line-height:1.2;
  text-align:center;
  box-sizing:border-box;
  font-size:12px!important;
}
@media(min-width:600px){
  .inn-policies-strip__cta{padding:14px 26px!important;font-size:13px!important}
}
@media(min-width:760px){
  .inn-policies-strip__cta{min-width:9rem;padding:14px 28px!important}
  .inn-policies-strip__text h4{font-size:15px}
  .inn-policies-strip__text p{font-size:15px}
}
@media(max-width:420px){
  .inn-policies-main .inn-policies-strip{
    flex-wrap:wrap;
    flex-direction:column;
    align-items:stretch;text-align:center;
    padding:24px 18px!important;
  }
  .inn-policies-strip__content{
    flex-direction:column;align-items:center;text-align:center;
  }
  .inn-policies-strip__text{text-align:center}
  .inn-policies-strip__cta{width:100%;max-width:none;margin-inline:0;padding:14px 16px!important}
}

/* Footer backdrop — emerald depth + soft gold halo (matches header greens / gold accents) */
.site-footer{
  position:relative;
  background:
    radial-gradient(ellipse 95% 85% at 50% -32%,rgba(215,165,82,.088),transparent 52%),
    linear-gradient(168deg,#0a4339 0%,var(--green) 40%,#032e27 72%,#010d0b 100%)!important;
  border-top:1px solid rgba(197,138,53,.4);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07);
}

/* Footer — dynamic contact + trimmed explore (3-column) */
.footer-grid.footer-grid--site{
  grid-template-columns:minmax(0,1.35fr) minmax(0,1fr) minmax(0,1.15fr);
  gap:clamp(22px,3.8vw,40px);
  align-items:start;
}
.site-footer .footer-brand{margin:0;padding:0}
.site-footer .footer-tagline{margin:14px 0 0;font-size:14px;line-height:1.68;color:rgba(238,245,239,.82)}
.site-footer .footer-about-text{
  display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;
  overflow:hidden;text-overflow:ellipsis;max-width:42ch;
}
.site-footer .footer-social{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.site-footer .footer-social-link{
  display:inline-grid;place-items:center;width:42px;height:42px;border-radius:50%;
  border:1px solid rgba(215,165,82,.42);color:var(--gold2);
  transition:background .2s ease,color .2s ease,border-color .2s ease,transform .15s ease;
}
.site-footer .footer-social-link:hover{
  background:rgba(215,165,82,.12);border-color:rgba(215,165,82,.82);color:#fff;transform:translateY(-1px);
}
.site-footer .footer-col--links ul{display:grid;gap:11px;margin:0;padding:0}
.site-footer .footer-col--contact .footer-contact-lines{
  list-style:none;margin:0;padding:0;display:grid;gap:14px;
}
.site-footer .footer-contact-lines li{
  display:flex;gap:11px;align-items:flex-start;font-size:14px;line-height:1.5;color:rgba(238,245,239,.93);
}
.site-footer .footer-contact-lines i{font-size:1.05rem;color:var(--gold2);margin-top:2px;flex-shrink:0}
.site-footer .footer-contact-lines a:hover{color:#fff;text-decoration-color:rgba(215,165,82,.85)}
.site-footer .footer-address{white-space:normal}
.site-footer .footer-contact-empty{color:rgba(238,245,239,.55);font-size:14px}
.copyright.footer-copyright-row{
  padding:22px 12px 30px;
  margin-top:8px;
  border-top:1px solid rgba(215,165,82,.2);
  color:rgba(255,255,255,.52)!important;
  font-size:13px;
  line-height:1.5;
}

@media(max-width:1100px){
  .footer-grid.footer-grid--site{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
  .footer-grid.footer-grid--site{grid-template-columns:1fr}
}

/* =====================================================================
   Front-of-site responsiveness — narrow viewports & overflow-safe layout
   ===================================================================== */
html{
  overflow-x:clip;
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}
body{
  overflow-x:clip;
}
.section.decor-bg{
  overflow-x:clip;
}
.decor-bg:before,.decor-bg:after{
  pointer-events:none;
}
@media(max-width:900px){
  .decor-bg:before,.decor-bg:after{display:none}
}

.hero-meta,.contact-hero-title + .hero-meta,.property-hero .hero-meta{
  flex-wrap:wrap;
  row-gap:10px;
  column-gap:clamp(12px,3vw,28px);
  align-items:center;
}
.hero h1,.hero p,
.property-hero h1,.property-hero > .wrap > p,
.gallery-hero h1,.gallery-hero p{
  max-width:100%;
}
@media(max-width:520px){
  .gallery-hero h1{font-size:clamp(26px,8.5vw,42px)!important;line-height:1.08}
  .thumbs-slider .thumbs-track img{
    flex:0 0 calc((100% - 16px)/2);
    max-width:calc((100% - 16px)/2);
  }
  .gallery-item{height:auto;min-height:200px;aspect-ratio:4/3}
}

@media(max-width:760px){
  .property-hero h1{font-size:clamp(28px,8vw,42px)!important;line-height:1.08}
  .property-hero .hero-meta .property-hero-cta{
    white-space:normal;
    text-align:center;
    justify-content:center;
  }
}

.section{padding:clamp(44px,8vw,74px) 0}
.section-head h2{font-size:clamp(28px,6vw,45px)}
.contact-hero-title{font-size:clamp(26px,5.8vw,48px)!important;line-height:1.1}

.green-strip{
  flex-wrap:wrap;
  gap:18px;
  justify-content:flex-start;
}
.green-strip > a.btn-gold{width:100%;max-width:min(340px,100%);justify-content:center;text-align:center}
@media(min-width:700px){
  .green-strip > a.btn-gold{width:auto;max-width:none}
}

.gallery-main img{height:auto;min-height:220px;max-height:70vh}

.thumbs:not(.thumbs-slider .thumbs-track){
  display:grid;
  grid-template-columns:36px repeat(5,minmax(0,1fr)) 36px;
  gap:6px;
  align-items:center;
}
@media(max-width:700px){
  .thumbs:not(.thumbs-slider .thumbs-track){
    grid-template-columns:32px repeat(3,minmax(0,1fr)) 32px;
  }
  .thumbs:not(.thumbs-slider .thumbs-track) img:nth-child(n+6){display:none}
}
@media(max-width:480px){
  .thumbs:not(.thumbs-slider .thumbs-track){
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
  }
  .thumbs:not(.thumbs-slider .thumbs-track) > button{display:none!important}
}

.policy-row{
  grid-template-columns:52px minmax(0,1fr) auto;
}
@media(max-width:540px){
  .policy-row{
    grid-template-columns:1fr;
    justify-items:start;
    text-align:left;
    gap:12px;
  }
}

.amenity-icons{grid-template-columns:repeat(auto-fit,minmax(min(140px,100%),1fr));gap:14px}

.property-rich-content img,.property-rich-content video,.policy-cms-rich img,.blog-modal-html img{
  max-width:100%!important;height:auto!important;
}
.property-rich-content table,.policy-cms-rich table,.blog-modal-html table{
  display:block;
  overflow-x:auto;
  max-width:100%;
  -webkit-overflow-scrolling:touch;
}

.post-title{font-size:clamp(24px,5vw,40px)}
@media(max-width:620px){
  .blog-video{
    height:auto!important;
    min-height:220px!important;
    max-height:min(430px,58vh)!important;
    aspect-ratio:16/10;
  }
  .blog-video img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    max-height:none;
  }
  .play{width:76px;height:76px;font-size:36px}
  .hero-price{font-size:clamp(28px,9vw,44px)}
}

.map-iframe-wrap iframe{max-width:100%!important;height:clamp(220px,55vw,360px)!important}

.lightbox{padding:clamp(48px,10vw,80px) 12px;box-sizing:border-box}
.lightbox img{max-width:min(96vw,calc(100vw - 24px));max-height:76vh;margin-top:24px;border-width:clamp(4px,2vw,8px)}
.lightbox .lb-close{top:8px!important;right:8px!important;font-size:40px;line-height:1}
.lightbox .lb-prev,.lightbox .lb-next{width:42px;height:42px;font-size:26px}
.lightbox .lb-prev{left:8px!important}
.lightbox .lb-next{right:8px!important}

@media(max-width:420px){
  .wrap{width:min(1130px,calc(100% - 24px))}
  .site-header .wrap.nav-wrap{width:calc(100% - 24px)!important;gap:8px!important}
  .nav-wrap .logo{
    flex:1 1 auto;
    min-width:0;
    justify-content:flex-start;
  }
}

@media(max-width:360px){
  .nav-wrap .book-btn.solid{font-size:10px!important;padding:10px 12px!important}
}

/* Home Tour public page */
.home-tour-hero p{max-width:560px;margin:12px auto 18px;color:#dce8e5;line-height:1.6}
.home-tour-empty{padding:48px 24px;text-align:center;background:#fff;border:1px solid var(--border);border-radius:18px;color:var(--muted)}
.home-tour-stack{display:flex;flex-direction:column;gap:22px;width:100%}
.home-tour-slider{width:100%;position:relative;overflow:hidden;border-radius:18px;border:1px solid var(--border);background:#0e1a18}
.home-tour-slider-frame{position:relative;width:100%;height:250px;max-height:250px;overflow:hidden}
.home-tour-slider-frame #home-tour-main-image{
  width:100%;height:100%;min-height:250px;max-height:250px;
  object-fit:fill;display:block;
  transition:opacity .25s ease-in-out
}
@media(min-width:701px){
  .home-tour-slider-frame{height:450px;max-height:450px}
  .home-tour-slider-frame #home-tour-main-image{min-height:450px;max-height:450px}
}
.home-tour-slider-frame #home-tour-main-image.is-changing{opacity:.55}
.home-tour-slider .home-tour-slide-caption{
  position:absolute;left:0;right:0;bottom:0;z-index:3;margin:0;padding:18px 24px 22px;
  border-radius:0;text-align:center;font-size:22px;font-weight:700;line-height:1.3;color:#fff;
  letter-spacing:.01em;text-shadow:0 1px 8px rgba(0,0,0,.45);
  background:linear-gradient(to top,rgba(0,0,0,.82) 0%,rgba(0,0,0,.5) 45%,transparent 100%);
  pointer-events:none
}
.home-tour-slider .home-tour-slide-caption[hidden]{display:none!important}
.home-tour-main .room-filter-tab-name{font-size:13px;line-height:1.35}
.property-details-main .room-filter-tab-name{font-size:13px;line-height:1.35}
.property-details-main .gallery-main{
  width:100%;position:relative;overflow:hidden;border-radius:18px;border:1px solid var(--border);background:#0e1a18
}
.property-details-main .property-gallery-frame{
  position:relative;width:100%;height:250px;max-height:250px;overflow:hidden
}
.property-details-main .property-gallery-frame #room-main-image{
  width:100%;height:100%;min-height:250px;max-height:250px;
  object-fit:fill;display:block;
  transition:opacity .25s ease-in-out
}
@media(min-width:701px){
  .property-details-main .property-gallery-frame{height:390px;max-height:390px}
  .property-details-main .property-gallery-frame #room-main-image{min-height:390px;max-height:390px}
}
.property-details-main .property-gallery-empty{
  height:250px;display:grid;place-items:center;background:#fffaf3;border:1px solid #eadbc5;color:#6d6d64;border-radius:18px
}
@media(min-width:701px){
  .property-details-main .property-gallery-empty{height:390px}
}
.property-details-main .gallery-main #room-main-image.is-changing{opacity:.55}
.property-details-main .property-slide-caption{
  position:absolute;left:0;right:0;bottom:0;z-index:3;margin:0;padding:18px 24px 22px;
  border-radius:0;text-align:center;font-size:22px;font-weight:700;line-height:1.3;color:#fff;
  letter-spacing:.01em;text-shadow:0 1px 8px rgba(0,0,0,.45);
  background:linear-gradient(to top,rgba(0,0,0,.82) 0%,rgba(0,0,0,.5) 45%,transparent 100%);
  pointer-events:none
}
.property-details-main .property-slide-caption[hidden]{display:none!important}
.home-tour-detail-box{width:100%;margin:0}
.home-tour-detail-box .home-tour-detail-eyebrow{
  margin:0 0 8px;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--gold)
}
.home-tour-detail-box h2{margin-top:0}
.home-tour-detail-copy{margin-top:14px}

/* Home page — guest reviews slider */
.home-reviews-section{padding-top:clamp(48px,7vw,72px);padding-bottom:clamp(40px,6vw,56px)}
.home-reviews-slider{position:relative;margin-top:8px;padding:0 44px}
.home-reviews-viewport{overflow:hidden;border-radius:16px;width:100%;position:relative}
.home-reviews-track{display:flex;transition:transform .45s ease;will-change:transform}
.home-reviews-slide{
  flex:0 0 100%;width:100%;min-width:100%;max-width:100%;box-sizing:border-box;
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;padding:4px 2px
}
.home-review-card{
  display:flex;gap:16px;align-items:flex-start;background:#fffdf8;border:1px solid var(--border);
  border-radius:14px;padding:18px;box-shadow:0 10px 28px rgba(25,53,47,.06);min-width:0
}
.home-review-card__image{
  width:88px;height:88px;flex-shrink:0;object-fit:cover;border-radius:10px;border:1px solid var(--border)
}
.home-review-card__body{min-width:0;flex:1}
.home-review-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:6px}
.home-review-card__head h3{margin:0;font-size:22px;line-height:1.15}
.home-review-card__stars{margin:4px 0 0;flex-shrink:0}
.home-review-card__meta{margin:0 0 10px;color:#64736f;font-size:13px;line-height:1.45}
.home-review-card__text{margin:0;color:#3d4f4a;line-height:1.65;font-size:14px;word-break:break-word}
.home-reviews-nav{
  position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;border-radius:50%;
  border:1px solid var(--border);background:#fffdf8;color:var(--green);cursor:pointer;
  display:grid;place-items:center;box-shadow:0 8px 20px rgba(25,53,47,.1);z-index:20;
  pointer-events:auto;padding:0
}
.home-reviews-nav i{pointer-events:none}
.home-reviews-nav:hover{background:#fff;border-color:var(--gold);color:var(--gold)}
.home-reviews-nav.prev{left:0}
.home-reviews-nav.next{right:0}
.home-reviews-dots{display:flex;justify-content:center;gap:8px;margin-top:18px}
.home-reviews-dots button{
  width:10px;height:10px;border-radius:50%;border:0;padding:0;background:#d9ccb6;cursor:pointer
}
.home-reviews-dots button.is-active{background:var(--gold);transform:scale(1.15)}
.home-reviews-empty{margin:0;text-align:center;color:var(--muted);font-size:16px}
.home-reviews-cta{display:flex;justify-content:center;margin-top:28px}
.home-reviews-cta .btn-gold{min-width:200px;justify-content:center}
@media(max-width:900px){
  .home-reviews-slider{padding:0 36px}
  .home-reviews-slide{grid-template-columns:1fr}
}
@media(max-width:600px){
  .home-review-card{flex-direction:column;align-items:center;text-align:center}
  .home-review-card__head{flex-direction:column;align-items:center}
  .home-review-card__image{width:72px;height:72px}
}

/* Public gallery page (gallery.php) */
.gallery-page-section{padding-top:clamp(48px,7vw,72px)}
.gallery-page-empty{margin:0;color:var(--muted);font-size:16px;text-align:center}
.gallery-page-grid .gallery-page-card{
  height:auto;
  margin:0;
  display:flex;
  flex-direction:column;
  background:#fffdf8;
  border:1px solid var(--border);
  border-radius:14px;
  overflow:hidden;
  box-shadow:0 10px 28px rgba(25,53,47,.07);
  transition:box-shadow .28s ease,transform .28s ease;
}
.gallery-page-grid .gallery-page-card:hover{
  box-shadow:0 16px 36px rgba(25,53,47,.12);
  transform:translateY(-3px);
}
.gallery-page-grid .gallery-page-card__frame{
  margin:12px 12px 0;
  aspect-ratio:335/250;
  overflow:hidden;
  border-radius:10px;
  border:1px solid rgba(234,219,197,.95);
  background:#f5efe4;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.65);
}
.gallery-page-grid .gallery-page-card__frame img{
  width:100%;
  height:100%;
  object-fit:fill;
  transition:transform .4s ease;
}
.gallery-page-grid .gallery-page-card:hover .gallery-page-card__frame img{
  transform:scale(1.04);
}
.gallery-page-grid .gallery-page-card__caption{
  margin:0;
  padding:14px 16px 16px;
  font-family:'Playfair Display',Georgia,serif;
  font-size:clamp(16px,2.2vw,19px);
  font-weight:600;
  line-height:1.4;
  color:var(--text);
  text-align:center;
  letter-spacing:.2px;
  border-top:1px solid rgba(234,219,197,.65);
  background:linear-gradient(180deg,#fffdf8 0%,#faf6ed 100%);
}
.gallery-page-grid .gallery-page-card:not(:has(.gallery-page-card__caption)) .gallery-page-card__frame{
  margin-bottom:12px;
}
@media(max-width:980px){
  .gallery-page-grid.gallery-grid{grid-template-columns:repeat(2,1fr);gap:18px}
}
@media(max-width:600px){
  .gallery-page-grid.gallery-grid{grid-template-columns:1fr;gap:16px}
  .gallery-page-grid .gallery-page-card__frame{margin:10px 10px 0}
}
