
      :root {
        --ink: #0c0b09;
        --ink2: #181613;
        --ink3: #232019;
        --forest: #1f3028;
        --forest2: #2b4035;
        --moss: #3a5a42;
        --ember: #bf3b1a;
        --ember2: #d44d26;
        --gold: #b8943e;
        --gold2: #d4ad5a;
        --cream: #f2ece0;
        --cream2: #faf6ee;
        --fog: #8a8070;
        --fog2: #b0a490;
        --flag-cream: oklch(0.97 0.012 82);
        --flag-ink: oklch(0.16 0.01 82);
        --rule: rgba(184, 148, 62, 0.22);
        --rule2: rgba(184, 148, 62, 0.45);
        --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
        --nav-h: 120px;
        --menu-sticky-h: 52px;
        /* F2B chat empty-state brand mark (companion-structure brief 08 §B):
           the seal, faint, behind the first-open welcome. The platform
           widget reads --f2b-chat-empty-ornament; the seal asset URL is
           rewritten to its content-addressed path at import. */
        --f2b-chat-empty-ornament: url("d3e4f8d3991deb21c7b42dca26f03842bf4db7a9d33f3d5a601c319186ca3a86.png");
        --f2b-chat-empty-ornament-opacity: 0.07;
        --f2b-chat-empty-ornament-size: min(62%, 240px);
        /* Persona voice in the chat panel (rich-replies brief 09 § D): the
           "The pitmaster" title takes goban's Playfair display face so it
           reads as the persona, not a form label. Playfair is already loaded
           in this bundle; the platform widget reads --f2b-widget-display-font
           (default inherit), so this is theme CSS only — no platform branch. */
        --f2b-widget-display-font: "Playfair Display", serif;
        /* Condensed uppercase label voice for platform widget chrome (menu
           eyebrows / badges / meta), matching goban's section kickers. The
           platform contract reads --f2b-widget-label-font (default inherit), so
           this is theme CSS only — no platform branch. */
        --f2b-widget-label-font: "Barlow Condensed", sans-serif;
      }
      /* The platform widget (v1.css) binds --f2b-chat-empty-ornament, but a
         url() inside a custom property resolves relative to the CONSUMING
         stylesheet, and the importer collapses by-hash url()s to bare
         same-directory filenames (correct for refs inside this stylesheet).
         Re-bind the ornament image here, in goban's own served stylesheet,
         so the seal's bare filename resolves to its by-hash sibling. Opacity
         + size still flow through the platform hook untouched. */
      .f2b-widget__chat-empty-ornament {
        background-image: var(--f2b-chat-empty-ornament) !important;
      }
      /* Chat thinking indicator — goban grill-steam theming (round 3 item
         10). The platform's typing_dots variant renders three neutral dot
         <span>s; goban restyles that shared slot into steam: three slim
         ember-to-gold wisps rising and fading over a faint grill bar. Pure
         theme CSS (transform/opacity only — GPU contract), no widget fork.
         The `.f2b-sidebar-overlay` ancestor outranks the platform dot rules
         (v1.css loads after this sheet, so equal specificity would lose).
         Always animates: goban opts out of reduced motion (item 9). */
      .f2b-sidebar-overlay .f2b-widget__chat-typing[data-f2b-thinking="typing_dots"] {
        position: relative;
        gap: 0.45rem;
        align-items: flex-end;
        padding: 0.5rem 1rem 0.85rem;
        min-width: 3.6rem;
        justify-content: center;
      }
      /* The grill bar the steam rises from: a hairline ember-gold gradient
         with a soft heat glow. Static — the wisps carry the motion. */
      .f2b-sidebar-overlay .f2b-widget__chat-typing[data-f2b-thinking="typing_dots"]::after {
        content: "";
        position: absolute;
        left: 50%;
        bottom: 0.5rem;
        width: 2.6rem;
        height: 3px;
        border-radius: 999px;
        transform: translateX(-50%);
        background: linear-gradient(
          90deg,
          transparent,
          var(--ember) 30%,
          var(--gold2) 50%,
          var(--ember) 70%,
          transparent
        );
        box-shadow: 0 0 7px rgba(191, 59, 26, 0.55);
        opacity: 0.85;
      }
      .f2b-sidebar-overlay .f2b-widget__chat-typing[data-f2b-thinking="typing_dots"] span {
        width: 3px;
        height: 1.05rem;
        margin-bottom: 0.35rem;
        border-radius: 999px;
        background: linear-gradient(
          to top,
          var(--ember) 0%,
          rgba(212, 173, 90, 0.5) 65%,
          transparent 100%
        );
        opacity: 0;
        transform-origin: 50% 100%;
        animation: goban-steam-rise 2.2s ease-in-out infinite;
      }
      .f2b-sidebar-overlay .f2b-widget__chat-typing[data-f2b-thinking="typing_dots"] span:nth-child(2) {
        height: 1.3rem;
        animation-delay: -1.47s;
      }
      .f2b-sidebar-overlay .f2b-widget__chat-typing[data-f2b-thinking="typing_dots"] span:nth-child(3) {
        height: 0.95rem;
        animation-delay: -0.73s;
      }
      /* Mid-stream stall: the steam banks — slower cycle, patient not busy
         (matches the platform stall grammar). */
      .f2b-sidebar-overlay .f2b-widget__chat-typing--stall[data-f2b-thinking="typing_dots"] span {
        animation-duration: 3.6s;
      }
      @keyframes goban-steam-rise {
        0% {
          opacity: 0;
          transform: translate(0, 0.4rem) scaleY(0.5);
        }
        30% {
          opacity: 0.9;
          transform: translate(0.02rem, -0.05rem) scaleY(1);
        }
        65% {
          opacity: 0.35;
          transform: translate(-0.06rem, -0.42rem) scaleY(1.12);
        }
        100% {
          opacity: 0;
          transform: translate(0.05rem, -0.75rem) scaleY(1.2);
        }
      }
      *,
      *::before,
      *::after {
        box-sizing: border-box;
        margin: 0;
        padding: 0;
      }
      html {
        scroll-behavior: auto;
      }
      body {
        font-family: "Barlow", sans-serif;
        background: var(--ink);
        color: var(--cream);
        font-weight: 300;
        line-height: 1.6;
        overflow-x: hidden;
        position: relative;
      }
      body.mobile-menu-open {
        overflow: hidden;
      }
      body::before {
        content: "";
        position: fixed;
        inset: -12%;
        z-index: 0;
        pointer-events: none;
        background:
          linear-gradient(
            115deg,
            rgba(184, 148, 62, 0.04),
            transparent 32%,
            rgba(31, 48, 40, 0.1) 66%,
            transparent
          ),
          repeating-linear-gradient(0deg, rgba(250, 246, 238, 0.018) 0 1px, transparent 1px 5px);
        mix-blend-mode: screen;
        opacity: 0.55;
        animation: grainShift 16s steps(5, end) infinite;
      }

      a:focus-visible,
      button:focus-visible,
      input:focus-visible {
        outline: 2px solid var(--gold2);
        outline-offset: 4px;
      }

      /* ─── ANIMATIONS ─── */
      @keyframes fadeUp {
        from {
          opacity: 0;
          transform: translateY(28px);
        }
        to {
          opacity: 1;
          transform: translateY(0);
        }
      }
      @keyframes fadeIn {
        from {
          opacity: 0;
        }
        to {
          opacity: 1;
        }
      }
      @keyframes scaleIn {
        from {
          opacity: 0;
          transform: scale(0.94);
        }
        to {
          opacity: 1;
          transform: scale(1);
        }
      }
      @keyframes blink {
        0%,
        100% {
          opacity: 1;
        }
        50% {
          opacity: 0.3;
        }
      }
      @keyframes emberBreath {
        0%,
        100% {
          opacity: 0.42;
          transform: translate3d(0, 0, 0) scale(1);
        }
        50% {
          opacity: 0.68;
          transform: translate3d(0, -12px, 0) scale(1.03);
        }
      }
      @keyframes lightSweep {
        0% {
          transform: translateX(-120%) skewX(-18deg);
        }
        100% {
          transform: translateX(140%) skewX(-18deg);
        }
      }
      @keyframes grainShift {
        0%,
        100% {
          transform: translate(0, 0);
        }
        25% {
          transform: translate(-1%, 1%);
        }
        50% {
          transform: translate(1%, -1%);
        }
        75% {
          transform: translate(-0.5%, -0.5%);
        }
      }

      /* ─── PHONE COMPOSITING BUDGET ───
         The ambient desktop layers are the constant-stutter generators on
         phone GPUs: the fixed full-viewport grain (mix-blend-mode forces a
         re-composite of everything beneath on every scroll frame), the
         breathing blurred hero glow, and per-card backdrop blurs on the
         menu. Width-gated (a performance budget, not a motion preference —
         deliberately independent of prefers-reduced-motion/force-motion). */
      @media (max-width: 768px) {
        body::before {
          display: none;
        }
        .hero::before {
          animation: none;
          opacity: 0.55;
        }
        .set-card,
        .drink-category {
          backdrop-filter: none;
        }
      }

      /* Scroll-triggered reveal */
      .reveal {
        opacity: 0;
        transform: translateY(32px);
        transition:
          opacity 0.7s var(--ease-out),
          transform 0.7s var(--ease-out);
      }
      .reveal.visible {
        opacity: 1;
        transform: translateY(0);
      }
      .reveal-left {
        opacity: 0;
        transform: translateX(-32px);
        transition:
          opacity 0.7s var(--ease-out),
          transform 0.7s var(--ease-out);
      }
      .reveal-left.visible {
        opacity: 1;
        transform: translateX(0);
      }
      .reveal-right {
        opacity: 0;
        transform: translateX(32px);
        transition:
          opacity 0.7s var(--ease-out),
          transform 0.7s var(--ease-out);
      }
      .reveal-right.visible {
        opacity: 1;
        transform: translateX(0);
      }
      .reveal-scale {
        opacity: 0;
        transform: scale(0.93);
        transition:
          opacity 0.65s var(--ease-out),
          transform 0.65s var(--ease-out);
      }
      .reveal-scale.visible {
        opacity: 1;
        transform: scale(1);
      }
      .stagger > * {
        opacity: 0;
        transform: translateY(20px);
        transition:
          opacity 0.5s var(--ease-out),
          transform 0.5s var(--ease-out);
      }
      .stagger.visible > *:nth-child(1) {
        opacity: 1;
        transform: none;
        transition-delay: 0s;
      }
      .stagger.visible > *:nth-child(2) {
        opacity: 1;
        transform: none;
        transition-delay: 0.1s;
      }
      .stagger.visible > *:nth-child(3) {
        opacity: 1;
        transform: none;
        transition-delay: 0.2s;
      }
      .stagger.visible > *:nth-child(4) {
        opacity: 1;
        transform: none;
        transition-delay: 0.3s;
      }
      .stagger.visible > *:nth-child(5) {
        opacity: 1;
        transform: none;
        transition-delay: 0.4s;
      }
      .stagger.visible > *:nth-child(6) {
        opacity: 1;
        transform: none;
        transition-delay: 0.5s;
      }

      /* ─── ORNATE CORNER FRAME ─── */
      .ornate-frame {
        position: relative;
        border: 1px solid rgba(184, 148, 62, 0.35);
        padding: 0;
      }
      .ornate-frame::before,
      .ornate-frame::after {
        content: "";
        position: absolute;
        width: 24px;
        height: 24px;
        border-color: var(--gold);
        border-style: solid;
        z-index: 10;
      }
      .ornate-frame::before {
        top: -1px;
        left: -1px;
        border-width: 2px 0 0 2px;
      }
      .ornate-frame::after {
        top: -1px;
        right: -1px;
        border-width: 2px 2px 0 0;
      }
      .ornate-frame-bottom {
        position: relative;
      }
      .ornate-frame-bottom::before,
      .ornate-frame-bottom::after {
        content: "";
        position: absolute;
        width: 24px;
        height: 24px;
        border-color: var(--gold);
        border-style: solid;
        bottom: -1px;
        z-index: 10;
      }
      .ornate-frame-bottom::before {
        left: -1px;
        border-width: 0 0 2px 2px;
      }
      .ornate-frame-bottom::after {
        right: -1px;
        border-width: 0 2px 2px 0;
      }

      /* ─── NAV ─── */
      nav {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        z-index: 200;
        display: flex;
        flex-direction: column;
        align-items: center;
        padding: 24px 48px 14px;
        background: rgba(12, 11, 9, 0.98);
        border-bottom: 1px solid var(--rule);
        transition: border-color 0.3s;
      }
      .nav-top {
        display: flex;
        align-items: center;
        justify-content: space-between;
        width: 100%;
        gap: 20px;
        margin-bottom: 4px;
      }
      .nav-actions {
        display: flex;
        align-items: center;
        gap: 14px;
      }
      .nav-connect {
        display: flex;
        align-items: center;
        gap: 6px;
        color: var(--fog2);
        text-decoration: none;
        font-family: "Barlow Condensed", sans-serif;
        font-size: 13px;
        font-weight: 600;
        letter-spacing: 0.12em;
        transition: color 0.2s var(--ease-out);
      }
      .nav-connect:hover {
        color: var(--gold2);
      }
      /* Top row: logo + wordmark side by side */
      .nav-brand {
        display: flex;
        align-items: center;
        gap: 14px;
        text-decoration: none;
        cursor: pointer;
      }
      .nav-bi {
        height: 56px;
        object-fit: contain;
        transition:
          transform 0.3s,
          filter 0.3s;
        filter: drop-shadow(0 0 12px rgba(191, 59, 26, 0.15));
      }
      .nav-brand:hover .nav-bi {
        transform: scale(1.03);
      }
      /* Bottom row: tabs + book button */
      .nav-bottom {
        display: flex;
        align-items: center;
        gap: 8px;
        flex-wrap: wrap;
        justify-content: center;
        width: 100%;
        border-top: 1px solid rgba(184, 148, 62, 0.12);
        padding-top: 12px;
      }
      .nav-tabs {
        display: flex;
        gap: 0;
        justify-content: center;
      }
      .nav-tab {
        background: none;
        border: none;
        font-family: "Barlow Condensed", sans-serif;
        font-weight: 600;
        font-size: 15px;
        letter-spacing: 0.22em;
        text-transform: uppercase;
        color: var(--fog);
        padding: 10px 26px;
        cursor: pointer;
        transition: color 0.2s;
        text-decoration: none;
        display: inline-block;
        position: relative;
        white-space: nowrap;
      }
      .nav-tab::after {
        content: "";
        position: absolute;
        bottom: -2px;
        left: 20px;
        right: 20px;
        height: 2px;
        background: var(--ember);
        transform: scaleX(0);
        transition: transform 0.25s;
      }
      .nav-tab:hover {
        color: var(--cream);
      }
      .nav-tab.active {
        color: var(--cream2);
      }
      .nav-tab.active::after {
        transform: scaleX(1);
      }
      .nav-hire {
        font-family: "Barlow Condensed", sans-serif;
        font-weight: 700;
        font-size: 13px;
        letter-spacing: 0.18em;
        text-transform: uppercase;
        background: transparent;
        color: var(--ember);
        border: 1px solid rgba(191, 59, 26, 0.45);
        padding: 5px 12px;
        cursor: pointer;
        text-decoration: none;
        display: inline-flex;
        align-items: center;
        transition:
          border-color 0.2s,
          color 0.2s;
        white-space: nowrap;
      }
      .nav-hire:hover {
        border-color: var(--ember);
        color: var(--ember2);
      }
      /* Hiring/chat pills: icon buttons are a hamburger-width surface
         (≤960px); desktop keeps the text pills. .f2b-nav-item-* are
         the platform-emitted chat-trigger twins of .nav-pill-*. */
      .nav-hire .nav-pill-icon,
      .nav-hire .f2b-nav-item-icon {
        display: none;
      }
      /* CHAT WITH US is the house signature — it takes the hero
         .btn-fill treatment at nav scale (filled ember + glow) so it
         reads as the primary CTA next to the outlined WE'RE HIRING,
         at every width. The runtime trigger carries data-f2b="chat"
         in the served HTML (pre-hydration), so the attribute is a
         stable styling hook. */
      .nav-actions a[data-f2b="chat"] {
        background: var(--ember);
        color: var(--cream2);
        border-color: var(--ember);
        box-shadow: 0 6px 18px rgba(191, 59, 26, 0.35);
        transition:
          background 0.2s,
          box-shadow 0.2s,
          transform 0.15s;
      }
      .nav-actions a[data-f2b="chat"]:hover {
        background: var(--ember2);
        border-color: var(--ember2);
        color: var(--cream2);
        transform: translateY(-1px);
        box-shadow: 0 9px 24px rgba(191, 59, 26, 0.45);
      }
      .nav-actions a[data-f2b="chat"]:focus-visible,
      [data-f2b-menu-drawer] a[data-f2b="chat"]:focus-visible {
        outline: 2px solid var(--gold2);
        outline-offset: 2px;
      }
      @media (min-width: 900px) {
        .nav-connect-label {
          display: inline !important;
        }
      }

      /* ─── PAGES ─── */
      .page {
        display: none;
        min-height: 100vh;
        padding-top: 180px;
        position: relative;
        overflow-x: clip;
        z-index: 1;
      }
      .page.active {
        display: block;
      }
      .page.fade-in {
        animation: pageFadeIn 0.25s ease both;
      }
      @keyframes pageFadeIn {
        from {
          opacity: 0;
        }
        to {
          opacity: 1;
        }
      }

      /* ─── HOME HERO ─── */
      .hero {
        position: relative;
        min-height: 100vh;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        text-align: center;
        padding: 100px 24px 80px;
        overflow: hidden;
      }
      .hero::before {
        content: "";
        position: absolute;
        inset: -20% -10%;
        z-index: 1;
        pointer-events: none;
        background:
          radial-gradient(ellipse 80% 38% at 50% 105%, rgba(191, 59, 26, 0.36), transparent 68%),
          linear-gradient(90deg, transparent 0%, rgba(184, 148, 62, 0.09) 48%, transparent 100%);
        filter: blur(2px);
        animation: emberBreath 7s ease-in-out infinite;
      }
      .hero::after {
        content: "";
        position: absolute;
        inset: 0;
        z-index: 2;
        pointer-events: none;
        background:
          linear-gradient(
            90deg,
            rgba(12, 11, 9, 0.58),
            transparent 22%,
            transparent 78%,
            rgba(12, 11, 9, 0.58)
          ),
          repeating-linear-gradient(90deg, rgba(250, 246, 238, 0.018) 0 1px, transparent 1px 110px);
        opacity: 0.7;
      }
      /* Dark cinematic overlay on the hero background */
      .hero-overlay {
        position: absolute;
        inset: 0;
        z-index: 1;
        background:
          linear-gradient(
            to bottom,
            rgba(12, 11, 9, 0.45) 0%,
            rgba(12, 11, 9, 0.25) 40%,
            rgba(12, 11, 9, 0.55) 80%,
            rgba(12, 11, 9, 0.85) 100%
          ),
          radial-gradient(ellipse 70% 50% at 50% 60%, rgba(191, 59, 26, 0.08) 0%, transparent 70%);
      }
      .hero-bg {
        position: absolute;
        inset: 0;
        z-index: 0;
        background:
          radial-gradient(ellipse 55% 45% at 50% 85%, rgba(31, 48, 40, 0.7) 0%, transparent 65%),
          radial-gradient(ellipse 90% 55% at 50% 100%, rgba(191, 59, 26, 0.1) 0%, transparent 55%),
          var(--ink);
      }
      /* Calligraphy brush stroke accents, hero copies kept for z-index stacking inside hero */
      .hero-brush-left,
      .hero-brush-right {
        display: none; /* replaced by global fixed layer below */
      }
      /* ─── GLOBAL FIXED BRUSH STROKES ─── */
      .global-brush-left,
      .global-brush-right {
        position: fixed;
        top: 0;
        bottom: 0;
        z-index: 5;
        pointer-events: none;
        opacity: 0.006;
        animation: fadeIn 2s ease 0.5s both;
      }
      .global-brush-left {
        left: 0;
        width: 30%;
        background: url("d89063bb119683a9f5a5a723159fa37a5feaa6cf3384958717dc8aa358d7520d.png") left center / contain no-repeat;
      }
      .global-brush-right {
        right: 0;
        width: 35%;
        background: url("3ba8d725f262a9cc701b2f2390af350844e07c5269b8e6dca8b7bce9eead50ed.png") right bottom / contain no-repeat;
      }
      .hero-body {
        position: relative;
        z-index: 10;
        max-width: 850px;
        margin: 0 auto;
        animation: fadeUp 1s ease 0.1s both;
        padding: 60px 80px;
        text-shadow:
          0 20px 60px rgba(12, 11, 9, 0.72),
          0 2px 18px rgba(12, 11, 9, 0.8);
      }
      .hero-body::before {
        content: "";
        position: absolute;
        left: 50%;
        top: 0;
        width: min(720px, 82vw);
        height: 1px;
        transform: translateX(-50%);
        background: linear-gradient(90deg, transparent, rgba(212, 173, 90, 0.82), transparent);
      }
      .hero-body::after {
        content: "";
        position: absolute;
        left: 50%;
        bottom: 12px;
        width: min(560px, 70vw);
        height: 1px;
        transform: translateX(-50%);
        background: linear-gradient(90deg, transparent, rgba(184, 148, 62, 0.42), transparent);
      }
      .hero-seal {
        width: 90px;
        height: 90px;
        border-radius: 0;
        display: block;
        margin: 0 auto 28px;
        filter: drop-shadow(0 0 40px rgba(191, 59, 26, 0.5))
          drop-shadow(0 0 80px rgba(191, 59, 26, 0.25));
        animation: scaleIn 0.9s ease 0.2s both;
        transition:
          transform 0.4s,
          filter 0.4s;
        background: transparent;
      }
      .hero-seal:hover {
        transform: scale(1.06) rotate(-3deg);
        filter: drop-shadow(0 0 50px rgba(191, 59, 26, 0.65))
          drop-shadow(0 0 100px rgba(191, 59, 26, 0.35));
      }
      .hero-coming-soon {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        border: 1px solid var(--rule2);
        padding: 6px 18px;
        margin-bottom: 32px;
        animation: fadeIn 0.8s ease 0.5s both;
      }
      .hero-coming-soon-dot {
        width: 5px;
        height: 5px;
        border-radius: 50%;
        background: var(--ember);
        animation: blink 2s ease-in-out infinite;
      }
      .hero-coming-soon-text {
        font-family: "Barlow Condensed", sans-serif;
        font-weight: 600;
        font-size: 13px;
        letter-spacing: 0.3em;
        text-transform: uppercase;
        color: var(--gold);
      }
      .hero-title-pre {
        display: flex;
        justify-content: center;
        gap: 1.2em;
        flex-wrap: wrap;
        font-family: "Barlow Condensed", sans-serif;
        font-weight: 700;
        font-size: clamp(13px, 1.5vw, 17px);
        letter-spacing: 0.55em;
        text-transform: uppercase;
        color: var(--fog);
        margin-bottom: 12px;
        animation: fadeIn 0.8s ease 0.6s both;
      }
      .hero-title-pre span {
        white-space: nowrap;
      }
      .hero-title {
        font-family: "DM Serif Display", "Playfair Display", serif;
        font-weight: 400;
        font-size: clamp(88px, 15vw, 168px);
        line-height: 0.88;
        letter-spacing: 0.06em;
        color: var(--cream2);
        margin-bottom: 12px;
        animation: fadeUp 1s ease 0.4s both;
        text-shadow:
          0 4px 0 rgba(12, 11, 9, 0.54),
          0 24px 80px rgba(12, 11, 9, 0.84);
      }
      .hero-title-rule {
        display: flex;
        align-items: center;
        gap: 20px;
        margin: 20px auto;
        max-width: 480px;
        animation: fadeIn 1s ease 0.9s both;
      }
      .hero-rule-line {
        flex: 1;
        height: 1px;
        background: var(--rule2);
      }
      .hero-rule-ornament {
        font-family: "Playfair Display", serif;
        font-size: 18px;
        color: var(--gold);
      }
      .hero-korean {
        font-family: "Barlow Condensed", sans-serif;
        font-weight: 600;
        font-size: clamp(15px, 2.2vw, 21px);
        letter-spacing: 0.2em;
        text-transform: uppercase;
        color: var(--fog2);
        margin-bottom: 8px;
        animation: fadeIn 0.8s ease 1s both;
      }
      .hero-meaning {
        font-family: "Playfair Display", serif;
        font-weight: 700;
        font-style: italic;
        font-size: clamp(14px, 1.7vw, 19px);
        color: var(--gold2);
        margin-bottom: 44px;
        animation: fadeIn 0.8s ease 1.1s both;
      }
      .hero-meta {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0;
        margin-bottom: 48px;
        flex-wrap: wrap;
        animation: fadeIn 0.8s ease 1.2s both;
      }
      .hero-meta-item {
        font-family: "Barlow Condensed", sans-serif;
        font-weight: 500;
        font-size: 13px;
        letter-spacing: 0.15em;
        text-transform: uppercase;
        color: var(--fog2);
        padding: 0 22px;
      }
      .hero-meta-sep {
        color: var(--rule2);
        font-size: 16px;
      }
      .hero-ctas {
        display: flex;
        gap: 12px;
        justify-content: center;
        flex-wrap: wrap;
        animation: fadeUp 0.8s ease 1.3s both;
      }

      /* ─── BUTTONS ─── */
      .btn-fill {
        font-family: "Barlow Condensed", sans-serif;
        font-weight: 700;
        font-size: 13px;
        letter-spacing: 0.25em;
        text-transform: uppercase;
        background: var(--ember);
        color: var(--cream2);
        border: none;
        padding: 14px 36px;
        cursor: pointer;
        text-decoration: none;
        display: inline-block;
        transition:
          background 0.2s,
          transform 0.15s,
          box-shadow 0.2s;
        position: relative;
        overflow: hidden;
        box-shadow: 0 12px 32px rgba(191, 59, 26, 0.28);
      }
      .btn-fill::after {
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient(90deg, transparent, rgba(250, 246, 238, 0.22), transparent);
        transform: translateX(-120%) skewX(-18deg);
        transition: transform 0.45s;
      }
      .btn-fill:hover {
        background: var(--ember2);
        transform: translateY(-2px);
        box-shadow: 0 16px 44px rgba(191, 59, 26, 0.36);
      }
      .btn-fill:hover::after {
        animation: lightSweep 0.75s ease both;
      }
      .btn-outline {
        font-family: "Barlow Condensed", sans-serif;
        font-weight: 700;
        font-size: 13px;
        letter-spacing: 0.25em;
        text-transform: uppercase;
        background: transparent;
        color: var(--cream);
        border: 1px solid var(--rule2);
        padding: 14px 36px;
        cursor: pointer;
        text-decoration: none;
        display: inline-block;
        transition:
          border-color 0.2s,
          color 0.2s,
          transform 0.15s;
      }
      .btn-outline:hover {
        border-color: var(--gold2);
        color: var(--gold2);
        transform: translateY(-2px);
      }
      .btn-forest {
        font-family: "Barlow Condensed", sans-serif;
        font-weight: 700;
        font-size: 13px;
        letter-spacing: 0.25em;
        text-transform: uppercase;
        background: var(--forest);
        color: var(--cream2);
        border: 1px solid var(--moss);
        padding: 14px 36px;
        cursor: pointer;
        text-decoration: none;
        display: inline-block;
        transition:
          background 0.2s,
          color 0.2s,
          transform 0.15s;
      }
      .btn-forest:hover {
        background: var(--forest2);
        color: var(--gold2);
        transform: translateY(-2px);
      }

      /* ─── HOME ABOUT ─── */
      .home-about {
        background: var(--ink2);
        padding: 120px 48px;
      }
      .home-about-inner {
        max-width: 1100px;
        margin: 0 auto;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 120px;
        align-items: start;
      }
      .about-label {
        font-family: "Barlow Condensed", sans-serif;
        font-weight: 600;
        font-size: 14px;
        letter-spacing: 0.3em;
        text-transform: uppercase;
        color: var(--ember);
      }
      .about-h2 {
        font-family: "Playfair Display", serif;
        font-weight: 900;
        font-size: clamp(44px, 5.5vw, 70px);
        line-height: 0.95;
        color: var(--cream2);
        margin-top: 14px;
      }
      .about-h2 em {
        font-style: italic;
        color: var(--gold2);
      }
      .about-body {
        font-size: 16px;
        color: var(--fog2);
        line-height: 2;
        margin-top: 32px;
      }
      .about-body p + p {
        margin-top: 22px;
      }
      .pull-quote {
        border: 1px solid rgba(184, 148, 62, 0.3);
        padding: 40px 44px;
        background: rgba(35, 32, 25, 0.8);
        margin-bottom: 40px;
        transition: border-color 0.3s;
        position: relative;
      }
      .pull-quote::before,
      .pull-quote::after {
        content: "";
        position: absolute;
        width: 20px;
        height: 20px;
        border-color: rgba(184, 148, 62, 0.6);
        border-style: solid;
      }
      .pull-quote::before {
        top: -1px;
        left: -1px;
        border-width: 2px 0 0 2px;
      }
      .pull-quote::after {
        top: -1px;
        right: -1px;
        border-width: 2px 2px 0 0;
      }
      .pull-quote:hover {
        border-color: rgba(184, 148, 62, 0.5);
      }
      .pull-quote-text {
        font-family: "Playfair Display", serif;
        font-weight: 700;
        font-style: italic;
        font-size: clamp(18px, 2.3vw, 23px);
        color: var(--cream2);
        line-height: 1.6;
        margin-bottom: 18px;
      }
      .pull-quote-attr {
        font-family: "Barlow Condensed", sans-serif;
        font-weight: 600;
        font-size: 12px;
        letter-spacing: 0.25em;
        text-transform: uppercase;
        color: var(--fog2);
      }
      .story-inspiration {
        border: 1px solid rgba(184, 148, 62, 0.22);
        background: linear-gradient(135deg, rgba(31, 48, 40, 0.52), rgba(35, 32, 25, 0.72));
        padding: 32px 34px;
        margin-bottom: 40px;
        position: relative;
        overflow: hidden;
      }
      .story-inspiration::before {
        content: "";
        position: absolute;
        inset: 0 0 auto;
        height: 2px;
        background: linear-gradient(90deg, var(--ember), transparent 58%);
      }
      .story-inspiration-kicker {
        font-family: "Barlow Condensed", sans-serif;
        font-weight: 700;
        font-size: 12px;
        letter-spacing: 0.24em;
        text-transform: uppercase;
        color: var(--ember);
        margin-bottom: 12px;
      }
      .story-inspiration-title {
        font-family: "Playfair Display", serif;
        font-weight: 800;
        font-size: 24px;
        color: var(--cream2);
        line-height: 1.18;
        margin-bottom: 12px;
      }
      .story-inspiration-copy {
        font-size: 15px;
        color: var(--fog2);
        line-height: 1.85;
      }
      .story-callout {
        display: flex;
        align-items: flex-start;
        gap: 12px;
        margin: 24px 0;
        padding: 18px 24px;
        border: 1px solid rgba(191, 59, 26, 0.26);
        background: linear-gradient(135deg, rgba(191, 59, 26, 0.08), rgba(35, 32, 25, 0.32));
      }
      .story-callout-mark {
        color: var(--ember);
        font-size: 20px;
        line-height: 1;
        margin-top: 2px;
      }
      .story-callout p {
        margin: 0;
        font-size: 15px;
        color: var(--cream);
        font-weight: 400;
        line-height: 1.7;
      }
      .facts-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 20px;
      }
      .fact-box {
        border: 1px solid rgba(184, 148, 62, 0.2);
        padding: 28px 24px;
        position: relative;
        transition:
          border-color 0.25s,
          transform 0.25s;
        cursor: default;
        background: rgba(35, 32, 25, 0.4);
      }
      .fact-box::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 2px;
        height: 100%;
        background: var(--ember);
      }
      .fact-box:hover {
        border-color: rgba(184, 148, 62, 0.35);
        transform: translateY(-3px);
      }
      .fact-num {
        font-family: "Playfair Display", serif;
        font-weight: 800;
        font-size: 40px;
        color: var(--gold2);
        line-height: 1;
        margin-bottom: 8px;
      }
      .fact-label {
        font-family: "Barlow Condensed", sans-serif;
        font-weight: 600;
        font-size: 12px;
        letter-spacing: 0.2em;
        text-transform: uppercase;
        color: var(--fog2);
      }

      /* ─── MENU PAGE ─── */
      /* Sticky menu sub-nav */
      .menu-masthead {
        padding: 80px 48px 0;
        max-width: 1100px;
        margin: 0 auto;
      }
      .menu-masthead-title {
        font-family: "Playfair Display", serif;
        font-weight: 900;
        font-size: clamp(48px, 7.5vw, 92px);
        color: var(--cream2);
        line-height: 0.9;
        margin-top: 10px;
        margin-bottom: 8px;
      }
      .menu-masthead-title em {
        font-style: italic;
        color: var(--gold2);
      }
      .menu-masthead-sub {
        font-family: "Barlow Condensed", sans-serif;
        font-weight: 500;
        font-size: 15px;
        letter-spacing: 0.15em;
        text-transform: uppercase;
        color: var(--fog2);
        margin-bottom: clamp(16px, 2vw, 24px);
      }

      .menu-sticky-wrapper {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        z-index: 99;
        background: rgba(12, 11, 9, 0.97);
        border-bottom: 1px solid var(--rule);
        display: none;
        transition: top 0.1s;
      }
      .menu-nav-bar {
        display: flex;
        gap: 0;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        max-width: 1100px;
        margin: 0 auto;
        padding: 0 48px;
        scrollbar-width: none;
      }
      .menu-nav-bar::-webkit-scrollbar {
        display: none;
      }
      .menu-nav-tab {
        background: none;
        border: none;
        font-family: "Barlow Condensed", sans-serif;
        font-weight: 700;
        font-size: 13px;
        letter-spacing: 0.22em;
        text-transform: uppercase;
        color: var(--fog2);
        padding: 0 24px;
        height: var(--menu-sticky-h);
        cursor: pointer;
        white-space: nowrap;
        border-bottom: 2px solid transparent;
        transition:
          color 0.2s,
          border-color 0.2s;
        display: flex;
        align-items: center;
      }
      .menu-nav-tab:hover {
        color: var(--cream);
      }
      .menu-nav-tab.active {
        color: var(--cream2);
        border-bottom-color: var(--ember);
      }

      /* Menu sections, all visible and scrollable */
      .menu-sections-scroll {
        max-width: 1100px;
        margin: 0 auto;
        padding: 0 48px;
      }
      .menu-sec {
        padding: 80px 0;
        border-bottom: 1px solid rgba(184, 148, 62, 0.15);
      }
      .menu-sec:first-child {
        padding-top: clamp(32px, 4vw, 44px);
      }
      .menu-sec:last-child {
        border-bottom: none;
      }
      .menu-sec-header {
        margin-bottom: 56px;
        position: relative;
      }
      .menu-sec-header::after {
        content: "";
        position: absolute;
        bottom: -28px;
        left: 0;
        width: 80px;
        height: 1px;
        background: rgba(184, 148, 62, 0.4);
      }
      .menu-sec-label {
        font-family: "Barlow Condensed", sans-serif;
        font-weight: 600;
        font-size: 14px;
        letter-spacing: 0.3em;
        text-transform: uppercase;
        color: var(--ember);
      }
      .menu-sec-h2 {
        font-family: "Playfair Display", serif;
        font-weight: 900;
        font-size: clamp(38px, 5.5vw, 68px);
        color: var(--cream2);
        line-height: 0.92;
        margin-top: 12px;
      }
      .menu-sec-h2 em {
        font-style: italic;
        color: var(--gold2);
      }
      .menu-sec-desc {
        font-size: 15px;
        color: var(--fog2);
        max-width: 580px;
        line-height: 1.95;
        margin-top: 20px;
      }
      .menu-value-strip {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 1px;
        margin-bottom: 34px;
        border: 1px solid rgba(184, 148, 62, 0.22);
        background: rgba(184, 148, 62, 0.16);
      }
      .menu-value-cell {
        background: linear-gradient(135deg, rgba(35, 32, 25, 0.94), rgba(24, 22, 19, 0.94));
        padding: 24px 26px;
        min-height: 124px;
      }
      .menu-value-kicker {
        font-family: "Barlow Condensed", sans-serif;
        font-weight: 700;
        font-size: 12px;
        letter-spacing: 0.24em;
        text-transform: uppercase;
        color: var(--ember);
        margin-bottom: 10px;
      }
      .menu-value-title {
        font-family: "Playfair Display", serif;
        font-weight: 800;
        font-size: 23px;
        color: var(--cream2);
        line-height: 1.2;
        margin-bottom: 8px;
      }
      .menu-value-copy {
        font-size: 14px;
        color: var(--fog2);
        line-height: 1.7;
      }

      /* ── Cut items ── */
      .cuts-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 0;
      }
      .cut {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        gap: 20px;
        padding: 24px 0;
        border-bottom: 1px solid rgba(184, 148, 62, 0.1);
        transition: background 0.2s;
      }
      .cut:hover {
        background: rgba(184, 148, 62, 0.03);
      }
      .cut:nth-child(odd) {
        padding-right: 52px;
      }
      .cut:nth-child(even) {
        padding-left: 52px;
        border-left: 1px solid rgba(184, 148, 62, 0.1);
      }
      .cut-name {
        font-family: "Playfair Display", serif;
        font-weight: 700;
        font-size: 20px;
        color: var(--cream2);
        line-height: 1.2;
        margin-bottom: 6px;
      }
      .cut-kr {
        font-family: "Barlow Condensed", sans-serif;
        font-weight: 600;
        font-size: 14px;
        letter-spacing: 0.1em;
        color: var(--cream);
        margin-bottom: 5px;
      }
      .cut-note {
        font-size: 14px;
        color: var(--fog2);
        font-style: italic;
        line-height: 1.5;
      }
      .cut-tag {
        display: inline-block;
        font-family: "Barlow Condensed", sans-serif;
        font-weight: 700;
        font-size: 11px;
        letter-spacing: 0.2em;
        text-transform: uppercase;
        background: rgba(191, 59, 26, 0.18);
        color: var(--ember2);
        padding: 3px 9px;
        margin-top: 7px;
      }
      .cut-price {
        font-family: "Playfair Display", serif;
        font-weight: 700;
        font-size: 22px;
        color: var(--gold2);
        white-space: nowrap;
        padding-top: 2px;
        transition: color 0.2s;
      }
      .cut:hover .cut-price {
        color: var(--cream2);
      }

      /* ── Sets ── */
      .sets-grid {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 28px;
      }
      .set-card {
        border: 1px solid rgba(184, 148, 62, 0.25);
        padding: 40px 36px;
        position: relative;
        transition:
          border-color 0.25s,
          transform 0.25s;
        background: rgba(35, 32, 25, 0.3);
        backdrop-filter: blur(5px);
      }
      .set-card:hover {
        border-color: rgba(184, 148, 62, 0.45);
        transform: translateY(-4px);
      }
      .set-card.star {
        border-color: rgba(191, 59, 26, 0.35);
      }
      .set-card.star::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        height: 2px;
        background: var(--ember);
      }
      .set-card.anchor {
        background:
          linear-gradient(135deg, rgba(191, 59, 26, 0.16), transparent 42%), rgba(35, 32, 25, 0.42);
        box-shadow: 0 18px 48px rgba(12, 11, 9, 0.28);
      }
      .set-badge {
        font-family: "Barlow Condensed", sans-serif;
        font-weight: 700;
        font-size: 11px;
        letter-spacing: 0.2em;
        text-transform: uppercase;
        background: var(--ember);
        color: var(--cream2);
        display: inline-block;
        padding: 4px 10px;
        margin-bottom: 16px;
      }
      .set-name {
        font-family: "Playfair Display", serif;
        font-weight: 800;
        font-size: 22px;
        color: var(--cream2);
        line-height: 1.15;
        margin-bottom: 4px;
      }
      .set-kr {
        font-family: "Barlow Condensed", sans-serif;
        font-weight: 600;
        font-size: 13px;
        letter-spacing: 0.1em;
        color: var(--cream);
        margin-bottom: 14px;
      }
      .set-desc {
        font-size: 14px;
        color: var(--fog2);
        line-height: 1.85;
        margin-bottom: 22px;
      }
      .set-foot {
        display: flex;
        align-items: baseline;
        justify-content: space-between;
        padding-top: 18px;
        border-top: 1px solid var(--rule);
      }
      .set-price {
        font-family: "Playfair Display", serif;
        font-weight: 800;
        font-size: 30px;
        color: var(--gold2);
      }
      .set-price-wrap {
        display: flex;
        flex-direction: column;
        gap: 2px;
      }
      .set-per {
        font-family: "Barlow Condensed", sans-serif;
        font-weight: 600;
        font-size: 11px;
        letter-spacing: 0.16em;
        text-transform: uppercase;
        color: var(--fog2);
      }
      .set-guests {
        font-family: "Barlow Condensed", sans-serif;
        font-weight: 600;
        font-size: 12px;
        letter-spacing: 0.15em;
        text-transform: uppercase;
        color: var(--fog2);
      }
      .set-advice {
        margin-top: 14px;
        font-family: "Barlow", sans-serif;
        font-size: 13px;
        color: var(--fog2);
        line-height: 1.55;
        font-style: italic;
      }

      /* ── Simple items (stews / sides) ── */
      .simple-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 0;
      }
      .simple {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        gap: 16px;
        padding: 20px 0;
        border-bottom: 1px solid rgba(184, 148, 62, 0.1);
        transition: background 0.2s;
      }
      .simple:hover {
        background: rgba(184, 148, 62, 0.03);
      }
      .simple:nth-child(odd) {
        padding-right: 52px;
      }
      .simple:nth-child(even) {
        padding-left: 52px;
        border-left: 1px solid rgba(184, 148, 62, 0.1);
      }
      .simple-name {
        font-family: "Playfair Display", serif;
        font-weight: 700;
        font-size: 18px;
        color: var(--cream2);
        margin-bottom: 5px;
      }
      .simple-kr {
        font-family: "Barlow Condensed", sans-serif;
        font-weight: 600;
        font-size: 13px;
        letter-spacing: 0.08em;
        color: var(--cream);
        margin-bottom: 3px;
      }
      .simple-note {
        font-size: 14px;
        color: var(--fog2);
        font-style: italic;
        line-height: 1.5;
      }
      .simple-price {
        font-family: "Playfair Display", serif;
        font-weight: 700;
        font-size: 20px;
        color: var(--gold2);
        white-space: nowrap;
      }

      /* ── Drinks section ── */
      .drinks-grid {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr;
        gap: 28px;
      }
      .drink-category {
        border: 1px solid rgba(184, 148, 62, 0.25);
        padding: 32px 28px;
        transition:
          border-color 0.25s,
          transform 0.25s;
        background: rgba(35, 32, 25, 0.3);
        backdrop-filter: blur(5px);
      }
      .drink-category:hover {
        border-color: rgba(184, 148, 62, 0.45);
        transform: translateY(-3px);
      }
      .drink-cat-label {
        font-family: "Barlow Condensed", sans-serif;
        font-weight: 700;
        font-size: 12px;
        letter-spacing: 0.25em;
        text-transform: uppercase;
        color: var(--ember);
        margin-bottom: 12px;
      }
      .drink-cat-title {
        font-family: "Playfair Display", serif;
        font-weight: 800;
        font-size: 20px;
        color: var(--cream2);
        margin-bottom: 20px;
      }
      .drink-item {
        display: flex;
        justify-content: space-between;
        align-items: baseline;
        gap: 12px;
        padding: 10px 0;
        border-bottom: 1px solid rgba(184, 148, 62, 0.08);
      }
      .drink-item:last-child {
        border-bottom: none;
      }
      .drink-name {
        font-family: "Barlow Condensed", sans-serif;
        font-weight: 500;
        font-size: 15px;
        color: var(--cream);
        letter-spacing: 0.05em;
      }
      .drink-note {
        font-size: 12px;
        color: var(--fog);
        margin-top: 2px;
        font-style: italic;
      }
      .drink-price {
        font-family: "Playfair Display", serif;
        font-weight: 700;
        font-size: 17px;
        color: var(--gold2);
        white-space: nowrap;
      }
      .drink-price.included {
        color: var(--cream2);
        font-size: 15px;
      }
      .drink-placeholder-note {
        margin-top: 24px;
        padding: 16px 20px;
        border: 1px dashed rgba(184, 148, 62, 0.25);
        font-size: 13px;
        color: var(--fog);
        font-style: italic;
        line-height: 1.7;
      }

      .menu-footnote {
        margin-top: 44px;
        border: 1px solid var(--rule);
        padding: 16px 22px;
        background: linear-gradient(135deg, rgba(31, 48, 40, 0.32), rgba(24, 22, 19, 0.86));
        font-size: 14px;
        color: var(--fog2);
        font-style: italic;
        line-height: 1.8;
        position: relative;
      }
      .menu-footnote::before {
        content: "";
        position: absolute;
        top: -1px;
        left: 20px;
        right: 20px;
        height: 1px;
        background: var(--forest2);
      }

      /* ─── PRIVATE DINING ─── */
      .private-header {
        background: var(--ink2);
        padding: 100px 48px;
        text-align: center;
        border-bottom: 1px solid var(--rule);
      }
      .private-h1 {
        font-family: "Playfair Display", serif;
        font-weight: 900;
        font-size: clamp(52px, 7.5vw, 96px);
        color: var(--cream2);
        line-height: 0.9;
        margin-top: 14px;
      }
      .private-h1 em {
        font-style: italic;
        color: var(--gold2);
      }
      .private-lead {
        font-size: 15px;
        color: var(--fog2);
        max-width: 560px;
        margin: 28px auto 0;
        line-height: 1.95;
      }
      .private-options {
        max-width: 1100px;
        margin: 0 auto;
        padding: 100px 48px;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 40px;
      }
      .priv-opt {
        border: 1px solid rgba(184, 148, 62, 0.25);
        padding: 56px 52px;
        transition:
          border-color 0.3s,
          transform 0.3s;
        background: rgba(35, 32, 25, 0.3);
        position: relative;
      }
      .priv-opt::before,
      .priv-opt::after {
        content: "";
        position: absolute;
        width: 18px;
        height: 18px;
        border-color: rgba(184, 148, 62, 0.4);
        border-style: solid;
      }
      .priv-opt::before {
        top: -1px;
        left: -1px;
        border-width: 2px 0 0 2px;
      }
      .priv-opt::after {
        top: -1px;
        right: -1px;
        border-width: 2px 2px 0 0;
      }
      .priv-opt:hover {
        border-color: rgba(184, 148, 62, 0.45);
        transform: translateY(-4px);
      }
      .priv-tag {
        margin-bottom: 18px;
      }
      .priv-label {
        font-family: "Barlow Condensed", sans-serif;
        font-weight: 600;
        font-size: 14px;
        letter-spacing: 0.3em;
        text-transform: uppercase;
        color: var(--ember);
      }
      .priv-name {
        font-family: "Playfair Display", serif;
        font-weight: 900;
        font-size: 36px;
        color: var(--cream2);
        line-height: 1.05;
        margin-bottom: 24px;
      }
      .priv-name em {
        font-style: italic;
        color: var(--gold2);
      }
      .priv-desc {
        font-size: 14px;
        color: var(--fog2);
        line-height: 1.95;
        margin-bottom: 36px;
      }
      .priv-stats {
        display: flex;
        gap: 40px;
        padding: 24px 0;
        border-top: 1px solid var(--rule);
        border-bottom: 1px solid var(--rule);
        margin-bottom: 36px;
      }
      .priv-stat-val {
        font-family: "Playfair Display", serif;
        font-weight: 800;
        font-size: 36px;
        color: var(--gold2);
      }
      .priv-stat-key {
        font-family: "Barlow Condensed", sans-serif;
        font-weight: 600;
        font-size: 12px;
        letter-spacing: 0.18em;
        text-transform: uppercase;
        color: var(--fog2);
        margin-top: 4px;
      }

      /* ─── VISIT PAGE ─── */
      .visit-inner {
        max-width: 1100px;
        margin: 0 auto;
        padding: 100px 48px;
      }
      .visit-h1 {
        font-family: "Playfair Display", serif;
        font-weight: 900;
        font-size: clamp(52px, 7vw, 88px);
        color: var(--cream2);
        line-height: 0.9;
        margin-bottom: 80px;
      }
      .visit-h1 em {
        font-style: italic;
        color: var(--gold2);
      }
      .visit-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 100px;
      }
      .visit-sec-label {
        font-family: "Barlow Condensed", sans-serif;
        font-weight: 700;
        font-size: 14px;
        letter-spacing: 0.3em;
        text-transform: uppercase;
        color: var(--ember);
        padding-bottom: 18px;
        border-bottom: 1px solid rgba(184, 148, 62, 0.2);
        margin-bottom: 28px;
      }
      .visit-main {
        font-family: "Playfair Display", serif;
        font-weight: 700;
        font-size: 20px;
        color: var(--cream2);
        line-height: 1.65;
        margin-bottom: 16px;
      }
      .visit-sub {
        font-size: 14px;
        color: var(--fog2);
        line-height: 1.9;
      }
      .hours-row {
        display: flex;
        justify-content: space-between;
        padding: 15px 0;
        border-bottom: 1px solid rgba(184, 148, 62, 0.1);
        transition: background 0.2s;
      }
      .hours-row:hover {
        background: rgba(184, 148, 62, 0.06);
      }
      .hours-day {
        font-family: "Barlow Condensed", sans-serif;
        font-weight: 600;
        font-size: 14px;
        letter-spacing: 0.1em;
        color: var(--fog2);
      }
      .hours-time {
        font-family: "Barlow Condensed", sans-serif;
        font-weight: 500;
        font-size: 14px;
        color: var(--cream2);
        letter-spacing: 0.05em;
      }

      /* ─── FOOTER ─── */
      footer {
        background: var(--forest);
        border-top: 1px solid rgba(184, 148, 62, 0.2);
        padding: 80px 48px 48px;
        position: relative;
      }
      footer::before,
      footer::after {
        content: "";
        position: absolute;
        width: 24px;
        height: 24px;
        border-color: rgba(184, 148, 62, 0.3);
        border-style: solid;
        top: 0;
      }
      footer::before {
        left: -1px;
        border-width: 2px 0 0 2px;
      }
      footer::after {
        right: -1px;
        border-width: 2px 2px 0 0;
      }
      .footer-inner {
        max-width: 1100px;
        margin: 0 auto;
        display: flex;
        justify-content: space-between;
        align-items: center;
        flex-wrap: wrap;
        gap: 24px;
      }
      .footer-brand-row {
        display: flex;
        align-items: center;
        gap: 12px;
      }
      .footer-bi {
        height: 36px;
        object-fit: contain;
      }
      .footer-center {
        font-size: 13px;
        color: rgba(242, 236, 224, 0.45);
        text-align: center;
        line-height: 1.9;
      }
      .footer-links {
        display: flex;
        gap: 20px;
      }
      .footer-links a {
        font-family: "Barlow Condensed", sans-serif;
        font-weight: 600;
        font-size: 12px;
        letter-spacing: 0.2em;
        text-transform: uppercase;
        color: rgba(242, 236, 224, 0.45);
        text-decoration: none;
        transition: color 0.2s;
      }
      .footer-links a:hover {
        color: var(--gold2);
      }
      .footer-copy {
        max-width: 1100px;
        margin: 20px auto 0;
        padding-top: 18px;
        border-top: 1px solid rgba(59, 90, 66, 0.5);
        font-size: 12px;
        color: rgba(242, 236, 224, 0.25);
        text-align: center;
        font-family: "Barlow Condensed", sans-serif;
        letter-spacing: 0.15em;
      }

      /* ─── LEGAL PAGES ─── */
      .legal-page {
        padding: 96px 48px 120px;
        min-height: calc(100vh - 180px);
        background:
          linear-gradient(180deg, rgba(31, 48, 40, 0.32), transparent 34%),
          var(--ink);
      }
      .legal-shell {
        max-width: 900px;
        margin: 0 auto;
      }
      .legal-back {
        display: inline-flex;
        align-items: center;
        min-height: 44px;
        font-family: "Barlow Condensed", sans-serif;
        font-weight: 700;
        font-size: 13px;
        letter-spacing: 0.18em;
        text-transform: uppercase;
        color: var(--gold2);
        text-decoration: none;
        transition: color 0.2s var(--ease-out);
      }
      .legal-back:hover {
        color: var(--cream2);
      }
      .legal-title {
        margin-top: 18px;
        font-family: "Playfair Display", serif;
        font-weight: 800;
        font-size: clamp(38px, 7vw, 76px);
        line-height: 0.95;
        color: var(--cream2);
      }
      .legal-date {
        margin-top: 16px;
        font-family: "Barlow Condensed", sans-serif;
        font-weight: 600;
        font-size: 13px;
        letter-spacing: 0.18em;
        text-transform: uppercase;
        color: var(--fog);
      }
      .legal-intro,
      .legal-body p {
        color: var(--fog2);
        font-size: 17px;
        line-height: 1.85;
      }
      .legal-intro {
        margin-top: 34px;
        max-width: 760px;
      }
      .legal-sections,
      .legal-body {
        margin-top: 52px;
        border-top: 1px solid var(--rule);
      }
      .legal-section {
        padding: 34px 0 0;
        border-bottom: 1px solid rgba(184, 148, 62, 0.12);
      }
      .legal-section:last-child {
        border-bottom: 0;
      }
      .legal-section h2 {
        font-family: "Playfair Display", serif;
        font-weight: 700;
        font-size: clamp(25px, 3vw, 34px);
        color: var(--cream2);
        line-height: 1.15;
      }
      .legal-section p {
        margin-top: 14px;
        padding-bottom: 32px;
      }
      .legal-body {
        display: grid;
        gap: 24px;
        padding-top: 34px;
      }

      /* ─── CONSTRUCTION BANNER ─── */
      .construction-banner {
        width: 100%;
        padding: 0;
        overflow: hidden;
        border-top: 1px solid var(--rule);
        border-bottom: 1px solid var(--rule);
      }
      .construction-img {
        width: 100%;
        height: auto;
        display: block;
        object-fit: cover;
      }

      /* ─── EXPERIENCE HIGHLIGHTS ─── */
      .highlights-section {
        padding: 100px 48px 60px;
        max-width: 1200px;
        margin: 0 auto;
      }
      .highlights-header {
        text-align: center;
        margin-bottom: 60px;
      }
      .highlights-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 28px;
        margin-bottom: 48px;
      }
      .highlight-card {
        border: 1px solid var(--rule);
        padding: 48px 40px;
        background: rgba(31, 48, 40, 0.15);
        transition:
          border-color 0.3s,
          background 0.3s;
      }
      .highlight-card:hover {
        border-color: var(--rule2);
        background: rgba(31, 48, 40, 0.25);
      }
      .highlight-icon {
        font-size: 36px;
        margin-bottom: 20px;
      }
      .highlight-title {
        font-family: "Bebas Neue", "Barlow Condensed", sans-serif;
        font-weight: 400;
        font-size: 24px;
        letter-spacing: 0.08em;
        color: var(--cream2);
        margin-bottom: 16px;
      }
      .highlight-desc {
        font-family: "Barlow", sans-serif;
        font-weight: 300;
        font-size: 15px;
        color: var(--fog2);
        line-height: 1.8;
      }
      .ventilation-photos {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 16px;
      }
      .vent-photo-item {
        overflow: hidden;
        border: 1px solid var(--rule);
      }
      .vent-photo {
        width: 100%;
        height: 280px;
        object-fit: cover;
        display: block;
        transition: transform 0.6s ease;
      }
      .vent-photo-item:hover .vent-photo {
        transform: scale(1.03);
      }
      .vent-photo-caption {
        font-family: "Barlow Condensed", sans-serif;
        font-weight: 500;
        font-size: 12px;
        letter-spacing: 0.15em;
        text-transform: uppercase;
        color: var(--fog);
        padding: 12px 16px;
        border-top: 1px solid var(--rule);
      }

      /* ─── STOREFRONT GALLERY ─── */
      .storefront-section {
        padding: 100px 48px 80px;
        max-width: 1200px;
        margin: 0 auto;
      }
      .storefront-header {
        text-align: center;
        margin-bottom: 60px;
      }
      .storefront-desc {
        font-family: "Barlow", sans-serif;
        font-weight: 300;
        font-size: 16px;
        color: var(--fog2);
        max-width: 600px;
        margin: 20px auto 0;
        line-height: 1.7;
      }
      .storefront-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 16px;
      }
      .storefront-item {
        overflow: hidden;
        border: 1px solid var(--rule);
        position: relative;
      }
      .storefront-wide {
        grid-column: 1 / -1;
      }
      .storefront-photo {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
        transition: transform 0.6s ease;
        min-height: 280px;
      }
      .storefront-item:hover .storefront-photo {
        transform: scale(1.03);
      }

      /* ─── CALLIGRAPHY BANNER ─── */
      .calligraphy-banner {
        width: 100%;
        padding: 0;
        overflow: hidden;
        border-top: 1px solid var(--rule);
        border-bottom: 1px solid var(--rule);
        margin-bottom: 0;
      }
      .calligraphy-img {
        width: 100%;
        height: auto;
        display: block;
        object-fit: cover;
      }
      /* ─── EMAIL SIGNUP ─── */
      .signup-section {
        padding: 100px 48px 90px;
        text-align: center;
        background: linear-gradient(
          to bottom,
          var(--ink) 0%,
          rgba(31, 48, 40, 0.25) 50%,
          var(--ink) 100%
        );
        border-top: 1px solid var(--rule);
        border-bottom: 1px solid var(--rule);
        position: relative;
      }
      /* Ornamental divider above signup */
      .signup-section::before {
        content: "✦";
        position: absolute;
        top: -14px;
        left: 50%;
        transform: translateX(-50%);
        font-size: 16px;
        color: var(--gold);
        background: var(--ink);
        padding: 0 16px;
        line-height: 1;
      }
      .signup-label {
        font-family: "Barlow Condensed", sans-serif;
        font-weight: 600;
        font-size: 13px;
        letter-spacing: 0.25em;
        text-transform: uppercase;
        color: var(--gold);
        margin-bottom: 16px;
      }
      .signup-h2 {
        font-family: "Playfair Display", serif;
        font-weight: 700;
        font-size: clamp(28px, 4vw, 44px);
        color: var(--cream2);
        line-height: 1.2;
        margin-bottom: 12px;
      }
      .signup-desc {
        font-family: "Barlow", sans-serif;
        font-weight: 300;
        font-size: clamp(14px, 1.5vw, 17px);
        color: var(--fog);
        max-width: 520px;
        margin: 0 auto 32px;
        line-height: 1.7;
      }
      .signup-form {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 12px;
        max-width: 500px;
        margin: 0 auto;
      }
      .signup-input {
        flex: 1;
        padding: 14px 20px;
        font-family: "Barlow", sans-serif;
        font-size: 15px;
        background: rgba(242, 236, 224, 0.06);
        border: 1px solid var(--rule2);
        color: var(--cream2);
        border-radius: 2px;
        outline: none;
        transition: border-color 0.3s;
      }
      .signup-input::placeholder {
        color: var(--fog2);
        opacity: 0.6;
      }
      .signup-input:focus {
        border-color: var(--gold);
      }
      .signup-btn {
        padding: 14px 28px;
        font-family: "Bebas Neue", "Barlow Condensed", sans-serif;
        font-size: 16px;
        letter-spacing: 0.15em;
        text-transform: uppercase;
        color: var(--ink);
        background: var(--gold);
        border: none;
        cursor: pointer;
        border-radius: 2px;
        transition:
          background 0.3s,
          transform 0.2s;
        white-space: nowrap;
      }
      .signup-btn:hover {
        background: var(--gold2);
        transform: translateY(-1px);
      }
      .signup-success {
        display: none;
        margin-top: 16px;
        font-family: "Barlow", sans-serif;
        font-size: 15px;
        color: var(--gold2);
      }
      .signup-note {
        margin-top: 16px;
        font-family: "Barlow", sans-serif;
        font-size: 13px;
        color: var(--fog2);
        opacity: 0.5;
      }
      /* ─── HERO TAGLINE ─── */
      .hero-tagline {
        font-family: "Barlow", sans-serif;
        font-weight: 300;
        font-size: clamp(15px, 1.8vw, 20px);
        letter-spacing: 0.12em;
        color: var(--fog);
        margin-top: 8px;
        margin-bottom: 24px;
        animation: fadeIn 0.8s ease 1.3s both;
      }
      /* ─── KOREAN MEANING BLOCK ─── */
      .hero-meaning-block {
        margin-bottom: 36px;
        animation: fadeIn 0.8s ease 1.1s both;
        text-align: center;
      }
      .hero-meaning-kr {
        font-family: "Barlow", sans-serif;
        font-weight: 400;
        font-size: clamp(16px, 2vw, 22px);
        color: var(--cream);
        letter-spacing: 0.05em;
        margin-bottom: 4px;
      }
      .hero-meaning-kr-detail {
        font-family: "Barlow", sans-serif;
        font-weight: 300;
        font-size: clamp(13px, 1.5vw, 17px);
        color: var(--fog);
        letter-spacing: 0.04em;
        margin-bottom: 10px;
      }
      .hero-meaning-en {
        font-family: "Playfair Display", serif;
        font-weight: 700;
        font-style: italic;
        font-size: clamp(15px, 1.9vw, 21px);
        color: var(--gold2);
      }
      /* ─── WHY GOBAN SECTION ─── */
      .why-section {
        padding: 80px 48px;
        background: linear-gradient(to bottom, var(--ink), var(--ink2), var(--ink));
      }
      .why-header {
        text-align: center;
        margin-bottom: 56px;
      }
      /* Segment breaker under a centered section heading — the hero's
         ✦ rule motif at section scale, hairlines fading outward. */
      .section-rule {
        display: flex;
        align-items: center;
        gap: 18px;
        max-width: 360px;
        margin: 30px auto 0;
      }
      .section-rule-line {
        flex: 1;
        height: 1px;
        background: linear-gradient(to right, transparent, var(--rule2));
      }
      .section-rule-line:last-child {
        background: linear-gradient(to left, transparent, var(--rule2));
      }
      .section-rule-ornament {
        font-family: "Playfair Display", serif;
        font-size: 16px;
        line-height: 1;
        color: var(--gold);
      }
      .why-grid {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 24px;
        max-width: 1100px;
        margin: 0 auto;
      }
      .why-card {
        text-align: center;
        padding: 36px 20px;
        border: 1px solid var(--rule);
        background: rgba(242, 236, 224, 0.02);
        transition:
          background 0.3s,
          border-color 0.3s;
        display: flex;
        flex-direction: column;
        align-items: center;
      }
      .why-card:hover {
        background: rgba(242, 236, 224, 0.04);
        border-color: var(--rule2);
      }
      .why-icon {
        font-size: 36px;
        margin-bottom: 20px;
        filter: drop-shadow(0 0 12px rgba(191, 59, 26, 0.4));
        height: 52px;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
      }
      .why-icon svg {
        transition:
          transform 0.35s ease,
          filter 0.35s ease;
      }
      .why-card:hover .why-icon svg {
        transform: scale(1.1);
        filter: drop-shadow(0 0 8px rgba(184, 148, 62, 0.5));
      }
      .why-title {
        font-family: "Bebas Neue", "Barlow Condensed", sans-serif;
        font-size: 18px;
        letter-spacing: 0.12em;
        text-transform: uppercase;
        color: var(--cream2);
        margin-bottom: 10px;
      }
      .why-desc {
        font-family: "Barlow", sans-serif;
        font-weight: 300;
        font-size: 14px;
        color: var(--fog);
        line-height: 1.6;
      }
      /* ─── EXPERIENCE SECTION ─── */
      .exp-section {
        padding: 80px 48px;
        text-align: center;
        background: var(--ink);
        border-top: 1px solid var(--rule);
      }
      .exp-title {
        font-family: "Playfair Display", serif;
        font-weight: 700;
        font-size: clamp(28px, 4vw, 44px);
        color: var(--cream2);
        line-height: 1.2;
        margin-bottom: 16px;
      }
      .exp-copy {
        font-family: "Barlow", sans-serif;
        font-weight: 300;
        font-size: clamp(15px, 1.6vw, 18px);
        color: var(--fog);
        max-width: 600px;
        margin: 0 auto 40px;
        line-height: 1.7;
      }
      /* ─── PHOTO PLACEHOLDER ─── */
      .photo-placeholder {
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 300px;
        background: linear-gradient(135deg, var(--ink2), var(--ink3));
        border: 1px dashed var(--rule);
        color: var(--fog2);
        font-family: "Barlow Condensed", sans-serif;
        font-size: 14px;
        letter-spacing: 0.15em;
        text-transform: uppercase;
      }
      .photo-grid {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 4px;
        max-width: 1100px;
        margin: 0 auto;
      }
      .photo-grid .photo-placeholder {
        min-height: 240px;
      }

      /* ─── RESPONSIVE ─── */
      /* ─── HAMBURGER MENU ─── */
      .nav-hamburger {
        display: none;
        background: none;
        border: none;
        cursor: pointer;
        width: 32px;
        height: 24px;
        position: relative;
        flex-direction: column;
        justify-content: space-between;
        padding: 0;
      }
      .nav-hamburger span {
        display: block;
        width: 100%;
        height: 2px;
        background: var(--cream2);
        border-radius: 1px;
        transition:
          transform 0.3s,
          opacity 0.3s;
      }
      .nav-hamburger.open span:nth-child(1) {
        transform: translateY(11px) rotate(45deg);
      }
      .nav-hamburger.open span:nth-child(2) {
        opacity: 0;
      }
      .nav-hamburger.open span:nth-child(3) {
        transform: translateY(-11px) rotate(-45deg);
      }
      .mobile-menu {
        display: none;
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 199;
        background: rgba(12, 11, 9, 0.97);
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 8px;
        padding: 40px 24px;
      }
      .mobile-menu.open {
        display: flex;
      }
      .mobile-menu a {
        font-family: "Bebas Neue", "Barlow Condensed", sans-serif;
        font-weight: 400;
        font-size: 32px;
        letter-spacing: 0.12em;
        color: var(--cream);
        text-decoration: none;
        padding: 14px 0;
        text-transform: uppercase;
        transition: color 0.2s;
      }
      .mobile-menu a:hover,
      .mobile-menu a.active {
        color: var(--gold2);
      }
      .mobile-menu .nav-hire {
        font-size: 16px;
        letter-spacing: 0.18em;
        margin-top: 0;
        padding: 13px 28px;
      }
      /* Drawer CHAT WITH US mirrors the nav treatment: a filled ember
         pill above the outlined hiring pill, breaking the signature
         CTA out of the plain link stack. Scoped to the import-stamped
         drawer attribute (NOT .mobile-menu): the importer renames the
         drawer class and re-keys .mobile-menu rules into `@layer
         tenant`, where this site's own unlayered `* { padding: 0 }`
         reset would beat them at any specificity. The attribute
         selector stays in the main (unlayered) sheet; the raw source
         has no chat trigger, so standalone fidelity loses nothing. */
      [data-f2b-menu-drawer] a[data-f2b="chat"] {
        font-family: "Barlow Condensed", sans-serif;
        font-size: 16px;
        font-weight: 700;
        letter-spacing: 0.18em;
        text-transform: uppercase;
        background: var(--ember);
        color: var(--cream2);
        padding: 13px 28px;
        margin-top: 6px;
        box-shadow: 0 8px 24px rgba(191, 59, 26, 0.35);
      }
      [data-f2b-menu-drawer] a[data-f2b="chat"]:hover {
        background: var(--ember2);
        color: var(--cream2);
      }

      @media (max-width: 960px) {
        /* Nav */
        nav {
          padding: 14px 20px 10px;
          flex-direction: column;
          justify-content: center;
        }
        .nav-top {
          margin-bottom: 0;
          gap: 14px;
        }
        .nav-actions {
          gap: 12px;
          flex-shrink: 0;
        }
        .nav-connect-label {
          display: none !important;
        }
        /* WE'RE HIRING + CHAT WITH US collapse to icon buttons so the
           chat trigger stays visible beside the hamburger; the row no
           longer overflows, so the runtime's measured nav-yield safety
           net simply never fires here. */
        .nav-actions .nav-hire {
          padding: 6px;
        }
        .nav-actions .nav-hire .nav-pill-icon,
        .nav-actions .nav-hire .f2b-nav-item-icon {
          display: block;
        }
        .nav-actions .nav-hire .nav-pill-icon svg,
        .nav-actions .nav-hire .f2b-nav-item-icon svg {
          display: block;
          width: 18px;
          height: 18px;
        }
        .nav-actions .nav-hire .nav-pill-label,
        .nav-actions .nav-hire .f2b-nav-item-label {
          display: none;
        }
        .nav-brand {
          margin-bottom: 0;
        }
        .nav-bi {
          height: 36px;
        }
        .nav-bottom {
          display: none;
        }
        .nav-hamburger {
          display: flex;
          margin-left: 2px;
        }
        .page {
          padding-top: 80px;
        }

        /* Hero */
        .hero {
          min-height: 100vh;
          padding: 60px 16px 60px;
        }
        .hero-brush-left {
          width: 25%;
          opacity: 0.08;
        }
        .hero-brush-right {
          width: 28%;
          opacity: 0.08;
        }
        .hero-body {
          padding: 36px 24px;
          max-width: 100%;
        }
        .hero-seal {
          width: 70px;
          height: 70px;
        }
        .hero-title {
          font-size: clamp(56px, 14vw, 100px);
        }
        .hero-title-pre {
          font-size: 12px;
        }
        .hero-korean {
          font-size: 14px;
        }
        .hero-meaning {
          font-size: 13px;
          margin-bottom: 32px;
        }
        .hero-meta-item {
          font-size: 11px;
          padding: 0 12px;
        }
        .hero-ctas {
          flex-direction: column;
          align-items: center;
          gap: 10px;
        }
        .btn-fill,
        .btn-outline,
        .btn-forest {
          width: 100%;
          max-width: 280px;
          text-align: center;
        }

        /* Info strip */
        .banner-strip {
          grid-template-columns: 1fr;
          background: var(--rule);
        }
        .banner-cell {
          padding: 24px 20px;
        }

        /* About */
        .home-about {
          padding: 60px 24px;
        }
        .home-about-inner {
          grid-template-columns: 1fr;
          gap: 48px;
        }
        .about-h2 {
          font-size: clamp(36px, 8vw, 56px);
        }
        .facts-grid {
          grid-template-columns: 1fr 1fr;
          gap: 12px;
        }

        /* Why Goban */
        .why-section {
          padding: 60px 24px;
        }
        .why-grid {
          grid-template-columns: 1fr 1fr;
          gap: 16px;
        }

        /* Experience */
        .exp-section {
          padding: 60px 24px;
        }
        .photo-grid {
          grid-template-columns: 1fr 1fr;
          gap: 4px;
        }

        /* Highlights */
        .highlights-section {
          padding: 60px 24px 40px;
        }
        .highlights-grid {
          grid-template-columns: 1fr;
          gap: 20px;
        }
        .highlight-card {
          padding: 32px 24px;
        }
        .ventilation-photos {
          grid-template-columns: 1fr;
        }
        .vent-photo {
          height: 200px;
        }

        /* Storefront */
        .storefront-section {
          padding: 60px 24px 40px;
        }
        .storefront-grid {
          grid-template-columns: 1fr;
        }
        .storefront-wide {
          grid-column: auto;
        }
        .storefront-photo {
          min-height: 200px;
        }

        /* Menu */
        .menu-masthead,
        .menu-sections-scroll,
        .menu-nav-bar {
          padding-left: 20px;
          padding-right: 20px;
        }
        .menu-masthead-title {
          font-size: clamp(40px, 10vw, 72px);
        }
        .menu-value-strip {
          grid-template-columns: 1fr;
        }
        .menu-value-cell {
          min-height: 0;
          padding: 22px 20px;
        }
        .menu-sec {
          padding: 60px 0;
        }
        .menu-sec-header {
          margin-bottom: 44px;
        }
        .cuts-grid,
        .simple-grid,
        .drinks-grid {
          grid-template-columns: 1fr;
        }
        .cut:nth-child(even),
        .simple:nth-child(even) {
          padding-left: 0;
          border-left: none;
        }
        .cut:nth-child(odd),
        .simple:nth-child(odd) {
          padding-right: 0;
        }
        .sets-grid {
          grid-template-columns: 1fr 1fr;
        }

        /* Private dining */
        .private-header {
          padding: 60px 24px 40px;
        }
        .private-h1 {
          font-size: clamp(40px, 10vw, 72px);
        }
        .private-options {
          grid-template-columns: 1fr;
          gap: 32px;
          padding-left: 24px;
          padding-right: 24px;
        }

        /* Visit */
        .visit-inner {
          padding: 60px 24px;
        }
        .visit-h1 {
          font-size: clamp(40px, 10vw, 72px);
          margin-bottom: 48px;
        }
        .visit-grid {
          grid-template-columns: 1fr;
          gap: 48px;
        }

        /* Footer */
        .signup-section {
          padding: 60px 24px;
        }
        .signup-form {
          flex-direction: column;
        }
        .signup-input,
        .signup-btn {
          width: 100%;
          max-width: 320px;
        }
        footer {
          padding-left: 24px;
          padding-right: 24px;
        }
        .footer-inner {
          flex-direction: column;
          align-items: center;
          text-align: center;
          gap: 20px;
        }
        .footer-brand-row {
          justify-content: center;
        }
        .legal-page {
          padding: 72px 24px 88px;
        }
        .legal-title {
          font-size: clamp(34px, 12vw, 52px);
        }
        .legal-intro,
        .legal-body p {
          font-size: 16px;
        }
      }

      @media (max-width: 600px) {
        .legal-page {
          padding-right: 88px;
        }
        .sets-grid {
          grid-template-columns: 1fr;
        }
        .hero-meta {
          flex-direction: column;
          gap: 8px;
        }
        .hero-meta-sep {
          display: none;
        }
        .hero-body {
          padding: 28px 18px;
        }
        .hero-title-pre {
          letter-spacing: 0.36em;
          gap: 0.9em;
        }
        .hero-ctas .btn-fill,
        .hero-ctas .btn-outline {
          max-width: 260px;
        }
        .hero-title {
          font-size: clamp(48px, 13vw, 80px);
        }
        .hero-tagline {
          font-size: 13px;
          letter-spacing: 0.08em;
        }
        .facts-grid {
          grid-template-columns: 1fr 1fr;
          gap: 10px;
        }
        .fact-num {
          font-size: 28px;
        }
        .drinks-grid {
          grid-template-columns: 1fr;
        }
        .highlight-title {
          font-size: 20px;
        }
        .why-grid {
          grid-template-columns: 1fr;
        }
        .photo-grid {
          grid-template-columns: 1fr;
        }
      }
      @media (max-width: 430px) {
        .nav-top {
          gap: 10px;
        }
        .nav-actions {
          gap: 10px;
        }
        .nav-bi {
          height: 32px;
        }
        .nav-actions .nav-hire {
          padding: 5px;
        }
        .nav-actions .nav-hire .nav-pill-icon svg,
        .nav-actions .nav-hire .f2b-nav-item-icon svg {
          width: 17px;
          height: 17px;
        }
        .nav-connect svg {
          width: 17px;
          height: 17px;
        }
      }
    