@font-face{font-family:Manrope;src:url('/fonts/manrope.ttf') format('truetype');font-weight:400 500;font-display:swap}@font-face{font-family:'Cormorant Garamond';src:url('/fonts/cormorant.ttf') format('truetype');font-weight:400;font-display:swap}
:root{--cream:#f7f5ef;--ink:#2a211b;--onyx:#0d0d0d;--taupe:#8b8376;--brass:#b99a5b;--plum:#382a3d;--line:#d9d1c5;--serif:'Cormorant Garamond',Georgia,serif;--sans:Manrope,Arial,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.7}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;max-width:100%;object-fit:cover}h1,h2,h3,p{margin:0}h1,h2{font-family:var(--serif);font-weight:400;line-height:1.02;letter-spacing:-.035em}h1{font-size:clamp(48px,5.4vw,84px)}h2{font-size:clamp(40px,4.3vw,64px)}h3{font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;margin-bottom:20px}p{max-width:570px}p+p{margin-top:20px}a,button{ -webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid #9d7130;outline-offset:5px}a:hover{text-decoration:underline;text-underline-offset:5px}.button:hover{text-decoration:none;background:var(--plum);color:white}.skip{position:absolute;left:16px;top:-100px;z-index:20;background:white;padding:12px}.skip:focus{top:12px}.header{height:112px;padding:0 5.2%;display:flex;align-items:center;justify-content:space-between;gap:32px;position:relative;z-index:5;border-bottom:1px solid var(--line);background:var(--cream)}.brand{width:126px;height:72px;display:block;flex-shrink:0;overflow:hidden}.logo{width:126px;height:89px;max-width:none;object-fit:contain;transform:translateY(-9px);mix-blend-mode:multiply}.desktop-nav{display:flex;align-items:center;gap:29px;font-size:13px}.desktop-nav a{padding:15px 0;position:relative}.desktop-nav a[aria-current=page]:after{content:'';position:absolute;height:1px;left:0;right:0;bottom:8px;background:var(--ink)}.header-actions{display:flex;gap:16px;align-items:center}.button{display:inline-flex;gap:30px;justify-content:space-between;align-items:center;padding:14px 23px;min-height:52px;background:var(--ink);color:var(--cream);font-size:13px;font-weight:500;border:1px solid var(--ink);transition:background .18s}.header .button{min-height:46px;padding:10px 18px;gap:24px}.outline{background:transparent;color:var(--ink)}.actions{display:flex;gap:12px;flex-wrap:wrap}.text-link{display:inline-flex;gap:36px;align-items:center;min-height:48px;border-bottom:1px solid var(--taupe);font-size:14px;margin-top:25px}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:1.08fr 1fr;min-height:660px}.hero-copy{padding:92px 9% 44px 10%;display:flex;flex-direction:column;align-items:flex-start}.hero-copy h1{max-width:580px}.hero-copy p{margin:27px 0 35px;max-width:340px;font-size:16px}.hero-photo{width:100%;height:660px;object-position:center 56%}.hero-location{font-size:10px;letter-spacing:.22em;margin-top:auto;padding-top:50px;color:#746957}.section{padding:100px max(7%,calc((100vw - 1240px)/2))}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.2em;display:block;margin-bottom:24px;color:#79633b}.intro{text-align:center;padding-top:105px;padding-bottom:110px}.intro h2{margin-bottom:24px}.intro p{margin:auto;max-width:600px}.food{background:#eae5dc;display:grid;grid-template-columns:1fr 1fr;gap:35px 9%;padding-bottom:85px}.food h2{max-width:450px}.food>div:nth-child(2){padding-top:40px}.menu-sheet{grid-column:1/-1;padding:45px;text-align:center;border-top:1px solid #bcb0a0;border-bottom:1px solid #bcb0a0;margin-top:20px}.menu-sheet>span{font-size:11px;letter-spacing:.23em}.menu-sheet p{font:italic 38px var(--serif);max-width:none;margin:17px 0}.menu-sheet small{font-size:12px;color:#665a4e}.room{display:grid;grid-template-columns:1.15fr 1fr;background:var(--ink);color:var(--cream)}.room-image img{height:620px;width:100%}.room-copy{padding:100px 15% 70px 13%;align-self:center}.room-copy .eyebrow{color:#cfb580}.room-copy p{margin-top:25px;color:#e0d8cb}.room-copy h2{max-width:330px}.story{display:grid;grid-template-columns:1.2fr .8fr;gap:14%;align-items:center}.story-copy p{margin-top:30px}.story>img{width:100%;height:540px;object-position:center 40%}.invitation{padding:75px 8%;display:flex;gap:55px;align-items:center;justify-content:center;background:#e9e1d5}.invitation>img{width:90px;height:135px;object-fit:contain;mix-blend-mode:multiply}.invitation h2{font-size:52px}.invitation p{margin:15px 0 24px}.invitation .button{background:transparent;color:var(--ink)}.invitation .button:hover{background:var(--ink);color:white}footer{padding:70px 6% 20px;background:var(--cream)}.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:7%;padding-bottom:60px}.footer-grid p{font-size:13px;line-height:1.9}.muted{color:#736a5f}.small{font-size:12px!important}.footer-bottom{border-top:1px solid var(--line);padding-top:26px;display:flex;align-items:center;justify-content:space-between;gap:25px}.footer-bottom nav{display:flex;gap:25px;font-size:12px}.footer-bottom>span{font-size:11px}.preview-note{text-align:center;max-width:none;font-size:11px;color:#766e64;border-top:1px solid var(--line);padding-top:17px;margin-top:20px}.page-heading{padding:75px 8% 65px;text-align:center}.page-heading h1{max-width:850px;margin:auto}.page-heading p{margin:25px auto 0;max-width:570px}.editorial{padding-top:0;display:grid;grid-template-columns:1.2fr 1fr;gap:9%;align-items:center}.editorial-main{width:100%;height:640px}.editorial h2{margin-bottom:30px}.editorial p{color:#66594c}.details{padding-top:0;display:grid;grid-template-columns:1.5fr 1fr;gap:30px}.details img{height:420px;width:100%}.details p{font-size:12px;grid-column:1/-1;color:#726758}.menu-page{padding-top:0}.menu-preview{border-top:1px solid var(--line);border-bottom:1px solid var(--line);text-align:center;padding:50px 25px 65px}.menu-preview>img{height:125px;width:83px;mix-blend-mode:multiply;margin:0 auto 30px}.menu-preview h2{font-size:44px}.menu-preview p{margin:25px auto 0}.contact,.booking{display:grid;grid-template-columns:1fr 1fr;gap:12%;padding-top:0}.contact>img,.booking>img{width:100%;height:620px}.contact-details{display:grid;gap:36px;align-content:center}.contact-details h3{margin-bottom:10px}.booking-notice{align-self:center}.booking-notice h2{font-size:48px;margin-bottom:25px}.booking-notice .text-link{display:flex;max-width:270px}.menu-page article{padding:40px 0;border-bottom:1px solid var(--line)}.menu-page article h3{margin-top:30px}.menu-page dd{margin:0 0 20px;color:#726758}.mobile-nav[hidden]{display:none}
@media(min-width:1500px){.hero{max-width:1600px;margin:auto}.hero-copy{padding-top:110px}.hero-photo{height:730px}.hero{min-height:730px}}
@media(max-width:1100px){.desktop-nav{gap:19px}.header{gap:20px;padding:0 4%}.hero-copy{padding:80px 7% 35px}.hero-copy h1{font-size:64px}.hero-photo{height:640px}.hero{min-height:640px}.hero-copy .button{gap:12px;padding:13px 16px}.room-copy{padding:70px 10%}.footer-bottom nav{gap:16px}}
@media(max-width:959px){.desktop-nav{display:none}.header{height:94px}.menu-toggle{display:flex;align-items:center;gap:12px;background:none;border:0;padding:12px 0 12px 12px;min-height:48px;font-size:13px}.menu-toggle span{font-size:20px}.mobile-nav{position:absolute;top:100%;left:0;right:0;padding:22px 6% 30px;background:var(--cream);box-shadow:0 12px 18px #0002;display:grid;gap:0}.mobile-nav>a:not(.button){padding:14px 0;border-bottom:1px solid var(--line)}.mobile-nav .button{margin-top:20px;justify-self:start}.hero-copy h1{font-size:56px}.hero-copy{padding:70px 8% 35px}.hero-photo{height:620px}.hero{min-height:620px}.hero-copy .actions{flex-direction:column}.hero-copy .button{min-width:175px}.section{padding:75px 7%}.room-image img{height:550px}.story{gap:9%}.story>img{height:480px}.footer-bottom{flex-wrap:wrap}.footer-bottom nav{flex-wrap:wrap}.editorial{gap:6%;padding-top:0}.editorial-main{height:540px}.details{padding-top:0}.contact,.booking{gap:8%;padding-top:0}.contact>img,.booking>img{height:580px}}
@media(max-width:600px){body{font-size:15px}.header{height:84px;padding:0 5%;gap:10px}.brand{width:94px;height:65px}.logo{width:94px;height:67px;transform:translateY(0)}.header-actions{gap:10px}.header .button{font-size:11px;padding:10px 12px;min-height:44px;gap:8px}.header .button svg{width:15px}.menu-toggle{font-size:0;padding:10px 2px;gap:0;min-width:36px;justify-content:center}.menu-toggle span{font-size:23px}.hero{display:flex;flex-direction:column;min-height:0}.hero-copy{padding:43px 7% 33px}.hero-copy h1{font-size:54px;line-height:1.02}.hero-copy p{margin:23px 0 26px;max-width:310px;font-size:14px}.hero-copy .actions{flex-direction:row;gap:10px}.hero-copy .button{min-width:0;gap:15px;padding:13px 15px;font-size:12px}.hero-location{font-size:9px;padding-top:25px}.hero-photo{height:410px;object-position:center 59%}.section{padding:63px 7%}.intro p{font-size:15px}.eyebrow{font-size:10px;margin-bottom:19px}.intro h2{font-size:43px}.food{display:block}.food>div:nth-child(2){padding-top:25px}.food h2{font-size:43px;max-width:300px}.menu-sheet{margin-top:35px;padding:30px 0}.menu-sheet p{font-size:32px}.menu-sheet small{font-size:11px}.room{display:flex;flex-direction:column}.room-image img{height:330px}.room-copy{padding:52px 7% 60px;align-self:stretch}.room-copy h2{max-width:none;font-size:46px}.story{display:flex;flex-direction:column;gap:35px}.story>img{height:440px;width:100%;object-position:center 35%}.invitation{padding:50px 7%;gap:20px;align-items:flex-start}.invitation>img{width:53px;height:80px;flex-shrink:0;margin-top:5px}.invitation h2{font-size:38px}.invitation p{font-size:13px}.invitation .button{font-size:12px;padding:12px 17px;gap:15px}footer{padding:48px 7% 20px}.footer-grid{grid-template-columns:1fr;gap:30px;padding-bottom:35px}.footer-grid h3{margin-bottom:12px}.footer-bottom{gap:22px}.footer-bottom nav{order:3;width:100%;gap:8px 22px}.footer-bottom nav a{padding:7px 0}.preview-note{font-size:10px;text-align:left}.page-heading{padding:45px 7% 40px}.page-heading h1{font-size:50px}.page-heading p{font-size:14px;margin-top:20px}.editorial{display:flex;flex-direction:column;padding-top:0;gap:35px}.editorial-main{height:400px}.editorial h2{font-size:43px}.details{padding-top:0;gap:15px;grid-template-columns:1fr 1fr}.details img{height:260px}.details p{font-size:11px}.contact,.booking{display:flex;flex-direction:column;padding-top:0;gap:40px}.contact>img,.booking>img{height:440px}.menu-page{padding-top:0}.menu-preview{padding:35px 0 45px}.menu-preview h2{font-size:39px}.menu-preview p{font-size:14px}.booking-notice h2{font-size:41px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

@font-face{font-family:Manrope;src:url('/fonts/manrope-semibold.ttf') format('truetype');font-weight:600 800;font-display:swap}

/* Homepage colour study: existing composition, Luka's approved dark palette.
   Keep the interior pages untouched while the homepage direction is reviewed. */
.home-page .header,
.home-page .hero {
  background: var(--onyx);
  color: var(--cream);
}
.home-page .header { border-color: var(--taupe); }
/* Supplied transparent white wordmark, rendered in dark ink on cream headers. */
.inner-page .header .logo, .inner-page .footer-bottom .logo { filter: brightness(0) invert(5.1%); mix-blend-mode: normal; }
.home-page .header .brand { width: 155px; height: 82px; }
.home-page .header .logo { width: 155px; height: 110px; transform: translateY(-14px); }
.home-page .header .logo,
.home-page .footer-bottom .logo,
.home-page .invitation > img {
  /* Reverse the supplied artwork for a dark surface; preserve its geometry. */
  filter: invert(1);
  mix-blend-mode: screen;
}
.home-page .desktop-nav a[aria-current=page]:after { background: var(--cream); }
.home-page .hero-copy p { color: var(--cream); }
.home-page .hero-location { color: var(--brass); }
.home-page .header .button,
.home-page .hero .button:not(.outline),
.home-page .invitation .button {
  background: var(--cream);
  border-color: var(--cream);
  color: var(--onyx);
}
.home-page .hero .outline {
  background: transparent;
  border-color: var(--taupe);
  color: var(--cream);
}
.home-page .header .button:hover,
.home-page .hero .button:hover,
.home-page .invitation .button:hover {
  background: var(--brass);
  border-color: var(--brass);
  color: var(--onyx);
}
.home-page .intro { padding-top: 145px; padding-bottom: 145px; }
.home-page .food {
  background: var(--plum);
  color: var(--cream);
  padding-top: 65px;
  padding-bottom: 55px;
  gap: 15px 9%;
}
.home-page .food .eyebrow,
.home-page .story .eyebrow { color: var(--brass); }
.home-page .food .text-link,
.home-page .story .text-link { border-color: var(--taupe); }
.home-page .menu-sheet {
  padding: 28px 0 0;
  margin-top: 20px;
  border-top-color: var(--taupe);
  border-bottom: 0;
}
.home-page .menu-sheet > span { display: none; }
.home-page .menu-sheet p { margin: 0 0 10px; }
.home-page .menu-sheet small { color: var(--cream); }
.home-page .food { align-items: center; }
.home-page .food-copy p { margin-top: 28px; }
.home-page .food > .food-image { border: 0; padding: 0; }
.home-page .food-image img { width: 100%; height: auto; }
@media(max-width:600px) {
  .home-page .food > .food-image { padding: 0; margin-top: 35px; }
}
.home-page .room {
  background: var(--cream);
  color: var(--ink);
  padding-top: 100px;
  padding-bottom: 100px;
}
.home-page .room-copy .eyebrow { color: #79633b; }
.home-page .room-copy p { color: var(--ink); }
.home-page .story {
  background: var(--onyx);
  color: var(--cream);
  padding-top: 65px;
  padding-bottom: 65px;
}
.home-page .story-copy p { color: var(--cream); }
.home-page .story { position: relative; min-height: 670px; }
.clock-hand { transform-origin: 0 0; animation: clock-turn 60s linear infinite; }
.clock-hour { animation-duration: 720s; animation-delay: -180s; }
.clock-minute { animation-delay: -5s; }
@keyframes clock-turn { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
@media(prefers-reduced-motion:reduce) {
  .clock-hand { animation: none; }
  .clock-hour { transform: rotate(90deg); }
  .clock-minute { transform: rotate(30deg); }
}
.home-page .story > .story-church {
  position: absolute;
  right: 10%;
  bottom: 0;
  width: auto;
  max-width: 47%;
  height: calc(100% + 140px);
  object-fit: contain;
  object-position: center bottom;
  pointer-events: none;
  -webkit-mask-image: linear-gradient(to right, transparent, #000 18%, #000 80%, transparent);
  mask-image: linear-gradient(to right, transparent, #000 18%, #000 80%, transparent);
}
@media(max-width:959px) and (min-width:601px) {
  .home-page .story > .story-church { height: calc(100% + 90px); right: 1%; }
}
@media(max-width:600px) {
  .home-page .story { min-height: 0; }
  .home-page .story > .story-church {
    position: relative;
    right: auto;
    width: 100%;
    max-width: 100%;
    height: auto;
    max-height: 600px;
    object-fit: contain;
    margin-bottom: -52px;
  }
}
.home-page .invitation {
  background: var(--onyx);
  color: var(--cream);
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 24px;
  padding-top: 52px;
  padding-bottom: 52px;
}
.home-page .invitation h2 { font-size: clamp(40px, 4.5vw, 66px); }
.home-page footer {
  background: var(--onyx);
  color: var(--cream);
  padding: 0 0 18px;
}
/* A light visit-information band provides breathing room before the onyx footer. */
.home-page .footer-grid {
  background: var(--cream);
  color: var(--ink);
  padding: 65px 7%;
}
.home-page .footer-bottom {
  margin: 0 6%;
  border: 0;
  padding-top: 22px;
}
.home-page .preview-note {
  margin: 18px 6% 0;
  border-color: var(--taupe);
  color: var(--cream);
}
.home-page .mobile-nav {
  background: var(--onyx);
  color: var(--cream);
  box-shadow: none;
  border-bottom: 1px solid var(--taupe);
}
.home-page .mobile-nav > a:not(.button) { border-color: var(--taupe); }
.home-page .menu-toggle { color: var(--cream); }
.home-page :focus-visible { outline-color: var(--brass); }
@media(min-width:1500px) {
  .home-page .hero { max-width: none; }
  .home-page .hero-copy { padding-left: max(10%, calc((100vw - 1240px)/2)); }
}
@media(max-width:959px) {
  .home-page .intro { padding-top: 110px; padding-bottom: 110px; }
  .home-page .room { padding-top: 75px; padding-bottom: 75px; }
  .home-page .header .brand { width: 126px; height: 72px; }
  .home-page .header .logo { width: 126px; height: 89px; transform: translateY(-9px); }
}
@media(max-width:600px) {
  .home-page .header .brand { width: 104px; height: 65px; }
  .home-page .header .logo { width: 104px; height: 74px; transform: translateY(-4px); }
  .home-page .intro { padding: 90px 7%; }
  .home-page .food { padding: 52px 7%; }
  .home-page .food > div:nth-child(2) { padding-top: 22px; }
  .home-page .menu-sheet { margin-top: 28px; }
  .home-page .room { padding-top: 60px; padding-bottom: 25px; }
  .home-page .room-copy { padding-top: 45px; padding-bottom: 50px; }
  .home-page .story { padding-top: 52px; padding-bottom: 52px; }
  .home-page .invitation { padding: 45px 7%; }
  .home-page .invitation > img { width: 48px; height: 72px; }
  .home-page .footer-grid { padding: 52px 7%; }
  .home-page .footer-bottom { margin: 0 7%; }
  .home-page .preview-note { margin-left: 7%; margin-right: 7%; }
}

/* Transparent footer wordmark stays light against the homepage onyx. */
.home-page .footer-bottom .logo { filter: none; mix-blend-mode: normal; }

/* Shared, minimal booking invitation on the inner editorial and menu pages. */
.inner-page .invitation { background: var(--onyx); color: var(--cream); flex-direction: column; align-items: center; text-align: center; gap: 24px; padding-top: 52px; padding-bottom: 52px; }
.inner-page .invitation > img { filter: invert(1); mix-blend-mode: screen; }
.inner-page .invitation .button { color: var(--cream); border-color: var(--brass); }
.inner-page .invitation .button:hover { background: var(--plum); }
@media(max-width:600px) {
  .inner-page .invitation { padding: 45px 7%; }
  .inner-page .invitation > img { width: 48px; height: 72px; }
}

.social-links { display: flex; flex-wrap: wrap; gap: 8px 24px; margin-top: 18px; }
.social-link { display: inline-flex; align-items: center; gap: 9px; min-height: 44px; font-size: 13px; }
.social-link svg { flex-shrink: 0; }

/* Our Story: a single photographic story, with real text above the image. */
.story-feature { position: relative; isolation: isolate; background: var(--onyx); color: var(--cream); min-height: 740px; min-height: max(740px,calc(100svh - 112px)); display: flex; align-items: center; padding: 90px 8%; }
.story-feature-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; z-index: -2; }
.story-feature::after { content: ''; position: absolute; inset: 0; background: rgba(13,13,13,.64); z-index: -1; }
.story-feature-copy { max-width: 610px; }
.story-feature-copy .eyebrow { color: var(--cream); }
.story-feature-copy h1 { font-size: clamp(48px,5.4vw,76px); margin-bottom: 30px; }
.story-feature-copy p { font-size: 16px; line-height: 1.85; max-width: 560px; }
@media(max-width:600px) {
  .story-feature { min-height: calc(100svh - 84px); padding: 65px 7%; }
  .story-feature-image { object-position: 60% center; }
  .story-feature-copy h1 { font-size: 48px; }
  .story-feature-copy p { font-size: 15px; }
}

.restaurant-gallery { background: var(--onyx); color: var(--cream); padding: 45px 7% 52px; }
.gallery-top { display: flex; align-items: baseline; justify-content: space-between; gap: 24px; margin-bottom: 30px; }
.gallery-top h1 { font-size: clamp(42px,5vw,66px); }
.gallery-top p { font-size: 14px; }
.gallery-viewer { position: relative; touch-action: pan-y; }
.gallery-slide { margin: 0; }
.gallery-slide[hidden] { display: none; }
.gallery-slide > img { width: 100%; height: min(65vh,720px); min-height: 360px; object-fit: contain; background: #141414; }
.gallery-slide figcaption { min-height: 64px; padding: 18px 175px 0 0; font-size: 13px; line-height: 1.7; }
.gallery-controls { position: absolute; bottom: 0; right: 0; display: flex; align-items: center; gap: 16px; }
.gallery-controls button { width: 44px; height: 44px; border: 1px solid var(--taupe); color: var(--cream); background: transparent; font-size: 22px; cursor: pointer; }
.gallery-controls button:hover { background: var(--plum); }
.gallery-count { min-width: 40px; text-align: center; font-size: 13px; }
.gallery-thumbnails { display: flex; gap: 14px; overflow-x: auto; padding: 18px 3px 6px; }
.gallery-thumbnails button { flex: 0 0 100px; padding: 3px; border: 1px solid transparent; background: transparent; cursor: pointer; opacity: .55; }
.gallery-thumbnails button[aria-pressed="true"], .gallery-thumbnails button:hover { opacity: 1; border-color: var(--brass); }
.gallery-thumbnails img { width: 100%; height: 67px; object-fit: cover; }
@media(max-width:600px) {
 .restaurant-gallery { padding: 32px 5% 40px; }
 .gallery-top { display: block; margin-bottom: 24px; }
 .gallery-top p { margin-top: 12px; }
 .gallery-slide > img { height: 52vh; min-height: 280px; }
 .gallery-slide figcaption { padding: 15px 0; min-height: 78px; }
 .gallery-controls { position: static; justify-content: center; margin-top: 10px; }
 .gallery-thumbnails button { flex-basis: 76px; }
 .gallery-thumbnails img { height: 54px; }
}

.booking-widget{min-width:0;width:100%}.booking-widget iframe{max-width:100%;border:0}.booking-fallback{font-size:13px}

.travel{border-top:1px solid var(--line)}.travel h2{margin-bottom:45px}.travel-grid{display:grid;grid-template-columns:1fr 1fr 1.4fr;gap:7%}.travel-links{display:flex;flex-direction:column;align-items:flex-start}.travel-links .text-link{margin-top:12px}@media(max-width:959px){.travel-grid{grid-template-columns:1fr;gap:35px}.travel h2{margin-bottom:35px}}
