:root{--color-bg:#f7f2ea;--color-bg-alt:#f2ece3;--color-surface:#ffffff;--color-border:#e2dcd5;--color-text:#1e1e1e;--color-muted:#6f6156;--color-primary:#8a5331;--color-primary-soft:#b7774a;--color-success:#2e7d32;--color-warning:#b88a1e;--color-danger:#b23a48;--gray-50:#faf7f2;--gray-100:#f2ece3;--gray-200:#e4ddd3;--gray-300:#d6cdc0;--gray-400:#b4a894;--gray-500:#958774;--gray-600:#6f6156;--gray-700:#50443b;--gray-800:#332a24;--gray-900:#1e1b19;--font-sans:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-serif:"Cormorant Garamond","Georgia",serif;--font-mono:"JetBrains Mono","SFMono-Regular",Menlo,monospace;--font-size-xs:0.75rem;--font-size-sm:0.875rem;--font-size-base:1rem;--font-size-md:1.0625rem;--font-size-lg:1.25rem;--font-size-xl:1.5rem;--font-size-2xl:1.875rem;--font-size-3xl:2.25rem;--font-size-4xl:3rem;--line-height-tight:1.2;--line-height-snug:1.35;--line-height-normal:1.6;--line-height-relaxed:1.8;--space-0:0;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:28px;--space-8:32px;--space-9:36px;--space-10:40px;--space-12:48px;--space-14:56px;--space-16:64px;--space-20:80px;--space-24:96px;--radius-none:0;--radius-sm:3px;--radius-md:6px;--radius-lg:10px;--radius-xl:18px;--radius-pill:999px;--shadow-xs:0 1px 2px rgba(0,0,0,0.04);--shadow-sm:0 2px 6px rgba(0,0,0,0.05);--shadow-md:0 8px 24px rgba(0,0,0,0.08);--shadow-lg:0 18px 45px rgba(0,0,0,0.12);--transition-fast:120ms ease-out;--transition-base:200ms ease-out;--transition-slow:320ms ease-out;--container-max:1120px}*,*::before,*::after{box-sizing:border-box}*{margin:0;padding:0}html,body{min-height:100%}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--font-sans);font-size:var(--font-size-base);line-height:var(--line-height-normal);background-color:var(--color-bg);color:var(--color-text);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}img,picture,video,canvas,svg{display:block;max-width:100%;height:auto}button,input,select,textarea{font:inherit;color:inherit}a{text-decoration:none;color:inherit}p{margin-bottom:var(--space-4);font-weight:500;line-height:var(--line-height-tight);letter-spacing:0.02em;color:var(--color-text);margin-bottom:var(--space-3)}h1{font-size:var(--font-size-4xl)}h2{font-size:var(--font-size-3xl)}h3{font-size:var(--font-size-2xl)}h4{font-size:var(--font-size-xl)}h5{font-size:var(--font-size-lg)}h6{font-size:var(--font-size-md)}h1+h2,h2+h3,h3+h4,h4+h5,h5+h6{margin-top:var(--space-3)}section{padding-block:var(--space-16)}main{display:block}a:hover{color:var(--color-primary-soft)}a:focus{outline:none}.link-underline{position:relative;padding-bottom:2px}.link-underline::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:linear-gradient(to right,rgba(138,83,49,0.8),rgba(138,83,49,0));transform-origin:left;transform:scaleX(0);transition:transform var(--transition-base)}.link-underline:hover::after,.link-underline:focus-visible::after{transform:scaleX(1)}.container{width:100%;max-width:var(--container-max);margin-inline:auto;padding-inline:var(--space-4)}@media (min-width:768px){.container{padding-inline:var(--space-8)}}.layout-shell{min-height:100vh;display:flex;flex-direction:column}.layout-main{flex:1}.flex{display:flex}.inline-flex{display:inline-flex}.flex-center{display:flex;align-items:center;justify-content:center}.flex-between{display:flex;align-items:center;justify-content:space-between}.flex-column{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.grid{display:grid}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-6)}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-6)}@media (max-width:768px){.grid-2,.grid-3{grid-template-columns:1fr}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding-inline:var(--space-5);padding-block:calc(var(--space-3) + 1px);border-radius:var(--radius-pill);border:1px solid transparent;font-size:var(--font-size-sm);letter-spacing:0.08em;text-transform:uppercase;font-weight:500;cursor:pointer;background-color:var(--color-primary);color:#fff;box-shadow:var(--shadow-sm);transition:background-color var(--transition-base),color var(--transition-base),box-shadow var(--transition-base),transform var(--transition-fast),border-color var(--transition-base)}.btn:hover{background-color:var(--color-primary-soft);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn:active{transform:translateY(0);box-shadow:var(--shadow-xs)}.btn-outline{background-color:transparent;color:var(--color-primary);border-color:var(--color-primary);box-shadow:none}.btn-outline:hover{background-color:rgba(138,83,49,0.04)}.btn-ghost{background-color:transparent;color:var(--color-text);border-color:transparent;box-shadow:none}.btn-ghost:hover{background-color:rgba(0,0,0,0.02)}.btn:disabled,.btn[aria-disabled="true"]{opacity:0.55;cursor:not-allowed;box-shadow:none;transform:none}.btn-sm{padding-inline:var(--space-4);padding-block:var(--space-2);font-size:var(--font-size-xs)}.btn-lg{padding-inline:var(--space-6);padding-block:var(--space-3);font-size:var(--font-size-md)}.btn-primary{background-color:var(--color-primary);color:#fff;border-color:var(--color-primary)}.btn-primary:hover{background-color:var(--color-primary-soft)}.btn-muted{background-color:var(--gray-100);color:var(--color-text);border-color:var(--gray-200)}.btn-muted:hover{background-color:var(--gray-200)}input,select,textarea{width:100%;padding-inline:var(--space-4);padding-block:var(--space-3);border-radius:var(--radius-md);border:1px solid var(--gray-300);background-color:rgba(255,255,255,0.96);color:var(--color-text);transition:border-color var(--transition-base),box-shadow var(--transition-base),background-color var(--transition-base)}input::placeholder,textarea::placeholder{color:var(--gray-500)}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 1px rgba(138,83,49,0.4)}label{display:block;margin-bottom:var(--space-2);font-size:var(--font-size-sm);letter-spacing:0.08em;text-transform:uppercase;color:var(--gray-700)}.form-field{margin-bottom:var(--space-5)}.form-inline{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:flex-end}.card{background-color:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);box-shadow:var(--shadow-xs);padding:var(--space-6)}.card-soft{background:linear-gradient(135deg,rgba(255,255,255,0.98),rgba(247,242,234,0.96));border-radius:var(--radius-xl);border:1px solid rgba(226,220,213,0.9);box-shadow:var(--shadow-md);padding:var(--space-7)}.card-header{margin-bottom:var(--space-4)}.card-title{font-family:var(--font-serif);font-size:var(--font-size-xl);margin-bottom:var(--space-1)}.card-meta{font-size:var(--font-size-xs);letter-spacing:0.12em;text-transform:uppercase;color:var(--gray-600)}.hero{padding-block:var(--space-20)}.hero-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:var(--space-10);align-items:stretch}@media (max-width:960px){.hero-grid{grid-template-columns:1fr;gap:var(--space-8)}}.hero-copy{display:flex;flex-direction:column;justify-content:center;gap:var(--space-6)}.hero-kicker{font-size:var(--font-size-xs);letter-spacing:0.18em;text-transform:uppercase;color:var(--gray-600)}.hero-title{font-family:var(--font-serif);font-size:var(--font-size-4xl);line-height:var(--line-height-tight)}@media (min-width:960px){.hero-title{font-size:3.25rem}}.hero-lede{font-size:var(--font-size-md);line-height:var(--line-height-relaxed);color:var(--gray-700);max-width:38rem}.hero-meta-row{display:flex;flex-wrap:wrap;gap:var(--space-4);align-items:center}.hero-badge{font-size:var(--font-size-xs);letter-spacing:0.16em;text-transform:uppercase;color:var(--gray-700);padding-inline:var(--space-3);padding-block:4px;border-radius:var(--radius-pill);border:1px solid rgba(180,168,148,0.4);background-color:rgba(250,247,242,0.9)}.hero-actions{display:flex;flex-wrap:wrap;gap:var(--space-3)}.hero-note{font-size:var(--font-size-sm);color:var(--gray-600)}.hero-visual{position:relative;isolation:isolate}.hero-frame{position:relative;height:100%;min-height:320px;border-radius:24px;background:radial-gradient(circle at top left,#fdf9f3,#f0e7da);border:1px solid rgba(226,220,213,0.9);padding:var(--space-4);box-shadow:0 18px 55px rgba(0,0,0,0.12);overflow:hidden}.hero-photo{position:absolute;inset:var(--space-4);border-radius:18px;overflow:hidden;background-color:#d2c2aa;display:flex;align-items:stretch;justify-content:flex-end}.hero-photo::before{content:"";position:absolute;inset:0;background-image:linear-gradient(to bottom,rgba(0,0,0,0.16),rgba(0,0,0,0.45));mix-blend-mode:multiply;pointer-events:none}.hero-photo-image{flex:1;background-image:url("/assets/images/hero-bistro-window-chairs.webp");background-size:cover;background-position:center 40%}.hero-photo-overlay{position:absolute;inset:auto var(--space-5) var(--space-5) auto;width:min(260px,75%);background:radial-gradient(circle at top left,rgba(29,24,20,0.94),rgba(15,13,11,0.96));border-radius:20px;border:1px solid rgba(207,184,160,0.5);box-shadow:0 18px 45px rgba(0,0,0,0.45);padding:var(--space-4);color:#fdf7ed;backdrop-filter:blur(6px)}.hero-overlay-kicker{font-size:var(--font-size-2xs);letter-spacing:0.2em;text-transform:uppercase;color:rgba(249,240,226,0.7);margin-bottom:var(--space-1)}.hero-overlay-title{font-family:var(--font-serif);font-size:var(--font-size-lg);line-height:var(--line-height-snug);margin-bottom:var(--space-2)}.hero-overlay-meta{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-3);flex-wrap:wrap;font-size:var(--font-size-xs);color:rgba(253,247,237,0.85)}.hero-tag{display:inline-flex;align-items:center;gap:6px;padding-inline:var(--space-3);padding-block:3px;border-radius:999px;border:1px solid rgba(249,240,226,0.35);background:rgba(18,15,12,0.65);backdrop-filter:blur(4px)}.hero-tag-dot{width:6px;height:6px;border-radius:999px;background:#e9c06f;box-shadow:0 0 0 3px rgba(233,192,111,0.3)}.hero-overlay-text{font-size:var(--font-size-xs);color:rgba(253,247,237,0.88)}.hero-stamp{position:absolute;left:var(--space-4);bottom:var(--space-4);padding-inline:var(--space-4);padding-block:6px;border-radius:999px;background:rgba(248,241,231,0.88);border:1px solid rgba(201,185,167,0.6);backdrop-filter:blur(4px);display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-xs);letter-spacing:0.16em;text-transform:uppercase;color:#5b4a3a}.hero-stamp-dot{width:6px;height:6px;border-radius:50%;background:var(--color-primary)}@media (max-width:768px){.hero{padding-block:var(--space-14)}.hero-frame{min-height:280px}.hero-photo{flex-direction:column;justify-content:flex-end}.hero-photo-image{position:absolute;inset:0}.hero-photo-overlay{position:relative;inset:auto;z-index:2;width:auto;max-width:none;margin:var(--space-3);margin-top:auto;padding:var(--space-4);box-sizing:border-box}.hero-overlay-meta{flex-direction:column;align-items:flex-start;gap:var(--space-2);justify-content:flex-start}.hero-overlay-meta>span:last-child{max-width:100%;line-height:1.45}.hero-stamp{display:none}}.nav-shell{border-bottom:1px solid var(--color-border);background:linear-gradient(to bottom,rgba(247,242,234,0.96),rgba(242,236,227,0.96));backdrop-filter:blur(10px);position:sticky;top:0;z-index:40}.nav{display:flex;align-items:center;justify-content:space-between;padding-block:var(--space-3);gap:var(--space-4)}.nav-brand{font-family:var(--font-serif);font-size:1.2rem;letter-spacing:0.18em;text-transform:uppercase}.nav-menu{display:flex;align-items:center;gap:var(--space-6);font-size:var(--font-size-sm);letter-spacing:0.16em;text-transform:uppercase;color:var(--gray-700)}.nav-menu a{position:relative;padding-block:var(--space-1)}.nav-menu a::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:var(--color-primary);transform:scaleX(0);transform-origin:center;transition:transform var(--transition-base)}.nav-menu a:hover::after,.nav-menu a[aria-current="page"]::after{transform:scaleX(1)}.nav-menu a[aria-current="page"]{color:var(--color-primary)}.nav-cta{display:flex;align-items:center;gap:var(--space-3)}.nav-toggle{display:none;align-items:center;justify-content:center;width:40px;height:40px;border-radius:999px;border:1px solid rgba(180,168,148,0.7);background-color:rgba(250,247,242,0.96);cursor:pointer}.nav-toggle-bar{width:18px;height:1px;background-color:var(--color-text);border-radius:999px;transition:transform var(--transition-fast),opacity var(--transition-fast)}@media (max-width:960px){.nav-menu,.nav-cta{display:none}.nav-toggle{display:inline-flex}}.page-frame{border-left:1px solid var(--color-border);border-right:1px solid var(--color-border);background:linear-gradient(to bottom,#faf6f0,#f5eee4)}@media (max-width:1024px){.page-frame{border-left:none;border-right:none}}.section-kicker{font-size:var(--font-size-xs);letter-spacing:0.18em;text-transform:uppercase;color:var(--gray-600);margin-bottom:var(--space-2)}.section-heading{font-family:var(--font-serif);font-size:var(--font-size-3xl);margin-bottom:var(--space-3)}.section-subtitle{font-size:var(--font-size-md);color:var(--gray-700);max-width:40rem;margin-bottom:var(--space-8)}.badge{display:inline-flex;align-items:center;gap:6px;padding-inline:var(--space-3);padding-block:4px;border-radius:999px;border:1px solid rgba(180,168,148,0.4);background-color:rgba(250,247,242,0.9);font-size:var(--font-size-xs);letter-spacing:0.16em;text-transform:uppercase;color:var(--gray-700)}.badge-dot{width:6px;height:6px;border-radius:999px;background:var(--color-primary)}.menu-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:var(--space-10);align-items:flex-start}@media (max-width:960px){.menu-grid{grid-template-columns:1fr}}.menu-section-title{font-family:var(--font-serif);font-size:var(--font-size-xl);margin-bottom:var(--space-3);border-bottom:1px solid rgba(180,168,148,0.4);padding-bottom:var(--space-2)}.menu-list{display:flex;flex-direction:column;gap:var(--space-4);margin-bottom:var(--space-6)}.menu-item{display:flex;flex-direction:column;gap:var(--space-2);align-items:stretch}.menu-item-main{flex:1;min-width:0;width:100%}.menu-item-name-row{display:flex;justify-content:space-between;gap:var(--space-4);align-items:baseline;margin-bottom:var(--space-1)}.menu-item-name{font-family:var(--font-serif);font-size:var(--font-size-md);flex:1;min-width:0}.menu-item-price{font-size:var(--font-size-sm);color:var(--gray-700);flex-shrink:0;white-space:nowrap;margin-left:auto}.menu-item-desc{font-size:var(--font-size-sm);color:var(--gray-600);max-width:36rem}.menu-item-tag{font-size:var(--font-size-2xs);letter-spacing:0.12em;text-transform:uppercase;color:var(--gray-600);align-self:flex-start}.menu-divider{border-top:1px dashed rgba(180,168,148,0.7);margin-block:var(--space-4)}.lounge-panel{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:var(--space-8);align-items:stretch}@media (max-width:960px){.lounge-panel{grid-template-columns:1fr}}.lounge-aside{border-radius:var(--radius-xl);background:radial-gradient(circle at top left,#231b16,#15100d);color:#f8eee2;border:1px solid rgba(207,184,160,0.45);box-shadow:0 20px 60px rgba(0,0,0,0.4);padding:var(--space-6);position:relative;overflow:hidden}.lounge-aside::before{content:"";position:absolute;inset:-40%;background:radial-gradient(circle at top,#94705033,transparent 60%);opacity:0.8}.lounge-aside-inner{position:relative;display:flex;flex-direction:column;gap:var(--space-4)}.lounge-badge{display:inline-flex;align-items:center;gap:6px;padding-inline:var(--space-3);padding-block:4px;border-radius:999px;border:1px solid rgba(233,192,111,0.6);background:rgba(18,13,10,0.9);font-size:var(--font-size-2xs);letter-spacing:0.2em;text-transform:uppercase;color:#fbeed7}.lounge-badge-dot{width:7px;height:7px;border-radius:999px;background:#e9c06f;box-shadow:0 0 0 3px rgba(233,192,111,0.38)}.lounge-title{font-family:var(--font-serif);font-size:var(--font-size-2xl);line-height:var(--line-height-tight)}.lounge-meta{font-size:var(--font-size-xs);color:rgba(251,238,215,0.8)}.events-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--space-6)}.event-card{border-radius:var(--radius-lg);border:1px solid var(--color-border);background-color:rgba(255,255,255,0.98);padding:var(--space-5);box-shadow:var(--shadow-xs);display:flex;flex-direction:column;gap:var(--space-3)}.event-meta{font-size:var(--font-size-xs);letter-spacing:0.14em;text-transform:uppercase;color:var(--gray-600);display:flex;justify-content:space-between;gap:var(--space-3)}.event-title{font-family:var(--font-serif);font-size:var(--font-size-lg)}.event-body{font-size:var(--font-size-sm);color:var(--gray-700)}.reservation-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:var(--space-10);align-items:flex-start}@media (max-width:960px){.reservation-grid{grid-template-columns:1fr}}.reservation-panel{background:linear-gradient(135deg,#fbf6ee,#f0e6d8);border-radius:var(--radius-xl);border:1px solid var(--color-border);padding:var(--space-6);box-shadow:var(--shadow-sm)}.reservation-note{font-size:var(--font-size-sm);color:var(--gray-700)}table{width:100%;border-collapse:collapse;border-spacing:0}th,td{text-align:left;padding:var(--space-3);border-bottom:1px solid var(--color-border);font-size:var(--font-size-sm)}th{font-weight:500;font-size:var(--font-size-xs);letter-spacing:0.18em;text-transform:uppercase;color:var(--gray-600);background-color:rgba(242,236,227,0.6)}tr:last-child td{border-bottom:none}footer{border-top:1px solid var(--color-border);padding-block:var(--space-8);background:linear-gradient(to top,rgba(239,231,220,0.98),rgba(247,242,234,0.98));font-size:var(--font-size-sm);color:var(--gray-700)}.footer-grid{display:grid;grid-template-columns:minmax(0,1.3fr) repeat(2,minmax(0,1fr));gap:var(--space-8);align-items:flex-start}@media (max-width:960px){.footer-grid{grid-template-columns:1fr}}.footer-brand{font-family:var(--font-serif);font-size:var(--font-size-lg);margin-bottom:var(--space-2)}.footer-meta{font-size:var(--font-size-xs);letter-spacing:0.16em;text-transform:uppercase;color:var(--gray-600);margin-bottom:var(--space-2)}.footer-nav{display:flex;flex-direction:column;gap:var(--space-2)}.footer-nav a{font-size:var(--font-size-sm);color:var(--gray-700)}.footer-nav a:hover{color:var(--color-primary)}.footer-note{font-size:var(--font-size-xs);color:var(--gray-600);margin-top:var(--space-6)}.pill{display:inline-flex;align-items:center;justify-content:center;padding-inline:var(--space-3);padding-block:4px;border-radius:999px;border:1px solid rgba(180,168,148,0.6);font-size:var(--font-size-xs);color:var(--gray-700);background-color:rgba(250,247,242,0.95)}.muted{color:var(--gray-600)}.text-xs{font-size:var(--font-size-xs)}.text-sm{font-size:var(--font-size-sm)}.text-center{text-align:center}.mt-4{margin-top:var(--space-4)}.mt-6{margin-top:var(--space-6)}.mb-4{margin-bottom:var(--space-4)}.mb-6{margin-bottom:var(--space-6)}.py-10{padding-block:var(--space-10)}.py-16{padding-block:var(--space-16)}.px-4{padding-inline:var(--space-4)}.accent-border{border:1px solid var(--color-border)}.pill-row{display:flex;flex-wrap:wrap;gap:var(--space-2)}.visually-divided{border-top:1px solid var(--color-border);padding-top:var(--space-6);margin-top:var(--space-6)}:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}*:focus:not(:focus-visible){outline:none}::selection{background-color:rgba(138,83,49,0.12)}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation-duration:0.01ms!important;animation-iteration-count:1!important;transition-duration:0.01ms!important}.hero-photo,.hero-photo-overlay,.hero-stamp,.nav-shell{transition:none!important}}ul{list-style:none!important}.nav-toggle{flex-direction:column}
html, body {
  overflow-x: clip;
  max-width: 100%;
}

img, video, svg {
  max-width: 100%;
  height: auto;
}
