@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,600;0,700;1,600&display=swap');
:root{--bg:#171715;--panel:#23231f;--cream:#f7f3e9;--muted:#bdbbb3;--orange:#ff952f;--wine:#6e2337;--line:#ffffff20}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--cream);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button{font:inherit}img{max-width:100%;display:block}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--orange);outline-offset:5px}.skip{position:fixed;top:-100px;background:var(--orange);color:#171715;padding:10px;z-index:99}.skip:focus{top:0}header{height:104px;display:flex;align-items:center;justify-content:space-between;max-width:1440px;margin:auto;padding:0 5%;border-bottom:1px solid var(--line)}.brand{font-family:'Playfair Display',Georgia,serif;font-style:italic;font-size:32px;line-height:1.1;white-space:nowrap;color:var(--orange)}.brand span{display:block;font-family:'DM Sans',Arial,sans-serif;font-style:normal;font-size:10px;letter-spacing:.35em;color:var(--cream);margin:7px 0 0 4px}nav{display:flex;gap:34px;font-size:14px}nav a:hover{color:var(--orange)}.nav-call{font-size:14px;border-left:1px solid var(--line);padding-left:30px}.nav-call span{display:block;color:var(--orange);font-weight:700}.hero{position:relative;max-width:1440px;margin:auto;padding:64px 5% 72px;display:grid;grid-template-columns:1.15fr 1fr;gap:6%;align-items:center;min-height:720px}.eyebrow{font-size:12px;letter-spacing:.14em;font-weight:700;color:var(--orange)}.hero .eyebrow{display:flex;align-items:center;gap:10px}.eyebrow>span{width:22px;height:1px;background:var(--orange)}h1,h2{font-family:'Playfair Display',Georgia,serif;font-weight:600;line-height:1.08;letter-spacing:-.045em}h1{font-size:clamp(45px,5.2vw,78px);margin:28px 0}em{color:var(--orange);font-weight:600}p{color:var(--muted)}.hero-copy>p{max-width:480px;font-size:18px}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.button{padding:15px 23px;border-radius:7px;font-weight:700;font-size:14px;display:inline-flex;align-items:center;justify-content:center;min-height:50px;transition:transform .2s,background .2s}.button:hover{transform:translateY(-3px)}.primary{background:var(--orange);color:#171715}.primary:hover{background:#ffae59}.outline{border:1px solid #ffffff48;background:transparent}.outline:hover{background:#ffffff0a}.hero-rating{margin-top:34px;display:flex;align-items:center;gap:12px;font-size:14px}.hero-rating>span:last-child{color:var(--muted)}.stars{color:var(--orange);letter-spacing:3px;font-size:22px}.partial{opacity:.55}.hero-bottom{border-top:1px solid var(--line);margin-top:30px;padding-top:20px;display:flex;flex-wrap:wrap;gap:12px 24px;font-size:12px;color:var(--muted)}.hero-visual{position:relative;animation:entrance .9s ease both}.hero-visual img{width:100%;height:535px;object-fit:cover;border-radius:18px}.visual-label{position:absolute;bottom:20px;left:-25px;background:var(--wine);padding:18px 24px;border-radius:9px;box-shadow:0 10px 30px #0005}.visual-label span{display:block;font-size:10px;letter-spacing:.12em}.visual-label strong{font-size:19px}.scroll-cue{position:absolute;bottom:20px;left:5%;font-size:10px;letter-spacing:.13em;color:var(--muted);display:flex;gap:20px;align-items:center}.scroll-cue span{font-size:22px}.ticker{overflow:hidden;background:var(--orange);color:#171715;padding:15px 0;white-space:nowrap;font-weight:700;font-size:20px;letter-spacing:.12em}.ticker div{width:max-content;animation:marquee 35s linear infinite}.ticker span{padding:0 28px}.section{max-width:1440px;margin:auto;padding:100px 5%}.section-top{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:40px}h2{font-size:clamp(36px,4vw,56px);margin:17px 0 0}.section-top>p{max-width:330px;margin:0 0 5px}.gallery{display:grid;grid-template-columns:1.05fr 1fr;grid-template-rows:255px 255px;gap:20px}.photo{padding:0;border:0;background:var(--panel);position:relative;overflow:hidden;border-radius:12px;cursor:zoom-in;text-align:left;color:white}.photo.tall{grid-row:span 2}.photo img{width:100%;height:100%;object-fit:cover;transition:transform .7s}.photo:hover img{transform:scale(1.04)}.photo>span{position:absolute;inset:auto 0 0;padding:55px 25px 22px;background:linear-gradient(transparent,#000c);font-size:21px;font-weight:700}.photo small{display:block;letter-spacing:.14em;font-size:10px;font-weight:500;color:#eee}.photo b{float:right;border:1px solid #ffffff70;width:32px;height:32px;border-radius:50%;text-align:center;line-height:30px;font-size:20px}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:40px;padding:30px 0;border-bottom:1px solid var(--line)}.services article{position:relative;padding-left:58px}.service-icon{position:absolute;left:0;top:2px;font-size:34px;color:var(--orange)}h3{font-size:19px;margin:0}.services p{font-size:14px;margin:7px 0 0}.reviews{background:var(--wine);max-width:none;display:grid;grid-template-columns:1fr 1fr;gap:12%;padding-left:max(5%,calc((100vw - 1296px)/2));padding-right:max(5%,calc((100vw - 1296px)/2))}.reviews p{color:#e6cad1}.review-intro{align-self:center}.review-intro .button{margin-top:20px}.review-panel{background:#171715;border:1px solid #ffffff25;border-radius:16px;padding:36px}.google-word{font-size:16px}.google-word i{font-style:normal;color:#4285f4;font-weight:700;font-size:24px;margin-right:7px}.rating-number{font-size:82px;line-height:1.2;letter-spacing:-.07em;font-weight:600;margin-top:16px}.rating-number span{font-size:24px;color:var(--muted);margin-left:15px;letter-spacing:0}.review-panel p{color:var(--muted);margin:6px 0 25px}.review-links a{display:flex;justify-content:space-between;padding:14px 0;border-top:1px solid var(--line);font-size:14px}.review-links a:hover{color:var(--orange)}.review-links span{color:var(--orange)}.review-panel small{font-size:12px;color:#aaa;display:block;margin-top:20px}.review-panel small a{text-decoration:underline}.visit-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:30px}.address-panel,.hours-panel{padding:38px;background:var(--panel);border-radius:12px}.address-panel{background:linear-gradient(140deg,#30302a,#23231f);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.address-panel h3{font-family:'Playfair Display',Georgia,serif;font-size:31px;line-height:1.35;margin:25px 0}.big-phone{font-size:23px;color:var(--orange)}.budget{border-top:1px solid var(--line);padding-top:24px;margin:25px 0 0;font-size:14px}.budget strong{display:block;color:var(--cream);font-size:18px}.hours-panel h3{margin-bottom:20px}table{width:100%;border-collapse:collapse;font-size:14px}th,td{padding:10px 0;border-bottom:1px solid var(--line)}th{text-align:left;font-weight:500}td{text-align:right;color:var(--muted)}.hours-note{font-size:12px;line-height:1.5}.hours-panel details{font-size:12px;color:var(--muted)}summary{cursor:pointer}details img{margin-top:12px;width:280px;border-radius:4px}.closing{text-align:center;padding:60px 5% 90px}.closing>span{font-size:11px;letter-spacing:.15em;color:var(--muted)}.closing h2{margin:20px 0 30px}footer{border-top:1px solid var(--line);padding:35px 5%;display:flex;gap:25px;align-items:center;justify-content:space-between;font-size:12px;color:var(--muted)}footer .brand{font-size:27px}footer .brand span{font-size:9px}.mobile-bar{display:none}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}dialog{border:0;background:#171715;color:white;padding:20px;border-radius:12px;max-width:90vw;max-height:94dvh}dialog::backdrop{background:#000d}dialog img{max-height:78dvh;max-width:80vw;object-fit:contain;margin:auto}dialog p{text-align:center;margin:10px 0 0}.close{position:absolute;top:8px;right:8px;width:42px;height:42px;border:0;border-radius:50%;background:var(--orange);font-size:28px;cursor:pointer}.reveal{transition:opacity .7s,transform .7s}.js .reveal:not(.visible){opacity:0;transform:translateY(24px)}@keyframes marquee{to{transform:translateX(-50%)}}@keyframes entrance{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
@media(min-width:1440px){.hero{min-height:800px}.hero-visual img{height:600px}}@media(max-width:950px){nav{gap:18px}.hero{gap:4%;min-height:auto}.hero-visual img{height:480px}h1{font-size:50px}.services{gap:20px}.services article{padding-left:44px}.reviews{gap:6%}.address-panel,.hours-panel{padding:25px}footer{flex-wrap:wrap}.hero-bottom{font-size:12px}.hero .eyebrow{font-size:10px}}@media(max-width:640px){html{scroll-padding-top:20px}header{height:85px;padding:0 6%}header .brand{font-size:27px}nav{display:none}.nav-call{border:0;padding:0;font-size:12px}.nav-call span{font-size:14px}.hero{display:flex;flex-direction:column;padding:35px 6% 50px;align-items:stretch}.hero-copy{padding-bottom:25px}h1{font-size:46px;margin:20px 0}.hero-copy>p{font-size:16px}.actions{gap:10px;margin-top:22px}.button{font-size:13px;padding:14px 18px}.hero-rating{margin-top:25px;gap:10px}.hero-bottom{margin-top:22px}.hero-visual{margin-top:14px}.hero-visual img{height:auto;max-height:520px;object-fit:cover;border-radius:12px}.visual-label{left:12px;bottom:12px;padding:12px 16px}.visual-label strong{font-size:16px}.scroll-cue{display:none}.ticker{font-size:16px;padding:12px 0}.section{padding:60px 6%}.section-top{display:block;margin-bottom:26px}.section-top>p{margin-top:20px;max-width:100%}h2{font-size:37px}.gallery{grid-template-columns:1fr;grid-template-rows:390px 290px 290px;gap:16px}.photo.tall{grid-row:auto}.services{grid-template-columns:1fr;gap:24px;padding:20px 0 30px;margin-top:26px}.services article{padding-left:52px}.reviews{display:block;padding:55px 6%}.review-panel{margin-top:35px;padding:26px}.rating-number{font-size:70px}.visit-grid{grid-template-columns:1fr;gap:18px}.address-panel,.hours-panel{padding:26px}.address-panel h3{font-size:26px}.closing{padding:30px 6% 60px}.closing h2{font-size:37px}footer{padding:30px 6% 105px;display:block}footer>*{display:block;margin-bottom:15px}.mobile-bar{position:fixed;bottom:0;left:0;right:0;z-index:10;background:#171715f5;padding:10px 6% calc(10px + env(safe-area-inset-bottom));display:flex;gap:10px;border-top:1px solid var(--line);backdrop-filter:blur(12px)}.mobile-bar a{width:50%;text-align:center;padding:12px;background:var(--orange);color:#171715;font-size:14px;font-weight:700;border-radius:7px}.mobile-bar a:last-child{background:var(--wine);color:white}.photo>span{font-size:20px}dialog{padding:12px}dialog img{max-width:82vw}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.js .reveal:not(.visible){opacity:1;transform:none}}

/* Restaurant menu */
.menu-entry{display:inline-block;color:var(--orange);margin-top:20px;font-size:14px;font-weight:600;text-decoration:underline;text-underline-offset:5px}.menu-entry:hover{color:#ffbd7a}.menu-section{padding-bottom:60px}.menu-toolbar{margin-bottom:36px}.menu-filters{display:flex;flex-wrap:wrap;gap:10px}.menu-filters button{border:1px solid #ffffff30;background:#23231f;color:var(--cream);border-radius:100px;padding:11px 19px;font-size:14px;line-height:1.4;cursor:pointer;transition:background .2s,color .2s,transform .2s}.menu-filters button[aria-pressed="true"]{background:var(--orange);border-color:var(--orange);color:#171715;font-weight:700}.menu-filters button:hover{transform:translateY(-2px);border-color:var(--orange)}.menu-panel{margin-bottom:35px}.menu-panel[hidden]{display:none}.category-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:0 0 18px;padding-bottom:12px;border-bottom:1px solid var(--line)}.category-heading h3{font-family:'Playfair Display',Georgia,serif;font-size:29px;font-weight:600}.category-heading>span{font-size:10px;letter-spacing:.13em;color:var(--muted)}.menu-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.menu-card{position:relative;background:var(--panel);border:1px solid #ffffff15;border-radius:12px;padding:26px;transition:border-color .25s}.menu-card:hover{border-color:#ff952f60}.menu-card h3{font-size:19px;margin-bottom:16px;padding-right:12px}.menu-badge{display:inline-block;color:var(--orange);font-size:11px;font-weight:700;letter-spacing:.08em;margin-bottom:12px}.dish-list{margin:0}.dish-list>div{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:11px 0;border-bottom:1px dashed #ffffff20}.dish-list>div:last-child{border-bottom:0}.dish-list dt{font-size:15px;overflow-wrap:anywhere}.dish-list dd{margin:0;font-size:15px;font-weight:700;color:var(--orange);white-space:nowrap;font-variant-numeric:tabular-nums}.menu-card-note{font-size:14px;line-height:1.55;margin:17px 0 0}.menu-wide{grid-column:auto}.menu-wide>p{font-size:15px;margin:0 0 20px}.formula-chip{display:inline-block;border:1px solid #ff952f60;background:#ff952f12;color:var(--orange);padding:8px 12px;border-radius:6px;font-size:14px;font-weight:700}.flavor-list{display:flex;flex-wrap:wrap;gap:8px}.flavor-list span{border:1px solid #ffffff20;border-radius:6px;padding:6px 10px;font-size:14px;color:var(--muted)}.menu-footnote{padding:25px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:30px}.menu-footnote p{font-size:13px;max-width:650px;margin:0}.menu-footnote .button{flex-shrink:0}#carte{scroll-margin-top:20px}
@media(max-width:1050px){.menu-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.menu-wide{grid-column:span 2}.menu-card{padding:23px}}
@media(max-width:640px){.menu-section{padding-top:55px;padding-bottom:20px}.menu-filters{flex-wrap:nowrap;overflow-x:auto;padding-bottom:12px;margin-right:-6vw;scrollbar-width:thin;scrollbar-color:#ff952f50 transparent;overscroll-behavior-x:contain}.menu-filters button{flex-shrink:0;font-size:14px;padding:11px 17px}.menu-toolbar{margin-bottom:20px}.menu-cards{grid-template-columns:1fr;gap:12px}.menu-wide{grid-column:auto}.category-heading h3{font-size:26px}.category-heading>span{display:none}.menu-card{padding:23px}.dish-list dt,.dish-list dd{font-size:15px}.menu-footnote{display:block;padding:22px 0}.menu-footnote .button{margin-top:18px}.menu-panel{margin-bottom:28px}.menu-entry{font-size:14px}}
@media(max-width:380px){.dish-list>div{gap:8px}.dish-list dd{font-size:14px}.menu-card{padding:20px}}
