@font-face{font-family:Figtree;src:url('/assets/fonts/figtree.ttf') format('truetype');font-weight:300 900;font-style:normal;font-display:swap}
:root{--garden:#203d32;--paper:#f3f0e7;--stone:#d8d2c4;--wood:#775a3c;--ink:#25342c;--white:#fffefa;--muted:#46574b;--error:#9d302c;--space:clamp(64px,8vw,120px);font-family:Figtree,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none;scroll-behavior:smooth;scrollbar-color:var(--muted) var(--paper)}
*{box-sizing:border-box}body{margin:0;font-size:18px;line-height:1.55}body:has(dialog[open]){overflow:hidden}::selection{background:var(--garden);color:var(--white)}a{color:inherit;text-underline-offset:5px;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button,summary{cursor:pointer}button{color:inherit}input,select{caret-color:var(--garden)}:focus-visible{outline:3px solid var(--wood);outline-offset:5px}.hero :focus-visible,.site-header :focus-visible,.closing :focus-visible,footer :focus-visible{outline-color:var(--white)}:target,:focus{scroll-margin-top:24px;scroll-margin-bottom:24px}img{display:block;width:100%;height:auto;object-fit:cover}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:500;line-height:1.07;letter-spacing:-.035em;text-wrap:balance}h1{font-size:clamp(50px,6.3vw,88px)}h2{font-size:clamp(36px,4.4vw,60px)}h3{font-size:30px}p{max-width:64ch}p+p{margin-top:20px}.small{font-size:14px;line-height:1.5;color:var(--muted)}.wrap{width:min(1192px,calc(100% - 96px));margin-inline:auto}.section{padding-block:var(--space)}.button{display:inline-flex;justify-content:center;align-items:center;min-height:52px;padding:14px 25px;background:var(--garden);color:var(--white);border:1px solid transparent;border-radius:3px;text-decoration:none;font-size:16px;font-weight:600;line-height:1.3;text-align:center}.button:hover{background:#315542;text-decoration:none}.button.light{background:var(--paper);color:var(--garden)}.text-link{display:inline-block;min-height:44px;padding:12px 0 8px;font-weight:600;font-size:16px}.skip{position:absolute;z-index:10;left:20px;top:-100px;padding:12px;background:var(--paper)}.skip:focus{top:12px}.site-header{position:absolute;inset:0 0 auto;z-index:3;display:flex;align-items:center;gap:32px;padding:20px 48px;color:var(--white);border-bottom:1px solid #ffffff40;background:#13231924}.brand{display:block;font-size:27px;line-height:1.05;font-weight:500;text-decoration:none;letter-spacing:-.04em;white-space:nowrap}.brand span{display:block;font-size:13px;letter-spacing:.06em;font-weight:400;margin-bottom:5px}.site-header nav{display:flex;gap:32px;margin-left:auto}.site-header nav a{font-size:15px;text-decoration:none;padding:12px 0}.site-header nav a:hover{text-decoration:underline}.header-cta{background:var(--paper);color:var(--garden);min-height:46px;padding:10px 24px}.header-cta:hover{background:var(--white);color:var(--garden)}.menu-toggle{display:none}.hero{position:relative;height:min(880px,95svh);min-height:650px;color:var(--white);display:grid;place-items:center;text-align:center;background:var(--garden)}.hero-photo{position:absolute;inset:0;height:100%;object-position:center}.hero::after{content:'';position:absolute;inset:0;background:rgba(8,26,16,.60)}.hero-copy{position:relative;z-index:1;padding:110px 24px 125px}.hero-copy p{margin:26px auto 15px;font-size:20px;line-height:1.5}.hero-link{display:inline-block;font-size:15px;padding:14px}.booking{position:relative;margin-top:-71px;z-index:2;background:var(--paper);padding:28px 34px 20px}.booking form{display:grid;grid-template-columns:1fr 1fr 1fr 1.3fr;gap:24px;align-items:start}.booking .small{margin-top:16px;text-align:center;max-width:none}.booking .button{margin-top:25px;min-height:52px}.booking label,.form-grid label{font-size:14px;font-weight:500;display:block;min-width:0}.booking input,.booking select,.form-grid input,.form-grid select{display:block;width:100%;min-width:0;max-width:100%;height:50px;margin-top:6px;padding:10px 0;background:transparent;border:0;border-bottom:1px solid #7a847b;border-radius:0;font-size:17px;color:var(--ink);font-variant-numeric:tabular-nums}.form-grid select{font-size:16px}.error{display:block;color:var(--error);font-size:13px;font-weight:400;margin-top:5px}.error:empty{display:none}[aria-invalid=true]{border-color:var(--error)!important}.form-feedback{font-size:14px;color:var(--error);grid-column:1/-1}.form-feedback:empty{display:none}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:48px;margin-bottom:52px}.section-heading>p{max-width:410px;margin-bottom:4px}.rooms-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px 36px}.rooms-grid article>img{aspect-ratio:1.25;object-fit:cover}.room-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:25px 0 12px}.room-heading span{font-size:14px;color:var(--muted)}.rooms-grid p{font-size:17px;max-width:46ch}.room-wide{grid-column:1/-1;display:grid;grid-template-columns:1.12fr 1fr;background:var(--stone);align-items:center}.rooms-grid .room-wide>img{aspect-ratio:1.32}.room-wide>div{padding:40px 55px}.room-wide h3{font-size:38px;margin-bottom:22px}.room-wide .small{margin:14px 0 0}.room-note{margin-top:22px}.amenity-line{display:grid;grid-template-columns:1fr 2fr;gap:40px;margin-top:55px;padding-top:28px;border-top:1px solid #bdc1b6}.amenity-line>p{font-size:17px;font-weight:600}.amenity-line ul{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:12px 20px;font-size:15px}.story-band{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;background:#e5e3d7}.story-band>img{height:100%;min-height:620px;max-height:780px}.story-copy{padding:clamp(48px,6.2vw,100px);align-self:center}.story-copy h2{margin-bottom:30px}.story-copy p{font-size:18px;max-width:40ch}.story-copy .text-link{margin-top:15px}.breakfast{background:var(--paper)}.breakfast>img{object-position:center}.gallery{overflow:hidden}.gallery .section-heading{margin-bottom:36px}.gallery-controls{display:flex;align-items:center;gap:18px;font-size:14px;white-space:nowrap}.gallery-controls button{border:1px solid #8f9b90;background:transparent;min-height:44px;padding:10px 16px;font-size:14px;border-radius:3px}.gallery-controls button:disabled{opacity:.4;cursor:default}.gallery-track{display:flex;gap:28px;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 max(48px,calc((100vw - 1192px)/2)) 20px;scrollbar-width:thin}.gallery-track figure{flex:0 0 56vw;scroll-snap-align:center}.gallery-track img{height:480px}.gallery-track figcaption{font-size:15px;margin-top:14px;color:var(--muted)}.location{display:grid;grid-template-columns:1.2fr 1fr;gap:100px;padding-top:40px}.location h2{margin-bottom:30px}.location .button{margin-top:24px}.location .small{margin-top:16px}.practical{align-self:center}.practical h3{font-size:30px}.practical dl{margin:28px 0 0}.practical dl div{border-top:1px solid #bdc1b6;padding:22px 0}.practical dt{font-weight:600;font-size:17px}.practical dd{margin:7px 0 0;font-size:16px;color:var(--muted)}.reputation{border-top:1px solid #bdc1b6;border-bottom:1px solid #bdc1b6;padding-block:44px;display:grid;grid-template-columns:1fr 1fr;gap:70px}.reputation h2{font-size:34px}.reputation p{font-size:15px}.reputation strong{font-size:22px;font-weight:500}.faq{display:grid;grid-template-columns:1fr 1.4fr;gap:90px}.faq h2{margin-bottom:22px}.faq>div>p{max-width:30ch}.faq .text-link{margin-top:20px}.questions details{border-bottom:1px solid #bdc1b6}.questions summary{padding:22px 32px 22px 0;min-height:64px;font-size:18px;font-weight:500;position:relative;list-style:none}.questions summary::-webkit-details-marker{display:none}.questions summary::after{content:'+';position:absolute;right:3px;top:21px;font-size:22px;font-weight:400}.questions details[open] summary::after{content:'−'}.questions details p{font-size:16px;padding:0 24px 24px 0}.closing{position:relative;height:480px;display:grid;place-items:center;color:var(--white);text-align:center;background:var(--garden)}.closing>img{position:absolute;inset:0;height:100%}.closing::after{content:'';position:absolute;inset:0;background:#10221985}.closing>div{position:relative;z-index:1;padding:32px}.closing h2{font-size:64px}.closing p{margin:20px auto 24px}footer{background:var(--garden);color:var(--paper);padding:64px max(48px,calc((100vw - 1192px)/2)) 28px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:48px;font-size:15px}footer nav{display:flex;flex-direction:column;align-items:start}footer nav a{padding:8px 0}footer .brand{font-size:30px}footer p{margin-bottom:14px}footer .copyright{grid-column:1/-1;margin:12px 0 0;padding-top:24px;border-top:1px solid #ffffff30;font-size:13px}dialog{color:var(--ink);background:var(--paper);border:0;padding:32px 36px;width:min(580px,calc(100% - 32px));max-height:calc(100svh - 32px);border-radius:4px;overflow:auto}dialog::backdrop{background:#102219b8}dialog[open]{animation:panel-in .22s cubic-bezier(.16,1,.3,1)}@keyframes panel-in{from{opacity:.65;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}.dialog-top p{font-size:13px;color:var(--muted)}.text-button{border:0;border-bottom:1px solid currentColor;background:transparent;padding:12px 0;font-size:14px;min-height:44px}dialog h2{font-size:40px;max-width:12ch;margin-bottom:18px}dialog>p{font-size:16px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:24px 0}.form-grid input{height:48px}dialog form>.button{width:100%;margin-top:8px}.group-help{margin-top:25px}#inquiry-result{padding-top:24px;margin-top:24px;border-top:1px solid #bdc1b6}#inquiry-result h3{font-size:26px;margin-bottom:14px}#inquiry-summary{font-size:16px;white-space:pre-line}#inquiry-result .small{margin:14px 0}#inquiry-result .button{width:100%}.room-hero{min-height:520px;height:72svh;max-height:700px}.room-hero .hero-copy{padding-bottom:40px}.room-hero h1{font-size:clamp(44px,5.7vw,76px)}.room-hero::after{background:rgba(8,26,16,.60)}.breadcrumbs{display:flex;gap:12px;font-size:14px;padding-top:30px}.room-detail{display:grid;grid-template-columns:1.4fr 1fr;gap:100px;padding-top:65px}.room-detail h2{margin-bottom:30px}.lead{font-size:23px}.detail-amenities{display:grid;grid-template-columns:1fr 1fr;gap:12px 28px;padding-left:20px;margin:32px 0;font-size:17px}.detail-booking{background:var(--stone);padding:40px;align-self:start}.detail-booking h3{margin-bottom:20px}.detail-booking .button{margin:24px 0}.detail-booking p{font-size:16px}.detail-photos{display:grid;grid-template-columns:1fr 1fr;gap:28px}.detail-photos img{height:430px}.room-context p{margin:28px 0 12px;max-width:50ch}
@media(min-width:1600px){.hero{max-height:960px}.gallery-track figure{flex-basis:780px}}
@media(max-width:1050px){.site-header{padding:18px 32px;gap:20px}.site-header nav{gap:20px}.wrap{width:calc(100% - 64px)}.booking{padding:24px}.booking form{gap:16px}.booking .button{padding-inline:12px}.room-wide>div{padding:32px}.story-copy{padding:48px 36px}.story-band>img{min-height:570px}.location,.faq,.room-detail{gap:48px}.gallery-track{padding-inline:32px}.gallery-track img{height:400px}footer{padding-inline:32px}}
@media(max-width:760px){body{font-size:17px}.wrap{width:calc(100% - 40px)}.site-header{padding:15px 20px;gap:16px}.brand{font-size:22px}.brand span{font-size:11px}.site-header .header-cta{margin-left:auto;padding:10px 15px;font-size:14px;min-height:44px}.menu-toggle{display:block;color:var(--white);background:transparent;border:0;border-bottom:1px solid #ffffff80;min-height:44px;font-size:14px;padding:10px 0}.site-header nav{display:none}.site-header nav.is-open{display:flex;position:absolute;top:100%;left:0;right:0;background:var(--garden);flex-direction:column;gap:0;padding:18px 24px 28px;margin:0}.site-header nav a{font-size:20px;min-height:52px}.hero{height:640px;min-height:0;max-height:88svh}.hero-copy{padding:100px 20px 50px}.hero h1{font-size:clamp(40px,8.5vw,60px)}.hero-copy p{font-size:17px;margin-top:24px;max-width:30ch}.hero-copy p br{display:none}.hero-photo{object-position:45% center}.booking{margin-top:0;width:100%;padding:24px 20px 0}.booking form{grid-template-columns:1fr 1fr;gap:16px 20px}.booking .button{margin-top:24px;font-size:14px;padding:12px;min-height:52px}.booking input,.booking select{font-size:16px;min-height:48px}.booking .small{text-align:left;font-size:13px}.section-heading{display:block;margin-bottom:34px}.section-heading>p{margin-top:24px;max-width:40ch}.rooms-grid{grid-template-columns:1fr;gap:42px}.room-heading{margin-top:20px}.room-heading h3{font-size:29px}.rooms-grid article>img{aspect-ratio:1.18}.rooms-grid p{font-size:16px}.room-wide{grid-template-columns:1fr;grid-column:auto}.room-wide>div{padding:28px 24px}.room-wide h3{font-size:33px}.rooms-grid .room-wide>img{aspect-ratio:1.22}.amenity-line{grid-template-columns:1fr;gap:20px;margin-top:36px}.amenity-line ul{grid-template-columns:1fr 1fr;font-size:14px}.story-band{grid-template-columns:1fr}.story-band>img{height:420px;min-height:0;max-height:none}.story-copy{padding:46px 24px 56px}.story-copy p{font-size:17px;max-width:46ch}.breakfast>img{grid-row:1}.gallery-controls{margin-top:22px;justify-content:space-between;gap:10px}.gallery-track{padding-inline:20px;gap:18px}.gallery-track figure{flex-basis:85vw}.gallery-track img{height:360px}.location,.reputation,.faq,.room-detail{grid-template-columns:1fr;gap:44px}.location{padding-top:12px}.location .button{font-size:14px;padding-inline:16px}.location h2{font-size:36px}.reputation{padding-block:32px;gap:22px}.reputation h2{font-size:30px}.faq{gap:25px}.faq .text-link{margin-top:8px}.questions summary{font-size:17px}.closing{height:380px}.closing h2{font-size:46px}footer{grid-template-columns:1fr;gap:28px;padding:48px 24px 24px}footer .copyright{margin:0}.room-hero{height:520px;max-height:74svh}.room-hero .hero-photo{object-position:48% center}.room-hero h1{font-size:43px}.room-detail{padding-top:45px}.detail-booking{padding:30px}.detail-amenities{grid-template-columns:1fr;font-size:16px;gap:10px}.detail-photos{grid-template-columns:1fr;gap:20px}.detail-photos img{height:320px}.lead{font-size:21px}dialog{padding:22px;width:calc(100% - 20px);max-height:calc(100svh - 20px)}dialog h2{font-size:35px}.dialog-top{margin-bottom:20px}.form-grid{gap:18px 16px}.form-grid input,.form-grid select{font-size:16px}.form-grid label{font-size:13px}.breadcrumbs{font-size:13px;gap:8px}}
@media(max-width:380px){.site-header{gap:12px;padding-inline:16px}.brand{font-size:20px}.site-header .header-cta{padding-inline:12px}.hero h1{font-size:40px}.booking form{gap:14px}.room-heading span{font-size:12px}.gallery-controls button{padding:10px 13px}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.has-result>p:not(.group-help){display:none}.has-result #inquiry-result{padding-top:0;margin-top:0;border-top:0}.has-result h2{margin-bottom:24px}.summary-breakfast{display:block;font-size:14px;margin-top:22px}.summary-breakfast select{display:block;width:100%;height:48px;border:0;border-bottom:1px solid #7a847b;border-radius:0;background:transparent;color:var(--ink);font:inherit;font-size:16px;padding:8px 0}.edit-inquiry{display:block;margin:8px auto 0}#inquiry-summary{line-height:1.7}
