:root{--color-warm-sand: #d8cbb8;--color-charcoal: #2c2c2c;--color-smoke: #dfdad5;--color-taupe: #b6ab9c;--color-greige: #bfb4a3;--color-obsidian: #292622;--color-ember: #d49653;--color-stone: #978e81;--color-bark: #615b53;--font-serif: "Playfair Display", "TT Ramillas Variable", Georgia, serif;--font-sans: "Inter", "Satoshi", ui-sans-serif, system-ui, -apple-system, sans-serif;--page-max-width: 1200px;--section-gap: 64px;--card-padding: 20px;--element-gap: 16px;--radius: 3px}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--color-warm-sand);color:var(--color-charcoal);font-family:var(--font-sans);font-weight:500;-webkit-font-smoothing:antialiased;scroll-behavior:smooth}img{display:block;max-width:100%}.serif{font-family:var(--font-serif);font-weight:300}.overline{font-family:var(--font-sans);font-weight:500;font-size:12px;letter-spacing:.12em;text-transform:uppercase}.btn-ghost{display:inline-block;background:transparent;border:1px solid var(--color-warm-sand);color:var(--color-warm-sand);font-family:var(--font-sans);font-weight:500;font-size:12px;letter-spacing:.01em;text-transform:uppercase;padding:12px 24px;border-radius:var(--radius);cursor:pointer;text-decoration:none;transition:background .3s ease,color .3s ease}.btn-ghost:hover{background:var(--color-warm-sand);color:var(--color-charcoal)}.btn-ghost.dark{border-color:var(--color-charcoal);color:var(--color-charcoal)}.btn-ghost.dark:hover{background:var(--color-charcoal);color:var(--color-warm-sand)}.nav{position:fixed;top:0;left:0;right:0;z-index:65;display:flex;align-items:center;justify-content:space-between;padding:20px 32px;transition:background .3s ease,padding .3s ease,border-color .3s ease;border-bottom:1px solid transparent}.nav.scrolled{background:#2c2c2ceb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:14px 32px;border-bottom-color:#d8cbb81f}.nav .logo{font-family:var(--font-serif);font-weight:300;font-size:22px;color:var(--color-smoke);letter-spacing:-.006em}.nav .logo .mark{display:inline-block;border:1px solid var(--color-warm-sand);padding:4px 10px;margin-right:10px;font-size:12px;letter-spacing:.2em;text-transform:uppercase;vertical-align:middle}.nav-links{display:flex;gap:28px}.nav-links a{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--color-smoke);text-decoration:none;font-weight:500;position:relative}.nav-links a:after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:1px;background:var(--color-ember);transform:scaleX(0);transform-origin:left;transition:transform .3s ease}.nav-links a:hover:after{transform:scaleX(1)}.nav-cta{display:flex;align-items:center;gap:14px}.nav-cta .phone-pill{display:inline-flex;align-items:center;gap:8px;background:var(--color-ember);color:var(--color-charcoal);padding:8px 14px;border-radius:var(--radius);font-size:12px;font-weight:700;letter-spacing:.05em;text-decoration:none}.hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;text-align:center;background:var(--color-charcoal);overflow:hidden}.hero-bg{position:absolute;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center;filter:brightness(.45) saturate(1.05);transform:scale(1.05)}.hero-scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#2926228c,#292622d9)}.hero-content{position:relative;z-index:2;padding:0 32px;max-width:1400px;width:100%}.hero-flanks{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:32px}.hero-flanks .left{text-align:right;color:var(--color-warm-sand)}.hero-flanks .right{text-align:left;color:var(--color-warm-sand)}.hero h1{font-family:var(--font-serif);font-weight:300;color:var(--color-smoke);font-size:clamp(56px,11vw,140px);line-height:.85;letter-spacing:-.04em;margin:0;white-space:nowrap}.hero h1 em{font-style:italic;color:var(--color-ember)}.hero .sub{margin-top:28px;color:var(--color-warm-sand);font-size:14px;letter-spacing:.18em;text-transform:uppercase}.hero .scroll-cue{position:absolute;bottom:28px;left:50%;transform:translate(-50%);color:var(--color-warm-sand);font-size:11px;letter-spacing:.3em;text-transform:uppercase;display:flex;flex-direction:column;align-items:center;gap:10px;opacity:.7}.scroll-cue .line{display:block;width:1px;height:40px;background:var(--color-warm-sand);animation:pulseLine 2.4s ease-in-out infinite}@keyframes pulseLine{0%{transform:scaleY(.3);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform:scaleY(1);transform-origin:bottom}to{transform:scaleY(.3);transform-origin:bottom}}section{padding:96px 32px}.container{max-width:var(--page-max-width);margin:0 auto}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:56px;flex-wrap:wrap}.section-head h2{font-family:var(--font-serif);font-weight:300;font-size:clamp(40px,6vw,69px);line-height:.9;letter-spacing:-.035em;color:var(--color-charcoal)}.section-head .overline-tag{color:var(--color-bark)}.section-head.dark h2{color:var(--color-smoke)}.section-head.dark .overline-tag{color:var(--color-warm-sand)}.about{background:var(--color-warm-sand);position:relative}.about-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:64px;align-items:center}.about-grid img{border-radius:var(--radius);aspect-ratio:4/5;object-fit:cover;width:100%}.about-text p{font-size:16px;line-height:1.55;color:var(--color-charcoal);margin-bottom:18px;max-width:520px}.about-text .lede{font-family:var(--font-serif);font-weight:300;font-size:26px;line-height:1.2;letter-spacing:-.01em;color:var(--color-charcoal);margin-bottom:24px}.hours-section{background:var(--color-obsidian);color:var(--color-smoke)}.hours-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}.hours-list{display:flex;flex-direction:column;gap:0}.hours-row{display:flex;justify-content:space-between;align-items:baseline;padding:16px 0;border-bottom:1px solid rgba(216,203,184,.18);font-size:14px;letter-spacing:.05em}.hours-row .day{font-family:var(--font-serif);font-weight:300;font-size:22px;text-transform:capitalize;color:var(--color-smoke);letter-spacing:-.01em}.hours-row .time{color:var(--color-warm-sand);font-weight:500;font-size:14px;letter-spacing:.1em}.hours-row.closed .time{color:var(--color-ember);text-transform:uppercase}.hours-aside .quote{font-family:var(--font-serif);font-weight:300;font-size:42px;line-height:1.05;letter-spacing:-.02em;color:var(--color-smoke);margin-bottom:28px}.hours-aside p{color:var(--color-warm-sand);line-height:1.5;max-width:380px}.menu-section{background:var(--color-smoke)}.menu-section .section-head h2{color:var(--color-charcoal)}.menu-cat{border-top:1px solid var(--color-taupe)}.menu-cat:last-child{border-bottom:1px solid var(--color-taupe)}.menu-cat-header{display:flex;justify-content:space-between;align-items:center;padding:24px 0;cursor:pointer;-webkit-user-select:none;user-select:none;background:transparent;border:none;width:100%;text-align:left;font-family:var(--font-serif);font-weight:300;color:var(--color-charcoal);font-size:clamp(30px,4vw,50px);line-height:1;letter-spacing:-.025em;transition:padding .3s ease}.menu-cat-header:hover{padding-left:12px}.menu-cat-header .toggle{font-family:var(--font-sans);font-size:12px;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--color-bark);display:flex;align-items:center;gap:12px}.toggle .icon{display:inline-block;width:18px;height:18px;border:1px solid var(--color-bark);border-radius:50%;position:relative}.toggle .icon:before,.toggle .icon:after{content:"";position:absolute;background:var(--color-bark);left:50%;top:50%}.toggle .icon:before{width:8px;height:1px;transform:translate(-50%,-50%)}.toggle .icon:after{width:1px;height:8px;transform:translate(-50%,-50%);transition:transform .3s ease}.menu-cat.open .toggle .icon:after{transform:translate(-50%,-50%) scaleY(0)}.menu-cat-body{overflow:hidden}.menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 64px;padding:8px 0 32px}.menu-item{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:12px 0;border-bottom:1px dotted rgba(97,91,83,.25)}.menu-item .name{font-size:15px;font-weight:500;color:var(--color-charcoal);letter-spacing:-.005em}.menu-item .desc{display:block;font-size:12px;color:var(--color-stone);font-style:italic;margin-top:4px;letter-spacing:.01em}.menu-item .price{font-family:var(--font-serif);font-weight:700;font-size:22px;color:#e07b0a;white-space:nowrap;letter-spacing:-.01em;text-shadow:0 0 18px rgba(224,123,10,.22)}.gallery-section{background:var(--color-warm-sand)}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.gallery-grid .tile{position:relative;overflow:hidden;border-radius:var(--radius);cursor:pointer;aspect-ratio:1}.gallery-grid .tile.tall{aspect-ratio:1/1.5;grid-row:span 2}.gallery-grid .tile img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}.gallery-grid .tile:hover img{transform:scale(1.06)}.gallery-grid .tile:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,transparent 60%,rgba(41,38,34,.5));opacity:0;transition:opacity .3s ease}.gallery-grid .tile:hover:after{opacity:1}.gallery-more{display:flex;justify-content:center;margin-top:32px}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;background:#292622f2;display:flex;align-items:center;justify-content:center;z-index:100;padding:32px}.lightbox img{max-width:92vw;max-height:88vh;border-radius:var(--radius)}.lightbox .close{position:absolute;top:24px;right:32px;background:transparent;border:1px solid var(--color-warm-sand);color:var(--color-warm-sand);width:42px;height:42px;border-radius:50%;cursor:pointer;font-size:18px}.lightbox .nav-btn{position:absolute;top:50%;transform:translateY(-50%);background:transparent;border:1px solid var(--color-warm-sand);color:var(--color-warm-sand);width:48px;height:48px;border-radius:50%;cursor:pointer}.lightbox .nav-btn.prev{left:32px}.lightbox .nav-btn.next{right:32px}.contact-section{background:var(--color-charcoal);color:var(--color-smoke)}.contact-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:64px;align-items:center}.contact-info .label{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--color-warm-sand);margin-bottom:8px;display:block}.contact-info .value{font-family:var(--font-serif);font-weight:300;font-size:32px;line-height:1.1;letter-spacing:-.02em;color:var(--color-smoke);margin-bottom:32px;display:block;text-decoration:none}.contact-info .value:hover{color:var(--color-ember)}.contact-info .reserve{margin-top:16px;padding:24px;border:1px solid rgba(216,203,184,.25);border-radius:var(--radius)}.contact-info .reserve p{font-size:14px;color:var(--color-warm-sand);line-height:1.5;margin-bottom:16px}.contact-info .reserve .phone-big{display:inline-flex;align-items:center;gap:12px;font-family:var(--font-serif);font-weight:300;font-size:42px;color:var(--color-ember);text-decoration:none;letter-spacing:-.02em}.map-wrap{border-radius:var(--radius);overflow:hidden;height:420px;border:1px solid rgba(216,203,184,.18)}.map-wrap iframe{width:100%;height:100%;border:0;filter:grayscale(.4) contrast(.95)}footer{background:var(--color-obsidian);color:var(--color-warm-sand);padding:48px 32px 32px;text-align:center;border-top:1px solid rgba(216,203,184,.1)}footer .footer-mark{font-family:var(--font-serif);font-weight:300;font-size:42px;letter-spacing:-.02em;margin-bottom:12px;color:var(--color-smoke)}footer .small{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--color-stone);margin-top:24px}.hamburger{display:none;flex-direction:column;justify-content:center;gap:5px;width:36px;height:36px;background:transparent;border:1px solid rgba(216,203,184,.4);border-radius:var(--radius);cursor:pointer;padding:7px;z-index:60}.hamburger span{display:block;width:100%;height:1px;background:var(--color-smoke);transform-origin:center;transition:transform .3s ease,opacity .3s ease}.hamburger.open span:nth-child(1){transform:translateY(6px) rotate(45deg)}.hamburger.open span:nth-child(2){opacity:0}.hamburger.open span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.mobile-menu{position:fixed;top:0;right:0;bottom:0;width:min(320px,85vw);background:var(--color-obsidian);z-index:60;display:flex;align-items:flex-start;padding:100px 40px 48px;border-left:1px solid rgba(216,203,184,.1)}.mobile-menu-links{display:flex;flex-direction:column;gap:8px;width:100%}.mobile-link{font-size:40px;font-weight:300;color:var(--color-smoke);text-decoration:none;letter-spacing:-.03em;line-height:1.1;padding:10px 0;border-bottom:1px solid rgba(216,203,184,.12);transition:color .2s ease,padding-left .2s ease}.mobile-link:hover{color:var(--color-ember);padding-left:8px}.mobile-phone{display:inline-block;margin-top:28px;color:var(--color-ember);font-family:var(--font-serif);font-weight:300;font-size:22px;text-decoration:none;letter-spacing:-.01em}@media (max-width: 900px){section{padding:64px 24px}.nav{padding:14px 20px}.nav-links{display:none}.hamburger{display:flex}.hero-flanks{grid-template-columns:1fr;gap:12px;text-align:center}.hero-flanks .left,.hero-flanks .right{text-align:center}.hero h1{white-space:normal;font-size:clamp(48px,14vw,80px)}.about-grid,.hours-grid,.contact-grid{grid-template-columns:1fr;gap:32px}.menu-grid{grid-template-columns:1fr;gap:0}.gallery-grid{grid-template-columns:repeat(2,1fr)}.gallery-grid .tile.tall{grid-row:span 1;aspect-ratio:1}}
