:root{--color-bg-primary:#0c0f0e;--color-bg-secondary:#0a231c;--color-bg-elevated:#111716;--color-surface-soft:#1a2421;--color-border-subtle:rgba(255,255,255,0.06);--color-border-strong:rgba(255,255,255,0.16);--color-text-primary:#f9f4e8;--color-text-secondary:rgba(249,244,232,0.76);--color-text-muted:rgba(249,244,232,0.55);--color-accent-primary:#10b981;--color-accent-gold:#d4af37;--color-accent-soft-gold:#c8a96b;--color-success:#16a34a;--color-warning:#eab308;--color-danger:#ef4444;--color-neutral-100:#f5f5f4;--color-neutral-200:#e5e5e4;--color-neutral-300:#d4d4d3;--color-neutral-400:#a3a3a2;--color-neutral-500:#737371;--color-neutral-600:#525251;--color-neutral-700:#3f3f3d;--color-neutral-800:#272725;--color-neutral-900:#181816;--font-sans:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-serif:"Playfair Display","Georgia",serif;--font-mono:"JetBrains Mono","SF Mono",ui-monospace,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.75;--space-0:0;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-7:1.75rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--space-32:8rem;--space-40:10rem;--space-48:12rem;--space-56:14rem;--space-64:16rem;--space-72:18rem;--space-80:20rem;--space-96:24rem;--radius-xs:3px;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:18px;--radius-full:999px;--shadow-soft:0 14px 40px rgba(0,0,0,0.55);--shadow-subtle:0 8px 24px rgba(0,0,0,0.35);--shadow-sharp:0 18px 60px rgba(0,0,0,0.8);--shadow-outline:0 0 0 1px rgba(16,185,129,0.55),0 0 0 4px rgba(16,185,129,0.28);--transition-fast:120ms ease-out;--transition-normal:180ms ease-out;--transition-slow:260ms ease-out;--layout-max-width:1120px;--layout-max-width-wide:1360px;--nav-height:4.25rem}*,*::before,*::after{box-sizing:border-box}html{margin:0;padding:0;font-size:16px;scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}body{margin:0;padding:0;min-height:100vh;background:radial-gradient(circle at top,#111d19 0,#050706 52%,#020403 100%);color:var(--color-text-primary);font-family:var(--font-sans);font-size:var(--font-size-base);line-height:var(--line-height-normal)}img,picture,svg,video,canvas{display:block;max-width:100%;height:auto}audio{width:100%}button,input,select,textarea{font:inherit;color:inherit;background:none;border:none;padding:0;margin:0}h1,h2,h3,h4,h5,h6,p,figure,blockquote,dl,dd{margin:0}ul,ol{margin:0;padding:0}a{text-decoration:none;color:inherit}table{border-collapse:collapse;border-spacing:0}body{background-color:var(--color-bg-primary);color:var(--color-text-primary)}main{min-height:calc(100vh - var(--nav-height));padding-bottom:var(--space-16)}h1,h2,h3,h4,h5,h6{font-family:var(--font-serif);font-weight:500;color:var(--color-text-primary);letter-spacing:0.02em}h1{font-size:var(--font-size-4xl);line-height:var(--line-height-tight);margin-bottom:var(--space-4)}h2{font-size:var(--font-size-3xl);line-height:var(--line-height-tight);margin-bottom:var(--space-4)}h3{font-size:var(--font-size-2xl);line-height:var(--line-height-snug);margin-bottom:var(--space-3)}h4{font-size:var(--font-size-xl);line-height:var(--line-height-snug);margin-bottom:var(--space-3)}h5{font-size:var(--font-size-lg);line-height:var(--line-height-snug);margin-bottom:var(--space-2)}h6{font-size:var(--font-size-base);text-transform:uppercase;letter-spacing:0.16em;color:var(--color-text-muted);margin-bottom:var(--space-2)}p{margin-bottom:var(--space-4);color:var(--color-text-secondary);transition:color var(--transition-normal)}a:hover{color:var(--color-accent-soft-gold)}a:focus-visible{outline:none;box-shadow:var(--shadow-outline);border-radius:var(--radius-sm)}code,kbd,pre,samp{font-family:var(--font-mono)}pre{padding:var(--space-4);border-radius:var(--radius-md);background:rgba(10,35,28,0.9);color:var(--color-text-primary);overflow-x:auto}.container{width:100%;max-width:var(--layout-max-width);margin:0 auto;padding-left:var(--space-5);padding-right:var(--space-5)}.container-wide{width:100%;max-width:var(--layout-max-width-wide);margin:0 auto;padding-left:var(--space-5);padding-right:var(--space-5)}@media (max-width:768px){.container,.container-wide{padding-left:var(--space-4);padding-right:var(--space-4)}}.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-col{display:flex;flex-direction:column}.flex-row{display:flex;flex-direction:row}.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:960px){.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:0.5rem;padding:0.7rem 1.4rem;border-radius:var(--radius-full);border:1px solid transparent;font-size:var(--font-size-sm);letter-spacing:0.13em;text-transform:uppercase;font-weight:500;cursor:pointer;transition:background-color var(--transition-normal),border-color var(--transition-normal),color var(--transition-normal),box-shadow var(--transition-normal),transform var(--transition-fast);white-space:nowrap}.btn-primary{background:linear-gradient(135deg,#10b981,#0f766e);border-color:rgba(16,185,129,0.6);color:var(--color-bg-primary);box-shadow:0 14px 40px rgba(0,0,0,0.65)}.btn-primary:hover{background:linear-gradient(135deg,#22c55e,#14b8a6);box-shadow:0 18px 60px rgba(0,0,0,0.85);transform:translateY(-1px)}.btn-outline{background:transparent;border-color:rgba(249,244,232,0.3);color:var(--color-text-primary)}.btn-outline:hover{border-color:var(--color-accent-soft-gold);color:var(--color-accent-soft-gold);box-shadow:0 10px 32px rgba(0,0,0,0.7)}.btn-ghost{background:rgba(17,23,22,0.8);border-color:rgba(249,244,232,0.12);color:var(--color-text-secondary)}.btn-ghost:hover{background:rgba(26,36,33,0.95);border-color:rgba(249,244,232,0.4)}.btn:disabled,.btn[aria-disabled="true"]{cursor:not-allowed;opacity:0.5;box-shadow:none;transform:none}.btn:focus-visible{outline:none;box-shadow:var(--shadow-outline)}input,textarea,select{width:100%;padding:0.7rem 0.9rem;border-radius:var(--radius-md);border:1px solid var(--color-border-subtle);background:rgba(10,25,21,0.9);color:var(--color-text-primary);transition:border-color var(--transition-normal),box-shadow var(--transition-normal),background-color var(--transition-normal)}input::placeholder,textarea::placeholder{color:var(--color-text-muted)}input:focus-visible,textarea:focus-visible,select:focus-visible{outline:none;border-color:rgba(16,185,129,0.7);box-shadow:var(--shadow-outline);background:rgba(12,31,26,0.98)}input[disabled],textarea[disabled],select[disabled]{opacity:0.5;cursor:not-allowed;background:rgba(10,16,15,0.9)}label{display:block;margin-bottom:var(--space-2);font-size:var(--font-size-sm);letter-spacing:0.12em;text-transform:uppercase;color:var(--color-text-muted)}.form-row{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-4)}.card{position:relative;border-radius:var(--radius-md);background:radial-gradient(circle at top left,rgba(16,185,129,0.08),transparent 55%),rgba(10,25,21,0.96);border:1px solid var(--color-border-subtle);box-shadow:var(--shadow-subtle);padding:var(--space-5);color:var(--color-text-primary)}.card-soft{background:rgba(10,25,21,0.92);border-radius:var(--radius-md);border:1px solid rgba(255,255,255,0.04);padding:var(--space-4)}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-3)}.card-title{font-family:var(--font-serif);font-size:var(--font-size-xl);letter-spacing:0.08em;text-transform:uppercase;color:var(--color-accent-soft-gold)}.card-body{color:var(--color-text-secondary)}.hero{position:relative;padding-top:calc(var(--nav-height) + var(--space-12));padding-bottom:var(--space-20);background:radial-gradient(circle at 0% 0%,#1a2421 0,transparent 48%),radial-gradient(circle at 100% 0%,#111716 0,transparent 52%),linear-gradient(to bottom,#050807 0,#020403 100%)}.hero-shell{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1.2fr);gap:var(--space-10);align-items:stretch}@media (max-width:960px){.hero{padding-top:calc(var(--nav-height) + var(--space-10));padding-bottom:var(--space-16)}.hero-shell{grid-template-columns:1fr;gap:var(--space-8)}}.hero-text{align-self:center;max-width:34rem}.hero-eyebrow{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:0.2em;color:var(--color-accent-soft-gold);margin-bottom:var(--space-3)}.hero-title{font-family:var(--font-serif);font-size:clamp(2.75rem,3.4vw,3.4rem);line-height:1.1;margin-bottom:var(--space-4);color:var(--color-text-primary)}.hero-title span{color:var(--color-accent-primary)}.hero-copy{font-size:var(--font-size-md);color:var(--color-text-secondary);margin-bottom:var(--space-6)}.hero-meta{display:flex;flex-wrap:wrap;gap:var(--space-4);margin-bottom:var(--space-6);font-size:var(--font-size-sm);color:var(--color-text-muted)}.hero-meta-pill{display:inline-flex;align-items:center;gap:0.4rem;padding:0.3rem 0.75rem;border-radius:var(--radius-full);background:rgba(5,10,9,0.9);border:1px solid rgba(255,255,255,0.06)}.hero-actions{display:flex;flex-wrap:wrap;gap:var(--space-3)}.hero-media{position:relative}.hero-panel{position:relative;isolation:isolate;height:100%;min-height:320px;border-radius:20px;background:radial-gradient(circle at top left,rgba(212,175,55,0.06),transparent 55%),radial-gradient(circle at bottom right,rgba(16,185,129,0.08),transparent 55%),linear-gradient(135deg,#050807,#020403);overflow:hidden;border:1px solid rgba(255,255,255,0.04);box-shadow:var(--shadow-sharp);backdrop-filter:blur(18px)}.hero-image-layer{position:absolute;inset:0;background-image:linear-gradient(to top,rgba(5,8,7,0.92),rgba(5,8,7,0.2)),url("/assets/images/hero-bistro-ambience.webp");background-size:cover;background-position:center;background-repeat:no-repeat;opacity:0.85;transform:scale(1.03)}.hero-gradient-vignette{position:absolute;inset:0;background:radial-gradient(circle at 12% 0%,rgba(10,35,28,0.9) 0,transparent 48%),radial-gradient(circle at 88% 100%,rgba(5,9,8,0.98) 0,transparent 55%)}.hero-overlay{position:relative;z-index:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;padding:var(--space-5);gap:var(--space-4)}@media (min-width:1024px){.hero-overlay{padding:var(--space-6)}}.hero-tagline{font-family:var(--font-serif);font-size:var(--font-size-lg);color:var(--color-neutral-100)}.hero-subnote{font-size:var(--font-size-sm);color:var(--color-text-muted);max-width:30rem}.hero-chip-row{display:flex;flex-wrap:wrap;gap:0.35rem}.hero-chip{font-size:0.7rem;text-transform:uppercase;letter-spacing:0.18em;color:rgba(249,244,232,0.8);padding:0.2rem 0.7rem;border-radius:999px;background:rgba(5,8,7,0.92);border:1px solid rgba(249,244,232,0.14)}.hero-card-note{align-self:flex-end;font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:0.18em;color:var(--color-text-muted)}.site-header{position:fixed;top:0;left:0;right:0;z-index:40;background:linear-gradient(to bottom,rgba(5,7,7,0.98),rgba(5,7,7,0.9),rgba(5,7,7,0.7),transparent);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,0.04)}.site-header-inner{height:var(--nav-height);display:flex;align-items:center;justify-content:space-between;gap:var(--space-6)}.site-logo{display:flex;align-items:center;gap:0.7rem;font-family:var(--font-serif);font-size:1.1rem;letter-spacing:0.16em;text-transform:uppercase;color:var(--color-neutral-100)}.site-logo-mark{width:32px;height:32px;border-radius:999px;background:radial-gradient(circle at 30% 0%,#10b981,#0f766e);display:flex;align-items:center;justify-content:center;font-size:0.8rem;color:var(--color-bg-primary);box-shadow:0 0 0 1px rgba(0,0,0,0.8),0 10px 28px rgba(0,0,0,0.9)}.site-nav{display:flex;align-items:center;gap:var(--space-6);font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:0.18em}.site-nav a{color:var(--color-text-muted);position:relative;padding-bottom:0.2rem}.site-nav a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:linear-gradient(90deg,#10b981,#d4af37);transition:width var(--transition-normal)}.site-nav a:hover{color:var(--color-neutral-100)}.site-nav a:hover::after{width:100%}.site-nav a.is-active{color:var(--color-accent-soft-gold)}.site-nav a.is-active::after{width:100%;background:linear-gradient(90deg,#d4af37,#10b981)}.site-nav-cta{display:flex;align-items:center;gap:var(--space-3)}.nav-toggle{display:none}@media (max-width:960px){.site-nav{display:none}.nav-toggle{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:999px;border:1px solid rgba(255,255,255,0.1);background:rgba(5,8,7,0.96)}.nav-toggle span{width:1.1rem;height:1px;background:var(--color-neutral-100);border-radius:999px;transition:transform var(--transition-fast),opacity var(--transition-fast)}}:focus-visible{outline:none;box-shadow:var(--shadow-outline)}:focus{outline:none}body[data-reduced-motion="true"] *,body[data-reduced-motion="true"] *::before,body[data-reduced-motion="true"] *::after{scroll-behavior:auto;animation-duration:0.001ms !important;animation-iteration-count:1 !important;transition-duration:0.001ms !important}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation-duration:0.001ms !important;animation-iteration-count:1 !important;transition-duration:0.001ms !important}}.badge{display:inline-flex;align-items:center;justify-content:center;padding:0.18rem 0.6rem;border-radius:999px;border:1px solid rgba(249,244,232,0.2);font-size:0.68rem;text-transform:uppercase;letter-spacing:0.18em;color:var(--color-text-muted);background:rgba(5,8,7,0.96)}.pill{display:inline-flex;align-items:center;padding:0.2rem 0.75rem;border-radius:999px;background:rgba(10,25,21,0.92);font-size:var(--font-size-xs);color:var(--color-text-secondary)}.section{padding-top:var(--space-16);padding-bottom:var(--space-16)}.section-narrow{max-width:760px;margin:0 auto}.section-header{margin-bottom:var(--space-8)}.section-kicker{font-size:var(--font-size-xs);letter-spacing:0.22em;text-transform:uppercase;color:var(--color-accent-soft-gold);margin-bottom:var(--space-2)}.section-title{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(--color-text-secondary);max-width:40rem}.divider-line{width:100%;height:1px;background:linear-gradient(90deg,transparent,rgba(249,244,232,0.12),transparent)}.menu-heading{font-family:var(--font-serif);font-size:var(--font-size-xl);letter-spacing:0.14em;text-transform:uppercase;color:var(--color-accent-soft-gold);margin-bottom:var(--space-4)}.tag-muted{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:0.18em;color:var(--color-text-muted)}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;
}

