:root{--paper:#fbf7ef;--paper-deep:#f1e6d8;--ink:#2f221b;--muted:#75685f;--line:#442b1f29;--copper:#ad4f31;--green:#244437;--serif:Georgia, "Times New Roman", ui-serif, serif;--sans:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;color:var(--ink);background:var(--paper);font-family:var(--sans);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:linear-gradient(180deg, #ffffff7a, transparent 280px), var(--paper);min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}img{max-width:100%}.site-header{z-index:20;min-height:74px;color:var(--ink);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fbf7efe0;border-bottom:1px solid #442b1f1f;grid-template-columns:minmax(140px,1fr) auto minmax(140px,1fr);align-items:center;padding:0 48px;display:grid;position:fixed;inset:0 0 auto}.brand{width:max-content;color:var(--copper);text-transform:uppercase;letter-spacing:8px;gap:2px;line-height:1;text-decoration:none;display:inline-grid}.brand span{color:var(--copper);font-family:var(--sans);font-size:18px;font-weight:800}.brand small{color:var(--copper);letter-spacing:4px;justify-self:center;font-size:9px;font-weight:800}.site-header nav{justify-content:center;align-items:center;gap:42px;display:flex}.site-header nav a,.nav-cta,.footer-links a,.footer-links button{color:inherit;font:800 13px/1 var(--sans);text-decoration:none}.site-header nav a{padding:28px 0;position:relative}.site-header nav a:after{background:var(--copper);content:"";transform-origin:50%;height:1px;transition:transform .18s;position:absolute;bottom:22px;left:0;right:0;transform:scaleX(0)}.site-header nav a:hover:after{transform:scaleX(1)}.nav-cta{color:#fff;background:var(--copper);border:1px solid var(--copper);justify-content:center;justify-self:end;align-items:center;min-height:42px;padding:0 22px;transition:background .18s,transform .18s;display:inline-flex}.nav-cta:hover{background:#8f3d27;transform:translateY(-1px)}.hero-section{color:#fffaf0;min-height:720px;display:grid;position:relative;overflow:hidden}.hero-media,.hero-media picture,.hero-media img{position:absolute;inset:0}.hero-media img{object-fit:cover;width:100%;height:100%}.hero-media:after{z-index:1;pointer-events:none;content:"";background:linear-gradient(90deg,#0d0907c7 0%,#0d09077a 34%,#0d09070a 66%,#0d090700 100%),linear-gradient(#0000 66%,#0d090761);position:absolute;inset:0}.hero-content{z-index:2;align-content:center;width:min(690px,100% - 48px);min-height:720px;margin-left:max(48px,50vw - 620px);padding-top:74px;display:grid;position:relative}.hero-content h1{color:#fffaf0;max-width:630px;font-family:var(--serif);margin:0;font-size:72px;font-weight:500;line-height:.96}.hero-content p{color:#fffaf0db;max-width:420px;margin:26px 0 0;font-size:18px;line-height:1.6}.hero-actions{flex-wrap:wrap;gap:16px;margin-top:42px;display:flex}.button{cursor:pointer;min-height:54px;font:900 14px/1 var(--sans);border:1px solid;border-radius:0;justify-content:center;align-items:center;padding:0 28px;text-decoration:none;transition:background .18s,color .18s,border-color .18s,transform .18s;display:inline-flex}.button.primary{color:#fff;background:var(--copper);border-color:var(--copper)}.button.primary:hover{background:#8f3d27;border-color:#8f3d27;transform:translateY(-1px)}.button.secondary{color:#fffaf0;background:#fffaf00a;border-color:#fffaf0bd}.button.secondary:hover{color:var(--ink);background:#fffaf0}.scroll-cue{z-index:2;color:#fffaf0e6;width:max-content;font:800 13px/1 var(--sans);justify-items:center;gap:8px;margin:0 auto;text-decoration:none;display:grid;position:absolute;bottom:42px;left:0;right:0}.scroll-cue span{border:1px solid #fffaf08c;border-radius:999px;place-items:center;width:28px;height:28px;display:grid}.info-strip{border-bottom:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));gap:0;max-width:1240px;margin:0 auto;padding:36px 48px;display:grid}.info-strip div{border-right:1px solid var(--line);grid-template-columns:38px minmax(0,1fr);gap:6px 18px;padding:0 28px;display:grid}.info-strip div:first-child{padding-left:0}.info-strip div:last-child{border-right:0;padding-right:0}.info-strip span{width:34px;height:34px;color:var(--copper);border:1px solid #ac4f3157;border-radius:999px;grid-row:span 2;place-items:center;display:grid}.info-strip strong{color:var(--copper);letter-spacing:1.5px;text-transform:uppercase;font-size:11px;font-weight:900}.info-strip p,.story-copy p,.reservation-copy p,.faq-list p,.site-footer p{color:var(--muted);margin:0;font-size:15px;line-height:1.65}.section-shell{width:min(1240px,100% - 48px);margin:0 auto;padding:92px 0}.section-heading{gap:18px;display:grid}.section-heading.centered{text-align:center;justify-items:center}.section-heading p{color:var(--copper);letter-spacing:2px;text-transform:uppercase;margin:0;font-size:12px;font-weight:900}.section-heading p:after{background:var(--copper);content:"";width:34px;height:1px;margin-top:14px;display:block}.section-heading.centered p:after{margin-left:auto;margin-right:auto}.section-heading h2{max-width:560px;color:var(--ink);font-family:var(--serif);margin:0;font-size:44px;font-weight:500;line-height:1.08}.menu-layout{grid-template-columns:minmax(0,.95fr) minmax(380px,1.05fr);align-items:start;gap:42px;margin-top:48px;display:grid}.menu-photo,.story-photo{background:#e7d8c7;display:block;overflow:hidden}.menu-photo{aspect-ratio:4/3}.story-photo{aspect-ratio:3/2}.menu-photo img,.story-photo img{object-fit:cover;width:100%;height:100%;transition:transform .7s;display:block}.menu-photo:hover img,.story-photo:hover img{transform:scale(1.035)}.menu-panel{gap:28px;display:grid}.filter-row{flex-wrap:wrap;gap:8px;display:flex}.filter-row button{min-height:40px;color:var(--ink);border:1px solid var(--line);cursor:pointer;font:900 13px/1 var(--sans);background:0 0;padding:0 15px;transition:background .16s,border-color .16s,color .16s}.filter-row button:hover,.filter-row button.is-active{color:#fff;background:var(--green);border-color:var(--green)}.menu-list{gap:12px;display:grid}.menu-item{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;gap:22px;padding:22px 0;display:grid}.menu-item span{color:var(--copper);letter-spacing:1.6px;text-transform:uppercase;font-size:11px;font-weight:900}.menu-item h3{color:var(--ink);font-family:var(--serif);margin:5px 0 8px;font-size:28px;font-weight:500;line-height:1.1}.menu-item p{max-width:480px;color:var(--muted);margin:0;font-size:15px;line-height:1.55}.menu-item strong{color:var(--copper);font-size:16px}.story-section{grid-template-columns:minmax(320px,.72fr) minmax(0,1fr);align-items:center;gap:54px;width:min(1240px,100% - 48px);margin:0 auto;padding:72px 0 96px;display:grid}.story-copy{gap:24px;display:grid}.text-link{width:max-content;color:var(--copper);align-items:center;font-weight:900;text-decoration:none;display:inline-flex}.text-link:after{content:"→";margin-left:12px;transition:transform .16s}.text-link:hover:after{transform:translate(4px)}.reservation-section{border-top:1px solid var(--line);grid-template-columns:minmax(320px,.8fr) minmax(420px,1fr);gap:64px;width:min(1240px,100% - 48px);margin:0 auto;padding:96px 0;display:grid}.reservation-copy{align-content:start;gap:26px;display:grid}.contact-grid{gap:12px;margin-top:16px;display:grid}.contact-grid a,.contact-grid span{color:var(--ink);font-weight:800;text-decoration:none}.reservation-form{border:1px solid var(--line);background:#fffaf2;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:28px;display:grid;box-shadow:0 24px 70px #442b1f14}.reservation-form label{color:var(--muted);letter-spacing:.4px;gap:7px;font-size:12px;font-weight:900;display:grid}.reservation-form input,.reservation-form select,.reservation-form textarea{width:100%;min-height:46px;color:var(--ink);background:var(--paper);font:500 15px/1.3 var(--sans);border:1px solid #442b1f2e;border-radius:0;padding:0 13px}.reservation-form textarea{resize:vertical;min-height:108px;padding-top:12px}.wide-field{grid-column:1/-1}.form-status{grid-column:1/-1;padding:13px 14px;font-weight:800}.form-status.success{color:#194f36;background:#e7f3ea}.form-status.error{color:#8f3d27;background:#f8e7dd}.faq-section{border-top:1px solid var(--line)}.faq-list{border-top:1px solid var(--line);max-width:820px;margin:42px auto 0;display:grid}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{min-height:72px;color:var(--ink);cursor:pointer;font:900 17px/1.35 var(--sans);justify-content:space-between;align-items:center;display:flex}.faq-list summary:after{color:var(--copper);content:"+";font-size:24px;font-weight:500}.faq-list details[open] summary:after{content:"−"}.faq-list details p{padding:0 48px 24px 0}.site-footer{border-top:1px solid var(--line);grid-template-columns:minmax(240px,1.2fr) repeat(2,minmax(150px,.5fr));gap:40px;width:min(1240px,100% - 48px);margin:0 auto;padding:54px 0 64px;display:grid}.footer-brand{margin-bottom:18px}.footer-links{align-content:start;gap:14px;display:grid}.footer-links button{color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.modal-backdrop{z-index:50;background:#130c098a;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.legal-modal{background:var(--paper);gap:18px;width:min(560px,100%);padding:36px;display:grid;position:relative;box-shadow:0 30px 90px #0d090752}.legal-modal h2{color:var(--ink);font-family:var(--serif);margin:0;font-size:36px;font-weight:500}.legal-modal p{color:var(--muted);margin:0;line-height:1.65}.modal-close{width:36px;height:36px;color:var(--ink);border:1px solid var(--line);cursor:pointer;background:0 0;place-items:center;font-size:24px;display:grid;position:absolute;top:12px;right:12px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--copper);outline-offset:3px}@media (width<=1040px){.site-header{grid-template-columns:1fr;justify-items:center;gap:14px;padding:16px 20px}.site-header nav{flex-wrap:wrap;gap:22px}.site-header nav a{padding:0}.site-header nav a:after,.nav-cta{display:none}.hero-section,.hero-content{min-height:680px}.hero-content{width:min(560px,100% - 40px);margin:0 auto;padding-top:126px}.hero-content h1{font-size:52px}.info-strip,.menu-layout,.story-section,.reservation-section,.site-footer{grid-template-columns:1fr}.info-strip{gap:18px;padding:28px 24px}.info-strip div{border-right:0;padding:0}.reservation-section,.story-section,.section-shell,.site-footer{width:min(100% - 32px,760px)}.menu-layout,.story-section,.reservation-section{gap:34px}}@media (width<=640px){.site-header nav{gap:14px}.brand{letter-spacing:6px}.hero-section,.hero-content{min-height:640px}.hero-content{padding-top:142px}.hero-content h1{font-size:40px;line-height:1.02}.hero-content p{font-size:16px}.hero-actions,.filter-row{flex-direction:column;align-items:stretch}.button,.filter-row button{width:100%}.scroll-cue{display:none}.section-shell,.story-section,.reservation-section{padding-top:64px;padding-bottom:64px}.section-heading h2{font-size:34px}.menu-item{grid-template-columns:1fr;gap:12px}.reservation-form{grid-template-columns:1fr;padding:18px}.wide-field{grid-column:auto}.faq-list summary{min-height:64px}.faq-list details p{padding-right:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}
