@charset "UTF-8";
:root {
  --red:#e30000; --red-hover:#bf0000; --yellow:#ffba00;
  --ink:#181818; --muted:#626268; --line:#e1e1e3; --surface:#f4f4f5;
  --font:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:104px; }
body { margin:0; color:var(--ink); background:#fff; font:1rem/1.65 var(--font); -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; }
button { font:inherit; cursor:pointer; }
a,button { -webkit-tap-highlight-color:transparent; }
img { display:block; max-width:100%; height:auto; }
h1,h2,h3,p,figure { margin:0; }
a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex="0"]:focus-visible { outline:3px solid #167dd7; outline-offset:5px; }
.container { width:min(100%,1360px); margin-inline:auto; padding-inline:48px; }
.section { padding-block:100px; }
.eyebrow { font-size:.75rem; line-height:1.7; letter-spacing:.12em; font-weight:750; }
h2 { font-size:clamp(2.1rem,3.7vw,3.2rem); line-height:1.14; letter-spacing:-.045em; font-weight:760; text-wrap:balance; }
h2 em { font-style:normal; color:var(--red); }
.skip-link { position:fixed; top:-100px; left:16px; padding:12px 18px; color:#000; background:#fff; border-radius:8px; z-index:100; }
.skip-link:focus { top:12px; }
.button { display:inline-flex; justify-content:center; align-items:center; min-height:50px; padding:13px 25px; border:1px solid transparent; border-radius:100px; color:#fff; background:var(--red); text-align:center; font-size:.875rem; font-weight:700; transition:background .2s,transform .2s; }
.button:hover { background:var(--red-hover); transform:translateY(-2px); }
.button-outline { border-color:var(--ink); color:var(--ink); background:transparent; }
.button-outline:hover { color:#fff; background:var(--ink); }
.button-yellow { color:#171717; background:var(--yellow); }
.button-yellow:hover { background:#ffd15d; }
.header { position:sticky; top:0; z-index:50; color:#fff; background:#000; border-bottom:1px solid #ffffff20; }
.header-inner { display:flex; align-items:center; gap:32px; min-height:88px; }
.brand { display:block; flex-shrink:0; }
.brand img { width:112px; height:66px; object-fit:contain; }
.header-brand { display:flex; align-items:center; min-height:54px; width:72px; }
/* This viewport shows only the original symbol, without redrawing the logo. */
.brand-symbol { display:block; position:relative; width:70px; height:48px; overflow:hidden; }
.header-brand .brand-symbol img { position:absolute; left:-49.6px; top:0; width:166.8px; height:98px; max-width:none; }
.header nav { display:flex; align-items:center; justify-content:center; gap:36px; margin-left:auto; }
.header nav a { padding-block:16px; color:#d1d1d6; font-size:.875rem; transition:color .2s; }
.header nav a:hover { color:var(--yellow); }
.header-order { margin-left:12px; }
.menu-toggle { display:none; }
.hero { background:#000; color:#fff; }
.hero-inner { display:grid; grid-template-columns:1fr 1.08fr; gap:72px; align-items:center; padding-top:40px; padding-bottom:44px; }
.hero-copy { min-width:0; padding-block:28px; }
.hero-eyebrow { display:flex; align-items:center; gap:12px; color:#c1c1c6; font-size:.75rem; letter-spacing:.11em; }
.hero-eyebrow > span { width:26px; height:2px; background:var(--red); flex-shrink:0; }
.hero h1 { margin:25px 0; font-size:clamp(3.2rem,5.1vw,4.7rem); line-height:1.08; letter-spacing:-.055em; font-weight:800; }
.hero h1 span { color:var(--yellow); }
.hero-description { font-size:1.125rem; line-height:1.75; color:#bbbcc2; }
.order-picker { margin-top:36px; scroll-margin-top:116px; }
.order-picker h2 { font-size:.9375rem; line-height:1.6; letter-spacing:0; font-weight:600; text-wrap:initial; }
.order-buttons { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:16px; }
.city-button { display:flex; align-items:center; gap:13px; padding:18px 20px; min-width:0; border:1px solid #ff38384d; border-radius:14px; background:var(--red); transition:background .2s,transform .2s; }
.city-button:hover { background:var(--red-hover); transform:translateY(-3px); }
.city-button svg { width:23px; height:23px; flex-shrink:0; }
.city-button span { display:flex; flex-direction:column; min-width:0; }
.city-button small { font-size:.875rem; line-height:1.4; }
.city-button strong { font-size:1.25rem; line-height:1.4; font-weight:750; letter-spacing:-.02em; }
.order-hint { margin-top:12px; color:#a5a5ad; font-size:.8125rem; }
.hero-visual { position:relative; min-width:0; overflow:hidden; border-radius:22px; background:#1c1a1a; }
.hero-visual > img { width:100%; aspect-ratio:3/4; object-fit:contain; object-position:center; }
.hero-visual figcaption { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:6px 20px; padding:17px 22px; background:var(--yellow); color:#181818; }
.hero-visual figcaption span:first-child { font-size:.75rem; font-weight:800; letter-spacing:.09em; }
.hero-visual figcaption span:last-child { font-size:.875rem; }
.hero-bottom { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px 30px; padding-block:25px; border-top:1px solid #ffffff26; color:#a6a6af; font-size:.8125rem; }
.hero-bottom > span:first-child { color:#e3e3e6; font-weight:600; }
.hero-bottom b { margin-inline:12px; color:var(--yellow); font-weight:400; }
.hero-bottom a { display:inline-flex; align-items:center; min-height:36px; color:#fff; text-decoration:underline; text-underline-offset:5px; text-decoration-color:#ffffff66; }
.hero-bottom a:hover { color:var(--yellow); }
.section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:40px; margin-bottom:42px; }
.section-heading .eyebrow,.about-copy .eyebrow { margin-bottom:18px; color:var(--red); }
.section-heading > p { max-width:310px; color:var(--muted); font-size:1rem; line-height:1.8; }
.pizza-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.pizza-card { min-width:0; }
.pizza-image { overflow:hidden; border-radius:18px; background:#191616; }
.pizza-image img { width:100%; aspect-ratio:3/4; object-fit:contain; }
.pizza-caption { display:flex; align-items:baseline; gap:14px; padding:20px 2px 0; }
.pizza-caption > span { color:#626268; font-size:.75rem; font-variant-numeric:tabular-nums; }
.pizza-caption h3 { font-size:1rem; line-height:1.5; letter-spacing:-.015em; font-weight:650; }
.gallery-bottom { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-top:36px; padding-top:28px; border-top:1px solid var(--line); }
.gallery-bottom p { font-size:1rem; color:var(--muted); }
.about { color:#fff; background:#111112; }
.about-inner { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:92px; }
.about-visual { position:relative; min-width:0; overflow:hidden; border-radius:20px; background:#211a16; }
.about-visual img { width:100%; aspect-ratio:1; object-fit:contain; }
.about-visual > span { position:absolute; left:22px; top:22px; padding:8px 13px; border-radius:100px; color:#fff; background:#000c; font-size:.75rem; line-height:1.6; font-weight:650; letter-spacing:.04em; }
.about-copy { min-width:0; }
.about-copy .eyebrow { color:var(--yellow); }
.about-copy h2 { font-size:clamp(2.3rem,4.4vw,4rem); }
.about-copy h2 em { color:var(--yellow); }
.about-copy > p:not(.eyebrow) { max-width:450px; color:#c4c4ca; font-size:1rem; line-height:1.85; margin-top:24px; }
.about-copy .button { margin-top:28px; }
.locations { background:var(--surface); }
.location-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.location-card { padding:34px; background:#fff; border:1px solid var(--line); border-radius:20px; scroll-margin-top:110px; }
.location-top { display:flex; align-items:center; justify-content:space-between; }
.location-number { color:var(--muted); font-size:.75rem; letter-spacing:.1em; font-weight:650; }
.state { padding:4px 10px; border-radius:6px; color:var(--muted); background:var(--surface); font-size:.75rem; font-weight:650; }
.location-card h3 { margin:20px 0 8px; font-size:clamp(2rem,3.3vw,2.75rem); font-weight:750; line-height:1.1; letter-spacing:-.045em; }
.neighborhood { color:var(--red); font-size:.875rem; font-weight:600; }
.location-card address { margin-top:24px; color:var(--muted); font-size:1rem; font-style:normal; line-height:1.7; }
.phone { display:inline-flex; align-items:center; min-height:44px; margin-top:6px; font-size:1rem; font-weight:650; }
.phone:hover { color:var(--red); }
.location-actions { display:flex; align-items:center; gap:24px; margin-top:20px; }
.location-actions .button { flex:1; }
.text-button { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:8px 0; border:0; color:inherit; background:transparent; font-size:.875rem; font-weight:650; }
.text-button:hover { color:var(--red); }
.unit-hours { margin-top:24px; color:var(--muted); font-size:.875rem; line-height:1.7; }
.unit-links { display:flex; flex-wrap:wrap; align-items:center; gap:0 26px; border-top:1px solid var(--line); margin-top:22px; padding-top:14px; font-size:.875rem; font-weight:600; }
.unit-links a { display:inline-flex; align-items:center; min-height:44px; }
.unit-links a:hover { color:var(--red); }
.unit-links .view-map { margin-left:auto; }
.map-details { margin-top:24px; overflow:hidden; border:1px solid var(--line); border-radius:18px; background:#fff; scroll-margin-top:110px; }
.map-details > summary { display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:72px; padding:18px 28px; font-weight:650; cursor:pointer; list-style:none; }
.map-details > summary:focus-visible { outline-offset:-5px; }
.map-details > summary::-webkit-details-marker { display:none; }
.map-details > summary span { color:var(--red); font-size:1.6rem; font-weight:400; line-height:1; }
.map-details[open] > summary { border-bottom:1px solid var(--line); }
.map-details[open] > summary span { transform:rotate(45deg); }
.map-panel { display:grid; grid-template-columns:340px 1fr; }
.map-sidebar { padding:30px; }
.map-sidebar .eyebrow { color:var(--muted); }
.map-sidebar h3 { margin:16px 0; font-size:1.875rem; line-height:1.15; letter-spacing:-.04em; font-weight:750; }
.map-sidebar > p:not(.eyebrow) { color:var(--muted); font-size:.875rem; line-height:1.7; }
.map-tabs { display:flex; gap:4px; padding:5px; border:1px solid var(--line); border-radius:100px; margin:24px 0 16px; background:var(--surface); }
.map-tabs button { flex:1; min-height:44px; padding:9px 12px; border:0; border-radius:100px; color:var(--muted); background:transparent; font-size:.875rem; font-weight:650; }
.map-tabs button[aria-selected=true] { color:#fff; background:var(--ink); }
.map-tabs button:hover:not([aria-selected=true]) { color:var(--ink); background:#e6e6e8; }
.map-content { position:relative; min-height:390px; background:#e8e8eb; }
.map-content iframe { display:block; width:100%; height:100%; min-height:390px; border:0; }
.map-fallback { position:absolute; right:16px; bottom:16px; max-width:calc(100% - 32px); border:1px solid var(--line); border-radius:100px; padding:12px 20px; color:var(--ink); background:#fff; font-size:.875rem; font-weight:650; }
.map-fallback:hover { color:var(--red); }
.hours-note { margin-top:22px; color:var(--muted); font-size:.875rem; line-height:1.7; }
.closing { padding-block:68px; color:#fff; background:var(--red); }
.closing-inner { display:flex; align-items:center; justify-content:space-between; gap:40px; }
.closing .eyebrow { margin-bottom:20px; }
.closing h2 { font-size:clamp(2.5rem,4.4vw,4rem); }
.closing h2 span { color:#fff; }
.button-light { flex-shrink:0; padding:18px 28px; color:var(--ink); background:#fff; }
.button-light:hover { background:var(--yellow); }
footer { color:#fff; background:#000; }
.footer-main { display:flex; align-items:center; gap:72px; padding-block:40px; }
.footer-main > p { color:#a6a6ad; font-size:.875rem; }
.footer-cities { display:flex; flex-direction:column; font-size:.875rem; }
.footer-cities a,.back-top { display:inline-flex; align-items:center; min-height:44px; }
.footer-main a:not(.brand):hover { color:var(--yellow); }
.back-top { margin-left:auto; font-size:.875rem; }
.footer-bottom { display:flex; justify-content:space-between; gap:20px; padding-block:22px; border-top:1px solid #ffffff26; color:#a6a6ad; font-size:.8125rem; }
@media (max-width:1100px) {
  .container { padding-inline:32px; }
  .hero-inner { gap:36px; }
  .hero h1 { font-size:clamp(2.75rem,5.1vw,4rem); }
  .city-button { padding:16px 12px; gap:9px; }
  .city-button strong { font-size:1.125rem; }
  .city-button svg { width:20px; }
  .pizza-grid { gap:20px; }
  .pizza-caption { gap:10px; }
  .about-inner { gap:55px; }
  .location-card { padding:28px; }
  .map-panel { grid-template-columns:310px 1fr; }
}
@media (max-width:800px) {
  html { scroll-padding-top:94px; }
  .container { padding-inline:24px; }
  .section { padding-block:72px; }
  .header-inner { min-height:78px; gap:16px; }
  .header-order { margin-left:auto; padding:10px 22px; min-height:44px; }
  .menu-toggle { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; width:44px; height:44px; padding:0; flex-shrink:0; border:1px solid #ffffff40; border-radius:50%; background:transparent; }
  .menu-toggle span { width:18px; height:2px; background:#fff; transition:transform .2s; }
  .menu-toggle[aria-expanded=true] span:first-child { transform:translateY(4px) rotate(45deg); }
  .menu-toggle[aria-expanded=true] span:last-child { transform:translateY(-4px) rotate(-45deg); }
  .header nav { display:none; position:absolute; top:100%; left:0; right:0; padding:12px 24px 20px; border-bottom:1px solid #ffffff30; background:#000; }
  .header nav.open { display:flex; flex-direction:column; align-items:stretch; gap:0; }
  .header nav a { padding:14px 0; font-size:1rem; }
  .hero-inner { gap:26px; padding-block:30px; grid-template-columns:1fr 1fr; }
  .hero-copy { padding-block:10px; }
  .hero h1 { font-size:2.7rem; }
  .hero-description { font-size:1rem; }
  .hero-visual > img { aspect-ratio:3/4; object-fit:contain; }
  .hero-visual figcaption { padding:15px 18px; }
  .order-picker { margin-top:25px; }
  .order-buttons { grid-template-columns:1fr; gap:8px; }
  .city-button { padding:12px 16px; gap:12px; }
  .city-button span { flex-direction:row; align-items:baseline; flex-wrap:wrap; gap:6px; }
  .section-heading { gap:24px; }
  .section-heading > p { max-width:250px; }
  .pizza-caption > span { display:none; }
  .pizza-caption h3 { font-size:.875rem; }
  .about-inner { gap:32px; }
  .about-copy h2 { font-size:2.4rem; }
  .about-visual > span { top:15px; left:15px; max-width:calc(100% - 30px); font-size:.75rem; }
  .location-grid { gap:16px; }
  .location-card { padding:24px; }
  .location-actions { flex-direction:column; gap:8px; align-items:stretch; }
  .unit-links { column-gap:18px; }
  .unit-links .view-map { margin-left:0; }
  .map-panel { grid-template-columns:280px 1fr; }
  .map-sidebar { padding:24px; }
  .map-tabs button { padding-inline:8px; }
  .footer-main { gap:36px; flex-wrap:wrap; }
}
@media (max-width:700px) {
  .container { padding-inline:20px; }
  .section { padding-block:60px; }
  .header-inner { min-height:76px; gap:12px; }
  .header-brand { width:66px; }
  .brand-symbol { transform:scale(.9); transform-origin:left center; }
  .header-order { padding-inline:20px; }
  .hero-inner { grid-template-columns:1fr; gap:28px; padding-top:30px; padding-bottom:26px; }
  .hero-copy { padding:0; }
  .hero h1 { font-size:clamp(2.7rem,9.3vw,4rem); margin-block:22px 18px; }
  .hero-description br { display:none; }
  .hero-description { max-width:390px; }
  .hero-eyebrow { font-size:.75rem; letter-spacing:.08em; }
  .order-picker { margin-top:26px; scroll-margin-top:98px; }
  .order-buttons { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-top:12px; }
  .city-button { padding:15px 14px; gap:10px; }
  .city-button span { flex-direction:column; align-items:flex-start; gap:0; }
  .city-button strong { font-size:1.1875rem; }
  .hero-visual { border-radius:16px; }
  .hero-visual > img { aspect-ratio:3/4; object-fit:contain; }
  .hero-visual figcaption { padding:16px 18px; }
  .hero-bottom { padding-block:16px; gap:8px 20px; }
  .hero-bottom > span:nth-child(2) { display:none; }
  h2 { font-size:clamp(2rem,7.6vw,3rem); }
  .section-heading { flex-direction:column; align-items:flex-start; gap:18px; margin-bottom:28px; }
  .section-heading .eyebrow { margin-bottom:14px; }
  .section-heading > p { max-width:440px; }
  .section-heading > p br { display:none; }
  .pizza-grid { display:flex; gap:16px; overflow-x:auto; scroll-snap-type:x mandatory; scroll-padding-inline:0; padding-bottom:18px; scrollbar-width:thin; scrollbar-color:var(--red) var(--line); }
  .pizza-card { flex:0 0 84%; scroll-snap-align:start; }
  .pizza-image { border-radius:14px; }
  .pizza-caption { padding-top:16px; }
  .pizza-caption h3 { font-size:1rem; }
  .gallery-bottom { flex-direction:column; align-items:flex-start; gap:16px; margin-top:20px; padding-top:24px; }
  .about-inner { grid-template-columns:1fr; gap:32px; }
  .about-copy h2 { font-size:clamp(2.4rem,9vw,3.5rem); }
  .about-visual { border-radius:16px; }
  .about-copy > p:not(.eyebrow) { margin-top:20px; }
  .location-grid { grid-template-columns:1fr; }
  .location-card { padding:26px 24px 18px; border-radius:18px; scroll-margin-top:98px; }
  .location-card h3 { font-size:2.25rem; }
  .location-actions { flex-direction:row; align-items:center; gap:20px; }
  .location-actions .button { padding-inline:18px; }
  .unit-links { justify-content:space-between; column-gap:12px; }
  .map-details { scroll-margin-top:98px; }
  .map-details > summary { padding:20px 24px; font-size:.9375rem; }
  .map-panel { grid-template-columns:1fr; }
  .map-sidebar { padding:26px 24px; }
  .map-sidebar h3 br { display:none; }
  .map-tabs { max-width:360px; }
  .map-content,.map-content iframe { height:310px; min-height:310px; }
  .map-fallback { padding:10px 16px; right:12px; bottom:12px; }
  .closing { padding-block:54px; }
  .closing-inner { flex-direction:column; align-items:flex-start; gap:28px; }
  .closing h2 { font-size:clamp(2.7rem,10vw,4rem); }
  .footer-main { display:grid; grid-template-columns:1fr 1fr; gap:24px; padding-block:32px; }
  .back-top { margin-left:0; }
  .footer-bottom { flex-direction:column; gap:6px; }
}
@media (max-width:360px) {
  .header-order { padding-inline:15px; }
  .hero h1 { font-size:2.5rem; }
  .city-button { padding:14px 10px; gap:7px; }
  .city-button svg { width:18px; }
  .city-button strong { font-size:1.0625rem; }
  .location-actions { flex-direction:column; align-items:stretch; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { transition:none!important; }
  .pizza-grid { scroll-snap-type:none; }
}
