/* Diner personality: real food, sign-painter type, and a restrained checker motif.
   Kept separate from earlier responsive refinements for a reviewable revision. */
/* Photo-based hero edit; previous hero versions remain in assets. */
.hero-concept .hero-visual{width:min(56%,1040px)}
@media(min-width:951px){.hero-concept .hero-visual{right:clamp(4px,calc(5vw - 47.5px),24px)}}
.hero-concept .hero-visual img{object-fit:contain;object-position:center;transform:none}
.hero-concept::after{background:none}
.hero-concept .hero-visual::after{display:none}
.hero-concept-label{margin:0;text-decoration:none;font-size:12px;line-height:1.4;min-height:0;padding:8px 12px}
@media(max-width:950px){.hero-concept .hero-visual{width:100%;height:auto;aspect-ratio:1.5}.hero-concept::after,.hero-concept .hero-visual::after{display:none}}
/* Phone-only contrast: red food stage, cream introduction; desktop remains red. */
@media(max-width:760px){
 .burger-hero.hero-concept{background:var(--cream);color:var(--ink);border-bottom:1px solid var(--line)}
 .hero-concept .hero-visual{background:#b51f18}
 .hero-concept-label{min-height:0;padding:10px 20px;font-size:12px;background:var(--cream);color:var(--muted)}
 .hero-concept .hero-content{padding-top:8px}
 .hero-concept .hero-content h1{color:var(--ink)}
 .hero-concept .hero-content h1 span,.hero-concept .hero-content .eyebrow{color:var(--red)}
 .hero-concept .hero-content>p:not(.eyebrow):not(.hero-open),.hero-concept .hero-content .hero-open{color:var(--ink)}
 .hero-concept .hero-content .button.gold{background:var(--red);border-color:var(--red);color:var(--cream)}
 .hero-concept .hero-content .button.gold:hover{background:#a51d17;border-color:#a51d17}
 .hero-concept .hero-content .text-link{color:var(--ink)}
 .hero-concept .hero-content .text-link:hover{color:var(--red)}
 .hero-concept .hero-content a:focus-visible{outline-color:var(--ink)}
}
.header.wrap{border-bottom:4px solid var(--gold)}
.button{box-shadow:0 3px 0 #24201e30;transition:background-color 160ms ease,box-shadow 160ms ease,transform 160ms ease}
.button:active{transform:translateY(2px);box-shadow:0 1px 0 #24201e30}
h1,h2{text-wrap:balance}
.footer{position:relative;border-top:0;padding-top:68px}
.footer::before,.final-cta::before{content:'';display:block;position:absolute;inset:0 0 auto;height:16px;background:repeating-conic-gradient(var(--cream) 0% 25%,var(--red) 0% 50%) 0 0/32px 32px}
.footer::before{background:repeating-conic-gradient(var(--gold) 0% 25%,var(--ink) 0% 50%) 0 0/32px 32px}
.favorites{padding-block:64px 32px}
.favorites .section-heading{align-items:end}
.favorites .eyebrow{margin:0 0 10px}
.favorites h2{font-size:clamp(44px,5.4vw,76px);color:var(--red)}
.food-grid{grid-template-columns:1.14fr 1fr;grid-template-rows:auto auto;gap:28px 40px}
.food-grid>article{display:grid;grid-template-columns:43% minmax(0,1fr);grid-template-rows:min-content min-content min-content 1fr;grid-row:auto;column-gap:22px;align-content:start}
.food-grid>article:first-child{display:block;grid-row:1/3}
.food-grid>article:not(:first-child)>.food-image{grid-row:1/5;height:100%}
.food-grid>article:not(:first-child)>:not(.food-image){grid-column:2}
.food-grid>article .food-image{display:block;overflow:hidden;border-radius:8px}
.food-grid>article .food-image img{height:100%;aspect-ratio:1;object-fit:cover;outline:0;transition:transform 240ms ease-out}
.food-grid>article:first-child .food-image{height:auto}
.food-grid>article:first-child .food-image img{height:auto;aspect-ratio:1.3}
.food-grid>article .food-title{margin:0}
.food-grid>article:first-child .food-title{margin-top:16px}
.food-grid .food-title h3{font-size:30px;line-height:1.03}
.food-grid>article:first-child h3{font-size:38px}
.food-grid .food-title a{text-decoration:none;min-height:44px}
.food-grid p{font-size:14px;line-height:1.5;margin:8px 0 0}
.food-grid .featured-price{flex-wrap:wrap;gap:8px 14px;margin-top:14px}
.food-grid .featured-price>div+div{padding-left:14px}
.food-grid .photo-credit{margin-top:12px;font-size:12px;align-self:end}
.diner-note{display:flex;align-items:center;justify-content:center;gap:24px;margin-top:32px;border-top:1px solid var(--line);padding-top:16px}
.diner-mascot{width:104px;height:104px;object-fit:contain;mix-blend-mode:multiply;transform:rotate(-5deg);flex-shrink:0}
.diner-note .combo-note{display:block;margin:0;padding:0;border:0;font-size:16px;max-width:400px;color:var(--ink)}
.diner-note .combo-note a{display:flex;width:fit-content;font-size:14px}
.melt-feature{display:grid;grid-template-columns:1.25fr 1fr;background:var(--red);color:var(--cream)}
.melt-feature figure{position:relative;margin:0;min-width:0}
.melt-feature figure>img{display:block;width:100%;height:100%;min-height:460px;object-fit:cover;object-position:center 65%}
.melt-feature figcaption{position:absolute;left:16px;bottom:12px;background:#24201ee6;color:var(--cream);border-radius:3px;padding-inline:10px;font-size:12px}
.melt-feature figcaption a{text-decoration:underline;text-underline-offset:3px}
.melt-copy{padding:64px clamp(32px,5vw,80px);align-self:center}
.melt-copy .eyebrow{color:#ffe28a}
.melt-copy h2{font-size:clamp(50px,5.5vw,82px);line-height:.95}
.melt-copy h2 span{color:var(--gold)}
.melt-copy>p:not(.eyebrow){max-width:360px;color:var(--cream);font-size:16px}
.melt-copy .text-link{min-height:44px}
.melt-feature a:focus-visible{outline-color:var(--gold)}
.local-story{background:var(--cream);padding-block:80px}
.local-story-grid{grid-template-columns:1.1fr 1fr;gap:70px}
.local-story figure{transform:rotate(-1.5deg);padding:12px 12px 0;background:#fff0d5;border:1px solid var(--line)}
.local-story figure img{aspect-ratio:1.35;border-radius:2px}
.local-story figcaption{margin:0}
.local-story h2{font-size:clamp(48px,5vw,72px)}
.reputation{background:var(--gold);padding-block:52px}
.reputation .eyebrow{color:var(--ink)}
.reputation .review{border-left:1px solid #24201e50}
.reputation .review p,.reputation .review p span,.reputation .review>a{color:var(--ink)}
.review-rating{display:flex;align-items:center;gap:12px;margin-bottom:14px;color:var(--ink);font-size:13px;font-weight:700;line-height:1.4}
.review-stars{display:inline-flex;gap:4px;flex-shrink:0}
.review-stars svg{display:block;width:18px;height:18px}
.home-visit{background:var(--red)}
.home-visit-details{min-width:0}
.home-visit .home-visit-details .hours{max-width:440px;margin-top:0}
.home-visit-grid>div>h2{margin-bottom:0}
.home-visit .hours dd,.footer-hours-time{white-space:nowrap}
.home-visit figcaption{color:var(--cream)}
.home-visit h2{font-size:clamp(52px,5vw,72px)}
.final-cta{position:relative;padding-block:68px 56px}
.final-cta h2{max-width:620px}
/* Menu: a food-led masthead and numbered, sign-like category headings. */
.menu-heading{gap:48px;padding-block:36px}
.menu-heading>div{flex:1;min-width:0}
.menu-heading h1{font-size:clamp(60px,7vw,100px)}
.menu-heading-photo{position:relative;width:34%;margin:0;flex-shrink:0;overflow:hidden;border-radius:8px}
.menu-heading-photo img{display:block;width:100%;height:auto;aspect-ratio:1.5;object-fit:cover;object-position:center 45%}
.menu-heading-photo figcaption{background:var(--gold);color:var(--ink);padding:10px 16px;font-weight:700;font-size:13px}
.menu-tools{border-top:3px solid var(--red);background:#fff0d5}
.menu-section-heading{position:relative;padding:18px 20px 18px 70px;background:#fff0d5;border-bottom:3px solid var(--red)}
.menu-number{position:absolute;left:18px;top:20px;color:var(--red);font:800 28px/1 var(--display)}
.menu-section-heading h2{font-size:38px}
.menu-section-heading p{max-width:600px}
.menu-sidebar nav>a[aria-current]{background:var(--gold);border-color:var(--ink);color:var(--ink)}
.menu-item h3{font-size:18px}
/* Story: the dining-room postcard and original-inspired mascot lead. */
.story-hero{grid-template-columns:1fr 1.1fr;gap:48px;padding-block:60px}
.story-hero h1{font-size:clamp(58px,6.3vw,90px)}
.story-hero h1 span{color:var(--red)}
.story-hero-image{padding:12px 12px 0;background:#fff0d5;border:1px solid var(--line);transform:rotate(1deg)}
.story-hero-image img{aspect-ratio:1.3;border-radius:2px}
.story-hero-image figcaption{padding-top:0}
.brand-story{background:var(--gold);border-radius:0;grid-template-columns:.8fr 1.2fr;gap:60px;padding:48px}
.brand-story>img{mix-blend-mode:multiply;transform:rotate(-4deg)}
.brand-story p:not(.eyebrow){color:var(--ink)}
.brand-story .eyebrow{color:var(--ink)}
.brand-story h2{font-size:clamp(46px,4.8vw,68px)}
/* Visit: preserve the compact contact layout; add character to the visual side. */
.visit-heading{border-bottom:0}
.visit-card{border-top:5px solid var(--red);border-radius:0 0 8px 8px}
.visit-visual>figure{padding:10px 10px 0;background:#fff0d5;border:1px solid var(--line);margin-bottom:20px}
.visit-visual>figure img{border-radius:2px;aspect-ratio:1.5;object-position:center top}
.visit-visual figcaption{margin:0}
.visit-visual figcaption a{padding-block:10px}
.map-directions{background:var(--gold);color:var(--ink);border-radius:6px;min-height:160px}
.map-directions .map-pin,.map-directions>svg{color:var(--red);flex-shrink:0}
.map-directions small{color:var(--ink)}
.map-directions:focus-visible{outline-color:var(--red)}
.map-directions:hover{background:#ffda65}
.visit-menu-link{display:flex;align-items:center;gap:32px;padding-block:40px 56px}
.visit-food-preview{display:block;width:200px;flex-shrink:0;border-radius:6px;overflow:hidden}
.visit-food-preview img{width:100%;height:140px;object-fit:cover}
.visit-menu-link .eyebrow{margin-bottom:8px}
.visit-menu-link h2{font-size:42px;margin-bottom:8px}
@media(hover:hover) and (pointer:fine){
 .food-grid .food-image:hover img{transform:scale(1.025)}
 .food-title a:hover{color:var(--red)}
}
@media(min-width:761px) and (max-width:1100px){
 .food-grid{gap:24px}
 .food-grid>article{grid-template-columns:36% minmax(0,1fr);column-gap:16px}
 .food-grid .food-title h3{font-size:26px}
 .food-grid>article:first-child h3{font-size:34px}
 .food-grid .featured-price{display:block}
 .food-grid .featured-price>div+div{padding:0;border:0;margin-top:4px}
 .melt-copy{padding:36px 28px}
 .melt-feature figure>img{min-height:420px}
 .local-story-grid{gap:40px}
 .story-hero{gap:32px}
 .story-hero h1{font-size:64px}
 .brand-story{gap:32px;padding:32px}
}
@media(max-width:760px){
 .header.wrap{border-bottom-width:3px}
 .favorites{padding-block:36px 24px}
 .favorites .section-heading{gap:12px;align-items:end}
 .favorites h2{font-size:40px;max-width:240px}
 .favorites .eyebrow{font-size:11px!important;letter-spacing:.1em}
 .food-grid{display:grid;grid-template-columns:1fr;grid-template-rows:none;gap:24px}
 .food-grid>article:first-child{grid-row:auto}
 .food-grid>article:not(:first-child){grid-template-columns:38% minmax(0,1fr);column-gap:16px;border-top:1px solid var(--line);padding-top:24px}
 .food-grid>article:first-child .food-image img{aspect-ratio:1.35}
 .food-grid>article .food-image img{min-height:150px}
 .food-grid>article:first-child h3{font-size:32px}
 .food-grid .food-title h3{font-size:27px}
 .food-grid .featured-price{gap:4px 12px;margin-top:10px}
 .food-grid>article:not(:first-child) .featured-price{display:block}
 .food-grid>article:not(:first-child) .featured-price>div+div{border:0;padding:0;margin-top:3px}
 .food-grid .featured-price dt{font-size:13px}
 .food-grid .featured-price dd{font-size:16px}
 .diner-note{gap:16px;margin-top:24px}
 .diner-mascot{width:82px;height:82px}
 .diner-note .combo-note{font-size:14px}
 .melt-feature{grid-template-columns:1fr}
 .melt-feature figure>img{height:auto;min-height:0;aspect-ratio:1.4;object-position:center 65%}
 .melt-copy{padding:28px 20px 32px}
 .melt-copy .eyebrow{margin-bottom:12px}
 .melt-copy h2{font-size:52px;max-width:430px;margin-bottom:16px}
 .melt-copy p:not(.eyebrow){margin-bottom:12px}
 .local-story{padding-block:42px}
 .local-story-grid{grid-template-columns:1fr;gap:26px}
 .local-story figure{transform:none;padding:8px 8px 0}
 .local-story h2{font-size:48px}
 .reputation{padding-block:36px}
 .review-layout{gap:24px}
 .review-layout h2{font-size:43px}
 .home-visit{padding-block:40px}
 .home-visit h2{font-size:50px}
 .footer{padding-top:48px}
 .footer-hours-days{display:block}
 .footer-hours-separator{display:none}
 .final-cta{padding-block:48px 36px}
 .final-cta h2{font-size:43px}
 .menu-heading{display:grid;grid-template-columns:1fr;gap:20px;padding-block:24px 20px}
 .menu-heading h1{font-size:44px}
 .menu-heading-photo{width:100%;border-radius:5px}
 .menu-heading-photo img{height:auto;aspect-ratio:1.5;object-position:center 45%}
 .menu-heading-photo figcaption{font-size:12px;padding:8px 12px}
 .menu-layout{padding-top:24px}
 .menu-section-heading{padding:15px 14px 15px 54px}
 .menu-number{left:14px;top:19px;font-size:23px}
 .menu-section-heading h2{font-size:33px}
 .menu-section{scroll-margin-top:198px}
 .story-hero{grid-template-columns:1fr;gap:24px;padding-block:28px 32px}
 .story-hero h1{font-size:56px}
 .story-hero-image{transform:none;margin:0;padding:8px 8px 0}
 .brand-story{grid-template-columns:1fr;gap:24px;padding:28px 20px;margin-bottom:36px}
 .brand-story>img{max-width:210px}
 .brand-story>div{padding:0}
 .brand-story h2{font-size:43px}
 .visit-card{border:0;border-radius:0;padding:0;background:transparent}
 .visit-visual>figure{padding:8px 8px 0}
 .visit-visual>figure img{aspect-ratio:1.3}
 .map-directions{min-height:154px;padding:22px 18px;gap:14px}
 .map-directions strong{font-size:28px;margin-bottom:8px}
 .visit-menu-link{gap:18px;padding-block:28px 36px}
 .visit-food-preview{width:32%}
 .visit-food-preview img{height:130px}
 .visit-menu-link h2{font-size:32px}
 .visit-menu-link .eyebrow{font-size:10px!important;letter-spacing:.08em}
}
@media(max-width:360px){
 .favorites h2{font-size:34px}
 .food-grid>article:not(:first-child){column-gap:12px;grid-template-columns:34% minmax(0,1fr)}
 .food-grid .food-title h3{font-size:25px}
 .food-grid p{font-size:13px}
 .story-hero h1{font-size:49px}
 .map-directions strong{font-size:24px}
 .visit-menu-link h2{font-size:28px}
}
@media(prefers-reduced-motion:reduce){.button,.food-grid .food-image img{transition:none}.food-grid .food-image:hover img,.button:active{transform:none}}
@media print{.menu-heading-photo,.menu-number{display:none}.menu-section-heading{padding:12px 0;background:white}.footer::before,.final-cta::before{display:none}}

/* Pete’s own porch and dining room, paired like a pair of keepsake photos. */
.local-story .local-photo-pair{display:grid;grid-template-columns:1fr 1fr;align-items:start;min-width:0}
.local-photo-pair .local-storefront{grid-column:1/-1;width:88%;transform:rotate(-2deg);padding:10px 10px 0;background:var(--paper);box-shadow:0 10px 24px #24201e12}
.local-photo-pair .local-storefront img{aspect-ratio:1024/817;object-fit:contain;border-radius:0}
.local-photo-pair .local-dining-room{grid-column:2;z-index:1;margin-top:-105px;margin-left:-20px;transform:rotate(3deg);padding:8px 8px 0;background:var(--paper);box-shadow:0 8px 20px #24201e18}
.local-photo-pair .local-dining-room img{aspect-ratio:4/3;object-fit:cover;border-radius:0}
.local-photo-pair figcaption{padding:10px 2px;font-size:14px;line-height:1.4;font-weight:600;color:var(--ink);text-decoration:none}
.local-photo-credit{grid-column:1/-1;justify-self:start;margin-top:18px;font-size:13px;color:var(--muted);text-underline-offset:3px}
.local-story-copy{min-width:0}
.local-story-copy h2{text-wrap:balance}
.local-story-copy>p:not(.eyebrow){font-size:16px;line-height:1.65;margin:0 0 18px}
.local-story-copy .text-link{margin-top:6px}
@media(max-width:950px) and (min-width:761px){
 .local-story-grid{gap:32px;grid-template-columns:1fr 1fr}
 .local-story h2{font-size:52px}
 .local-photo-pair .local-dining-room{margin-top:-60px;margin-left:-12px}
}
@media(max-width:760px){
 .local-story-grid{gap:28px}
 .local-story-copy{grid-row:1}
 .local-story h2{font-size:clamp(42px,11vw,54px);margin-bottom:18px}
 .local-story .eyebrow{font-size:12px;margin-bottom:12px}
 .local-photo-pair .local-storefront{width:87%;transform:none;padding:7px 7px 0}
 .local-photo-pair .local-dining-room{margin-top:-70px;margin-left:-14px;transform:none;padding:6px 6px 0}
 .local-photo-pair figcaption{font-size:13px;padding:8px 1px}
 .local-photo-credit{margin-top:12px}
}
