:root{--paper:#f1eee5;--ink:#282e25;--rust:#9e492e;--line:#cacabe;--serif:'Cormorant Garamond',Georgia,serif;--sans:'Manrope',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}button,input,select{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer;color:inherit}button,a{-webkit-tap-highlight-color:transparent}button{border:0}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--rust);outline-offset:6px}img{width:100%;height:100%;object-fit:cover;display:block}button:disabled{cursor:default}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:400}em{font-weight:400}::selection{background:#9e492e;color:white}.skip-link{position:fixed;left:20px;top:-100px;padding:12px 20px;background:var(--paper);z-index:100}.skip-link:focus{top:20px}.site-header{position:absolute;top:0;left:0;width:100%;height:112px;padding:0 4.5%;display:flex;align-items:center;justify-content:space-between;z-index:20;color:#fffaf0;border-bottom:1px solid #ffffff35;transition:background .3s}.brand{display:flex;flex-direction:column;line-height:1}.brand-name{font-family:var(--serif);font-size:43px;font-weight:500;letter-spacing:-1.5px}.brand-star{font-family:Georgia,serif;font-size:25px;margin-left:8px;vertical-align:top;display:inline-block;padding-top:3px}.brand-sub{font-size:10px;letter-spacing:2.5px;margin-top:11px}.main-nav{display:flex;align-items:center;gap:36px;font-size:14px}.main-nav>a{position:relative;padding:10px 0}.main-nav>a:after{content:'';height:1px;position:absolute;bottom:4px;left:0;width:0;background:currentColor;transition:width .3s}.main-nav>a:hover:after{width:100%}.nav-book{border:1px solid #ffffff70;padding:12px 20px;background:transparent;color:inherit;display:flex;gap:30px;align-items:center;transition:background .25s,color .25s}.nav-book:hover{background:var(--paper);color:var(--ink)}.nav-book span{font-size:21px}.menu-toggle{display:none}.hero{height:max(780px,100svh);max-height:1200px;position:relative;isolation:isolate;overflow:hidden;background:#333d2d;color:#fffaf0}.hero-media{position:absolute;inset:-13% 0 -9%;z-index:-3;transform:translate3d(0,var(--shift,0px),0);will-change:transform}.hero-media img{object-position:50% 52%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#14221870 0%,#18221920 66%),linear-gradient(0deg,#162319b8 0%,transparent 33%,transparent 74%,#1a231a6b 100%);z-index:-2}.hero-location{position:absolute;top:156px;left:4.6%;display:flex;align-items:center;gap:15px;font-size:11px;letter-spacing:2px;transform:translate3d(0,var(--shift,0px),0)}.small-cross{font-size:25px;font-weight:400;line-height:1}.location-line{width:42px;height:1px;background:#ffffff60;margin:0 5px}.hero-copy{position:absolute;left:9%;top:30.5%;transform:translate3d(0,var(--shift,0px),0);will-change:transform}.eyebrow{font-size:11px;font-weight:500;letter-spacing:2.5px;line-height:1.5}.hero h1{font-family:var(--serif);font-size:clamp(78px,7.9vw,136px);letter-spacing:-.045em;line-height:.98;margin:24px 0 28px}.hero h1 em{color:#eee1c4}.hero-description{font-size:16px;line-height:1.7;max-width:240px}.stay-seal{position:absolute;right:11%;bottom:24%;height:150px;width:150px;border:1px solid #f4eee090;border-radius:50%;background:#f3efdf;color:var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;transform:translate3d(0,var(--shift,0px),0) rotate(-9deg);box-shadow:0 6px 40px #13201615;transition:background .25s;will-change:transform}.stay-seal:hover{background:#fffaf0}.stay-seal>span:first-child{font-size:10px;line-height:1.6;letter-spacing:2px}.seal-arrow{font-size:35px;line-height:1.2}.hero-bottom{position:absolute;bottom:49px;left:4.6%;right:4.6%;display:flex;align-items:center;justify-content:space-between}.scroll-cue{display:flex;align-items:center;gap:16px;font-size:13px}.scroll-arrow{height:46px;width:46px;border:1px solid #ffffff60;border-radius:50%;display:grid;place-items:center;font-size:22px;transition:transform .3s}.scroll-cue:hover .scroll-arrow{transform:translateY(5px)}.hero-bottom>p{font-size:13px;line-height:1.6;margin-left:auto;margin-right:20%}.hero-index{font-size:12px;letter-spacing:1px}.hero-index i{font-style:normal;opacity:.5;margin:0 9px}.hero-photo-note{position:absolute;bottom:14px;right:4.6%;font-size:9px;letter-spacing:1px;opacity:.65}.section-wrap{max-width:1440px;margin:auto;padding:120px 8%}.intro{position:relative;padding-bottom:130px}.section-topline{display:flex;justify-content:space-between;align-items:center;margin-bottom:54px}.section-marker{font-family:var(--serif);font-size:22px;font-style:italic;color:var(--rust)}.intro-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:12%;align-items:start}.intro h2,.rooms h2,.spirit h2{font-family:var(--serif);font-size:clamp(52px,5.1vw,82px);letter-spacing:-.035em;line-height:1.04}.intro h2 em{color:var(--rust)}.intro-text{padding-top:8px}.intro-text p{line-height:1.9;font-size:16px;max-width:390px}.text-link{font-size:14px;border-bottom:1px solid currentColor;display:inline-flex;align-items:center;gap:45px;padding:0 0 10px;margin-top:27px}.text-link span{font-size:23px;transition:transform .3s}.text-link:hover span{transform:translate(4px,-4px)}.material-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;padding:23px 0;margin-top:60px;font-size:11px;letter-spacing:2px}.material-strip span:nth-child(even){color:var(--rust)}.story-images{margin-top:70px;display:grid;grid-template-columns:1.65fr 1fr;gap:10%;align-items:center}.courtyard-frame{height:490px;overflow:hidden;position:relative}.courtyard-frame img,.craft-frame img{height:125%;position:absolute;top:-12.5%;transform:translate3d(0,var(--shift,0px),0);will-change:transform}.image-caption{display:flex;gap:16px;align-items:baseline;font-size:12px;margin-top:15px;line-height:1.5}.image-caption span{font-family:var(--serif);font-style:italic;color:var(--rust);font-size:20px}.craft-composition{padding-top:75px}.craft-frame{position:relative;height:320px;overflow:hidden}.craft-composition blockquote{font-family:var(--serif);font-size:30px;line-height:1.25;font-style:italic;margin:32px 0 0;max-width:300px}.rooms{background:var(--ink);color:var(--paper);overflow:hidden}.rooms .section-wrap{padding-top:95px;padding-bottom:105px}.rooms-top{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:52px}.rooms h2{margin-top:26px}.rooms h2 em{color:#c9b298}.rooms-top>p{font-size:14px;line-height:1.8;max-width:280px;padding-bottom:7px;color:#d1d3c8}.room-layout{display:grid;grid-template-columns:1.8fr 1fr;align-items:center;gap:7%}.room-image{height:520px;position:relative;overflow:hidden}.room-image img{height:122%;position:absolute;top:-11%;transform:translate3d(0,var(--shift,0px),0);will-change:transform}.room-info .room-number{font-family:var(--serif);font-size:24px;font-style:italic;color:#b7bda9}.room-info h3{font-family:var(--serif);font-size:42px;line-height:1.1;margin:26px 0 22px;letter-spacing:-1px}.room-info>p{font-size:14px;color:#d1d3c8;line-height:1.85}.room-divider{width:50px;height:1px;background:#808675;margin:30px 0}.room-detail{font-size:11px;letter-spacing:1.7px;line-height:2}.outline-button{border:1px solid #ced1bf70;background:transparent;color:inherit;padding:16px 22px;display:flex;justify-content:space-between;align-items:center;gap:30px;font-size:13px;width:100%;margin-top:32px;transition:background .3s,color .3s}.outline-button:hover{background:var(--paper);color:var(--ink)}.outline-button span{font-size:22px}.room-footnote{font-size:11px;color:#b3baa8;margin-top:20px}.spirit{position:relative;background:#dddfd4;overflow:hidden}.spirit .section-wrap{display:grid;grid-template-columns:1fr 1.2fr;gap:12%;align-items:center;padding-top:110px;padding-bottom:115px}.spirit-visual{height:450px;position:relative;overflow:hidden}.spirit-visual img{height:125%;position:absolute;top:-12.5%;transform:translate3d(0,var(--shift,0px),0);will-change:transform;object-position:50% 65%}.spirit h2{margin:30px 0}.spirit h2 em{color:var(--rust)}.spirit-copy>p:not(.eyebrow){font-size:15px;max-width:420px;line-height:1.85}.location-note{border-top:1px solid #a3ac9955;padding-top:24px;margin-top:34px;display:flex;gap:15px;font-size:13px;align-items:center}.location-note>span:first-child{font-size:30px;font-family:var(--serif)}.closing{text-align:center;padding:100px 8% 90px;background:var(--paper)}.closing h2{font-family:var(--serif);font-size:clamp(55px,6.8vw,104px);letter-spacing:-.045em;line-height:1.02;margin:28px 0 35px}.closing h2 em{color:var(--rust)}.solid-button{background:var(--rust);color:#fff8ef;display:inline-flex;align-items:center;justify-content:space-between;gap:50px;padding:19px 26px;font-size:14px;transition:background .25s}.solid-button:hover{background:#7d3825}.solid-button span{font-size:21px}.closing .phone{display:block;font-size:13px;margin-top:20px}.footer{padding:45px 4.5% 25px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:30px;flex-wrap:wrap}.footer-brand{font-family:var(--serif);font-size:38px;letter-spacing:-1.5px}.footer-place{text-align:right;font-size:13px;line-height:1.7}.footer-meta{border-top:1px solid #cacabe80;padding-top:20px;width:100%;display:flex;justify-content:space-between;gap:20px;font-size:10px;line-height:1.7;color:#626959}.footer-meta a{text-decoration:underline;text-underline-offset:3px}.reveal{opacity:1;transform:none}.js-motion .reveal{opacity:0;transform:translateY(24px);transition:opacity .9s,transform .9s}.js-motion .reveal.is-visible{opacity:1;transform:none}.modal-open{overflow:hidden}dialog{padding:54px;background:var(--paper);color:var(--ink);max-width:560px;width:calc(100% - 32px);border:0;max-height:90svh;overflow:auto}dialog::backdrop{background:#172017aa;backdrop-filter:blur(6px)}.dialog-close{position:absolute;right:18px;top:12px;background:transparent;font-size:30px;font-weight:400;width:40px;height:40px}.dialog-close:hover{color:var(--rust)}dialog h2{font-family:var(--serif);font-size:56px;letter-spacing:-1.7px;line-height:1;margin:25px 0 22px}dialog h2 em{color:var(--rust)}.dialog-intro{font-size:14px;line-height:1.8}form{margin-top:25px}form label{font-size:13px;display:block}input,select{display:block;width:100%;min-width:0;border:1px solid #a4aa9c;background:transparent;padding:12px;margin:7px 0 18px;color:var(--ink);border-radius:0;font-size:15px}.date-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.date-row label{min-width:0}form .solid-button{width:100%;margin-top:7px;gap:20px}.form-note{font-size:11px;margin-top:15px;color:#626959;line-height:1.6}#booking-status{font-size:13px;margin-top:15px}#whatsapp-fallback{font-size:13px;text-decoration:underline;text-underline-offset:4px}
@media(min-width:1700px){.hero-copy{left:12%}.hero h1{font-size:145px}.hero-location{left:7%}.site-header{padding:0 7%}}
@media(max-width:1050px){.main-nav{gap:22px}.hero h1{font-size:94px}.hero-copy{left:7%}.hero{max-height:1050px}.hero-bottom>p{margin-right:15%}.stay-seal{right:7%;height:125px;width:125px;bottom:20%}.intro-grid{gap:7%}.section-wrap{padding:90px 6%}.story-images{gap:7%}.courtyard-frame{height:440px}.room-layout{grid-template-columns:1.5fr 1fr;gap:6%}.room-image{height:460px}.room-info h3{font-size:36px}.spirit .section-wrap{gap:8%}.spirit-visual{height:410px}}
@media(max-width:740px){html{scroll-padding-top:30px}.site-header{height:92px;padding:0 6%}.brand-name{font-size:35px}.brand-sub{font-size:8px;letter-spacing:1.9px;margin-top:9px}.brand-star{font-size:21px}.menu-toggle{display:flex;flex-direction:column;gap:7px;width:44px;height:44px;align-items:center;justify-content:center;background:transparent;color:inherit;z-index:2}.menu-toggle span{width:24px;height:1px;background:currentColor;transition:transform .3s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}.main-nav{display:none;position:absolute;top:91px;left:0;right:0;background:var(--ink);padding:30px 6% 40px;align-items:stretch;gap:20px}.main-nav.is-open{display:flex;flex-direction:column}.main-nav>a{font-size:20px;font-family:var(--serif)}.nav-book{font-size:14px;justify-content:space-between}.hero{height:93svh;min-height:700px;max-height:960px}.hero-media{inset:-10% -22% -8%}.hero-media img{object-position:57% center}.hero-shade{background:linear-gradient(90deg,#15221775,#15221725),linear-gradient(0deg,#17281acc,transparent 48%,#17281a55)}.hero-location{left:6%;top:123px;font-size:9px;letter-spacing:1.4px;gap:10px}.hero-location .location-line{width:20px}.hero-copy{top:29%;left:7%;right:5%}.hero .eyebrow{font-size:9px;letter-spacing:2px}.hero h1{font-size:clamp(62px,11.9vw,88px);margin:24px 0;line-height:1.01;letter-spacing:-.045em}.hero-description{font-size:14px}.stay-seal{height:107px;width:107px;right:7%;bottom:14%;gap:4px}.stay-seal>span:first-child{font-size:8px;letter-spacing:1.6px}.seal-arrow{font-size:28px}.hero-bottom{left:7%;right:7%;bottom:36px}.hero-bottom>p,.hero-index{display:none}.scroll-cue{font-size:11px;gap:12px}.scroll-arrow{height:36px;width:36px;font-size:18px}.hero-photo-note{font-size:8px;right:7%;bottom:13px}.section-wrap{padding:75px 7%}.section-topline{margin-bottom:32px}.eyebrow{font-size:10px;letter-spacing:1.9px}.intro-grid{grid-template-columns:1fr;gap:28px}.intro h2,.rooms h2,.spirit h2{font-size:55px}.intro-text p{max-width:100%;font-size:15px}.text-link{font-size:13px;margin-top:20px}.material-strip{margin-top:40px;font-size:8px;letter-spacing:1.3px;padding:17px 0}.story-images{margin-top:38px;grid-template-columns:1fr;gap:28px}.courtyard-frame{height:370px}.craft-composition{padding-top:0;display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:center}.craft-composition>div{grid-column:2;grid-row:1}.craft-frame{height:230px}.craft-composition blockquote{grid-column:1;grid-row:1;font-size:25px;margin:0}.image-caption{font-size:10px;gap:10px}.image-caption span{font-size:17px}.intro{padding-bottom:65px}.rooms .section-wrap{padding-top:70px;padding-bottom:65px}.rooms-top{display:block;margin-bottom:32px}.rooms h2{margin-top:22px}.rooms-top>p{font-size:13px;margin-top:25px;max-width:90%}.room-layout{display:block}.room-image{height:340px}.room-info{margin-top:30px;position:relative}.room-info .room-number{position:absolute;right:0;top:2px}.room-info h3{font-size:35px;margin:0 0 20px;padding-right:55px}.room-info>p{font-size:14px}.room-divider{margin:22px 0}.room-detail{font-size:10px}.outline-button{margin-top:23px}.room-footnote{font-size:10px}.spirit .section-wrap{display:flex;flex-direction:column-reverse;gap:40px;padding-top:70px;padding-bottom:70px;align-items:stretch}.spirit h2{margin:25px 0}.spirit-copy>p:not(.eyebrow){font-size:14px}.spirit-visual{height:340px;max-width:85%;width:100%;align-self:center}.location-note{margin-top:27px;padding-top:20px}.closing{padding:70px 7%}.closing h2{font-size:62px}.solid-button{padding:17px 22px;font-size:13px;gap:40px}.footer{padding:30px 7% 22px;gap:20px}.footer-brand{font-size:34px}.footer-place{font-size:11px}.footer-meta{font-size:9px;display:block}.footer-meta p+p{margin-top:12px}dialog{padding:42px 24px 30px}dialog h2{font-size:49px}.dialog-intro{font-size:13px}.date-row{gap:10px}input,select{padding:11px 8px;font-size:14px}.form-note{font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js-motion .reveal{opacity:1;transform:none}}
/* Small type remains legible on both touch and desktop screens. */
.brand-sub{font-size:12px;letter-spacing:1.5px}.hero-location{font-size:12px;letter-spacing:1.4px}.eyebrow,.hero .eyebrow{font-size:12px;letter-spacing:2px}.hero-photo-note{font-size:12px;letter-spacing:1px}.stay-seal>span:first-child{font-size:12px;letter-spacing:1.3px}.material-strip{font-size:12px;letter-spacing:2px}.room-detail{font-size:12px;letter-spacing:1.5px}.room-footnote,.footer-meta,.form-note{font-size:12px}.footer-meta{align-items:start}.footer-meta p:nth-child(2){max-width:480px}.intro{padding-bottom:95px}.hero h1 em{white-space:nowrap}.location-note{font-size:14px}.closing h2{font-size:clamp(52px,5.8vw,88px)}
@media(max-width:740px){.brand-sub{font-size:10px;letter-spacing:1.3px}.hero-location{font-size:10px;letter-spacing:1px}.hero-location .location-line{display:none}.hero-location{gap:8px}.hero-location .small-cross{font-size:20px}.hero-photo-note{font-size:10px}.hero .eyebrow,.eyebrow{font-size:12px;letter-spacing:1.5px}.hero-bottom{bottom:36px}.scroll-cue{font-size:12px}.stay-seal>span:first-child{font-size:10px;letter-spacing:1px}.stay-seal{bottom:13%;right:6%;width:106px;height:106px}.material-strip{font-size:12px;letter-spacing:1px}.intro{padding-bottom:65px}.footer-meta{font-size:12px}.footer-place{font-size:12px}.room-footnote,.form-note{font-size:12px}.room-detail{font-size:12px}.closing h2{font-size:52px;line-height:1.05}.dialog-intro{font-size:14px}.hero h1{font-size:clamp(60px,11.6vw,83px)}.spirit-copy>p:not(.eyebrow){font-size:16px}.rooms-top>p{font-size:14px}.room-info>p{font-size:16px}.intro-text p{font-size:16px}.main-nav>a{font-size:26px}}
.room-info>p,.rooms-top>p,.spirit-copy>p:not(.eyebrow),.dialog-intro{font-size:16px}.nav-book,.outline-button,.text-link,form label{font-size:14px}.brand-sub,.hero-location,.hero-photo-note,.stay-seal>span:first-child{font-size:12px}.hero-location{letter-spacing:1px}.hero .hero-description{font-size:16px}.room-info .room-detail{font-size:12px}
@media(max-width:740px){.hero-location{right:6%;font-size:12px;flex-wrap:wrap;column-gap:8px;row-gap:0}.hero-location .small-cross{display:none}.hero-location{letter-spacing:.3px}.brand-sub{font-size:12px;letter-spacing:.5px}.stay-seal>span:first-child{font-size:12px;letter-spacing:.7px}.hero-photo-note{font-size:12px}.hero .hero-description{font-size:16px}.hero h1{font-size:clamp(59px,11.6vw,83px)}}

@media(max-width:740px){.hero-location .location-tagline{display:none}}
.js-motion .reveal{transition-duration:.6s}

/* Restaurant: the same house, a new table. */
.main-nav{gap:26px}.main-nav a[aria-current=page]:after{width:100%}
.restaurant-teaser{display:grid;grid-template-columns:1fr 1.15fr;gap:8%;align-items:center;padding-top:100px;padding-bottom:100px}
.restaurant-teaser h2,.restaurant-contact h2{font-family:var(--serif);font-size:clamp(52px,4.5vw,72px);letter-spacing:-.035em;line-height:1.05;margin:28px 0}
.restaurant-teaser h2 em{color:var(--rust)}.restaurant-teaser-copy>p:not(.eyebrow){max-width:410px;line-height:1.85}
.restaurant-teaser-image{display:block;position:relative;height:440px;overflow:hidden;background:var(--ink)}
.restaurant-teaser-image img{height:125%;position:absolute;top:-12.5%;transform:translate3d(0,var(--shift,0px),0);will-change:transform}
.photo-label{position:absolute;bottom:15px;right:18px;color:#fffaf0;font-size:12px;letter-spacing:1px;text-shadow:0 1px 6px #000}
.restaurant-hero{height:90svh;min-height:780px;max-height:1050px}.restaurant-hero .hero-copy{top:31%}.restaurant-hero h1{font-size:clamp(80px,7.7vw,124px)}.restaurant-hero .hero-description{max-width:300px}.restaurant-hero .stay-seal{bottom:22%}
.restaurant-second-paragraph{margin-top:24px}.restaurant-contact{background:var(--ink);color:var(--paper)}
.restaurant-contact>.section-wrap{display:grid;grid-template-columns:1.2fr 1fr;gap:14%;padding-top:95px;padding-bottom:100px}.restaurant-contact h2 em{color:#c9b298}.restaurant-contact .solid-button{background:var(--paper);color:var(--ink);margin-top:12px}.restaurant-contact .solid-button:hover{background:#ddd8c7}
.restaurant-confirmation{font-size:12px;max-width:320px;margin-top:18px;color:#d1d3c8}.restaurant-details>div+div{border-top:1px solid #ffffff25;margin-top:26px;padding-top:26px}.restaurant-details .eyebrow{color:#bdc2b5;margin-bottom:14px}.restaurant-details p:not(.eyebrow){font-size:16px;line-height:1.8}.restaurant-details .text-link{margin-top:18px;gap:24px}.restaurant-phone{font-size:20px}.restaurant-page .footer{background:var(--paper)}
@media(max-width:1050px){.main-nav{gap:20px}.restaurant-contact>.section-wrap{gap:8%}.restaurant-teaser{gap:6%}.restaurant-teaser-image{height:390px}}
@media(max-width:850px) and (min-width:741px){.main-nav{gap:15px;font-size:13px}.nav-book{padding:10px 14px;gap:15px}.site-header{padding:0 3%}.brand-name{font-size:36px}.brand-sub{font-size:10px}}
@media(max-width:740px){.restaurant-teaser{grid-template-columns:1fr;gap:34px;padding-top:70px;padding-bottom:70px}.restaurant-teaser h2,.restaurant-contact h2{font-size:52px}.restaurant-teaser-image{height:320px}.restaurant-hero{height:93svh;min-height:720px}.restaurant-hero .hero-copy{top:30%}.restaurant-hero h1{font-size:clamp(59px,11.6vw,83px)}.restaurant-hero .hero-description{font-size:16px}.restaurant-hero .stay-seal{bottom:14%}.restaurant-contact>.section-wrap{grid-template-columns:1fr;gap:50px;padding-top:70px;padding-bottom:70px}.restaurant-contact h2{margin-top:25px}.restaurant-intro{padding-bottom:65px}.restaurant-details .text-link{font-size:14px}.restaurant-page .hero-location .location-line{display:block}}
