@font-face{font-family:Instrument;src:url(/fonts/instrument-serif.ttf)format("truetype");font-style:normal;font-display:swap}@font-face{font-family:Instrument;src:url(/fonts/instrument-serif-italic.ttf)format("truetype");font-style:italic;font-display:swap}@font-face{font-family:DM Sans;src:url(/fonts/dm-sans.ttf)format("truetype");font-weight:100 900;font-display:swap}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--paper:#f8f5ec;--paper-deep:#eee9d9;--sage:#c2ccc0;--sage-soft:#e3e8dc;--olive:#3e5142;--ink:#252d24;--subtle:#50594e;--rule:#a5ad9b;--display:Instrument, Georgia, serif;--body:"DM Sans", system-ui, sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--body);margin:0}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,summary{cursor:pointer}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--display);font-weight:400}h1,h2{letter-spacing:-.025em;line-height:.97}h2{font-size:clamp(3.3rem,6.3vw,5.7rem)}h3{font-size:clamp(1.9rem,3.1vw,3rem);line-height:1}h1 em,h2 em{color:var(--olive);font-weight:inherit}p{line-height:1.65}:focus-visible{outline-offset:4px;outline:2px solid #7a5934}section[id]{scroll-margin-top:95px}.shell{width:min(100% - 100px,1240px);margin-inline:auto}.skip-link{z-index:10;background:#fff;padding:.7rem 1rem;position:fixed;top:1rem;left:1rem;transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}.site-header{border-bottom:1px solid #d7dccf}.header-inner{grid-template-columns:1fr auto 1fr;align-items:center;gap:28px;min-height:86px;display:grid}.brand{align-items:center;gap:12px;width:fit-content;display:inline-flex}.brand img{border-radius:50%;flex:none}.brand strong{font-family:var(--display);font-size:1.75rem;font-weight:400;line-height:.95;display:block}.brand small{text-transform:uppercase;letter-spacing:.19em;color:var(--subtle);margin-top:.38rem;font-size:.62rem;font-weight:650;display:block}.header-inner nav{align-items:center;gap:clamp(19px,3vw,40px);font-size:.86rem;font-weight:600;display:flex}.header-inner nav a:hover,.site-footer a:hover{text-underline-offset:4px;text-decoration:underline}.button{border:1px solid var(--olive);border-radius:3px;justify-content:center;align-items:center;gap:12px;width:fit-content;min-height:48px;padding:.8rem 1.18rem;font-size:.88rem;font-weight:650;transition:background-color .18s,color .18s;display:inline-flex}.header-button{justify-self:end}.header-button:hover,.location-button:hover{background:var(--olive);color:var(--paper)}.primary{background:var(--olive);color:#fffdf7}.primary:hover{background:var(--ink);border-color:var(--ink)}.text-link{border-bottom:1px solid var(--rule);align-items:center;gap:9px;width:fit-content;padding-block:6px;font-size:.86rem;font-weight:650;transition:border-color .18s;display:inline-flex}.text-link:hover{border-color:var(--ink)}.text-link svg,.button svg{flex-shrink:0}.eyebrow{letter-spacing:.19em;text-transform:uppercase;color:var(--olive);align-items:center;gap:9px;font-size:.69rem;font-weight:700;line-height:1.4;display:flex}.eyebrow>span:first-child:not(.spark){background:currentColor;width:22px;height:1px;display:inline-block}.spark{color:var(--olive);font-size:1.1rem;line-height:1}.hero{padding-block:43px 31px}.hero-grid{grid-template-columns:1fr .98fr;align-items:center;gap:clamp(28px,6vw,92px);display:grid}.hero-copy{padding-block:30px 16px}.hero-copy h1{margin:22px 0 23px;font-size:clamp(4.25rem,8.2vw,8rem)}.hero-copy h1 em{white-space:nowrap}.hero-description{color:var(--subtle);max-width:430px;font-size:clamp(.99rem,1.35vw,1.125rem)}.hero-actions{flex-wrap:wrap;align-items:center;gap:12px 22px;margin-top:29px;display:flex}.hero-note{color:var(--olive);letter-spacing:.09em;text-transform:uppercase;align-items:center;gap:9px;margin-top:clamp(27px,4.4vw,60px);font-size:.75rem;display:flex}.hero-note .spark{margin-right:1px}.hero-frame{aspect-ratio:1.035;background:var(--sage);position:relative;overflow:hidden}.hero-photo{object-fit:cover;object-position:50% 68%;width:100%;height:100%}.hero-photo-rule{pointer-events:none;border:1px solid #fff9ec9c;position:absolute;inset:9px}.hero-figure figcaption{color:var(--subtle);text-transform:uppercase;letter-spacing:.14em;justify-content:space-between;align-items:center;gap:8px;padding-top:12px;font-size:.63rem;font-weight:650;display:flex}.photo-stamp{background:var(--paper);width:102px;height:102px;color:var(--ink);border:1px solid var(--ink);outline:1px solid var(--paper);outline-offset:3px;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;top:21px;right:22px;transform:rotate(8deg)}.photo-stamp>span:first-child{font:italic 1.44rem/.95 var(--display)}.photo-stamp .spark{margin:5px 0 4px;font-size:.78rem}.photo-stamp small{letter-spacing:.18em;font-size:.57rem;font-weight:750}.house-strip{background:var(--sage);border-block:1px solid #acb8a9}.strip-inner{min-height:69px;font-family:var(--display);letter-spacing:.01em;justify-content:center;align-items:center;gap:clamp(13px,5.6vw,76px);font-size:clamp(1.2rem,2.9vw,2rem);display:flex}.strip-inner .spark{font-size:.76rem}.house{grid-template-columns:1.2fr 1fr minmax(80px,.35fr);align-items:center;gap:clamp(25px,5vw,80px);padding-block:clamp(58px,8vw,118px);display:grid}.house h2,.booking-copy h2,.visit-heading h2,.gallery-heading h2{margin-top:13px}.house-text{color:var(--subtle);max-width:410px}.house-text .text-link{color:var(--olive);margin-top:16px}.sprig{width:100%;color:var(--olive);display:block}.house-ornament{opacity:.8;align-self:center;transform:rotate(14deg)}.menu-section{background:var(--sage-soft);border-block:1px solid #cdd5c7;padding-block:clamp(32px,5.5vw,74px)}.menu-paper{background:var(--paper);outline-offset:-8px;border:1px solid #7d8a75;outline:1px solid #b2bbaa;padding:clamp(25px,6vw,80px)}.menu-heading{text-align:center;position:relative}.menu-heading .eyebrow{justify-content:center}.menu-heading .spark{margin-inline:.5rem;font-size:.73rem}.menu-heading h2{margin-block:12px 15px}.menu-heading>p:last-of-type{color:var(--subtle)}.menu-sprig{opacity:.65;pointer-events:none;width:clamp(55px,8vw,105px);position:absolute;top:0}.menu-sprig.left{left:0;transform:rotate(15deg)}.menu-sprig.right{right:0;transform:scaleX(-1)rotate(15deg)}.menu-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(24px,6vw,70px);margin:clamp(24px,4vw,48px) 0 0;padding:0;list-style:none;display:grid}.menu-item{border-top:1px solid #cad0c1;padding-block:17px 18px}.menu-item-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.menu-item h3,.menu-price{font-family:var(--display);font-size:clamp(1.4rem,2.55vw,2.2rem);line-height:1.03}.menu-price{color:var(--olive);white-space:nowrap;font-style:italic}.menu-item p{color:var(--subtle);margin-top:6px;font-size:.88rem}.menu-footnote{text-align:center;color:var(--subtle);margin-top:15px;font-size:.77rem}.gallery{padding-block:clamp(56px,7vw,98px)}.gallery-heading{justify-content:space-between;align-items:end;gap:1rem;margin-bottom:25px;display:flex}.gallery-heading .text-link{flex-shrink:0}.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(8px,2vw,24px);display:grid}.gallery-photo a{aspect-ratio:1/1.03;background:var(--sage);display:block;position:relative;overflow:hidden}.gallery-photo img{object-fit:cover;width:100%;height:100%;transition:transform .25s}.gallery-photo a:hover img{transform:scale(1.035)}.gallery-photo a>span{background:var(--paper);color:var(--ink);border-radius:50%;place-items:center;padding:5px;display:grid;position:absolute;bottom:8px;right:8px}.gallery-photo figcaption{font:italic clamp(1.18rem, 2.5vw, 1.65rem) var(--display);color:var(--olive);margin-top:.55rem}.gallery-more{border-block:1px solid var(--rule);margin-top:25px}.gallery-more summary{justify-content:space-between;align-items:center;gap:1rem;min-height:47px;font-size:.88rem;font-weight:650;list-style:none;display:flex}.gallery-more summary::-webkit-details-marker{display:none}.gallery-more summary>span:last-child{font-size:1.4rem;font-weight:400;line-height:1}.gallery-more[open] summary>span:last-child{transform:rotate(45deg)}.gallery-more .gallery-open,.gallery-more[open] .gallery-closed{display:none}.gallery-more[open] .gallery-open{display:inline}.more-photos{padding-bottom:16px}.booking-section{background:var(--sage);border-block:1px solid #aab6a8;padding-block:clamp(40px,7vw,100px)}.booking-grid{grid-template-columns:1fr 1.1fr;align-items:start;gap:clamp(32px,7vw,105px);display:grid}.booking-copy{padding-top:clamp(0px,3vw,38px)}.booking-copy>p:not(.eyebrow){color:#3e4c40;max-width:360px;margin-top:20px}.booking-phone{color:#3e4c40;gap:5px;margin-top:25px;font-size:.82rem;display:grid}.booking-phone a{width:fit-content;font:2rem/1.1 var(--display);color:var(--ink);align-items:center;gap:8px;display:flex}.booking-phone a:hover,.location-phone:hover{text-underline-offset:4px;text-decoration:underline}.booking-ornament{opacity:.65;width:130px;margin:37px 0 0 9px;transform:rotate(25deg)}.booking-form{background:var(--paper);border:1px solid #a7b3a5;gap:13px;min-width:0;padding:clamp(22px,4vw,39px);display:grid;box-shadow:5px 5px #3e51421a}.booking-form h3{font-size:2.75rem}.form-kicker{color:var(--subtle);margin-top:-7px;font-size:.79rem}.booking-form label{min-width:0;font-size:.79rem;font-weight:700}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.booking-triplet{grid-template-columns:1.35fr 1fr .95fr}.booking-form :is(input,select,textarea){width:100%;min-width:0;min-height:44px;color:var(--ink);background:#fffdf7;border:1px solid #a7ad9f;border-radius:2px;margin-top:5px;padding:8px 9px;font-size:1rem;font-weight:450;display:block}.booking-form textarea{resize:vertical}.optional{color:var(--subtle);margin-left:3px;font-size:.73rem;font-weight:400}.form-submit{justify-content:space-between;width:100%;min-height:48px}.form-submit:disabled{opacity:.72;cursor:default}.form-submit span{font-size:1.12rem}.honeypot{clip-path:inset(50%);block-size:1px;inline-size:1px;position:absolute;overflow:hidden}.form-error,.form-help{color:#7a2c26;font-size:.83rem}.privacy-note{color:var(--subtle);font-size:.75rem}.privacy-note a{text-underline-offset:2px;text-decoration:underline}.booking-success{align-content:center;min-height:305px}.booking-success>span{background:var(--sage);border-radius:50%;place-items:center;width:43px;height:43px;font-size:1.2rem;display:grid}.visit{padding-block:clamp(56px,8vw,110px)}.visit-heading{margin-bottom:clamp(25px,4vw,43px)}.visit-grid{grid-template-columns:minmax(250px,.85fr) 1.35fr;gap:clamp(24px,5vw,72px);display:grid}.location{background:var(--sage-soft);border:1px solid #aeb8a8;align-content:start;gap:10px;padding:26px 28px;display:grid}.location h3{font-style:italic}.location address{color:var(--subtle);font-style:normal;line-height:1.55}.location-phone{width:fit-content;font-weight:650}.location-button{margin-top:7px}.hours{padding-top:6px}.hours dl{margin:16px 0 10px}.hours dl>div{border-bottom:1px solid #c8cdbf;justify-content:space-between;align-items:baseline;gap:.5rem;padding-block:.6rem;font-size:.88rem;display:flex}.hours dt{font-weight:650}.hours dd{text-align:right;font-variant-numeric:tabular-nums;margin:0}.hours dd span{color:var(--olive);margin-inline:.25rem}.hours p{color:var(--subtle);font-size:.79rem}.site-footer{color:#f8f5ec;background:#2c3a2e;padding-block:29px 18px}.footer-main{justify-content:space-between;align-items:center;gap:25px;padding-bottom:23px;display:flex}.footer-main p{color:#dce5d8;font-size:.86rem}.footer-brand small{color:#dce5d8}.socials,.footer-bottom>div{flex-wrap:wrap;align-items:center;gap:.75rem 1.3rem;display:flex}.socials a{align-items:center;gap:3px;font-size:.82rem;display:inline-flex}.socials svg{width:15px}.footer-bottom{color:#dce5d8;border-top:1px solid #69776a;justify-content:space-between;gap:1rem;padding-top:17px;font-size:.73rem;display:flex}.legal{width:min(100% - 42px,720px);margin:0 auto;padding-block:44px 75px}.legal h1{margin-block:28px 18px;font-size:clamp(3rem,9vw,6rem)}.legal h2{margin-block:25px 9px;font-size:2.35rem}.legal a:not(.text-link){text-underline-offset:3px;text-decoration:underline}@media (max-width:1000px){.shell{width:min(100% - 52px,1240px)}.header-inner{gap:15px}.header-inner nav{gap:18px}.house{grid-template-columns:1fr 1fr}.house-ornament{display:none}}@media (max-width:720px){.shell{width:calc(100% - 36px)}.header-inner{grid-template-columns:1fr auto;gap:0 12px;padding-top:12px}.brand img{width:43px;height:43px}.brand strong{font-size:1.55rem}.brand small{font-size:.56rem}.header-button{grid-area:1/2;min-height:43px;padding:.5rem .7rem}.header-inner nav{grid-column:1/-1;justify-content:space-between;gap:7px;min-height:42px;margin-top:5px;font-size:.75rem}.hero{padding-top:26px}.hero-grid{grid-template-columns:1fr;gap:20px}.hero-copy{padding-block:0}.hero-copy h1{margin-block:12px 16px;font-size:clamp(3.7rem,12.3vw,5.7rem)}.hero-description{max-width:510px}.hero-actions{gap:6px 14px;margin-top:17px}.hero-note{margin-top:18px}.hero-frame{aspect-ratio:1.2;object-position:center}.photo-stamp{width:73px;height:73px;top:17px;right:17px}.photo-stamp>span:first-child{font-size:1.07rem}.photo-stamp .spark{margin-block:4px 2px;font-size:.65rem}.photo-stamp small{font-size:.47rem}.strip-inner{gap:clamp(8px,4vw,24px);min-height:55px}.house{grid-template-columns:1fr;gap:15px;padding-block:48px}.menu-grid{grid-template-columns:1fr}.menu-sprig{display:none}.menu-item h3,.menu-price{font-size:1.67rem}.gallery-heading{flex-wrap:wrap}.gallery-photo a>span{padding:3px;bottom:4px;right:4px}.gallery-photo a svg{width:14px;height:14px}.more-photos{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-grid,.visit-grid{grid-template-columns:1fr}.booking-ornament{display:none}.footer-main,.footer-bottom{flex-direction:column;align-items:start}}@media (max-width:390px){.shell{width:calc(100% - 28px)}.booking-form{padding:18px 14px}.booking-triplet{grid-template-columns:1.3fr 1fr}.booking-triplet label:last-child{grid-column:1/-1}.hours dl>div{font-size:.81rem}.hours dd span{margin-inline:0}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important}}
