/* Focused detail pass on the restored v40 composition. Original artwork stays intact. */
:root{--gm-green:#183b2c;--gm-gold:#be9756;--gm-cream:#faf2de;--paper:var(--gm-cream);--ink:var(--gm-green);--gold:var(--gm-gold)}
/* Title Case is confined to headings, labels and controls; body copy stays readable. */
h1,h2,h3,h4,button,.button,label,.eyebrow,summary,.text-link,.gm-link-copy,.gm-breadcrumb,.gm-on-page,.customer-footer nav,.gm-nav-group>p,.hero-scene-caption{text-transform:capitalize}
.home-page .hero,.home-page .hero-copy,.home-page .catering,.customer-footer,.gm-green-panel{background-color:var(--gm-green)}
.home-page .hero-copy{position:relative;isolation:isolate;background-image:radial-gradient(ellipse at 20% 15%,#ffffff07,transparent 65%);background-size:cover;background-repeat:no-repeat}
.home-page .hero-copy::before{content:"";position:absolute;inset:0;z-index:-1;background:url('assets/gm-repeat-pattern.png') center/640px;mix-blend-mode:multiply;opacity:.075;pointer-events:none;mask-image:linear-gradient(100deg,transparent 2%,#000 28%,#000 80%,transparent)}
.topline .heritage-line{color:var(--gm-cream);font-size:15px;letter-spacing:.025em}
.home-page .hero-order .heritage-tagline{font:400 23px/1.35 GMBookman,Georgia,serif;color:var(--gm-cream);margin:0 0 20px;max-width:25ch}
.heritage-tagline strong{display:inline-block;font-size:31px;line-height:1.35}
.home-page .hero-order .intro{font-size:17px;line-height:1.6}
.home-page .hero-copy>.eyebrow{color:#e5bb7a}
.home-page .hero-foot{position:relative}
/* The seal is a heritage illustration, never a backdrop for the year. */
.neighborhood-story .heritage-emblem{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;padding:25px;background:transparent;border:0;box-shadow:none}
.neighborhood-story .heritage-emblem>img{width:180px;height:180px;aspect-ratio:1;object-fit:contain;animation:bagel-orbit 60s linear infinite}
.heritage-emblem figcaption{text-align:center;font:400 15px/1.5 Georgia,serif;color:var(--gm-green)}
.heritage-emblem figcaption strong{display:block;font:700 32px/1.3 GMBookman,Georgia,serif;margin-bottom:5px}
/* Transparent cutouts sit directly on the page, with breathing room. */
.menu-image,.menu-image>img,.catering-photo,.catering-photo>img,.local-food,.local-food>img,.catering-page-hero>img{background:transparent!important;border:0;box-shadow:none;filter:none}
.menu-image>img{width:100%;height:auto;max-height:340px;object-fit:contain;padding:15px}
.home-page .catering-photo{height:auto;min-height:0;max-height:410px;aspect-ratio:auto;padding:30px 6% 0}
.home-page .catering-photo>img{display:block;width:min(100%,560px);height:auto;max-height:370px;object-fit:contain;margin:auto;padding:0}
.catering-page-hero>img{width:100%;height:auto;max-height:460px;object-fit:contain}
.local-food>img{width:min(100%,800px);height:auto;max-height:420px;object-fit:contain;margin:auto;padding:25px}
/* Original logo shape changes only at the compact-header breakpoint. */
[data-gm-wayfinding] .gm-header{background-color:var(--gm-cream)}
[data-gm-wayfinding] .gm-header .site-logo{flex-basis:220px;min-width:0}
[data-gm-wayfinding] .gm-header .site-logo picture{display:block}
[data-gm-wayfinding] .gm-header .site-logo img{width:220px;height:auto;max-height:110px;object-fit:contain}
.gm-logo-since{display:none}
.customer-footer-brand>a{display:inline-block;background:transparent;padding:20px 24px;margin:0 0 12px;border:0;box-shadow:none}
.customer-footer-brand img.footer-gold-wordmark{display:block;width:min(100%,250px);height:auto;filter:none;background:transparent;object-fit:contain}
.customer-footer{color:var(--gm-cream)}
.gm-merch-note{display:flex;align-items:center;justify-content:space-between;gap:35px;padding:45px 6%;border-block:1px solid #183b2c30;background:var(--gm-cream)}
.gm-merch-note h2{font:700 clamp(26px,3vw,38px)/1.2 GMBookman,Georgia,serif;margin:12px 0}
.gm-merch-note p:not(.eyebrow){font-size:16px}
.gm-merch-note .button{flex-shrink:0}
@media(max-width:1259px){[data-gm-wayfinding] .gm-header .site-logo{flex:1 1 140px}[data-gm-wayfinding] .gm-header .site-logo img{width:152px;max-width:100%;height:auto;max-height:none}.gm-logo-since{display:block;width:152px;max-width:100%;text-align:center;font:400 13px/1.3 Georgia,serif;margin-top:3px}.home-page .hero-copy::before{background-size:520px}}
@media(max-width:760px){.home-page .hero-order{display:flex;flex-direction:column;gap:0;align-items:flex-start}.home-page .hero-order .heritage-tagline{font-size:20px;margin-bottom:14px}.heritage-tagline strong{font-size:28px}.home-page .hero-order .intro{font-size:16px;margin-bottom:22px}.home-page .hero-actions{width:100%}.neighborhood-story .heritage-emblem{flex-direction:row;justify-content:flex-start;padding:0;gap:24px}.neighborhood-story .heritage-emblem>img{width:112px;height:112px}.heritage-emblem figcaption{text-align:left}.heritage-emblem figcaption strong{font-size:28px}.gm-merch-note{flex-direction:column;align-items:flex-start;padding:35px 6%;gap:20px}.home-page .catering-photo{padding-top:20px}.home-page .hero-copy::before{opacity:.07;background-position:35% center}.customer-footer-brand>a{padding:16px 20px}.topline .heritage-line{font-size:13px}}
@media(prefers-reduced-motion:reduce){.neighborhood-story .heritage-emblem>img{animation:none}}
/* A small, consistent action system: solid ordering actions and quiet secondary links. */
:is(.home-page,.menu-page,.vision-page) .button,.button{--button-shadow:transparent;--button-bg:var(--gm-green);--button-ink:var(--gm-cream);display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:13px 22px;border:1px solid transparent;border-radius:7px;background:var(--gm-green);color:var(--gm-cream);box-shadow:none;transform:none;font:700 16px/1.35 GMBookman,Georgia,serif;letter-spacing:0;text-transform:capitalize;transition:background .15s ease,color .15s ease}
:is(.home-page,.menu-page,.vision-page) .button::before,:is(.home-page,.menu-page,.vision-page) .button::after,.button::before,.button::after{content:none;display:none}
:is(.home-page,.menu-page,.vision-page) .button:hover,.button:hover{background:#28533e;color:var(--gm-cream);box-shadow:none;transform:none}
:is(.home-page,.menu-page,.vision-page) .button.outline,.button.outline{--button-bg:transparent;--button-ink:var(--gm-green);background:transparent;color:var(--gm-green);border:0;border-bottom:1px solid currentColor;border-radius:0;padding:9px 0 7px;min-height:42px;box-shadow:none}
:is(.home-page,.menu-page,.vision-page) .button.outline:hover,.button.outline:hover{background:transparent;color:#42634e;border-bottom-width:2px;box-shadow:none}
.home-page .hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:18px 25px;width:100%}
.home-page .hero-actions .button{flex:0 1 auto;min-height:49px;padding:13px 22px;background:var(--gm-cream);color:var(--gm-green);border-color:transparent;justify-content:center}
.home-page .hero-actions .button:hover{background:#e8d8b7;color:var(--gm-green)}
.home-page .hero-actions .button.outline{background:transparent;color:var(--gm-cream);border-bottom:1px solid #faf2de9c;border-radius:0;padding:9px 0 7px;min-height:42px}
.home-page .hero-actions .button.outline:hover{border-bottom-color:var(--gm-cream)}
.catering-links .button,.coming-close.gm-green-panel .button{background:var(--gm-cream);color:var(--gm-green);border-color:transparent}
.catering-links .button:hover{background:#e8d8b7;color:var(--gm-green)}
.location-actions .button{min-width:0;width:auto}
[data-gm-wayfinding] .gm-header .gm-order{padding:13px 20px;min-height:48px;border-radius:7px;background:var(--gm-green);color:var(--gm-cream);font:700 15px/1.35 GMBookman,Georgia,serif;box-shadow:none}
[data-gm-wayfinding] .gm-header .gm-order>.gm-nav-art{display:none}
[data-gm-wayfinding] .gm-nav-toggle{border-color:#183b2c45;border-radius:5px;min-height:40px}
.text-link{border-bottom-color:#183b2c70;font-weight:600}
.catering .text-link{border-bottom-color:#faf2de80}
@media(max-width:600px){[data-gm-wayfinding] .gm-header .gm-order{font-size:14px;padding:12px 15px;min-height:44px}.home-page .hero-actions{gap:20px}.home-page .hero-actions .button{font-size:15px;padding:12px 19px;min-height:48px}.home-page .hero-actions .button.outline{padding:9px 0 7px;min-height:42px}.location-actions .button{width:auto}.gm-merch-note .button{font-size:15px}}

/* Keep approved Title Case even where older component rules forced capitals. */
body :is(h1,h2,h3,h4,label,button,summary,.eyebrow,.gm-link-copy,.text-link,.button,.gm-nav-group>p){text-transform:capitalize!important}
@media(max-width:340px){[data-gm-wayfinding] .gm-header .site-logo{flex:1 1 123px;width:auto}[data-gm-wayfinding] .gm-header .site-logo img,.gm-logo-since{width:130px}[data-gm-wayfinding] .gm-header .gm-order{font-size:13px;padding:12px}.topline{gap:8px;flex-wrap:wrap}.topline .heritage-line{font-size:12px}[data-gm-wayfinding] .home-page .hero h1.poster-title{font-size:clamp(36px,12vw,42px)}.home-page .hero-actions{gap:16px}.home-page .hero-actions .button{font-size:14px;padding:12px 17px}.home-page .hero-actions .button.outline{padding:9px 0 7px}.neighborhood-story .heritage-emblem{gap:16px}.neighborhood-story .heritage-emblem>img{width:88px;height:88px}.heritage-emblem figcaption strong{font-size:25px}}

/* A compact Menu control and a footer sized to its content. */
[data-gm-wayfinding] .gm-nav-toggle{width:auto;flex:0 0 auto;margin-left:auto;padding:10px 3px;min-height:44px;border:0;border-radius:0;box-shadow:none;gap:9px;background:transparent}
[data-gm-wayfinding] .gm-nav-toggle::before{content:"";display:block;width:17px;height:12px;border-block:1.5px solid currentColor;background:linear-gradient(currentColor,currentColor) center/100% 1.5px no-repeat}
[data-gm-wayfinding] .gm-header.gm-menu-open .gm-nav-toggle::before{transform:rotate(90deg)}
.customer-footer{grid-template-columns:minmax(0,.9fr) minmax(0,1.55fr) minmax(0,1fr);gap:32px}
[data-gm-wayfinding] .customer-footer>nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:start}
[data-gm-wayfinding] .gm-footer-group{min-width:0;gap:8px}
[data-gm-wayfinding] .gm-footer-group>a{font-size:15px;line-height:1.45;min-height:36px;padding:4px 0}
@media(max-width:1100px){.customer-footer{grid-template-columns:1fr 1fr}.customer-footer>nav{grid-column:1/-1;grid-row:2}.customer-footer .footer-contact{grid-column:2;grid-row:1}.customer-footer .customer-footer-bottom{grid-column:1/-1;grid-row:3}}
@media(max-width:700px){.customer-footer{grid-template-columns:1fr;gap:26px}[data-gm-wayfinding] .customer-footer>nav{grid-column:1;grid-row:auto;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 20px}.customer-footer .footer-contact{grid-column:1;grid-row:auto}.customer-footer .customer-footer-bottom{grid-column:1;grid-row:auto}.topline{justify-content:center}.topline .heritage-line{display:block!important}.topline>.motion-toggle{display:none}[data-gm-wayfinding] .gm-nav-toggle{flex-basis:100%;justify-content:flex-end;padding:7px 3px;margin-top:0;min-height:44px}}
.store-preference button{border:0;border-radius:0;background:transparent;box-shadow:none;padding:8px 0;text-decoration:underline;text-underline-offset:4px;font:400 14px/1.4 Arial,sans-serif}
.menu-page .category-filters button{border:1px solid #183b2c35;border-radius:999px;background:transparent;color:var(--gm-green);box-shadow:none;padding:9px 14px;min-height:40px;font:600 14px/1.3 Arial,sans-serif}
.menu-page .category-filters button.active{background:var(--gm-green);color:var(--gm-cream);border-color:var(--gm-green)}
.menu-page .category-filters button.active::before{display:none;content:none}
.menu-page .switches button{border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:var(--gm-green);box-shadow:none;padding:12px 18px;font:700 16px/1.35 GMBookman,Georgia,serif}
.menu-page .switches button.active{background:transparent;color:var(--gm-green);border-bottom-color:var(--gm-green)}
@media(max-width:340px){.story-page .chapter-family h2{font-size:30px;line-height:1.15;overflow-wrap:normal}}

/* The supplied seal is the primary header mark at every size. */
@media(max-width:1259px){[data-gm-wayfinding] .gm-header .site-logo img{width:170px;max-height:82px;height:auto}.gm-logo-since{width:170px;font-size:13px;margin-top:0}}
@media(max-width:380px){[data-gm-wayfinding] .gm-header .site-logo img,.gm-logo-since{width:142px}.gm-logo-since{font-size:12px}}
/* Branded wrapping-paper texture: source artwork, visually transparent on cream. */
:is(.collection-main,.community-main,.next-main,.editorial-main,.menu-app,.home-page .locations,.home-page .menu-section,.home-page .calm-refresh,.neighborhood-story,.gm-merch-note,.story-page .story,.story-page .chapter-family,.locations-page .locations,.catering-page-hero,.holiday-catering){position:relative;isolation:isolate}
:is(.collection-main,.community-main,.next-main,.editorial-main,.menu-app,.home-page .locations,.home-page .menu-section,.home-page .calm-refresh,.neighborhood-story,.gm-merch-note,.story-page .story,.story-page .chapter-family,.locations-page .locations,.catering-page-hero,.holiday-catering)::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:url('assets/gm-repeat-pattern.png') 30px 30px/640px 640px repeat;opacity:.055;mix-blend-mode:multiply}
.collection-main{background-color:var(--gm-cream)}
@media(max-width:600px){:is(.collection-main,.community-main,.next-main,.editorial-main,.menu-app,.home-page .locations,.home-page .menu-section,.home-page .calm-refresh,.neighborhood-story,.gm-merch-note,.story-page .story,.story-page .chapter-family,.locations-page .locations,.catering-page-hero,.holiday-catering)::before{background-size:500px 500px;opacity:.045}}

/* Real bagel artwork stays visible in the two store-order buttons. */
.location-actions .store-order{display:inline-flex;justify-content:space-between;gap:18px;min-width:230px;max-width:100%;padding:10px 15px 10px 20px}
.location-actions .store-order .store-order-bagel{display:block;width:36px;height:36px;flex:0 0 36px;object-fit:contain;filter:none;background:transparent}
.home-page .hero-loop-controls{justify-content:flex-end}
@media(max-width:380px){.location-actions .store-order{min-width:0;width:100%;font-size:15px;gap:10px;padding-left:15px}}

/* Cohesive deli controls: crisp serif labels, quiet corners and focus rings. */
:is(.home-page,.menu-page,.vision-page) .button,.button,[data-gm-wayfinding] .gm-header .gm-order{border-radius:4px;font-family:Georgia,serif}
:is(.home-page,.menu-page,.vision-page) .button.outline,.button.outline{border:1px solid var(--gm-green);border-radius:4px;padding:12px 20px;min-height:48px}
:is(.home-page,.menu-page,.vision-page) .button.outline:hover,.button.outline:hover{border-width:1px;background:#eee2c8}
.button:focus-visible,[data-gm-wayfinding] .gm-header a:focus-visible{outline:3px solid var(--gm-gold);outline-offset:4px}

/* Supporting UI remains serif alongside the house headline lettering. */
[data-gm-wayfinding] :is(button,input,select,textarea,option,.eyebrow,.fine-print,.gm-menu-caret,.gm-nav-toggle,.gm-nav-group>p,.gm-nav-group small,.gm-footer-group>p,.article-byline,.article-source){font-family:Georgia,'Times New Roman',serif}
[data-gm-wayfinding] .gm-header .gm-nav small,[data-gm-wayfinding] .store-preference button{font-family:Georgia,'Times New Roman',serif}
