:root{--green:#293725;--gold:#b49c74;--cream:#f8f6f0;--ink:#263324;--muted:#6b7066}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--cream);color:var(--ink);font-family:Poppins,sans-serif;font-size:calc(14px + 2pt);line-height:1.8}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select,summary{outline-offset:5px}button{cursor:pointer}img{display:block;width:100%;height:100%;object-fit:cover}header{height:104px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;background:var(--cream);gap:30px}.brand{display:flex;align-items:center;gap:10px;font-size:calc(29px + 2pt);letter-spacing:-1.3px;line-height:1.2}.brand svg{height:80px;width:60px;fill:none;stroke:var(--gold);stroke-width:2}.brand small{display:block;font-size:calc(7px + 2pt);letter-spacing:2px;margin-top:5px}nav{display:flex;gap:30px;font-size:calc(16px + 2pt);text-transform: capitalize;font-weight: 500;}nav a:hover,.text-link:hover{color:#947949}.button{display:inline-flex;align-items:center;justify-content:center;gap:28px;background:var(--green);color:white;border:1px solid var(--green);padding:16px 25px;font-size:calc(14px + 2pt);font-weight:500;transition:background .2s}.button:hover{background:#42533b}.small{padding:12px 22px}.gold{background:var(--gold);border-color:var(--gold);color:#202b1c}.gold:hover{background:#c7af88}.hero{height:635px;position:relative;color:white;margin:0 20px}.hero>img{object-position:center 56%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,24,13,.82),rgba(14,24,13,.27) 70%),linear-gradient(0deg,rgba(14,24,13,.45),transparent 40%)}.hero-copy{position:absolute;top:105px;left:7%;}.eyebrow{font-size:calc(10px + 2pt);font-weight:500;letter-spacing:2.6px;margin:0 0 22px;color:#90774f}.hero .eyebrow{color:#ddc7a4}h1{font-size:calc(66px + 2pt);line-height:1.15;letter-spacing:-3px;font-weight:400;margin:0 0 22px}h2{font-size:calc(36px + 2pt);line-height:1.3;letter-spacing:-1.5px;font-weight:400;margin:0 0 20px}h3{font-size:calc(29px + 2pt);line-height:1.35;letter-spacing:-1px;font-weight:400;margin:12px 0}h4{margin:0;font-size:calc(14px + 2pt);font-weight:500}p{margin:0 0 18px}.hero-copy>p:not(.eyebrow){color:#e7e8df;font-size:calc(14px + 2pt);line-height:1.9;margin-bottom:30px}.hero-bottom{position:absolute;bottom:30px;left:7%;right:6%;display:flex;justify-content:space-between;font-size:calc(9px + 2pt);letter-spacing:2px}.wrap{max-width:1230px;margin:auto;padding-left:45px;padding-right:45px}.booking{display:grid;grid-template-columns:1fr 1.6fr;gap:40px;padding-top:43px;padding-bottom:43px;border-bottom:1px solid #dcded4}.booking h2{font-size:calc(22px + 2pt);letter-spacing:-.7px;margin:0 0 5px}.booking .eyebrow{font-size:calc(8px + 2pt);margin-bottom:8px}.booking p{font-size:calc(11px + 2pt);margin-bottom:0;color:var(--muted)}form{display:grid;grid-template-columns:1fr 1fr .7fr 1.4fr;align-items:center;gap:14px}label{font-size:calc(8px + 2pt);letter-spacing:1px}input,select{display:block;width:100%;background:transparent;border:0;border-bottom:1px solid #c9ccbf;padding:8px 0;color:var(--ink);font-size:calc(12px + 2pt);border-radius:0}.form-note{grid-column:1/-1;text-align:right;font-size:calc(9px + 2pt)!important}.intro{display:grid;grid-template-columns:1fr 1fr;gap:100px;padding-top:90px;padding-bottom:42px}.intro>div:last-child{padding-top:25px;color:var(--muted);font-size:calc(13px + 2pt)}.property{display:grid;grid-template-columns:1.25fr 1fr;gap:65px;padding-bottom:95px}.gallery button{border:0;padding:0;position:relative;background:var(--green);overflow:hidden}.gallery img{transition:transform .4s}.gallery button:hover img{transform:scale(1.035)}.main-photo{width:100%;height:380px}.thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:10px}.thumbs button{height:95px}.thumbs span{position:absolute;inset:0;background:#12200e88;color:white;display:grid;place-content:center;font-size:calc(9px + 2pt)}.property-info{padding-top:15px}.property-info .eyebrow{font-size:calc(8px + 2pt);margin-bottom:16px}.location{font-size:calc(11px + 2pt);color:var(--muted)}.facts{display:flex;border-top:1px solid #dddcd0;border-bottom:1px solid #dddcd0;padding:18px 0;margin:22px 0;gap:22px;font-size:calc(10px + 2pt)}.facts b{display:block;font-weight:500;font-size:calc(20px + 2pt)}.property-info>p:not(.eyebrow){font-size:calc(12px + 2pt);color:var(--muted)}.highlights{display:grid;gap:8px;font-size:calc(11px + 2pt);margin:20px 0 25px}.property-info .text-link{display:block;margin-top:14px;font-size:calc(10px + 2pt)}.amenities{background:#eeeee5;padding:75px 0;text-align:center}.amenities>div>p:not(.eyebrow){font-size:calc(12px + 2pt);color:var(--muted)}.amenity-grid{display:grid;grid-template-columns:repeat(6,1fr);margin-top:45px;gap:0}.amenity{padding:25px 10px;border-right:1px solid #d9d4c4;border-bottom:1px solid #d9d4c4;font-size:calc(14px + 2pt)}.amenity:nth-child(6n){border-right:0}.amenity:nth-last-child(-n+6){border-bottom:0}.amenity svg{display:block;width:32px;height:32px;margin:0 auto 15px;stroke:#ac8c55;fill:none;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}.building{display:grid;grid-template-columns:1fr 1.1fr;gap:100px;padding-top:95px;padding-bottom:95px}.building-art{background:var(--green);color:var(--gold);padding:45px;position:relative;overflow:hidden;min-height:480px}.building-art>span{font-size:calc(9px + 2pt);letter-spacing:3px}.building-art h2{font-size:calc(60px + 2pt);margin-top:25px;line-height:1.15}.building-art p{font-size:calc(9px + 2pt);letter-spacing:2px;position:absolute;bottom:25px}.line-art{position:absolute;right:20px;bottom:50px;font-size:calc(65px + 2pt);line-height:1;letter-spacing:4px;opacity:.16;transform:skewY(-15deg)}.building>div>p:not(.eyebrow){font-size:calc(12px + 2pt);color:var(--muted)}.feature{display:flex;gap:20px;margin:22px 0}.feature>b{color:var(--gold);font-size:calc(12px + 2pt);font-weight:400}.feature p{font-size:calc(11px + 2pt);color:var(--muted);margin:5px 0 0}.text-link{font-size:calc(12px + 2pt);text-decoration:underline;text-underline-offset:5px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:25px}.section-heading>p{font-size:calc(11px + 2pt);color:var(--muted)}.places{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:25px}.places a{border:1px solid #d5d7c9;padding:30px;transition:background .2s}.places a:hover{background:#e9eadd}.place-number{font-size:calc(8px + 2pt);letter-spacing:2px;color:#90774f}.places h3{font-size:calc(21px + 2pt);margin:25px 0 15px}.places p{font-size:calc(12px + 2pt);color:var(--muted)}.places a>span:last-child{font-size:calc(10px + 2pt)}.caption{font-size:calc(9px + 2pt);color:var(--muted);margin-top:18px}.faq{display:grid;grid-template-columns:1fr 1.3fr;gap:90px;padding-top:95px;padding-bottom:95px}.faq>div>p{font-size:calc(12px + 2pt)}details{border-bottom:1px solid #d3d7ca;padding:19px 0}summary{cursor:pointer;font-size:calc(13px + 2pt);list-style:none;display:flex;justify-content:space-between;gap:15px}summary:after{content:'+';color:#90774f}details[open] summary:after{content:'−'}details p{font-size:calc(11px + 2pt);color:var(--muted);margin:16px 25px 0 0}.contact{background:var(--green);text-align:center;color:#f3f2e8;padding:75px 0}.contact h2{font-size:calc(47px + 2pt)}.contact .eyebrow{color:var(--gold)}.contact p{font-size:calc(12px + 2pt);color:#c8cebf}.contact-buttons{display:flex;justify-content:center;gap:15px;margin:30px 0}.outline{border-color:#8c977e;background:transparent}.contact>.wrap>a{font-size:calc(11px + 2pt)}.dot{margin:0 20px}footer{padding-top:45px;padding-bottom:25px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:25px}.footer-brand{font-size:calc(27px + 2pt);letter-spacing:-1px}footer p{font-size:calc(9px + 2pt);color:var(--muted);margin:3px 0 12px}footer>div:nth-child(2)>p{letter-spacing:2px}.socials{display:flex;gap:20px;font-size:calc(11px + 2pt)}.footer-bottom{width:100%;border-top:1px solid #d9dccf;padding-top:20px;display:flex;justify-content:space-between;font-size:calc(9px + 2pt);color:var(--muted)}dialog{border:0;padding:30px;background:#182015;width:90vw;max-width:1100px;height:90vh;color:white}dialog::backdrop{background:#000c}dialog img{height:calc(100% - 40px);object-fit:contain}dialog button{position:absolute;background:var(--cream);border:0;padding:10px 15px;font-size:calc(22px + 2pt)}.close{right:12px;top:12px}.previous{left:10px;top:50%}.next{right:10px;top:50%}#photo-count{text-align:center;font-size:calc(12px + 2pt);margin:8px}body:has(dialog[open]){overflow:hidden}@media(min-width:1500px){.hero{height:730px}.hero-copy{top:150px}}@media(max-width:900px){header{padding:0 25px}nav{gap:18px}nav a:nth-child(2),nav a:nth-child(3){display:none}.brand{font-size:calc(24px + 2pt)}.wrap{padding-left:30px;padding-right:30px}h1{font-size:calc(53px + 2pt)}.booking{grid-template-columns:1fr;gap:20px}.intro{gap:40px}.property{gap:30px}.building{gap:40px}.amenity-grid{grid-template-columns:repeat(4,1fr)}.amenity:nth-child(6n){border-right:1px solid #d9d4c4}.amenity:nth-child(4n){border-right:0}.amenity:nth-last-child(-n+6){border-bottom:1px solid #d9d4c4}.amenity:nth-last-child(-n+4){border-bottom:0}.facts{gap:14px}.faq{gap:40px}.places a{padding:20px}.places h3{font-size:calc(18px + 2pt)}}@media(max-width:600px){header{height:85px;padding:0 20px;gap:15px}.brand{font-size:calc(22px + 2pt)}.brand svg{width:30px;height:42px}.brand small{font-size:calc(5px + 2pt);letter-spacing:1.4px}nav{display:none}header>.button{font-size:calc(9px + 2pt);padding:10px 12px;gap:8px}.hero{margin:0 10px;height:580px}.hero-copy{left:7%;top:100px;right:20px}h1{font-size:calc(46px + 2pt);letter-spacing:-2px}.hero .eyebrow{font-size:calc(8px + 2pt);letter-spacing:1.5px}.hero-bottom{font-size:calc(7px + 2pt);letter-spacing:1px}.hero-bottom span{max-width:150px}.wrap{padding-left:24px;padding-right:24px}.booking{padding-top:30px;padding-bottom:30px}form{grid-template-columns:1fr 1fr;gap:18px}form .button{padding:14px 8px;font-size:calc(10px + 2pt)}.form-note{text-align:left}.intro{grid-template-columns:1fr;gap:0;padding-top:60px;padding-bottom:25px}.intro>div:last-child{padding-top:0}h2{font-size:calc(30px + 2pt)}.property{grid-template-columns:1fr;gap:28px;padding-bottom:55px}.main-photo{height:340px}.thumbs button{height:70px}.property-info{padding-top:0}.property-info h3 br{display:none}.amenities{padding:55px 0}.amenity-grid{grid-template-columns:repeat(3,1fr)}.amenity{padding:20px 6px;font-size:calc(9px + 2pt)}.amenity:nth-child(4n){border-right:1px solid #d9d4c4}.amenity:nth-child(3n){border-right:0}.amenity:nth-last-child(-n+4){border-bottom:1px solid #d9d4c4}.amenity:nth-last-child(-n+3){border-bottom:0}.building{grid-template-columns:1fr;gap:35px;padding-top:55px;padding-bottom:55px}.building-art{min-height:360px;padding:30px}.building-art h2{font-size:calc(50px + 2pt)}.section-heading{display:block}.places{grid-template-columns:1fr;gap:15px}.places h3{margin:15px 0 10px}.faq{grid-template-columns:1fr;gap:15px;padding-top:55px;padding-bottom:55px}.contact{padding:55px 0}.contact h2{font-size:calc(35px + 2pt)}.contact-buttons{flex-direction:column;gap:12px}.contact .dot{display:none}.contact>.wrap>a{display:block;margin-top:10px}.footer-bottom{display:block}.footer-bottom span{display:block;margin-bottom:7px}dialog{width:96vw;height:75vh;padding:15px}}
/* Hero reservations and bespoke date range calendar */
.hero{height:850px}.hero-copy{top:90px}.hero-booking{position:absolute;bottom:75px;left:5%;right:5%;max-width:none;background:#f8f6f0f5;color:var(--ink);padding:27px 30px;border:1px solid #d5c9b2;gap:25px;grid-template-columns:1fr 2fr;box-shadow:0 10px 40px #0002}.hero-booking h2{font-size:25px}.hero-booking form{grid-template-columns:1fr 1fr .7fr 1.5fr}.date-field>span{font-size:11px;letter-spacing:1px}.date-trigger{display:flex;width:100%;align-items:center;justify-content:space-between;gap:15px;border:0;border-bottom:1px solid #c9ccbf;padding:8px 0;background:transparent;color:var(--ink);font-size:15px}.date-trigger svg{width:20px;height:20px;fill:none;stroke:#91754e;stroke-width:1.5}.hero-booking .button{gap:8px;padding:15px 12px}.hero-booking .form-note{font-size:12px!important}.building-art h2{font-size:43px;overflow-wrap:anywhere}.building-art{min-height:450px}.building-art>p{right:25px}.building-art:after{content:'';position:absolute;width:260px;height:260px;border:1px solid #b49c7455;border-radius:50% 50% 0 0;right:-45px;bottom:65px;box-shadow:0 0 0 25px #b49c7415,0 0 0 50px #b49c7410}.places{row-gap:24px}.heritage{background:#eaeadd;margin-top:80px;padding:75px 0}.heritage-intro{max-width:850px;font-size:16px;color:var(--muted)}.heritage-photos{display:grid;grid-template-columns:.8fr 1.2fr;gap:25px;margin:35px 0}.heritage figure{margin:0}.heritage figure img{height:350px}.heritage figcaption{font-size:12px;margin-top:10px;color:var(--muted)}.guide-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:45px 0 25px}.guide-heading span,.guide-steps article>span{font-size:11px;letter-spacing:1.5px;color:#8a7148}.guide-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.guide-steps h4{font-size:19px;margin:14px 0}.guide-steps p{font-size:14px;color:var(--muted)}.guide-note{border-top:1px solid #c7cdbb;margin-top:35px;padding-top:25px}.guide-note b{font-size:15px;font-weight:500}.guide-note p{font-size:14px;color:var(--muted);margin:10px 0}.credits a{text-decoration:underline}.best-for{padding-top:85px;padding-bottom:20px}.best-for>p:not(.eyebrow){color:var(--muted)}.audience-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:25px;margin-top:35px}.audience-grid article{border-top:1px solid #b49c74;padding-top:20px}.audience-grid article:last-child{grid-column:span 2}.audience-grid article>span{color:#a08454;font-size:12px}.audience-grid h3{font-size:22px;margin:14px 0}.audience-grid p{font-size:14px;color:var(--muted)}
#date-picker{width:min(820px,94vw);max-height:92vh;height:auto;background:var(--cream);color:var(--ink);border:1px solid #b49c74;border-radius:18px;padding:28px;box-shadow:0 30px 100px #0005;overflow-y:auto}#date-picker button{position:static;font-size:14px}.calendar-top{display:flex;justify-content:space-between;align-items:start}.calendar-top .eyebrow{font-size:10px;margin-bottom:8px}.calendar-top h2{font-size:29px;margin-bottom:20px}.calendar-close{border:1px solid #ddd7c8;border-radius:50%;width:36px;height:36px;padding:0!important;font-size:25px!important}.range-summary{display:flex;align-items:center;gap:18px;border:1px solid #d9d6c8;border-radius:10px;padding:6px}.range-summary button{flex:1;border:0;background:transparent;text-align:left;padding:10px 14px;border-radius:6px}.range-summary button.active{background:#e7e8dd}.range-summary small{display:block;color:#93784c;font-size:10px;letter-spacing:1px}.range-summary span{font-size:16px}.month-navigation{display:flex;justify-content:space-between;align-items:center;margin:22px 0 12px;gap:10px}.month-navigation p{margin:0;font-size:13px;color:var(--muted)}.month-navigation button{border:1px solid #ddd7c8;border-radius:50%;width:34px;height:34px;padding:0}button:disabled{opacity:.3;cursor:not-allowed}#calendar-months{display:grid;grid-template-columns:1fr 1fr;gap:30px}.calendar-month h3{font-size:17px;text-align:center;margin:0 0 18px;font-weight:500}.weekdays,.days{display:grid;grid-template-columns:repeat(7,1fr)}.weekdays span{text-align:center;font-size:11px;color:#909283;padding:6px}.days button{width:100%;aspect-ratio:1;border:0;background:transparent;border-radius:50%;padding:0!important;color:var(--ink)}.days button:hover:not(:disabled){background:#e0e3d4}.days button.in-range{background:#e7e8dd;border-radius:0}.days button.chosen{background:var(--green);color:white}.days button.today:not(.chosen){box-shadow:inset 0 0 0 1px var(--gold)}.calendar-bottom{display:flex;align-items:center;gap:18px;border-top:1px solid #ddd7c8;margin-top:24px;padding-top:20px}.calendar-bottom>div{flex:1}.calendar-bottom p{font-size:14px;margin:0}.calendar-bottom small{display:block;font-size:10px;color:var(--muted);max-width:330px}.calendar-bottom .button{background:var(--green);padding:12px 18px}.calendar-bottom .text-link{border:0;background:transparent;padding:8px}
@media(max-width:1100px){header{gap:18px;padding:0 3%}nav{gap:18px}.hero-booking{grid-template-columns:1fr}.hero-booking>div>p:not(.eyebrow){display:none}.hero-booking>div{display:flex;align-items:center;justify-content:space-between;gap:15px}.hero-booking .eyebrow{margin:0}.building{gap:40px}.building-art h2{font-size:36px}.audience-grid{grid-template-columns:repeat(3,1fr)}.audience-grid article:last-child{grid-column:span 3}}@media(max-width:700px){header nav{display:none}.hero{height:940px}.hero-copy{top:60px}.hero-copy h1{font-size:48px}.hero-copy .eyebrow{max-width:290px}.hero-booking{left:5%;right:5%;bottom:70px;padding:20px;gap:18px}.hero-booking>div{display:block}.hero-booking .eyebrow{margin-bottom:8px}.hero-booking h2{font-size:23px}.hero-booking form{grid-template-columns:1fr 1fr;gap:17px}.hero-booking .button{font-size:12px}.hero-bottom{font-size:9px;gap:20px}.building{grid-template-columns:1fr}.heritage{margin-top:50px;padding:50px 0}.heritage-photos{grid-template-columns:1fr}.heritage figure img{height:290px}.guide-heading{display:block}.guide-steps{grid-template-columns:1fr;gap:25px}.guide-steps article{border-bottom:1px solid #cbd0bf;padding-bottom:20px}.audience-grid{grid-template-columns:1fr 1fr}.audience-grid article:last-child{grid-column:span 2}.best-for{padding-top:55px}#date-picker{padding:20px;max-height:94vh}#calendar-months{grid-template-columns:1fr;gap:25px}.calendar-month:nth-child(2){display:none}.calendar-bottom{flex-wrap:wrap;gap:12px}.calendar-bottom>div{flex-basis:100%}.calendar-bottom .button{margin-left:auto}.calendar-top h2{font-size:25px}.range-summary{gap:5px}.range-summary button{padding:10px}.range-summary span{font-size:14px}.month-navigation p{font-size:12px}.days button{max-height:44px}.brand{font-size:24px}.hero-booking .form-note{text-align:left}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.hero .hero-booking .eyebrow{color:#90774f}

/* Airbnb review snapshot, 30 October 2026. */
.guest-reviews{padding:72px 0 64px;background:var(--green);color:var(--cream)}.guest-reviews .eyebrow{color:#c8b18b}.reviews-heading{display:flex;justify-content:space-between;align-items:center;gap:45px;margin-bottom:34px}.reviews-heading h2{max-width:660px}.reviews-heading>div>p:last-child{color:#d0d5c8;font-size:15px;margin:0}.reviews-rating{display:flex;flex-direction:column;align-items:center;flex-shrink:0;padding-left:35px;border-left:1px solid #65705a;font-size:12px;line-height:1.7}.reviews-score{font-size:48px;letter-spacing:-2px;line-height:1.2}.reviews-score>span{font-size:19px;letter-spacing:0;color:#c8cebf}.reviews-stars{color:#cbb18a;font-size:19px;letter-spacing:4px;margin:7px 0}.review-track{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#ac9470 #40513a;padding:3px 2px 20px;overscroll-behavior-x:contain}.review-card{flex:0 0 calc((100% - 22px)/2);scroll-snap-align:start;background:var(--cream);color:var(--ink);padding:30px;display:flex;flex-direction:column;min-height:260px;border:1px solid #d9d5c7}.review-card-top{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.review-avatar{width:43px;height:43px;display:grid;place-items:center;background:#e7e6d9;border-radius:50%;font-size:14px;flex-shrink:0;color:#6e593a}.review-card h3{font-size:17px;font-weight:500;letter-spacing:0;margin:0;line-height:1.4}.review-card-top p{font-size:11px;color:var(--muted);margin:4px 0 0}.review-stars{margin-left:auto;color:#96753d;font-size:13px;letter-spacing:2px}.review-summary{font-size:16px;line-height:1.9;margin:24px 0;flex:1}.review-summary-label{font-size:9px;letter-spacing:1.5px;color:#7d806e}.reviews-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:24px}.review-navigation{display:flex;align-items:center;gap:18px}.review-arrow{width:43px;height:43px;border:1px solid #839177;background:transparent;color:var(--cream);font-size:20px;border-radius:50%;display:grid;place-items:center;transition:background .2s}.review-arrow:hover:not(:disabled){background:#4b5b40}.review-arrow:disabled{opacity:.35}.review-navigation>span{min-width:45px;text-align:center;font-size:12px;color:#d0d5c8}.reviews-footer .text-link{font-size:13px;color:#e3d4b9}.reviews-source-note{font-size:11px;color:#bcc5b1;margin:24px 0 0;line-height:1.8}@media(max-width:700px){.guest-reviews{padding:50px 0}.reviews-heading{display:block;margin-bottom:26px}.reviews-rating{margin-top:24px;padding:0;border:0;align-items:flex-start}.reviews-score{font-size:40px}.reviews-stars{margin:4px 0}.review-card{flex-basis:100%;padding:24px;min-height:290px}.review-card-top{gap:10px}.review-stars{font-size:11px;letter-spacing:1px}.review-summary{font-size:15px}.reviews-footer{align-items:flex-start;flex-direction:column;gap:20px}}
