@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Outfit:wght@400;500;600;700;800&family=Playfair+Display:wght@500;600;700&display=swap');
:root { --forest:#173c32;--forest-dark:#102b25;--copper:#c95d36;--gold:#dda54c;--cream:#faf7f0;--linen:#f1ece1;--ink:#1c2420;--muted:#6c756e;--line:#e5e2d7;--white:#fff;--radius:18px;--shadow:0 12px 40px rgba(19,45,35,.08); }
html {scroll-behavior:smooth; scroll-padding-top:95px}
body { background:var(--cream)!important; color:var(--ink)!important; font-family:'DM Sans',system-ui,sans-serif!important; letter-spacing:-.01em; }
button,input,textarea,select { font-family:inherit!important; }
button { transition:transform .2s ease,background .2s ease,box-shadow .2s ease; }
button:not(:disabled):hover {transform:translateY(-2px);opacity:1!important}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible { outline:3px solid var(--gold);outline-offset:3px; }
h1,h2,h3 {letter-spacing:-.04em}
a {color:inherit}
/* Shared navigation */
header {position:relative;background:var(--cream)!important; color:var(--ink)!important;box-shadow:none!important; border-bottom:1px solid var(--line);padding:16px 5%!important}
body.page-home header {position:sticky;top:0;z-index:1000;backdrop-filter:blur(15px);background:rgba(250,247,240,.97)!important}
.navbar,.header-inner {max-width:1400px!important; margin:auto;display:flex;align-items:center;justify-content:space-between;gap:22px}
.brand,.brand-home {display:inline-flex;align-items:center;gap:12px;color:var(--forest);text-decoration:none;font-family:'Outfit',sans-serif;font-weight:800;letter-spacing:-.06em;font-size:25px}
.brand-mark {display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:14px; transform:rotate(-8deg);background:var(--forest);color:#ffe5ab;font-family:'Playfair Display',serif;font-style:italic;font-size:31px;font-weight:700;box-shadow:4px 4px 0 var(--gold)}
.brand-words {display:flex;flex-direction:column;line-height:1.03;}
.brand-sub {font-size:10px;letter-spacing:.23em;font-weight:700;color:#ab643b;margin-top:5px}
.nav-actions,.nav-buttons {display:flex;align-items:center;gap:12px!important}
.nav-actions button,.nav-buttons button,.header-inner button {border-radius:999px!important;padding:12px 18px!important;background:transparent!important;color:var(--forest)!important;font-size:13px!important;font-weight:750!important;}
.nav-actions .nav-primary {background:var(--forest)!important;color:white!important;padding:14px 23px!important;box-shadow:0 8px 20px #173c3220}
.nav-actions .admin-button {border:1px solid #ddd8cb!important;background:transparent!important;color:var(--forest)!important}
.nav-link {font-size:13px;font-weight:700;color:#40524a;text-decoration:none;padding:10px}
.nav-link:hover {color:var(--copper)}
/* Homepage hero */
body.page-home .hero {max-width:none;border:none!important;text-align:left!important;background:var(--cream)!important;padding:0!important;position:relative;overflow:hidden}
.hero-shell {display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);max-width:1600px;min-height:620px;margin:0 auto;}
.hero-content {display:flex;flex-direction:column;align-items:flex-start;justify-content:center; padding:clamp(62px,7vw,122px) clamp(26px,6vw,100px);}
.eyebrow {display:flex;align-items:center;gap:13px;font-size:11px;letter-spacing:.22em;text-transform:uppercase;font-weight:800;color:var(--copper)}
.eyebrow:before {content:'';display:inline-block;width:31px;height:2px;background:var(--copper)}
body.page-home .hero h1 {font-family:'Playfair Display',Georgia,serif;font-size:clamp(58px,6.2vw,100px)!important;line-height:1.03;letter-spacing:-.065em;font-weight:600;color:var(--forest)!important;margin:27px 0 22px!important;max-width:720px}
body.page-home .hero h1 em {color:var(--copper);font-weight:500}
body.page-home .hero p {margin:0!important;max-width:540px!important;font-size:17px!important;line-height:1.9;color:#657169!important}
.hero-actions {display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:37px}
.btn-primary {border:0;background:var(--forest)!important;color:#fff!important; padding:17px 26px!important;border-radius:999px!important;font-size:14px;font-weight:800;display:inline-flex;gap:15px;align-items:center;box-shadow:0 15px 25px #173c322c}
.btn-primary span {font-size:20px;font-weight:400}
.hero-softlink {font-size:13px;font-weight:800;text-decoration:none;border-bottom:1px solid var(--copper);padding-bottom:5px;color:var(--forest)}
.hero-footnote {display:flex;gap:12px;align-items:center;font-size:12px;color:#78827a;margin-top:38px!important}
.hero-footnote:before {content:none;display:none}
.hero-photo {position:relative;min-height:540px;overflow:hidden;background:radial-gradient(circle at 50% 40%,#3b6050,#0c2d25 74%);isolation:isolate}
.hero-photo:before {content:'';position:absolute;inset:0;background:radial-gradient(circle at 40% 40%,#32624e,#0e332a);z-index:-1}.hero-photo.has-photo:before {background:linear-gradient(120deg,rgba(7,40,30,.12),rgba(7,40,30,.35)),url('https://images.unsplash.com/photo-1771762210605-36baa5beea73?auto=format&fit=crop&w=1300&q=85') center/cover;}
.hero-photo:after {content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(4,33,26,.7),transparent 45%);z-index:-1}
.plate-illustration {width:min(72%,540px);position:absolute;top:43%;left:50%;transform:translate(-50%,-50%);filter:drop-shadow(5px 25px 40px #0008);opacity:.98;display:block}
.hero-photo.has-photo .plate-illustration {display:none}
.photo-stamp {position:absolute;right:35px;top:35px;height:115px;width:115px;border:1px solid #ffffff88;border-radius:50%;color:white;display:flex;align-items:center;justify-content:center;text-align:center;font-weight:800;font-size:10px;letter-spacing:.16em;transform:rotate(13deg);line-height:2;background:#173c3266;backdrop-filter:blur(8px)}
.photo-overlay {position:absolute;bottom:43px;left:45px;color:white}
.photo-overlay .mini {font-size:11px;letter-spacing:.22em;font-weight:800;text-transform:uppercase;color:#edd29f}
.photo-overlay .big {font-family:'Playfair Display',serif;font-size:clamp(33px,3vw,45px);line-height:1.14;margin-top:9px;letter-spacing:-.035em}
.photo-indicator {position:absolute;bottom:51px;right:43px;width:60px;height:60px;border:1px solid #ffffff70;border-radius:50%;display:grid;place-items:center;color:white;font-size:24px}
.ticker {background:var(--forest);color:#eee2c8;display:flex;justify-content:center;align-items:center;gap:clamp(15px,4vw,60px);padding:19px 15px;letter-spacing:.18em;font-size:10px;text-transform:uppercase;font-weight:700;flex-wrap:wrap}
.ticker b {font-size:18px;color:var(--gold);font-weight:400}
/* Home section */
body.page-home .container {max-width:1400px!important;padding:67px clamp(20px,4vw,60px) 80px!important}
.intro-top {display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:30px}
.section-kicker {text-transform:uppercase;letter-spacing:.21em;font-size:11px;color:var(--copper);font-weight:800}
body.page-home .section-heading {text-align:left!important;font-family:'Playfair Display',Georgia,serif!important;font-size:clamp(38px,4.2vw,59px)!important;line-height:1.2;margin:8px 0!important;color:var(--forest)!important;font-weight:600}
.menu-intro {font-size:14px;max-width:350px;line-height:1.7;color:var(--muted)}
#announcements .announcement,.announcement {border:none!important;border-radius:16px!important;background:#f9eaca!important;padding:20px 24px!important;margin-bottom:18px!important;box-shadow:none!important}
#announcements .announcement h3 {color:#9b5224!important}
#restaurant-status .open-box,.open-box {background:#e6efe6!important;border:1px solid #c7d8c8!important;color:#295c3e!important;border-radius:12px!important}
#restaurant-status .closed-box,.closed-box {background:#f7e8e4!important;border:1px solid #e3b6ac!important;color:#993a2b!important;border-radius:12px!important}
.category-tabs {display:flex;gap:11px;flex-wrap:wrap;margin:21px 0 34px}
.category-tabs button {border:1px solid #dedfd4!important;background:transparent!important;color:var(--forest)!important;border-radius:999px!important;padding:12px 21px!important;font-size:12px!important;font-weight:750!important}
.category-tabs button.active,.category-tabs button:hover {background:var(--forest)!important;color:white!important;}
.ordering-layout {grid-template-columns:minmax(0,1fr) minmax(310px,365px)!important;gap:36px!important}
.category-title {background:transparent!important;color:var(--forest)!important;box-shadow:none!important;border-radius:0!important;font-family:'Playfair Display',Georgia,serif!important;font-size:30px!important;border-bottom:1px solid #dfded2;padding:0 0 15px!important;margin:40px 0 20px!important;letter-spacing:-.045em}
.category-title:first-child {margin-top:5px!important}
.menu-grid {grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important}
.menu-card {position:relative;padding:24px!important;border:none!important;border-radius:18px!important;background:#fff!important;box-shadow:0 3px 24px rgba(31,49,38,.043)!important;min-height:195px;overflow:hidden;transition:transform .22s ease,box-shadow .22s ease}
.menu-card:before {content:'';position:absolute;left:0;top:21px;bottom:21px;width:3px;background:var(--gold);border-radius:10px}
.menu-card:hover {transform:translateY(-4px);box-shadow:0 15px 34px #162e1e12!important}
.menu-card h3 {font-family:'Outfit',sans-serif!important;font-size:21px!important;letter-spacing:-.035em;color:var(--ink)!important;margin-bottom:10px!important;line-height:1.25}
.menu-card .price {font-size:19px!important;color:var(--copper)!important;font-family:'Outfit',sans-serif;margin-bottom:10px!important}
.menu-card .description,.menu-card p {color:#788178;font-size:13px!important;line-height:1.65!important;margin:0 0 12px}
.menu-card .portion {font-size:12px!important;color:#888e80!important;margin-top:3px}
.item-controls {margin-top:auto!important}
.add-item-button,.checkout-button,.checkout,.save-button {background:var(--forest)!important;color:#fff!important;border-radius:10px!important;padding:12px 16px!important;font-weight:700!important}
.quantity-controls {background:#f1f5ef!important;border-radius:12px!important}
.quantity-controls button,.cart-small-controls button {background:var(--forest)!important;color:#fff;border-radius:8px!important}
.cart-sidebar {border:none!important;border-radius:20px!important;box-shadow:0 17px 46px #192e2114!important;top:105px!important}
.cart-header {background:var(--forest)!important;padding:23px 25px!important}
.cart-header h2 {font-family:'Playfair Display',serif;font-size:27px!important;letter-spacing:-.04em}
.cart-content {padding:24px!important}
.cart-count {background:var(--gold)!important;color:#192e21!important}
.cart-note {font-size:12px!important;color:var(--muted)!important;line-height:1.6}
.cart-total-row {font-weight:800}
.empty-cart {font-size:14px;line-height:1.8}
.cart-item-name {color:var(--forest)!important}
.mobile-cart-bar {background:var(--forest)!important;box-shadow:0 -8px 40px #152b2090!important}
.mobile-cart-bar button {background:var(--gold)!important;color:var(--forest)!important;border-radius:999px!important}
/* brand storytelling */
.story-panel {margin:45px auto 0;max-width:1400px;padding:0 clamp(20px,4vw,60px) 100px;display:grid;grid-template-columns:.85fr 1.15fr;gap:0}
.story-art {position:relative;background:#e4d4b6;overflow:hidden;min-height:390px;border-radius:25px 0 0 25px;display:flex;align-items:center;justify-content:center}
.story-art:after {content:'';width:350px;height:350px;border:1px solid #986b3050;border-radius:50%;position:absolute}
.story-art img {width:min(85%,380px);max-height:350px;object-fit:contain;position:relative;z-index:1;filter:drop-shadow(0 20px 25px #0005)}
.story-copy {background:#e9e4d8;border-radius:0 25px 25px 0;display:flex;flex-direction:column;justify-content:center;padding:clamp(32px,5vw,68px)}
.story-copy h2 {font-family:'Playfair Display',serif;font-weight:600;color:var(--forest);font-size:clamp(33px,3.7vw,54px);line-height:1.2;margin:14px 0 20px}
.story-copy p {font-size:15px;color:#5a695e;line-height:1.95;max-width:480px}
.story-copy a {display:inline-block;margin-top:15px;align-self:flex-start;color:var(--forest);font-weight:800;text-decoration:none;border-bottom:1px solid var(--forest);padding-bottom:6px}
/* footer */
footer {background:var(--forest-dark)!important;color:#eaf0e7!important;text-align:left!important;padding:44px 6%!important;}
.site-footer {display:flex;align-items:center;justify-content:space-between;max-width:1320px;margin:auto;gap:35px;flex-wrap:wrap}
.site-footer strong {font-family:'Playfair Display',serif;font-size:30px;font-weight:600}
.site-footer p {color:#bfcfc2;font-size:13px;line-height:1.7}
.site-footer a {text-decoration:none;color:#f1d7a0;font-size:14px;font-weight:700}
/* secondary pages */
body.page-checkout .hero,body.page-dashboard .hero {background:var(--forest)!important;border:0!important;text-align:left!important;padding:49px 7%!important;}
body.page-checkout .hero h1,body.page-dashboard .hero h1 {max-width:1160px;margin:auto!important;font-family:'Playfair Display',serif!important;color:#f9f5eb!important;font-size:clamp(36px,4.2vw,58px)!important;font-weight:600;letter-spacing:-.05em}
body.page-checkout .hero p,body.page-dashboard .hero p {max-width:1160px;margin:12px auto 0!important;color:#d4e4d9!important;font-size:15px!important}
body.page-checkout .container,body.page-dashboard .container {max-width:1160px!important;padding:43px 20px 80px!important}
body.page-checkout .box,body.page-dashboard .welcome,body.page-dashboard .cart {background:white!important;border:none!important;border-radius:19px!important;box-shadow:var(--shadow)!important;padding:29px!important}
body.page-checkout .box h2,body.page-dashboard .section-title {font-family:'Playfair Display',serif!important;font-size:27px!important;color:var(--forest)!important;margin-top:0!important}
body.page-checkout .method-card {border:1px solid #e0e5dc!important;border-radius:14px!important;background:#fafaf7!important}
body.page-checkout .method-card.selected {border:2px solid var(--forest)!important;background:#eff6ef!important}
body.page-checkout label {color:#31423a!important;font-size:13px}
body.page-checkout input,body.page-checkout textarea,body.page-admin input,body.page-admin textarea,body.page-admin select {border:1px solid #d8ded6!important;background:#fdfdfa!important;border-radius:10px!important;padding:13px!important}
body.page-checkout button,body.page-admin button,body.page-dashboard button {border-radius:10px!important}
body.page-dashboard .menu-card {box-shadow:var(--shadow)!important}
body.page-dashboard .section-title {text-align:left!important}
body.page-dashboard .cart {border:1px solid var(--line)!important}
body.page-dashboard .category-title {background:transparent!important}
body.page-dashboard .welcome {color:#566e60}
/* administration */
body.page-admin header {background:var(--forest)!important;color:white!important;padding:34px 5%!important}
body.page-admin header h1 {font-family:'Playfair Display',serif;font-size:34px;letter-spacing:-.04em}
body.page-admin header p {color:#d5e1d5}
body.page-admin .container {max-width:1240px!important}
body.page-admin .admin-nav {border:1px solid #e5e9e1;box-shadow:var(--shadow)!important;border-radius:16px!important}
body.page-admin button {background:var(--forest)!important}
body.page-admin .orders-button {background:#be623f!important}
body.page-admin .logout-button,.page-admin .secondary {background:#65736a!important}
body.page-admin .order-card,body.page-admin .box,body.page-admin .menu-item,body.page-admin .announcement {background:#fff!important;border:1px solid var(--line)!important;border-radius:16px!important;box-shadow:0 7px 30px #1636240c!important}
body.page-admin h1,body.page-admin h2 {color:var(--forest);font-family:'Outfit',sans-serif;letter-spacing:-.04em}
body.page-admin .order-card {border-left:5px solid var(--gold)!important;border-top:0!important}
body.page-admin .order-number {color:var(--copper)!important}
body.page-admin .save-button {background:var(--forest)!important}
body.page-admin.admin-form {max-width:1060px;margin:0 auto;padding:22px;background:var(--cream)!important}
body.page-admin.admin-form h1 {text-align:left!important;font-family:'Playfair Display',serif;font-size:39px;color:var(--forest)!important}
/* admin/login modal */
.modal-overlay {background:#0c211bc4!important;backdrop-filter:blur(7px)}
.modal {border-radius:20px!important;border:1px solid #dfdfd5!important;background:var(--cream)!important;box-shadow:0 22px 80px #0006!important}
.modal h2 {font-family:'Playfair Display',serif;color:var(--forest)!important;font-size:31px}
.modal input {border-radius:9px!important;border:1px solid #d8ded6!important}
/* visual responsiveness */
@media(max-width:1050px){.hero-shell{grid-template-columns:1.06fr .94fr}.hero-content{padding:70px 35px}.menu-grid{grid-template-columns:1fr!important}.ordering-layout{grid-template-columns:minmax(0,1fr) 300px!important;gap:20px!important}.story-panel{padding-bottom:70px}}
@media(max-width:780px){.hero-shell{grid-template-columns:1fr}.hero-content{padding:60px 28px 54px}.hero-photo{min-height:390px}.photo-overlay{bottom:28px;left:27px}.photo-stamp{top:20px;right:18px;width:90px;height:90px}.nav-link{display:none}.nav-actions .admin-button{display:inline-flex;padding:10px!important}.nav-actions{gap:4px!important}.ordering-layout{grid-template-columns:1fr!important}.menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.cart-sidebar{position:relative!important;top:0!important;margin-top:20px}.intro-top{align-items:flex-start;flex-direction:column;gap:4px}.story-panel{grid-template-columns:1fr}.story-art{border-radius:24px 24px 0 0;min-height:320px}.story-copy{border-radius:0 0 24px 24px}.site-footer{gap:18px}}
@media(max-width:580px){.hero-content{padding:48px 22px}.hero-photo{min-height:335px}.hero-photo .photo-overlay .big{font-size:30px}.hero-actions{gap:15px}.btn-primary{width:100%;justify-content:center}.brand-home,.brand{font-size:18px!important}.brand-mark{width:35px;height:35px;font-size:26px}.nav-actions button,.header-inner button{font-size:11px!important;padding:10px 11px!important}.menu-grid{grid-template-columns:1fr!important}.menu-card{min-height:165px}.ticker{gap:12px;font-size:9px}.story-copy{padding:30px}.story-art{min-height:280px}.section-heading{font-size:38px!important}.checkout-grid{grid-template-columns:1fr!important}.two-column{grid-template-columns:1fr!important}body.page-home .container{padding-top:44px!important}}
@media(max-width:580px){body.page-home .navbar{flex-wrap:nowrap!important;gap:7px!important}body.page-home .nav-actions{flex-wrap:nowrap!important;gap:3px!important}body.page-home .brand-home{white-space:nowrap;font-size:15px!important;gap:8px}body.page-home .brand-mark{width:31px;height:31px;font-size:23px}body.page-home .brand-sub{font-size:7px;letter-spacing:.16em}body.page-home .nav-actions .nav-primary{padding:9px 10px!important;font-size:10px!important;white-space:nowrap}body.page-home .nav-actions .admin-button{padding:9px 8px!important;font-size:10px!important}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* 2026-10-16: approved real logo replaces placeholder in homepage navigation. */
body.page-home .brand-home.logo-home {display:flex!important;align-items:center!important;flex:0 0 auto;gap:0!important;line-height:0;text-decoration:none;}
body.page-home .header-brand-logo {display:block;width:158px;height:auto;max-height:126px;object-fit:contain;flex-shrink:0;}
body.page-home header {padding-top:7px!important;padding-bottom:7px!important;}
body.page-home .navbar {gap:18px;flex-wrap:nowrap;}
/* Star decorations removed; clean minimal dividers in ticker only. */
body.page-home .ticker-divider {display:block;flex:0 0 auto;width:1px;height:16px;background:rgba(238,226,200,.42)}
body.page-home .hero-footnote:before {content:none!important;display:none!important;}
body.page-home .photo-indicator {display:none!important;}
@media(max-width:780px) {
  body.page-home .header-brand-logo {width:124px;max-height:100px;}
  body.page-home .navbar {gap:8px!important;}
  body.page-home .nav-actions {gap:5px!important;}
  body.page-home .ticker {gap:13px;}
}
@media(max-width:480px) {
  body.page-home header {padding:5px 3%!important;}
  body.page-home .header-brand-logo {width:99px;max-height:80px;}
  body.page-home .navbar {gap:5px!important;}
  body.page-home .nav-actions .nav-primary {padding:10px 9px!important;font-size:10px!important;}
  body.page-home .nav-actions .admin-button {padding:10px 7px!important;font-size:10px!important;}
  body.page-home .ticker-divider {height:12px;}
}
