@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Caslon+Display&display=swap');
:root{--ink:#183e65;--deep:#102a46;--cream:#f5f3ed;--muted:#617184;--line:#d7dfe7;--accent:#e6c39a;--serif:'Libre Caslon Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:0}body{margin:0;color:var(--ink);background:#fff;font-family:var(--sans);font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,summary{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #bf813e;outline-offset:5px}img{display:block;max-width:100%}p,h1,h2,h3,h4{margin-top:0}h1,h2{font-family:var(--serif);font-weight:400;line-height:1.08;letter-spacing:-.025em}h2{font-size:clamp(2.5rem,4vw,4rem);margin-bottom:24px}h3{font-size:1.1rem;font-weight:600;line-height:1.4}em{font-weight:400}section[id]{scroll-margin-top:0}.section{padding:100px max(6%,calc((100% - 1320px)/2))}.eyebrow{font-size:.75rem;font-weight:600;letter-spacing:.2em;margin-bottom:25px;line-height:1.6}.header{height:106px;display:flex;align-items:center;justify-content:space-between;gap:25px;padding:0 5%;background:#fff}.brand{display:flex;align-items:center;gap:13px;font-size:1rem;letter-spacing:.1em;font-weight:600;line-height:1.3;flex-shrink:0}.brand small{display:block;font-size:.625rem;letter-spacing:.19em;margin-top:6px}.brand-mark{width:48px;height:50px;border:1px solid currentColor;border-radius:50% 50% 0 0;display:flex;align-items:center;justify-content:center;font-family:Georgia,serif;font-weight:400;font-size:20px;position:relative;letter-spacing:-.1em;padding-right:3px}.brand-mark span{position:absolute;top:0;font-size:12px;letter-spacing:0}.header nav{display:flex;gap:28px;font-size:.875rem}.header nav a:hover{border-bottom:1px solid}.button{border:1px solid var(--ink);border-radius:0;display:inline-flex;justify-content:space-between;align-items:center;gap:30px;background:var(--ink);color:#fff;padding:15px 23px;font-size:.875rem;font-weight:500;min-height:52px;transition:background .2s,transform .2s}.button:hover{background:#285b89;transform:translateY(-2px)}.button span{font-size:20px;line-height:1}.light{background:var(--cream);color:var(--ink);border-color:var(--cream)}.light:hover{background:white}.menu-toggle{display:none}.hero{height:min(780px,80vh);min-height:580px;position:relative;color:white;overflow:hidden}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 52%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,24,44,.74),rgba(10,25,46,.23) 70%),linear-gradient(0deg,rgba(8,24,44,.45),transparent 35%)}.hero-content{position:relative;z-index:1;padding:90px 6%;max-width:950px}.hero h1{font-size:clamp(4rem,6.5vw,6.8rem);margin-bottom:27px}.hero-content>p:not(.eyebrow){font-size:1.05rem;color:#f1f1e9;margin-bottom:30px}.hero .eyebrow{color:#eee6d4}.hero-bottom{position:absolute;bottom:26px;left:6%;right:6%;display:flex;justify-content:space-between;font-size:.75rem;letter-spacing:.1em}.hero-bottom a{font-size:.875rem;letter-spacing:0}.quick-book{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:32px 6%;background:var(--cream);border-bottom:1px solid var(--line)}.quick-book h2{font-size:1.65rem;margin:0}.quick-book .eyebrow{font-size:.625rem;margin-bottom:7px}.quick-facts{display:flex;gap:20px;font-size:.875rem}.quick-facts span+span{border-left:1px solid #c5cfdb;padding-left:20px}.intro{display:grid;grid-template-columns:1.2fr 1fr;gap:90px;padding-bottom:55px}.intro-copy p{color:#536579;margin-bottom:20px}.text-link{border:none;border-bottom:1px solid var(--ink);background:none;color:inherit;padding:0 0 6px;display:inline-flex;gap:28px;align-items:center;font-size:.875rem;font-weight:500}.text-link:hover{color:#9b682f}.section-title{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:40px}.section-title h2{margin:0}.section-title>.text-link{flex-shrink:0;margin-bottom:6px}.gallery{padding-top:45px}.photo-grid{display:grid;grid-template-columns:1.35fr 1fr;grid-template-rows:245px 245px;gap:18px}.photo{border:0;background:var(--deep);position:relative;overflow:hidden;text-align:left;padding:0;color:white}.photo.large{grid-row:span 2}.photo img{width:100%;height:100%;object-fit:cover;transition:transform .7s}.photo:hover img{transform:scale(1.045)}.photo:after{content:'';position:absolute;inset:40% 0 0;background:linear-gradient(transparent,#092442ac)}.photo>span{position:absolute;bottom:24px;left:28px;right:24px;z-index:1;font:1.9rem var(--serif)}.photo i{display:block;font:normal .625rem var(--sans);letter-spacing:.15em;margin-top:11px}.amenities{background:var(--cream);padding-top:80px;padding-bottom:80px}.amenities .section-title>p{font-size:.95rem;color:var(--muted)}.amenity-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:36px}.amenity-grid article{border-top:1px solid #bccbdd;padding-top:24px}.amenity-icon{font-size:2rem;display:block;margin-bottom:20px;height:45px}.amenity-grid p{font-size:.875rem;color:#52677d;margin-bottom:0}.view-section{position:relative;height:550px;display:flex;align-items:center;justify-content:center;text-align:center;color:white;overflow:hidden}.view-section>img{position:absolute;width:100%;height:100%;object-fit:cover}.view-overlay{position:absolute;inset:0;background:#0b222b66}.view-section>div:last-child{position:relative;padding:50px 6%}.view-section h2{font-size:clamp(3rem,5vw,5rem)}.view-section p:last-child{margin:0}.explore{display:grid;grid-template-columns:1fr 1fr;gap:100px}.explore>div>p:not(.eyebrow){color:#52677d;max-width:460px}.explore-list article{display:flex;gap:30px;padding:25px 0;border-bottom:1px solid var(--line)}.explore-list article:first-child{border-top:1px solid var(--line)}.explore-list article>span{font-family:var(--serif);font-size:1.7rem;color:#8b9daf}.explore-list h3{margin-bottom:10px}.explore-list p{font-size:.875rem;color:#52677d;margin-bottom:0}.booking{background:var(--ink);color:var(--cream);display:grid;grid-template-columns:1fr 1fr;gap:120px;align-items:start}.booking h2{font-size:clamp(3rem,5vw,4.9rem)}.booking-copy>p:not(.eyebrow){color:#cbd9e8;max-width:400px}.booking-note{border-top:1px solid #526f91;margin:35px 0 25px;padding-top:24px;max-width:440px}.booking-note h3{font-size:.875rem;margin-bottom:12px}.booking-note p{font-size:.875rem;color:#c7d6e7}.booking .text-link{border-color:#8098b3}.booking-card{background:white;color:var(--ink);padding:36px}.booking-card>.eyebrow{margin-bottom:10px}.booking-card>h3{font:2.5rem var(--serif);margin-bottom:25px}.date-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:20px}label{font-size:.875rem;display:block}input,select,textarea{width:100%;min-width:0;border:1px solid #bdcbdc;border-radius:0;color:var(--ink);background:white;padding:12px 10px;margin-top:8px;min-height:48px;font-size:1rem}input:focus,select:focus,textarea:focus{outline:2px solid #517fae;outline-offset:1px}.stay-summary{font-size:.875rem;min-height:24px;margin:8px 0 22px}.booking-card .button{width:100%}.small{font-size:.75rem;color:#617389;text-align:center;margin:15px 0 0}#inquiry-result{border-top:1px solid var(--line);padding-top:22px;margin-top:22px}#inquiry-result h4{margin-bottom:10px}#inquiry-result p{font-size:.875rem}#copy-inquiry{margin-top:20px}#inquiry-text{font-size:.875rem;resize:vertical}#copy-status{margin:8px 0}.faq{display:grid;grid-template-columns:1fr 1.15fr;gap:90px}.faq h2{font-size:3.3rem}.faq>div>p{color:#617389;font-size:.875rem}.faq a{text-decoration:underline;text-underline-offset:4px}details{border-bottom:1px solid var(--line);padding:20px 0}details:first-child{border-top:1px solid var(--line)}summary{cursor:pointer;font-size:.95rem;list-style:none;padding-right:30px;position:relative}summary::-webkit-details-marker{display:none}summary:after{content:'+';position:absolute;right:0;font-size:24px;top:-6px;font-weight:400}details[open] summary:after{content:'−'}details p{font-size:.875rem;color:#52677d;margin:18px 20px 0 0}footer{background:var(--cream);padding:48px 6% 24px}.footer-top,.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:25px}.footer-top{padding-bottom:35px}.footer-top>p{font:1.8rem var(--serif);margin:0}.footer-top>a:last-child{font-size:.875rem}.footer-bottom{border-top:1px solid var(--line);padding-top:20px;font-size:.75rem;color:#62758a}dialog{max-width:1000px;width:calc(100% - 40px);padding:20px;background:var(--deep);color:white;border:none}dialog::backdrop{background:#07182ce8}#full-photo{width:100%;height:65vh;object-fit:contain}.dialog-top,.dialog-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px}.dialog-top{padding-bottom:18px;font-size:.75rem;letter-spacing:.12em}.dialog-bottom{padding-top:18px}.dialog-bottom p{margin:0;text-align:center;font-size:.875rem}.dialog-top button,.dialog-bottom button{border:1px solid #8298b0;color:white;background:transparent;min-height:44px;padding:8px 16px}.skip{position:fixed;top:-100px;left:10px;background:white;padding:10px;z-index:100}.skip:focus{top:10px}
@media(max-width:1100px){.header{padding:0 4%;gap:18px}.header nav{gap:18px}.header-cta{padding:12px 16px}.brand{font-size:.8rem}.quick-book{flex-wrap:wrap}.quick-facts{order:3;width:100%}.intro,.explore,.faq{gap:50px}.booking{gap:50px}.section{padding-left:5%;padding-right:5%}.hero-content{padding-top:80px}.amenity-grid{gap:24px}.footer-top>p{display:none}}@media(max-width:760px){html{scroll-padding-top:0}.header{height:88px;flex-wrap:wrap;position:relative;z-index:10;padding:0 5%}.brand{font-size:.8rem}.brand-mark{width:38px;height:43px;font-size:17px}.brand small{font-size:.56rem}.header-cta{display:none}.menu-toggle{display:block;border:0;background:transparent;font-size:.875rem;color:var(--ink);padding:12px 0 12px 15px}.menu-toggle span{margin-left:12px}.header nav{display:none;position:absolute;top:88px;left:0;right:0;background:white;padding:22px 6% 30px;box-shadow:0 15px 20px #102d4c1a;font-size:1rem}.header nav.open{display:flex;flex-direction:column;gap:20px}.hero{height:640px;min-height:0;max-height:none}.hero-image{object-position:59% center}.hero-content{padding:85px 6% 80px}.hero h1{font-size:clamp(3.6rem,10.8vw,5rem)}.hero .eyebrow{font-size:.625rem;max-width:250px}.hero-content>p:not(.eyebrow){font-size:.95rem}.hero-shade{background:linear-gradient(90deg,#091d36ba,#091d3640),linear-gradient(0deg,#091d367a,transparent)}.hero-bottom{font-size:.625rem}.hero-bottom a{font-size:.75rem}.quick-book{padding:28px 6%;gap:20px}.quick-book h2{font-size:1.7rem}.quick-book .button{width:100%}.quick-facts{order:0;gap:10px;font-size:.75rem}.quick-facts span+span{padding-left:10px}.section{padding:64px 6%}.intro,.explore,.booking,.faq{grid-template-columns:1fr;gap:30px}.intro h2{font-size:2.7rem;margin:0}.intro-copy p{font-size:.95rem}.gallery{padding-top:10px}.section-title{align-items:flex-start;flex-direction:column;gap:22px}.section-title h2{font-size:2.7rem}.photo-grid{grid-template-columns:1fr 1fr;grid-template-rows:360px 230px;gap:12px}.photo.large{grid-row:auto;grid-column:span 2}.photo>span{font-size:1.4rem;left:18px;bottom:20px;right:12px}.photo.large>span{font-size:2rem}.photo i{font-size:.56rem}.amenity-grid{grid-template-columns:1fr 1fr;gap:24px}.amenities .section-title>p{display:none}.amenity-grid h3{font-size:1rem}.amenity-grid p{font-size:.875rem}.view-section{height:470px}.view-section h2{font-size:3rem}.view-section p:last-child{font-size:.875rem}.view-section p br{display:none}.explore-list article{gap:20px}.booking-card{padding:28px 22px}.booking h2{font-size:3.7rem}.booking-note{max-width:none}.booking-copy>p:not(.eyebrow){max-width:none}.date-row{gap:12px}input,select{padding:10px 6px;font-size:.9rem}.faq h2{font-size:2.8rem}.faq>div:first-child p{margin-bottom:0}.footer-top,.footer-bottom{flex-direction:column;align-items:flex-start;gap:20px}.footer-top{padding-bottom:25px}.footer-bottom{gap:10px}.eyebrow{margin-bottom:20px}dialog{width:calc(100% - 20px);padding:14px}#full-photo{height:58vh}.dialog-top{letter-spacing:.05em;font-size:.625rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
/* Mountain-blue and gold palette. */
:root{--ink:#183e65;--deep:#102a46;--accent:#d8b87c}.header{position:absolute;top:0;left:0;right:0;color:#fff;background:transparent;z-index:5;border-bottom:1px solid #ffffff25}.header-cta{background:#183e65e0;border-color:#cab77d88;border-radius:30px}.hero{height:790px;min-height:660px}.hero-content{padding-top:190px}.hero-shade{background:linear-gradient(90deg,#0b213bce,#102d4b4d 70%),linear-gradient(0deg,#102a46c7,transparent 40%,#102a4655)}.hero .light{background:#183e65e8;color:white;border:1px solid #ceb57880;border-radius:30px;padding:16px 26px}.hero .light:hover{background:#285b89}.quick-book{position:relative;z-index:2;margin:-34px 5% 0;padding:28px 34px;border:1px solid #c6b17b66;border-radius:12px;background:#183e65;color:var(--cream);box-shadow:0 16px 35px #102a4612}.quick-book .eyebrow{color:var(--accent)}.quick-book .button{background:var(--accent);color:var(--deep);border-color:var(--accent)}.quick-facts span+span{border-color:#819bb755}.intro .eyebrow,.gallery .eyebrow,.amenities .eyebrow,.explore .eyebrow,.faq .eyebrow{color:#88601e}.photo{border-radius:10px}.amenities{background:var(--deep);color:var(--cream)}.amenities .eyebrow{color:var(--accent)}.amenity-grid article{border-color:#819bb755}.amenity-grid p,.amenities .section-title>p{color:#c6d6e8}.amenity-icon{color:var(--accent)}.booking .eyebrow{color:var(--accent)}.booking-card{border-radius:10px}.booking-card .eyebrow{color:#88601e}footer{background:var(--deep);color:var(--cream)}.footer-bottom{color:#c0d0e3;border-color:#7596ba44}.view-overlay{background:#102a4666}
@media(max-width:1100px){.quick-book{padding:26px}.hero-content{padding-top:170px}}@media(max-width:760px){.header{position:absolute}.menu-toggle{color:white}.header nav{background:var(--deep);color:white}.hero{height:710px;min-height:0}.hero-content{padding-top:175px}.quick-book{margin:-20px 5% 0;padding:24px}.quick-book h2{font-size:1.6rem}.quick-facts{font-size:.75rem}.hero-bottom{bottom:42px}.booking .section-title{margin-bottom:20px}}
.brand small,.quick-book .eyebrow,.hero .eyebrow,.photo i,.dialog-top{font-size:.75rem}.hero-bottom,.quick-facts{font-size:.875rem}.quick-facts{flex-wrap:wrap}.booking-card input,.booking-card select{font-size:1rem}.hero{height:auto;min-height:790px}.hero-content{padding-bottom:115px}.skip:focus{z-index:100}.hero-bottom{bottom:53px}
@media(max-width:1000px){.header{height:88px}.header-cta{display:none}.menu-toggle{display:block;border:0;background:transparent;color:white;padding:12px;font-size:.875rem}.menu-toggle span{margin-left:12px}.header nav{display:none;position:absolute;top:88px;left:0;right:0;background:var(--deep);padding:24px 6%;color:white;font-size:1rem}.header nav.open{display:flex;flex-direction:column}.quick-facts{order:0}.quick-book{gap:20px}.hero{min-height:740px}}
@media(max-width:760px){.hero{min-height:710px}.hero-content{padding-bottom:115px}.hero-bottom{font-size:.75rem}.quick-facts{font-size:.875rem}.brand{font-size:.75rem}.brand small{font-size:.75rem;letter-spacing:.06em}.brand-mark{flex-shrink:0}.hero h1{font-size:clamp(3.1rem,10.8vw,5rem)}.photo-grid{grid-template-rows:350px 245px}.photo i{letter-spacing:.06em}.date-row{grid-template-columns:1fr}.booking-card{padding:28px 22px}.hero-bottom>span{max-width:50%}}

/* Compact hero; the text width stays independent of the page gutter. */
:root { --cream: #edf4fa; }
body { background: #edf4fa; }
.booking-card, input, select, textarea { background: #f3f8fc; }
.header { height: 108px; }
.header .brand-logo { width: 95px; height: 95px; }
.header nav { text-shadow: 0 1px 5px rgba(0, 0, 0, .85); }
@media (max-width: 1000px) { .header nav { top: 108px; } }
.brand-logo { width: 76px; height: 76px; object-fit: contain; flex-shrink: 0; }
.footer-top .brand-logo { width: 132px; height: 132px; }
.hero { height: auto; min-height: 540px; max-height: none; background: #0c2318; }
.hero-image { object-fit: contain; object-position: center; }
.hero-shade {
  pointer-events: none;
  background: radial-gradient(ellipse min(48vw, 780px) 150% at 50% 60%,
              transparent 65%, rgba(12, 35, 24, .4) 85%, rgba(12, 35, 24, .85) 100%);
}
.hero-content {
  width: min(88%, 760px);
  max-width: none;
  text-shadow: 0 2px 8px rgba(0, 0, 0, .8);
  margin-left: max(6%, calc((100% - 1320px) / 2));
  padding: 140px 0 88px;
}
.hero .eyebrow { margin-bottom: 12px; }
.hero h1 { font-size: clamp(2.8rem, 4.4vw, 4rem); line-height: 1.12; margin-bottom: 16px; }
.hero-content > p:not(.eyebrow) { font-size: 1rem; line-height: 1.55; margin-bottom: 20px; }
.hero .light { padding: 12px 23px; }
.hero-bottom { bottom: 24px; }
.quick-book { margin-top: 0; }
@media (max-width: 760px) {
  .hero { min-height: 0; padding-top: 108px; }
  .hero-image { position: relative; inset: auto; width: 100%; height: auto; }
  .hero-shade { top: 108px; bottom: auto; height: calc(100vw * 886 / 1776); background: radial-gradient(ellipse 48% 150% at 50% 60%, transparent 65%, rgba(12, 35, 24, .4) 85%, rgba(12, 35, 24, .85) 100%); }
  .hero-content { padding: 24px 0 72px; }
  .hero h1 { font-size: clamp(2.4rem, 9.5vw, 3rem); }
  .hero-image { object-fit: contain; object-position: center; }
  .hero .eyebrow { max-width: none; font-size: .75rem; letter-spacing: .12em; }
  .hero-bottom { font-size: .75rem; gap: 16px; }
}

/* The header scrolls away; align section content with a small top gutter. */
section.section[id] { scroll-margin-top: calc(24px - var(--anchor-inset, 100px)); }
.gallery { --anchor-inset: 45px; }
.amenities { --anchor-inset: 80px; }
@media (max-width: 760px) {
  .section { --anchor-inset: 64px; }
  .gallery { --anchor-inset: 10px; }
}

/* Additional guest photos and uncropped property layouts. */
.detail-photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 18px;margin-top:28px}
.detail-photo,.layout-card{padding:0;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff;color:var(--ink);text-align:left;min-width:0}
.detail-photo img{width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;background:var(--deep)}
.detail-photo>span,.layout-card>span{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;font-size:1rem;font-weight:500;line-height:1.4}
.detail-photo:hover,.layout-card:hover{border-color:var(--ink)}
.layout-jump{margin-top:28px}
.layouts{background:#f0f5fa}
.layouts .eyebrow{color:#88601e}
.layouts .section-title>p{color:var(--muted);margin:0;font-size:1rem}
.layout-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.layout-card img{width:100%;height:auto;aspect-ratio:2048/1448;object-fit:contain;background:#fff}
.layout-card>span{border-top:1px solid var(--line)}
#photo-dialog{max-width:1200px;max-height:94dvh;overflow:auto}
#full-photo{height: min(65vh,760px)}
.photo-original{text-align:center;padding-top:12px;font-size:.875rem}
.photo-original a{text-decoration:underline;text-underline-offset:4px;display:inline-flex;align-items:center;min-height:44px}
@media(max-width:760px){.detail-photo-grid{gap:20px;grid-template-columns:1fr}.layout-grid{grid-template-columns:1fr;gap:20px}.layouts .section-title h2{font-size:2.7rem}.dialog-bottom{gap:10px}.dialog-bottom button{flex-shrink:0}#full-photo{height:55dvh}}

.detail-photo>.photo-description{display:block;padding:0 20px 20px;font-size:1rem;font-weight:400;line-height:1.6;color:var(--muted)}

/* Guest review excerpts from the supplied Airbnb export. */
.intro-links{display:flex;flex-wrap:wrap;gap:20px 28px;align-items:center}
.reviews{background:#f0f5fa}
.reviews .eyebrow{color:#88601e}
.reviews .section-title{margin-bottom:20px}
.reviews-intro{color:var(--muted);margin-bottom:32px;font-size:1rem}
.review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.review-card{margin:0;padding:28px;background:#fff;border:1px solid var(--line);border-radius:10px;display:flex;flex-direction:column;min-width:0}
.review-rating{color:#88601e;font-size:1.125rem;letter-spacing:.16em;margin-bottom:18px}
.review-card blockquote{margin:0 0 24px;font-size:1rem;line-height:1.75}
.review-card blockquote p{margin:0}
.review-card figcaption{margin-top:auto;padding-top:18px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:4px}
.review-card figcaption strong{font-size:1rem;font-weight:600}
.review-card figcaption>span{font-size:.875rem;color:var(--muted)}
@media(max-width:1100px){.review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.review-grid{grid-template-columns:1fr;gap:18px}.review-card{padding:24px}.reviews .section-title h2{font-size:2.7rem}}

/* Bedroom and bathroom information, with scoped photo galleries. */
.sleep{background:#f0f5fa}
.sleep .eyebrow{color:#88601e}
.sleep-intro{max-width:820px;color:var(--muted);font-size:1rem;margin-bottom:32px}
.sleep-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.sleep-card{background:white;border:1px solid var(--line);border-radius:10px;overflow:hidden;min-width:0}
.sleep-photo{display:block;width:100%;border:0;padding:0;background:var(--deep);color:white;text-align:left}
.sleep-photo img{width:100%;height:auto;aspect-ratio:16/10;object-fit:contain}
.sleep-photo>span{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;font-size:.875rem}
.sleep-photo:focus-visible{outline-offset:-4px}
.sleep-photo:hover>span{background:var(--ink)}
.sleep-copy{padding:24px}
.sleep-copy h3{font-size:1.2rem;margin-bottom:10px}
.sleep-copy p{font-size:1rem;color:var(--muted);margin-bottom:0}
.sleep-copy .sleep-facts{font-size:.875rem;font-weight:600;color:var(--ink);margin-bottom:14px}
.bath-heading{margin:42px 0 24px}
.bath-heading h3{font-family:var(--serif);font-size:2.25rem;font-weight:400;margin-bottom:10px}
.bath-heading p{color:var(--muted);margin:0;font-size:1rem}
.bath-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
#welcome-book{scroll-margin-top:24px}
@media(max-width:1000px){.bath-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.sleep-grid,.bath-grid{grid-template-columns:1fr}.sleep .section-title h2{font-size:2.7rem}.sleep-copy{padding:22px}}

.welcome-book-actions{display:flex;flex-wrap:wrap;gap:20px;align-items:center;margin-top:20px}.faq .welcome-book-actions a{text-decoration:none}

/* Keep the guest guide visible near the top of the page. */
.welcome-book-section{display:flex;justify-content:space-between;align-items:center;gap:32px;margin:36px 6% 0;padding:28px 32px;border:1px solid var(--line);border-left:4px solid var(--ink);border-radius:10px;background:#f0f5fa}
.welcome-book-section .eyebrow{margin-bottom:8px;color:#88601e}
.welcome-book-section h2{font-size:2.5rem;margin-bottom:10px}
.welcome-book-section p:last-child{margin:0;color:var(--muted);font-size:1rem}
.welcome-book-section .welcome-book-actions{margin:0;flex-direction:column;align-items:flex-start;flex-shrink:0;gap:14px}
.welcome-book-section .button{min-width:260px}
@media(max-width:900px){.welcome-book-section{flex-direction:column;align-items:flex-start;padding:24px}.welcome-book-section .welcome-book-actions{width:100%;align-items:stretch}.welcome-book-section .button{min-width:0}.welcome-book-section .text-link{align-self:flex-start}}

/* Complete, readable supporting descriptions for gallery images. */
.photo i{font-size:.875rem;line-height:1.45;letter-spacing:0;max-width:34ch}
.layout-card>.photo-description{display:block;border-top:0;padding:0 20px 20px;font-size:1rem;font-weight:400;line-height:1.6;color:var(--muted)}

/* Browse by space, with readable captions and wrapping category controls. */
[hidden]{display:none!important}
.section-intro{max-width:800px;color:var(--muted);margin-bottom:24px;font-size:1rem}
.filter-buttons{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0 18px}
.filter-buttons button{min-height:46px;border:1px solid #9caec0;border-radius:24px;padding:10px 17px;background:#fff;color:var(--ink);font-size:.875rem}
.filter-buttons button[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:white}
.filter-buttons button span{margin-left:8px;opacity:.8}
.result-count{font-size:.875rem;color:var(--muted);margin:0 0 22px}
.categorized-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:start}
.categorized-photo{width:100%}.categorized-photo img{aspect-ratio:3/2}
.amenity-highlights{display:flex;flex-wrap:wrap;gap:10px;margin:28px 0}
.amenity-highlights span{padding:10px 16px;background:#dce8f3;border-radius:6px;font-size:.9375rem;color:var(--ink)}
.amenity-categories{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 36px;align-items:start}
.amenity-category{padding:20px 0;border-top:1px solid var(--line)}
.amenity-category summary{font-size:1rem;font-weight:600}
.amenity-category summary span{font-size:.875rem;color:var(--muted);margin-left:8px}
.amenity-category ul{margin:18px 0 4px;padding-left:22px;color:#445d75;font-size:1rem;line-height:1.65}
.amenity-category li+li{margin-top:8px}
.amenity-note{margin:30px 0 16px;color:var(--muted);max-width:950px}
.source-note{font-size:.875rem;color:var(--muted);margin:18px 0 0}.source-note a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:1100px){.categorized-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.categorized-photo-grid,.amenity-categories{grid-template-columns:1fr}.filter-buttons{gap:8px}.filter-buttons button{padding:10px 14px}.amenity-categories{gap:0}.amenity-highlights span{font-size:.875rem}}

/* Area map and destination guide. */
.area-guide{background:#f0f5fa}.area-map-shell{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:white}
#area-map{height:480px;min-height:360px;z-index:0;background:#e2eaf0;font-family:var(--sans)}
.map-placeholder{padding:30px;color:var(--muted)}
.map-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 22px;font-size:.875rem;flex-wrap:wrap}
.map-toolbar>span{display:flex;gap:10px;align-items:center}.area-swatch{width:22px;height:22px;border:2px dashed var(--ink);background:#dce8f3;border-radius:50%;flex-shrink:0}
.map-number,.destination-number{display:flex!important;align-items:center;justify-content:center;border-radius:50%;background:#183e65;color:#fff;font-size:14px;font-weight:700;border:2px solid white;box-shadow:0 1px 5px #183e6555}
.map-number.groceries,.destination-number.groceries{background:#9b5527}.map-number.medical,.destination-number.medical{background:#a83f4c}.map-number.pharmacies,.destination-number.pharmacies{background:#7056a6}.map-number.veterinary,.destination-number.veterinary{background:#39643d}.map-number.charging,.destination-number.charging{background:#286d83}.map-number.visitor,.destination-number.visitor{background:#8a5a25}
.map-number:focus-visible{outline:3px solid #102a46;outline-offset:3px}
.destination-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:30px;align-items:start}
.destination-card{border:1px solid var(--line);border-radius:10px;background:white;padding:24px;min-width:0}
.destination-heading{display:flex;gap:12px;align-items:flex-start}.destination-number{width:32px;height:32px;flex-shrink:0}
.destination-card h3{font-size:1.15rem;margin:0}.destination-card p{font-size:1rem;color:var(--muted);margin:14px 0}
.destination-card .destination-category{margin:0 0 7px;font-size:.875rem}.destination-card .destination-distance{font-size:.875rem;color:var(--ink);font-weight:600}
.destination-card .destination-address{font-size:.875rem}.destination-actions{display:flex;flex-wrap:wrap;gap:10px 20px;margin-top:20px;align-items:center}
.destination-actions a,.destination-actions button{font-size:.875rem;min-height:44px;display:inline-flex;align-items:center;text-decoration:underline;text-underline-offset:4px}.destination-actions button{border:0;padding:0}
.outing-note{border-top:1px solid var(--line);margin-top:34px;padding-top:28px}.outing-note h3{font-size:1.2rem}.outing-note p{max-width:1050px;color:var(--muted)}.outing-note a{text-decoration:underline;text-underline-offset:3px}
#area-map .leaflet-popup-content{font-size:.9375rem;line-height:1.6;min-width:180px}#area-map .leaflet-popup-content p{margin:12px 0}#area-map .leaflet-popup-content a{color:#183e65;text-decoration:underline}
#area-map .leaflet-control-attribution{font-size:12px}#area-map .leaflet-control-zoom a{width:40px;height:40px;line-height:40px}
@media(max-width:1100px){.destination-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){#area-map{height:380px}.destination-grid{grid-template-columns:1fr}.map-toolbar{padding:16px}.destination-card{padding:22px}.area-guide .section-title h2{font-size:2.7rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.photo img,.button{transition:none}}
html{scroll-padding-top:24px}

:root {
  --ldg-bnb-background: #ffffff;
  --ldg-bnb-border-radius: 0.42em;
  --ldg-bnb-box-shadow: 0px 24px 54px 0px rgba(0, 0, 0, 0.1);
  --ldg-bnb-padding: 14px;
  --ldg-bnb-input-background: #ffffff;
  --ldg-bnb-button-border-radius: 3.58em;
  --ldg-bnb-color-primary: #fac600;
  --ldg-bnb-color-primary-lighter: #fde380;
  --ldg-bnb-color-primary-darker: #7d6300;
  --ldg-bnb-color-primary-contrast: #333333;
  --ldg-component-calendar-cell-selection-bg-color: #fac600;
  --ldg-component-calendar-cell-selection-color: #333333;
  --ldg-component-calendar-cell-selected-bg-color: #fde380;
  --ldg-component-calendar-cell-selected-color: #333333;
  --ldg-bnb-font-family: inherit;
}
.booking-widget { min-width: 0; width: 100%; }
#lodgify-book-now-box { width: 100%; }
.booking-widget-logo { width: 86px; height: 86px; object-fit: contain; margin: 0 auto 18px; }
.booking-widget noscript { display: block; padding: 20px; background: white; color: var(--ink); }
.booking-widget noscript a { text-decoration: underline; }

:root {
  --ldg-psb-background: #ffffff;
  --ldg-psb-border-radius: 0.42em;
  --ldg-psb-box-shadow: 0px 24px 54px 0px rgba(0, 0, 0, 0.1);
  --ldg-psb-padding: 14px;
  --ldg-psb-input-background: #ffffff;
  --ldg-psb-button-border-radius: 3.58em;
  --ldg-psb-color-primary: #fac600;
  --ldg-psb-color-primary-lighter: #fde380;
  --ldg-psb-color-primary-darker: #7d6300;
  --ldg-psb-color-primary-contrast: #333333;
  --ldg-semantic-color-primary: #fac600;
  --ldg-semantic-color-primary-lighter: #fde380;
  --ldg-semantic-color-primary-darker: #7d6300;
  --ldg-semantic-color-primary-contrast: #333333;
  --ldg-component-modal-z-index: 999;
}
.hero { min-height: 650px; }
.hero-content { width: 88%; padding-bottom: 100px; }
.hero h1, .hero-content > p { max-width: 760px; }
.hero-actions { display: grid; grid-template-columns: max-content minmax(0, 520px); justify-content: space-between; align-items: start; gap: 28px; }
.hero-search { position: relative; z-index: 2; min-width: 0; text-shadow: none; }
#lodgify-search-bar { min-width: 0; width: 100%; color: #333333; }
#lodgify-search-bar #portable-search-bar { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; width: 100%; }
#lodgify-search-bar #portable-search-bar > div:first-child { display: none; }
#lodgify-search-bar #portable-search-bar > button:first-of-type { grid-column: 1 / -1; width: 100%; min-width: 0; }
#lodgify-search-bar #portable-search-bar > button[data-testid="guests-breakdown-trigger"],
#lodgify-search-bar #portable-search-bar > a[data-testid="button"] { width: 100%; min-width: 0; }
.hero-search noscript { display: block; padding: 12px; background: #f3f8fc; color: var(--ink); }
.hero-search noscript a { text-decoration: underline; }
.mobile-book-link { display: none; }
/* Photo coordinates from the owner's marked reference. The scene keeps the
   image's native aspect ratio; all three controls share that coordinate frame. */
.header { border-bottom: 0; }
.hero { height: auto; min-height: 0; padding: 0; overflow: visible; }
.hero-scene {
  position: relative;
  width: min(100%, 1302.935px);
  aspect-ratio: 1776 / 886;
  margin-inline: auto;
}
.hero-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; }
.hero-shade { inset: 0; height: 100%; }
.hero-scene .header { inset: 0; width: 100%; height: 100%; padding: 0; pointer-events: none; }
.hero-scene .header > * { pointer-events: auto; }
.hero-scene .header .brand { position: absolute; left: 2.8%; top: 1%; }
.hero-scene .header .brand-logo { width: clamp(48px, 7vw, 95px); height: auto; }
.hero-scene .header nav { position: absolute; left: 26%; top: 6.5%; gap: 28px; }
.hero-scene .header-cta {
  position: absolute; right: 7%; top: 22%; z-index: 4;
  display: inline-flex; width: max(90px, 12%); height: auto; min-height: 36px;
  padding: 4px 16px; gap: 8px; font-size: .875rem;
  background: #fac600; border-color: #fac600; color: #333333;
  border-radius: 30px;
}
.hero-scene .header-cta:hover { background: #fde380; border-color: #fde380; transform: none; }
.hero-content {
  position: absolute; top: 21.5%; left: max(6%, calc((100% - 1211.73px) / 2));
  width: min(54%, 710px); margin: 0; padding: 0; pointer-events: none;
}
.hero-content a { pointer-events: auto; }
.hero-actions { display: block; }
.hero-scene > .hero-search {
  position: absolute; right: 4%; top: 76%; z-index: 6;
  width: 24.5%; transform: none;
}
.hero-scene #lodgify-search-bar #portable-search-bar {
  display: grid; grid-template-columns: minmax(0, 1.8fr) minmax(0, 1fr) minmax(0, .9fr);
  gap: 5px; width: 100%; max-width: none; margin: 0; padding: 5px;
}
.hero-scene #lodgify-search-bar #portable-search-bar > button:first-of-type { grid-column: 1; min-height: 36px; height: auto; }
.hero-scene #portable-search-bar > button:first-of-type > .left,
.hero-scene #portable-search-bar > button:first-of-type > .right { flex: 1 1 0; min-width: 0; min-height: 36px; height: auto; padding: 2px 3px; }
.hero-scene #portable-search-bar > button:first-of-type label { font-size: 12px; line-height: 1.1; white-space: nowrap; }
.hero-scene #portable-search-bar > button[data-testid="guests-breakdown-trigger"],
.hero-scene #portable-search-bar > a[data-testid="button"] { min-height: 36px; height: auto; padding: 2px 4px; font-size: 12px; }
.hero-scene #portable-search-bar > button[data-testid="guests-breakdown-trigger"] label,
.hero-scene #portable-search-bar > button[data-testid="guests-breakdown-trigger"] span { font-size: 12px; line-height: 1.1; }
.hero-scene #portable-search-bar > button[data-testid="guests-breakdown-trigger"] label { top: 2px; }
.hero-scene #portable-search-bar > button[data-testid="guests-breakdown-trigger"] .value-wrapper { margin-top: 12px; }
.hero-scene #portable-search-bar > button[data-testid="guests-breakdown-trigger"] svg,
.hero-scene #portable-search-bar > a[data-testid="button"] svg { width: 12px; height: 12px; }
.hero-search-toggle { display: none; }
.hero-scene .hero-bottom { bottom: 3.5%; left: 3.5%; right: 3.5%; }
@media (max-width: 1000px) {
  .hero-scene .header .menu-toggle { position: absolute; top: 0; right: 3.5%; }
  .hero-scene .header nav { top: 60px; left: 3.5%; right: 3.5%; gap: 16px; }
  .mobile-book-link { display: block; }
  .hero-content { position: relative; top: auto; left: auto; width: 88%; margin: 0 auto; padding: 24px 0 32px; }
  .hero h1 { font-size: clamp(2.4rem, 6vw, 3.5rem); }
  .hero-scene .hero-bottom { display: none; }
  .hero-search-toggle {
    display: block; position: absolute; right: 4%; top: 76%; z-index: 4;
    width: max(104px, 24.5%); min-height: 44px; padding: 8px;
    border: 1px solid #fac600; border-radius: 24px; background: #fac600;
    color: #333333; font-size: .875rem; font-weight: 500; text-align: center;
  }
  .hero-scene .header-cta { min-height: 44px; padding: 6px 10px; }
  .hero-scene .header-cta span { display: none; }
  /* Small screens use the full booking form reached by Search dates. */
  .hero-scene > .hero-search { display: none; }
}

/* Entry point to the dedicated local recommendations guide. */
.best-of-callout{display:grid;grid-template-columns:1.2fr 1fr;background:#183e65;color:white;max-width:1320px;margin:60px auto;overflow:hidden;border-radius:8px}
.best-of-callout>div{padding:42px 48px}.best-of-callout .eyebrow{color:#e6cfa4;margin-bottom:16px}.best-of-callout h2{font-size:clamp(2.2rem,3.5vw,3.5rem);margin-bottom:20px}.best-of-callout p:not(.eyebrow){color:#d8e5f1;max-width:560px;font-size:1rem;margin-bottom:24px}.best-of-callout .button{background:#e6cfa4;color:#102a46;border-color:#e6cfa4;border-radius:4px}.best-of-callout>img{width:100%;height:100%;object-fit:cover;min-height:300px}
@media(max-width:1400px){.best-of-callout{margin:50px 6%}}
@media(max-width:800px){.best-of-callout{grid-template-columns:1fr}.best-of-callout>div{padding:30px 26px}.best-of-callout>img{height:220px;min-height:0}.best-of-callout .button{gap:14px}}

/* Keep the landing-page headline and navigation legible over the photograph. */
.hero h1{text-shadow:0 2px 4px rgba(0,0,0,.8),0 5px 16px rgba(0,0,0,.55)}
.hero-scene .header nav>a{text-shadow:0 1px 3px rgba(0,0,0,.95),0 2px 8px rgba(0,0,0,.8)}

.delivery-services .delivery-links{display:flex;flex-wrap:wrap;gap:8px 18px;margin:14px 0 0}.delivery-services .delivery-links .text-link{white-space:nowrap}

/* Compact pathways to feature-specific property pages. */
.stay-fit{background:#f0f5fa}.stay-fit .section-title>p{max-width:520px;color:var(--muted)}
.stay-fit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:32px}
.stay-fit-grid a{display:flex;flex-direction:column;min-height:190px;padding:28px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);text-decoration:none;box-shadow:0 8px 24px rgba(24,62,101,.05)}
.stay-fit-grid strong{font-family:var(--serif);font-size:1.45rem;font-weight:400}.stay-fit-grid span{margin:10px 0 20px;color:var(--muted);font-size:1rem}.stay-fit-grid em{margin-top:auto;color:#8a6513;font-style:normal;font-weight:650;text-decoration:underline;text-underline-offset:4px}
.stay-fit-grid a:hover{border-color:#8da6bb;transform:translateY(-2px)}
@media(max-width:760px){.stay-fit-grid{grid-template-columns:1fr}.stay-fit-grid a{min-height:0;padding:24px}}

/* Phase 1/2: semantic headings and deliberate internal navigation. */
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.intro.section{position:relative}
#stay{position:absolute;top:0;left:0}
.site-section-links{display:flex;flex-wrap:wrap;gap:12px 24px;padding:24px 6%;background:var(--cream);color:var(--ink);font-size:1rem;border-block:1px solid var(--line)}
.site-section-links a,.section-links a{ text-decoration:underline;text-underline-offset:4px }
.site-section-links a{padding:6px 0;min-height:36px}
footer .site-section-links{background:transparent;color:inherit;border-color:#7596ba44;padding:20px 0}
.section-links{font-size:1rem;line-height:1.65}
.section-links-panel{margin:0;padding:24px 6%;background:var(--cream);color:var(--ink)}
.intro-links{flex-wrap:wrap}

/* Only the stabilized flame crop moves. The photograph always remains the scene. */
.hero-video {
  position: absolute;
  inset: auto;
  left: 47.072072%;
  top: 71.557562%;
  width: 7.207207%;
  height: 11.738149%;
  object-fit: fill;
  object-position: center;
  -webkit-mask-image: radial-gradient(ellipse at center, #000 68%, transparent 98%);
  mask-image: radial-gradient(ellipse at center, #000 68%, transparent 98%);
  opacity: 0;
  pointer-events: none;
  transition: opacity 240ms ease;
}
.hero-video.is-playing { opacity: 1; }
@media (prefers-reduced-motion: reduce) {
  .hero-video { display: none; transition: none; }
}

/* Featured guest review between the booking action and date search. */
.hero-scene .hero-review{position:absolute;top:35%;right:4%;z-index:5;display:flex;flex-direction:column;gap:8px;width:28%;padding:clamp(12px,1.15vw,16px);border:1px solid #ffffff55;border-radius:10px;background:rgba(16,42,70,.91);box-shadow:0 12px 28px #07182744;color:#fff;text-decoration:none;text-shadow:none;font-size:clamp(11px,.9vw,13px);line-height:1.38;transition:background-color .18s ease,border-color .18s ease}
.hero-scene .hero-review:hover{background:rgba(16,42,70,.97);border-color:#fac600}
.hero-scene .hero-review:focus-visible{outline:3px solid #fac600;outline-offset:3px}
.hero-review-stars{color:#f3cf78;letter-spacing:.12em;line-height:1}
.hero-review blockquote{margin:0;font-size:inherit;line-height:inherit}
.hero-review-meta{color:#e1e9f0;font-size:.92em}
.hero-review-link{color:#f3cf78;font-weight:600}
.hero-review-link span{padding-left:4px}
@media(max-width:760px){.hero-scene .hero-review{top:32%;left:4%;right:auto;width:49%;gap:4px;padding:7px;font-size:clamp(8px,2.2vw,10px);line-height:1.22}.hero-review-meta,.hero-review-link{font-size:.9em}}
