:root{--black:#141313;--charcoal:#201e1e;--cream:#f4f0e8;--smoke:#bab2aa;--red:#b92c2a;--rose:var(--red);--line:#ffffff18;--display:Georgia,'Times New Roman',serif;--sans:system-ui,-apple-system,'Segoe UI',sans-serif;--mono:Consolas,monospace;--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--black);color:var(--cream);font:15px/1.6 var(--sans)}body:after{content:'';position:fixed;inset:0;pointer-events:none;z-index:20;opacity:.025;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23n)' opacity='.55' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid #eac7ba;outline-offset:4px}button:active,.button:active{transform:scale(.97)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip-link{position:fixed;top:-90px;z-index:40;padding:12px;background:var(--red)}.skip-link:focus{top:8px}.shell{width:min(1320px,calc(100% - 96px));margin:auto}.eyebrow{font-size:10px;font-weight:600;letter-spacing:.19em;text-transform:uppercase;color:#c7b9ab;margin:0 0 24px}h2{font:400 clamp(38px,4.3vw,64px)/1.1 var(--display);letter-spacing:-.045em;margin:0}h2 em{color:#c7b5a3;font-weight:400}p{margin-top:0}.header{position:fixed;z-index:8;inset:0 0 auto;height:80px;padding:0 4%;display:flex;align-items:center;gap:32px;background:#141313c9;backdrop-filter:blur(24px);border-bottom:1px solid var(--line);box-shadow:0 8px 40px #0002}.brand{width:120px;flex-shrink:0;text-decoration:none}.brand img{width:115px;height:42px;object-fit:contain}.brand span{display:block;font-size:7px;text-align:center;letter-spacing:.16em;text-transform:uppercase;margin-top:-8px}.header nav{display:flex;gap:26px;margin-left:32px}.header nav a,.header-phone{font-size:12px;text-decoration:none;color:#e4ded7}.header-actions{display:flex;align-items:center;gap:18px;margin-left:auto}.phone-short{display:none}.reserve-button,.cart-button{border:1px solid #ffffff30;background:transparent;border-radius:6px;padding:11px 16px;font-size:12px;white-space:nowrap}.reserve-button{background:#b92c2a;border-color:#cc4540}.cart-button{display:flex;align-items:center;gap:9px}.cart-button b{background:#ffffff14;border-radius:50%;min-width:22px;height:22px;display:grid;place-items:center;font-size:11px}.hero{position:relative;isolation:isolate;min-height:730px;height:min(820px,96dvh);padding:130px 0 110px;display:flex;align-items:center}.hero-photo,.hero-photo img,.hero-shade{position:absolute;inset:0;width:100%;height:100%}.hero-photo{z-index:-3}.hero-photo img{object-fit:cover;object-position:65% center}.hero-shade{z-index:-2;background:linear-gradient(90deg,#121010eb 0%,#121010a3 40%,#12101015 80%),linear-gradient(0deg,#141313 0%,transparent 32%)}.hero-content{width:min(1320px,calc(100% - 96px));margin:auto;position:relative}.hero-content:before{content:'';position:absolute;z-index:-1;inset:-40px 40% -40px -50px;backdrop-filter:blur(9px);mask-image:linear-gradient(90deg,#000,transparent)}.hero h1{font:400 clamp(54px,6.2vw,94px)/1.08 var(--display);letter-spacing:-.055em;margin:0 0 27px}.hero h1 em{color:#e2d3bd;font-weight:400}.hero-description{color:#dbd2c8;font-size:16px;line-height:1.8}.hero-actions{display:flex;gap:12px;margin-top:32px}.button{display:inline-flex;align-items:center;justify-content:center;gap:26px;min-height:50px;padding:14px 25px;border-radius:6px;border:1px solid #ffffff2a;text-decoration:none;font-size:12px;font-weight:600;transition:transform .2s var(--ease),background .2s}.button-red{background:var(--red);color:#fff;border-color:#ca403b;box-shadow:0 10px 28px #6e151733,inset 0 1px #ffffff15}.button-red:hover,.reserve-button:hover{background:#cd3632}.button-glass{background:#ffffff0b;backdrop-filter:blur(15px)}.button-glass:hover{background:#ffffff18}.hero-caption{position:absolute;bottom:30px;left:4%;right:4%;padding-top:20px;border-top:1px solid #ffffff28;display:flex;justify-content:space-between;color:#c2b7ac;font-size:10px;letter-spacing:.07em}.menu{padding:88px 0 100px;background:radial-gradient(ellipse at 90% 0,#562a2015,transparent 35%),var(--black)}.menu-heading{display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:35px}.menu-heading .eyebrow{margin-bottom:16px}.menu-intro{font-size:13px;color:var(--smoke);margin:0}.menu-toolbar{display:flex;gap:24px;align-items:center;border-block:1px solid var(--line);padding:19px 0;margin-bottom:32px}.menu-search{display:flex;align-items:center;gap:12px;width:360px}.menu-search>span{font-size:28px;color:var(--smoke);line-height:1}.menu-search input{width:100%;border:0;border-radius:4px;background:transparent;color:var(--cream);padding:10px 0;font-size:13px}.menu-search input::placeholder{color:#a99f96}#menu-count{margin:0 0 0 auto;color:#bfb3a8;font-size:12px}.menu-layout{display:grid;grid-template-columns:180px minmax(0,1fr);gap:30px}.menu-sidebar{align-self:start;position:sticky;top:106px;max-height:calc(100dvh - 125px);overflow:auto;scrollbar-width:thin;scrollbar-color:#756052 transparent}.sidebar-title{font:italic 24px var(--display);margin:0 0 17px}.categories{display:flex;flex-direction:column;gap:4px}.category{border:1px solid transparent;border-radius:6px;background:transparent;color:#c0b8af;text-align:left;padding:12px 14px;font-size:12px;line-height:1.4;transition:background .2s}.category:hover{background:#ffffff08}.category.active{background:#b92c2a;color:#fff;border-color:#ca403b}.products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.empty{padding:35px;color:var(--smoke)}.delivery{padding:80px 0;border-top:1px solid var(--line);background:#1a1716}.delivery-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:38px}.delivery h2{font-size:clamp(35px,3.5vw,50px)}.service-panel{border-left:1px solid #ffffff20;padding:8px 0 8px 30px}.service-number{font:italic 24px var(--display);color:#a78170}.service-panel h3{font:400 27px var(--display);margin:30px 0 17px}.service-panel p{color:var(--smoke);font-size:13px;line-height:1.8}.service-panel a{font-size:12px;text-underline-offset:7px}.reservation-section{display:grid;grid-template-columns:1.1fr 1fr;min-height:500px;background:#201918}.reservation-photo{min-height:450px;overflow:hidden}.reservation-photo img{width:100%;height:100%;object-fit:cover;object-position:65% center}.reservation-copy{padding:65px clamp(28px,5vw,80px);align-self:center}.reservation-copy h2{font-size:clamp(33px,3.7vw,55px)}.reservation-copy>p:not(.eyebrow){margin:25px 0;color:var(--smoke);font-size:14px}.visit{padding:90px 0}.visit-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;align-items:center}.visit-info address{font-style:normal;font-size:18px;margin:25px 0}.visit-hours{font-size:12px;color:var(--smoke);line-height:1.9}.visit-hours strong{font-size:17px;color:var(--cream);font-weight:500}.visit-phone{font-size:24px;text-decoration:none}.visit-links{display:flex;gap:22px;margin-top:24px;font-size:11px;text-underline-offset:5px}.map-frame{position:relative;height:450px;border:1px solid #ffffff20;border-radius:14px;overflow:hidden;box-shadow:0 25px 70px #0003;background:#252323}.map-frame iframe{width:100%;height:100%;border:0;filter:grayscale(.85);display:block}.map-caption{position:absolute;bottom:14px;left:14px;right:14px;display:flex;justify-content:space-between;padding:17px 20px;background:#171515e8;backdrop-filter:blur(14px);border:1px solid #ffffff25;border-radius:7px;pointer-events:none;font-size:12px}.map-caption span:first-child{font:italic 24px var(--display)}footer{border-top:1px solid var(--line);padding:30px 4%;display:flex;align-items:center;justify-content:space-between;color:#aea399;font-size:11px}footer a{text-decoration:none}.footer-brand{font:italic 32px var(--display);color:var(--cream)}.cart{position:fixed;z-index:12;inset:0 0 0 auto;width:min(430px,100%);height:100dvh;padding:28px;display:flex;flex-direction:column;background:#201b1bf5;border-left:1px solid #ffffff20;backdrop-filter:blur(25px);box-shadow:-20px 0 70px #0005;transform:translateX(105%);transition:transform .3s var(--ease)}.cart.open{transform:none}.cart-head{display:flex;justify-content:space-between;align-items:start;border-bottom:1px solid var(--line);padding-bottom:24px}.cart-head h2{font-size:42px}.cart-head .eyebrow{margin-bottom:10px}.cart-head button{border:0;background:transparent;font-size:30px;min-width:44px;min-height:44px}.cart-lines{flex:1;overflow:auto}.cart-line{display:flex;justify-content:space-between;gap:15px;padding:22px 0;border-bottom:1px solid var(--line)}.cart-line h3{font-size:14px;line-height:1.4;font-weight:500;margin:0 0 9px}.cart-line p{font-size:11px;color:var(--smoke);margin:0}.stepper{display:flex;align-items:center;gap:8px}.stepper button{width:32px;height:40px;border:1px solid var(--line);background:#ffffff05;border-radius:5px}.cart-empty{color:var(--smoke);padding-top:30px;font-size:14px}.cart-footer{padding-top:20px;border-top:1px solid var(--line)}.cart-footer>div{display:flex;justify-content:space-between;margin-bottom:20px}.cart-footer strong{font-size:25px}.cart-footer button{width:100%;min-height:50px;border:0;border-radius:6px;background:var(--red);color:#fff;font-size:13px}.cart-footer button:disabled{background:#383232;color:#a79a93}.backdrop{position:fixed;inset:0;z-index:11;background:#080707b3;backdrop-filter:blur(5px);opacity:0;pointer-events:none;transition:opacity .2s}.backdrop.open{opacity:1;pointer-events:auto}.reservation-dialog{width:min(520px,calc(100% - 32px));padding:48px 36px;background:#211b1bf5;color:var(--cream);border:1px solid #ffffff28;border-radius:16px;box-shadow:0 30px 90px #0009}.reservation-dialog::backdrop{background:#0c0809bb;backdrop-filter:blur(12px)}.reservation-dialog h2{font-size:46px}.reservation-dialog>p:not(.eyebrow){color:var(--smoke);font-size:14px;margin:25px 0}.reservation-note{display:block;color:var(--smoke);font-size:11px;margin-top:20px}.dialog-close{position:absolute;right:12px;top:12px;border:1px solid var(--line);background:#ffffff06;border-radius:50%;width:40px;height:40px;font-size:25px}.cart-notice{position:fixed;bottom:24px;left:50%;transform:translate(-50%,20px);opacity:0;pointer-events:none;z-index:30;background:#312624f5;border:1px solid #ffffff30;border-radius:8px;padding:12px 20px;font-size:13px;transition:opacity .2s,transform .2s}.cart-notice.visible{opacity:1;transform:translate(-50%,0)}
@media(min-width:1550px){.products{grid-template-columns:repeat(4,minmax(0,1fr))}.shell,.hero-content{width:min(1450px,calc(100% - 100px))}}
@media(max-width:1100px){.header{gap:18px}.header nav{margin-left:0;gap:16px}.header-phone .phone-full{display:none}.phone-short{display:inline}.header-actions{gap:10px}.menu-layout{grid-template-columns:145px minmax(0,1fr);gap:20px}.products{gap:16px}.shell{width:calc(100% - 48px)}.delivery-grid{gap:24px}.visit-grid{gap:30px}}
@media(max-width:850px){.header nav{display:none}.menu-layout{display:block}.menu-sidebar{position:static;max-height:none;overflow:visible}.sidebar-title{display:none}.categories{flex-direction:row;overflow:auto;padding:0 0 18px;margin-bottom:8px;scrollbar-width:thin}.category{flex:0 0 auto;white-space:nowrap}.products{grid-template-columns:repeat(3,minmax(0,1fr))}.menu-heading{display:block}.menu-intro{margin-top:18px}.delivery-grid{grid-template-columns:1fr 1fr}.delivery-lead{grid-column:1/-1}.reservation-section{grid-template-columns:1fr 1fr}.reservation-copy{padding:35px 25px}.visit-grid{grid-template-columns:1fr 1.2fr}.visit h2{font-size:38px}.visit-phone{font-size:19px}.visit-links{flex-wrap:wrap}.map-frame{height:390px}}
@media(max-width:600px){html{scroll-padding-top:92px}.header{height:72px;padding:0 14px;gap:8px}.brand{width:76px}.brand img{width:76px;height:34px}.brand span{font-size:5px;margin-top:-5px}.header-actions{gap:7px}.header-phone{font-size:10px}.reserve-button,.cart-button{font-size:10px;padding:9px 8px;min-height:40px}.reserve-button span{display:none}.cart-button{gap:5px}.cart-button b{min-width:17px;height:17px;font-size:9px}.hero{height:auto;min-height:660px;padding:140px 0 115px}.hero-content{width:calc(100% - 40px)}.hero h1{font-size:clamp(44px,10.5vw,64px)}.hero-photo img{object-position:65% center}.hero-shade{background:linear-gradient(90deg,#141010e0,#14101050),linear-gradient(0deg,#141313,transparent 65%)}.hero-description{font-size:14px}.hero-actions{gap:8px;flex-wrap:wrap}.button{padding:13px 17px;font-size:11px;gap:15px}.hero-caption{left:20px;right:20px;flex-wrap:wrap;gap:8px;font-size:9px}.hero-caption span:last-child{width:100%}.eyebrow{font-size:9px}.shell{width:calc(100% - 32px)}.menu{padding:55px 0 65px}.menu h2{font-size:40px;max-width:290px}.menu-heading{margin-bottom:22px}.menu-intro{font-size:12px}.menu-toolbar{gap:10px;margin-bottom:20px;padding:10px 0}.menu-search{width:auto;flex:1;min-width:0}.menu-search input{font-size:12px}#menu-count{font-size:10px;white-space:nowrap}.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.category{padding:10px 12px;font-size:11px}.delivery{padding:50px 0}.delivery-grid{grid-template-columns:1fr;gap:28px}.service-panel{padding:0 0 0 20px}.service-panel h3{margin:14px 0}.reservation-section{grid-template-columns:1fr}.reservation-photo{height:270px;min-height:0}.reservation-copy{padding:40px 24px}.reservation-copy h2{font-size:39px}.visit{padding:55px 0}.visit-grid{grid-template-columns:1fr;gap:32px}.map-frame{height:340px}.visit h2{font-size:46px}.visit-phone{font-size:25px}footer{gap:15px;flex-wrap:wrap;padding:25px 20px}footer>span{font-size:9px}footer>a:last-child{width:100%}.reservation-dialog{padding:42px 25px}.reservation-dialog h2{font-size:39px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
@media(prefers-reduced-transparency:reduce){.header,.cart,.reservation-dialog{background:#211b1b;backdrop-filter:none}}
