:root{--cream:#f7f3ea;--paper:#fffdf8;--ink:#1f2923;--green:#087a47;--green-dark:#165336;--green-soft:#e5f0e9;--gold:#e8bb66;--warm:#9c593b;--line:rgba(31,41,35,.13);--shadow:0 24px 65px rgba(34,47,39,.14)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'DM Sans',sans-serif;background:var(--paper);color:var(--ink);line-height:1.65}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}h1,h2,h3{font-family:'Fraunces',serif;line-height:1.03;margin:0}.site-header{height:94px;padding:0 clamp(20px,5vw,72px);display:flex;align-items:center;justify-content:space-between;background:rgba(255,253,248,.96);backdrop-filter:blur(14px);position:sticky;top:0;z-index:50;border-bottom:1px solid var(--line)}.brand img{width:190px;height:72px;object-fit:contain}.main-nav{display:flex;align-items:center;gap:32px;font-size:14px;font-weight:700}.main-nav a:hover{color:var(--green)}.nav-call{background:var(--green);color:#fff!important;padding:11px 19px;border-radius:999px}.menu-toggle{display:none;background:none;border:0;padding:10px}.menu-toggle span{display:block;width:24px;height:2px;background:var(--ink);margin:5px}
.hero{min-height:calc(100vh - 94px);position:relative;display:grid;align-items:end;overflow:hidden;background:#1a3628}.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 38%}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,38,28,.9) 0%,rgba(18,38,28,.72) 38%,rgba(18,38,28,.14) 76%),linear-gradient(0deg,rgba(18,35,27,.48),transparent 58%)}.hero-content{position:relative;z-index:2;color:#fff;padding:clamp(85px,11vw,150px) clamp(24px,7vw,105px);max-width:860px}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:11px;font-weight:800;margin:0 0 18px;color:#f1ce83}.eyebrow.warm{color:var(--green)}h1{font-size:clamp(54px,7.4vw,102px);font-weight:600;letter-spacing:-.045em}h1 em{font-weight:600;color:#f3d994}.hero-lead{max-width:590px;font-size:clamp(17px,1.5vw,21px);color:rgba(255,255,255,.86);margin:28px 0 34px}.hero-actions,.visit-actions{display:flex;align-items:center;gap:15px;flex-wrap:wrap}.button{display:inline-flex;justify-content:center;align-items:center;padding:14px 23px;border-radius:999px;font-size:14px;font-weight:800;transition:.2s}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--green);color:#fff;box-shadow:0 10px 30px rgba(8,122,71,.24)}.button-ghost{border:1px solid rgba(255,255,255,.58);color:#fff}.hours-badge{position:absolute;right:clamp(24px,6vw,80px);bottom:45px;z-index:3;background:var(--cream);color:var(--ink);padding:18px 24px;border-radius:14px;box-shadow:var(--shadow);transform:rotate(-2deg)}.hours-badge span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.17em;color:var(--green);font-weight:800}.hours-badge strong{font-family:'Fraunces',serif;font-size:19px}
.intro-strip{background:var(--green);color:#fff;display:flex;justify-content:center;align-items:center;gap:18px;flex-wrap:wrap;padding:15px 22px;font-size:11px;text-transform:uppercase;letter-spacing:.16em;font-weight:800}.intro-strip i{color:var(--gold);font-style:normal}.section{padding:clamp(78px,9vw,135px) clamp(24px,7vw,105px)}.welcome{display:grid;grid-template-columns:1fr 1fr;gap:clamp(55px,8vw,120px);align-items:center}.welcome h2,.section-heading h2,.visit h2{font-size:clamp(43px,5vw,69px);letter-spacing:-.04em}.welcome-copy>p:not(.eyebrow){font-size:18px;max-width:620px;color:#5c675f}.family-pill{display:inline-block;margin-top:24px;border:1px solid #b7d3c1;background:var(--green-soft);color:var(--green-dark);padding:9px 15px;border-radius:999px;font-size:12px;font-weight:800;letter-spacing:.05em}.story-collage{height:610px;position:relative}.story-main{position:absolute;right:0;top:0;width:73%;height:88%;object-fit:cover;object-position:center;border-radius:20px;box-shadow:var(--shadow);transform:rotate(2deg);border:8px solid #fff}.story-small{position:absolute;left:0;bottom:0;width:52%;height:50%;object-fit:cover;object-position:center 15%;border-radius:18px;box-shadow:var(--shadow);transform:rotate(-3deg);border:8px solid #fff}
.kitchen{background:var(--cream)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:50px;margin-bottom:48px}.section-heading>p{max-width:500px;color:#657068;margin:0}.food-gallery{display:grid;grid-template-columns:1.05fr .95fr .95fr;grid-template-rows:315px 315px;gap:16px}.gallery-item{position:relative;margin:0;overflow:hidden;border-radius:18px;background:#ddd}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.gallery-item:hover img{transform:scale(1.025)}.gallery-item:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(18,32,24,.75),transparent 55%)}.gallery-tall{grid-row:1/3}.gallery-wide{grid-column:2/4}.gallery-item figcaption{position:absolute;left:24px;bottom:21px;z-index:2;color:#fff;display:flex;flex-direction:column}.gallery-item figcaption span{font-size:10px;text-transform:uppercase;letter-spacing:.17em;font-weight:800;color:#e9c871}.gallery-item figcaption strong{font-family:'Fraunces',serif;font-size:22px}.menu-callout{margin-top:24px;padding:32px 36px;background:#fff;border:1px solid var(--line);border-radius:18px;display:flex;align-items:center;justify-content:space-between;gap:35px}.menu-callout h3{font-size:30px;margin-bottom:7px}.menu-callout p{margin:0;color:#68736b}.menu-callout .eyebrow{margin-bottom:7px}
.people-section{display:grid;grid-template-columns:1fr 1fr;min-height:730px;background:var(--green-dark);color:#fff}.people-photo-wrap{overflow:hidden}.people-photo-wrap img{width:100%;height:100%;object-fit:cover;object-position:center 25%}.people-copy{padding:clamp(70px,9vw,130px) clamp(35px,7vw,100px);display:flex;justify-content:center;flex-direction:column}.people-copy h2{font-size:clamp(43px,4.8vw,68px);letter-spacing:-.04em}.people-copy>p:not(.eyebrow){font-size:17px;color:rgba(255,255,255,.74);max-width:610px}.people-copy blockquote{font-family:'Fraunces',serif;font-size:24px;line-height:1.4;margin:35px 0 9px;padding:27px 0 0;border-top:1px solid rgba(255,255,255,.2)}.people-copy>span{font-size:12px;color:#e7c675;font-weight:700;letter-spacing:.08em}
.visit{display:grid;grid-template-columns:1.08fr .92fr;gap:26px}.visit-card{background:#fff;border-radius:24px;padding:clamp(35px,5vw,65px);box-shadow:0 22px 70px rgba(62,50,37,.08);border:1px solid rgba(31,41,35,.06)}.visit-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px 50px;margin:40px 0}.visit-grid div{display:flex;flex-direction:column}.visit-label{font-size:10px;text-transform:uppercase;letter-spacing:.16em;color:var(--green);font-weight:800;margin-bottom:6px}.visit-grid strong,.visit-grid a{font-size:17px}.text-link{font-weight:800;color:var(--green-dark);font-size:14px}.visit-photo{min-height:520px;border-radius:24px;position:relative;overflow:hidden}.visit-photo img{width:100%;height:100%;object-fit:cover;object-position:center}.visit-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(14,33,24,.72),transparent 55%)}.visit-photo-label{position:absolute;z-index:2;left:30px;bottom:27px;color:#fff;display:flex;flex-direction:column}.visit-photo-label strong{font-family:'Fraunces',serif;font-size:28px}.visit-photo-label span{font-size:12px;text-transform:uppercase;letter-spacing:.13em;color:#ecd184}
footer{background:#172c21;color:#fff;padding:45px clamp(24px,7vw,105px) 27px;display:grid;grid-template-columns:1fr auto;gap:35px;align-items:center}.footer-brand{display:flex;align-items:center;gap:17px}.footer-brand img{width:165px;height:74px;object-fit:contain;background:#fff;border-radius:10px;padding:5px}.footer-brand p{margin:0;color:rgba(255,255,255,.58);font-size:13px}.footer-links{display:flex;gap:25px;font-size:13px;font-weight:700}.copyright{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.12);padding-top:21px;margin:0;font-size:11px;color:rgba(255,255,255,.45)}.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:950px){.main-nav{display:none;position:absolute;left:0;right:0;top:94px;background:var(--paper);padding:22px 28px;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)}.main-nav.open{display:flex}.menu-toggle{display:block}.hours-badge{display:none}.welcome,.people-section,.visit{grid-template-columns:1fr}.food-gallery{grid-template-columns:1fr 1fr;grid-template-rows:350px 300px 300px}.gallery-tall{grid-row:1/3}.gallery-wide{grid-column:1/3}.people-photo-wrap{height:620px}.section-heading{align-items:flex-start;flex-direction:column}.menu-callout{align-items:flex-start;flex-direction:column}.visit-photo{min-height:480px}}
@media(max-width:600px){.site-header{height:82px;padding:0 18px}.brand img{width:145px;height:62px}.main-nav{top:82px}.hero{min-height:740px}.hero-photo{object-position:54% center}.hero-overlay{background:linear-gradient(0deg,rgba(18,38,28,.93) 5%,rgba(18,38,28,.38) 72%)}.hero-content{padding:68px 23px}.hero-actions .button{width:100%}.intro-strip{gap:9px;font-size:9px}.welcome{padding-top:80px}.story-collage{height:470px}.story-main{width:78%;height:83%}.story-small{width:58%;height:48%}.food-gallery{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px}.gallery-item,.gallery-tall,.gallery-wide{flex:0 0 86%;height:400px;scroll-snap-align:start}.menu-callout{padding:27px}.people-photo-wrap{height:510px}.people-copy{padding:70px 25px}.visit-grid{grid-template-columns:1fr}.visit-card{padding:34px 26px}.visit-photo{min-height:430px}footer{grid-template-columns:1fr}.footer-links{flex-wrap:wrap}.copyright{grid-column:auto}.footer-brand{align-items:flex-start;flex-direction:column}.footer-brand img{width:150px}}

/* Refined food-photo crops */
.gallery-item:nth-child(1) img{object-position:center 62%}
.gallery-item:nth-child(2) img{object-position:center 68%}
.gallery-item:nth-child(3) img{object-position:center 76%}
.gallery-item:nth-child(4) img{object-position:center 72%}
.visit-photo img{object-position:center 42%}

/* Updated hero cover: full 3rd Avenue Cafe storefront. */
.hero img,
.hero-image img {
  object-position: center 55%;
}

.menu-page{background:#f7f3e9;color:#203229}.menu-site-header{position:sticky;top:0;z-index:30;display:flex;justify-content:space-between;align-items:center;padding:12px 5%;background:#f7f3e9f2;border-bottom:1px solid #ddd6c8}.menu-site-header img{width:150px;height:70px;object-fit:contain;mix-blend-mode:multiply}.menu-site-header nav{display:flex;gap:20px}.menu-site-header a{color:#17412f;font-weight:800;text-decoration:none}.menu-hero{min-height:360px;display:grid;place-items:center;text-align:center;padding:60px 20px;background:linear-gradient(#143b2cbf,#143b2cbf),url("assets/hero-storefront.webp") center 55%/cover;color:white}.menu-hero div{max-width:760px}.menu-hero h1{font-size:clamp(3.2rem,8vw,6rem);margin:5px 0 15px}.menu-hero p{font-size:1.1rem}.web-menu{max-width:1160px;margin:auto;padding:70px 22px}.menu-intro{text-align:center;margin:0 auto 50px;max-width:720px}.menu-intro h2{font-size:clamp(2.6rem,6vw,4.7rem);color:#17412f;margin:5px 0 10px}.menu-section{margin-bottom:62px}.menu-section h3{text-align:center;color:#17412f;font-size:clamp(1.6rem,3vw,2.2rem);margin-bottom:24px}.menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.menu-grid article{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;background:white;border:1px solid #e2ddd1;border-radius:15px;padding:20px 22px;box-shadow:0 7px 22px #173b2b0a}.menu-grid h4{margin:0;color:#173e2d;font-size:1.02rem}.menu-grid p{margin:6px 0 0;line-height:1.5;color:#646b66;font-size:.92rem}.menu-grid strong{color:#11804d;white-space:nowrap}.menu-note{text-align:center;max-width:850px;margin:-10px auto 24px;line-height:1.6;color:#606963}.consumer-note{text-align:center;font-size:.8rem;color:#666;max-width:850px;margin:30px auto}.menu-footer{text-align:center;background:#173e2d;color:white;padding:45px 20px}.menu-footer img{width:180px;background:white;padding:7px;border-radius:10px}.menu-footer a{color:white;font-weight:800}@media(max-width:700px){.menu-grid{grid-template-columns:1fr}.web-menu{padding:50px 14px}.menu-site-header img{width:105px}.menu-hero{min-height:300px}.menu-grid article{padding:17px}}

.menu-tabs{position:sticky;top:94px;z-index:15;display:flex;justify-content:center;gap:10px;max-width:650px;margin:0 auto 48px;padding:10px;background:#f7f3e9f2;border:1px solid #ded8ca;border-radius:18px;backdrop-filter:blur(10px)}
.menu-tab{appearance:none;border:0;border-radius:12px;padding:14px 28px;min-height:48px;background:transparent;color:#17412f;font:inherit;font-weight:800;cursor:pointer;transition:.2s ease}
.menu-tab:hover{background:#e9eee9}.menu-tab.active{background:#17412f;color:white}
.menu-panel[hidden]{display:none}.menu-panel.active{animation:menuFade .22s ease}
@keyframes menuFade{from{opacity:.25;transform:translateY(5px)}to{opacity:1;transform:none}}
@media(max-width:700px){.menu-tabs{top:78px;gap:5px;padding:7px;margin-bottom:34px}.menu-tab{flex:1;padding:12px 8px;font-size:.9rem}}
@media(prefers-reduced-motion:reduce){.menu-panel.active{animation:none}}

/* ===== Typography refresh =====
   Cleaner, friendlier cafe typography without the quirky display font. */
:root{
  --font-heading: Georgia, "Times New Roman", serif;
  --font-body: "Trebuchet MS", "Segoe UI", Arial, sans-serif;
}
body,button,input,textarea,select{
  font-family:var(--font-body)!important;
}
h1,h2,h3,.hero h1,.menu-hero h1,.menu-intro h2{
  font-family:var(--font-heading)!important;
  font-weight:700;
  letter-spacing:-0.025em;
}
h4,.menu-grid h4,.menu-tab,nav a,.eyebrow,.btn,.button{
  font-family:var(--font-body)!important;
}
.eyebrow{
  letter-spacing:.16em;
  font-weight:800;
}

/* ===== Menu footer redesign ===== */
.menu-footer{
  display:flex !important;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:12px;
  padding:42px 20px 36px !important;
  text-align:center !important;
  background:#173e2d;
  color:#fff;
}
.menu-footer img{
  width:145px !important;
  height:auto;
  margin:0 auto 6px;
  padding:6px;
  display:block;
  border-radius:10px;
  background:#fff;
}
.menu-footer p{
  margin:0;
  font-size:1rem;
  line-height:1.6;
}
.menu-footer a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-top:5px;
  padding:10px 18px;
  border:1px solid rgba(255,255,255,.55);
  border-radius:999px;
  color:#fff;
  text-decoration:none;
  font-weight:800;
  transition:.2s ease;
}
.menu-footer a:hover{
  background:#fff;
  color:#173e2d;
}
@media(max-width:700px){
  .menu-footer{padding:34px 18px 30px !important}
  .menu-footer img{width:125px !important}
  .menu-footer p{font-size:.92rem}
}
