  *,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
  :root{--sage:#2e4a38;--sage-mid:#3d6045;--cream:#fdf8f0;--warm:#f4ead8;--gold:#b8822a;--ink:#1a160e;--mid:#5a5040;--light:#9a8878;--border:#e0d5c0}
  html{scroll-behavior:smooth}
  body{font-family:'Outfit',sans-serif;background:var(--cream);color:var(--ink);overflow-x:hidden}

  /* NAV */
  nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:1.5rem 3rem;display:flex;justify-content:space-between;align-items:center;transition:all 0.4s}
  nav.solid{background:rgba(253,248,240,0.97);backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}
  .n-logo{font-family:'Fraunces',serif;font-size:1.35rem;font-weight:300;color:#fff;text-decoration:none;transition:color 0.4s;letter-spacing:0.02em}
  nav.solid .n-logo{color:var(--ink)}
  .n-links{display:flex;gap:1.25rem;list-style:none;align-items:center}
  .n-links a{font-size:0.78rem;letter-spacing:0.1em;text-transform:uppercase;color:rgba(255,255,255,0.65);text-decoration:none;transition:color 0.2s}
  nav.solid .n-links a{color:var(--mid)}
  .n-links a:hover{color:var(--gold)!important}
  .n-book{padding:0.6rem 1.4rem;background:var(--gold);color:#fff!important;font-weight:500!important}
  .n-book:hover{background:#9a6c1f!important}

  /* SPLIT HERO */
  .hero{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}
  @media(max-width:768px){.hero{grid-template-columns:1fr}}
  .hero-visual{background:linear-gradient(160deg,var(--sage) 0%,var(--sage-mid) 40%,#1a2e20 100%);position:relative;overflow:hidden;min-height:50vh}
  .hero-visual-text{position:absolute;bottom:3rem;left:3rem;font-family:'Fraunces',serif;font-style:italic;font-size:clamp(4rem,10vw,9rem);color:rgba(255,255,255,0.07);line-height:1;pointer-events:none}
  .hero-visual-badge{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center}
  .hvb-year{font-family:'Fraunces',serif;font-size:5rem;font-weight:300;color:rgba(255,255,255,0.12);line-height:1}
  .hvb-label{font-size:0.65rem;letter-spacing:0.16em;text-transform:uppercase;color:rgba(255,255,255,0.2)}
  .hero-content{display:flex;flex-direction:column;justify-content:flex-end;padding:8rem 3.5rem 4rem;background:var(--ink)}
  .h-eyebrow{font-size:0.68rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--gold);margin-bottom:1.25rem;display:flex;align-items:center;gap:0.75rem;opacity:0;animation:fu 0.6s ease forwards 0.2s}
  .h-eyebrow::before{content:'';width:1.5rem;height:1px;background:var(--gold)}
  .hero-content h1{font-family:'Fraunces',serif;font-weight:300;font-size:clamp(2.5rem,4.5vw,4.2rem);line-height:1.05;color:#fff;letter-spacing:-0.02em;margin-bottom:1.25rem;opacity:0;animation:fu 0.7s ease forwards 0.35s}
  .hero-content h1 em{font-style:italic;color:var(--gold)}
  .hero-content p{font-size:0.95rem;color:rgba(255,255,255,0.45);line-height:1.8;font-weight:300;max-width:380px;margin-bottom:2rem;opacity:0;animation:fu 0.7s ease forwards 0.5s}
  .h-ctas{display:flex;gap:1rem;flex-wrap:wrap;opacity:0;animation:fu 0.7s ease forwards 0.65s}
  .btn-gold{display:inline-block;padding:0.9rem 2rem;background:var(--gold);color:#fff;font-size:0.8rem;letter-spacing:0.08em;text-transform:uppercase;text-decoration:none;transition:background 0.2s}
  .btn-gold:hover{background:#9a6c1f}
  .btn-ghost-light{display:inline-block;padding:0.9rem 2rem;border:1px solid rgba(255,255,255,0.2);color:rgba(255,255,255,0.55);font-size:0.8rem;letter-spacing:0.08em;text-transform:uppercase;text-decoration:none;transition:all 0.2s}
  .btn-ghost-light:hover{border-color:rgba(255,255,255,0.5);color:#fff}

  /* MARQUEE */
  .marquee-strip{background:var(--gold);padding:0.7rem 0;overflow:hidden}
  .m-track{display:flex;gap:2.5rem;white-space:nowrap;animation:marquee 22s linear infinite}
  .m-track span{font-size:0.75rem;letter-spacing:0.12em;text-transform:uppercase;color:rgba(255,255,255,0.85)}
  .m-track .dot{color:rgba(255,255,255,0.4)}

  /* MENU SECTION */
  #menu{background:var(--cream);padding:6rem 3rem}
  .sec-inner{max-width:1100px;margin:0 auto}
  .sec-ey{font-size:0.68rem;letter-spacing:0.16em;text-transform:uppercase;color:var(--gold);margin-bottom:0.6rem;display:flex;align-items:center;gap:0.75rem}
  .sec-ey::before{content:'';width:1.5rem;height:1px;background:var(--gold)}
  .sec-title{font-family:'Fraunces',serif;font-size:clamp(2rem,4vw,3rem);font-weight:300;color:var(--ink);line-height:1.15;margin-bottom:0.6rem}
  .sec-sub{font-size:0.875rem;color:var(--light);font-weight:300;margin-bottom:3rem}

  /* Tab nav */
  .tabs{display:flex;gap:0;border-bottom:2px solid var(--border);margin-bottom:2.5rem;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}
  .tabs::-webkit-scrollbar{display:none}
  .tab{padding:0.8rem 1.5rem;font-size:0.75rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--light);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;white-space:nowrap;transition:color 0.2s,border-color 0.2s}
  .tab.on{color:var(--ink);border-bottom-color:var(--sage)}

  .panel{display:none}
  .panel.on{display:grid;grid-template-columns:1fr 1fr;gap:0 2.5rem}
  @media(max-width:700px){.panel.on{grid-template-columns:1fr}}

  .mi{display:flex;justify-content:space-between;align-items:baseline;padding:0.9rem 0;border-bottom:1px dotted var(--border);gap:1rem}
  .mi-l .mi-name{font-size:0.9rem;font-weight:500;color:var(--ink)}
  .mi-l .mi-desc{font-size:0.75rem;color:var(--light);margin-top:0.15rem;line-height:1.45}
  .mi-tag{display:inline-block;font-size:0.58rem;letter-spacing:0.08em;text-transform:uppercase;padding:0.1rem 0.35rem;background:rgba(46,74,56,0.1);color:var(--sage);margin-top:0.25rem}
  .mi-price{font-family:'Fraunces',serif;font-size:1.05rem;font-weight:300;color:var(--gold);white-space:nowrap}

  /* ABOUT — asymmetric split */
  #about{background:var(--warm);border-top:1px solid var(--border);padding:6rem 3rem}
  .about-grid{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:5fr 4fr;gap:5rem;align-items:center}
  @media(max-width:768px){.about-grid{grid-template-columns:1fr;gap:3rem}}
  .about-txt p{font-size:0.95rem;color:var(--mid);line-height:1.9;font-weight:300;margin-bottom:1rem}
  .about-numbers{display:flex;gap:2rem;margin-top:2rem;padding-top:2rem;border-top:1px solid var(--border)}
  .an-num{font-family:'Fraunces',serif;font-size:2.5rem;font-weight:300;color:var(--ink);line-height:1}
  .an-l{font-size:0.65rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--light);margin-top:0.2rem}
  .about-visual{aspect-ratio:3/4;background:linear-gradient(145deg,var(--sage),var(--sage-mid));display:flex;align-items:flex-end;padding:1.5rem;position:relative;overflow:hidden}
  .about-visual::before{content:'M';position:absolute;top:-1rem;right:-1rem;font-family:'Fraunces',serif;font-style:italic;font-size:14rem;color:rgba(255,255,255,0.07);line-height:1}
  .av-caption{font-size:0.65rem;letter-spacing:0.12em;text-transform:uppercase;color:rgba(255,255,255,0.35);position:relative}

  /* HOURS dark section */
  #hours{background:var(--sage);padding:5rem 3rem;overflow-x:hidden}
  .hours-grid{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:5rem}
  @media(max-width:768px){.hours-grid{grid-template-columns:1fr;gap:3rem}}
  .hours-hed{font-family:'Fraunces',serif;font-size:clamp(2rem,3.5vw,3rem);font-weight:300;color:#fff;line-height:1.2;margin-bottom:0.5rem}
  .hours-hed em{font-style:italic}
  .hours-sub{font-size:0.85rem;color:rgba(255,255,255,0.45);font-weight:300;margin-bottom:2rem}
  .hlist{list-style:none}
  .hrow{display:flex;justify-content:space-between;padding:0.85rem 0;border-bottom:1px solid rgba(255,255,255,0.1);font-size:0.85rem}
  .hrow:first-child{border-top:1px solid rgba(255,255,255,0.1)}
  .hday{color:rgba(255,255,255,0.5)}
  .htime{color:rgba(255,255,255,0.85)}
  .hclosed{color:rgba(255,255,255,0.2)}
  .location-detail{margin-top:1.5rem;font-size:0.82rem;color:rgba(255,255,255,0.4);line-height:1.8}

  /* Booking form right */
  .bform-wrap{display:flex;flex-direction:column;gap:0.875rem;width:100%;box-sizing:border-box}
  .bform-title{font-family:'Fraunces',serif;font-size:1.5rem;font-weight:300;color:#fff;margin-bottom:0.25rem}
  .bform-sub{font-size:0.78rem;color:rgba(255,255,255,0.4);margin-bottom:0.5rem;font-weight:300}
  .frow2{display:grid;grid-template-columns:1fr 1fr;gap:0.875rem}
  .bform-wrap input,.bform-wrap select{background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.12);padding:0.8rem 1rem;color:#fff;font-family:'Outfit',sans-serif;font-size:0.85rem;font-weight:300;outline:none;transition:border-color 0.2s}
  .bform-wrap input::placeholder{color:rgba(255,255,255,0.2)}
  .bform-wrap select option{background:var(--sage)}
  .bform-wrap input:focus,.bform-wrap select:focus{border-color:var(--gold)}
  .bform-wrap button{padding:0.9rem;background:var(--gold);color:#fff;border:none;font-family:'Outfit',sans-serif;font-size:0.8rem;font-weight:500;letter-spacing:0.06em;text-transform:uppercase;cursor:pointer;transition:background 0.2s}
  .bform-wrap button:hover{background:#9a6c1f}

  footer{background:#0f180f;padding:1.75rem 3rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;border-top:1px solid rgba(255,255,255,0.06)}
  .f-logo{font-family:'Fraunces',serif;font-size:1.05rem;font-weight:300;color:rgba(255,255,255,0.3);letter-spacing:0.02em}
  .f-copy{font-size:0.7rem;color:rgba(255,255,255,0.18)}
  .f-credit{font-size:0.7rem;color:rgba(255,255,255,0.18)}
  .f-credit a{color:var(--gold);text-decoration:none}

  @keyframes fu{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
  @keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
  .reveal{opacity:0;transform:translateY(12px);transition:opacity 0.6s ease,transform 0.6s ease}
  .reveal.visible{opacity:1;transform:none}

  @media(max-width:820px){
    .n-book{display:none}
  }
  @media(max-width:600px){
    nav{padding:1.25rem 1.5rem}
    nav .n-links{display:none}
    #menu,#about,#hours{padding:4rem 1.5rem}
    footer{padding:1.5rem}
  }

  /* ── HAMBURGER ── */
  .hamburger{display:none;flex-direction:column;justify-content:center;gap:5px;width:36px;height:36px;background:none;border:none;cursor:pointer;padding:4px;flex-shrink:0;position:relative;z-index:201}
  .hamburger span{display:block;width:22px;height:2px;background:rgba(255,255,255,0.8);border-radius:2px;transition:transform 0.3s,opacity 0.3s;transform-origin:center}
  nav.solid .hamburger span{background:var(--ink)}
  .hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .hamburger.open span:nth-child(2){opacity:0}
  .hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .nav-drawer{position:fixed;top:0;right:0;bottom:0;width:72vw;max-width:280px;background:var(--ink);display:flex;flex-direction:column;justify-content:flex-start;transform:translateX(100%);transition:transform 0.3s cubic-bezier(0.4,0,0.2,1);z-index:199;border-left:1px solid rgba(255,255,255,0.08)}
  .nav-drawer.open{transform:translateX(0)}
  .nav-drawer a{display:block;padding:1.1rem 1.75rem;font-size:0.85rem;letter-spacing:0.1em;text-transform:uppercase;color:rgba(255,255,255,0.6);text-decoration:none;border-bottom:1px solid rgba(255,255,255,0.06);transition:color 0.2s,background 0.2s}
  .nav-drawer a:first-child{border-top:1px solid rgba(255,255,255,0.06)}
  .nav-drawer a:hover{color:#fff;background:rgba(255,255,255,0.04)}
  .nav-drawer a.drawer-book{background:var(--gold);color:#fff;border-color:var(--gold)}
  .nav-drawer a.drawer-book:hover{background:#9a6c1f}
  .drawer-backdrop{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.5);z-index:198;opacity:0;transition:opacity 0.3s;pointer-events:none}
  .drawer-backdrop.open{opacity:1;pointer-events:all}
  @media(max-width:640px){
    .hamburger{display:flex}
    nav .n-links{display:none!important}
    .drawer-backdrop{display:block}
    .frow2{grid-template-columns:1fr}
    .bform-wrap input,.bform-wrap select{width:100%;box-sizing:border-box}
    #hours{padding:4rem 1.25rem}
    .hours-grid{padding:0}
  }