:root{--bg: #ffffff;--surface: #f7f5f0;--text: #1d2433;--text-soft: color-mix(in srgb, #1d2433 80%, transparent);--accent: #1f3a6e;--accent-dark: #172b52;--accent-light: #e4e9f3;--spice: #a85a17;--section: #f5f0e6;--section-glow: #efe6d5;--divider: color-mix(in srgb, #1d2433 14%, transparent);--radius: 10px;--shadow-md: 0 4px 14px rgba(20, 25, 40, .08);--shadow-lg: 0 12px 36px rgba(20, 25, 40, .1);--font-heading: "Cormorant Garamond", Georgia, serif;--font-body: "Jost", system-ui, -apple-system, "Segoe UI", sans-serif;--gutter: clamp(20px, 5vw, 72px)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:84px}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:16px;line-height:1.6;text-wrap:pretty;-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}a{color:var(--accent)}a:hover{color:var(--accent-dark)}h1,h2,h3{font-family:var(--font-heading);font-weight:600;letter-spacing:-.01em;margin:0;color:var(--text)}h1{font-size:clamp(42px,5.6vw,76px);line-height:1.05}h2{font-size:clamp(30px,3.2vw,44px);line-height:1.15}h3{font-size:24px}.container{max-width:1200px;margin:0 auto;padding:0 var(--gutter)}.section{padding:clamp(48px,7vw,96px) 0}.mb-32{margin-bottom:32px}.mb-40{margin-bottom:40px}.eyebrow{display:block;font-size:13px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--spice);margin-bottom:14px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 22px;border-radius:999px;font-size:15px;font-weight:500;text-decoration:none;border:1.5px solid transparent;transition:background .2s,color .2s,border-color .2s,transform .2s;text-align:center}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-dark);color:#fff}.btn-secondary{border-color:var(--accent);color:var(--accent);background:transparent}.btn-secondary:hover{background:var(--accent-light)}.btn-ghost{color:var(--spice);padding-inline:8px}.btn-ghost:hover{color:#8a470f}.btn-row{display:flex;gap:12px;flex-wrap:wrap}.nav{position:sticky;top:0;z-index:20;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:color-mix(in srgb,var(--bg) 85%,transparent);border-bottom:1px solid var(--divider)}.nav-inner{max-width:1340px;margin:0 auto;padding:10px var(--gutter);display:flex;align-items:center;gap:24px}.brand{display:flex;align-items:center;gap:14px;text-decoration:none;color:var(--text);font-family:var(--font-heading);font-size:20px;font-weight:600}.brand:hover{color:var(--text)}.brand img{height:52px;width:auto}.nav-links{display:flex;align-items:center;gap:28px;margin-left:auto}.nav-links a:not(.btn){text-decoration:none;color:var(--text);font-size:15px}.nav-links a:not(.btn):hover{color:var(--spice)}.menu-toggle{display:none}@media (max-width: 860px){.brand span{display:none}.menu-toggle{display:flex;flex-direction:column;gap:5px;margin-left:auto;background:none;border:0;padding:10px;cursor:pointer}.menu-toggle span{width:24px;height:2px;background:var(--text);border-radius:2px}.nav-links{position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:var(--bg);border-bottom:1px solid var(--divider);padding:8px var(--gutter) 20px;display:none}.nav-links.is-open{display:flex}.nav-links a:not(.btn){padding:12px 0;border-bottom:1px solid var(--divider)}.nav-links .btn{margin-top:16px}}.hero{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:clamp(32px,5vw,80px);align-items:center;padding:clamp(48px,8vw,110px) 0 clamp(48px,7vw,96px)}.lead{font-size:18px;line-height:1.65;max-width:52ch;margin:24px 0 32px;color:var(--text-soft)}.hero-img{margin:0;aspect-ratio:4 / 5;max-height:640px;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-lg)}.hero-img img{width:100%;height:100%;object-fit:cover}.story{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:clamp(32px,5vw,80px);padding:clamp(48px,7vw,96px) 0;align-items:start}.story-logos{width:100%;max-width:440px;margin-top:40px}.prose{display:flex;flex-direction:column;gap:18px;color:var(--text-soft);max-width:60ch;line-height:1.75}.prose p{margin:0}.prose strong{color:var(--text);font-weight:500}.courtyard{margin:0;position:relative;width:100%;aspect-ratio:21 / 9;min-height:260px;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-md)}.courtyard img{width:100%;height:100%;object-fit:cover}.courtyard figcaption{position:absolute;left:0;right:0;bottom:0;padding:48px clamp(20px,4vw,40px) 24px;background:linear-gradient(transparent,#0f14239e);color:#fbfaf7;font-size:15px;letter-spacing:.02em}.grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:32px}.daypart{display:flex;flex-direction:column;gap:14px}.daypart figure{margin:0;aspect-ratio:4 / 3;border-radius:var(--radius);overflow:hidden}.daypart img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.daypart:hover img{transform:scale(1.04)}.daypart p{margin:0;color:var(--text-soft)}.note{margin:32px 0 0;color:var(--text-soft)}.gallery-section{padding-top:clamp(16px,3vw,40px)}.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));grid-auto-rows:240px;gap:12px}.gallery-item{padding:0;border:0;background:none;cursor:zoom-in;border-radius:var(--radius);overflow:hidden;min-height:0}.gallery-item.tall{grid-row:span 2}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.gallery-item:hover img{transform:scale(1.04)}@media (max-width: 600px){.gallery-item.tall{grid-row:span 1}}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#0a0e19e6;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;gap:12px}.lightbox img{max-height:82vh;width:auto;border-radius:var(--radius)}.lightbox p{color:#e9e6df;margin:0;font-size:14px;text-align:center}.lightbox-close{position:absolute;top:16px;right:20px;background:none;border:0;color:#fff;font-size:40px;line-height:1;cursor:pointer}.cta{background:radial-gradient(900px 420px at 85% -40%,color-mix(in srgb,var(--section-glow) 70%,transparent),transparent 64%),var(--section);padding:clamp(56px,7vw,88px) 0}.cta-inner{max-width:1200px;margin:0 auto;padding:0 var(--gutter);display:flex;flex-wrap:wrap;gap:32px;align-items:flex-end;justify-content:space-between}.cta-inner>div:first-child{max-width:56ch}.cta p{margin:16px 0 0;line-height:1.75}.visit{max-width:1200px;margin:0 auto;padding:clamp(56px,7vw,96px) var(--gutter);display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:clamp(32px,4vw,64px)}.visit p{margin:0;line-height:1.75}.stack{display:flex;flex-direction:column;gap:28px}.social{display:flex;gap:20px}.hours{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}.hours td{padding:9px 0;border-bottom:1px solid var(--divider)}.hours td:last-child{text-align:right}.hours tr.today td{font-weight:500;color:var(--accent)}.today-tag{margin-left:8px;font-size:11px;letter-spacing:.06em;text-transform:uppercase;background:var(--accent-light);color:var(--accent);padding:2px 8px;border-radius:999px}.map{min-height:300px;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-md)}.map iframe{width:100%;height:100%;min-height:300px;border:0;display:block}.footer{max-width:1200px;margin:0 auto;padding:32px var(--gutter) 48px;border-top:1px solid var(--divider);font-size:13px;color:color-mix(in srgb,var(--text) 60%,transparent);display:flex;gap:16px;flex-wrap:wrap;justify-content:space-between}.nav-links a.is-current{color:var(--spice)}.footer a{color:inherit}.footer-links{display:flex;gap:18px;flex-wrap:wrap}.menu-hero{background:radial-gradient(900px 420px at 85% -40%,color-mix(in srgb,var(--section-glow) 70%,transparent),transparent 64%),var(--section);padding:clamp(48px,7vw,88px) 0 clamp(40px,5vw,64px)}.menu-hero h1{font-size:clamp(36px,4.6vw,60px);max-width:18ch}.menu-toolbar{position:sticky;top:73px;z-index:15;background:var(--bg);border-bottom:1px solid var(--divider);box-shadow:0 6px 16px #1419280a}.menu-tabs{display:flex;gap:8px;padding-top:14px}.menu-tab{flex:1 1 0;text-align:left;font:inherit;cursor:pointer;border:1.5px solid var(--divider);background:var(--surface);border-radius:var(--radius);padding:10px 16px;display:flex;flex-direction:column;color:var(--text)}.menu-tab strong{font-family:var(--font-heading);font-size:20px;font-weight:600;line-height:1.2}.menu-tab small{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--spice)}.menu-tab.is-active{background:var(--accent);border-color:var(--accent);color:#fff}.menu-tab.is-active small{color:#f3c79c}.menu-cats{display:flex;gap:6px;overflow-x:auto;padding:12px 0;scrollbar-width:none}.menu-cats::-webkit-scrollbar{display:none}.menu-cats a{flex:none;font-size:14px;text-decoration:none;color:var(--text);padding:6px 12px;border-radius:999px;background:var(--surface)}.menu-cats a:hover{background:var(--accent-light);color:var(--accent)}.menu-main{padding-top:clamp(32px,5vw,56px);padding-bottom:clamp(48px,6vw,80px)}.menu-intro{display:flex;flex-wrap:wrap;gap:24px;justify-content:space-between;align-items:flex-end;margin-bottom:32px}.menu-tagline{margin:6px 0 0;color:var(--text-soft)}.menu-banner{display:inline-block;margin:12px 0 0;padding:4px 12px;border-radius:999px;background:#fbeee1;color:var(--spice);font-size:14px;font-weight:500}.menu-filters{display:flex;flex-direction:column;gap:10px;width:min(100%,420px)}.menu-filters input{font:inherit;padding:10px 16px;border-radius:999px;border:1.5px solid var(--divider);background:var(--bg);color:var(--text)}.menu-filters input:focus{outline:2px solid var(--accent);outline-offset:1px}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{font:inherit;font-size:14px;cursor:pointer;padding:6px 14px;border-radius:999px;border:1.5px solid var(--divider);background:var(--bg);color:var(--text)}.chip.is-on{background:var(--accent);border-color:var(--accent);color:#fff}.filter-status{margin:-12px 0 24px;color:var(--text-soft);font-size:14px}.link-btn{font:inherit;background:none;border:0;color:var(--accent);text-decoration:underline;cursor:pointer;padding:0}.menu-grid{columns:2 440px;column-gap:clamp(32px,5vw,72px)}.menu-cat{break-inside:avoid;margin-bottom:44px;scroll-margin-top:200px}.menu-cat h3{font-size:28px;color:var(--spice);padding-bottom:10px;margin-bottom:14px;border-bottom:2px solid color-mix(in srgb,var(--spice) 30%,transparent)}.menu-cat ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:16px}.menu-cat.compact ul{gap:8px}.menu-note{margin:-4px 0 14px;font-style:italic;font-size:14px;color:var(--text-soft)}.menu-addons{margin:16px 0 0;font-size:13.5px;color:var(--text-soft)}.menu-addons strong{letter-spacing:.08em;text-transform:uppercase;font-size:12px;color:var(--text);margin-right:6px}.menu-item-head{display:flex;align-items:baseline;gap:10px}.menu-item-name{font-weight:500;font-size:16px;letter-spacing:.01em}.menu-item-dots{flex:1;border-bottom:1px dotted color-mix(in srgb,var(--text) 30%,transparent);transform:translateY(-4px);min-width:16px}.menu-item-price{font-weight:500;font-variant-numeric:tabular-nums;white-space:nowrap}.menu-item-desc{margin:3px 0 0;font-size:14.5px;line-height:1.5;color:var(--text-soft);max-width:58ch}.tag{display:inline-block;margin-left:6px;padding:0 6px;border-radius:4px;font-size:11px;font-weight:500;letter-spacing:.04em;line-height:18px;vertical-align:2px;color:var(--spice);background:#fbeee1}.tag-special{color:#fff;background:var(--spice)}.heat{margin-left:8px;font-size:13px;font-style:italic;font-weight:400;color:var(--text-soft)}.menu-empty{color:var(--text-soft)}.menu-info{margin-top:24px;padding-top:36px;border-top:1px solid var(--divider);display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:32px;font-size:14.5px;color:var(--text-soft);line-height:1.65}.menu-info h4{margin:0 0 12px;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--spice)}.menu-info p{margin:0 0 10px}.key{list-style:none;padding:0;margin:0 0 12px;display:grid;gap:4px}.key .tag{margin:0 6px 0 0;min-width:36px;text-align:center}@media (max-width: 860px){.menu-toolbar{top:73px}.menu-tab strong{font-size:17px}}@media (max-width: 480px){.menu-tab{padding:8px 12px}.menu-tab strong,.menu-item-name{font-size:15px}}
