@font-face{font-family:"Canopy Archivo";src:url("assets/fonts/archivo-variable.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
:root{--forest:#173f32;--forest-deep:#0f2f27;--moss:#446b58;--clay:#ad563e;--paper:#f3f1e9;--paper-soft:#ebe9df;--white:#fffefa;--ink:#17221c;--muted:#5c675f;--line:#c9cec4;--intake-accent:#ad563e;--accent-hover:#8f432f;--accent-hover-rgb:77,31,22;--forest-rgb:23,63,50;--forest-deep-rgb:15,47,39;--pit-rgb:8,25,20;--pit2-rgb:7,28,23;--clay-rgb:173,86,62;--tint-strong:#e9f0eb;--tint:#d2ddd6;--tint-soft:#bcd1c6;--wash:#dfe4db;--hairline:#dce0d8;--hairline-strong:#aeb8ad;--media:#d5dbd1;--media-deep:#cdd6cc;--body-soft:#3e4a43;--shadow:0 28px 70px rgba(var(--forest-deep-rgb),.16);--wrap:min(1240px,calc(100% - 64px));--radius:14px}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth;background:var(--paper)}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"Canopy Archivo","Helvetica Neue",Arial,sans-serif;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
body.menu-open,body.dialog-open{overflow:hidden}
::selection{background:var(--intake-accent);color:var(--white)}
a{color:inherit;text-underline-offset:.25em}
button,input,select{font:inherit}
button,a{touch-action:manipulation}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--intake-accent);outline-offset:4px}
img{max-width:100%;display:block}
.wrap{width:var(--wrap);margin-inline:auto}
.skip-link{position:fixed;left:20px;top:12px;z-index:1000;background:var(--white);color:var(--ink);padding:10px 15px;transform:translateY(-160%);transition:transform .2s ease}
.skip-link:focus{transform:none}
.announcement{min-height:36px;display:flex;align-items:center;justify-content:center;padding:7px 24px;background:var(--forest-deep);color:var(--tint-strong);text-align:center;font-size:.79rem;letter-spacing:.01em}
.site-nav{background:rgba(255,254,250,.98);border-bottom:1px solid var(--hairline);position:relative;z-index:60}
.nav-inner{width:var(--wrap);height:72px;margin:auto;display:grid;grid-template-columns:minmax(150px,1fr) auto auto auto;align-items:center;gap:25px}
.brand{text-decoration:none;min-width:0;display:inline-flex;align-items:center}
.brand img{max-width:170px;max-height:44px;object-fit:contain}
.brand-word{font-weight:760;font-size:1.1rem;letter-spacing:-.025em;color:var(--forest-deep)}
#site-menu{display:flex;align-items:center;gap:24px;white-space:nowrap}
#site-menu a,.language-switch a{position:relative;text-decoration:none;font-size:.82rem;font-weight:620;color:var(--body-soft)}
#site-menu a::after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:2px;background:var(--intake-accent);transform:scaleX(0);transform-origin:left;transition:transform .24s cubic-bezier(.16,1,.3,1)}
#site-menu a:hover::after,#site-menu a[aria-current="page"]::after{transform:scaleX(1)}
.language-switch{display:flex;align-items:center;gap:8px;border-left:1px solid var(--line);padding-left:20px}
.language-switch a{padding:4px 2px;color:var(--muted)}
.language-switch a.is-active{color:var(--forest-deep);font-weight:800}
.nav-book,.footer-book{display:inline-flex;min-height:44px;padding:10px 18px;align-items:center;justify-content:center;text-decoration:none;background:var(--forest);color:var(--white);font-size:.79rem;font-weight:720;letter-spacing:.02em;border-radius:999px;transition:background .2s ease,transform .2s ease}
.nav-book:hover,.footer-book:hover{background:var(--intake-accent)}
.nav-book:active,.footer-book:active,.btn:active{transform:translateY(1px)}
.menu-toggle{display:none;border:0;background:transparent;padding:8px;color:var(--ink)}
.menu-toggle span{display:block;width:23px;height:2px;margin:4px 0;background:currentColor}
.menu-toggle b{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.hero{position:relative;min-height:calc(100dvh - 108px);height:min(820px,calc(100dvh - 108px));background:var(--forest);overflow:hidden;isolation:isolate}
.hero-image{position:absolute;inset:0 0 0 31%;overflow:hidden}
.hero-image::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(var(--forest-deep-rgb),.55),transparent 32%),linear-gradient(0deg,rgba(var(--forest-deep-rgb),.18),transparent 45%);pointer-events:none}
.hero-image img{width:100%;height:100%;object-fit:cover;object-position:center;animation:canopy-arrive 1.1s cubic-bezier(.16,1,.3,1) both}
.hero-panel{position:absolute;z-index:2;left:max(32px,calc((100vw - 1240px)/2));top:50%;width:min(540px,45vw);padding:48px 50px 50px;background:var(--forest-deep);color:var(--white);transform:translateY(-50%);box-shadow:var(--shadow);border-radius:var(--radius);animation:canopy-panel .85s .08s cubic-bezier(.16,1,.3,1) both}
.hero-title{margin:0;max-width:10ch;font-size:clamp(3rem,5.1vw,5rem);font-weight:670;line-height:.94;letter-spacing:-.04em;text-wrap:balance}
.hero-text{margin:25px 0 0;max-width:38ch;color:var(--tint);font-size:1rem;line-height:1.62}
.hero-actions{display:flex;gap:11px;flex-wrap:wrap;margin-top:32px}
.btn{min-height:48px;display:inline-flex;align-items:center;justify-content:center;padding:12px 21px;text-decoration:none;border:0;border-radius:999px;font-size:.84rem;font-weight:720;line-height:1;cursor:pointer;white-space:nowrap;transition:transform .2s ease,background .2s ease,color .2s ease,box-shadow .2s ease}
.btn-primary{background:var(--intake-accent);color:var(--intake-accent-ink,var(--white))}
.btn-primary:hover,.btn-clay:hover{background:var(--accent-hover);box-shadow:0 10px 24px rgba(var(--accent-hover-rgb),.2)}
.btn-light{background:var(--white);color:var(--forest-deep)}
.btn-light:hover{background:var(--wash)}
.btn-clay{background:var(--intake-accent);color:var(--white)}
.section{padding:112px 0}
.section-title{margin:0;font-size:clamp(2.35rem,4.5vw,4.45rem);line-height:.98;letter-spacing:-.038em;font-weight:640;text-wrap:balance}
.lede{font-size:clamp(1.08rem,1.55vw,1.3rem);line-height:1.6;color:var(--body-soft);max-width:62ch}
.story{background:var(--paper)}
.story-grid{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(350px,.72fr);gap:9vw;align-items:center}
.story-copy{padding-left:5vw}
.story-copy .section-title{max-width:9ch;color:var(--forest-deep)}
.story-copy .lede{margin:30px 0 0}
.story-image{position:relative;padding:20px 0 0 20px}
.story-image::before{content:"";position:absolute;inset:0 24px 24px 0;border:1px solid var(--moss);border-radius:var(--radius)}
.story-image img{position:relative;width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--radius)}
.popular{background:var(--wash)}
.popular .section-title{max-width:11ch;color:var(--forest-deep)}
.rooms-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:22px;margin-top:50px;align-items:stretch}
.room-card{position:relative;background:var(--white);min-width:0;border-radius:var(--radius);overflow:hidden;border:1px solid rgba(var(--forest-rgb),.1)}
.room-card:first-child{grid-row:span 2}
.room-card-open{appearance:none;border:0;padding:0;width:100%;height:100%;background:transparent;color:inherit;text-align:left;cursor:pointer;display:grid;grid-template-columns:minmax(170px,.86fr) 1.14fr;align-items:stretch}
.room-card.featured .room-card-open,.room-card:first-child .room-card-open{display:flex;flex-direction:column}
.room-media{display:block;overflow:hidden;background:var(--media);min-height:210px}
.room-card.featured .room-media,.room-card:first-child .room-media{min-height:390px}
.room-media img{width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.16,1,.3,1)}
.room-card:hover .room-media img{transform:scale(1.025)}
.room-copy{display:flex;flex-direction:column;padding:26px;min-width:0}
.room-name{font-size:1.55rem;font-weight:670;line-height:1.1;letter-spacing:-.025em;color:var(--forest-deep)}
.room-description{display:block;margin:13px 0;color:var(--muted);font-size:.92rem;line-height:1.55}
.room-facts{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-top:auto;padding-top:20px;border-top:1px solid var(--hairline);font-size:.79rem;color:var(--muted)}
.room-facts b{color:var(--forest-deep);font-size:.91rem}
.room-book-link{position:absolute;right:17px;top:17px;z-index:2;padding:8px 13px;background:rgba(255,254,250,.94);color:var(--forest-deep);border-radius:999px;text-decoration:none;font-size:.72rem;font-weight:720;box-shadow:0 8px 22px rgba(var(--forest-rgb),.14)}
.text-link{display:inline-flex;margin-top:34px;color:var(--forest-deep);font-weight:700;text-decoration-thickness:1px}
.craft{background:var(--forest);color:var(--white)}
.craft-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:10vw}
.craft-statement{display:flex;align-items:flex-start}
.craft-statement .section-title{position:sticky;top:130px;max-width:10ch}
.craft-list>div{padding:0 0 36px;margin-bottom:36px;border-bottom:1px solid rgba(255,255,255,.22)}
.craft-list>div:last-child{margin-bottom:0}
.craft-list strong{display:block;font-size:1.25rem;font-weight:650}
.craft-list p{max-width:50ch;margin:10px 0 0;color:var(--tint)}
.booking-path{background:var(--paper-soft)}
.booking-path .section-title{max-width:12ch;color:var(--forest-deep)}
.booking-path ol{list-style:none;margin:52px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.booking-path li{padding:34px 30px;display:grid;grid-template-columns:auto 1fr;column-gap:18px;row-gap:8px;border-right:1px solid var(--line)}
.booking-path li:last-child{border-right:0}
.booking-path li b{grid-row:span 2;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--forest);color:var(--white);font-size:.78rem}
.booking-path li strong{font-size:1.08rem;color:var(--forest-deep)}
.booking-path li span{font-size:.9rem;color:var(--muted)}
.room-feature{background:var(--paper)}
.room-feature-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:7vw;align-items:center}
.room-feature-image{position:relative}
.room-feature-image img{width:100%;aspect-ratio:6/5;object-fit:cover;border-radius:var(--radius)}
.room-feature-copy .section-title{max-width:10ch;color:var(--forest-deep)}
.room-feature-copy .lede{margin:28px 0 0}
.visit{background:var(--wash)}
.visit-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:8vw;align-items:end}
.visit .section-title{max-width:8ch;color:var(--forest-deep)}
.visit p{margin:20px 0 0;color:var(--body-soft)}
.visit-actions{display:flex;flex-direction:column;border-top:1px solid var(--hairline-strong)}
.visit-actions a{padding:16px 0;border-bottom:1px solid var(--hairline-strong);text-decoration:none;font-weight:650;color:var(--forest-deep)}
.map-section{min-height:520px;background:var(--media-deep)}
.map-section>div,.map-section .sb-location-map,.map-section .sb-location-map__canvas{min-height:520px;height:100%}
.sb-location-map{display:grid!important;grid-template-columns:1fr!important;border:0!important;border-radius:0!important;background:var(--media)!important;overflow:hidden!important}
.sb-location-map__canvas{min-height:420px!important;position:relative!important;isolation:isolate!important;background-color:var(--media-deep)!important;background-image:linear-gradient(31deg,transparent 48%,rgba(var(--forest-rgb),.16) 49%,rgba(var(--forest-rgb),.16) 51%,transparent 52%),linear-gradient(118deg,transparent 46%,rgba(var(--clay-rgb),.14) 47%,rgba(var(--clay-rgb),.14) 50%,transparent 51%),radial-gradient(circle at 62% 46%,var(--clay) 0 8px,var(--white) 9px 12px,transparent 13px),repeating-radial-gradient(ellipse at 55% 50%,transparent 0 35px,rgba(var(--forest-rgb),.12) 36px 38px,transparent 39px 58px)!important}
.sb-location-map__canvas::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:radial-gradient(circle at 62% 46%,var(--clay) 0 7px,var(--white) 8px 11px,rgba(var(--clay-rgb),.24) 12px 28px,transparent 29px),linear-gradient(31deg,transparent 47%,rgba(var(--forest-rgb),.2) 48%,rgba(var(--forest-rgb),.2) 50%,transparent 51%),linear-gradient(118deg,transparent 43%,rgba(var(--clay-rgb),.18) 44%,rgba(var(--clay-rgb),.18) 47%,transparent 48%),repeating-radial-gradient(ellipse at 55% 50%,transparent 0 35px,rgba(var(--forest-rgb),.13) 36px 38px,transparent 39px 58px),linear-gradient(135deg,rgba(255,254,250,.1),transparent 42%)}
.sb-location-map__canvas iframe{width:100%!important;height:100%!important;min-height:420px!important;border:0!important;filter:saturate(.65) contrast(.94)!important}
.sb-location-map__details{background:var(--white)!important;color:var(--ink)!important;padding:28px max(32px,calc((100vw - 1240px)/2))!important;border:0!important;display:flex!important;gap:24px!important;align-items:center!important;justify-content:space-between!important}
.sb-location-map__directions{background:var(--forest)!important;color:var(--white)!important;border-radius:999px!important;padding:11px 17px!important;text-decoration:none!important;white-space:nowrap!important}
.sb-location-map--embedded{width:var(--wrap)!important;margin:55px auto 0!important;display:grid!important;grid-template-columns:minmax(220px,.72fr) minmax(0,1.28fr)!important;gap:44px!important;align-items:center!important}
.sb-location-map--embedded .sb-location-map__copy h2{margin:0 0 15px;color:var(--forest-deep);font-size:clamp(2rem,4vw,3.8rem);line-height:1;letter-spacing:-.035em}
.sb-location-map--embedded .sb-location-map__address{color:var(--muted)}
.quote{background:var(--forest-deep);color:var(--white);text-align:center}
.quote blockquote{max-width:870px;margin:0 auto;font-size:clamp(2rem,4.1vw,4rem);font-weight:560;line-height:1.08;letter-spacing:-.035em;text-wrap:balance}
.quote p{margin:28px 0 0;color:var(--tint-soft);font-size:.82rem}
.closing{background:var(--intake-accent);color:var(--intake-accent-ink,var(--white))}
.closing-inner{display:flex;align-items:center;justify-content:space-between;gap:40px}
.closing .section-title{max-width:12ch}
.closing .btn-clay{background:var(--forest-deep)}
footer{background:#fbfbf8;border-top:1px solid var(--hairline);color:var(--body-soft)}
.footer-inner{width:var(--wrap);min-height:150px;margin:auto;display:grid;grid-template-columns:1fr auto auto;gap:45px;align-items:center}
.footer-inner strong{color:var(--forest-deep);font-size:1.02rem}
.footer-inner p{margin:4px 0 0;color:var(--muted);font-size:.82rem}
.footer-inner nav{display:flex;gap:24px}
.footer-inner nav a{font-size:.82rem;text-decoration:none}
.page-head{padding:108px 0 92px;background:var(--forest);color:var(--white)}
.page-head h1{max-width:13ch;margin:0;font-size:clamp(3.2rem,6.3vw,6rem);line-height:.93;letter-spacing:-.04em;font-weight:650;text-wrap:balance}
.page-head p{max-width:55ch;margin:24px 0 0;color:var(--tint);font-size:1.06rem}
.rooms-page{grid-template-columns:1fr;align-items:stretch;margin-top:0;gap:0;border-top:1px solid var(--line)}
.rooms-page .room-card{grid-row:auto;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;padding:38px 0}
.rooms-page .room-card-open{display:grid;grid-template-columns:minmax(320px,.96fr) minmax(0,1.04fr);gap:6vw;align-items:center}
.rooms-page .room-card:nth-child(even) .room-card-open{grid-template-columns:minmax(0,1.04fr) minmax(320px,.96fr)}
.rooms-page .room-card:nth-child(even) .room-media{grid-column:2}.rooms-page .room-card:nth-child(even) .room-copy{grid-column:1;grid-row:1}
.rooms-page .room-media{min-height:390px;aspect-ratio:6/4;border-radius:var(--radius)}
.rooms-page .room-copy{padding:34px 70px 34px 0}
.rooms-page .room-card:nth-child(even) .room-copy{padding:34px 0 34px 70px}
.rooms-page .room-name{font-size:clamp(2rem,3.5vw,3.5rem);letter-spacing:-.035em}
.rooms-page .room-description{font-size:1.02rem;max-width:42ch;margin:18px 0 30px}
.rooms-page .room-book-link{right:0;top:auto;bottom:52px;background:transparent;box-shadow:none;border-radius:0;border-bottom:1px solid currentColor;padding:4px 0}
.rooms-page .room-card:nth-child(even) .room-book-link{left:70px;right:auto}
.empty-state{padding:38px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius)}
.dialog-backdrop{position:fixed;inset:0;z-index:79;background:rgba(var(--pit-rgb),.68);opacity:0;transition:opacity .25s ease}
.dialog-backdrop.is-open{opacity:1}
.room-dialog{position:fixed;left:50%;top:50%;z-index:80;width:min(920px,calc(100vw - 32px));max-height:90dvh;overflow:auto;background:var(--white);display:grid;grid-template-columns:1.1fr .9fr;border-radius:var(--radius);box-shadow:0 30px 90px rgba(var(--pit-rgb),.4);transform:translate(-50%,-47%) scale(.98);opacity:0;transition:transform .25s cubic-bezier(.16,1,.3,1),opacity .25s ease}
.room-dialog.is-open{transform:translate(-50%,-50%) scale(1);opacity:1}
.dialog-close{position:absolute;right:13px;top:13px;z-index:2;width:40px;height:40px;border:0;border-radius:50%;background:rgba(255,254,250,.94);color:var(--ink);cursor:pointer}
.dialog-close svg,.dialog-gallery button svg{width:20px;height:20px;display:block;margin:auto;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.dialog-gallery{position:relative;background:var(--media);min-height:520px}
.dialog-gallery img{width:100%;height:100%;object-fit:cover}
.dialog-gallery button{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;border:0;border-radius:50%;background:rgba(255,254,250,.92);cursor:pointer}
.dialog-gallery [data-gallery-prev]{left:14px}.dialog-gallery [data-gallery-next]{right:14px}
.dialog-gallery [data-gallery-count]{position:absolute;left:14px;bottom:14px;background:rgba(var(--forest-deep-rgb),.84);color:var(--white);padding:5px 10px;border-radius:999px;font-size:.72rem}
.dialog-copy{padding:48px 40px;display:flex;flex-direction:column}
.dialog-copy h2{margin:0;font-size:2.2rem;line-height:1;letter-spacing:-.035em;color:var(--forest-deep)}
.dialog-copy p{color:var(--muted)}
[data-room-dialog-amenities]{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 26px}
[data-room-dialog-amenities] span{padding:7px 10px;background:var(--paper-soft);border-radius:999px;font-size:.76rem;color:var(--forest-deep)}
.dialog-copy .btn{margin-top:auto;align-self:flex-start}
.book-page{padding:104px 0 120px;background:linear-gradient(90deg,var(--forest) 0 42%,var(--paper) 42%)}
.book-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:8vw;align-items:start}
.book-intro{color:var(--white);position:sticky;top:136px}
.book-intro h1{margin:0;max-width:8ch;font-size:clamp(3.4rem,5.5vw,5.5rem);line-height:.94;letter-spacing:-.04em;font-weight:650}
.book-intro p{max-width:36ch;color:var(--tint);margin:28px 0 0}
.booking-form,.booking-success{background:var(--white);padding:42px;border-radius:var(--radius);box-shadow:var(--shadow)}
.booking-form{display:grid;gap:9px}
.booking-form label{font-size:.78rem;font-weight:710;color:var(--forest-deep);margin-top:10px}
.booking-form input,.booking-form select{width:100%;min-height:50px;padding:11px 13px;border:1px solid var(--hairline-strong);border-radius:9px;background:#fff;color:var(--ink)}
.booking-form input:focus,.booking-form select:focus{border-color:var(--intake-accent)}
.date-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.date-grid>div{display:grid;gap:8px}
.availability,.booking-total{min-height:1.5em;margin:10px 0 0;font-weight:650;color:var(--forest-deep)}
.availability.is-unavailable,.form-error{color:#9e2f24}
.booking-total{font-size:1.05rem}
.booking-form [data-submit-booking]{margin-top:10px;width:100%}
.booking-form [data-submit-booking]:disabled{opacity:.55;cursor:not-allowed}
.booking-success h2{margin:0;color:var(--forest-deep);font-size:2.4rem}
.about-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:8vw;align-items:center}
.about-grid img{width:100%;aspect-ratio:6/5;object-fit:cover;border-radius:var(--radius)}
.contact-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:6vw;align-items:start}
.contact-details{display:flex;flex-direction:column;gap:13px;padding-top:12px}
.contact-details h2{margin:0 0 10px;color:var(--forest-deep);font-size:2.4rem;letter-spacing:-.03em}
.contact-details p{margin:0;color:var(--muted)}
.contact-details a{font-weight:670;color:var(--forest-deep)}
[data-section="contact"] .sb-location-map--embedded{margin-top:70px!important}
[data-section="contact"] .sb-location-map__canvas{border-radius:var(--radius)!important;box-shadow:var(--shadow);min-height:450px!important}
[data-section="contact"] .sb-location-map__canvas iframe{min-height:450px!important}
@keyframes canopy-arrive{from{opacity:.55;transform:scale(1.035)}to{opacity:1;transform:scale(1)}}
@keyframes canopy-panel{from{opacity:0;transform:translate(-24px,-50%)}to{opacity:1;transform:translate(0,-50%)}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-image img,.hero-panel{animation:none}.room-media img,.nav-book,.footer-book,.btn,.dialog-backdrop,.room-dialog{transition:none}}
@media (max-width:980px){:root{--wrap:min(100% - 40px,860px)}.nav-inner{grid-template-columns:1fr auto auto;gap:16px}.menu-toggle{display:block}.nav-book{display:none}#site-menu{position:absolute;left:0;right:0;top:72px;display:none;flex-direction:column;align-items:stretch;gap:0;padding:7px 20px 17px;background:var(--white);border-bottom:1px solid var(--line)}#site-menu.is-open{display:flex}#site-menu a{padding:13px 2px;border-bottom:1px solid var(--hairline)}#site-menu a::after{display:none}.language-switch{border-left:0;padding-left:0}.hero{height:auto;min-height:780px}.hero-image{inset:0 0 0 22%}.hero-panel{left:20px;width:min(500px,58vw);padding:42px}.story-grid{gap:7vw}.story-copy{padding-left:0}.rooms-grid{grid-template-columns:1fr}.room-card:first-child{grid-row:auto}.room-card.featured .room-card-open,.room-card:first-child .room-card-open{display:grid;grid-template-columns:.9fr 1.1fr}.room-card.featured .room-media,.room-card:first-child .room-media{min-height:260px}.rooms-page .room-card-open,.rooms-page .room-card:nth-child(even) .room-card-open{grid-template-columns:minmax(270px,.9fr) minmax(0,1.1fr);gap:4vw}.rooms-page .room-copy,.rooms-page .room-card:nth-child(even) .room-copy{padding:26px 38px 26px 0;grid-column:2;grid-row:1}.rooms-page .room-card:nth-child(even) .room-media{grid-column:1}.rooms-page .room-media{min-height:300px}.rooms-page .room-card:nth-child(even) .room-book-link{left:auto;right:0}.craft-grid{gap:6vw}.booking-path ol{grid-template-columns:1fr}.booking-path li{border-right:0;border-bottom:1px solid var(--line)}.booking-path li:last-child{border-bottom:0}.room-feature-grid{gap:5vw}.footer-inner{grid-template-columns:1fr auto;min-height:180px}.footer-inner nav{grid-column:1/-1;grid-row:2}.book-page{background:linear-gradient(180deg,var(--forest) 0 30%,var(--paper) 30%)}.book-grid{grid-template-columns:1fr;gap:60px}.book-intro{position:static}.book-intro h1{max-width:10ch}.contact-grid{grid-template-columns:1fr}.room-dialog{grid-template-columns:1fr .8fr}.dialog-gallery{min-height:450px}}
@media (max-width:720px){:root{--wrap:calc(100% - 28px)}.announcement{min-height:34px;padding:6px 14px;font-size:.7rem}.nav-inner{height:62px}.site-nav{position:relative}.hero{display:flex;flex-direction:column;min-height:calc(100dvh - 96px);height:auto;background:var(--forest-deep)}.hero-image{position:relative;inset:auto;width:100%;height:43dvh;min-height:290px;max-height:390px}.hero-image::after{background:linear-gradient(0deg,rgba(var(--forest-deep-rgb),.55),transparent 40%)}.hero-panel{position:relative;left:auto;top:auto;width:100%;padding:30px 20px 34px;transform:none;box-shadow:none;border-radius:0;animation:none}.hero-place{margin-bottom:14px;font-size:.67rem}.hero-title{font-size:clamp(2.7rem,13vw,4rem);max-width:9ch}.hero-text{margin-top:16px;font-size:.92rem;line-height:1.5;max-width:34ch}.hero-actions{margin-top:22px}.hero-actions .btn{flex:1;padding-inline:14px}.section{padding:76px 0}.section-title{font-size:clamp(2.2rem,11vw,3.5rem)}.story-grid,.room-feature-grid,.visit-grid,.about-grid{grid-template-columns:1fr;gap:42px}.story-copy{order:1}.story-image{order:2;padding:12px 0 0 12px}.story-image img{aspect-ratio:5/4}.popular .section-title{max-width:9ch}.rooms-grid,.rooms-page{grid-template-columns:1fr;margin-top:35px}.room-card-open,.room-card.featured .room-card-open,.room-card:first-child .room-card-open{display:flex;flex-direction:column}.room-media,.room-card.featured .room-media,.room-card:first-child .room-media,.rooms-page .room-media{min-height:245px;aspect-ratio:4/3}.room-copy{padding:21px}.room-book-link{top:12px;right:12px}.craft-grid{grid-template-columns:1fr;gap:48px}.craft-statement .section-title{position:static}.booking-path ol{margin-top:36px}.booking-path li{padding:25px 12px}.room-feature-image img{aspect-ratio:5/4}.visit-actions{margin-top:10px}.map-section,.map-section>div,.map-section .sb-location-map,.map-section .sb-location-map__canvas{min-height:430px}.sb-location-map--embedded{grid-template-columns:1fr!important;gap:24px!important;margin-top:38px!important}.sb-location-map--embedded .sb-location-map__canvas,.sb-location-map--embedded .sb-location-map__canvas iframe{min-height:330px!important}.sb-location-map__details{padding:22px 14px!important;display:block!important}.sb-location-map__directions{display:inline-flex!important;margin-top:15px!important}.quote blockquote{font-size:clamp(1.8rem,8vw,2.7rem)}.closing-inner{display:block}.closing .btn{margin-top:28px}.footer-inner{display:flex;flex-direction:column;align-items:flex-start;gap:20px;padding:35px 0}.footer-inner nav{display:flex;flex-wrap:wrap;gap:16px}.page-head{padding:72px 0 64px}.page-head h1{font-size:clamp(3rem,14vw,4.5rem)}.room-dialog{display:block;width:calc(100vw - 20px);max-height:92dvh}.dialog-gallery{min-height:300px;height:42dvh}.dialog-copy{padding:30px 22px}.dialog-copy h2{font-size:1.9rem}.book-page{padding:72px 0 82px;background:linear-gradient(180deg,var(--forest) 0 23%,var(--paper) 23%)}.book-grid{gap:45px}.book-intro h1{font-size:clamp(3rem,14vw,4.6rem)}.booking-form,.booking-success{padding:26px 18px}.date-grid{grid-template-columns:1fr}.about-grid img{aspect-ratio:5/4}.contact-details h2{font-size:2rem}}
@media (max-width:390px){.hero-image{min-height:270px;height:39dvh}.hero-panel{padding-top:25px;padding-bottom:28px}.hero-title{font-size:2.7rem}.hero-text{font-size:.87rem}.btn{min-height:45px}.hero-actions{gap:8px}.hero-actions .btn{font-size:.77rem}.room-name{font-size:1.35rem}.room-facts{display:block}.room-facts span{display:block;margin-top:3px}}
@media (max-width:720px){.rooms-page .room-card{padding:28px 0}.rooms-page .room-card-open,.rooms-page .room-card:nth-child(even) .room-card-open{display:flex;flex-direction:column}.rooms-page .room-copy,.rooms-page .room-card:nth-child(even) .room-copy{padding:22px 0 54px}.rooms-page .room-book-link{top:auto;right:0;bottom:28px}.rooms-page .room-name{font-size:2rem}.rooms-page .room-description{font-size:.94rem;margin:14px 0 22px}}

/* Mobile hero contract: the garden image is full-bleed and the panel overlaps it. */
@media (max-width:720px){
  .hero{position:relative;display:block;min-height:calc(100dvh - 96px);isolation:isolate}
  .hero-image{position:absolute;inset:0;z-index:0;width:100%;height:100%;min-height:100%;max-height:none}
  .hero-image::after{background:linear-gradient(180deg,rgba(var(--pit2-rgb),.12) 0%,rgba(var(--pit2-rgb),.3) 38%,rgba(var(--pit2-rgb),.86) 70%,rgba(var(--pit2-rgb),.97) 100%)}
  .hero-panel{position:relative;z-index:1;display:flex;min-height:calc(100dvh - 96px);width:100%;flex-direction:column;justify-content:flex-end;padding:220px 20px 38px;background:linear-gradient(180deg,transparent 0 28%,rgba(var(--forest-deep-rgb),.44) 58%,rgba(var(--forest-deep-rgb),.93) 100%);color:var(--white)}
}
@media (max-width:390px){.hero-image{height:100%;min-height:100%;max-height:none}.hero-panel{min-height:calc(100dvh - 96px);padding:180px 20px 30px}}
