@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;1,500;1,600&display=swap');
:root{--ink:#27342f;--muted:#748078;--green:#24473b;--green-deep:#1d3d32;--sage:#e8eee6;--line:#dce4dc;--paper:#fafaf7;--white:#fff;--gold:#d7a96b;--soft:#f1f4ef;--shadow:0 18px 48px #233a3014;--sans:'DM Sans',Arial,sans-serif;--serif:'Playfair Display',Georgia,serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}.topbar{height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(24px,6vw,96px);border-bottom:1px solid #e8ece7;background:#fafaf7f2}.brand{display:flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none}.brand-mark{width:39px;height:39px;border-radius:13px;background:var(--green);color:#f5eddc;display:grid;place-items:center;font:600 21px var(--serif)}.brand strong,.brand small{display:block}.brand strong{font-size:15px;letter-spacing:.015em}.brand small{font-size:11px;color:var(--muted);margin-top:3px}.topbar nav{display:flex;gap:36px;margin-left:auto;margin-right:42px}.topbar nav a{color:#67756d;text-decoration:none;font-size:13px}.topbar nav a:hover{color:var(--green)}.top-cta{color:var(--green);border:1px solid #ccd7cd;border-radius:7px;text-decoration:none;padding:11px 16px;font-size:13px;font-weight:700}.top-cta span{margin-left:12px}.intro{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(35px,7vw,110px);align-items:center;max-width:1440px;margin:0 auto;padding:70px clamp(24px,6vw,96px) 76px}.intro-copy{padding:20px 0}.eyebrow{margin:0 0 18px;color:#7c897e;font-size:11px;letter-spacing:.16em;font-weight:700;text-transform:uppercase;display:flex;align-items:center;gap:9px}.eyebrow-line{width:23px;height:1px;background:var(--gold)}h1,h2,h3,p{margin-top:0}h1{font:500 clamp(54px,6vw,88px)/.98 var(--serif);letter-spacing:-.055em;margin:0 0 25px;color:#26362e}h1 em{color:#758675;font-weight:500}.lead{max-width:455px;color:#6d7971;font-size:16px;line-height:1.8;margin-bottom:30px}.intro-actions{display:flex;align-items:center;gap:22px}.button{min-height:49px;border:0;border-radius:6px;padding:0 20px;display:inline-flex;align-items:center;justify-content:center;gap:30px;font:600 13px var(--sans);cursor:pointer;text-decoration:none;transition:background .2s,transform .2s,color .2s}.button-dark{background:var(--green);color:white}.button-dark:hover:not(:disabled){background:var(--green-deep);transform:translateY(-1px)}.button:disabled{opacity:.5;cursor:not-allowed}.micro-note{font-size:11px;color:#818b83}.tiny-spark{color:#c79a5f;font-size:17px;vertical-align:-2px;margin-right:4px}.trust-row{margin-top:48px;display:flex;align-items:center;gap:13px;color:#818b83;font-size:10px;letter-spacing:.02em}.trust-row b{color:#33473b;font-size:11px;margin-right:4px}.trust-row i{width:22px;height:1px;background:#d9dfd8}.hero-art{height:440px;position:relative;isolation:isolate}.photo-main{position:absolute;inset:0 8% 10% 0;overflow:hidden;border-radius:5px 95px 5px 5px;background:#dce4da}.photo-main img,.photo-small img{width:100%;height:100%;object-fit:cover;display:block}.photo-main:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#14251d58,transparent 45%)}.photo-label{position:absolute;z-index:1;bottom:20px;left:22px;color:white;font-size:11px;letter-spacing:.06em}.photo-label-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#e9c894;margin-right:8px}.photo-small{position:absolute;width:28%;height:39%;right:0;bottom:1%;padding:8px;background:var(--paper);box-shadow:0 10px 30px #18241b24;border-radius:3px}.photo-small img{border-radius:2px}.art-stamp{position:absolute;z-index:2;top:21px;right:-8px;width:105px;height:105px;background:#f4eddf;border:1px solid #e3d6c1;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#718075;transform:rotate(8deg)}.art-stamp span{font-size:7px;letter-spacing:.17em}.art-stamp strong{font:500 25px var(--serif);color:var(--green);margin:0 0 1px}.art-stamp i{position:absolute;right:13px;bottom:12px;color:#c89c61;font-size:12px;font-style:normal}.image-caption{position:absolute;right:33%;bottom:0;color:#59675e;font:italic 13px var(--serif)}.image-caption span{color:#89948a}.booking-layout{max-width:1280px;margin:0 auto;padding:45px clamp(24px,5vw,72px) 54px;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.7fr);gap:clamp(35px,7vw,105px);background:#f1f3ed;border-top:1px solid #e5e9e2;border-bottom:1px solid #e5e9e2}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:23px}.section-heading .eyebrow{margin-bottom:8px}.section-heading h2,.home-story h2{font:500 37px/1.08 var(--serif);letter-spacing:-.035em;margin:0}.step-chip{background:#fff;border:1px solid #dfe5de;border-radius:99px;padding:7px 11px 7px 7px;font-size:10px;color:#748078;display:flex;gap:7px;align-items:center}.step-chip span{width:22px;height:22px;border-radius:50%;background:#ebf0ea;color:var(--green);font-size:10px;font-weight:700;display:grid;place-items:center}.date-fields{display:grid;grid-template-columns:1fr 20px 1fr .8fr;align-items:end;gap:11px;margin-bottom:20px}.date-fields>label{font-size:10px;text-transform:uppercase;letter-spacing:.09em;font-weight:700;color:#778279}.date-input,.guest-select{height:45px;margin-top:7px;display:flex;align-items:center;gap:9px;padding:0 11px;background:white;border:1px solid #d9e0d8;border-radius:5px;color:#758278}.date-input input,.guest-select select{width:100%;border:0;background:none;outline:0;color:#33443a;font:500 12px var(--sans);min-width:0}.date-input>span,.guest-select>span:first-child{color:#829081}.date-divider{color:#a3aca4;font-size:14px;padding-bottom:15px;text-align:center}.clear-button{border:0;background:transparent;color:#9aa49a;font-size:18px;cursor:pointer;padding:2px;line-height:1}.clear-button:hover{color:var(--green)}.guest-select select{appearance:none;cursor:pointer}.guest-select>span:last-child{font-size:13px}.calendar-card{background:white;border:1px solid #dce3dc;border-radius:8px;padding:19px 21px 15px;box-shadow:0 3px 12px #243d3210}.calendar-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.calendar-kicker{display:block;font-size:9px;color:#919a91;text-transform:uppercase;letter-spacing:.1em;margin-bottom:4px}.calendar-head strong{font:500 20px var(--serif);color:#34463a}.calendar-controls{display:flex;gap:5px}.calendar-controls button{width:30px;height:30px;border:1px solid #e1e6e0;background:white;border-radius:50%;font:19px var(--sans);color:#506756;cursor:pointer}.calendar-controls button:hover{background:#ebf0e9}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.weekday{text-align:center;color:#89938a;font-size:9px;font-weight:700;padding:7px 0}.day{height:39px;border:0;padding:0;background:transparent;border-radius:5px;position:relative;display:grid;place-items:center;color:#536057;font-size:11px;cursor:pointer;transition:background .15s,color .15s}.day.other-month{color:#b7c0b7}.day.unavailable{color:#c2c8c1;cursor:not-allowed;text-decoration:line-through}.day.unavailable:after{content:"";position:absolute;left:23%;right:23%;top:50%;height:1px;background:#cbd1ca;transform:rotate(-35deg)}.day.available:hover{background:#edf2eb;color:#294a3c}.day.selected,.day.in-range{background:#dfeade;color:#264b3a}.day.checkin,.day.checkout{background:var(--green);color:white;font-weight:700}.day.today:not(.checkin):not(.checkout){box-shadow:inset 0 0 0 1.5px #c38f50;font-weight:700}.calendar-legend{display:flex;align-items:center;gap:17px;margin-top:13px;color:#7e8980;font-size:9px}.calendar-legend span{display:flex;align-items:center;gap:6px}.legend-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.legend-dot.available{background:#dfeade}.legend-dot.selected{background:#55745f}.legend-dot.unavailable{background:#cbd1ca}.calendar-legend small{margin-left:auto;color:#a0a8a0;font-size:9px}.availability-note{display:flex;align-items:center;gap:8px;margin-top:12px;color:#879187;font-size:10px}.info-mark{border:1px solid #b8c3b8;border-radius:50%;width:15px;height:15px;text-align:center;line-height:13px;font-size:9px}.quote-card{align-self:start;margin-top:25px;background:#fff;border:1px solid #dce3dc;border-radius:8px;padding:24px 24px 18px;box-shadow:var(--shadow);position:relative;overflow:hidden}.quote-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#456c58,#c49a61)}.quote-top{display:flex;justify-content:space-between;align-items:center}.quote-kicker{font-size:9px;letter-spacing:.11em;text-transform:uppercase;color:#758178;font-weight:700}.quote-dot{width:7px;height:7px;border-radius:50%;background:#b4c7b2;display:inline-block;margin-right:5px}.quote-status{font-size:9px;color:#88938a}.quote-card h3{font:500 30px/1.08 var(--serif);letter-spacing:-.03em;margin:23px 0 8px;color:#314239}.quote-sub{font-size:11px;line-height:1.6;color:#879187;margin-bottom:20px}.quote-lines{border-top:1px solid #e7ebe6}.quote-lines>div{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid #eef0ed;font-size:11px;color:#78837a}.quote-lines b{font-size:12px;color:#384b3f}.quote-lines .quote-total{padding:13px 0 4px;border-bottom:0;color:#34443a;font-weight:700}.quote-total b{font-size:20px;color:#2d4939}.quote-button{width:100%;margin:14px 0 0;justify-content:space-between;padding:0 16px}.quote-disclaimer{font-size:9px;line-height:1.5;color:#9aa29b;margin:10px 0 0}.quote-foot{border-top:1px solid #ecefea;margin-top:15px;padding-top:14px;color:#8b968c;font-size:9px}.quote-foot span{color:#c19b65;margin-right:5px}.home-story{max-width:1120px;margin:0 auto;padding:76px 32px 72px;display:grid;grid-template-columns:.8fr 1fr .7fr;gap:clamp(30px,6vw,90px);align-items:center}.home-story .eyebrow{margin-bottom:12px}.home-story h2{font-size:38px}.story-body{font:14px/1.9 var(--serif);color:#758078;margin:0}.story-note{position:relative;background:#f1f1e9;border-radius:4px;padding:19px 22px}.story-note>span{color:#7a897a;font-size:8px;font-weight:700;letter-spacing:.15em}.story-note p{font:12px/1.65 var(--serif);color:#68756c;margin:9px 0 0}.story-note i{position:absolute;right:13px;top:12px;color:#c49a61;font-style:normal}.bottom-note{border-top:1px solid #e7ebe5;min-height:58px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(24px,6vw,96px);color:#859087;font-size:10px}.bottom-note>span:first-child{font-weight:700;color:#5f7064;letter-spacing:.04em}.prototype-badge{font-size:8px!important;letter-spacing:.12em;color:#7b8c7e;border:1px solid #d9e2d8;border-radius:99px;padding:6px 9px}.request-dialog{width:min(480px,calc(100vw - 32px));border:1px solid #dce3dc;border-radius:10px;padding:30px;color:var(--ink);box-shadow:0 24px 80px #10251c40}.request-dialog::backdrop{background:#1829208c;backdrop-filter:blur(3px)}.dialog-close-form{position:absolute;right:14px;top:14px}.dialog-close{width:30px;height:30px;border:0;background:#f0f3ee;border-radius:50%;font-size:20px;color:#69776c;cursor:pointer}.request-dialog .eyebrow{margin:5px 0 8px}.request-dialog h2{font:500 32px var(--serif);margin:0 0 8px}.dialog-copy{color:#79857c;font-size:12px;line-height:1.7;margin-bottom:19px}.dialog-summary{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;padding:14px;background:#f3f5f0;border-radius:6px}.dialog-summary span,.dialog-summary strong{display:block}.dialog-summary span{font-size:9px;color:#929c92;margin-bottom:5px}.dialog-summary strong{font-size:11px;color:#34473a}.payment-label{display:block;font-size:10px;font-weight:700;color:#617063;margin:19px 0 9px}.payment-options{display:grid;gap:8px}.payment-options>label{position:relative;display:flex;align-items:center;gap:11px;border:1px solid #e1e6df;border-radius:6px;padding:11px;cursor:pointer}.payment-options input{position:absolute;opacity:0}.payment-options>label:has(input:checked){border-color:#76917d;background:#f6f8f4}.payment-icon{width:27px;height:27px;border-radius:6px;background:#e9eee7;display:grid;place-items:center;color:var(--green);font-size:14px;font-weight:700}.payment-options b,.payment-options small{display:block}.payment-options b{font-size:11px;color:#445348}.payment-options small{font-size:9px;color:#919a91;margin-top:3px}.payment-options i{margin-left:auto;width:15px;height:15px;border:1px solid #cbd4ca;border-radius:50%}.payment-options input:checked+span+span+i{box-shadow:inset 0 0 0 4px white;background:var(--green);border-color:var(--green)}.dialog-submit{width:100%;justify-content:space-between;margin-top:17px;padding:0 16px}.dialog-footnote{font-size:9px;text-align:center;color:#98a198;margin:10px 0 0}
@media(max-width:920px){.intro{grid-template-columns:1fr 1fr;gap:30px;padding-top:45px;padding-bottom:48px}.hero-art{height:370px}.booking-layout{grid-template-columns:1fr .75fr;gap:25px;padding-left:24px;padding-right:24px}.date-fields{grid-template-columns:1fr 15px 1fr}.guest-field{grid-column:1/4}.home-story{grid-template-columns:1fr 1fr;gap:28px}.story-note{grid-column:2}}
@media(max-width:650px){.topbar{height:67px;padding:0 18px}.topbar nav{display:none}.top-cta{font-size:11px;padding:9px 11px}.intro{display:block;padding:34px 21px 43px}.intro-copy{padding:0}.eyebrow{font-size:9px;margin-bottom:14px}h1{font-size:61px}.lead{font-size:14px;line-height:1.7}.trust-row{gap:8px;font-size:8px;margin-top:28px}.trust-row i{width:12px}.hero-art{height:310px;margin-top:33px}.photo-main{right:9%;bottom:9%}.art-stamp{width:84px;height:84px;right:-1px}.art-stamp strong{font-size:21px}.image-caption{font-size:11px;right:21%}.booking-layout{display:flex;flex-direction:column;padding:36px 17px 41px;gap:17px}.section-heading h2{font-size:32px}.step-chip{font-size:9px}.date-fields{grid-template-columns:1fr 12px 1fr;gap:7px}.date-fields>label{font-size:9px}.guest-field{grid-column:1/4;max-width:52%}.calendar-card{padding:15px 12px 13px}.day{height:37px}.calendar-legend{gap:10px;flex-wrap:wrap}.calendar-legend small{width:100%;margin:1px 0 0}.quote-card{margin:5px 0 0;padding:22px}.quote-card h3{font-size:27px;margin-top:17px}.home-story{display:block;padding:49px 22px 43px}.home-story h2{font-size:34px}.story-body{margin:23px 0;font-size:13px}.bottom-note{min-height:64px;padding:10px 17px;gap:9px;flex-wrap:wrap;font-size:9px}.bottom-note>span:nth-child(2){order:3;width:100%}.request-dialog{padding:25px 20px}.dialog-summary{gap:5px;padding:11px 8px}.dialog-summary strong{font-size:10px}}

.guest-details{display:grid;gap:10px;margin-top:16px}.guest-details label{display:grid;gap:5px;color:#758178;font-size:10px;font-weight:600}.guest-details input{width:100%;height:39px;padding:0 10px;border:1px solid #dfe5de;border-radius:5px;background:white;color:#34473a;font:11px var(--sans)}.guest-details input:focus{outline:2px solid #b7cbb9;outline-offset:1px}.guest-details input::placeholder{color:#a2aaa2}
.rate-note{display:flex;align-items:flex-start;gap:13px;margin:24px 0 10px;padding:17px 15px;background:#f3f5f0;border:1px solid #e6ebe3;border-radius:6px}.rate-note-mark{display:grid;place-items:center;flex:0 0 30px;height:30px;border-radius:50%;background:#e1e9df;color:var(--green);font-weight:700}.rate-note strong{display:block;color:#435247;font-size:12px}.rate-note p{margin:5px 0 0;color:#7d887f;font-size:11px;line-height:1.65}
.listing-details,.guest-notes,.house-rules{max-width:1280px;margin:0 auto;padding:67px clamp(24px,5vw,72px)}.details-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:25px}.details-heading .eyebrow{margin-bottom:9px}.details-heading h2,.house-rules h2{margin:0;color:#304238;font:500 clamp(28px,3.3vw,40px)/1.1 var(--serif);letter-spacing:-.035em}.details-heading>p{max-width:380px;margin:0;color:#89938a;font-size:11px;line-height:1.6;text-align:right}
.details-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.detail-card{position:relative;padding:23px 22px 20px;background:#fff;border:1px solid #e0e6de;border-radius:7px;box-shadow:0 6px 20px #243d3008}.detail-icon{display:grid;place-items:center;width:31px;height:31px;margin-bottom:15px;border-radius:50%;background:#eef2eb;color:#52715d;font-size:15px}.detail-card h3{margin:0 0 12px;color:#35463b;font:500 19px var(--serif)}.detail-card ul{list-style:none;margin:0;padding:0}.detail-card li{position:relative;padding:7px 0 7px 15px;border-top:1px solid #edf0eb;color:#68766d;font-size:11px;line-height:1.55}.detail-card li:before{position:absolute;left:0;top:13px;width:5px;height:5px;border-radius:50%;background:#b99a6d;content:""}.detail-footnote{margin:12px 0 0;padding:10px;background:#f8f7f1;border-radius:4px;color:#8a887c;font-size:9px;line-height:1.55}
.photo-gallery{display:grid;grid-template-columns:1.25fr 1fr 1fr 1fr;gap:11px;margin-top:16px}.photo-gallery figure{position:relative;height:190px;overflow:hidden;margin:0;background:#e7e9e1;border-radius:5px}.photo-gallery figure:first-child{height:235px;grid-row:span 2}.photo-gallery img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s}.photo-gallery figure:hover img{transform:scale(1.035)}.photo-gallery figure:after{position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#16231d8c);content:""}.photo-gallery figcaption{position:absolute;z-index:1;bottom:13px;left:14px;color:white;font-size:10px;font-weight:600;letter-spacing:.02em}
.guest-notes{padding-top:52px;padding-bottom:61px;border-top:1px solid #e8ece6;background:#f5f6f1}.review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,.8fr)) minmax(0,1.4fr);gap:13px}.review-score,.review-themes{min-height:158px;padding:19px 20px;background:white;border:1px solid #e0e6de;border-radius:6px;color:inherit;text-decoration:none}.review-score{display:flex;flex-direction:column;align-items:flex-start;transition:border-color .15s,transform .15s}.review-score:hover{border-color:#8ca28f;transform:translateY(-2px)}.review-platform{color:#89948a;font-size:9px;font-weight:700;letter-spacing:.12em}.review-score strong{margin:10px 0 2px;color:#34533f;font-size:31px;letter-spacing:-.04em}.review-score strong small{font-size:14px;color:#829084;font-weight:500}.review-score>span:nth-of-type(2){color:#748078;font-size:10px}.review-score .review-link-label{margin-top:auto;padding-top:12px;color:#58745e;font-size:10px;font-style:normal;font-weight:600}.review-themes{display:flex;flex-direction:column;justify-content:space-between}.review-themes>div{display:flex;flex-wrap:wrap;gap:7px}.review-themes>div span{padding:7px 10px;background:#f0f3ed;border-radius:99px;color:#5e7063;font-size:10px}.review-themes p{margin:14px 0 0;color:#9aa39a;font-size:9px}
.house-rules{display:grid;grid-template-columns:.7fr 1.3fr;column-gap:70px;padding-top:57px;padding-bottom:58px}.house-rules .eyebrow{margin-bottom:10px}.rules-list p{display:grid;grid-template-columns:155px 1fr;gap:14px;margin:0;padding:12px 0;border-bottom:1px solid #e7ebe5;color:#758078;font-size:11px;line-height:1.5}.rules-list p:first-child{border-top:1px solid #e7ebe5}.rules-list b{color:#45564b}.rules-footnote{grid-column:2;margin:15px 0 0;color:#969e96;font-size:9px;line-height:1.6}
@media(max-width:850px){.details-grid{grid-template-columns:1fr 1fr}.sleeping-card{grid-column:span 2}.photo-gallery{grid-template-columns:1fr 1fr}.photo-gallery figure,.photo-gallery figure:first-child{height:190px;grid-row:auto}.review-grid{grid-template-columns:1fr 1fr}.review-themes{grid-column:span 2}.house-rules{grid-template-columns:1fr;gap:22px}.rules-footnote{grid-column:1}}
@media(max-width:600px){.listing-details,.guest-notes,.house-rules{padding:47px 20px}.details-heading{display:block}.details-heading>p{margin-top:11px;text-align:left}.details-grid{grid-template-columns:1fr}.sleeping-card{grid-column:auto}.detail-card{padding:19px}.photo-gallery{gap:8px}.photo-gallery figure,.photo-gallery figure:first-child{height:145px}.review-grid{grid-template-columns:1fr 1fr;gap:8px}.review-score,.review-themes{padding:15px;min-height:145px}.review-themes{grid-column:span 2}.review-score strong{font-size:27px}.rules-list p{grid-template-columns:110px 1fr;gap:8px}.details-heading h2,.house-rules h2{font-size:32px}}


.availability-note{flex-wrap:wrap}.availability-note [role=status]{flex:1;min-width:210px}.availability-note button{border:0;border-radius:4px;padding:4px 9px;background:transparent;color:var(--green);font:600 10px var(--sans);cursor:pointer;transition:background .15s,color .15s}.availability-note button:hover:not(:disabled){background:#e7eee7;color:var(--green-deep)}.availability-note button:focus-visible{outline:2px solid #8da794;outline-offset:2px}.availability-note button:disabled{opacity:.5;cursor:wait}.day.unverified{color:#aeb8af;background:#f6f7f4;cursor:wait}.day.unverified:after{content:"";position:absolute;inset:auto 27% 5px;height:2px;border-radius:2px;background:#c7d0c7}

/* Preserve the transparent, property-specific artwork in the hero. */
.hero-art .photo-main{inset:0 3% 7% 0;overflow:visible;border-radius:0;background:transparent}.hero-art .photo-main img{object-fit:contain;object-position:center bottom}.hero-art .photo-main:after{content:none}@media(max-width:650px){.hero-art .photo-main{inset:0 0 8% 0}}

/* More room for the property's artwork and comfortable reading sizes. */
@media(min-width:1100px){
  .intro{max-width:1600px;grid-template-columns:.82fr 1.18fr;gap:clamp(32px,3.5vw,65px);padding-top:52px;padding-bottom:58px}
  .hero-art{height:min(39vw,540px);min-height:430px}
  .hero-art .photo-main{inset:-3% -10% -8% -11%}
}
.lead{font-size:18px;line-height:1.75}
.brand small,.topbar nav a,.top-cta,.button{font-size:14px}
.eyebrow{font-size:12px}
.micro-note,.trust-row,.date-fields>label,.calendar-kicker,.weekday,.day,.calendar-legend,.calendar-legend small,.availability-note,.availability-note button{font-size:13px}
.date-input input,.guest-select select{font-size:15px}
.quote-sub,.quote-status,.quote-disclaimer,.quote-foot,.rate-note p{font-size:13px;line-height:1.65}
.rate-note strong{font-size:14px}
.section-heading h2{font-size:36px}
.story-body,.story-note p,.detail-card li,.rules-list p{font-size:14px;line-height:1.7}
.detail-footnote,.rules-footnote,.details-heading>p{font-size:12px;line-height:1.65}
.detail-card h3{font-size:21px}
.photo-gallery{grid-template-columns:repeat(4,minmax(0,1fr))}
.photo-gallery figure,.photo-gallery figure:first-child{height:clamp(180px,18vw,250px);grid-row:auto}
.photo-gallery figcaption{font-size:13px}
.review-platform,.review-score>span:nth-of-type(2),.review-score i,.review-themes>div span{font-size:12px}
.review-themes p{font-size:11px}
.bottom-note{font-size:12px}
.request-dialog .dialog-copy,.dialog-footnote{font-size:13px;line-height:1.6}
.guest-details label,.payment-options small{font-size:12px}
.guest-details input{font-size:14px}
@media(max-width:850px){.photo-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.photo-gallery figure,.photo-gallery figure:first-child{height:clamp(180px,28vw,240px)}}
@media(max-width:650px){
  .hero-art{height:clamp(320px,78vw,420px)}
  .hero-art .photo-main{inset:0 -5% 8% -5%}
  .lead{font-size:17px}
  .eyebrow{font-size:11px}
  .trust-row{font-size:10px}
  .date-fields>label{font-size:11px}
  .day{font-size:14px}
  .details-heading>p{font-size:13px}
  .photo-gallery figure,.photo-gallery figure:first-child{height:clamp(150px,43vw,210px)}
}
.quote-lines[hidden]{display:none}.quote-lines{margin-top:14px}.quote-lines>div{font-size:13px;padding:9px 0}.quote-lines .quote-total{border-top:1px solid #dce4dc;margin-top:2px;padding-top:12px}quote-disclaimer{font-size:12px;line-height:1.55;color:#778078}.registration-note{margin:18px 0 0;padding-top:13px;border-top:1px solid #e5e9e2;color:#657268;font-size:13px;line-height:1.5}.registration-note b{color:#405047}.registration-note span{margin:0 7px;color:#a5aea5}
.gallery-heading{display:flex;align-items:center;justify-content:space-between;margin:34px 0 12px}.gallery-heading .eyebrow{margin:0}.gallery-open{padding:10px 15px}.photo-gallery{display:grid;grid-template-columns:1.25fr 1fr 1fr;grid-template-rows:repeat(2,minmax(150px,210px));gap:12px}.gallery-item{position:relative;display:block;overflow:hidden;padding:0;border:0;border-radius:12px;background:#26372d;text-align:left;cursor:pointer}.gallery-item:first-child{grid-row:span 2}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .25s ease}.gallery-item:hover img,.gallery-item:focus-visible img{transform:scale(1.035)}.gallery-item:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.58))}.gallery-item span{position:absolute;z-index:1;bottom:13px;left:15px;color:#fff;font-size:15px;font-weight:700;text-shadow:0 1px 3px #000}.gallery-dialog{position:fixed;inset:0;width:100vw;height:100vh;max-width:none;max-height:none;margin:0;padding:60px 6vw 32px;border:0;background:rgba(15,20,18,.96);color:white}.gallery-dialog::backdrop{background:rgba(12,17,15,.92)}.gallery-dialog figure{height:100%;max-width:1200px;margin:0 auto;display:flex;flex-direction:column;align-items:center;justify-content:center}.gallery-dialog figure img{max-width:100%;max-height:calc(100vh - 150px);object-fit:contain;border-radius:8px}.gallery-dialog figcaption{width:min(100%,1200px);display:flex;justify-content:space-between;gap:16px;padding-top:14px;color:#fff;font-size:16px}.gallery-dialog figcaption small{color:#cbd2cd}.gallery-dialog button{position:absolute;border:0;color:white;background:rgba(255,255,255,.13);cursor:pointer}.gallery-close{right:24px;top:18px;border-radius:50%;width:44px;height:44px;font-size:30px}.gallery-prev,.gallery-next{top:50%;transform:translateY(-50%);width:52px;height:60px;border-radius:12px;font-size:40px;line-height:1}.gallery-prev{left:18px}.gallery-next{right:18px}.payment-options{display:grid;grid-template-columns:1fr 1fr;gap:9px}.payment-options>label{min-height:76px}.payment-options small{line-height:1.35}.deposit-note{margin:12px 0;padding:12px 14px;border-radius:9px;background:#f0f4ed;color:#536259;font-size:13px;line-height:1.5}.deposit-note b{display:block;margin-bottom:3px;color:#34483a}.gallery-dialog button:hover{background:rgba(255,255,255,.25)}
@media(max-width:650px){.photo-gallery{grid-template-columns:1fr 1fr;grid-template-rows:repeat(3,150px);gap:8px}.gallery-item:first-child{grid-row:auto;grid-column:span 2}.gallery-item span{font-size:13px;left:10px;bottom:9px}.gallery-dialog{padding:58px 12px 22px}.gallery-prev{left:5px}.gallery-next{right:5px}.gallery-prev,.gallery-next{width:42px;height:48px;font-size:32px}.payment-options{grid-template-columns:1fr}}
.detail-card li{font-size:15px;line-height:1.5;padding:6px 0 6px 15px;color:#53645a}.detail-card li:before{top:13px;background:#94764d}.detail-card{padding:20px 19px}.detail-card h3{margin-bottom:9px}.detail-icon{margin-bottom:11px}.story-note{background:#e9eee6;color:#34483b}.story-note>span{color:#536754;font-size:12px}.story-note p{font-size:15px;line-height:1.55;color:#3f5145}.story-note i{color:#657a69}.listing-details{padding-top:48px}.contact-after-price{margin:15px 0 0;color:#57655b;font-size:14px;line-height:1.5}.request-dialog{max-height:90vh;overflow:auto}.dialog-copy{font-size:14px;color:#58665c}.payment-label{font-size:13px;color:#425346}.payment-options b{font-size:14px;color:#34473a}.payment-options small{font-size:12px;color:#5c6b61}.payment-options>label{padding:12px;min-height:76px}.deposit-note{font-size:14px}
@media(max-width:650px){.detail-card li{font-size:15px;line-height:1.45}.listing-details{padding-top:40px}.request-dialog{max-height:92vh}}
/* Revised booking composition: compact calendar with its price and home facts beside it. */
.booking-layout{max-width:1440px;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);gap:clamp(24px,3vw,44px);padding:40px clamp(24px,4vw,58px) 46px}
.booking-main,.booking-side{min-width:0}.booking-side{display:flex;flex-direction:column;gap:14px}.quote-card{margin:0;padding:25px 27px}.quote-card h3{font-size:31px;margin:17px 0 10px}.quote-sub{font-size:15px;line-height:1.55}.rate-note{padding:14px}.rate-note strong{font-size:15px}.rate-note p{font-size:14px;line-height:1.45}.quote-lines>div{font-size:15px;padding:8px 0}.quote-disclaimer{font-size:13px;line-height:1.5}.quote-foot{font-size:13px}.quote-button{font-size:15px}
.booking-facts{padding:20px 24px;background:#fff;border:1px solid #e0e6de;border-radius:9px;box-shadow:0 6px 20px #243d3008}.booking-facts .eyebrow{margin-bottom:5px;color:#596c5b;font-size:12px}.fact-lead{margin:0 0 12px;color:#304338;font:500 24px/1.2 var(--serif)}.fact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}.fact-grid span{padding:9px 0;border-top:1px solid #e8ece6;color:#536259;font-size:14px;line-height:1.35}.fact-grid b{color:#30483b;font-size:17px;margin-right:4px}
.intro{padding-top:52px;padding-bottom:56px}.lead{font-size:18px;line-height:1.65;color:#56645a}.micro-note,.trust-row,.topbar nav a,.top-cta{font-size:14px}.trust-row{color:#56645a}.trust-row b{font-size:14px;color:#33473b}.eyebrow{color:#596c5b;font-size:12px}.button{font-size:15px}.calendar-kicker,.calendar-legend,.availability-note,.calendar-legend small{font-size:14px}.day{font-size:15px}.calendar-card{padding:20px 21px 16px}.calendar-controls button{width:40px;height:40px;font-size:25px}.date-fields>label{font-size:13px}.date-input,.guest-select{height:48px}.availability-note{line-height:1.45}.detail-card li{font-size:15px;line-height:1.45}.detail-card li:before{top:12px}.details-heading>p{font-size:14px}.gallery-heading{margin-top:26px}.photo-gallery{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(3,clamp(150px,16vw,210px));gap:12px}.gallery-item:first-child{grid-row:auto}.gallery-item span{font-size:15px}.story-note{background:#e9eee6;color:#34483b}.story-note>span{color:#405b45;font-size:13px}.story-note p{font-size:16px;line-height:1.55;color:#3f5145}.story-note i{color:#657a69}.request-dialog{max-height:90vh;overflow:auto}.dialog-copy{font-size:14px;color:#58665c}.payment-label{font-size:14px;color:#425346}.payment-options b{font-size:15px;color:#34473a}.payment-options small{font-size:13px;color:#53645a}.deposit-note{font-size:14px}.contact-after-price{font-size:15px;color:#47584d}
@media(max-width:920px){.booking-layout{grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:22px;padding-left:24px;padding-right:24px}}
@media(max-width:760px){.booking-layout{display:flex;flex-direction:column;gap:18px;padding:32px 20px 36px}.booking-side{gap:12px}.photo-gallery{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(5,clamp(150px,42vw,220px))}.gallery-item:first-child{grid-column:span 2}.fact-lead{font-size:22px}}
@media(max-width:600px){.intro{padding-top:36px;padding-bottom:38px}.lead{font-size:17px}.calendar-card{padding:15px 12px 13px}.calendar-controls button{width:36px;height:36px}.date-fields>label{font-size:12px}.day{height:40px;font-size:14px}.calendar-legend,.calendar-legend small,.availability-note{font-size:13px}.quote-card{padding:21px}.quote-card h3{font-size:28px}.booking-facts{padding:18px}.fact-grid{gap:0 12px}.fact-grid span{font-size:13px}.gallery-heading{margin-top:22px}.photo-gallery{grid-template-rows:repeat(5,150px);gap:8px}}
/* Full-width house first, then intro on the left and the booking flow on the right. */
.home-showcase{max-width:1600px;margin:0 auto;padding:12px clamp(24px,4vw,60px) 0}.showcase-art{position:relative;width:100%;height:clamp(340px,36vw,520px);overflow:visible}.showcase-art .hero-art{width:100%;height:100%;min-height:0}.showcase-art .hero-art .photo-main{inset:0;background:transparent}.showcase-art .hero-art .photo-main img{object-fit:contain;object-position:center bottom}.showcase-art .image-caption{right:5%;bottom:1%;font-size:15px}.showcase-lower{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);align-items:start;gap:clamp(26px,4vw,60px);padding:20px 12px 48px}.showcase-lower .intro-copy{padding:10px 0}.showcase-lower .intro-copy h1{font-size:clamp(56px,5vw,76px);margin-bottom:20px}.showcase-lower .lead{max-width:600px}.home-quick-info{display:grid;gap:0;margin-top:27px;padding:3px 0;border-top:1px solid #dce4dc}.home-quick-info strong,.home-quick-info span{display:block;padding:11px 0;border-bottom:1px solid #dce4dc;color:#4b5d51;font-size:15px;line-height:1.45}.home-quick-info strong{color:#32483a;font-size:16px}.booking-layout{display:block;max-width:none;margin:0;padding:0;background:transparent;border:0}.booking-main{padding:22px;background:#fff;border:1px solid #dfe5de;border-radius:10px;box-shadow:0 8px 24px #243d3009}.booking-main .section-heading{margin-bottom:18px}.booking-main .section-heading h2{font-size:32px}.booking-main .date-fields{grid-template-columns:minmax(0,1fr) 16px minmax(0,1fr) minmax(0,.8fr);gap:8px;margin-bottom:16px}.booking-main .date-fields>label{font-size:12px}.booking-main .guest-field{grid-column:auto;max-width:none}.booking-main .calendar-card{padding:16px 16px 13px}.booking-main .day{height:42px}.booking-main .calendar-legend{gap:11px;font-size:12px}.booking-main .calendar-legend small{width:auto;margin-left:auto;font-size:11px}.booking-main .availability-note{font-size:12px;margin-top:10px}.booking-side{display:block;margin-top:14px}.booking-side .quote-card{padding:22px 24px}.booking-side .quote-card h3{font-size:28px;margin:12px 0 8px}.booking-side .quote-sub{margin-bottom:13px}.booking-side .rate-note{margin:10px 0}.booking-side .quote-disclaimer{margin:12px 0;font-size:12px}.booking-side .quote-foot{margin-top:8px;font-size:12px}
@media(max-width:1100px){.showcase-lower{gap:24px;padding-left:0;padding-right:0}.showcase-lower .intro-copy h1{font-size:clamp(50px,5.2vw,68px)}.booking-main{padding:17px}.booking-main .date-fields{grid-template-columns:minmax(0,1fr) 12px minmax(0,1fr);}.booking-main .guest-field{grid-column:1/4;max-width:220px}.booking-main .calendar-legend small{width:100%;margin-left:0}}
@media(max-width:760px){.home-showcase{padding:4px 18px 0}.showcase-art{height:clamp(240px,62vw,360px)}.showcase-art .hero-art .photo-main{inset:0}.showcase-art .image-caption{right:3%;bottom:-2%;font-size:12px}.showcase-lower{display:flex;flex-direction:column;gap:22px;padding:10px 0 34px}.showcase-lower .intro-copy{padding:6px 0 0}.showcase-lower .intro-copy h1{font-size:clamp(43px,11vw,62px);margin-bottom:17px}.showcase-lower .lead{font-size:17px;line-height:1.55}.showcase-lower .trust-row{font-size:12px;flex-wrap:wrap;row-gap:10px;margin-top:22px}.showcase-lower .trust-row b{font-size:13px}.home-quick-info{margin-top:20px}.home-quick-info strong,.home-quick-info span{font-size:14px;padding:9px 0}.booking-layout{width:100%}.booking-main{padding:15px 12px}.booking-main .section-heading h2{font-size:28px}.booking-main .step-chip{font-size:11px}.booking-main .date-fields{grid-template-columns:minmax(0,1fr) 12px minmax(0,1fr);gap:6px}.booking-main .guest-field{grid-column:1/4;max-width:100%}.booking-main .calendar-card{padding:14px 9px 12px}.booking-main .day{height:clamp(37px,10vw,44px)}.booking-main .calendar-legend{font-size:12px;gap:9px}.booking-main .calendar-legend small{font-size:11px}.booking-side{margin-top:12px}.booking-side .quote-card{padding:20px 18px}.booking-side .quote-card h3{font-size:27px}.details-grid{gap:12px}.detail-card li{font-size:15px}.gallery-dialog{padding:54px 10px 18px}.gallery-dialog figure img{max-height:calc(100dvh - 140px)}}
@media(max-width:390px){.showcase-art{height:230px}.showcase-lower .intro-copy h1{font-size:42px}.booking-main .section-heading h2{font-size:25px}.booking-main .date-fields>label{font-size:11px}.booking-main .calendar-legend{gap:6px;font-size:11px}}
/* House overview first; use a compact, horizontal booking row beneath it. */
.home-showcase{padding-top:18px}
.showcase-hero{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);align-items:center;gap:clamp(28px,5vw,72px);min-height:430px}
.showcase-hero .intro-copy{padding:22px 0}
.showcase-hero .intro-copy h1{font-size:clamp(54px,5.2vw,76px)}
.showcase-hero .home-quick-info{margin-top:24px}
.showcase-hero .showcase-art{height:clamp(340px,37vw,490px)}
.listing-details{padding-top:32px;padding-bottom:38px}
.listing-details .details-heading{margin-bottom:18px}
.listing-details .details-grid{gap:12px}
.listing-details .detail-card{padding:17px 17px 15px}
.listing-details .detail-icon{margin-bottom:8px}
.listing-details .detail-card h3{font-size:20px}
.listing-details .detail-card li{padding-top:5px;padding-bottom:5px;line-height:1.4}
.listing-details .gallery-heading{margin-top:22px}
.listing-details .photo-gallery{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(2,clamp(130px,15vw,190px));gap:10px}
.listing-details .gallery-item:first-child{grid-row:span 2;grid-column:auto}
.booking-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(330px,.95fr);align-items:start;gap:24px;max-width:1440px;margin:0 auto;padding:24px clamp(24px,5vw,72px) 34px;background:transparent;border:0}
.booking-main{padding:17px;background:#fff;border:1px solid #dfe5de;border-radius:10px;box-shadow:0 8px 24px #243d3009}
.booking-main .section-heading{margin-bottom:12px}
.booking-main .section-heading h2{font-size:29px}
.booking-main .step-chip{padding:5px 9px 5px 5px}
.booking-main .date-fields{grid-template-columns:minmax(0,1fr) 12px minmax(0,1fr);gap:7px;margin-bottom:12px}
.booking-main .date-fields>label{font-size:11px}
.booking-main .guest-field{grid-column:1/4;max-width:220px}
.booking-main .calendar-card{padding:12px 13px 10px}
.booking-main .calendar-head{margin-bottom:8px}
.booking-main .calendar-head strong{font-size:18px}
.booking-main .calendar-controls button{width:32px;height:32px;font-size:21px}
.booking-main .weekday{padding:4px 0}
.booking-main .day{height:32px;font-size:13px}
.booking-main .calendar-legend{margin-top:8px;gap:9px;font-size:11px}
.booking-main .calendar-legend small{font-size:10px}
.booking-main .availability-note{margin-top:8px;font-size:11px}
.booking-side{display:block;margin:0}
.booking-side .quote-card{height:100%;padding:21px 23px}
.booking-side .quote-card h3{font-size:27px;margin:12px 0 7px}
.booking-side .quote-sub{font-size:14px;margin-bottom:11px}
.booking-side .rate-note{margin:10px 0;padding:12px}
.booking-side .quote-lines{margin-top:10px}
.booking-side .quote-lines>div{font-size:14px;padding:7px 0}
.booking-side .quote-disclaimer{font-size:12px;line-height:1.45;margin:10px 0}
.booking-side .quote-foot{font-size:12px;margin-top:8px;padding-top:9px}
@media(max-width:1000px){.showcase-hero{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:24px}.showcase-hero .intro-copy h1{font-size:clamp(48px,5.4vw,62px)}.showcase-hero .showcase-art{height:360px}.listing-details .details-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.listing-details .sleeping-card{grid-column:span 2}.booking-layout{grid-template-columns:minmax(0,1fr) minmax(310px,.88fr);gap:16px;padding-left:24px;padding-right:24px}.booking-main{padding:14px}.booking-main .day{height:30px}}
@media(max-width:760px){.home-showcase{padding:8px 18px 0}.showcase-hero{display:flex;flex-direction:column-reverse;align-items:stretch;gap:10px;min-height:0}.showcase-hero .showcase-art{height:clamp(235px,62vw,340px);width:100%}.showcase-hero .image-caption{right:4%;bottom:-1%;font-size:12px}.showcase-hero .intro-copy{padding:10px 0 16px}.showcase-hero .intro-copy h1{font-size:clamp(43px,10vw,58px);margin-bottom:15px}.showcase-hero .lead{font-size:17px;line-height:1.55}.showcase-hero .trust-row{font-size:12px;flex-wrap:wrap;row-gap:9px;margin-top:18px}.showcase-hero .trust-row b{font-size:13px}.showcase-hero .home-quick-info{margin-top:17px}.showcase-hero .home-quick-info strong,.showcase-hero .home-quick-info span{font-size:14px;padding:8px 0}.listing-details{padding:30px 20px 26px}.listing-details .details-heading{display:block}.listing-details .details-heading>p{margin-top:9px;text-align:left}.listing-details .details-grid{grid-template-columns:1fr}.listing-details .sleeping-card{grid-column:auto}.listing-details .detail-card{padding:18px}.listing-details .photo-gallery{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(5,clamp(145px,42vw,200px));gap:8px}.listing-details .gallery-item:first-child{grid-row:auto;grid-column:span 2}.booking-layout{display:flex;flex-direction:column;gap:13px;padding:20px 18px 30px}.booking-main{width:100%;padding:14px 12px}.booking-main .section-heading h2{font-size:27px}.booking-main .date-fields{grid-template-columns:minmax(0,1fr) 10px minmax(0,1fr);gap:6px}.booking-main .guest-field{grid-column:1/4;max-width:100%}.booking-main .calendar-card{padding:12px 8px 10px}.booking-main .day{height:clamp(34px,9.3vw,40px);font-size:14px}.booking-main .calendar-legend{flex-wrap:wrap;gap:8px;font-size:11px}.booking-main .calendar-legend small{width:100%;margin-left:0;font-size:10px}.booking-side{width:100%;margin:0}.booking-side .quote-card{padding:20px 18px}}
@media(max-width:390px){.showcase-hero .showcase-art{height:225px}.showcase-hero .intro-copy h1{font-size:42px}.booking-main .section-heading h2{font-size:25px}.booking-main .date-fields>label{font-size:10px}.booking-main .date-input input{font-size:13px}.booking-main .calendar-legend{gap:6px;font-size:10px}}
.home-primary{display:grid;grid-template-columns:minmax(0,1.28fr) minmax(350px,.82fr);align-items:start;gap:clamp(22px,3vw,42px);max-width:1600px;margin:0 auto;padding:16px clamp(24px,4vw,60px) 0}.home-primary-property{min-width:0}.home-primary .home-showcase,.home-primary .listing-details{max-width:none;margin:0;padding:0}.home-primary .showcase-hero{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:20px;min-height:0}.home-primary .showcase-hero .intro-copy{padding:8px 0}.home-primary .showcase-hero .intro-copy h1{font-size:clamp(42px,3.5vw,58px);line-height:1.02;margin-bottom:16px}.home-primary .showcase-hero .lead{font-size:16px;line-height:1.55;margin-bottom:16px}.home-primary .showcase-art{height:clamp(260px,26vw,360px)}.home-primary .home-quick-info{margin-top:17px;padding:0;border-top:1px solid #dce4dc}.home-primary .home-quick-info strong{font-size:15px;padding:11px 0;border-bottom:1px solid #dce4dc}.home-primary .listing-details{padding-top:13px;padding-bottom:0}.home-primary .listing-details .details-heading{margin-bottom:12px}.home-primary .listing-details .details-heading>p{font-size:13px}.home-primary .listing-details .details-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.home-primary .listing-details .sleeping-card{grid-column:span 2}.home-primary .listing-details .detail-card{padding:13px 14px 12px}.home-primary .listing-details .detail-icon{display:none}.home-primary .listing-details .detail-card h3{font-size:18px;margin-bottom:5px}.home-primary .listing-details .detail-card li{font-size:14px;padding:3px 0 3px 14px;line-height:1.35}.home-primary .listing-details .gallery-heading{margin-top:17px;margin-bottom:8px}.home-primary .listing-details .gallery-heading .eyebrow{margin-bottom:0}.home-primary .listing-details .gallery-open{min-height:38px;padding:0 13px;gap:10px;font-size:13px}.home-primary .listing-details .photo-gallery{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(2,clamp(90px,10vw,132px));gap:7px}.home-primary .listing-details .gallery-feature{grid-row:span 2;grid-column:span 2}.home-primary .listing-details .gallery-item[hidden]{display:none!important}.home-primary>.booking-layout{display:flex;flex-direction:column;gap:12px;max-width:none;margin:0;padding:0;background:transparent;border:0}.home-primary .booking-main{position:sticky;top:12px;padding:15px 14px}.home-primary .booking-main .section-heading{margin-bottom:10px}.home-primary .booking-main .section-heading h2{font-size:24px}.home-primary .booking-main .step-chip{font-size:11px;padding:4px 8px}.home-primary .booking-main .date-fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:7px;margin-bottom:9px}.home-primary .booking-main .date-divider{display:none}.home-primary .booking-main .date-fields>label{font-size:11px}.home-primary .booking-main .guest-field{grid-column:1/3;max-width:none}.home-primary .booking-main .date-input,.home-primary .booking-main .guest-select{height:39px}.home-primary .booking-main .calendar-card{padding:10px 10px 8px}.home-primary .booking-main .calendar-head{margin-bottom:5px}.home-primary .booking-main .calendar-head strong{font-size:17px}.home-primary .booking-main .calendar-controls button{width:30px;height:30px;font-size:20px}.home-primary .booking-main .weekday{padding:3px 0;font-size:11px}.home-primary .booking-main .day{height:31px;font-size:12px}.home-primary .booking-main .calendar-legend{margin-top:6px;gap:8px;font-size:10px}.home-primary .booking-main .calendar-legend small{display:none}.home-primary .booking-main .availability-note{margin-top:7px;font-size:11px}.home-primary .booking-side{width:100%;margin:0}.home-primary .booking-side .quote-card{padding:17px 18px}.home-primary .booking-side .quote-card h3{font-size:23px;margin:8px 0 5px}.home-primary .booking-side .quote-sub{font-size:13px;line-height:1.45;margin-bottom:8px}.home-primary .booking-side .rate-note{margin:8px 0;padding:10px}.home-primary .booking-side .rate-note p{font-size:12px}.home-primary .booking-side .quote-disclaimer,.home-primary .booking-side .quote-foot{font-size:11px;line-height:1.4}
@media(max-width:1050px){.home-primary{grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);gap:16px;padding-left:22px;padding-right:22px}.home-primary .showcase-hero{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:12px}.home-primary .showcase-hero .intro-copy h1{font-size:clamp(38px,4.2vw,48px)}.home-primary .listing-details .detail-card li{font-size:13px}}
@media(max-width:760px){.home-primary{display:flex;flex-direction:column;gap:18px;padding:8px 18px 0}.home-primary-property{width:100%}.home-primary .showcase-hero{display:flex;flex-direction:column-reverse;align-items:stretch;gap:8px}.home-primary .showcase-hero .showcase-art{height:clamp(215px,58vw,300px);width:100%}.home-primary .showcase-hero .intro-copy{padding:8px 0 4px}.home-primary .showcase-hero .intro-copy h1{font-size:clamp(42px,10vw,56px);margin-bottom:13px}.home-primary .showcase-hero .lead{font-size:16px;line-height:1.5}.home-primary .home-quick-info strong{font-size:14px;padding:9px 0}.home-primary .listing-details{padding-top:16px}.home-primary .listing-details .details-grid{grid-template-columns:1fr}.home-primary .listing-details .sleeping-card{grid-column:auto}.home-primary .listing-details .detail-card{padding:15px}.home-primary .listing-details .detail-card li{font-size:14px}.home-primary .listing-details .photo-gallery{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(3,clamp(116px,36vw,165px));gap:7px}.home-primary .listing-details .gallery-feature{grid-column:span 2;grid-row:auto}.home-primary>.booking-layout{width:100%;padding:0 0 20px;gap:12px}.home-primary .booking-main{position:static;padding:14px 12px}.home-primary .booking-main .day{height:clamp(32px,8.8vw,38px);font-size:13px}.home-primary .booking-main .calendar-legend{font-size:10px}.home-primary .booking-main .calendar-legend small{display:block;width:100%;margin:0;font-size:10px}.home-primary .booking-side .quote-card{padding:18px}.home-primary .listing-details .details-heading{display:block}.home-primary .listing-details .details-heading>p{margin-top:7px;text-align:left}}

/* Desktop: a narrow home/calendar rail beside a wider details and photo gallery. */
.home-primary{grid-template-columns:minmax(350px,440px) minmax(0,1fr);gap:clamp(22px,2.3vw,34px);max-width:1500px;padding:18px clamp(20px,3vw,42px) 0}
.home-primary-property{display:flex;flex-direction:column;gap:12px;min-width:0}
.home-primary .home-showcase{padding:0}
.home-primary .showcase-hero{display:flex;flex-direction:column;align-items:stretch;gap:8px;min-height:0}
.home-primary .showcase-hero .intro-copy{padding:4px 0 0}
.home-primary .showcase-hero .intro-copy .eyebrow{margin-bottom:10px}
.home-primary .showcase-hero .intro-copy h1{font-size:clamp(42px,3.2vw,52px);line-height:1.04;margin-bottom:11px}
.home-primary .showcase-hero .lead{max-width:none;font-size:15px;line-height:1.48;margin-bottom:8px}
.home-primary .showcase-hero .home-quick-info{margin-top:8px}
.home-primary .showcase-hero .home-quick-info strong{font-size:14px;padding:8px 0;white-space:normal}
.home-primary .showcase-art{height:clamp(290px,26vw,370px);width:100%}
.home-primary .showcase-art .hero-art{height:100%}
.home-primary .showcase-art .hero-art .photo-main{inset:0;background:transparent}
.home-primary .showcase-art .hero-art .photo-main img{object-fit:contain;object-position:center}
.home-primary .showcase-art .image-caption{right:2%;bottom:0;font-size:13px}
.home-primary .booking-layout{display:flex;flex-direction:column;gap:10px;width:100%;margin:0;padding:0;background:transparent;border:0}
.home-primary .booking-main{position:static;padding:13px 12px}
.home-primary .booking-main .section-heading{margin-bottom:8px}
.home-primary .booking-main .section-heading h2{font-size:24px}
.home-primary .booking-main .step-chip{font-size:10px}
.home-primary .booking-main .date-fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px;margin-bottom:8px}
.home-primary .booking-main .date-divider{display:none}
.home-primary .booking-main .date-fields>label{font-size:10px}
.home-primary .booking-main .guest-field{grid-column:1/3;max-width:none}
.home-primary .booking-main .date-input,.home-primary .booking-main .guest-select{height:36px}
.home-primary .booking-main .calendar-card{padding:9px 9px 7px}
.home-primary .booking-main .calendar-head{margin-bottom:4px}
.home-primary .booking-main .calendar-head strong{font-size:16px}
.home-primary .booking-main .calendar-controls button{width:28px;height:28px;font-size:19px}
.home-primary .booking-main .weekday{padding:3px 0;font-size:10px}
.home-primary .booking-main .day{height:29px;font-size:12px}
.home-primary .booking-main .calendar-legend{margin-top:5px;gap:7px;font-size:10px;flex-wrap:wrap}
.home-primary .booking-main .calendar-legend small{width:100%;margin:0;font-size:10px}
.home-primary .booking-main .availability-note{margin-top:6px;font-size:10px}
.home-primary .booking-side{margin:0;width:100%}
.home-primary .booking-side .quote-card{padding:15px 16px}
.home-primary .booking-side .quote-card h3{font-size:22px;margin:8px 0 5px}
.home-primary .booking-side .quote-sub{font-size:13px;line-height:1.4;margin-bottom:8px}
.home-primary .booking-side .rate-note{margin:8px 0;padding:9px}
.home-primary .booking-side .quote-lines{margin-top:8px}
.home-primary .booking-side .quote-lines>div{font-size:13px;padding:6px 0}
.home-primary .booking-side .quote-disclaimer,.home-primary .booking-side .quote-foot{font-size:10px;line-height:1.4}
.home-primary .listing-details{min-width:0;padding:4px 0 0}
.home-primary .listing-details .details-heading{display:block;margin-bottom:14px;padding:0 2px}
.home-primary .listing-details .details-heading .eyebrow{margin-bottom:8px}
.home-primary .listing-details .details-heading h2{font-size:clamp(30px,2.6vw,38px);margin:0}
.home-primary .listing-details .details-heading>p{font-size:14px;margin:7px 0 0;text-align:left}
.home-primary .listing-details .details-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:10px}
.home-primary .listing-details .sleeping-card{grid-column:auto}
.home-primary .listing-details .detail-card{padding:14px 13px 12px;min-width:0}
.home-primary .listing-details .detail-icon{display:block;margin-bottom:5px;font-size:18px}
.home-primary .listing-details .detail-card h3{font-size:17px;line-height:1.22;margin-bottom:6px}
.home-primary .listing-details .detail-card li{font-size:13px;line-height:1.38;padding:4px 0 4px 13px}
.home-primary .listing-details .gallery-heading{margin-top:16px;margin-bottom:8px}
.home-primary .listing-details .gallery-heading .eyebrow{margin:0}
.home-primary .listing-details .photo-gallery{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(2,clamp(115px,11vw,158px));gap:8px}
.home-primary .listing-details .gallery-feature{grid-row:span 2;grid-column:span 2}
@media(max-width:1100px){.home-primary{display:flex;flex-direction:column;gap:22px;padding:15px 24px 0}.home-primary-property{display:contents}.home-primary .home-showcase{order:1}.home-primary .listing-details{order:2}.home-primary .booking-layout{order:3}.home-primary .showcase-hero{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:20px;align-items:center}.home-primary .showcase-art{height:clamp(290px,34vw,390px)}.home-primary .listing-details .details-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.home-primary .listing-details .detail-card li{font-size:14px}.home-primary .booking-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(300px,.95fr);align-items:start;gap:18px}.home-primary .booking-main{padding:16px}.home-primary .booking-main .day{height:36px}.home-primary .booking-side .quote-card{padding:20px}}
@media(max-width:760px){.home-primary{gap:17px;padding:7px 18px 0}.home-primary .home-showcase{order:1}.home-primary .listing-details{order:2;padding:0}.home-primary .booking-layout{order:3;display:flex;gap:12px}.home-primary .showcase-hero{display:flex;flex-direction:column;align-items:stretch;gap:7px}.home-primary .showcase-art{height:clamp(245px,70vw,350px)}.home-primary .showcase-hero .intro-copy h1{font-size:clamp(40px,10vw,54px);line-height:1.05}.home-primary .showcase-hero .lead{font-size:16px}.home-primary .listing-details .details-grid{grid-template-columns:1fr}.home-primary .listing-details .detail-card{padding:16px}.home-primary .listing-details .detail-card li{font-size:15px}.home-primary .listing-details .photo-gallery{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(3,clamp(130px,40vw,180px))}.home-primary .listing-details .gallery-feature{grid-row:auto;grid-column:span 2}.home-primary .booking-layout{padding:0}.home-primary .booking-main{padding:14px 12px}.home-primary .booking-main .day{height:clamp(34px,9vw,41px);font-size:14px}.home-primary .booking-main .calendar-legend{flex-wrap:wrap;font-size:11px}.home-primary .booking-main .calendar-legend small{width:100%;margin:0}.home-primary .booking-side .quote-card{padding:18px}}
@media(max-width:390px){.home-primary{padding-left:13px;padding-right:13px}.home-primary .showcase-art{height:235px}.home-primary .showcase-hero .intro-copy h1{font-size:40px}.home-primary .booking-main .day{height:33px;font-size:13px}.home-primary .listing-details .detail-card li{font-size:14px}}
.home-primary .home-quick-info{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:12px;padding:0;border:0}
.home-primary .home-quick-info>span{display:flex;align-items:baseline;justify-content:center;gap:4px;padding:8px 5px;border:1px solid #dce4dc;border-radius:7px;background:#f4f6f2;color:#526257;font-size:12px;line-height:1.2;text-align:center;white-space:nowrap}
.home-primary .home-quick-info>span strong{display:inline;padding:0;border:0;color:#2d4438;font-size:18px;font-weight:700}
@media(max-width:390px){.home-primary .home-quick-info{gap:5px}.home-primary .home-quick-info>span{font-size:11px;padding:8px 3px}.home-primary .home-quick-info>span strong{font-size:17px}}

/* Keep the complete property story and a compact booking panel together. */
.home-primary{grid-template-columns:minmax(0,1fr) minmax(330px,370px);grid-template-areas:"hero hero" "details booking";align-items:start;gap:22px 26px;max-width:1640px;padding:14px clamp(22px,3vw,46px) 0}
.home-primary-property{display:contents}
.home-primary .home-showcase{grid-area:hero;max-width:none;margin:0;padding:0}
.home-primary .showcase-hero{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(340px,.85fr);grid-template-areas:"art copy";align-items:center;gap:clamp(22px,3.4vw,50px);min-height:0}
.home-primary .showcase-art{grid-area:art;height:clamp(330px,31vw,440px);width:100%;min-width:0}
.home-primary .showcase-hero .intro-copy{grid-area:copy;padding:18px 4px}
.home-primary .showcase-hero .intro-copy h1{font-size:clamp(46px,4.2vw,66px);line-height:1.02;margin-bottom:17px}
.home-primary .showcase-hero .lead{max-width:480px;font-size:17px;line-height:1.55;margin-bottom:15px}
.home-primary .home-quick-info{margin-top:14px}
.home-primary .showcase-art .hero-art{height:100%;width:100%}
.home-primary .showcase-art .hero-art .photo-main{inset:0;background:transparent}
.home-primary .showcase-art .hero-art .photo-main img{object-fit:contain;object-position:center}
.home-primary .showcase-art .image-caption{right:3%;bottom:0;font-size:13px}
.home-primary .listing-details{grid-area:details;min-width:0;padding:8px 0 0}
.home-primary .listing-details .details-heading{margin-bottom:14px}
.home-primary .listing-details .details-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:12px}
.home-primary .listing-details .sleeping-card{grid-column:auto}
.home-primary .listing-details .detail-card{padding:16px 14px 14px}
.home-primary .listing-details .detail-card h3{font-size:18px}
.home-primary .listing-details .detail-card li{font-size:14px;line-height:1.4}
.home-primary .listing-details .photo-gallery{grid-template-rows:repeat(2,clamp(125px,12vw,170px));gap:9px}
.home-primary .booking-layout{grid-area:booking;display:flex;flex-direction:column;gap:12px;width:100%;max-width:none;margin:0;padding:8px 0 0;background:transparent;border:0}
.home-primary .booking-main{position:static;padding:14px 13px}
.home-primary .booking-main .section-heading{align-items:flex-start;margin-bottom:9px}
.home-primary .booking-main .section-heading h2{font-size:24px}
.home-primary .booking-main .step-chip{font-size:10px}
.home-primary .booking-main .date-fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:7px;margin-bottom:9px}
.home-primary .booking-main .date-divider{display:none}
.home-primary .booking-main .date-fields>label{font-size:10px}
.home-primary .booking-main .guest-field{grid-column:1/3;max-width:none}
.home-primary .booking-main .date-input,.home-primary .booking-main .guest-select{height:38px}
.home-primary .booking-main .calendar-card{padding:10px 10px 8px}
.home-primary .booking-main .calendar-head{margin-bottom:6px}
.home-primary .booking-main .calendar-head strong{font-size:17px}
.home-primary .booking-main .calendar-controls button{width:28px;height:28px;font-size:19px}
.home-primary .booking-main .weekday{padding:4px 0;font-size:10px}
.home-primary .booking-main .day{height:32px;font-size:12px}
.home-primary .booking-main .calendar-legend{margin-top:7px;gap:8px;font-size:10px}
.home-primary .booking-main .calendar-legend small{font-size:9px}
.home-primary .booking-main .availability-note{margin-top:7px;font-size:10px}
.home-primary .booking-side{width:100%;margin:0}
.home-primary .booking-side .quote-card{padding:18px 17px}
.home-primary .booking-side .quote-card h3{font-size:24px;margin:9px 0 6px}
.home-primary .booking-side .quote-sub{font-size:13px;margin-bottom:9px}
.home-primary .booking-side .quote-disclaimer,.home-primary .booking-side .quote-foot{font-size:10px;line-height:1.4}
@media(max-width:1120px) and (min-width:901px){.home-primary{grid-template-columns:minmax(0,1fr) minmax(310px,340px);gap:18px}.home-primary .listing-details .details-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-primary .listing-details .detail-card li{font-size:13px}.home-primary .showcase-hero{grid-template-columns:minmax(0,1.2fr) minmax(300px,.9fr);gap:20px}.home-primary .showcase-art{height:clamp(310px,34vw,390px)}}
@media(max-width:900px){.home-primary{display:flex;flex-direction:column;gap:22px;padding:10px 22px 0}.home-primary .home-showcase,.home-primary .listing-details,.home-primary .booking-layout{width:100%}.home-primary .home-showcase{order:1}.home-primary .listing-details{order:2;padding:0}.home-primary .booking-layout{order:3}.home-primary .showcase-hero{grid-template-columns:minmax(0,1.2fr) minmax(300px,.9fr);grid-template-areas:"art copy";gap:20px}.home-primary .showcase-art{height:clamp(290px,39vw,390px)}.home-primary .listing-details .details-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.home-primary .booking-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.9fr);gap:16px;padding:0}.home-primary .booking-main{padding:15px}.home-primary .booking-side .quote-card{height:100%}}
@media(max-width:760px){.home-primary{gap:17px;padding:8px 18px 0}.home-primary .showcase-hero{display:flex;flex-direction:column;align-items:stretch;gap:8px}.home-primary .showcase-art{height:clamp(260px,72vw,360px)}.home-primary .showcase-hero .intro-copy{padding:6px 0 4px}.home-primary .showcase-hero .intro-copy h1{font-size:clamp(42px,10vw,56px);margin-bottom:13px}.home-primary .showcase-hero .lead{font-size:16px;line-height:1.5}.home-primary .listing-details .details-grid{grid-template-columns:1fr}.home-primary .listing-details .detail-card{padding:16px}.home-primary .listing-details .detail-card li{font-size:15px}.home-primary .listing-details .photo-gallery{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(3,clamp(130px,40vw,180px))}.home-primary .listing-details .gallery-feature{grid-row:auto;grid-column:span 2}.home-primary .booking-layout{display:flex;flex-direction:column;gap:12px}.home-primary .booking-main{padding:14px 12px}.home-primary .booking-main .day{height:clamp(34px,9vw,41px);font-size:14px}.home-primary .booking-main .calendar-legend{flex-wrap:wrap;font-size:11px}.home-primary .booking-main .calendar-legend small{width:100%;margin:0}.home-primary .booking-side .quote-card{padding:18px}}
@media(max-width:390px){.home-primary{padding-left:13px;padding-right:13px}.home-primary .showcase-art{height:235px}.home-primary .showcase-hero .intro-copy h1{font-size:40px}}
/* Make booking a slim side rail so the house details get the visual room. */
.home-primary{grid-template-columns:minmax(0,1fr) minmax(292px,310px);gap:22px 24px}
.home-primary .booking-main{padding:12px 10px}
.home-primary .booking-main .section-heading h2{font-size:22px}
.home-primary .booking-main .step-chip{padding:4px 7px}
.home-primary .booking-main .date-fields{gap:5px}
.home-primary .booking-main .date-fields>label{font-size:9px}
.home-primary .booking-main .date-input,.home-primary .booking-main .guest-select{height:35px;padding:0 8px}
.home-primary .booking-main .date-input input,.home-primary .booking-main .guest-select select{font-size:11px}
.home-primary .booking-main .calendar-card{padding:8px 7px 7px}
.home-primary .booking-main .weekday{font-size:9px;padding:3px 0}
.home-primary .booking-main .day{height:29px;font-size:11px}
.home-primary .booking-main .calendar-legend{gap:6px;font-size:9px}
.home-primary .booking-main .calendar-legend small{font-size:9px}
@media(max-width:1120px) and (min-width:901px){.home-primary{grid-template-columns:minmax(0,1fr) minmax(282px,300px)}}
.home-primary .home-quick-info{display:flex;align-items:center;justify-content:space-around;gap:12px;margin-top:18px;padding:10px 0;border-top:1px solid #424b45;border-bottom:1px solid #424b45}
.home-primary .home-quick-info>span{display:flex;align-items:baseline;justify-content:center;gap:5px;padding:0;border:0;border-radius:0;background:transparent;color:var(--ink);font-size:14px;white-space:nowrap}
.home-primary .home-quick-info>span strong{display:inline;padding:0;border:0;color:var(--ink);font-size:17px;font-weight:700}
.home-primary .booking-main .section-heading{margin-bottom:15px}
.home-primary .booking-main .date-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:12px}
.home-primary .booking-main .date-divider{display:none}
.home-primary .booking-main .date-fields>label.people-field{grid-column:auto;max-width:none}
.home-primary #request-booking[hidden]{display:none}
.home-primary .booking-side .quote-kicker{font-size:12px}
.home-primary .booking-side .quote-status{font-size:12px}
@media(max-width:540px){.home-primary .home-quick-info{gap:6px}.home-primary .home-quick-info>span{gap:3px;font-size:12px}.home-primary .home-quick-info>span strong{font-size:15px}.home-primary .booking-main .date-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Two readable home-detail cards, followed by the destination map at full width. */
.home-primary .listing-details .details-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px}
.home-primary .listing-details .local-map-card{grid-column:1/-1;min-width:0;overflow-x:auto;padding:19px 20px 14px;background:#fff;border:1px solid #dce4dd;border-radius:12px;box-shadow:0 6px 20px #243d3008}
.local-map-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:12px}
.local-map-heading>div{display:grid;grid-template-columns:34px auto;column-gap:10px;align-items:center}
.local-map-heading .detail-icon{grid-row:span 2;width:34px;height:34px;margin:0;font-size:18px}
.local-map-heading h3{margin:0;color:#35463b;font:500 21px/1.2 var(--serif)}
.local-map-heading p{margin:3px 0 0;color:#69786e;font-size:14px}
.local-map-heading .map-note{padding-bottom:2px;color:#758176;font-size:13px;white-space:nowrap}
.local-map-expand{display:block;width:100%;cursor:zoom-in}
.local-area-map{display:block;width:100%;max-width:100%;min-width:0;height:auto;aspect-ratio:auto}
.local-area-map .map-distance{fill:#395d83;stroke:#f6f8f5;stroke-width:6px;paint-order:stroke;font:700 16px/1 system-ui,sans-serif;text-anchor:middle}
.local-area-map .map-bourbon-distance{fill:#896a39}
.local-area-map .map-region{fill:#78887d;font:700 14px system-ui,sans-serif;letter-spacing:2px}
.local-area-map .map-label circle{fill:#fff;stroke:#4d759f;stroke-width:3}
.local-area-map .map-icon-disc{fill:#fffaf0;stroke:#a9854f;stroke-width:2.2}
.local-area-map .map-barrel-body{fill:#c59a5c;stroke:#795a34;stroke-width:1.4;stroke-linejoin:round}
.local-area-map .map-barrel-hoop{fill:none;stroke:#fff1d5;stroke-width:1.8;stroke-linecap:round}
.local-area-map .map-horse-icon{fill:#80633f;stroke:#5e472e;stroke-width:.8;stroke-linejoin:round}
.local-area-map .map-horse-eye{fill:#fffaf0}
.local-area-map .map-label text,.local-area-map .map-home text{fill:#344b60;stroke:#f6f8f5;stroke-width:6px;paint-order:stroke;font:650 17px system-ui,sans-serif}
.local-area-map .map-bourbon circle{stroke:#9b7c49}
.local-area-map .map-home circle{fill:#345b8a;stroke:#fff;stroke-width:4}
.local-area-map .map-home path{fill:#f5d48d;stroke:#fff;stroke-width:1.3}
.local-area-map .map-home text{fill:#25486d;font-weight:750}
.local-area-map .map-north path{fill:none;stroke:#58718a;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.local-area-map .map-north text{fill:#58718a;font:700 14px system-ui,sans-serif}
.map-legend{display:flex;align-items:center;gap:20px;flex-wrap:wrap;padding:11px 2px 0;color:#56675e;font-size:13px}
.map-legend span{display:inline-flex;align-items:center;gap:7px}
.map-legend i{width:10px;height:10px;border:2px solid #4d759f;border-radius:50%;background:#fff}
.map-legend .legend-home{border-color:#345b8a;background:#345b8a}
.map-legend .legend-bourbon{border-color:#9b7c49}
.map-legend small{margin-left:auto;color:#78857b;font-size:12px}
@media(max-width:760px){.home-primary .listing-details .details-grid{grid-template-columns:1fr}.home-primary .listing-details .local-map-card{grid-column:auto;padding:15px 12px 12px}.local-map-heading{align-items:flex-start;flex-direction:column;gap:6px}.local-map-heading .map-note{padding-left:44px;white-space:normal}.map-legend{gap:10px;font-size:12px}.map-legend small{width:100%;margin:0}}
@media(max-width:600px){.local-area-map{min-width:820px}}
@media(max-width:600px){
  .home-primary .showcase-hero{gap:4px}
  .home-primary .showcase-hero .showcase-art{height:clamp(190px,50vw,235px)}
  .home-primary .showcase-hero .home-quick-info{display:grid;grid-template-columns:1fr;gap:0;margin:12px auto 0;padding:5px 0}
  .home-primary .showcase-hero .home-quick-info>span{display:flex;width:100%;justify-content:center;gap:5px;padding:6px 0;font-size:14px;white-space:nowrap}
  .home-primary .showcase-hero .home-quick-info>span strong{display:inline;padding:0;font-size:15px;white-space:nowrap}
  .home-primary .showcase-hero .direct-booking-line{margin:0 auto;padding-top:8px}
}
/* Put the photo mosaic ahead of the regional map; the low strip is a compact extra peek on desktop. */
.home-primary .listing-details .gallery-heading,.home-primary .listing-details .photo-gallery{grid-column:1/-1}
.home-primary .listing-details .photo-gallery{grid-template-rows:repeat(2,clamp(125px,12vw,170px)) minmax(98px,126px);gap:9px}
@media(max-width:760px){.home-primary .listing-details .gallery-third-row{display:none}}
.review-score>span.review-stars{display:block;margin:0 0 5px;color:#c99a56;font-size:23px;letter-spacing:1px;line-height:1}
.review-score>span.review-stars svg{display:block;width:112px;height:22px}
/* A calmer page width, coordinated card headers, a genuine fireplace lead photo, and reviews beside the room details. */
@media(min-width:1101px){
  .topbar{max-width:1440px;margin:0 auto;padding-left:clamp(22px,2.2vw,38px);padding-right:clamp(22px,2.2vw,38px)}
  .home-primary{max-width:1440px;padding-left:clamp(22px,2vw,34px);padding-right:clamp(22px,2vw,34px)}
  .home-primary .showcase-hero{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(22px,2.4vw,34px)}
  .home-primary .showcase-art{height:clamp(300px,25vw,370px)}
  .home-primary .showcase-hero .intro-copy{padding:10px 0}
  .home-primary .showcase-hero .intro-copy h1{font-size:clamp(43px,3.4vw,55px);margin-bottom:13px}
  .home-primary .showcase-hero .lead{font-size:16px;line-height:1.5}
}
.home-primary .showcase-art .image-caption{display:none}
.home-primary .home-quick-info>span{gap:3px;font-size:12px;letter-spacing:-.01em}
.home-primary .home-quick-info>span strong{font-size:16px}
.home-primary .home-quick-info .neighborhood-map{display:flex;align-items:center;justify-content:center;gap:5px;color:var(--green);font-size:13px;text-decoration:none;white-space:nowrap;padding:6px;border-radius:5px}
.home-primary .home-quick-info .neighborhood-map strong{display:inline;padding:0;border:0;font-size:13px}
.home-primary .home-quick-info .neighborhood-map span{display:inline;padding:0;border:0;color:inherit;font-size:13px;text-decoration:underline;text-underline-offset:3px}
.home-primary .home-quick-info .neighborhood-map:hover{background:#e5ede5}.home-primary .home-quick-info .neighborhood-map:focus-visible{outline:2px solid var(--green);outline-offset:3px}
@media(min-width:761px) and (max-width:1100px){.home-primary .showcase-hero .home-quick-info{flex-wrap:wrap}.home-primary .showcase-hero .home-quick-info>*{flex-basis:calc(50% - 12px)}}
.home-primary .listing-details .details-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:14px}
.home-primary .listing-details .sleeping-card{grid-column:1;grid-row:1}
.home-primary .listing-details .amenities-card{grid-column:2;grid-row:1}
.home-primary .listing-details .guest-notes{grid-column:1;grid-row:2;align-self:start;min-width:0;margin:0;padding:14px;background:#fff;border:1px solid #dce4dd;border-radius:10px}
.home-primary .listing-details .detail-card{padding:14px 16px 12px}
.home-primary .listing-details .detail-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin:0 0 7px}
.home-primary .listing-details .detail-card-heading h3{margin:0;font-size:18px;line-height:1.25}
.home-primary .listing-details .detail-icon{display:grid;place-items:center;flex:0 0 26px;width:26px;height:26px;margin:0;border-radius:0;background:transparent;color:#728779}
.home-primary .listing-details .detail-icon svg{display:block;width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.home-primary .listing-details .detail-card li{font-size:14px;line-height:1.38;padding:4px 0 4px 14px}
.home-primary .listing-details .detail-card li:before{top:11px}
.home-primary .listing-details .guest-notes .details-heading{display:block;margin:0 0 9px;padding:0}
.home-primary .listing-details .guest-notes .details-heading .eyebrow{font-size:10px;margin:0 0 3px}
.home-primary .listing-details .guest-notes .details-heading h2{font:500 19px/1.2 var(--serif);margin:0}
.home-primary .listing-details .guest-notes .details-heading>p{font-size:11px;line-height:1.3;text-align:left;margin:4px 0 0}
.home-primary .listing-details .guest-notes .review-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.home-primary .listing-details .guest-notes .review-score{min-height:0;padding:10px 11px;border-radius:7px}
.home-primary .listing-details .guest-notes .review-platform{font-size:10px}
.home-primary .listing-details .guest-notes .review-score strong{font-size:23px;margin:4px 0 2px}
.home-primary .listing-details .guest-notes .review-score strong small{font-size:12px}
.home-primary .listing-details .guest-notes .review-score>span:nth-of-type(2){font-size:10px}
.home-primary .listing-details .guest-notes .review-score>span.review-stars{margin:0 0 3px}
.home-primary .listing-details .guest-notes .review-score>span.review-stars svg{width:88px;height:18px}
.home-primary .listing-details .guest-notes .review-score .review-link-label{font-size:10px;padding-top:7px;margin-top:0}
.home-primary .listing-details .guest-notes .review-themes{grid-column:1/-1;min-height:0;padding:9px 10px}
.home-primary .listing-details .guest-notes .review-themes>div{gap:5px}
.home-primary .listing-details .guest-notes .review-themes>div span{font-size:10px;padding:5px 8px}
.home-primary .listing-details .guest-notes .review-themes p{font-size:9px;line-height:1.3;margin:7px 0 0}
.home-primary .listing-details .gallery-heading,.home-primary .listing-details .photo-gallery,.home-primary .listing-details .local-map-card{grid-column:1/-1}
.home-primary .listing-details .gallery-heading{grid-row:3}
.home-primary .listing-details .photo-gallery{grid-row:4;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(5,clamp(112px,9.5vw,142px));gap:8px}
.home-primary .listing-details .gallery-feature{grid-column:span 2;grid-row:span 2}
.home-primary .listing-details .local-map-card{grid-row:5}
.home-primary .listing-details .gallery-fourth-row{display:block}
.local-map-heading>div{display:block;min-width:0}
.local-map-heading .map-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.local-map-heading .map-title-row h3{margin:0}
.local-map-heading .detail-icon{flex:0 0 26px;width:26px;height:26px}
.local-map-heading .detail-icon svg{display:block;width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.local-map-heading p{margin-top:2px}
@media(max-width:1100px){
  .home-primary{max-width:100%;padding-left:22px;padding-right:22px}
  .home-primary .listing-details .details-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .home-primary .listing-details .sleeping-card{grid-column:1;grid-row:1}
  .home-primary .listing-details .amenities-card{grid-column:2;grid-row:1}
  .home-primary .listing-details .guest-notes{grid-column:1;grid-row:2}
  .home-primary .listing-details .gallery-heading{grid-row:3}
  .home-primary .listing-details .photo-gallery{grid-row:4}
  .home-primary .listing-details .local-map-card{grid-row:5}
}
@media(max-width:760px){
  .topbar{padding-left:18px;padding-right:18px}
  .home-primary{max-width:100%;padding-left:18px;padding-right:18px}
  .home-primary .listing-details .details-grid{grid-template-columns:1fr;gap:10px}
  .home-primary .listing-details .sleeping-card,.home-primary .listing-details .amenities-card,.home-primary .listing-details .guest-notes,.home-primary .listing-details .gallery-heading,.home-primary .listing-details .photo-gallery,.home-primary .listing-details .local-map-card{grid-column:1;grid-row:auto}
  .home-primary .listing-details .guest-notes{padding:13px}
  .home-primary .listing-details .photo-gallery{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(4,clamp(120px,38vw,165px));gap:7px}
  .home-primary .listing-details .gallery-feature{grid-column:span 2;grid-row:span 2}
  .home-primary .listing-details .gallery-third-row,.home-primary .listing-details .gallery-fourth-row{display:none}
  .home-primary .listing-details .local-map-card{padding:15px 12px 12px}
  .local-map-heading{align-items:flex-start;flex-direction:column;gap:6px}
  .local-map-heading .map-note{padding-left:0;white-space:normal}
}
@media(min-width:761px){
  .local-map-heading{display:grid;grid-template-columns:minmax(0,1fr) auto 26px;align-items:start;gap:12px}
  .local-map-heading>div{grid-column:1;grid-row:1}
  .local-map-heading .map-note{grid-column:2;grid-row:1;align-self:center}
  .local-map-heading>.detail-icon{grid-column:3;grid-row:1;justify-self:end}
}
@media(max-width:760px){
  .local-map-heading{display:grid;grid-template-columns:minmax(0,1fr) 26px;grid-template-rows:auto auto;gap:4px 10px;align-items:start;flex-direction:initial}
  .local-map-heading>div{grid-column:1;grid-row:1}
  .local-map-heading .map-note{grid-column:1/-1;grid-row:2;padding:0;white-space:normal}
  .local-map-heading>.detail-icon{grid-column:2;grid-row:1;justify-self:end}
}

/* Keep the compact reviews in the open space under the room list. */
.home-primary .listing-details .details-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:14px}
.home-primary .listing-details .sleeping-review-stack{grid-column:1;min-width:0;display:flex;flex-direction:column;gap:12px}
.home-primary .listing-details .sleeping-card{grid-column:auto;grid-row:auto}
.home-primary .listing-details .amenities-card{grid-column:2;grid-row:1;min-width:0}
.home-primary .listing-details .guest-notes{grid-column:auto;grid-row:auto;align-self:stretch;min-width:0;margin:0;padding:12px 14px;background:#fff;border:1px solid #dce4dd;border-radius:10px}
.home-primary .listing-details .guest-review-heading{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin:0 0 9px}
.home-primary .listing-details .guest-review-heading h3{margin:0;font-size:17px;line-height:1.2;color:#34473a}
.home-primary .listing-details .guest-review-heading p{margin:0;color:#718078;font-size:12px;line-height:1.3;text-align:right}
.home-primary .listing-details .review-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:10px;align-items:stretch}
.home-primary .listing-details .review-sources{display:flex;flex-direction:column;gap:7px;min-width:0}
.home-primary .listing-details .review-score{display:flex;flex-direction:column;align-items:stretch;gap:3px;min-height:0;padding:8px 10px;border:1px solid #dfe6df;border-radius:8px;background:#fbfcfa;text-decoration:none;transition:border-color .15s,transform .15s}
.home-primary .listing-details .review-score:hover{border-color:#8ca28f;transform:translateY(-1px)}
.home-primary .listing-details .review-score-top{display:flex;align-items:baseline;justify-content:space-between;gap:6px;width:100%}
.home-primary .listing-details .review-score strong{margin:0;color:#34533f;font-size:21px;line-height:1.1;letter-spacing:-.03em}
.home-primary .listing-details .review-score strong small{font-size:12px;color:#718078;font-weight:500}
.home-primary .listing-details .review-platform{font-size:11px;letter-spacing:.08em;text-transform:uppercase}
.home-primary .listing-details .review-stars{height:17px;line-height:17px;font-size:18px;letter-spacing:1px;background:linear-gradient(90deg,#c99a56 0 98%,#d9dee2 98%);color:transparent;background-clip:text}
.home-primary .listing-details .review-stars::before{content:"★★★★★"}
.home-primary .listing-details .review-count{color:#64736a;font-size:12px;line-height:1.25}
.home-primary .listing-details .review-score .review-link-label{margin:1px 0 0;padding:0;color:#58745e;font-size:12px;line-height:1.2;font-style:normal;font-weight:600}
.home-primary .listing-details .review-themes{min-width:0;min-height:0;padding:9px 10px;background:#f7f9f6;border:1px solid #e0e6de;border-radius:8px}
.home-primary .listing-details .review-themes h4{margin:0 0 6px;color:#46594c;font-size:14px;line-height:1.3}
.home-primary .listing-details .review-themes ul{list-style:none;display:grid;gap:4px;margin:0;padding:0}
.home-primary .listing-details .review-themes li{position:relative;padding-left:13px;color:#52645a;font-size:14px;line-height:1.32}
.home-primary .listing-details .review-themes li::before{position:absolute;left:0;top:.52em;width:5px;height:5px;border-radius:50%;background:#a68a62;content:""}

.inquiry-panel{margin-top:16px;padding-top:12px;border-top:1px solid #e2e7e0}
.inquiry-panel summary{color:#34483c;font-size:13px;font-weight:700;cursor:pointer;list-style:none}
.inquiry-panel summary::-webkit-details-marker{display:none}
.inquiry-panel summary::after{content:"+";float:right;color:#748078;font-size:17px;font-weight:400;line-height:1}
.inquiry-panel[open] summary::after{content:"−"}
.inquiry-panel form{display:grid;gap:10px;margin-top:12px}
.inquiry-panel label{display:grid;gap:5px;color:#42534a;font-size:11px;font-weight:700}
.inquiry-panel input,.inquiry-panel textarea{width:100%;min-width:0;border:1px solid #d9e0d8;border-radius:5px;padding:9px 10px;background:#fff;color:#293930;font:400 13px/1.4 var(--sans)}
.inquiry-panel textarea{resize:vertical;min-height:76px}
.inquiry-panel input:focus,.inquiry-panel textarea:focus{outline:2px solid #9aaf9e;outline-offset:1px}
.inquiry-panel .button{width:100%;min-height:42px;justify-content:space-between;padding:0 14px}
.inquiry-note{margin:0;color:#69776d;font-size:10px;line-height:1.4}
@media(max-width:900px){.home-primary .listing-details .details-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-primary .listing-details .sleeping-review-stack{grid-column:1}.home-primary .listing-details .amenities-card{grid-column:2}}
@media(max-width:760px){.home-primary .listing-details .details-grid{grid-template-columns:1fr}.home-primary .listing-details .sleeping-review-stack,.home-primary .listing-details .amenities-card{grid-column:1}.home-primary .listing-details .review-grid{grid-template-columns:1fr}.home-primary .listing-details .review-sources{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.home-primary .listing-details .review-score{padding:9px 10px}.home-primary .listing-details .guest-review-heading{align-items:flex-start;flex-direction:column;gap:3px}.home-primary .listing-details .guest-review-heading p{text-align:left}}
.home-primary .showcase-hero .stay-slogan{margin:-14px 0 12px;color:#405b49;font:italic 500 22px/1.2 var(--serif)}
.home-primary .showcase-hero .direct-booking-line{margin:-16px 0 20px;color:#425c49;font-size:13px;font-weight:700;line-height:1.45}
.home-primary .booking-layout{display:flex;flex-direction:column;gap:12px}
.home-primary .booking-main{position:static;width:100%;min-width:0}
.home-primary .booking-main .inline-estimate{margin-top:12px;padding:14px 17px;border:1px solid #dfe5dc;border-radius:9px;background:#fff;box-shadow:0 6px 20px #24372d0c}
.home-primary .booking-main .inline-estimate .quote-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0}
.home-primary .booking-main .inline-estimate .quote-kicker{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#617267;font-weight:700}
.home-primary .booking-main .inline-estimate .quote-status{font-size:14px;font-weight:700;color:#314a3a}
.home-primary .booking-main .inline-estimate .quote-sub{margin:7px 0 0;color:#526057;font-size:13px;line-height:1.4}
.home-primary .booking-main .inline-estimate .quote-lines{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px 18px;margin-top:11px;padding-top:10px;border-top:1px solid #e3e8e1}
.home-primary .booking-main .inline-estimate .quote-lines>div{display:flex;justify-content:space-between;gap:8px;color:#5d6a61;font-size:12px;line-height:1.35}
.home-primary .booking-main .inline-estimate .quote-lines .quote-total{font-weight:700;color:#304a3a}
.home-primary .booking-main .inline-estimate .quote-disclaimer{margin:10px 0 0;color:#778178;font-size:10px;line-height:1.4}
.home-primary .booking-layout>.guest-notes{width:100%;min-width:0;margin:0;padding:16px 18px 10px;background:#fff;border:1px solid #dce4dd;border-radius:10px}
.home-primary .booking-layout .guest-review-heading{margin:0 0 10px}
.home-primary .booking-layout .guest-review-heading h3{margin:0;color:#34473a;font:500 21px/1.2 var(--serif)}
.home-primary .booking-layout .review-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(230px,.8fr);gap:14px;align-items:stretch}
.home-primary .booking-layout .review-sources{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;min-width:0}
.home-primary .booking-layout .review-score{display:flex;flex-direction:column;align-items:stretch;gap:3px;min-width:0;padding:11px 13px;border:1px solid #dfe6df;border-radius:8px;background:#fbfcfa;text-decoration:none}
.home-primary .booking-layout .review-score-top{display:flex;align-items:baseline;justify-content:space-between;gap:6px;width:100%}
.home-primary .booking-layout .review-score strong{margin:0;color:#34533f;font-size:24px;line-height:1.1;letter-spacing:-.03em}
.home-primary .booking-layout .review-score strong small{font-size:12px;color:#718078;font-weight:500}
.home-primary .booking-layout .review-platform{font-size:10px;letter-spacing:.08em;text-transform:uppercase}
.home-primary .booking-layout .review-stars{height:17px;line-height:17px;font-size:18px;letter-spacing:1px;background:linear-gradient(90deg,#c99a56 0 98%,#d9dee2 98%);color:transparent;background-clip:text}
.home-primary .booking-layout .review-stars::before{content:"★★★★★"}
.home-primary .booking-layout .review-count{color:#45564b;font-size:12px;line-height:1.25}
.home-primary .booking-layout .review-badge{color:#334b3a;font-size:12px;font-weight:700;line-height:1.25}
.home-primary .booking-layout .review-score .review-link-label{margin:5px 0 0;padding-top:6px;border-top:1px solid #e4e9e3;color:#58745e;font-size:11px;line-height:1.2;font-style:normal;font-weight:600}
.home-primary .booking-layout .review-themes{min-width:0;padding:11px 13px;background:#f7f9f6;border:1px solid #e0e6de;border-radius:8px}
.home-primary .booking-layout .review-themes h4{margin:0 0 7px;color:#293a30;font-size:15px;line-height:1.3}
.home-primary .booking-layout .review-themes ul{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 14px;margin:0;padding:0}
.home-primary .booking-layout .review-themes li{position:relative;padding-left:13px;color:#34443a;font-size:13px;line-height:1.35}
.home-primary .booking-layout .review-themes li::before{position:absolute;left:0;top:.52em;width:5px;height:5px;border-radius:50%;background:#a68a62;content:""}
.home-primary .booking-layout .review-snapshot{margin:8px 0 0;color:#929b93;font-size:10px;line-height:1.3;text-align:right}
.home-primary .listing-details .details-grid{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}
@media(max-width:900px){.home-primary .booking-layout{display:flex;flex-direction:column}.home-primary .booking-layout .review-grid{grid-template-columns:minmax(0,1fr) minmax(205px,.8fr)}}
@media(max-width:760px){.home-primary .listing-details .details-grid{grid-template-columns:1fr}.home-primary .booking-layout .review-grid{grid-template-columns:1fr}.home-primary .booking-layout .review-sources{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.home-primary .booking-layout .review-score{padding:9px 10px}.home-primary .booking-layout .review-score strong{font-size:21px}.home-primary .booking-layout .review-themes ul{grid-template-columns:repeat(2,minmax(0,1fr))}.home-primary .booking-main .inline-estimate .quote-lines{grid-template-columns:repeat(2,minmax(0,1fr))}}
.home-primary .house-rules .registration-note{display:flex;flex-direction:column;gap:3px}
.home-primary .house-rules .registration-note span{margin:0;color:#657268}
.home-primary .house-rules .registration-note .registration-owner{color:#657268}

.registration-note{display:flex;flex-direction:column;gap:3px}
.registration-note span{display:block;margin:0}
#quote-card[hidden]{display:none}


/* Tight, readable booking flow and true contact sheet for every listing photo. */
.home-primary .showcase-hero .home-quick-info{margin:18px auto 0;padding:12px 0;border-top:1px solid #dce4dc;border-bottom:1px solid #dce4dc}
.home-primary .showcase-hero .direct-booking-line{max-width:520px;margin:0 auto 20px;padding-top:8px;text-align:center;color:#405b49;font-size:13px;font-weight:700;line-height:1.35}
.home-primary .listing-details .details-grid{grid-template-columns:minmax(0,1.22fr) minmax(0,.98fr)}
.home-primary .booking-main .section-heading{margin-bottom:9px}
.home-primary .booking-step-heading{display:flex;align-items:center;gap:10px;margin:13px 0 8px;color:#34483b}
.home-primary .booking-step-heading>span{display:grid;place-items:center;flex:0 0 25px;height:25px;border-radius:50%;background:#e7eee5;color:#315541;font-size:12px;font-weight:700}
.home-primary .booking-step-heading strong,.home-primary .booking-step-heading small{display:block}
.home-primary .booking-step-heading strong{font-size:14px;line-height:1.25}
.home-primary .booking-step-heading small{margin-top:2px;color:#65746a;font-size:11px;line-height:1.35}
.home-primary .booking-main .availability-note{margin:8px 0 0;flex-wrap:wrap}
.home-primary .booking-main .selected-dates{display:flex;align-items:baseline;gap:8px;min-width:0;margin-top:8px;padding:8px 0;border-bottom:1px solid #e2e8e1;color:#35483b}
.home-primary .booking-main .selected-dates>span{color:#66756a;font-size:11px;font-weight:600}
.home-primary .booking-main .selected-dates strong{min-width:0;font-size:14px;font-weight:600}
.home-primary .booking-main .selected-dates button{margin-left:auto;border:0;background:transparent;color:#68786c;font:600 11px var(--sans);cursor:pointer}
.home-primary .booking-main .guest-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:9px}
.home-primary .booking-main .guest-fields>label{min-width:0;color:#596a5e;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.home-primary .booking-main .guest-select{width:100%;height:40px;margin-top:5px}
.home-primary .booking-main .inline-estimate{margin-top:10px;padding:13px 15px}
.home-primary .booking-main .inline-estimate .quote-lines{display:grid;grid-template-columns:minmax(0,1fr);gap:0;margin-top:9px;padding-top:4px}
.home-primary .booking-main .inline-estimate .quote-lines>div{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;padding:6px 0;border-bottom:1px solid #e8ece7;line-height:1.3}
.home-primary .booking-main .inline-estimate .quote-lines>div>span{min-width:0;overflow-wrap:anywhere}
.home-primary .booking-main .inline-estimate .quote-lines>div>b{flex:0 0 auto;white-space:nowrap}
.home-primary .booking-main .inline-estimate .quote-lines .quote-total{margin-top:2px;padding:8px 0 0;border-top:1px solid #dce4dc;border-bottom:0}
.home-primary .booking-main .inline-estimate .quote-disclaimer{font-size:10px;line-height:1.4;color:#657268}
.home-primary .booking-main .inline-estimate .quote-sub{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px}
.home-primary .booking-main .guest-step-heading small{font-size:10.5px;letter-spacing:-.015em}
.home-primary .booking-layout .review-grid{grid-template-columns:minmax(0,1fr);gap:9px}
.home-primary .booking-layout .review-sources{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.home-primary .booking-layout .review-score{min-height:0;padding:9px 11px;gap:4px}
.home-primary .booking-layout .review-score .review-link-label{margin-top:3px;padding-top:5px}
.home-primary .booking-layout .review-themes{padding:11px 13px}
.home-primary .booking-layout .review-themes h4{color:#293a30;font-size:16px}
.home-primary .booking-layout .review-themes ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 14px}
.home-primary .booking-layout .review-themes li{color:#34443a;font-size:14px;line-height:1.4}
.home-primary .booking-layout .review-snapshot{margin-top:7px;color:#7b887e}
.gallery-dialog{display:none;overflow:auto;padding:54px clamp(16px,4vw,56px) 30px}
.gallery-dialog[open]{display:block}
.gallery-dialog [hidden]{display:none!important}
.gallery-close{position:fixed!important;z-index:5}
.gallery-overview h2{margin:0 0 18px;color:#fff;font:500 28px/1.2 var(--serif)}
.gallery-overview h2 span{color:#cbd2cd;font:400 15px var(--sans)}
.gallery-thumbnails{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.gallery-dialog button.gallery-thumb{position:relative;display:flex;flex-direction:column;overflow:hidden;min-width:0;padding:0;border:1px solid #ffffff25;border-radius:8px;background:#26332c;text-align:left}
.gallery-thumb img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.gallery-thumb span{position:static;display:block;padding:8px 10px;color:#fff;font-size:12px;line-height:1.3;font-weight:600}
.gallery-dialog button.gallery-thumb:hover{background:#39483d}
.gallery-viewer{display:grid;grid-template-columns:52px minmax(0,1fr) 52px;grid-template-rows:auto minmax(0,1fr);align-items:center;gap:12px;min-height:calc(100vh - 105px)}
.gallery-dialog button.gallery-back{position:static;grid-column:1/-1;justify-self:start;padding:8px 12px;border-radius:7px;font-size:13px}
.gallery-dialog button.gallery-prev,.gallery-dialog button.gallery-next{position:static;transform:none;width:48px;height:56px;border-radius:10px;font-size:36px}
.gallery-dialog figure{grid-column:2;grid-row:2;min-width:0;height:auto;max-width:none}
.gallery-dialog figure img{max-width:100%;max-height:calc(100vh - 180px)}
.gallery-dialog figcaption{width:100%;max-width:1100px}
@media(max-width:900px){.gallery-thumbnails{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.home-primary .listing-details .details-grid{grid-template-columns:1fr}.home-primary .booking-main .guest-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.home-primary .booking-layout .review-grid{grid-template-columns:1fr}.home-primary .booking-layout .review-sources{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-thumbnails{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.gallery-dialog{padding:56px 12px 18px}.gallery-viewer{grid-template-columns:40px minmax(0,1fr) 40px;gap:6px;min-height:calc(100vh - 80px)}.gallery-dialog button.gallery-prev,.gallery-dialog button.gallery-next{width:38px;height:48px;font-size:30px}.gallery-dialog figure img{max-height:calc(100vh - 170px)}.gallery-thumb span{font-size:11px;padding:7px 8px}}
.home-primary .listing-details .gallery-item[hidden]{display:none!important}
.home-primary .listing-details .details-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}
.home-primary .booking-main .booking-step-heading{display:flex;align-items:center;gap:11px;min-height:52px;margin:0 0 10px;padding:9px 12px;border:1px solid #dce5dc;border-radius:8px;background:#edf2ec;color:#30483a}
.home-primary .booking-main .booking-step-heading>span{flex:0 0 27px;width:27px;height:27px;border-radius:50%;background:#315541;color:#fff;font-size:13px}
.home-primary .booking-main .booking-step-heading strong{font-size:14px;font-weight:700}
.home-primary .booking-main .booking-step-heading small{margin-top:2px;color:#5e6c62;font-size:11px;line-height:1.35}
.home-primary .booking-main .guest-step-heading{margin-top:14px}
.home-primary .booking-main .inline-estimate .estimate-step-heading{margin:0 0 11px}
.home-primary .booking-main .day.unverified{border:1px dashed #9eac9f;background:#f4f6f2;color:#58685c}
.home-primary .inquiry-trap{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important}
@media(max-width:760px){.home-primary .listing-details .details-grid{grid-template-columns:1fr}}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.home-primary .booking-main .selected-dates{flex-wrap:nowrap;gap:6px;white-space:nowrap}
.home-primary .booking-main .selected-dates>span{flex:none;white-space:nowrap}
.home-primary .booking-main .selected-dates strong{flex:1 1 auto;min-width:0;white-space:nowrap;font-size:13px;letter-spacing:-.015em}
.home-primary .booking-main .selected-dates button{flex:none}
.home-primary .booking-main .guest-step-heading small{white-space:nowrap}
.home-primary .booking-main .guest-select{position:relative;overflow:hidden;cursor:pointer}
.home-primary .booking-main .guest-select .guest-value{flex:1;min-width:0;color:#33443a;font:500 12px var(--sans);text-transform:none;letter-spacing:0;pointer-events:none}
.home-primary .booking-main .guest-select select{position:absolute;inset:0;z-index:2;width:100%;height:100%;margin:0;padding:0 32px 0 36px;opacity:0;cursor:pointer}
.home-primary .booking-main .guest-select:has(select:focus-visible){outline:2px solid #78927e;outline-offset:2px}
.reservation-start{width:100%;min-height:46px;margin-top:12px;justify-content:space-between;padding:0 17px}
.reservation-dialog{width:min(620px,calc(100vw - 28px));height:fit-content;min-height:0;max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);overflow-y:auto;margin:auto;padding:0;border:1px solid #dbe4da;border-radius:14px;background:#fbfcf9;color:var(--ink);box-shadow:0 25px 90px #13241d45}
.reservation-dialog::backdrop{background:#14231dcc;backdrop-filter:blur(3px)}
.reservation-content{padding:32px clamp(20px,5vw,42px) 34px}
.reservation-content .eyebrow{margin-bottom:8px}
.reservation-content h2{margin:0 0 9px;font:500 32px/1.1 var(--serif);letter-spacing:-.03em}
.reservation-summary{padding:12px 14px;border:1px solid #e1e8df;border-radius:8px;background:#f1f5ef;color:#435448;font-size:14px;line-height:1.5}
.reservation-progress{margin:19px 0 21px;color:#56685c;font-size:12px;font-weight:700}
.reservation-progress i{display:block;height:4px;margin-top:8px;border-radius:6px;background:#e4eae2;overflow:hidden}
.reservation-progress i b{display:block;width:50%;height:100%;background:#557761;transition:width .2s}
.reservation-step[hidden]{display:none}
.reservation-step label{display:block;margin:0 0 14px;color:#4d5d52;font-size:12px;font-weight:700}
.reservation-step label>span{font-weight:400;color:#7b887f}
.reservation-step input:not([type=radio]),.reservation-step textarea{display:block;width:100%;margin-top:6px;padding:11px 12px;border:1px solid #d7e0d7;border-radius:6px;background:white;color:#26372e;font:500 14px var(--sans)}
.reservation-step textarea{resize:vertical}
.reservation-two-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.reservation-step .button{min-height:44px;margin-top:4px}
.reservation-dialog .reservation-close{position:absolute;top:14px;right:15px}
.reservation-step fieldset{padding:0;border:0;margin:0 0 15px}
.reservation-step legend{margin-bottom:9px;color:#344b3c;font-size:15px;font-weight:700}
.reservation-step .payment-choice{display:flex;align-items:flex-start;gap:10px;padding:13px;border:1px solid #dfe6de;border-radius:8px;background:white;cursor:pointer}
.reservation-step .payment-choice input{margin:2px 0 0;accent-color:#315641}
.reservation-step .payment-choice b,.reservation-step .payment-choice small{display:block}
.reservation-step .payment-choice b{font-size:13px;color:#34483b}
.reservation-step .payment-choice small{margin-top:4px;color:#76837a;font-size:11px;line-height:1.4;font-weight:400}
.secure-payment-note{padding:11px 13px;border-radius:7px;background:#eef3ed;color:#617166;font-size:11px;line-height:1.5}
.reservation-actions{display:flex;justify-content:space-between;align-items:center;gap:12px}
.reservation-back{border:1px solid #d8e1d7;background:#fff;color:#405548}
.reservation-step .inquiry-note{min-height:20px;margin:12px 0 0;color:#52685a;font-size:12px}
.about-options{display:flex;justify-content:center;align-items:center;gap:12px;padding:24px;color:#637369}
.about-avatar{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#e7eee7;border:1px solid #d6e1d6;color:#355541;font:600 13px var(--serif)}
.about-options>div{font-size:13px;color:#637369}
.about-options>div>strong{color:#34493b}
.about-inquiry-link{margin-top:3px}
.about-options button{border:0;background:none;color:#365441;font:600 13px var(--sans);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.about-dialog{width:min(520px,calc(100vw - 28px));padding:0;border:1px solid #dbe4da;border-radius:14px;background:#fbfcf9;color:var(--ink);box-shadow:0 25px 90px #13241d45}
.about-dialog::backdrop{background:#14231dcc;backdrop-filter:blur(3px)}
.about-dialog article{padding:34px}
.about-dialog h2{margin:0 0 12px;font:500 30px/1.15 var(--serif)}
.about-dialog p{color:#607067;font-size:14px;line-height:1.7}
@media(max-width:600px){.reservation-two-fields{grid-template-columns:1fr;gap:0}.reservation-content{padding-top:28px}.reservation-content h2{font-size:28px}.about-options{flex-wrap:wrap}}
.home-primary .booking-layout .review-themes ul{grid-template-columns:minmax(0,1fr);gap:5px}
/* Price clarity, calendar feedback, and review labels */
.home-primary .booking-main .calendar-card{position:relative;overflow:hidden}
.home-primary .booking-main .calendar-loading{position:absolute;inset:0;z-index:8;display:flex;align-items:center;justify-content:center;gap:12px;padding:24px;background:rgba(250,251,248,.9);backdrop-filter:blur(3px);text-align:left;color:#314b3c}
.home-primary .booking-main .calendar-loading[hidden]{display:none}
.calendar-spinner{width:22px;height:22px;flex:0 0 22px;border:2px solid #cbd8cd;border-top-color:#315842;border-radius:50%;animation:calendar-spin .8s linear infinite}
@keyframes calendar-spin{to{transform:rotate(360deg)}}
.calendar-loading strong,.calendar-loading small{display:block}
.calendar-loading strong{font-size:13px}
.calendar-loading small{margin-top:3px;color:#67766b;font-size:11px}
.home-primary .booking-main .calendar-legend>span{font-size:12px;color:#405447}
.home-primary .booking-main .inline-estimate .quote-tax-details{grid-column:1/-1;border-bottom:1px solid #e8ece7;color:#4e6054;font-size:12px}
.quote-tax-details summary{display:grid;grid-template-columns:minmax(0,1fr) auto 18px;align-items:center;gap:9px;min-height:34px;cursor:pointer;list-style:none}
.quote-tax-details summary::-webkit-details-marker{display:none}
.quote-tax-details summary>b{white-space:nowrap;color:#344a3b}
.quote-tax-details summary>i{font-style:normal;text-align:center;color:#768879;transition:transform .18s}
.quote-tax-details[open] summary>i{transform:rotate(180deg)}
.tax-items{padding:2px 0 9px 12px;border-top:1px solid #edf0eb}
.tax-items p{display:flex;justify-content:space-between;gap:12px;margin:0;padding:5px 0;color:#637167;font-size:11px;line-height:1.35}
.tax-items p b{white-space:nowrap;color:#415348}
.tax-items small{display:block;margin-top:6px;color:#77837a;font-size:10px;line-height:1.45}
.pricing-help{display:inline-grid;width:18px;height:18px;place-items:center;margin-left:4px;padding:0;border:1px solid #9aa89b;border-radius:50%;background:#fff;color:#425747;font:600 11px/1 var(--sans);vertical-align:middle;cursor:pointer}
.pricing-help:hover,.pricing-help:focus-visible{border-color:#355943;background:#eef3ed;outline:2px solid #dce8dd;outline-offset:1px}
.direct-savings{display:flex;align-items:center;gap:11px;margin:12px 0 2px;padding:12px 14px;border:1px solid #ccddce;border-radius:8px;background:#edf5ec;color:#2e5940}
.direct-savings[hidden]{display:none}
.savings-icon{display:grid;width:30px;height:30px;flex:0 0 30px;place-items:center;border-radius:50%;background:#d8ead8;color:#28523b;font-size:18px;font-weight:700}
.direct-savings p{margin:0;line-height:1.35}
.direct-savings strong{font-size:15px;color:#214f36}
.direct-savings p>span{font-size:12px;font-weight:600}
.direct-savings small{display:block;margin-top:4px;color:#58715e;font-size:10px;line-height:1.35}
.pricing-help-dialog{position:fixed;inset:0;width:min(430px,calc(100vw - 32px));max-width:none;max-height:80vh;margin:auto;padding:38px 30px 28px;border:1px solid #dce5dc;border-radius:12px;background:#fff;color:#34473a;box-shadow:0 24px 80px #17231e45}
.pricing-help-dialog::backdrop{background:#18251f80;backdrop-filter:blur(2px)}
.pricing-help-dialog article{margin:0}
.pricing-help-dialog h2{margin:0 0 12px;font:500 25px/1.2 var(--serif);color:#2d4335}
.pricing-help-dialog article>p:last-child{margin:0;color:#53645a;font-size:14px;line-height:1.6}
.pricing-help-dialog .pricing-help-close{position:absolute;top:8px;right:10px}
.reservation-notes{display:block;margin:14px 0;color:#56645a;font-size:12px;font-weight:600}
.reservation-notes>span{color:#7f8a81;font-weight:400}
.reservation-notes textarea{display:block;width:100%;margin-top:6px;padding:10px;border:1px solid #d9e1d8;border-radius:6px;font:14px var(--sans)}
.home-primary .booking-layout .review-score-top{align-items:flex-start}
.home-primary .booking-layout .review-platform{align-self:flex-start;margin-top:0;color:#3f5145;font-size:11px;font-weight:700;letter-spacing:0;text-transform:none}

/* Even thumbnail rows; only the lead exterior is intentionally larger. */
.home-primary .listing-details .photo-gallery{grid-template-rows:none;grid-auto-rows:clamp(112px,10vw,148px);align-items:stretch}
.home-primary .listing-details .photo-gallery .gallery-item{height:auto;min-height:0}
.home-primary .listing-details .photo-gallery .gallery-feature{grid-column:span 2;grid-row:span 2}
.home-primary .listing-details .photo-gallery .gallery-item[hidden]{display:none!important}
.gallery-thumbnails{align-content:start}
.gallery-dialog .gallery-category-heading{grid-column:1/-1;margin:16px 0 0;padding:0 0 7px;border-bottom:1px solid #ffffff30;color:#fff;font-size:16px;font-weight:650}
.home-primary .booking-main .day.min-stay{opacity:.4;cursor:not-allowed}
.quote-tax-details summary{grid-template-columns:minmax(0,1fr) 18px auto}
.home-primary .showcase-hero .intro-copy h1.hero-title{display:flex;align-items:baseline;flex-wrap:wrap;column-gap:22px;row-gap:4px;font-size:clamp(29px,3.2vw,45px);line-height:1.08;letter-spacing:-.045em;margin-bottom:16px}
.home-primary .showcase-hero .intro-copy h1.hero-title>span{white-space:nowrap}
.home-primary .showcase-hero .intro-copy h1.hero-title .stay-slogan{color:#758675;font-size:clamp(20px,1.65vw,26px);font-style:italic;font-weight:500;letter-spacing:-.025em;white-space:nowrap}
@media(max-width:760px){.home-primary .showcase-hero .intro-copy h1.hero-title{font-size:clamp(27px,7.2vw,38px);column-gap:14px}.home-primary .showcase-hero .intro-copy h1.hero-title .stay-slogan{font-size:clamp(18px,5vw,23px)}}
.host-profiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:8px 0 18px}
.host-profile{display:flex;flex-direction:column;align-items:center;gap:10px;min-width:0;text-align:center}
.host-profile p{margin:0;font-size:12px;line-height:1.55}

/* Keep the landing collage packed while giving its first and last photos visual weight. */
.home-primary .listing-details .photo-gallery{grid-auto-flow:dense}
.home-primary .listing-details .photo-gallery>.gallery-item:first-child{grid-row:auto}
.home-primary .listing-details .photo-gallery>.gallery-feature{grid-column:span 2;grid-row:span 2}
.home-primary .listing-details .photo-gallery>.gallery-feature-vertical{grid-column:span 1;grid-row:span 2}

/* Keep the photo gallery visually connected to the room and amenity cards. */
.home-primary .listing-details .gallery-heading{margin-top:14px;margin-bottom:6px}
.home-primary .listing-details .photo-gallery{margin-top:0}
.home-primary .showcase-hero .intro-copy h1.hero-title{display:flex;flex-direction:column;align-items:flex-start;flex-wrap:nowrap;gap:0;letter-spacing:-.045em}
.home-primary .showcase-hero .intro-copy h1.hero-title .hero-script{margin:-1px 0 16px;color:#758675;font:400 clamp(42px,4.2vw,58px)/.88 'Allura','Brush Script MT',cursive;letter-spacing:0;white-space:nowrap}
.home-primary .showcase-hero .intro-copy h1.hero-title{gap:8px}
.home-primary .showcase-hero .intro-copy h1.hero-title>span{font-family:'DM Serif Display',var(--serif);font-weight:400;transform-origin:left center}
.home-primary .showcase-hero .intro-copy h1.hero-title .hero-script{margin:0 0 16px;line-height:1}
@media(min-width:761px){.home-primary .listing-details .photo-gallery>.gallery-feature-vertical{grid-column:3;grid-row:7/span 2}}
@media(max-width:760px){
  .home-primary .listing-details .photo-gallery>.gallery-feature{grid-column:span 2;grid-row:span 2}
  .home-primary .listing-details .photo-gallery>.gallery-feature-vertical{grid-column:span 1;grid-row:span 2}
  .home-primary .showcase-hero .intro-copy h1.hero-title .hero-script{font-size:clamp(39px,10vw,52px)}
}
.host-portrait{display:block;width:106px;height:106px;flex:0 0 106px;aspect-ratio:1;border-radius:50%;object-fit:cover;object-position:center 24%;background:#e8eee6}
@media(max-width:600px){.about-dialog article{padding:28px 22px}.host-profiles{gap:12px}.host-portrait{width:82px;height:82px;flex-basis:82px}.host-profile p{font-size:11px}}
.details-title-row{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 22px}
.details-title-row .stay-slogan{margin:0;color:#758675;font:italic 500 clamp(18px,1.65vw,24px)/1.2 var(--serif);letter-spacing:-.025em;white-space:nowrap}
.home-primary .booking-main .inline-estimate{padding:13px 0}
.home-primary .booking-main .inline-estimate .estimate-step-heading{margin:0 0 11px}
.home-primary .booking-main .inline-estimate>.quote-top,.home-primary .booking-main .inline-estimate>.quote-sub,.home-primary .booking-main .inline-estimate>.quote-lines,.home-primary .booking-main .inline-estimate>.direct-savings,.home-primary .booking-main .inline-estimate>.reservation-start,.home-primary .booking-main .inline-estimate>.quote-disclaimer,.home-primary .booking-main .inline-estimate>.inquiry-panel{margin-left:15px;margin-right:15px}
.home-primary .booking-main .inline-estimate [hidden]{display:none!important}
.host-profiles .host-portrait{justify-self:center}
@media(max-width:760px){.details-title-row{gap:4px 14px}.details-title-row .stay-slogan{font-size:clamp(17px,4.6vw,21px)}}
@media(max-width:600px){.home-primary .booking-main .selected-dates{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:3px 8px;white-space:normal}.home-primary .booking-main .selected-dates>span{white-space:nowrap}.home-primary .booking-main .selected-dates strong{white-space:normal;overflow-wrap:anywhere;line-height:1.35}.home-primary .booking-main .selected-dates button{align-self:start;margin:0;padding:0 2px}}
.rules-list .schedule-row{margin:0 0 4px;padding:13px 12px;border:1px solid #d7e4d8;border-radius:7px;background:#f0f5ee;color:#34483b}.rules-list .schedule-row:first-child{border-top:1px solid #d7e4d8}.rules-list .schedule-row b{font-size:12px;color:#294b3c}.rules-list .schedule-row span strong{font-size:12px;color:#294b3c;font-weight:700}
.cancellation-card{padding:16px;background:#fff;border:1px solid #dce4dc;border-radius:8px;box-shadow:0 5px 18px #243d3008;color:#647268;font-size:12px;line-height:1.55}.cancellation-card .eyebrow{margin:0 0 5px;font-size:9px;letter-spacing:.13em}.cancellation-card h3{margin:0 0 8px;color:#304238;font:500 20px/1.2 var(--serif)}.cancellation-card p{margin:0 0 8px}.cancellation-card p:last-child{margin-bottom:0}.cancellation-card a{color:#315541;font-weight:600;text-decoration:underline;text-underline-offset:2px}
@media(max-width:900px) and (min-width:761px){.home-primary .booking-layout>.cancellation-card{grid-column:2}}
@media(max-width:480px){.home-primary .booking-layout .review-sources{grid-template-columns:minmax(0,1fr);gap:9px}.home-primary .booking-layout .review-score{width:100%;padding:12px 14px}.home-primary .booking-layout .review-score-top{align-items:center}.home-primary .booking-layout .review-stars{width:100%;font-size:19px;letter-spacing:2px}.home-primary .booking-layout .review-count,.home-primary .booking-layout .review-badge,.home-primary .booking-layout .review-link-label{overflow-wrap:anywhere}.home-primary .booking-layout>.cancellation-card{grid-column:auto}}
@media(max-width:600px){.home-primary .showcase-hero .showcase-art{height:clamp(175px,42vw,220px);margin-top:-22px}.home-primary .showcase-hero .showcase-art .hero-art{margin-top:0}.home-primary .booking-main .selected-dates{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;align-items:start;gap:4px 8px;white-space:normal}.home-primary .booking-main .selected-dates>span{grid-column:1;grid-row:1}.home-primary .booking-main .selected-dates strong{grid-column:2;grid-row:1;min-width:0;font-size:14px;line-height:1.35;white-space:normal;overflow-wrap:anywhere}.home-primary .booking-main .selected-dates button{grid-column:2;grid-row:2;justify-self:end;align-self:start;margin:0;padding:0 2px}}
.home-primary .booking-layout>.house-rules{display:block;width:100%;min-width:0;margin:0;padding:16px;background:#fff;border:1px solid #dce4dc;border-radius:9px;box-shadow:0 5px 18px #243d3008}
.home-primary .house-rules-heading{margin:0 0 8px}
.home-primary .house-rules-heading h3{margin:0;color:#304238;font:500 20px/1.2 var(--serif)}
.home-primary .house-rules .rules-list p,.home-primary .house-rules .rules-list p:first-child{display:grid;grid-template-columns:minmax(88px,.65fr) minmax(0,1fr);gap:8px;margin:0;padding:8px 0;border-top:1px solid #e7ebe5;border-bottom:0;color:#657268;font-size:11px;line-height:1.45}
.home-primary .house-rules .rules-list b{color:#405448;font-size:11px}
.home-primary .house-rules .rules-list .schedule-row{padding:9px 10px;margin:0 0 3px;border:1px solid #d7e4d8;border-radius:6px;background:#f0f5ee}
.home-primary .house-rules .rules-list .schedule-row span{color:#34483b;font-size:11px;font-weight:600}
.site-footer{display:flex;align-items:center;justify-content:space-between;gap:12px 24px;max-width:1640px;margin:24px auto 0;padding:14px clamp(22px,3vw,46px) 20px;border-top:1px solid #e2e8e1;color:#657268;font-size:12px}
.site-footer .about-options{display:flex;align-items:center;gap:10px;margin:0;padding:0;border:0;background:transparent}
.site-footer .about-avatar{display:none}
.site-footer .about-options>div{display:flex;flex-wrap:wrap;align-items:center;gap:0 5px}
.site-footer .about-options strong{color:#405448}
.site-footer .about-options button{padding:0;border:0;background:none;color:#506f58;font:600 12px var(--sans);cursor:pointer}
.site-footer .registration-note{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:4px 18px;margin:0;color:#748078;font-size:11px;line-height:1.4}
.site-footer .registration-note b{color:#405448}
@media(max-width:600px){.home-primary .house-rules .rules-list p,.home-primary .house-rules .rules-list p:first-child{grid-template-columns:minmax(0,1fr);gap:2px}.site-footer{align-items:flex-start;flex-direction:column;margin-top:12px;padding:13px 18px 18px}.site-footer .registration-note{justify-content:flex-start}}
.home-primary .house-rules .rules-list .schedule-times{margin:0 0 4px;padding:0 10px;border:1px solid #d7e4d8;border-radius:6px;background:#f0f5ee}
.home-primary .house-rules .rules-list .schedule-times p,.home-primary .house-rules .rules-list .schedule-times p:first-child{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;margin:0;padding:8px 0;border:0;color:#34483b}
.home-primary .house-rules .rules-list .schedule-times p+p{border-top:1px solid #d7e4d8}
.home-primary .house-rules .rules-list .schedule-times b{font-size:11px;color:#294b3c}
.home-primary .house-rules .rules-list .schedule-times span{font-size:11px;font-weight:600;color:#34483b;text-align:right}
.home-primary .booking-main .day.available:not(.unverified):not(.selected):not(.checkin):not(.checkout):not(.other-month){border:1px solid #6b9a73;background:#e5f0e4;color:#244b34;font-weight:700}
.home-primary .booking-main .day.available:not(.unverified):not(.selected):not(.checkin):not(.checkout):not(.other-month):hover{background:#d5e8d5}
.home-primary .booking-main .legend-dot.available{background:#e5f0e4;box-shadow:inset 0 0 0 2px #4e8059}
.home-primary .booking-main .legend-dot.selected{background:#24473b;box-shadow:inset 0 0 0 1px #24473b}
@media(max-width:600px){.home-primary .house-rules .rules-list .schedule-times p,.home-primary .house-rules .rules-list .schedule-times p:first-child{grid-template-columns:minmax(0,1fr) auto;gap:8px}}
.home-primary .booking-main .selected-dates{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:4px 8px;white-space:normal}
.home-primary .booking-main .selected-dates>span{grid-column:1;grid-row:1;white-space:nowrap}
.home-primary .booking-main .selected-dates strong{grid-column:2;grid-row:1;min-width:0;white-space:normal;overflow-wrap:anywhere;line-height:1.35}
.home-primary .booking-main .selected-dates button{grid-column:3;grid-row:1;justify-self:end;align-self:start;flex:none;margin:0;padding:0 2px;white-space:nowrap}
.home-primary .booking-main .direct-savings small{font-size:12px;line-height:1.45;color:#435f4c}
.home-primary .listing-details .gallery-open{transition:background-color .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.home-primary .listing-details .gallery-open:hover{transform:translateY(-2px);background:#24473b;border-color:#24473b;color:#fff;box-shadow:0 5px 14px #24473b2e}
.home-primary .listing-details .gallery-open:focus-visible{outline:3px solid #8eac90;outline-offset:3px}
.home-primary .booking-main .day.selected:hover,.home-primary .booking-main .day.checkin:hover,.home-primary .booking-main .day.checkout:hover{background:#24473b;color:#fff;box-shadow:none;transform:none}
.home-primary .booking-main .day.in-range{background:#24473b;color:#fff;font-weight:700}
.home-primary .booking-main .day.available.in-range:not(.unverified):not(.selected):not(.checkin):not(.checkout):not(.other-month){border-color:#24473b;background:#24473b;color:#fff;font-weight:700}
.home-primary .booking-main .day.available.in-range:not(.unverified):not(.selected):not(.checkin):not(.checkout):not(.other-month):hover{border-color:#24473b;background:#24473b;color:#fff;box-shadow:none;transform:none}
.home-primary .booking-main .day.in-range:hover{background:#24473b;color:#fff;box-shadow:none;transform:none}
/* Secure checkout keeps price rows and buttons readable on narrow screens. */
.checkout-price{margin:20px 0}.checkout-price>div{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid #dce4dd}.checkout-price dd{margin:0;white-space:nowrap;font-weight:700}.checkout-total{font-size:1.15rem}.checkout-consent{display:flex!important;align-items:flex-start;gap:10px;margin:20px 0}.checkout-consent input{width:18px!important;height:18px;flex:none;margin-top:4px}.checkout-policy{padding:14px;background:#eef3ed;border-radius:8px}.checkout-policy summary{cursor:pointer;font-weight:600}.checkout-test-note{background:#fff1cb;padding:12px;border-radius:8px;color:#5c410b}.reservation-actions{flex-wrap:wrap}#payment-element{margin:20px 0}#checkout-confirmation{overflow-wrap:anywhere}
#reservation-dialog [hidden]{display:none!important}.reservation-dialog .reservation-close{position:absolute!important;top:14px!important;right:15px!important}

.reservation-dialog .checkout-consent{align-items:flex-start!important;line-height:1.5;padding:12px;border:1px solid transparent;border-radius:8px}.reservation-dialog .checkout-consent input{margin:3px 0 0!important;position:static!important;transform:none!important}.reservation-dialog .checkout-consent span{font-size:1rem!important;line-height:1.5;color:inherit;position:static;vertical-align:baseline}.reservation-dialog .checkout-consent.consent-error{color:#a51d24;background:#fff0f0;border-color:#a51d24;font-weight:600}.reservation-dialog .secure-payment-note{font-size:1rem!important;line-height:1.5;color:#33443b!important;font-weight:400;padding:10px 0;background:transparent;border-radius:0}#checkout-confirmation dl>div{display:grid;grid-template-columns:1fr 1.6fr;gap:12px;padding:10px 0;border-bottom:1px solid #dce4dd}#checkout-confirmation dt{font-weight:600}#checkout-confirmation dd{margin:0;overflow-wrap:anywhere}#checkout-confirmation p{line-height:1.6;color:#334b40}@media(max-width:480px){#checkout-confirmation dl>div{grid-template-columns:1fr;gap:4px}}


#reservation-start{justify-content:center;text-align:center}


.reservation-dialog .required-marker{color:#b4232b!important;font-size:1em!important;font-weight:700}


.reservation-dialog label.field-error{color:#a51d24}.reservation-dialog label.field-error input{border-color:#a51d24;background:#fff0f0;box-shadow:0 0 0 1px #a51d24}
.checkout-refund-schedule{margin:14px 0 0}.checkout-refund-schedule>div{display:grid;grid-template-columns:110px minmax(0,1fr);gap:14px;padding:12px 0;border-bottom:1px solid #d4dfd4;line-height:1.5}.checkout-refund-schedule dt{font-weight:600}.checkout-refund-schedule dd{margin:0}.checkout-policy .checkout-timezone{font-size:14px;margin:12px 0}.checkout-policy>p:last-child{margin-bottom:0;line-height:1.5}@media(max-width:480px){.checkout-refund-schedule>div{grid-template-columns:1fr;gap:4px}}


#reservation-status:not(:empty){font-size:1rem!important;line-height:1.5;color:#823027!important;font-weight:600}.calendar-return{margin-top:12px;text-decoration:underline;font-weight:650}



.payment-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0 0}.payment-choice{display:flex;flex-direction:column;align-items:flex-start;gap:6px;border:1px solid #cdd7d0;border-radius:9px;padding:15px;background:#fff;color:#294439;text-align:left;cursor:pointer;font:inherit}.payment-choice strong{font-size:1rem}.payment-choice span{font-size:.9rem;color:#405348;line-height:1.4}.payment-choice:hover{background:#f3f7f3;border-color:#597b68}.payment-choice[aria-pressed=true]{border:2px solid #244c3d;padding:14px;background:#edf4ee}.payment-choice:focus-visible{outline:3px solid #ae925f;outline-offset:3px}.payment-choice[hidden]{display:none!important}@media(max-width:400px){.payment-choices{grid-template-columns:1fr}}

