@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;1,400&display=swap');:root{--bg:#1c1713;--bg2:#251e19;--cream:#f2e5d3;--muted:#c1b3a4;--gold:#c2a27e;--line:#514338}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--cream);font:15px/1.65 'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.nav{position:sticky;top:0;z-index:20;background:#1c1713ed;backdrop-filter:blur(14px);border-bottom:1px solid #ffffff18;display:flex;align-items:center;justify-content:space-between;padding:17px clamp(20px,6vw,100px);gap:18px}.brand{font:500 33px/1 'Playfair Display',serif;letter-spacing:5px;display:flex;flex-direction:column;gap:8px}.brand small{font:500 8px/1 'DM Sans',sans-serif;letter-spacing:2.4px}.nav nav{display:flex;gap:clamp(13px,3vw,38px);font-size:13px}.nav nav a:hover,.maplink:hover{color:var(--gold)}.langs{display:flex;gap:8px;align-items:center}.langs button{border:0;background:none;color:var(--muted);padding:6px}.langs button.active{color:var(--cream);font-weight:700}.hero{min-height:590px;display:grid;grid-template-columns:1.2fr .8fr;align-items:center;position:relative;overflow:hidden;padding:75px clamp(22px,9vw,150px);background:radial-gradient(ellipse at 80% 45%,#503829 0%,#281e18 34%,#1c1713 75%)}.hero-inner{position:relative;z-index:2;max-width:720px}.eyebrow{font-size:11px;letter-spacing:3px;color:var(--gold);font-weight:700;text-transform:uppercase}h1,h2,h3{font-family:'Playfair Display',serif;font-weight:400}h1{font-size:clamp(52px,7vw,104px);line-height:1.07;letter-spacing:-2px;margin:23px 0}h1 i,h2 i{color:var(--gold);font-weight:400}.hero-inner>p:not(.eyebrow){color:var(--muted);max-width:420px;font-size:17px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:33px}.btn{display:inline-block;padding:14px 24px;border:1px solid var(--gold);font-size:13px;font-weight:700;letter-spacing:.4px;text-align:center}.btn.primary{background:var(--cream);color:var(--bg);border-color:var(--cream)}.btn.ghost{background:transparent;color:var(--cream)}.btn:hover{opacity:.85}.hero-decoration{display:grid;place-items:center;position:relative;min-height:350px}.hero-decoration>span{position:absolute;font-size:320px;color:#ffffff06}.circle{width:min(30vw,320px);height:min(30vw,320px);border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;font:500 clamp(48px,7vw,100px) 'Playfair Display',serif;letter-spacing:10px;box-shadow:0 0 0 22px #c2a27e0c}.intro{padding:110px 24px;text-align:center;max-width:850px;margin:auto}.intro h2{font-size:clamp(33px,4vw,58px);line-height:1.2;margin:15px 0 24px}.intro>p:last-child{color:var(--muted);max-width:660px;margin:auto}.menu-section{padding:85px clamp(22px,8vw,120px);background:#f3e8d9;color:#2b211b}.menu-section .eyebrow{color:#987451}.section-top{display:flex;align-items:end;justify-content:space-between;gap:20px}.section-top h2,.reservation h2,.visit h2{font-size:clamp(39px,5vw,68px);line-height:1.12;margin:10px 0 25px}.switch{display:flex;border:1px solid #bfae9b;padding:4px}.switch button{border:0;background:none;color:#58493f;padding:11px 23px}.switch button.active{background:#2b211b;color:#f3e8d9}.categories{display:flex;overflow:auto;gap:8px;padding:20px 0 26px;scrollbar-width:thin}.categories button{flex-shrink:0;border:1px solid #cbbbac;background:transparent;padding:9px 15px;color:#514337}.categories button.active{background:#2b211b;color:#fff;border-color:#2b211b}.menu-content{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:45px 55px}.menu-group{border-top:1px solid #b9a58f;padding-top:19px}.menu-group h3{font-size:29px;margin:0 0 18px}.dish{display:flex;justify-content:space-between;gap:18px;padding:12px 0;border-bottom:1px solid #dacbbc;align-items:baseline}.dish-name{font-size:14px}.price{white-space:nowrap;font-weight:700;color:#4b382a}.fine{font-size:12px;opacity:.7;margin-top:28px}.quote{text-align:center;padding:85px 20px;font:italic clamp(24px,4vw,46px) 'Playfair Display',serif}.quote span{color:var(--gold);padding:0 10px}.reservation{display:grid;grid-template-columns:1fr 1fr;gap:clamp(35px,7vw,120px);padding:100px clamp(22px,8vw,120px);background:var(--bg2)}.reservation>div>p:not(.eyebrow){color:var(--muted);max-width:450px}.reservation-phone{font-size:23px!important;margin-top:35px}form{display:grid;gap:15px}form label{display:grid;gap:7px;font-size:13px}form input,form select,form textarea{width:100%;background:#332a23;color:#f2e5d3;border:1px solid #675547;padding:12px;border-radius:0;min-height:46px}form input:focus,form select:focus,form textarea:focus{outline:1px solid var(--gold)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.consent{display:flex;align-items:start;gap:10px}.consent input{width:16px;min-height:16px;margin-top:5px}.reservation form .btn{width:100%;margin-top:8px}.visit{display:grid;grid-template-columns:1fr 1fr;gap:35px;padding:90px clamp(22px,8vw,120px)}.visit h3{font-size:28px}.visit p{color:var(--muted)}.visit strong{color:var(--cream)}.maplink{border-bottom:1px solid var(--gold);padding-bottom:5px}footer{border-top:1px solid var(--line);padding:35px clamp(22px,8vw,120px);display:flex;justify-content:space-between;align-items:center;gap:20px;color:var(--muted);font-size:12px}footer .brand{color:var(--cream)}@media(max-width:760px){.nav{padding:13px 18px;flex-wrap:wrap}.nav .brand{font-size:27px}.nav nav{order:3;width:100%;justify-content:center;gap:27px}.hero{grid-template-columns:1fr;min-height:560px;padding:65px 24px}.hero-decoration{position:absolute;right:-95px;bottom:-70px;opacity:.28;min-height:270px}.circle{width:260px;height:260px}.hero-inner{max-width:540px}.intro{padding:70px 22px}.menu-section{padding:65px 20px}.section-top{align-items:start;flex-direction:column}.menu-content{grid-template-columns:1fr;gap:35px}.reservation,.visit{grid-template-columns:1fr;padding:65px 22px}.quote{padding:65px 20px}footer{padding:25px 20px}}

/* MOC official logo palette, sampled from the supplied logo image */
:root{--bg:#120900;--bg2:#1b1009;--cream:#f1e3c6;--muted:#d0bea3;--gold:#e0c99f;--line:#483526}
body{background:var(--bg);color:var(--cream)}
.nav{background:rgba(18,9,0,.97);border-bottom-color:#453324}
.hero{background:radial-gradient(ellipse at 80% 45%,#302014 0%,#1a0f07 40%,#120900 80%)}
.hero-decoration>span{display:none}
.logo-brand{letter-spacing:0;line-height:1}
.logo-brand img{display:block;width:130px;height:55px;object-fit:contain;mix-blend-mode:screen}
.logo-feature{width:min(36vw,440px);height:260px;display:grid;place-items:center}
.logo-feature img{width:100%;height:auto;mix-blend-mode:screen}
.menu-section{background:#1a1009;color:var(--cream)}
.menu-section .eyebrow{color:var(--gold)}
.switch{border-color:#65513c}
.switch button{color:var(--muted)}
.switch button.active{background:var(--cream);color:var(--bg)}
.categories button{border-color:#65513c;color:var(--cream)}
.categories button.active{background:var(--cream);color:var(--bg);border-color:var(--cream)}
.menu-group{border-top-color:#6c543c}
.dish{border-bottom-color:#3e2c1f}
.price{color:var(--gold)}
form input,form select,form textarea{background:#271a10;color:var(--cream);border-color:#65513c}
.btn.primary{background:var(--cream);color:var(--bg);border-color:var(--cream)}
@media(max-width:760px){.logo-brand img{width:112px;height:48px}.logo-feature{width:280px;height:180px}}

.dish-thumb{width:64px;height:64px;object-fit:cover;border-radius:8px;margin-right:12px}.dish{display:flex;align-items:center}.dish .price{margin-left:auto}.about-image{width:100%;max-height:460px;object-fit:cover;margin-top:24px;border-radius:12px}.moc-gallery{padding:70px max(5vw,20px);display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}.moc-gallery h2{grid-column:1/-1}.moc-gallery img{width:100%;height:230px;object-fit:cover;border-radius:10px}

/* Text-only brand: no logo bitmap, border, background tile, or halo. */
.nav .wordmark{font-family:'Playfair Display',Georgia,serif;font-size:clamp(36px,4vw,51px);font-weight:500;line-height:1;letter-spacing:.13em;color:#f1e3c6;background:transparent;border:0;box-shadow:none;padding:0;white-space:nowrap}
.wordmark-feature{font-family:'Playfair Display',Georgia,serif;font-size:clamp(80px,12vw,170px);font-weight:500;letter-spacing:.1em;color:#f1e3c6;line-height:1;background:none;border:0;box-shadow:none;text-align:center;height:auto}
@media(max-width:760px){.nav .wordmark{font-size:39px}.wordmark-feature{font-size:95px}}

.dish-info{display:flex;flex-direction:column;flex:1;min-width:0}.dish-description{display:block;font-size:12px;line-height:1.45;color:#77665b;margin-top:4px}.dish{align-items:flex-start}

/* External Tablesit booking: no local form or backend required */
.booking-external {display:flex;flex-direction:column;align-items:flex-start;gap:16px;justify-content:center;min-width:0}
.booking-external-button {display:inline-flex;justify-content:center;align-items:center;min-height:56px;text-align:center;max-width:100%;width:100%;box-sizing:border-box}
.booking-external .fine {margin:0}
footer .wordmark {font-family:Georgia,serif;font-size:30px;letter-spacing:.12em;color:#f1e3c6}

/* MOC 2026 minimal redesign — warm beige / dark espresso */
:root{--bg:#20130d;--bg2:#281911;--cream:#f4e9d6;--muted:#cbbba7;--gold:#e7d1ab;--line:#584536;--ink:#251810;--paper:#f5ebdb}
body{background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:15px;line-height:1.7}
.nav{background:var(--paper);color:var(--ink);border-bottom:1px solid #d9cdbd;padding:14px clamp(22px,5vw,88px);min-height:92px;gap:30px}
.nav .brand{display:block;flex-shrink:0}.nav .brand img{display:block;width:132px;height:auto;filter:brightness(0) saturate(100%) invert(10%) sepia(22%) saturate(976%) hue-rotate(342deg) brightness(89%)}
.nav nav{gap:clamp(18px,3vw,48px);font-weight:600;font-size:13px}.nav nav a:hover,.maplink:hover{color:#936f50}
.langs button{color:#7e6b5b}.langs button.active{color:var(--ink)}
.hero{min-height:600px;padding:95px clamp(24px,8vw,130px);background:var(--bg);color:var(--cream);grid-template-columns:1.2fr .8fr;gap:28px}
.hero-inner{max-width:690px}.eyebrow{color:#a98763;letter-spacing:2.6px;font-size:10px}
.hero .eyebrow{color:#e2c9a3}
h1{font-size:clamp(52px,7vw,99px);letter-spacing:-.035em;line-height:1.07;margin:25px 0}
h1 i,h2 i{color:#d8bb92}.hero-inner>p:not(.eyebrow){color:#d7c8b5;font-size:16px;max-width:410px}
.hero-decoration{min-height:200px;opacity:.94;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px}
.hero-decoration img{display:block;width:min(100%,450px);height:auto;object-fit:contain}
.hero-deco-label{font-size:10px;letter-spacing:3.5px;color:#b69e80}
.btn{border-radius:3px;padding:14px 25px;transition:background .2s,transform .2s;letter-spacing:.01em}
.btn:hover{opacity:1;transform:translateY(-2px)}.btn.primary{background:var(--cream);color:var(--ink);border-color:var(--cream)}.btn.ghost{border-color:#b39a7a;color:var(--cream)}
.intro{max-width:880px;padding:100px 24px 105px;background:transparent}.intro h2{color:var(--ink)}.intro>p:last-child{color:#685548}
.menu-section{background:#eee0cd;color:var(--ink);padding:88px clamp(24px,7vw,110px)}
.menu-section .eyebrow{color:#866448}.section-top h2,.reservation h2,.visit h2{font-size:clamp(37px,5vw,61px);letter-spacing:-.025em}
.switch{border:1px solid #bca88f;border-radius:4px;padding:3px}.switch button{color:#665143;border-radius:3px}.switch button.active{background:var(--ink);color:var(--paper)}
.categories{gap:9px;padding-top:28px}.categories button{border-color:#c9b7a1;color:#574331;border-radius:3px;background:transparent;font-size:12px}.categories button.active{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.menu-content{gap:45px 60px}.menu-group{border-top-color:#bca58b}.menu-group h3{font-size:27px}.dish{border-bottom-color:#d4c1a8;padding:15px 0;gap:13px}.dish-name{font-weight:600;font-size:14px}.dish-description{color:#7c6656;font-size:12px}.price{color:#4e3425;font-weight:700}.dish-thumb{border-radius:4px;width:70px;height:70px}
.reservation{background:var(--bg);color:var(--cream);padding:95px clamp(24px,8vw,120px);gap:60px;align-items:center}.reservation .eyebrow{color:#d5b58b}.reservation h2{color:var(--cream)}.reservation>div>p:not(.eyebrow){color:#d0bdab}.reservation-phone{font-size:20px!important}.booking-external-button{min-height:62px;max-width:380px}.booking-external .fine{color:#cab69f}
.visit{background:var(--paper);color:var(--ink);padding:95px clamp(24px,8vw,120px)}.visit h2{color:var(--ink)}.visit h2 i{color:#a58363}.visit p{color:#655345}.visit strong{color:var(--ink)}.maplink{border-bottom-color:#a58363}
footer{background:var(--bg);color:#c9b59f;border-top:0;padding:30px clamp(24px,8vw,120px)}footer .brand img{width:92px;height:auto}footer a:hover{color:white}
.moc-gallery{background:var(--paper);padding:65px clamp(24px,7vw,110px);gap:16px}.moc-gallery img{border-radius:4px}
@media(max-width:760px){.nav{min-height:0;display:grid;grid-template-columns:1fr auto;gap:12px;padding:16px 20px}.nav .brand img{width:112px}.nav nav{grid-column:1/-1;order:3;width:100%;justify-content:space-between;gap:10px;border-top:1px solid #e0d3c1;padding-top:13px;font-size:12px}.langs{justify-self:end}.hero{min-height:520px;display:block;padding:72px 24px 76px}.hero-decoration{display:none}h1{font-size:clamp(48px,11vw,69px)}.hero-inner>p:not(.eyebrow){font-size:15px}.actions{gap:10px}.actions .btn{padding:12px 17px}.intro{padding:72px 24px}.menu-section{padding:70px 22px}.section-top{gap:12px}.menu-content{grid-template-columns:1fr;gap:30px}.reservation,.visit{grid-template-columns:1fr;padding:70px 24px;gap:22px}.booking-external-button{max-width:none}.visit h2{margin-bottom:10px}footer{padding:28px 24px;flex-wrap:wrap}}

/* MOC editorial photography — images supplied by the restaurant */
.hero{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(24px,5vw,90px)}
.hero-photo{position:relative;align-self:stretch;min-height:490px;overflow:hidden;background:#3a271c}
.hero-photo img{display:block;width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center 48%}
.hero-photo-caption{position:absolute;bottom:18px;left:20px;color:#fff7e8;font-size:10px;letter-spacing:2px;text-shadow:0 1px 8px #0009}
.photo-story{background:#f6ebdc;color:#281a12;padding:85px clamp(22px,7vw,110px) 100px}
.photo-story-head{text-align:center;max-width:640px;margin:0 auto 36px}
.photo-story-head h2,.coffee-feature h2{font:400 clamp(35px,4.5vw,65px)/1.12 'Playfair Display',serif;margin:12px 0}
.photo-story-head>p:last-child{color:#6d5848}
.photo-story-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:15px;align-items:stretch}
.photo-story figure{margin:0;position:relative;min-height:350px;overflow:hidden;background:#d7bfa5}
.photo-story figure img{display:block;width:100%;height:100%;position:absolute;inset:0;object-fit:cover;transition:transform .4s ease}
.photo-story figure:hover img{transform:scale(1.025)}
.photo-story figcaption{position:absolute;bottom:0;left:0;right:0;padding:40px 18px 17px;color:#fff;background:linear-gradient(transparent,#130b07ae);font-size:13px;letter-spacing:.3px}
.coffee-feature{display:grid;grid-template-columns:1fr 1fr;min-height:490px;background:#e9d9c4;color:#281a12}
.coffee-feature-photo{position:relative;min-height:480px;overflow:hidden}
.coffee-feature-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 55%}
.coffee-feature-copy{padding:clamp(45px,8vw,120px);display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.coffee-feature-copy>p:not(.eyebrow){max-width:380px;color:#6c5545}
.text-link{margin-top:24px;border-bottom:1px solid #8c6d51;padding-bottom:6px;font-weight:600}
@media(max-width:760px){.hero{display:flex;flex-direction:column;padding:56px 22px 24px;min-height:0;gap:32px}.hero-inner{width:100%}.hero-photo{width:100%;height:370px;min-height:370px}.hero-photo img{object-position:center 38%}.photo-story{padding:62px 18px 70px}.photo-story-grid{grid-template-columns:1fr 1fr;gap:10px}.photo-story figure{min-height:235px}.photo-story figure.story-main{grid-column:1/-1;min-height:340px}.coffee-feature{grid-template-columns:1fr}.coffee-feature-photo{min-height:330px}.coffee-feature-copy{padding:45px 25px 55px}}
@media(prefers-reduced-motion:reduce){.photo-story figure img{transition:none}}

.location-photo{max-width:1100px;margin:32px auto 0;padding:0 22px}.location-photo img{display:block;width:100%;max-height:440px;object-fit:cover;object-position:center 42%;border-radius:4px}

/* Balanced photo gallery — three equal columns, no protruding tiles */
.photo-story{padding:clamp(55px,7vw,100px) clamp(18px,6vw,100px);overflow:hidden}
.photo-story-head{max-width:680px;margin:0 auto 50px}
.gallery-section{width:100%;max-width:1240px;margin:0 auto 54px;min-width:0}
.gallery-section:last-child{margin-bottom:0}
.gallery-section h3{font:400 clamp(26px,3vw,39px)/1.2 'Playfair Display',Georgia,serif;margin:0 0 18px;color:#281a12}
.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(10px,1.6vw,20px);width:100%;align-items:stretch}
.gallery-tile{margin:0;min-width:0;min-height:0;aspect-ratio:4/5;overflow:hidden;background:#d7bfa5;position:relative;border-radius:3px}
.gallery-tile img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .35s ease}
.gallery-tile:hover img{transform:scale(1.025)}
.gallery-section:nth-of-type(4) .gallery-tile:last-child img{object-position:center 36%}
@media(max-width:760px){.photo-story{padding:56px 18px 65px}.photo-story-head{margin-bottom:36px}.gallery-section{margin-bottom:40px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.gallery-tile{aspect-ratio:4/5}.gallery-tile:last-child:nth-child(odd){grid-column:1/-1;aspect-ratio:16/10}.gallery-section h3{margin-bottom:14px}}
@media(max-width:380px){.gallery-grid{gap:8px}.photo-story{padding-left:14px;padding-right:14px}}

/* Two equally sized drink photos, aligned within the gallery container */
.gallery-grid--two{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
.gallery-grid--two .gallery-tile{grid-column:auto!important;min-width:0;}
@media(max-width:520px){.gallery-grid--two{grid-template-columns:repeat(2,minmax(0,1fr))!important;}}

/* Shared descriptions belong immediately below the category heading. */
.menu-group-description{margin:.35rem 0 1.25rem;color:var(--muted,#796b5c);font-size:.94rem;line-height:1.65;max-width:65ch;}
