:root {--cream: #F8F0E3; --paper: #FFFAF2; --red: #972317; --ink: #6F2D17; --muted: #795b4c; --display: "Bricolage Grotesque",sans-serif; --body: -apple-system,BlinkMacSystemFont,"Instrument Sans",sans-serif;}
* {box-sizing: border-box;}
html {scroll-behavior: smooth; scroll-padding-top: 110px; scrollbar-gutter: stable;}
body {margin: 0; color: var(--ink); background: var(--cream); font: 18px/1.6 var(--body); -webkit-font-smoothing: antialiased;}
main {overflow: clip;}
a {color: inherit; text-decoration: none;}
button,input {font: inherit;}
button,a {touch-action: manipulation;}
button {cursor: pointer;}
img {max-width: 100%; display: block;}
h1,h2,h3,p,figure {margin: 0;}
p+p {margin-top: 20px;}
h1,h2,h3 {font-family: var(--display); font-weight: 700; letter-spacing: -.015em; line-height: 1.03;}
h2 {font-size: clamp(40px,5.4vw,76px);}
h2 span,h2 em {color: var(--red); font-style: normal;}
p {text-wrap: pretty;}
a:focus-visible,button:focus-visible,input:focus-visible {outline: 3px solid #c46c32; outline-offset: 5px;}
::selection {background: var(--red); color: var(--paper);}
.wrap {width: min(1200px,88%); margin-inline: auto;}
.eyebrow {font-size: 14px; font-weight: 600; letter-spacing: .025em; margin-bottom: 24px;}
.topline {padding: 7px 6%; background: var(--red); color: var(--paper); display: flex; justify-content: space-between; font-size: 12px; letter-spacing: .02em;}
.header {padding: 15px 6%; display: flex; align-items: center; gap: 32px; justify-content: space-between; background: #fffaf2f5; position: sticky; top: 0; z-index: 30; backdrop-filter: blur(12px);}
.brand {display: flex; align-items: center; gap: 12px; font: 17px/1.15 var(--display); letter-spacing: -.04em;}
.brand img {mix-blend-mode: multiply; object-fit: contain;}
.brand b {font-size: 23px;}
.header nav {display: flex; gap: 32px; font-size: 15px; font-weight: 500;}
.header nav a {transition: color .2s;}
.header nav a:hover {color: var(--red);}
.button {display: inline-flex; align-items: center; justify-content: center; gap: 26px; background: var(--red); color: var(--paper); font-size: 15px; font-weight: 600; border: 0; border-radius: 100px; padding: 17px 25px; transition: transform .2s,background .2s,box-shadow .2s;}
.button:hover {background: #791c12; transform: translateY(-3px); box-shadow: 0 8px 20px #6f2d1720;}
.button:active {transform: translateY(0) scale(.98);}
.button.small {padding: 13px 20px; font-size: 14px;}
.text-cta {display: inline-flex; align-items: center; gap: 20px; font-size: 15px; font-weight: 600; padding: 12px 0;}
.text-cta span {transition: transform .2s;}
.text-cta:hover span {transform: translate(3px,-3px);}
.text-link,.light-link {font-size: 15px; text-decoration: underline; text-underline-offset: 6px;}
.nav-toggle {display: none;}
.newhero {position: relative; min-height: 760px; display: grid; grid-template-columns: 1fr 1.1fr; padding: 56px 6% 88px; align-items: center; background: var(--paper); isolation: isolate;}
.hero-content {position: relative; z-index: 3;}
.newhero h1 {font-size: clamp(62px,6.9vw,104px); line-height: .99; font-weight: 700; letter-spacing: -.015em; margin-bottom: 30px;}
.newhero h1 span {color: var(--red);}
.hero-content>p:not(.eyebrow) {max-width: 370px; font-size: 18px; line-height: 1.65;}
.actions {display: flex; align-items: center; gap: 24px; flex-wrap: wrap; margin: 28px 0;}
.hero-content .hero-footnote {font-size: 13px!important; color: var(--muted); margin-top: 32px;}
.hero-art {position: relative; min-width: 0; align-self: stretch; display: flex; align-items: center; justify-content: center;}
.hero-blob {position: absolute; width: 110%; height: 88%; background: #ead8bc; border-radius: 48% 51% 38% 61%/48% 35% 63% 51%; transform: rotate(-12deg); z-index: -1;}
.hero-product {width: 106%; flex: none; position: relative; z-index: 1;}
.pizza-cutout {width: 100%; height: auto; display: block; overflow: visible;}
.rotator {filter: drop-shadow(0 23px 18px #4b251b30); transform-origin: center; will-change: transform;}
.hero-seal {position: absolute; bottom: 2%; right: 2%; z-index: 4; width: 154px; height: 154px; border-radius: 50%; background: var(--red); color: var(--paper); font-size: 12px; text-align: center; display: flex; flex-direction: column; justify-content: center; align-items: center; transform: rotate(8deg);}
.hero-seal b {font-size: 14px;}
.hero-seal svg {width: 65px; margin-top: 10px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round;}
.hero-caption {position: absolute; bottom: -15px; left: 6%; font-size: 13px;}
.scroll-cue {position: absolute; bottom: 25px; left: 6%; font-size: 13px; display: flex; align-items: center; gap: 35px;}
.scroll-cue span {font-size: 22px;}
.product-stage {position: relative; min-width: 0; padding: 7%;}
.pizza-copy {position: relative; z-index: 2; max-width: 400px;}
.ingredients {font-size: 17px; line-height: 1.75; color: var(--muted); max-width: 350px;}
.feature-price {font-size: 27px; font-weight: 600; letter-spacing: -.04em; margin: 26px 0 12px; font-variant-numeric: tabular-nums;}
.feature-price small {display: block; font-size: 14px; font-weight: 400; letter-spacing: 0; color: var(--muted); margin-top: 3px;}
.feature-price small span {margin: 0 6px;}
.zingara-grid {display: grid; grid-template-columns: 1.5fr 1fr; gap: 8%; align-items: center; margin-top: -70px;}
.zingara-grid .product-stage {padding: 4%; margin-left: -3%;}
.zingara-grid .pizza-copy {padding-top: 70px;}
.zingara-grid .ingredients,.zingara-grid .feature-price small {color: #f8f0e3db;}
.zingara-grid h3 span {color: inherit;}
.devid-scroll {height: 820px; background: var(--red); position: relative; color: var(--paper); border-radius: 50% 0 0 0/35px 0 0 0;}
.devid-sticky {position: sticky; top: 85px; min-height: 0; padding: 35px 0; height: 600px; display: flex; align-items: center;}
.devid-grid {display: grid; grid-template-columns: 1.1fr 1fr; gap: 9%; align-items: center; padding-top: 135px; padding: 0; width: 100%;}
.devid-grid .product-stage {padding: 9%;}
.devid-grid .pizza-copy {padding-top: 30px; padding: 0; opacity: 1;}
.detail-photo {position: relative; aspect-ratio: 1; overflow: hidden; border-radius: 50%; margin-right: 12%;}
.detail-photo img {width: 100%; height: 100%; object-fit: cover; transform: scale(2.7); object-position: 52% 49%;}
.detail-photo span {position: absolute; bottom: 24px; left: 0; right: 0; text-align: center; font-size: 13px; background: #fffaf2ed; padding: 8px;}
.menu-section {padding-top: 70px; padding-bottom: 100px;}
.section-head {display: flex; justify-content: space-between; align-items: end; gap: 40px; margin-bottom: 55px;}
.section-intro {font-size: 17px; max-width: 380px;}
.section-intro p {margin-bottom: 20px;}
.menu-controls {display: flex; justify-content: space-between; gap: 20px; align-items: center; margin-bottom: 25px;}
.tabs,.sizes {display: flex; gap: 5px; background: #e9ddca; padding: 5px; border-radius: 50px;}
.tabs button,.sizes button {background: none; border: 0; border-radius: 50px; padding: 12px 23px; color: var(--ink); font-size: 15px; transition: background .2s,color .2s;}
.tabs button.active {background: var(--red); color: var(--paper);}
.sizes button.active {background: var(--paper); box-shadow: 0 2px 8px #6f2d1710;}
sup {font-size: 11px; margin-left: 5px;}
.search {display: flex; gap: 15px; align-items: center; background: var(--paper); padding: 15px 22px; border-radius: 12px; margin-bottom: 30px;}
.search>span:first-child {font-size: 25px;}
.search input {background: none; border: 0; color: var(--ink); width: 100%; min-width: 0; font-size: 16px; padding: 5px;}
.search input::placeholder {color: var(--muted);}
#result-count {white-space: nowrap; font-size: 13px; color: var(--muted);}
.pizza-list {display: grid; grid-template-columns: 1fr 1fr; gap: 12px 55px;}
.pizza-card {padding: 20px 15px; display: grid; grid-template-columns: 1fr auto; gap: 8px 15px; border: 0; border-radius: 12px; background: transparent; color: var(--ink); text-align: left; transition: background .2s,transform .2s;}
.pizza-card:hover {background: var(--paper); transform: translateY(-2px);}
.pizza-card h3 {font-family: var(--body); font-size: 21px; font-weight: 600; letter-spacing: 0;}
.pizza-card p {font-size: 15px; line-height: 1.6; color: var(--muted); grid-column: 1; margin: 0;}
.price {font-size: 17px; font-weight: 600; font-variant-numeric: tabular-nums;}
.request {grid-column: 2; align-self: end; font-size: 20px;}
.menu-foot {display: flex; justify-content: space-between; gap: 35px; font-size: 13px; color: var(--muted); margin-top: 40px;}
.menu-foot a {text-decoration: underline; text-underline-offset: 4px;}
#empty {padding: 25px; font-size: 16px;}
.story {background: #4b281c; color: var(--paper); padding: 100px 0; border-radius: 0 10% 0 0/0 70px 0 0;}
.story-inner {display: grid; grid-template-columns: .9fr 1fr; gap: 12%; align-items: center;}
.story-photo {position: relative;}
.story-photo img {width: 100%; height: 630px; object-fit: cover; border-radius: 220px 220px 12px 12px;}
.photo-label {position: absolute; bottom: 25px; left: 22px; background: var(--cream); color: var(--ink); padding: 10px 15px; border-radius: 30px; font-size: 12px;}
.story h2 {font-size: clamp(40px,4.4vw,62px); margin-bottom: 30px;}
.story em {color: #e3b389;}
.story-copy>p:not(.eyebrow) {font-size: 17px; color: #f1dec9;}
.story-values {display: grid; gap: 20px; margin: 32px 0;}
.story-values div {display: grid; gap: 2px;}
.story-values b {font-size: 16px; font-weight: 600;}
.story-values span {font-size: 15px; color: #e0c7b3;}
.gallery-section {padding: 105px 0;}
.gallery-title {display: flex; justify-content: space-between; gap: 40px; align-items: end; margin-bottom: 40px;}
.gallery-title p {font-size: 16px; max-width: 300px;}
.gallery {display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 26px; align-items: start;}
.gallery-item {border: 0; background: none; padding: 0; color: inherit; text-align: left;}
.gallery-item:nth-child(2) {margin-top: 65px;}
.gallery-item img {width: 100%; height: 390px; object-fit: cover; border-radius: 100px 100px 5px 5px; transition: transform .4s;}
.gallery-item:hover img {transform: translateY(-8px);}
.gallery-item span {font-size: 14px; display: flex; justify-content: space-between; margin-top: 18px;}
.checker {height: 14px; background: conic-gradient(var(--red) 25%,var(--cream) 0 50%,var(--red) 0 75%,var(--cream) 0); background-size: 28px 28px; width: 168px; margin: auto;}
.location {padding: 95px 0 100px;}
.location h2 {margin-bottom: 25px;}
.location>p:not(.eyebrow) {max-width: 570px;}
.contact {padding: 90px 0; background: var(--red); color: var(--paper); border-radius: 70px 70px 0 0;}
.contact em {color: #e9bc94;}
.contact-top {display: grid; grid-template-columns: 1.2fr 1fr; gap: 10%; align-items: center;}
.contact-top h2 {font-size: clamp(64px,8vw,110px);}
.contact-top>div>p {max-width: 340px; margin-bottom: 25px;}
.button.cream {background: var(--paper); color: var(--red);}
.contact-top .order-note {font-size: 13px; margin-top: 18px; opacity: .85;}
.contact-grid {display: grid; grid-template-columns: 1fr 1.2fr 1fr; gap: 6%; margin-top: 70px;}
.contact-grid h3 {font-family: var(--body); font-size: 16px; font-weight: 600; letter-spacing: -.02em; margin-bottom: 22px;}
.contact-grid p {font-size: 16px;}
.contact-grid .muted {font-size: 14px; color: #efcbbb; margin: 8px 0 20px;}
.hours {font-size: 15px; margin: 0;}
.hours div {display: flex; justify-content: space-between; gap: 20px; margin-bottom: 15px;}
.hours dd {margin: 0; text-align: right;}
.phone {font-size: 23px; font-weight: 500; white-space: nowrap; letter-spacing: -.04em;}
footer {padding: 30px 6%; display: flex; align-items: center; justify-content: space-between; gap: 20px; font-size: 13px;}
.footer-brand {font: 600 23px var(--display); letter-spacing: -.05em;}
.mobile-bar {display: none;}
.skip {position: fixed; top: -200px; left: 15px; z-index: 100; background: white; padding: 15px;}
.skip:focus {top: 10px;}
dialog {border: 0; border-radius: 24px; background: var(--paper); color: var(--ink); padding: 45px; width: calc(100% - 32px); max-width: 530px; max-height: 90dvh; box-shadow: 0 25px 90px #32180b50;}
dialog::backdrop {background: #32180bc9; backdrop-filter: blur(6px);}
dialog h2 {font-size: 42px; margin-bottom: 20px;}
dialog p {font-size: 16px; margin-bottom: 20px;}
.dialog-close {position: absolute; right: 12px; top: 10px; border: 0; background: var(--paper); width: 44px; height: 44px; border-radius: 50%; font-size: 28px; color: var(--ink); z-index: 3;}
.order-price {font-size: 26px; font-weight: 600;}
dialog .button {width: 100%;}
.dialog-call {display: block; margin-top: 20px; font-size: 14px; text-align: center; text-decoration: underline;}
#image-dialog {padding: 0; max-width: 780px; background: var(--paper);}
#image-dialog img {width: 100%; max-height: 85dvh; object-fit: contain;}
.reveal.in-view {animation: reveal .65s both;}
@keyframes reveal{from{opacity:.35;transform:translateY(22px)}to{opacity:1;transform:none}}
body:has(dialog[open]) {overflow: hidden;}
h2,h3 {letter-spacing: -.012em;}
.pizza-pair {display: grid; grid-template-columns: 1fr 1fr; gap: 9%; padding: 45px 0 40px;}
.compact-pizza {min-width: 0;}
.compact-pizza .wrap {width: 100%;}
.compact-pizza .zingara-grid {display: block; margin: 0;}
.compact-pizza .compact-stage {margin: 0; padding: 8% 13%; height: 340px; display: flex; align-items: center; justify-content: center;}
.compact-stage .rotator {width: 100%; max-width: 330px;}
.compact-pizza .pizza-copy {padding: 0; max-width: 100%;}
.compact-pizza .pizza-copy h2 {font-size: 48px; margin-bottom: 18px;}
.compact-pizza .pizza-copy .eyebrow {margin-bottom: 12px;}
.compact-pizza .ingredients {font-size: 16px; max-width: 100%;}
.compact-pizza .feature-price {margin: 17px 0 4px;}
.compact-napoli figure {height: 340px; padding: 15px 14% 25px; display: flex; align-items: center; justify-content: center;}
.napoli-cutout {height: 100%; filter: drop-shadow(0 18px 15px #4b251b30);}
.compact-pizza .pizza-copy h2 span {color: var(--red);}
.devid-grid .pizza-copy h2 {font-size: 74px; margin-bottom: 25px; letter-spacing: -.008em;}
.devid-grid .ingredients,.devid-grid .feature-price small {color: var(--cream);}
.devid-grid .menu-shortcut {display: flex; width: fit-content; font-weight: 400; margin-top: 14px; color: var(--cream); text-decoration: underline; text-underline-offset: 5px;}
.devid-grid .pizza-copy .eyebrow {font-size: 13px; max-width: 300px;}
.devid-grid .feature-price {margin-top: 22px;}
.compact-zingara .ingredients,.compact-zingara .feature-price small {color: var(--muted);}
.devid-grid .pizza-copy h2 span {color: inherit;}
.owner-teaser {display: flex; align-items: center; gap: 13px; width: fit-content; margin-top: 25px; font-size: 13px; line-height: 1.5;}
.owner-teaser img {width: 56px; height: 56px; object-fit: cover; object-position: 50% 42%; border-radius: 50%;}
.owner-teaser b {font-weight: 500; text-decoration: underline; text-underline-offset: 4px;}
.map-shell {position: relative; height: 460px; margin: 40px 0 16px; border-radius: 24px 80px 24px 24px; overflow: hidden; background: #ece9df; isolation: isolate;}
.map-fallback,#map {width: 100%; height: 100%; position: absolute; inset: 0;}
.map-fallback {object-fit: contain;}
#map {z-index: 2; background: #ece9df;}
.map-attribution {position: absolute; right: 0; bottom: 0; z-index: 3; font-size: 12px; padding: 3px 8px; background: #fffaf2f2; color: #442619;}
.map-attribution a {text-decoration: underline;}
.map-status {font-size: 14px; margin-bottom: 24px;}
.map-pin {width: 24px; height: 24px; background: var(--red); border: 4px solid white; border-radius: 50%; box-shadow: 0 2px 8px #0005;}
.leaflet-control-zoom a {min-width: 44px; min-height: 44px; line-height: 44px;}
.leaflet-container {font-family: var(--body); font-size: 14px;}
.leaflet-tooltip {white-space: normal; max-width: 190px;}
.leaflet-control-attribution {margin-bottom: 24px!important;}
[hidden] {display: none!important;}

@media (min-width:1600px) {
.newhero {padding-inline: max(6%,calc((100vw - 1380px)/2));}

}

@media (max-width:1000px) {
.header nav {gap: 18px;}
.header {gap: 20px;}
.newhero {min-height: 650px; padding-top: 40px;}
.newhero h1 {font-size: 74px;}
.hero-content>p:not(.eyebrow) {font-size: 17px;}
.hero-seal {width: 125px; height: 125px; bottom: 6%;}
.hero-art {align-self: center; min-height: 480px;}
.hero-blob {height: 85%;}
.actions {gap: 15px;}
.hero-caption {bottom: -10px;}
.story-photo img {height: 560px;}
.story-inner {gap: 7%;}
.gallery-item img {height: 310px;}
.contact-grid {gap: 4%;}
.phone {font-size: 21px;}
.devid-sticky {min-height: 700px;}
}

@media (max-width:760px) {
body {font-size: 17px;}
html {scroll-padding-top: 95px;}
.wrap {width: 88%;}
.topline {font-size: 10px; padding: 7px 5%;}
.header {padding: 12px 5%; gap: 12px;}
.brand {font-size: 14px; gap: 8px;}
.brand b {font-size: 20px;}
.brand img {width: 30px; height: 40px;}
.header>.button {display: none;}
.nav-toggle {display: flex; flex-direction: column; justify-content: center; gap: 6px; width: 46px; height: 46px; border: 0; background: var(--cream); border-radius: 50%; padding: 12px; margin-left: auto;}
.nav-toggle span {height: 2px; width: 22px; background: var(--ink); transition: transform .2s;}
.nav-toggle[aria-expanded=true] span:first-child {transform: translateY(4px) rotate(45deg);}
.nav-toggle[aria-expanded=true] span:last-child {transform: translateY(-4px) rotate(-45deg);}
.header nav {display: none; position: absolute; top: 100%; left: 0; right: 0; background: var(--paper); padding: 20px 6% 28px; box-shadow: 0 16px 20px #6f2d1710; flex-direction: column; gap: 4px;}
.header nav.open {display: flex; animation: reveal .2s;}
.header nav a {padding: 12px; font-size: 19px;}
.newhero {padding: 35px 6% 70px; display: flex; flex-direction: column; align-items: stretch; min-height: 0; gap: 24px;}
.newhero h1 {font-size: clamp(57px,12.4vw,88px); line-height: 1; letter-spacing: -.015em; margin-bottom: 22px;}
.hero-content>p:not(.eyebrow) {font-size: 16px; max-width: 350px;}
.eyebrow {font-size: 13px; margin-bottom: 20px;}
.actions {margin: 23px 0 0; gap: 20px;}
.button {font-size: 14px; padding: 15px 21px; gap: 16px;}
.text-cta {font-size: 14px;}
.hero-content .hero-footnote {display: none;}
.hero-art {width: 100%; min-height: 0; aspect-ratio: 1.1; align-self: center; max-width: 520px; margin: 12px 0 0;}
.hero-product {width: 88%;}
.hero-blob {width: 100%; height: 95%;}
.hero-seal {width: 105px; height: 105px; font-size: 10px; bottom: -7px; right: 0;}
.hero-seal b {font-size: 11px;}
.hero-seal svg {width: 46px; margin-top: 4px;}
.hero-caption {left: 0; bottom: -25px; font-size: 11px;}
.scroll-cue {display: none;}
.product-stage {padding: 12%;}
.pizza-copy {max-width: 100%;}
.ingredients {font-size: 16px; max-width: 100%;}
.feature-price {font-size: 26px; margin-top: 22px;}
.feature-price small {font-size: 14px;}
.zingara-grid {grid-template-columns: 1fr; gap: 25px; margin-top: -12px;}
.zingara-grid .product-stage {padding: 8%; margin: 0;}
.zingara-grid .pizza-copy {padding-top: 0;}
.devid-scroll {height: auto; border-radius: 45% 0 0 0/20px 0 0 0;}
.devid-sticky {position: relative; top: 0; padding: 38px 0 45px; min-height: 0; height: auto;}
.devid-grid {grid-template-columns: 1fr; gap: 15px; padding-top: 20px;}
.devid-grid .product-stage {padding: 7% 18%; max-width: 450px; margin: auto; width: 100%;}
.devid-grid .pizza-copy {padding: 0;}
.detail-photo {width: 52%; align-self: end; margin: 0; z-index: 2; box-shadow: 0 8px 25px #6f2d1720;}
.detail-photo span {font-size: 10px; bottom: 10px; padding: 5px;}
.menu-section {padding-top: 55px; padding-bottom: 70px;}
.section-head {display: block; margin-bottom: 30px;}
h2 {font-size: 42px;}
.section-intro {font-size: 16px; margin-top: 25px;}
.menu-controls {align-items: start; flex-direction: column; gap: 14px;}
.tabs button {font-size: 15px; padding: 11px 18px;}
.sizes {align-self: flex-end;}
.sizes button {font-size: 14px; padding: 9px 20px;}
.search {padding: 12px; gap: 8px;}
.search input {font-size: 16px;}
.search>span:first-child {display: none;}
#result-count {font-size: 12px;}
.pizza-list {grid-template-columns: 1fr; gap: 5px;}
.pizza-card {padding: 18px 4px;}
.pizza-card h3 {font-size: 21px;}
.pizza-card p {font-size: 15px;}
.menu-foot {display: block; font-size: 13px; margin-top: 30px;}
.menu-foot p+p {margin-top: 20px;}
.story {padding: 65px 0; border-radius: 0 65px 0 0;}
.story-inner {grid-template-columns: 1fr; gap: 40px;}
.story-photo {width: 90%;}
.story-photo img {height: auto; max-height: 530px; border-radius: 160px 160px 5px 5px;}
.photo-label {font-size: 11px; bottom: 18px; left: 15px;}
.story h2 {font-size: 42px;}
.story-copy>p:not(.eyebrow) {font-size: 16px;}
.gallery-section {padding: 70px 0;}
.gallery-title {display: block; margin-bottom: 30px;}
.gallery-title p {font-size: 16px; margin-top: 20px;}
.gallery {grid-template-columns: 1fr 1fr; gap: 28px 16px;}
.gallery-item:first-child {grid-column: 1/-1; width: 85%;}
.gallery-item:nth-child(2) {margin-top: 0;}
.gallery-item:nth-child(3) {margin-top: 35px;}
.gallery-item img {height: 230px; border-radius: 70px 70px 5px 5px;}
.gallery-item:first-child img {height: 380px;}
.gallery-item span {font-size: 13px; gap: 10px;}
.location {padding: 65px 0;}
.location>p:not(.eyebrow) {font-size: 16px;}
.contact {padding: 60px 0; border-radius: 40px 40px 0 0;}
.contact-top {display: block;}
.contact-top h2 {font-size: 66px; margin-bottom: 30px;}
.contact-top>div>p {font-size: 17px;}
.contact-grid {grid-template-columns: 1fr; gap: 35px; margin-top: 45px;}
.contact-grid h3 {margin-bottom: 17px;}
.hours {max-width: 340px; font-size: 15px;}
.phone {font-size: 25px;}
.contact-grid .muted {margin-bottom: 14px;}
footer {padding: 28px 6% 115px; flex-direction: column; align-items: start; gap: 12px;}
.mobile-bar {display: grid; grid-template-columns: 1fr 1.2fr; gap: 8px; position: fixed; bottom: 0; left: 0; right: 0; z-index: 35; background: #fffaf2f5; backdrop-filter: blur(10px); padding: 10px 14px max(10px,env(safe-area-inset-bottom)); box-shadow: 0 -6px 30px #6f2d1712;}
.mobile-bar a {text-align: center; font-size: 15px; font-weight: 600; padding: 12px; border-radius: 30px;}
.mobile-bar a:last-child {background: var(--red); color: var(--paper);}
dialog {padding: 45px 25px 28px; border-radius: 18px;}
dialog h2 {font-size: 38px;}
dialog p {font-size: 15px;}
.pizza-pair {gap: 44px; grid-template-columns: 1fr; padding: 35px 0 50px;}
.compact-pizza {display: grid; grid-template-columns: .8fr 1fr; gap: 18px; align-items: center;}
.compact-zingara>.wrap {display: contents;}
.compact-pizza .zingara-grid {display: contents;}
.compact-pizza .compact-stage {height: auto; padding: 7% 0; margin: 0;}
.compact-stage .rotator {width: 100%;}
.compact-pizza .pizza-copy h2 {font-size: 34px; margin-bottom: 12px;}
.compact-pizza .eyebrow {font-size: 12px; margin-bottom: 8px;}
.compact-pizza .ingredients {font-size: 14px; line-height: 1.6;}
.compact-pizza .feature-price {font-size: 22px; margin-top: 12px;}
.compact-pizza .feature-price small {font-size: 12px;}
.compact-pizza .text-cta {font-size: 13px; gap: 8px;}
.compact-napoli figure {height: 230px; padding: 0; width: 100%; margin: 0; display: flex; align-items: center;}
.devid-grid .pizza-copy h2 {font-size: 52px;}
.devid-grid .pizza-copy .eyebrow {max-width: none;}
.menu-shortcut {min-height: 44px;}
.devid-grid .menu-shortcut {padding-block: 12px;}
.owner-teaser {margin-top: 20px;}
.map-shell {height: 360px; border-radius: 18px 50px 18px 18px; margin-top: 30px;}
}



@media (min-width:761px) and (max-height:760px) {
.devid-sticky {height: 560px;}
.devid-scroll {height: 740px;}
.devid-grid .product-stage {padding: 12%;}
.devid-grid .pizza-copy h2 {font-size: 60px;}
}

@media (max-width:370px) {
.compact-pizza {grid-template-columns: 1fr; gap: 20px;}
.compact-pizza .compact-stage {max-width: 230px; margin: auto;}
.compact-napoli figure {width: 75%; margin: auto; height: 240px;}
}

@media (prefers-reduced-motion:reduce) {
html {scroll-behavior: auto;}
*,*:before,*:after {animation: none!important; transition: none!important;}
.rotator {transform: none!important; will-change: auto;}
.devid-scroll {height: auto;}
.devid-sticky {position: relative; top: 0; height: auto; min-height: 0; padding-block: 45px;}
.sequence-pizza,.devid-grid .pizza-copy {opacity: 1!important; transform: none!important;}
.devid-grid .pizza-copy {opacity: 1;}
}
