
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Great+Vibes&family=Playfair+Display:wght@400;500;600&display=swap');
:root{--ink:#171915;--bg:#1c1e19;--panel:#292c25;--panel2:#35382f;--cream:#f5efe5;--sage:#c8d8ca;--gold:#d9a17c;--muted:#c0c2b9;--border:#ffffff26;--green:#205041}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--cream);font-family:'DM Sans',Arial,sans-serif;font-size:15px}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a{cursor:pointer}a:focus-visible,button:focus-visible{outline:3px solid var(--gold);outline-offset:3px}img{max-width:100%;display:block}h1,h2,h3,h4,p{margin:0}h1,h2,h3{font-family:'Playfair Display',Georgia,serif;font-weight:500}p{line-height:1.7;color:#d8ddd5}.container{max-width:1150px;padding:0 26px;margin:auto}.smallcaps{font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.22em;color:var(--sage)}.muted{color:var(--muted)}.script{font-family:'Great Vibes',cursive;color:var(--gold);font-weight:400}.tag{display:inline-flex;align-items:center;border:1px solid var(--border);border-radius:50px;padding:7px 12px;color:#d3e0d5;font-size:12px}.btn{display:inline-flex;gap:10px;align-items:center;justify-content:center;background:var(--green);border:1px solid #a0b3a4;min-height:45px;padding:12px 20px;border-radius:8px;color:white;font-weight:600}.btn.secondary{background:#fff1;border-color:#ffffff55}.btn.tiny{padding:9px 13px;min-height:0;font-size:13px}.btn.disabled{pointer-events:none;opacity:.55}.header{background:#151713ed;position:sticky;top:0;z-index:20;border-bottom:1px solid #ffffff1b;backdrop-filter:blur(14px)}.headrow{display:flex;align-items:center;gap:13px;min-height:84px}.logo{width:60px;height:60px;object-fit:contain;background:#0b0c0a;border-radius:10px}.brand{flex:1}.brand strong{display:block;letter-spacing:.12em;font-size:18px;font-weight:500}.brand span{font:italic 19px Georgia,serif;color:#d2d1c7}.nav{display:flex;align-items:center;gap:18px}.nav a{font-size:13px;color:var(--sage)}.nav a:hover{color:#fff}.menu{display:none;background:transparent;color:var(--sage);border:none;font-size:29px;line-height:1;padding:8px}.preview-band{background:#39322d;border-bottom:1px solid #906f56;color:#edd7c3;text-align:center;font-size:12px;padding:6px 12px}.hero{min-height:580px;position:relative;background:linear-gradient(90deg,#141a14d9 0%,#141a1480 48%,#141a1420 100%),linear-gradient(0deg,#1c1e19 1%,transparent 28%),url('images/homepage_garden_exact.webp') center/cover;display:flex;align-items:center}.hero .inner{padding-top:60px;padding-bottom:75px}.hero h1{font-size:clamp(44px,7vw,77px);line-height:1.0;letter-spacing:-.035em;margin:19px 0 12px}.hero .script{font-size:clamp(52px,8vw,97px);line-height:.94;display:block;white-space:nowrap;margin-bottom:18px;letter-spacing:0}.hero p{max-width:520px;font-size:17px;color:#f0f0e7;text-shadow:0 1px 2px #0009}.heroActions{margin-top:24px;display:flex;gap:12px;flex-wrap:wrap}.section{padding:66px 0}.section.alt{background:#232620}.section-title{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:24px}.section h2{font-size:clamp(29px,4vw,41px);line-height:1.15}.section-intro{max-width:700px;margin-top:13px}.lead{font-size:19px}.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.card{overflow:hidden;border:1px solid var(--border);border-radius:13px;background:var(--panel)}.card img{width:100%;height:230px;object-fit:cover}.card .inside{padding:22px}.card h3{font-size:25px;margin:8px 0}.card p{font-size:14px}.card .bottom{margin-top:20px}.photoset{display:grid;grid-template-columns:1.1fr .9fr;gap:18px}.photoset img{width:100%;height:350px;object-fit:cover;border-radius:13px}.booking{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:22px}.booking h3{font-size:22px;margin-bottom:8px}.booking p{margin-bottom:18px}.collections{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.collection h3{font-size:23px}.collection .sub{font-size:14px;color:var(--muted);margin:4px 0 14px}.compact{display:flex;align-items:center;gap:15px;padding:15px;border:1px solid var(--border);border-radius:11px;margin:11px 0;background:#22241f}.compact img{width:110px;height:85px;object-fit:cover;border-radius:7px}.compact h4{font:500 20px 'Playfair Display',Georgia,serif;margin-bottom:5px}.compact small{font-size:12px;color:var(--muted)}.compact .soon{margin-left:auto;white-space:nowrap;color:#cbbdaa;font-size:12px}.crumb{display:flex;gap:8px;margin:23px 0;color:#bcd2c4;font-size:13px;flex-wrap:wrap}.subhead{padding:45px 0 25px}.subhead h1{font-size:clamp(39px,6vw,62px);margin:11px 0}.subhead p{max-width:800px;font-size:17px}.facts{display:flex;gap:9px;flex-wrap:wrap;margin:22px 0}.gallery{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,.8fr);gap:12px}.gallery>button{position:relative;display:block;overflow:hidden;border:0;padding:0;background:#141814;border-radius:13px}.gallery img{width:100%;height:490px;object-fit:cover}.gallery button .overlay{position:absolute;bottom:14px;left:15px;right:15px;background:#142015ce;padding:11px;border-radius:8px;display:flex;justify-content:space-between;font-size:13px}.gallery aside{display:grid;grid-template-rows:repeat(2,1fr);gap:12px}.gallery aside button{border:0;background:none;padding:0;border-radius:13px;overflow:hidden}.gallery aside img{height:239px;width:100%;object-fit:cover}.listing-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(320px,.8fr);gap:34px;align-items:start}.bodycopy h2{font-size:30px;margin-bottom:13px}.bodycopy h3{font-size:23px;margin:28px 0 7px}.bodycopy p{margin-bottom:13px}.columns{display:grid;grid-template-columns:1fr 1fr;gap:14px}.amenity{background:#30352e;border:1px solid #ffffff18;padding:13px 15px;border-radius:9px;font-size:14px}.rule{border-top:1px solid var(--border);padding-top:12px;margin-top:12px}.stickybooking{position:sticky;top:100px}.priceNotice{background:#4d4334;border-radius:9px;padding:12px;font-size:13px;color:#f6e3c8;margin-top:14px}.mapwrap{position:relative;height:340px;overflow:hidden;border:1px solid var(--border);border-radius:14px;background:#b9cdb8}.mapwrap iframe{width:100%;height:100%;border:0;filter:saturate(.8)}.mapwrap .fuzzy{pointer-events:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border-radius:50%;width:158px;height:158px;border:3px dashed #204c40bb;background:#6aa78d50;box-shadow:0 0 0 900px #080d0c12}.mapdesc{font-size:13px;margin:12px 0}.faq details{border-top:1px solid var(--border);padding:16px 0}.faq summary{cursor:pointer;font-weight:600;color:#e9efea}.faq details p{padding-top:12px}.quotes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.quote{padding:22px;border-radius:12px;border:1px solid var(--border);background:#24271f}.quote blockquote{font:19px/1.5 'Playfair Display',Georgia,serif;margin:13px 0 20px;color:#efe9da}.quote small{color:#bfcdbf}.foot{background:#101310;border-top:1px solid var(--border);padding:35px 0}.footrow{display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;align-items:start}.foot a{color:var(--sage)}.fine{font-size:12px;color:var(--muted)}.lightbox{position:fixed;inset:0;background:#080b09f5;z-index:100;display:none;align-items:center;justify-content:center;padding:60px 20px 45px}.lightbox.open{display:flex}.lightbox img{max-height:78vh;max-width:95vw;object-fit:contain}.lightbox .caption{position:absolute;bottom:12px;color:#e0e0de}.lightbox button{background:#1c291f;color:#fff;border:1px solid #999;border-radius:50%;width:42px;height:42px}.lightbox .close{position:absolute;top:13px;right:24px}.lightbox .prev{position:absolute;left:12px}.lightbox .next{position:absolute;right:12px}.links{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.story{max-width:790px;margin:auto}.story p{font:19px/1.8 Georgia,serif;margin:15px 0}.signature{font:48px 'Great Vibes',cursive;color:var(--gold);margin-top:16px}.photo-status{font-size:12px;color:#d6bba9}.mapinfo{margin-top:8px}.scroll-strip{display:flex;gap:9px;overflow-x:auto;padding-bottom:10px;margin-top:12px}.scroll-strip button{min-width:115px;width:115px;height:83px;border:1px solid transparent;border-radius:8px;padding:0;overflow:hidden;background:none}.scroll-strip button.active{border:3px solid var(--gold)}.scroll-strip img{width:100%;height:100%;object-fit:cover}
@media(max-width:890px){.nav{display:none;position:absolute;right:15px;top:78px;flex-direction:column;align-items:stretch;background:#21241f;border:1px solid var(--border);padding:18px;border-radius:10px;min-width:220px}.nav.open{display:flex}.menu{display:block}.collections,.quotes{grid-template-columns:1fr 1fr}.gallery{grid-template-columns:1fr}.gallery aside{grid-template-columns:1fr 1fr;grid-template-rows:1fr}.gallery img{height:360px}.gallery aside img{height:200px}.listing-layout{grid-template-columns:1fr}.stickybooking{position:static}}
@media(max-width:600px){.container{padding:0 17px}.headrow{min-height:74px}.logo{height:51px;width:51px}.brand strong{font-size:14px}.brand span{font-size:15px}.hero{min-height:610px;background-position:56% center}.hero .inner{padding-top:45px;padding-bottom:52px}.hero h1{font-size:53px}.hero .script{font-size:66px;white-space:normal}.hero p{font-size:15px}.section{padding:43px 0}.grid2,.grid3,.collections,.quotes,.photoset,.columns{grid-template-columns:1fr}.photoset img{height:245px}.section h2{font-size:29px}.section-title{align-items:start;flex-direction:column;gap:10px}.card img{height:195px}.gallery>button img{height:295px}.gallery aside img{height:155px}.subhead{padding:28px 0 18px}.subhead h1{font-size:40px}.listing-layout{gap:22px}.bodycopy h2{font-size:27px}.lightbox{padding:50px 32px}.lightbox .prev{left:3px}.lightbox .next{right:3px}.compact img{width:92px;height:76px}.compact h4{font-size:18px}}

/* v5 review refinements */
.pet-summary { background:#294334; border-left:3px solid #bdcfb3; padding:13px 16px; margin:15px 0 4px; border-radius:7px; max-width:750px; color:#eaf0e6; }
.pet-summary strong { color:#fff; }
.pet-tag {border-color:#9aaf94!important; background:#304e38!important;}
.pet-highlight{display:inline-block;margin:10px 0 2px;color:#d3e6ca;font-size:12px;}
.destination-photo{width:100%;height:220px;object-fit:cover;display:block;}
.photo-credit{font-size:10px;margin-top:15px;color:#c2c6bc;}
.quote blockquote{overflow-wrap:anywhere;}
.compact small{white-space:normal;display:block;line-height:1.4;}

/* V6: photo approval and gallery usability */
.gallery-tip{font-size:12px;margin:8px 0 0;color:#bec7bc;}
.scroll-strip img{object-fit:cover;}
@media(max-width:600px){.scroll-strip button{min-width:82px;width:82px;height:67px}.gallery-tip{font-size:11px}.hero{background-position:55% center}}

/* V7 approved destination-image composites: keep both scenes visible at all viewport widths */
.destination-composite{aspect-ratio:16/9;height:auto!important;object-fit:cover;object-position:center;display:block}

/* V8: real Hospitable property booking widgets (enabled/controlled by Hospitable). */
.booking-live{scroll-margin-top:120px;}
.hospitable-widget{background:#fff;border-radius:11px;padding:12px;min-height:190px;color:#1b211d;box-shadow:inset 0 0 0 1px #00000013;overflow:visible;}
.hospitable-widget :is(button,input,select){font-family:inherit;}
.widget-testing-note{margin-top:12px;border-left:3px solid #d8af68;padding:9px 12px;font-size:12px;line-height:1.6;color:#f5dfbf;background:#4e412b;border-radius:5px;}
.alternative-booking{margin-top:14px!important;margin-bottom:0!important;}
.alternative-booking a{color:#cae9d3;text-decoration:underline;text-underline-offset:2px;}
@media(max-width:600px){.hospitable-widget{padding:7px;min-height:150px}.booking-live{scroll-margin-top:86px}}

/* V9 – search and results integration from Hospitable Property Search Step 1/2 */
.search-section{scroll-margin-top:95px}.search-layout{align-items:start}.search-explain h2{margin:9px 0 16px}
.hospitable-search-widget,.search-results-widget{background:#ffffff;color:#16231e;border-radius:12px;min-height:145px;padding:14px;overflow:visible;box-shadow:0 5px 18px #0002}
.hospitable-search-widget hospitable-direct-mps,.search-results-widget hospitable-direct-mps{display:block;min-height:90px}
.search-results-main{padding-top:40px;padding-bottom:70px;min-height:65vh}.search-results-main h1{font:clamp(42px,5vw,62px)/1.12 'Playfair Display',Georgia,serif;margin:12px 0 20px;color:#e9ece1}
.results-tools{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.search-results-widget{min-height:280px;margin:24px 0 15px}
.search-booking h3{margin-bottom:16px}
@media(max-width:600px){.hospitable-search-widget,.search-results-widget{padding:8px}.search-results-main{padding-top:24px;padding-bottom:48px}.search-results-main h1{font-size:38px}.search-section{scroll-margin-top:78px}}


/* V10.1 — user-approved booking layout refinements.
   Hospitable's desktop multi-property bar is wider than the former narrow sidebar.
   Present it in a full-width section, and keep the real Hospitable embed unchanged. */
.search-section .search-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;align-items:start;}
.search-section .search-explain{text-align:center;max-width:850px;margin:0 auto;}
.search-section .search-explain h2{margin:9px 0 8px;}
.search-section .search-explain .section-intro{margin:12px auto 0;max-width:780px;}
.search-section .search-explain .fine{margin-top:9px;}
.search-section .search-booking{width:100%;min-width:0;max-width:1120px;margin:0 auto;padding:clamp(16px,2vw,26px);overflow:visible;}
.search-section .search-booking h3{margin-bottom:14px;}
.search-section .hospitable-search-widget{width:100%;max-width:100%;min-width:0;min-height:115px;padding:8px 0;background:transparent;border:0;border-radius:0;box-shadow:none;overflow:visible;}
.search-section .hospitable-search-widget hospitable-direct-mps{display:block;width:100%;max-width:100%;min-width:0;}
.search-section .alternative-booking{margin-top:12px!important;}
/* Property calendar requires significantly more room than the previous 320px sidebar. */
@media(min-width:1051px){.listing-layout{grid-template-columns:minmax(0,1.35fr) minmax(420px,1fr);gap:26px;}}
@media(min-width:891px) and (max-width:1050px){.listing-layout{grid-template-columns:1fr;}.stickybooking{position:static;}}
@media(max-width:600px){
 .search-section .search-layout{gap:20px;}
 .search-section .search-explain{text-align:left;}
 .search-section .search-explain .section-intro{margin:12px 0 0;}
 .search-section .search-booking{padding:15px 12px;}
 .search-section .hospitable-search-widget{padding:3px 0;min-height:140px;}
}
/* Allow the wide desktop search control to fit inside the card rather than crossing its border. */
.search-section .container{max-width:1280px;}
.search-section .search-booking{max-width:1180px;}
@media(max-width:600px){.search-section .search-booking{max-width:100%;}}

/* V10.2 — licensing and booking status */
.regulatory-panel { margin: 25px 0; padding: 16px 20px; border: 1px solid #a0b3a454; border-radius: 12px; background: #2b332a; }
.regulatory-panel h3 { margin:0 0 8px !important; font-size: 20px !important; }
.compliance-note, .listing-compliance-card { color: #d2ddd2; font-size: 13px; line-height: 1.5; }
.regulatory-panel .compliance-note { margin: 0; }
.listing-compliance-card { margin-top:10px; }