/* Prevent flex/grid min-content from widening the page */
main,
.container,
.container-wide,
.grid,
.grid-2,
.grid-3,
.hero-shell,
.hero-text,
.hero-media,
.hero-panel,
.card,
.card-soft,
.section-header,
.section-title,
.section-subtitle,
.menu-heading,
p,
h1, h2, h3, h4, h5, h6 {
  max-width: 100%;
}

.grid > *,
.grid-2 > *,
.grid-3 > *,
.hero-shell > *,
.flex > *,
.flex-row > *,
.flex-col > * {
  min-width: 0;
}

.section-title,
.menu-heading,
.hero-title,
.card-title,
.hero-tagline,
.hero-copy,
.section-subtitle,
p {
  overflow-wrap: anywhere;
  word-wrap: break-word;
  hyphens: auto;
}

@media (max-width: 960px) {
  .btn {
    white-space: normal;
    text-align: center;
    max-width: 100%;
    height: auto;
    min-height: 44px;
    line-height: 1.35;
    padding-block: 0.75rem;
  }

  .hero-title {
    font-size: clamp(2rem, 8vw, 2.75rem);
  }

  h1 {
    font-size: clamp(2rem, 8vw, 2.75rem);
  }

  h2,
  .section-title {
    font-size: clamp(1.65rem, 6.5vw, 2.25rem);
  }

  .menu-heading,
  .card-title {
    font-size: clamp(1.05rem, 4.5vw, 1.35rem);
    letter-spacing: 0.08em;
  }

  .hero-meta-pill,
  .badge,
  .hero-chip {
    white-space: normal;
    max-width: 100%;
  }

  .hero-actions,
  .section-culinary-cta,
  .section-bar-cta,
  .section-team-cta,
  .section-stories-cta,
  .section-card-cta,
  .section-cta-actions {
    max-width: 100%;
  }

  .hero-actions .btn,
  .section-culinary-cta .btn,
  .section-bar-cta .btn,
  .section-team-cta .btn,
  .section-stories-cta .btn,
  .section-card-cta .btn,
  .section-cta-actions .btn {
    width: 100%;
    min-width: 0;
  }
}

@media (max-width: 640px) {
  .container,
  .container-wide {
    padding-left: var(--space-4);
    padding-right: var(--space-4);
  }

  .menu-heading,
  .card-title {
    letter-spacing: 0.06em;
  }

  .btn {
    letter-spacing: 0.08em;
  }
}
