* {
    box-sizing: border-box
}

html {
    scroll-behavior: smooth;
    scroll-padding-top: 95px
}

body {
    margin: 0;
    background: hsl(44.21, 100%, 92.55%);
    color: hsl(225.37, 46.07%, 17.45%);
    font-family: 'DM Sans', sans-serif;
    font-size: 15px
}

a {
    color: inherit;
    text-decoration: none
}

button {
    font: inherit
}

a,
button {
    -webkit-tap-highlight-color: transparent
}

a:focus-visible,
button:focus-visible,
[tabindex]:focus-visible {
    outline: 3px solid hsl(204.57, 73.41%, 33.92%);
    outline-offset: 5px
}

.announcement {
    background: hsl(204.57, 73.41%, 33.92%);
    color: hsl(44.21, 100%, 92.55%);
    text-align: center;
    padding: 10px;
    font-size: 11px;
    letter-spacing: 1.2px
}

.announcement span {
    margin-left: 8px
}

.header {
    max-width: 1440px;
    margin: auto;
    padding: 25px 6%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid #d8d3c9
}

.logo {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 800;
    font-size: 43px;
    letter-spacing: -1.5px;
    line-height: .9;
    display: inline-block
}

.logo span {
    display: block;
    font-family: 'DM Sans', sans-serif;
    font-size: 8px;
    letter-spacing: 2px;
    margin-top: 10px;
    font-weight: 600
}

.header nav {
    display: flex;
    align-items: center;
    gap: 36px;
    font-size: 13px;
    font-weight: 600
}

.header nav>a:not(.button):hover,
.text-link:hover {
    color: hsl(204.57, 73.41%, 33.92%)
}

.button {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    background: hsl(204.57, 73.41%, 33.92%);
    color: hsl(44.21, 100%, 92.55%);
    padding: 17px 23px;
    font-size: 13px;
    font-weight: 600;
    border: 1px solid hsl(204.57, 73.41%, 33.92%);
    transition: background .2s, transform .2s
}

.button:hover {
    background: hsl(225.37, 46.07%, 17.45%);
    transform: translateY(-2px)
}

.button span {
    font-size: 20px;
    line-height: 1
}

.button.small {
    padding: 13px 19px
}

.nav-toggle {
    display: none
}

.hero {
    max-width: 1440px;
    margin: auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    min-height: 630px;
    padding: 54px 6% 65px;
    align-items: center;
    gap: 35px
}

.eyebrow {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1.9px;
    display: block
}

.little-star {
    font-size: 19px;
    color: hsl(204.57, 73.41%, 33.92%);
    vertical-align: middle;
    margin-right: 8px
}

h1,
h2,
h3 {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    margin: 0;
    line-height: .98;
    letter-spacing: -1.5px
}

h1 {
    font-size: clamp(65px, 6.6vw, 100px);
    margin: 25px 0 22px
}

h1 em,
h2 em {
    font-style: normal;
    color: hsl(204.57, 73.41%, 33.92%)
}

p {
    line-height: 1.8;
    color: hsl(203.41, 19.81%, 40.59%)
}

.hero-copy>p {
    font-size: 15px
}

.hero-actions {
    display: flex;
    align-items: center;
    gap: 28px;
    margin-top: 28px
}

.text-link {
    font-size: 12px;
    font-weight: 700;
    display: inline-flex;
    gap: 22px;
    align-items: center
}

.hero-note {
    font-size: 9px;
    letter-spacing: 1px;
    font-weight: 600;
    margin-top: 44px;
    display: flex;
    align-items: center;
    gap: 9px
}

.status-dot {
    width: 6px;
    height: 6px;
    background: hsl(204.57, 73.41%, 33.92%);
    border-radius: 50%
}

.divider {
    margin: 0 8px;
    color: #b2aa9b
}

.hero-image {
    position: relative;
    height: 495px;
    margin-left: 10px
}

.hero-image>img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 160px 160px 3px 3px;
    background: #53748b
}

.image-caption {
    position: absolute;
    bottom: 20px;
    left: 24px;
    color: white;
    font-size: 9px;
    letter-spacing: 1.8px;
    text-shadow: 0 1px 5px #000
}

.round-badge {
    position: absolute;
    bottom: 40px;
    left: -48px;
    width: 137px;
    height: 137px;
    border-radius: 50%;
    background: hsl(194.55, 14.29%, 54.71%);
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: center;
    transform: rotate(-12deg);
    outline: 1px solid hsl(225.37, 46.07%, 17.45%);
    outline-offset: -8px
}

.round-badge span {
    font-size: 7px;
    letter-spacing: 1.4px;
    font-weight: 700
}

.round-badge strong {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 29px;
    line-height: 1;
    margin: 9px
}

.ticker {
    padding: 23px 4%;
    border-top: 1px solid #c7c2b7;
    border-bottom: 1px solid #c7c2b7;
    display: flex;
    align-items: center;
    justify-content: space-around;
    gap: 24px;
    overflow: hidden;
    white-space: nowrap;
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 23px;
    font-weight: 600;
    letter-spacing: .6px
}

.ticker b {
    color: hsl(204.57, 73.41%, 33.92%);
    font-size: 27px
}

.section {
    max-width: 1440px;
    margin: auto;
    padding: 85px 6%
}

.section-heading {
    display: flex;
    justify-content: space-between;
    align-items: end;
    margin-bottom: 34px
}

h2 {
    font-size: 63px;
    margin-top: 17px
}

.section-heading p {
    font-size: 13px;
    margin-bottom: 4px
}

.menu-tabs {
    display: flex;
    gap: 25px;
    border-bottom: 1px solid #cbc6bc;
    margin-bottom: 30px
}

.menu-tabs button {
    border: 0;
    background: none;
    padding: 14px 0;
    font-size: 12px;
    color: #77756c;
    cursor: pointer;
    border-bottom: 2px solid transparent
}

.menu-tabs button.active {
    color: hsl(204.57, 73.41%, 33.92%);
    border-color: hsl(204.57, 73.41%, 33.92%);
    font-weight: 700
}

.menu-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px
}

.menu-card {
    border: 1px solid #d5cfc3;
    padding: 27px 24px;
    min-height: 210px;
    position: relative
}

.menu-card .item-number {
    font-size: 9px;
    color: #918c80;
    letter-spacing: 1.5px
}

.menu-card h3 {
    font-size: 33px;
    margin-top: 22px;
    letter-spacing: -.5px
}

.menu-card p {
    font-size: 12px;
    line-height: 1.7;
    margin: 12px 0 21px;
    max-width: 260px
}

.menu-card .price {
    font-size: 16px;
    font-weight: 700;
    color: hsl(204.57, 73.41%, 33.92%)
}

.menu-card .tag {
    position: absolute;
    right: 20px;
    top: 23px;
    font-size: 8px;
    letter-spacing: 1px;
    padding: 5px 7px;
    background: #dce6ec;
    color: #405c70
}

.menu-footnote {
    display: flex;
    justify-content: space-between;
    gap: 25px;
    margin-top: 22px;
    font-size: 11px;
    color: #777367
}

.menu-footnote a {
    color: hsl(204.57, 73.41%, 33.92%);
    font-weight: 700;
    white-space: nowrap
}

.menu-footnote a span {
    margin-left: 12px
}

.specials {
    background: hsl(204.57, 73.41%, 33.92%);
    color: hsl(44.21, 100%, 92.55%);
    display: grid;
    grid-template-columns: 1.15fr 1fr 1fr;
    padding: 55px max(6%, calc((100vw - 1267px)/2));
    gap: 40px
}

.specials h2 {
    font-size: 53px
}

.specials h2 em {
    color: hsl(44.21, 100%, 92.55%)
}

.specials article {
    border-left: 1px solid #83a7bf;
    padding-left: 35px
}

.special-day {
    font-size: 9px;
    letter-spacing: 1.6px;
    font-weight: 700
}

.specials h3 {
    font-size: 37px;
    margin: 20px 0 12px;
    letter-spacing: -.5px
}

.specials p {
    color: #e0edf3;
    font-size: 12px
}

.specials article>strong {
    font-size: 32px;
    font-family: 'Barlow Condensed', sans-serif
}

.specials article>strong span {
    font-family: 'DM Sans', sans-serif;
    font-size: 8px;
    letter-spacing: 1px;
    margin-left: 12px
}

.story {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 90px;
    align-items: center
}

.story-art {
    height: 400px;
    background: #dce6ec;
    border: 1px solid #d2c9b7;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: relative;
    text-align: center;
    overflow: hidden
}

.art-top,
.art-bottom {
    font-size: 8px;
    letter-spacing: 1.5px;
    font-weight: 600;
    position: absolute;
    left: 10px;
    right: 10px
}

.art-top {
    top: 26px
}

.art-bottom {
    bottom: 25px
}

.pizza-drawing {
    font-size: 160px;
    color: hsl(204.57, 73.41%, 33.92%);
    line-height: 1
}

.story-art strong {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 47px;
    line-height: .95;
    letter-spacing: -1px;
    transform: rotate(-5deg)
}

.story-copy h2 {
    font-size: 60px
}

.story-copy p {
    font-size: 13px;
    margin: 22px 0
}

.story-copy .text-link {
    margin-top: 10px;
    border-bottom: 1px solid #b1a996;
    padding-bottom: 8px
}

.visit {
    border-top: 1px solid #d8d3c9;
    display: grid;
    grid-template-columns: .85fr 1.15fr;
    gap: 65px;
    padding-top: 65px;
    padding-bottom: 65px
}

.visit h2 {
    font-size: 68px
}

.visit-copy>p {
    font-size: 16px;
    color: #494b42;
    margin: 25px 0
}

.visit-details {
    display: flex;
    flex-direction: column;
    gap: 21px;
    margin-bottom: 27px
}

.visit-details div>span {
    display: block;
    font-size: 8px;
    letter-spacing: 1.4px;
    margin-bottom: 8px;
    color: #777267
}

.visit-details strong,
.visit-details a {
    font-size: 13px;
    font-weight: 600
}

.map-card {
    position: relative;
    min-height: 430px;
    background: #dce6ec
}

.map-card iframe {
    width: 100%;
    height: 100%;
    min-height: 430px;
    border: 0;
    filter: none
}

.map-label {
    position: absolute;
    bottom: 24px;
    left: 24px;
    right: 24px;
    background: hsl(44.21, 100%, 92.55%);
    padding: 20px;
    box-shadow: 0 3px 16px #0001
}

.map-label strong {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 23px
}

.map-label span {
    display: block;
    font-size: 10px;
    margin-top: 5px;
    color: #726d60
}

footer {
    background: hsl(225.37, 46.07%, 17.45%);
    color: hsl(44.21, 100%, 92.55%);
    padding: 35px 6%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px
}

footer .logo {
    font-size: 33px
}

footer .logo span {
    font-size: 6px
}

footer p {
    color: #d9d3c6;
    font-size: 12px
}

footer>span,
footer>a:last-child {
    font-size: 10px;
    color: #c1bcaf
}

@media(min-width:1600px) {
    .specials {
        padding-left: calc((100vw - 1267px)/2);
        padding-right: calc((100vw - 1267px)/2)
    }
}

@media(max-width:1050px) {
    .hero {
        min-height: 540px;
        gap: 20px
    }

    .hero-image {
        height: 420px
    }

    h1 {
        font-size: 76px
    }

    .hero-actions {
        gap: 15px
    }

    .button {
        gap: 18px
    }

    .hero-note {
        font-size: 8px
    }

    .story {
        gap: 45px
    }

    .story-copy h2 {
        font-size: 51px
    }

    .specials {
        gap: 24px
    }

    .specials h2 {
        font-size: 46px
    }

    .specials article {
        padding-left: 24px
    }

    .header nav {
        gap: 24px
    }
}

@media(max-width:760px) {
    .announcement {
        font-size: 9px
    }

    .header {
        padding: 20px 6%;
        position: relative
    }

    .logo {
        font-size: 36px
    }

    .nav-toggle {
        display: flex;
        flex-direction: column;
        gap: 6px;
        padding: 10px;
        background: transparent;
        border: 0;
        cursor: pointer
    }

    .nav-toggle span {
        height: 2px;
        width: 24px;
        background: hsl(225.37, 46.07%, 17.45%)
    }

    .header nav {
        display: none;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        padding: 25px 6%;
        background: hsl(44.21, 100%, 92.55%);
        z-index: 10;
        box-shadow: 0 8px 10px #0001;
        align-items: stretch
    }

    .header nav.open {
        display: flex;
        flex-direction: column;
        gap: 20px
    }

    .hero {
        grid-template-columns: 1fr;
        padding-top: 38px;
        padding-bottom: 40px;
        gap: 35px
    }

    .hero h1 {
        font-size: 79px
    }

    .hero-copy>p {
        font-size: 14px
    }

    .hero-note {
        margin-top: 28px
    }

    .hero-image {
        height: 400px;
        margin-left: 22px;
        margin-right: 8px;
        border-radius: 120px
    }

    .hero-image>img {
        border-radius: 140px 140px 3px 3px
    }

    .round-badge {
        left: -26px;
        width: 115px;
        height: 115px;
        bottom: 30px
    }

    .round-badge strong {
        font-size: 24px
    }

    .round-badge span {
        font-size: 6px
    }

    .ticker {
        justify-content: flex-start;
        font-size: 20px;
        padding: 18px 6%
    }

    .section {
        padding: 55px 6%
    }

    .section-heading {
        display: block
    }

    .section-heading h2,
    h2 {
        font-size: 54px
    }

    .section-heading p {
        margin-top: 20px
    }

    .menu-grid {
        grid-template-columns: 1fr
    }

    .menu-card {
        min-height: 180px
    }

    .menu-card h3 {
        margin-top: 16px
    }

    .menu-card p {
        max-width: none
    }

    .menu-tabs {
        gap: 22px
    }

    .menu-tabs button {
        font-size: 11px
    }

    .menu-footnote {
        flex-direction: column;
        gap: 12px;
        line-height: 1.7
    }

    .specials {
        grid-template-columns: 1fr;
        padding: 40px 6%;
        gap: 28px
    }

    .specials h2 {
        font-size: 54px
    }

    .specials article {
        border-left: 0;
        border-top: 1px solid #83a7bf;
        padding: 25px 0 0
    }

    .specials h3 {
        font-size: 36px
    }

    .story {
        grid-template-columns: 1fr;
        gap: 35px
    }

    .story-art {
        height: 340px
    }

    .story-copy h2 {
        font-size: 53px
    }

    .visit {
        grid-template-columns: 1fr;
        gap: 35px
    }

    .visit h2 {
        font-size: 60px
    }

    .map-card,
    .map-card iframe {
        min-height: 350px
    }

    footer {
        flex-wrap: wrap;
        padding: 30px 6%
    }

    footer p {
        width: 50%;
        text-align: right
    }

    footer>span,
    footer>a:last-child {
        margin-top: 10px
    }
}

@media(prefers-reduced-motion:reduce) {
    html {
        scroll-behavior: auto
    }

    * {
        transition: none !important
    }
}

/* Original 8Moose palette, extracted from its published Squarespace theme. */
:root {
    --brand-cream: hsl(44.21, 100%, 92.55%);
    --brand-navy: hsl(225.37, 46.07%, 17.45%);
    --brand-slate: hsl(203.41, 19.81%, 40.59%);
    --brand-light-blue: hsl(194.55, 14.29%, 54.71%);
    --brand-blue: hsl(204.57, 73.41%, 33.92%)
}

.reviews {
    border-top: 1px solid #c4cdd4
}

.reviews .section-heading {
    align-items: center;
    gap: 25px
}

.reviews-source {
    display: flex;
    align-items: center;
    gap: 24px;
    flex-wrap: wrap
}

.google-attribution {
    font-family: 'DM Sans', sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 14px;
    letter-spacing: normal;
    white-space: nowrap;
    color: #1f1f1f
}

.reviews-source strong {
    font-size: 25px;
    color: var(--brand-navy)
}

.reviews-source span:not(.google-attribution) {
    font-size: 12px
}

.reviews-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px
}

.review-card {
    border: 1px solid #c4cdd4;
    background: #fff9e8;
    padding: 25px;
    overflow-wrap: anywhere
}

.review-author {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 40px
}

.review-author img {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    object-fit: cover
}

.review-author a {
    font-size: 13px;
    font-weight: 700
}

.review-stars {
    color: var(--brand-blue);
    font-size: 19px;
    margin-top: 17px;
    letter-spacing: 3px
}

.review-date {
    font-size: 10px;
    color: #536473
}

.review-card p {
    font-size: 13px;
    white-space: pre-line
}

.review-card>a {
    font-size: 11px;
    text-decoration: underline;
    color: var(--brand-blue)
}

#reviews-status {
    font-size: 12px
}

#reviews-attributions {
    display: flex;
    gap: 20px;
    font-size: 11px;
    margin-top: 15px
}

@media(max-width:760px) {
    .reviews-grid {
        grid-template-columns: 1fr
    }

    .reviews .section-heading {
        display: block
    }

    .reviews .section-heading .button {
        margin-top: 25px
    }
}

/* Complete menu with individual prices and toppings. */
.menu-prices {
    margin: 22px 0 0
}

.menu-prices>div {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 7px 14px;
    padding: 12px 0;
    border-top: 1px solid #c4cdd4;
    font-size: 13px
}

.menu-prices dt {
    font-weight: 600
}

.menu-prices dd {
    margin: 0;
    color: var(--brand-blue);
    font-weight: 700;
    white-space: nowrap
}

.menu-prices .menu-item-note {
    grid-column: 1/-1;
    white-space: normal;
    color: var(--brand-slate);
    font-size: 11px;
    font-weight: 400;
    line-height: 1.7
}

.topping-list {
    list-style: none;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 11px 15px;
    padding: 0;
    margin: 22px 0 0;
    font-size: 12px;
    color: var(--brand-slate)
}

.menu-footnote {
    align-items: center
}

.menu-download {
    display: inline-flex;
    align-items: center;
    gap: 12px
}

.menu-card .tag {
    max-width: 55%;
    text-align: right
}

.menu-card h3 {
    padding-top: 8px
}

@media(max-width:760px) {
    .menu-footnote {
        align-items: flex-start
    }
}

/* Dedicated menu page. */
.header nav a[aria-current="page"] {
    color: var(--brand-blue);
    text-decoration: underline;
    text-underline-offset: 6px
}

.menu-page main {
    min-height: calc(100vh - 290px)
}

.menu-page .menu-section {
    padding-top: 65px
}

.menu-page h1 {
    font-size: 72px;
    margin: 17px 0 0
}

.menu-preview .section-heading {
    margin-bottom: 0;
    gap: 30px
}

.menu-preview .button {
    margin-top: 10px
}

@media(max-width:760px) {
    .menu-page h1 {
        font-size: 58px
    }

    .menu-page .menu-section {
        padding-top: 40px
    }
}
/* Official logo and footer shared by both pages. */
.header .header-brand{display:flex;align-items:center;gap:14px;letter-spacing:normal}
.header-brand img{display:block;width:52px;height:66px;object-fit:contain;background:var(--brand-navy);padding:5px;border-radius:4px}
.header-brand .brand-name{display:block;font-family:'Barlow Condensed',sans-serif;font-size:36px;font-weight:800;line-height:.9;letter-spacing:-1px;margin:0}
.header-brand .brand-location{display:block;font-family:'DM Sans',sans-serif;font-size:8px;font-weight:600;letter-spacing:1.7px;margin-top:9px}
.site-footer{display:block;padding:0;background:var(--brand-navy);color:var(--brand-cream);border-top:7px solid var(--brand-blue)}
.footer-inner{max-width:1440px;margin:auto;padding:0 6%}
.footer-invitation{display:flex;align-items:center;justify-content:space-between;gap:35px;padding:38px 0;border-bottom:1px solid #ffffff24}
.footer-invitation .eyebrow{color:#b5c8d5;font-size:9px}
.footer-invitation h2{font-size:46px;letter-spacing:-.7px;margin-top:12px}
.footer-invitation h2 em{color:var(--brand-cream);font-style:normal}
.footer-actions{display:flex;align-items:center;gap:28px;flex-shrink:0}
.site-footer .footer-order{background:var(--brand-cream);border-color:var(--brand-cream);color:var(--brand-navy)}
.site-footer .footer-order:hover{background:#ffffff;border-color:#ffffff}
.footer-menu-link{font-size:12px;font-weight:600;display:flex;align-items:center;gap:18px}
.footer-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr .8fr;gap:48px;padding:42px 0}
.footer-brand img{width:105px;height:133px;object-fit:contain;display:block}
.site-footer p{font-size:12px;line-height:1.8;color:#c2ceda;margin:17px 0 0;width:auto;text-align:left}
.footer-grid h3{font-family:'DM Sans',sans-serif;font-size:10px;letter-spacing:1.3px;text-transform:uppercase;font-weight:700;line-height:1.5;margin:7px 0 22px}
.footer-contact address{font-size:13px;line-height:1.9;font-style:normal;color:#dbe3ec}
.footer-phone{display:block;font-size:16px;font-weight:600;margin-top:18px;letter-spacing:.2px}
.footer-detail-link{display:inline-block;font-size:11px;color:#bfceda;margin-top:14px}
.footer-open{display:flex;gap:9px;align-items:center;font-size:12px;color:#dbe3ec}
.footer-open>span{height:6px;width:6px;border-radius:50%;background:var(--brand-cream)}
.site-footer .footer-time{font-family:'Barlow Condensed',sans-serif;font-size:34px;color:var(--brand-cream);letter-spacing:.2px;margin:9px 0 0;line-height:1.2}
.footer-nav{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.footer-nav h3{margin-bottom:10px}
.footer-nav a{font-size:12px;color:#dbe3ec}
.site-footer a:hover:not(.button){color:white}
.site-footer a:focus-visible{outline-color:var(--brand-cream)}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #ffffff24;padding:20px 0;color:#aebfd0;font-size:10px;line-height:1.7}
.footer-bottom a{color:var(--brand-cream);white-space:nowrap}
@media(max-width:1050px){.footer-grid{gap:25px}.footer-invitation h2{font-size:39px}.footer-actions{gap:20px}.header-brand .brand-name{font-size:32px}.header nav{gap:18px}}
@media(max-width:760px){.header-brand img{width:44px;height:56px}.header-brand .brand-name{font-size:30px}.header-brand .brand-location{font-size:7px}.site-footer{padding:0}.footer-invitation{display:block;padding:32px 0}.footer-invitation h2{font-size:41px}.footer-actions{flex-wrap:wrap;gap:22px;margin-top:24px}.footer-grid{grid-template-columns:1fr 1fr;gap:32px 24px;padding:32px 0}.footer-brand{grid-column:1/-1;display:flex;align-items:center;gap:25px}.footer-brand img{width:80px;height:102px}.site-footer .footer-brand p{margin:0;font-size:12px}.footer-nav{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:14px 24px}.footer-nav h3{grid-column:1/-1;margin:0 0 5px}.footer-grid h3{font-size:9px}.footer-bottom{flex-wrap:wrap;gap:10px 20px}.footer-bottom>span:first-child{width:100%}.footer-bottom>a{margin-left:auto}}
@media(max-width:360px){.footer-grid{grid-template-columns:1fr}.footer-nav{grid-template-columns:1fr 1fr}.footer-invitation h2{font-size:36px}}

/* Horizontal white logo on the brand navy header. */
.header{background:var(--brand-navy);color:var(--brand-cream);border-bottom:1px solid #ffffff24;padding-top:16px;padding-bottom:16px}
.header .header-brand{display:block;flex-shrink:0}
.header .header-brand img{width:248px;height:auto;max-height:94px;object-fit:contain;background:none;padding:0;border-radius:0}
.header nav>a:not(.button){color:var(--brand-cream)}
.header nav>a:not(.button):hover{color:#fff;text-decoration:underline;text-underline-offset:6px}
.header a:focus-visible,.header button:focus-visible{outline-color:var(--brand-cream)}
.header .nav-toggle span{background:var(--brand-cream)}
@media(max-width:1050px){.header .header-brand img{width:210px}.header nav{gap:18px;font-size:12px}}
@media(max-width:760px){.header{padding-top:14px;padding-bottom:14px}.header .header-brand img{width:190px;max-height:74px}.header nav{background:var(--brand-navy);color:var(--brand-cream)}}
/* Larger footer type, balanced columns, and an always reachable scroll control. */
.site-footer .footer-inner{max-width:1320px;padding:0 40px}
.site-footer .footer-invitation{padding:44px 0;gap:28px}
.site-footer .footer-invitation .eyebrow{font-size:11px;letter-spacing:1.7px}
.site-footer .footer-invitation h2{font-size:clamp(36px,3.7vw,54px);line-height:1.08;margin-top:14px}
.site-footer .footer-actions{gap:24px}
.site-footer .footer-menu-link{font-size:14px}
.site-footer .footer-grid{grid-template-columns:1.1fr 1fr 1fr .85fr;gap:42px;padding:46px 0}
.site-footer .footer-brand img{width:120px;height:152px}
.site-footer p{font-size:14px;line-height:1.75}
.site-footer .footer-grid h3{font-size:12px;letter-spacing:1px;margin-bottom:22px}
.site-footer .footer-contact address{font-size:15px;line-height:1.8}
.site-footer .footer-phone{font-size:20px;margin-top:20px}
.site-footer .footer-detail-link{font-size:13px;display:inline-flex;padding:8px 0}
.site-footer .footer-open{font-size:14px}
.site-footer .footer-time{font-size:40px}
.site-footer .footer-nav{gap:14px}
.site-footer .footer-nav h3{margin-bottom:8px}
.site-footer .footer-nav a{font-size:14px}
.site-footer .footer-bottom{font-size:12px;padding:22px 0 28px;gap:24px}
.back-to-top{position:fixed;right:max(24px,env(safe-area-inset-right));bottom:max(24px,env(safe-area-inset-bottom));z-index:50;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;width:56px;height:60px;padding:8px;border:1px solid #ffffff55;border-radius:12px;background:var(--brand-blue);color:#fff;box-shadow:0 5px 20px #0003;cursor:pointer;transition:background .2s,transform .2s}
.back-to-top[hidden]{display:none}
.back-to-top .top-arrow{font-size:25px;line-height:1}
.back-to-top .top-label{font-size:9px;font-weight:700;letter-spacing:1px}
.back-to-top:hover{background:var(--brand-navy);transform:translateY(-3px)}
.back-to-top:focus-visible{outline:3px solid var(--brand-cream);outline-offset:4px}
@media(max-width:1050px){.site-footer .footer-grid{gap:28px;grid-template-columns:1fr 1fr}.site-footer .footer-brand{display:flex;align-items:center;gap:24px}.site-footer .footer-brand p{margin:0}.site-footer .footer-invitation{align-items:flex-start}.site-footer .footer-actions{flex-direction:column;align-items:flex-start;gap:18px}}
@media(max-width:760px){.site-footer .footer-inner{padding:0 24px}.site-footer .footer-invitation{padding:32px 0}.site-footer .footer-invitation h2{font-size:40px}.site-footer .footer-invitation .eyebrow{font-size:10px}.site-footer .footer-actions{flex-direction:row;align-items:center;flex-wrap:wrap;gap:22px}.site-footer .footer-grid{padding:32px 0;gap:32px 24px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.site-footer .footer-brand img{width:85px;height:108px}.site-footer .footer-brand p{font-size:13px}.site-footer .footer-grid h3{font-size:11px}.site-footer .footer-contact address{font-size:14px}.site-footer .footer-phone{font-size:17px}.site-footer .footer-open{font-size:13px}.site-footer .footer-time{font-size:36px}.site-footer .footer-nav{gap:16px 24px}.site-footer .footer-bottom{padding-bottom:90px;gap:12px;font-size:11px}.back-to-top{right:18px;bottom:max(18px,env(safe-area-inset-bottom));width:52px;height:56px}}
@media(max-width:380px){.site-footer .footer-grid{grid-template-columns:1fr}.site-footer .footer-invitation h2{font-size:36px}}

/* Full-width sticky header with a centered content row. */
.header{max-width:none;width:100%;margin:0;padding:0;position:sticky;top:0;z-index:40;background:var(--brand-navy);border-bottom:1px solid #ffffff20;box-shadow:0 4px 20px #1020390d}
.header-inner{width:100%;max-width:1320px;margin:0 auto;padding:18px 40px;display:flex;align-items:center;justify-content:space-between;gap:36px}
.header .header-brand img{width:265px;height:auto;max-height:94px}
.header #navigation{display:flex;align-items:center;gap:28px;font-size:14px;font-weight:600}
.header #navigation>a:not(.button){padding:12px 0;white-space:nowrap;text-decoration:none;position:relative}
.header #navigation>a:not(.button)::after{content:'';position:absolute;bottom:4px;left:0;right:0;height:2px;background:var(--brand-cream);transform:scaleX(0);transform-origin:left;transition:transform .2s}
.header #navigation>a:hover::after,.header #navigation>a[aria-current="page"]::after{transform:scaleX(1)}
.header #navigation .button{background:var(--brand-cream);color:var(--brand-navy);border-color:var(--brand-cream);padding:15px 21px;border-radius:4px;font-size:13px;gap:25px;white-space:nowrap}
.header #navigation .button:hover{background:white;border-color:white}
.header .nav-toggle{display:none;width:46px;height:46px;align-items:center;justify-content:center;border:1px solid #ffffff40;border-radius:5px}
.header .nav-toggle span{transition:transform .2s;flex-shrink:0}
.header .nav-toggle[aria-expanded="true"] span:first-child{transform:translateY(4px) rotate(45deg)}
.header .nav-toggle[aria-expanded="true"] span:last-child{transform:translateY(-4px) rotate(-45deg)}
html{scroll-padding-top:135px}
@media(max-width:1200px){.header-inner{gap:24px;padding:18px 32px}.header .header-brand img{width:230px}.header #navigation{gap:21px;font-size:13px}}
@media(max-width:1200px){.header-inner{padding:16px 24px}.header .header-brand img{width:220px;max-height:78px}.header .nav-toggle{display:flex;flex-direction:column;gap:6px;padding:10px;background:transparent;cursor:pointer}.header .nav-toggle span{width:22px;height:2px}.header #navigation{display:none;position:absolute;top:100%;left:0;right:0;padding:16px 24px 24px;background:var(--brand-navy);border-top:1px solid #ffffff24;box-shadow:0 14px 22px #0002;align-items:stretch;gap:4px;font-size:16px;max-height:calc(100dvh - 130px);overflow-y:auto}.header #navigation.open{display:flex;flex-direction:column}.header #navigation>a:not(.button){padding:13px 0}.header #navigation>a:not(.button)::after{right:auto;width:32px}.header #navigation .button{margin-top:14px;justify-content:center;min-height:48px}html{scroll-padding-top:115px}}
@media(max-width:480px){.header-inner{padding:14px 20px}.header .header-brand img{width:195px;max-height:70px}.header #navigation{padding:12px 20px 22px}.announcement{font-size:9px;letter-spacing:.7px}}

/* Homepage passion message and takeout callout. */
.takeout-banner{background:var(--brand-navy);color:var(--brand-cream);text-align:center;padding:22px 24px;font-size:clamp(18px,2.3vw,30px);font-weight:700;letter-spacing:2px;text-transform:uppercase;line-height:1.5}
.takeout-banner a{text-decoration:underline;text-underline-offset:6px;white-space:nowrap}
.takeout-banner a:hover{color:white}
.passion-section{text-align:center;padding-top:76px;padding-bottom:80px;max-width:1200px}
.passion-section h2{font-family:'DM Sans',sans-serif;font-size:clamp(25px,3vw,38px);line-height:1.25;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--brand-navy);margin:0 0 28px}
.passion-section p{font-size:17px;line-height:1.85;max-width:960px;margin:0 auto 20px;color:var(--brand-navy)}
.passion-section p:last-child{margin-bottom:0}
@media(max-width:760px){.takeout-banner{font-size:18px;letter-spacing:1px;padding:20px}.passion-section{padding:48px 24px}.passion-section h2{font-size:26px;letter-spacing:1px}.passion-section p{font-size:15px;line-height:1.8}}

/* Visit page: contact and hours alongside a large Google map. */
.visit-page-main{background:#fff}
.visit-layout{display:grid;grid-template-columns:1fr 1fr;min-height:600px}
.visit-information{display:flex;justify-content:center;align-items:flex-start;padding:70px 40px}
.visit-information-inner{width:100%;max-width:330px}
.visit-information h1,.visit-information h2{font-family:'DM Sans',sans-serif;text-transform:uppercase;letter-spacing:2px;font-size:26px;font-weight:700;line-height:1.35;color:var(--brand-navy);margin:0 0 25px}
.visit-information address{font-style:normal;font-size:15px;line-height:1.8}
.visit-information address a,.visit-page-phone{color:var(--brand-slate);text-decoration:underline;text-underline-offset:3px}
.visit-page-phone{display:inline-block;margin-top:17px;font-size:15px}
.visit-information hr{border:0;border-top:1px solid #9aaab6;margin:70px 0 48px}
.visit-information p{font-size:15px;color:var(--brand-navy);margin:0}
.visit-directions{margin-top:30px}
.visit-page-map{min-height:600px;background:#edf1f3}
.visit-page-map iframe{display:block;width:100%;height:100%;min-height:600px;border:0;filter:none}
@media(max-width:760px){.visit-layout{grid-template-columns:1fr;min-height:0}.visit-information{padding:45px 24px}.visit-information-inner{max-width:none}.visit-information h1,.visit-information h2{font-size:24px}.visit-information hr{margin:36px 0 30px}.visit-page-map,.visit-page-map iframe{min-height:400px;height:400px}}

/* Weekly promotions: clear offers, generous type, and contrasting cards. */
.promotions-main{max-width:1320px;margin:0 auto;padding:65px 40px 60px}
.promotions-intro h1{font-size:clamp(64px,7vw,94px);margin:20px 0 22px;line-height:.98}
.promotions-intro-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}
.promotions-intro-bottom p{font-size:15px;margin:0;color:var(--brand-slate)}
.promotions-intro-bottom .text-link{padding-bottom:8px;font-size:13px;white-space:nowrap}
.promotion-cards{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;margin-top:40px}
.promotion-card{padding:32px;border-radius:8px;overflow:hidden;border:1px solid #16426625;display:flex;flex-direction:column}
.promotion-wednesday{background:#e2ebef;color:var(--brand-navy)}
.promotion-thursday{background:var(--brand-navy);color:var(--brand-cream)}
.promotion-card-top{display:flex;justify-content:space-between;align-items:center;gap:14px}
.promotion-day{font-size:10px;font-weight:700;letter-spacing:1px;border:1px solid currentColor;border-radius:30px;padding:9px 12px}
.promotion-number{font-size:8px;letter-spacing:1px;opacity:.65}
.promotion-offer{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-top:38px}
.promotion-offer h2{font-size:clamp(38px,3.8vw,54px);line-height:1;letter-spacing:-.5px;margin:0}
.promotion-price{font-family:'Barlow Condensed',sans-serif;font-size:100px;font-weight:700;line-height:.9;white-space:nowrap;position:relative;padding-bottom:22px}
.promotion-currency{font-size:43px;vertical-align:top;display:inline-block;padding-top:5px}
.promotion-price-caption{position:absolute;bottom:0;left:0;right:0;text-align:center;font-family:'DM Sans',sans-serif;font-size:8px;letter-spacing:.7px}
.promotion-card .promotion-combo{font-size:17px;font-weight:600;color:inherit;margin:25px 0 14px}
.promotion-card .promotion-description{font-size:14px;line-height:1.8;color:inherit;opacity:.8;margin:0 0 30px;max-width:430px}
.promotion-card-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid #728ba655;padding-top:20px;margin-top:auto}
.promotion-card-bottom>span{font-size:9px;font-weight:700;letter-spacing:1px}
.promotion-card-bottom a{font-size:12px;font-weight:600;text-decoration:underline;text-underline-offset:4px}
.promotion-thursday a:focus-visible{outline-color:var(--brand-cream)}
.promotions-note{display:flex;justify-content:space-between;gap:20px;margin-top:25px;font-size:12px;line-height:1.8;color:var(--brand-slate)}
.promotions-note a{font-weight:600;color:var(--brand-blue)}
.specials .promotions-preview-link{display:inline-flex;margin-top:22px;text-decoration:underline;text-underline-offset:5px;font-size:12px;font-weight:600;color:var(--brand-cream)}
.specials .promotions-preview-link{align-items:center;gap:10px;text-underline-offset:8px;text-decoration-thickness:2px}
.specials .promotions-preview-link .arrow-icon{width:1em;height:1em;flex:0 0 auto}
@media(max-width:1050px){.promotion-card{padding:25px}.promotion-number{display:none}.promotion-offer h2{font-size:42px}.promotion-price{font-size:85px}.promotion-card-bottom{align-items:flex-start;flex-direction:column;gap:12px}}
@media(max-width:760px){.promotions-main{padding:42px 24px}.promotions-intro h1{font-size:68px}.promotions-intro-bottom{display:block}.promotions-intro-bottom p{font-size:14px}.promotions-intro-bottom .text-link{margin-top:20px}.promotion-cards{grid-template-columns:1fr;gap:20px;margin-top:28px}.promotion-card{padding:25px}.promotion-offer{gap:12px;margin-top:28px}.promotion-offer h2{font-size:40px}.promotion-price{font-size:82px}.promotion-currency{font-size:34px}.promotion-card .promotion-combo{font-size:16px}.promotions-note{flex-direction:column;gap:10px}}
@media(max-width:360px){.promotions-main{padding-left:18px;padding-right:18px}.promotion-card{padding:20px}.promotion-offer h2{font-size:35px}.promotion-price{font-size:74px}}

/* Story page with original dough photo and pop-up collage. */
.story-page-main{background:#fff}
.story-page-hero{position:relative;height:460px;background:var(--brand-navy);overflow:hidden}
.story-page-hero>img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 55%}
.story-hero-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;background:linear-gradient(0deg,#121f3c88,#121f3c33);color:var(--brand-cream)}
.story-hero-overlay .eyebrow{font-size:11px;letter-spacing:2px}
.story-hero-overlay h1{font-size:96px;margin:22px 0 0}
.story-welcome{display:grid;grid-template-columns:1fr 1.15fr;gap:85px;max-width:1240px;margin:auto;padding:80px 40px}
.story-welcome-heading h2{font-size:60px;line-height:1.02;margin:20px 0 32px;color:var(--brand-navy)}
.story-welcome-heading>img{display:block;width:100%;max-width:420px;height:auto}
.story-welcome-copy{padding-top:25px}
.story-welcome-copy p{font-size:15px;line-height:1.8;color:var(--brand-navy);margin:0 0 20px}
.story-welcome-copy .story-lead{font-size:20px;font-weight:600;line-height:1.65;margin-bottom:25px}
.story-welcome-copy .story-name-note{font-style:italic;color:var(--brand-slate)}
.story-welcome-copy .button{margin-top:10px;min-width:180px}
@media(max-width:1050px){.story-welcome{gap:45px}.story-welcome-heading h2{font-size:52px}}
@media(max-width:760px){.story-page-hero{height:330px}.story-hero-overlay h1{font-size:76px}.story-hero-overlay .eyebrow{font-size:9px;line-height:1.8}.story-welcome{grid-template-columns:1fr;padding:45px 24px;gap:28px}.story-welcome-heading h2{font-size:52px}.story-welcome-heading>img{max-width:360px}.story-welcome-copy{padding-top:0}.story-welcome-copy .story-lead{font-size:18px}}

/* Social accounts and local press. */
.socials-main{max-width:1500px;margin:auto;padding:65px 40px 80px}
.socials-intro h1{font-size:clamp(64px,7vw,94px);margin:20px 0 22px}
.socials-intro p{font-size:15px;max-width:580px}
.socials-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:60px;margin-top:45px}
.socials-group-number{font-size:10px;letter-spacing:1.5px;color:var(--brand-slate);font-weight:600}
.socials-group h2{font-size:42px;margin:15px 0 25px;letter-spacing:-.5px}
.socials-link{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:23px 0;border-top:1px solid #bac4c9;transition:color .2s}
.socials-link:last-child{border-bottom:1px solid #bac4c9}
.socials-link strong{display:block;font-size:20px;font-weight:600}
.socials-link>span>span{display:block;color:var(--brand-slate);font-size:13px;line-height:1.7;margin-top:6px}
.socials-arrow{font-size:25px;color:var(--brand-blue)}
.socials-link:hover{color:var(--brand-blue)}
@media(max-width:760px){.socials-main{padding:42px 24px 50px}.socials-intro h1{font-size:68px}.socials-columns{grid-template-columns:1fr;gap:38px;margin-top:35px}.socials-group h2{font-size:38px}.socials-link strong{font-size:18px}}

/* Flexbox gallery and accessible full-photo viewer. */
.gallery-main{max-width:1320px;margin:auto;padding:60px 40px 75px}
.gallery-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:38px}
.gallery-intro h1{font-size:clamp(64px,7vw,90px);margin:20px 0 0}
.gallery-intro p{font-size:14px;max-width:350px;margin:0}
.gallery-flex{display:flex;flex-wrap:wrap;gap:22px}
.gallery-photo{flex:0 1 calc((100% - 44px)/3);min-width:0;display:block;position:relative;overflow:hidden;border-radius:7px;background:var(--brand-navy);aspect-ratio:4/5;cursor:pointer}
.gallery-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s}
.gallery-photo:hover img{transform:scale(1.035)}
.gallery-photo:focus-visible{outline-offset:5px}
.gallery-photo .photo-expand{position:absolute;bottom:16px;right:16px;display:flex;align-items:center;justify-content:center;width:38px;height:38px;background:var(--brand-cream);color:var(--brand-navy);border-radius:50%;font-size:23px;box-shadow:0 2px 8px #0003}
.photo-viewer{border:0;padding:22px;background:#111b2c;color:#fff;width:min(1100px,96vw);max-width:96vw;max-height:94dvh;border-radius:10px;overflow:auto}
.photo-viewer::backdrop{background:#081020e8}
.viewer-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px;font-size:13px;color:#bdcbd7}
.photo-viewer button{border:1px solid #ffffff40;background:#ffffff10;color:white;border-radius:50%;width:46px;height:46px;flex-shrink:0;cursor:pointer;font-size:22px}
.photo-viewer button:hover{background:#ffffff25}
.photo-viewer button:focus-visible{outline:3px solid var(--brand-cream);outline-offset:3px}
.viewer-stage{display:flex;align-items:center;justify-content:space-between;gap:18px}
.viewer-stage img{min-width:0;max-width:calc(100% - 128px);width:auto;height:auto;max-height:70dvh;object-fit:contain}
.photo-viewer p{font-size:13px;text-align:center;line-height:1.6;color:#d3dce5;margin:16px 40px 0}
.photo-viewer #viewer-status:empty{display:none}
@media(max-width:1050px){.gallery-photo{flex-basis:calc((100% - 22px)/2)}}
@media(max-width:760px){.gallery-main{padding:40px 24px 50px}.gallery-intro{display:block}.gallery-intro h1{font-size:68px}.gallery-intro p{margin-top:20px}.gallery-flex{gap:14px}.gallery-photo{flex-basis:calc((100% - 14px)/2);aspect-ratio:3/4}.gallery-photo .photo-expand{bottom:10px;right:10px;width:30px;height:30px;font-size:19px}.photo-viewer{padding:14px}.viewer-stage{gap:8px}.photo-viewer button{width:38px;height:38px}.viewer-stage img{max-width:calc(100% - 92px);max-height:65dvh}.photo-viewer p{margin-left:0;margin-right:0;font-size:12px}}
@media(max-width:380px){.gallery-photo{flex-basis:100%;aspect-ratio:4/5}}

/* Printable menu button. */
.menu-footnote a.menu-download{background:var(--brand-blue);border-color:var(--brand-blue);color:var(--brand-cream);padding:15px 22px;min-height:48px;border-radius:4px;gap:20px;font-size:13px;text-decoration:none}
.menu-footnote a.menu-download:hover{background:var(--brand-navy);border-color:var(--brand-navy)}
.menu-footnote a.menu-download span{margin-left:0}
/* Menu category links open dedicated pages. */
.menu-category-nav{flex-wrap:wrap}
.menu-category-nav a{padding:14px 0;border-bottom:2px solid transparent;font-size:13px;color:var(--brand-slate)}
.menu-category-nav a[aria-current="page"]{color:var(--brand-blue);border-color:var(--brand-blue);font-weight:700}
.menu-category-nav a:hover{color:var(--brand-blue)}
@media(max-width:760px){.menu-category-nav{gap:20px}.menu-category-nav a{font-size:12px}}
/* Compact shared footer. */
.site-footer .footer-invitation{padding:24px 0;gap:20px}
.site-footer .footer-invitation h2{font-size:36px;margin-top:9px}
.site-footer .footer-invitation .eyebrow{font-size:9px}
.site-footer .footer-grid{padding:26px 0;gap:30px}
.site-footer .footer-brand img{width:80px;height:101px}
.site-footer p{font-size:12px;line-height:1.65;margin-top:12px}
.site-footer .footer-grid h3{font-size:10px;margin-top:0;margin-bottom:14px}
.site-footer .footer-contact address{font-size:13px;line-height:1.65}
.site-footer .footer-phone{font-size:17px;margin-top:12px}
.site-footer .footer-detail-link{font-size:11px;margin-top:6px;padding:4px 0}
.site-footer .footer-open{font-size:12px}
.site-footer .footer-time{font-size:30px;margin-top:7px}
.site-footer .footer-nav{gap:9px}
.site-footer .footer-nav h3{margin-bottom:5px}
.site-footer .footer-nav a,.site-footer .footer-menu-link{font-size:12px}
.site-footer .footer-bottom{padding:14px 0;font-size:10px;gap:16px}
.site-footer .footer-order{padding:12px 18px}
@media(max-width:1050px){.site-footer .footer-grid{gap:24px}.site-footer .footer-brand{gap:18px}}
@media(max-width:760px){.site-footer .footer-invitation{padding:22px 0}.site-footer .footer-invitation h2{font-size:32px}.site-footer .footer-actions{margin-top:18px;gap:18px}.site-footer .footer-grid{padding:24px 0;gap:24px 20px}.site-footer .footer-brand img{width:64px;height:81px}.site-footer .footer-brand p{font-size:12px}.site-footer .footer-grid h3{font-size:10px}.site-footer .footer-contact address{font-size:12px}.site-footer .footer-phone{font-size:15px}.site-footer .footer-time{font-size:28px}.site-footer .footer-nav{gap:10px 20px}.site-footer .footer-bottom{padding:14px 0 76px;gap:8px;font-size:10px}}
/* Refined Visit page with balanced contact information and neighborhood map. */
.visit-page-main{background:var(--brand-cream)}
.visit-page .visit-layout{max-width:1320px;margin:0 auto;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:55px;padding:60px 40px;min-height:0;align-items:center}
.visit-page .visit-information{padding:0;display:block}
.visit-page .visit-information-inner{max-width:520px}
.visit-page .visit-information h1{font-family:'Barlow Condensed',sans-serif;font-size:clamp(60px,5.2vw,76px);font-weight:700;letter-spacing:-1px;text-transform:none;line-height:1;margin:20px 0}
.visit-page .visit-information h1 em{font-style:normal;color:var(--brand-blue)}
.visit-page .visit-information .visit-intro{font-size:15px;color:var(--brand-slate);max-width:380px;line-height:1.8}
.visit-facts{display:flex;flex-direction:column;gap:22px;margin:28px 0;padding:25px 0;border-top:1px solid #b4c0c9;border-bottom:1px solid #b4c0c9}
.visit-fact{display:flex;align-items:flex-start;gap:15px}
.visit-fact-icon{display:flex;align-items:center;justify-content:center;width:34px;height:34px;flex-shrink:0;border:1px solid #9aafbc;border-radius:50%;color:var(--brand-blue);font-size:21px}
.visit-page .visit-information h2{font-family:'DM Sans',sans-serif;font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;margin:0 0 9px;line-height:1.5}
.visit-page .visit-information address{font-size:15px;line-height:1.6}
.visit-page .visit-information address a{color:var(--brand-navy);text-decoration:none}
.visit-page .visit-information address a:hover{text-decoration:underline;text-underline-offset:4px}
.visit-page .visit-information .visit-hours-line{font-size:21px;font-weight:600;line-height:1.4}
.visit-hours-line span{display:block;font-size:12px;color:var(--brand-slate);font-weight:400;margin-top:5px}
.visit-page-actions{display:flex;flex-wrap:wrap;gap:12px}
.visit-page-actions .button{border-radius:4px;min-height:48px;padding:14px 19px}
.visit-page-actions .visit-call-button{background:transparent;color:var(--brand-blue);border-color:var(--brand-blue)}
.visit-page-actions .visit-call-button:hover{background:var(--brand-navy);border-color:var(--brand-navy);color:var(--brand-cream)}
.visit-page .visit-page-phone{font-size:13px;margin-top:16px;text-underline-offset:4px}
.visit-map-container{border:1px solid #bcc8d0;border-radius:10px;overflow:hidden;background:#fff;box-shadow:0 8px 30px #1420390a}
.visit-map-heading{padding:17px 20px;display:flex;justify-content:space-between;gap:15px;font-size:10px;font-weight:700;letter-spacing:1px;color:var(--brand-navy)}
.visit-map-heading>span:last-child{color:var(--brand-slate);font-weight:500}
.visit-page .visit-page-map{min-height:520px;height:520px}
.visit-page .visit-page-map iframe{min-height:0;height:100%;filter:none}
@media(max-width:1050px){.visit-page .visit-layout{gap:30px;padding:45px 32px}.visit-page .visit-information h1{font-size:62px}.visit-page .visit-page-map{height:530px;min-height:0}}
@media(max-width:760px){.visit-page .visit-layout{grid-template-columns:1fr;padding:38px 24px;gap:30px}.visit-page .visit-information h1{font-size:64px}.visit-page .visit-information h1 br:last-of-type{display:none}.visit-page .visit-information-inner{max-width:none}.visit-page .visit-page-map{height:360px;min-height:0}.visit-facts{margin:24px 0}.visit-map-heading{padding:15px}.visit-page-actions .button{flex:1;justify-content:center;gap:15px;font-size:12px}}
@media(max-width:360px){.visit-page .visit-information h1{font-size:56px}.visit-page-actions{flex-direction:column}}

/* Homepage welcome, page links, and weekly offers. */
.hero-welcome h1{font-size:clamp(62px,6.1vw,88px);margin:20px 0 14px}
.hero-welcome .hero-sourdough{font-size:16px;line-height:1.6;color:var(--brand-slate);margin:0}
.hero-page-links{display:flex;flex-wrap:wrap;gap:12px;margin:25px 0}
.hero-page-links a{display:flex;align-items:center;justify-content:space-between;gap:25px;border:1px solid var(--brand-blue);padding:12px 16px;color:var(--brand-blue);font-size:12px;font-weight:700;letter-spacing:1px;border-radius:4px}
.hero-page-links a:first-child{background:var(--brand-blue);color:var(--brand-cream)}
.hero-page-links a:hover{background:var(--brand-navy);border-color:var(--brand-navy);color:var(--brand-cream)}
.hero-page-links a span{font-size:18px;line-height:1}
.hero-weekly-specials{display:flex;flex-direction:column;gap:16px;padding-top:20px;border-top:1px solid #b9c2c8}
.hero-weekly-specials h2{font-family:'DM Sans',sans-serif;font-size:14px;letter-spacing:0;line-height:1.5;margin:0;color:var(--brand-navy)}
.hero-weekly-specials p{font-size:13px;line-height:1.7;margin:4px 0 0;color:var(--brand-slate)}
.hero-weekly-specials strong{color:var(--brand-blue)}
.hero-welcome .hero-note{margin-top:25px}
@media(max-width:1050px){.hero-page-links{gap:8px}.hero-page-links a{gap:15px;padding:11px 13px}.hero-welcome h1{font-size:68px}}
@media(max-width:760px){.hero .hero-welcome h1{font-size:74px}.hero-welcome .hero-sourdough{font-size:15px}.hero-page-links a{flex:1;font-size:11px;gap:12px}.hero-weekly-specials p{font-size:13px}}
@media(max-width:380px){.hero .hero-welcome h1{font-size:64px}}

/* Homepage favorites carousel. */
.style-carousel{border-top:1px solid #c2c5ba;border-bottom:1px solid #c2c5ba;background:var(--brand-cream)}
.style-carousel-inner{max-width:1000px;margin:auto;position:relative;padding:20px 28px;display:flex;align-items:center;justify-content:center;gap:24px}
.style-carousel-slides{flex:1;min-width:0;text-align:center}
.style-carousel-slide{font-family:'Barlow Condensed',sans-serif;font-size:27px;font-weight:700;letter-spacing:1px;line-height:1.5;display:flex;align-items:center;justify-content:center;gap:36px}
.style-carousel-slide span{color:var(--brand-blue);font-size:25px}
.style-carousel [hidden]{display:none!important}
.style-carousel-arrow{width:42px;height:42px;flex-shrink:0;border:1px solid #96aab7;border-radius:50%;background:transparent;color:var(--brand-blue);font-size:22px;cursor:pointer}
.style-carousel-arrow:hover{background:var(--brand-blue);color:var(--brand-cream)}
.style-carousel-controls{display:flex;align-items:center;gap:14px;position:absolute;bottom:10px;left:50%;transform:translateX(-50%)}
.style-carousel.is-carousel .style-carousel-inner{padding-bottom:38px}
.style-carousel-dots{display:flex;gap:4px}
.style-carousel-dots button{width:24px;height:24px;padding:8px;border:0;border-radius:50%;background:transparent;cursor:pointer;position:relative}
.style-carousel-dots button::after{content:'';display:block;width:8px;height:8px;border-radius:50%;background:#a8bac5}
.style-carousel-dots button[aria-pressed="true"]::after{background:var(--brand-blue)}
.style-carousel-pause{background:none;border:0;color:var(--brand-blue);cursor:pointer;width:28px;height:28px;font-size:14px}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(max-width:760px){.style-carousel-inner{padding:16px 20px;gap:12px}.style-carousel-slide{font-size:22px;gap:13px}.style-carousel-slide span{font-size:18px}.style-carousel-arrow{width:36px;height:36px}.style-carousel.is-carousel .style-carousel-inner{padding-bottom:40px}}

/* Match the homepage specials to the header and footer navy. */
.specials{background:var(--brand-navy);color:var(--brand-cream)}
.specials h2 em{color:var(--brand-cream)}
.specials p{color:#dbe3ec}
.specials article{border-color:#ffffff30}
/* Dedicated reviews page with screenshot-grounded excerpts. */
.reviews-page-main{max-width:1320px;margin:auto;padding:60px 40px}
.reviews-page-hero{display:grid;grid-template-columns:1.5fr 1fr;align-items:center;gap:70px}
.reviews-hero-copy h1{font-size:clamp(66px,7vw,96px);margin:22px 0}
.reviews-hero-copy>p{font-size:15px;color:var(--brand-slate);margin-bottom:25px}
.reviews-page-actions{display:flex;flex-wrap:wrap;align-items:center;gap:24px}
.reviews-rating-card{background:var(--brand-navy);color:var(--brand-cream);border-radius:14px;padding:34px;text-align:center;position:relative;border-top:5px solid var(--brand-blue)}
.rating-source{font-size:14px;font-weight:400;letter-spacing:normal}
.rating-value{font-family:'Barlow Condensed',sans-serif;font-size:110px;line-height:1;margin:20px 0 10px}
.rating-value>span{font-family:'DM Sans',sans-serif;font-size:18px;font-weight:400;margin-left:7px;color:#bed0dd}
.featured-stars{color:#bd7400;font-size:21px;letter-spacing:2px;line-height:1.3}
.reviews-rating-card .featured-stars{color:#ffc75d;font-size:25px;letter-spacing:4px}
.reviews-rating-card>strong{display:block;font-size:14px;margin-top:12px}
.reviews-rating-card p{font-size:11px;line-height:1.7;color:#c3d0dc;margin:18px 0}
.reviews-rating-card>a{font-size:12px;text-decoration:underline;text-underline-offset:4px}
.reviews-rating-card a:focus-visible{outline-color:var(--brand-cream)}
.featured-reviews-section{padding-top:65px}
.featured-reviews-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:25px;margin-bottom:30px}
.featured-reviews-intro h2{font-size:52px;line-height:1;margin-top:16px}
.featured-reviews-intro p{font-size:12px;margin-bottom:0}
.featured-reviews-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.featured-review{background:#fffaf0;border:1px solid #c9d0cc;border-radius:9px;padding:25px;display:flex;flex-direction:column;min-width:0;box-shadow:0 4px 15px #17244205}
.featured-review-heading{display:flex;align-items:center;gap:12px}
.review-avatar{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:43px;height:43px;border-radius:50%;background:#5d7688;color:#fff;font-size:18px}
.avatar-0{background:#5b7d42}.avatar-1{background:#946451}.avatar-2{background:#5d7688}.avatar-3{background:#397572}.avatar-4{background:#a64b32}.avatar-5{background:#257789}
.featured-review-heading h3{font-family:'DM Sans',sans-serif;font-size:14px;line-height:1.4;letter-spacing:0;margin:0;font-weight:600}
.review-origin{display:block;font-size:10px;color:var(--brand-slate);margin-top:4px}
.review-quote-mark{font-family:Georgia,serif;font-size:55px;line-height:1;margin-left:auto;color:#bccbd1}
.featured-review>.featured-stars{margin-top:21px}
.featured-review blockquote{font-size:14px;line-height:1.85;margin:17px 0 23px;color:var(--brand-navy)}
.featured-review>a{font-size:11px;font-weight:600;color:var(--brand-blue);margin-top:auto;padding-top:15px;border-top:1px solid #dae1dc;display:flex;justify-content:space-between;gap:10px}
.reviews-live{border-top:1px solid #c4cdd4;margin-top:45px;padding-top:30px}
.reviews-live[hidden]{display:none}
.reviews-live h2{font-size:42px;margin:0 0 22px}.reviews-live .reviews-grid{margin-top:25px}
.reviews-visit-cta{display:flex;justify-content:space-between;align-items:center;gap:32px;padding:35px;border-radius:10px;background:#dce7ec;margin-top:45px}
.reviews-visit-cta h2{font-size:43px;line-height:1;margin-top:15px}
.reviews-visit-cta p{font-size:12px;margin:0 0 20px}
.reviews-visit-cta .text-link{margin-left:20px}
@media(max-width:1050px){.reviews-page-hero{gap:35px;grid-template-columns:1.2fr 1fr}.reviews-rating-card{padding:28px}.featured-reviews-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.featured-reviews-intro h2{font-size:45px}}
@media(max-width:760px){.reviews-page-main{padding:40px 24px}.reviews-page-hero{grid-template-columns:1fr;gap:30px}.reviews-hero-copy h1{font-size:72px}.reviews-rating-card{padding:28px}.rating-value{font-size:95px}.featured-reviews-section{padding-top:40px}.featured-reviews-intro{display:block}.featured-reviews-intro h2{font-size:46px}.featured-reviews-intro p{margin-top:20px}.featured-reviews-grid{grid-template-columns:1fr;gap:18px}.featured-review{padding:24px}.reviews-visit-cta{display:block;padding:26px}.reviews-visit-cta h2{font-size:40px}.reviews-visit-cta p{margin-top:20px}.reviews-visit-cta .text-link{display:flex;width:max-content;margin:20px 0 0}}

/* Clear, compact navigation across every page. */
.header-inner{max-width:1400px;padding:14px 36px;gap:28px}
.header .header-brand img{width:218px;max-height:78px}
.header #navigation{gap:5px;font-size:13px}
.header #navigation>a:not(.button){padding:12px 13px;border-radius:6px;transition:background .18s,color .18s}
.header #navigation>a:not(.button)::after{left:13px;right:13px;bottom:6px;height:2px;background:#94bfd7}
.header #navigation>a:not(.button):hover{background:#ffffff0d;color:#fff}
.header #navigation>a[aria-current="page"]:not(.button){background:#ffffff12;color:var(--brand-cream)}
.header #navigation .button{margin-left:15px;padding:14px 18px;gap:16px;min-height:46px;border-radius:6px}
.header a:focus-visible,.header button:focus-visible{outline:2px solid var(--brand-cream);outline-offset:4px}
.header .nav-toggle{width:auto;min-width:91px;padding:10px 12px;gap:9px;flex-direction:row}
.nav-toggle-label{font-family:'DM Sans',sans-serif;font-size:12px;font-weight:600;color:var(--brand-cream)}
.nav-toggle-icon{display:flex;flex-direction:column;gap:6px}
.header .nav-toggle .nav-toggle-icon i{display:block;width:20px;height:2px;background:var(--brand-cream);transition:transform .18s}
.header .nav-toggle[aria-expanded="true"] .nav-toggle-icon i:first-child{transform:translateY(4px) rotate(45deg)}
.header .nav-toggle[aria-expanded="true"] .nav-toggle-icon i:last-child{transform:translateY(-4px) rotate(-45deg)}
@media(max-width:1200px){
.header-inner{padding:13px 24px;gap:18px}
.header .header-brand img{width:195px;max-height:69px}
.header .nav-toggle{display:flex}
.header #navigation{padding:18px 24px 24px;max-height:calc(100dvh - 96px);font-size:15px;gap:8px}
.header #navigation.open{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.header #navigation>a:not(.button){padding:16px;border:1px solid #ffffff14;white-space:normal;min-height:52px}
.header #navigation>a:not(.button)::after{left:16px;bottom:9px;width:24px}
.header #navigation .button{grid-column:1/-1;margin:8px 0 0;min-height:52px}
}
@media(max-width:480px){
.header-inner{padding:12px 20px}
.header .header-brand img{width:174px;max-height:62px}
.header #navigation{padding:16px 20px 20px;font-size:14px}
}
@media(prefers-reduced-motion:reduce){
.header #navigation>a:not(.button),.header #navigation>a:not(.button)::after,.header .nav-toggle .nav-toggle-icon i{transition:none}
}

.header .nav-toggle .nav-toggle-label{width:auto;height:auto;background:none;transform:none;line-height:1.4}
.header .nav-toggle .nav-toggle-icon{width:20px;height:10px;background:none;transform:none}
.header .nav-toggle[aria-expanded="true"] .nav-toggle-label,.header .nav-toggle[aria-expanded="true"] .nav-toggle-icon{transform:none}
/* Balanced menu introduction and distinct category links. */
.menu-page .menu-section{max-width:1320px;padding:48px 40px 60px}
.menu-page .section-heading{align-items:center;gap:40px;margin-bottom:30px}
.menu-page .section-heading>div{flex:1;min-width:0}
.menu-page h1{font-size:clamp(54px,5.5vw,78px);line-height:1.05;letter-spacing:-1px;margin:14px 0 0}
.menu-page h1 br{display:none}
.menu-page .section-heading>p{max-width:360px;font-size:15px;line-height:1.8;color:var(--brand-slate);margin:0}
.menu-page .menu-category-nav{gap:10px;padding:14px 0 24px;margin-bottom:28px;border-bottom:1px solid #bdc8c8}
.menu-page .menu-category-nav a{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 21px;border:1px solid #a9bac5;border-radius:7px;font-size:13px;font-weight:600;color:var(--brand-navy);background:#ffffff35;transition:background .18s,border-color .18s,color .18s;text-decoration:none}
.menu-page .menu-category-nav a:hover{border-color:var(--brand-blue);background:#dfeaf0;color:var(--brand-blue)}
.menu-page .menu-category-nav a[aria-current="page"]{background:var(--brand-blue);border-color:var(--brand-blue);color:var(--brand-cream)}
.menu-page .menu-category-nav a:focus-visible{outline:2px solid var(--brand-blue);outline-offset:4px}
@media(max-width:760px){
.menu-page .menu-section{padding:32px 24px 42px}
.menu-page .section-heading{display:block;margin-bottom:20px}
.menu-page h1{font-size:60px;margin-top:12px}
.menu-page .section-heading>p{max-width:440px;margin-top:16px;font-size:14px}
.menu-page .menu-category-nav{gap:8px;padding:10px 0 20px}
.menu-page .menu-category-nav a{flex:1 1 auto;padding:12px 14px;font-size:12px}
}
@media(max-width:380px){.menu-page h1{font-size:53px}.menu-page .menu-category-nav a{padding:12px 10px}}
@media(prefers-reduced-motion:reduce){.menu-page .menu-category-nav a{transition:none}}
/* Animate favorites as the carousel advances. */
.style-carousel.is-carousel .style-carousel-slide:not([hidden]){animation:favorite-enter .35s ease-out}
@keyframes favorite-enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.style-carousel.is-carousel .style-carousel-slide:not([hidden]){animation:none}}

/* Extend the social introduction across the desktop layout. */
@media(min-width:1051px){.socials-intro h1 br{display:none}.socials-intro h1 em::before{content:' '}.socials-intro h1{font-size:clamp(64px,6.5vw,110px)}}

/* Keep the original story collage layout while allowing enlargement. */
.story-popup-link{width:100%;max-width:420px;aspect-ratio:auto;background:transparent;border-radius:0;overflow:visible;cursor:pointer}
.story-popup-link img{width:100%;height:auto;object-fit:contain}
.story-popup-link:hover img{transform:none}
#photo-viewer button[hidden]{display:none}
@media(max-width:760px){.story-popup-link{max-width:360px}}

/* Mobile usability: flexible content and comfortable touch controls. */
@media(max-width:760px){
  .hero>*,.story-welcome>*,.visit>*,.socials-columns>*,.reviews-page-hero>*,.footer-grid>*{min-width:0}
  .hero-note{flex-wrap:wrap;line-height:1.8}
  .hero-page-links,.menu-tabs,.menu-category-nav{flex-wrap:wrap}
  .button{max-width:100%;min-height:44px}
  .menu-tabs a,.menu-tabs button,.hero-page-links a,.footer-nav a,.footer-menu-link,.menu-footnote>a{min-height:44px;display:inline-flex;align-items:center}
  .socials-link>span:first-child{min-width:0;overflow-wrap:anywhere}
  .style-carousel-inner{padding-left:12px;padding-right:12px;gap:8px}
  .style-carousel-slide{font-size:clamp(17px,4.8vw,22px);gap:8px;line-height:1.25;min-height:44px}
  .style-carousel-slide span{font-size:16px;flex-shrink:0}
  .style-carousel-arrow{width:44px;height:44px}
  .style-carousel-dots button{width:44px;height:44px;padding:18px}
  .style-carousel-pause{width:44px;height:44px}
  .style-carousel-controls{bottom:2px;gap:8px}
  .style-carousel.is-carousel .style-carousel-inner{padding-bottom:50px}
  .photo-viewer{width:calc(100% - 16px);max-width:calc(100% - 16px);max-height:92vh;max-height:92dvh;padding:12px}
  .photo-viewer button{width:44px;height:44px}
  .viewer-stage{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:12px}
  .viewer-stage img{grid-column:1/-1;grid-row:1;justify-self:center;width:auto;max-width:100%;max-height:60vh;max-height:60dvh}
  #viewer-previous{grid-column:1;grid-row:2}
  #viewer-next{grid-column:3;grid-row:2}
  .story-popup-link{aspect-ratio:auto}
}
@media(max-width:480px){
  .header-inner{gap:12px;padding:12px 16px}
  .header .header-brand{min-width:0;flex:1}
  .header .header-brand img{width:174px;max-width:100%;height:auto}
  .header .nav-toggle{flex-shrink:0;min-height:44px}
  .hero .hero-welcome h1{font-size:clamp(48px,14vw,67px)}
  .socials-intro h1,.promotions-intro h1,.gallery-intro h1,.reviews-hero-copy h1,.visit-page .visit-information h1{font-size:clamp(46px,13vw,62px)}
  .story-welcome-heading h2,.section-heading h2,.visit h2{font-size:clamp(38px,11vw,50px)}
  .hero-image{height:340px}
  .eyebrow{line-height:1.7}
  .hero-weekly-specials{grid-template-columns:1fr}
  .reviews-page-actions{gap:16px}
  .featured-reviews-intro h2{font-size:40px}
  .footer-brand{flex-wrap:wrap}
  .footer-phone,.visit-fact a{overflow-wrap:anywhere}
}
@media(max-width:360px){
  .header #navigation.open{grid-template-columns:1fr}
  .socials-main,.promotions-main,.gallery-main,.reviews-page-main,.story-welcome,.visit-page .visit-layout,.menu-page .menu-section{padding-left:18px;padding-right:18px}
  .promotion-offer{flex-wrap:wrap}
}
/* A compact secondary menu with a clear current-page highlight. */
.nav-more{position:relative}
.nav-more summary{display:flex;align-items:center;gap:7px;padding:12px 13px;border-radius:6px;cursor:pointer;list-style:none;min-height:44px}
.nav-more summary::-webkit-details-marker{display:none}
.nav-more summary span{font-size:10px}
.nav-more[open] summary,.nav-more summary:hover{background:#ffffff0d;color:#fff}
.nav-more summary:focus-visible{outline:2px solid var(--brand-cream);outline-offset:4px}
.nav-more-links{position:absolute;top:calc(100% + 8px);right:0;min-width:156px;padding:5px;background:var(--brand-cream);border:1px solid #17244218;border-radius:8px;box-shadow:0 6px 18px #10203918}
.header .nav-more-links a{display:flex;align-items:center;min-height:44px;padding:10px 14px;border-radius:4px;color:var(--brand-navy);font-size:13px;font-weight:500;text-decoration:none;white-space:nowrap;transition:background .15s,color .15s}
.header .nav-more-links a:hover{background:#1b679510;color:var(--brand-blue)}
.header #navigation>a[aria-current="page"]:not(.button),.header .nav-more-links a[aria-current="page"],.nav-more.has-current-page summary{background:#ffffff1c;color:var(--brand-cream);box-shadow:inset 0 -2px 0 #94bfd7;text-decoration:none}
@media(max-width:1200px){
  .nav-more summary{min-height:52px;padding:16px;border:1px solid #ffffff14;justify-content:space-between}
  .nav-more-links{position:static;min-width:0;margin-top:8px;box-shadow:none}
  .header .nav-more-links a{white-space:normal}
}
/* Refined favorites strip: centered content and legible controls. */
.style-carousel{border-color:#17244220;background:linear-gradient(180deg,#fff8e5,var(--brand-cream))}
.style-carousel.is-carousel .style-carousel-inner{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;gap:4px 24px;max-width:820px;padding:20px 24px 12px}
.style-carousel-slides{grid-column:2;grid-row:1}
.style-carousel-slide{min-height:48px;font-size:30px;letter-spacing:1.2px;gap:24px;line-height:1.25}
.style-carousel-slide span{font-size:21px}
.style-carousel-arrow{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:#ffffff75;border-color:#1b679540;font-size:24px;transition:background .2s,color .2s,border-color .2s}
.style-carousel-arrow[data-style-prev]{grid-column:1;grid-row:1}
.style-carousel-arrow[data-style-next]{grid-column:3;grid-row:1}
.style-carousel-controls{grid-column:2;grid-row:2;position:static;transform:none;justify-content:center;gap:12px}
.style-carousel-dots{gap:0}
.style-carousel-dots button{display:grid;place-items:center;width:44px;height:44px;padding:0}
.style-carousel-dots button::after{width:7px;height:7px;transition:width .2s,background .2s}
.style-carousel-dots button[aria-pressed="true"]::after{width:22px;border-radius:8px}
.style-carousel-pause{width:auto;min-width:66px;height:44px;padding:0 12px;font-size:12px;font-weight:600;border-left:1px solid #17244225;border-radius:0}
.style-carousel-pause:hover{color:var(--brand-navy);text-decoration:underline;text-underline-offset:3px}
@media(max-width:760px){
  .style-carousel.is-carousel .style-carousel-inner{grid-template-columns:44px minmax(0,1fr) 44px;gap:2px 8px;padding:14px 12px 6px}
  .style-carousel-arrow{width:44px;height:44px}
  .style-carousel-slide{font-size:clamp(18px,4.8vw,25px);gap:8px;min-height:48px;letter-spacing:.5px}
  .style-carousel-slide span{font-size:15px}
  .style-carousel-controls{grid-column:1/-1}
}
@media(prefers-reduced-motion:reduce){.style-carousel-arrow,.style-carousel-dots button::after{transition:none}}
/* Bridge the small gap so the pointer can reach the dropdown. */
@media(min-width:1201px){.nav-more-links::before{content:'';position:absolute;left:0;right:0;top:-10px;height:10px}}
/* Let the favorites move automatically with a visible sideways slide. */
.style-carousel-slides{overflow:hidden}
.style-carousel.is-carousel .style-carousel-slide:not([hidden]){animation:favorite-slide-in .6s ease-out}
@keyframes favorite-slide-in{from{opacity:0;transform:translateX(45px)}to{opacity:1;transform:translateX(0)}}
@media(prefers-reduced-motion:reduce){.style-carousel.is-carousel .style-carousel-slide:not([hidden]){animation:none}}
/* A balanced homepage introduction with easy-to-scan weekly offers. */
.hero{max-width:1320px;min-height:0;padding:56px 40px 60px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px}
.hero .hero-welcome h1{font-size:clamp(60px,6.4vw,90px);line-height:1.02;letter-spacing:-1.5px;margin:22px 0 18px}
.hero-welcome .hero-sourdough{font-size:16px;line-height:1.7}
.hero-page-links{margin:26px 0 30px;gap:10px}
.hero-page-links a{min-height:48px;padding:13px 18px;border-radius:6px;letter-spacing:.7px}
.hero-weekly-specials{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0;border:0}
.hero-weekly-specials article{padding:16px;background:#ffffff55;border:1px solid #17244218;border-radius:8px}
.hero-weekly-specials h2{font-size:13px;line-height:1.5}
.hero-weekly-specials p{font-size:13px;line-height:1.7;margin-top:7px}
.hero-weekly-specials strong{font-size:18px}
.hero-welcome .hero-note{margin-top:24px;letter-spacing:1px;line-height:1.8}
.hero .hero-image{height:auto;aspect-ratio:4/3;margin:0;align-self:center;border-radius:40px 40px 10px 10px;overflow:hidden}
.hero .hero-image>img{display:block;width:100%;height:100%;object-fit:cover;object-position:52% 50%;border-radius:inherit}
@media(max-width:1050px){.hero{gap:32px;padding:40px 32px}.hero .hero-welcome h1{font-size:64px}.hero-weekly-specials{grid-template-columns:1fr}.hero .hero-image{aspect-ratio:4/3;border-radius:32px 32px 8px 8px}}
@media(max-width:760px){.hero{grid-template-columns:1fr;padding:36px 24px 40px;gap:30px}.hero .hero-welcome h1{font-size:clamp(50px,12vw,76px)}.hero-weekly-specials{grid-template-columns:repeat(2,minmax(0,1fr))}.hero .hero-image{aspect-ratio:4/3;width:100%;height:auto;border-radius:32px 32px 8px 8px}.hero-page-links a{flex:1;gap:12px}.hero-note .divider{display:none}}
@media(max-width:380px){.hero{padding-left:18px;padding-right:18px}.hero-weekly-specials{grid-template-columns:1fr}.hero .hero-welcome h1{font-size:50px}}
.header .nav-more-links a[aria-current="page"]{background:#1b679512;color:var(--brand-blue);font-weight:700;box-shadow:none}
.header .nav-more-links a:focus-visible{outline:2px solid var(--brand-blue);outline-offset:-2px}
@media(prefers-reduced-motion:reduce){.header .nav-more-links a{transition:none}}
/* Final dropdown polish, shared by every page. */
.nav-more-links{min-width:176px;padding:7px;border-radius:10px;border-color:#1724421c;box-shadow:0 10px 28px #1020391c}
.header .nav-more-links a{min-height:44px;padding:11px 14px;border-radius:6px;font-weight:600;line-height:1.4}
.header .nav-more-links a+a{margin-top:2px}
.header .nav-more-links a:hover{background:#1b679512;color:var(--brand-blue)}
.header .nav-more-links a[aria-current="page"]{background:#1b679512;box-shadow:inset 3px 0 0 var(--brand-blue)}
.nav-more summary span{display:inline-block;transition:transform .18s}
.nav-more[open] summary span{transform:rotate(180deg)}
@media(min-width:1201px){.nav-more[open] .nav-more-links{animation:dropdown-reveal .16s ease-out}}
@keyframes dropdown-reveal{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1200px){.nav-more-links{min-width:0;box-shadow:none}}
@media(prefers-reduced-motion:reduce){.nav-more summary span{transition:none}.nav-more[open] .nav-more-links{animation:none}}
.hero .hero-photo-link{display:block;min-width:0;background:transparent;cursor:pointer}
.hero .hero-photo-link:hover img{transform:none}

/* Single photos use the entire viewer, without empty arrow space. */
.single-photo-viewer .viewer-toolbar{justify-content:flex-end}
.single-photo-viewer .viewer-stage{display:flex;justify-content:center;gap:0}
.single-photo-viewer .viewer-stage img{max-width:100%;max-height:calc(90dvh - 110px);width:auto;height:auto}
.single-photo-viewer [hidden]{display:none!important}
/* Automatic favorites strip without controls. */
.style-carousel.is-carousel .style-carousel-inner{display:block;padding:20px 16px}

/* Compact, neatly aligned secondary navigation. */
.nav-more-links{min-width:160px;padding:6px;border-radius:8px;background:#fffaf0;border:1px solid #17244218;box-shadow:0 8px 22px #10203918}
.header .nav-more-links a{padding:10px 12px;min-height:44px;border-radius:5px;font-size:13px;font-weight:500;background:transparent;color:var(--brand-navy)}
.header .nav-more-links a+a{margin-top:0}
.header .nav-more-links a:hover{background:#1b67950c;color:var(--brand-blue)}
.header .nav-more-links a[aria-current="page"]{background:#1b67950c;color:var(--brand-blue);font-weight:600;box-shadow:inset 2px 0 0 var(--brand-blue)}
@media(min-width:1201px){.nav-more-links{top:calc(100% + 6px)}.nav-more-links::before{top:-8px;height:8px}}
@media(max-width:1200px){.nav-more-links{min-width:0;box-shadow:none}}
/* Match the More dropdown to the header navy. */
.nav-more-links{background:var(--brand-navy);border-color:#ffffff20}
.header .nav-more-links a{color:var(--brand-cream)}
.header .nav-more-links a:hover{background:#ffffff0d;color:#fff}
.header .nav-more-links a[aria-current="page"]{background:#ffffff12;color:var(--brand-cream);box-shadow:inset 2px 0 0 #94bfd7}
.header .nav-more-links a:focus-visible{outline-color:var(--brand-cream)}
/* Refined shared footer with readable details and compact navigation. */
.site-footer{border-top:3px solid var(--brand-blue)}
.site-footer .footer-invitation{padding:32px 0;align-items:center;gap:28px}
.site-footer .footer-invitation h2{font-size:clamp(32px,3.2vw,44px);line-height:1.1;margin-top:10px}
.site-footer .footer-invitation .eyebrow{font-size:10px;letter-spacing:1.8px;color:#c2ceda}
.site-footer .footer-actions{flex-direction:row;align-items:center;gap:22px}
.site-footer .footer-order{min-height:48px;padding:13px 20px;border-radius:6px}
.site-footer .footer-menu-link{font-size:13px;min-height:44px}
.site-footer .footer-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) minmax(0,.9fr) minmax(0,1.35fr);gap:32px;padding:34px 0}
.site-footer .footer-brand{display:block;grid-column:auto}
.site-footer .footer-brand img{width:80px;height:101px}
.site-footer p{font-size:13px;line-height:1.8;color:#c8d2df;margin-top:14px}
.site-footer .footer-grid h3{font-family:'DM Sans',sans-serif;font-size:11px;font-weight:700;line-height:1.5;letter-spacing:1.2px;text-transform:uppercase;color:#c8d2df;margin:0 0 16px}
.site-footer .footer-contact address{font-size:14px;line-height:1.8;font-style:normal}
.site-footer .footer-phone{font-size:18px;display:inline-flex;align-items:center;min-height:44px;margin-top:8px}
.site-footer .footer-detail-link{display:flex;align-items:center;width:fit-content;min-height:44px;font-size:13px;margin-top:0;padding:0}
.site-footer .footer-open{font-size:13px;line-height:1.6}
.site-footer .footer-time{font-size:36px;line-height:1.2;margin-top:10px}
.site-footer .footer-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;align-items:start;gap:0 16px}
.site-footer .footer-nav h3{grid-column:1/-1;margin-bottom:6px}
.site-footer .footer-nav a{display:flex;align-items:center;min-height:38px;font-size:13px;line-height:1.5}
.site-footer .footer-nav a:hover,.site-footer .footer-detail-link:hover,.site-footer .footer-menu-link:hover{text-decoration:underline;text-underline-offset:4px}
.site-footer .footer-bottom{font-size:11px;line-height:1.7;padding:18px 0;color:#bdc9d7;gap:12px}
@media(max-width:1050px){.site-footer .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 36px}.site-footer .footer-nav{grid-column:auto}.site-footer .footer-brand{display:flex;align-items:flex-start;gap:18px}.site-footer .footer-brand p{margin:0}}
@media(max-width:760px){.site-footer .footer-invitation{display:block;padding:28px 0}.site-footer .footer-actions{margin-top:20px;flex-wrap:wrap;gap:12px 20px}.site-footer .footer-grid{padding:28px 0;gap:24px}.site-footer .footer-brand{grid-column:1/-1;align-items:center}.site-footer .footer-brand img{width:64px;height:81px}.site-footer .footer-nav{grid-column:1/-1}.site-footer .footer-nav a{min-height:44px}.site-footer .footer-bottom{flex-direction:column;align-items:flex-start;padding-bottom:84px}.site-footer .footer-bottom>span{width:auto}}
@media(max-width:480px){.site-footer .footer-grid{grid-template-columns:minmax(0,1fr)}.site-footer .footer-contact,.site-footer .footer-hours{border-bottom:1px solid #ffffff18;padding-bottom:20px}.site-footer .footer-phone{font-size:18px}}
/* Dedicated opening-hours page. */
.hours-main{max-width:1240px;margin:auto;padding:64px 40px;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:center;gap:72px}
.hours-copy h1{font-size:clamp(58px,6vw,82px);line-height:1.05;margin:22px 0}
.hours-copy p{font-size:16px;line-height:1.8;color:var(--brand-slate)}
.hours-copy .hours-address{color:var(--brand-navy);margin:24px 0}
.hours-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px 24px}
.hours-actions .button{border-radius:6px}
.hours-call{display:inline-flex;align-items:center;min-height:44px;font-size:14px;color:var(--brand-blue)}
.hours-call:hover{text-decoration:underline}
.hours-card{padding:28px 32px;background:#fffaf0;border:1px solid #17244220;border-radius:12px}
.hours-card h2{font-size:34px;letter-spacing:-.5px;margin-bottom:20px}
.hours-table{width:100%;border-collapse:collapse;font-size:15px}
.hours-table th,.hours-table td{padding:16px 0;border-bottom:1px solid #17244212;line-height:1.5}
.hours-table th{text-align:left;font-weight:500}
.hours-table td{text-align:right;white-space:nowrap;color:var(--brand-blue)}
.hours-table tr:last-child th,.hours-table tr:last-child td{border-bottom:0}
@media(max-width:1050px){.hours-main{gap:36px}}
@media(max-width:760px){.hours-main{grid-template-columns:1fr;padding:38px 24px;gap:28px}.hours-copy h1{font-size:clamp(44px,11vw,64px)}.hours-card{padding:24px}.hours-table{font-size:14px}}
@media(max-width:360px){.hours-main{padding-left:18px;padding-right:18px}.hours-card{padding:20px}}
/* Give the weekly schedule a clearer heading and easier row scanning. */
.hours-card{padding:clamp(26px,3.2vw,42px);border:1px solid #17244218;border-radius:18px;background:#f5edda;box-shadow:0 16px 44px #1724420b}
.hours-card-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}
.hours-card-kicker{display:block;margin-bottom:7px;color:var(--brand-blue);font-size:11px;font-weight:700;letter-spacing:1.8px;text-transform:uppercase}
.hours-card h2{margin:0;font-size:clamp(27px,3vw,36px);line-height:1.15;letter-spacing:-.7px}
.hours-card-badge{display:inline-flex;align-items:center;gap:8px;padding:9px 12px;border:1px solid #1b679526;border-radius:999px;background:#e9e0cc;color:var(--brand-navy);font-size:11px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;white-space:nowrap}
.hours-card-badge>span{width:8px;height:8px;border-radius:50%;background:#3b9a6b;box-shadow:0 0 0 3px #3b9a6b20}
.hours-table{font-size:16px}
.hours-table th,.hours-table td{padding:15px 10px;border-bottom:1px solid #17244212;transition:background-color .16s ease}
.hours-table th{padding-left:14px;border-radius:8px 0 0 8px;font-weight:600}
.hours-table td{padding-right:14px;border-radius:0 8px 8px 0;font-weight:600}
.hours-table tr:hover th,.hours-table tr:hover td{background:#eae1ce}
@media(max-width:760px){.hours-card{padding:24px;border-radius:15px}.hours-card-heading{margin-bottom:16px}.hours-table{font-size:15px}.hours-table th,.hours-table td{padding-top:14px;padding-bottom:14px}}
@media(max-width:380px){.hours-card{padding:19px}.hours-card-badge{padding:8px 9px;font-size:9px;gap:6px}.hours-card-kicker{font-size:10px}.hours-table{font-size:14px}}
@media(prefers-reduced-motion:reduce){.hours-table th,.hours-table td{transition:none}}
/* Draw arrows as icons so mobile platforms cannot substitute emoji. */
.arrow-icon{display:inline-block;width:1em;height:1em;flex-shrink:0;vertical-align:-.125em;pointer-events:none}

/* Menu cards share the muted light blue and navy promotion palette. */
.menu-card{background:#e2ebef;border-color:#16426625;border-radius:8px;color:var(--brand-navy)}
.menu-card:nth-child(even){background:var(--brand-navy);color:var(--brand-cream);border-color:var(--brand-navy)}
.menu-card h3,.menu-card .price,.menu-card .menu-prices dd,.menu-card .topping-list{color:inherit}
.menu-card p,.menu-card .item-number,.menu-card .menu-item-note{color:inherit;opacity:.8}
.menu-card .menu-prices>div{border-top-color:#728ba655}
.menu-card .tag{background:transparent;color:inherit;border:1px solid currentColor;border-radius:20px;padding:5px 9px}
/* Balanced footer columns and neatly aligned navigation. */
.site-footer .footer-grid{grid-template-columns:100px minmax(0,1fr) minmax(0,1fr) minmax(260px,1.15fr);gap:clamp(28px,4vw,60px);padding:40px 0;align-items:start}
.site-footer .footer-brand img{width:76px;height:96px}
.site-footer .footer-grid h3{font-size:10px;letter-spacing:1.4px;margin-bottom:18px}
.site-footer .footer-nav{width:100%;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;align-items:stretch}
.site-footer .footer-nav h3{margin-bottom:10px}
.site-footer .footer-nav a{min-height:40px;padding:8px 0;border-bottom:1px solid #ffffff12;color:#dbe3ec;gap:6px;text-decoration:none;transition:color .15s,border-color .15s}
.site-footer .footer-nav a:hover{color:var(--brand-cream);border-bottom-color:#ffffff60;text-decoration:none}
.site-footer .footer-nav a:focus-visible{outline:2px solid var(--brand-cream);outline-offset:3px;border-radius:2px}
.site-footer .footer-detail-link{gap:6px}
.site-footer .footer-time{margin:10px 0 0}
@media(max-width:1050px){.site-footer .footer-grid{grid-template-columns:100px minmax(0,1fr) minmax(0,1fr);gap:32px}.site-footer .footer-nav{grid-column:2/-1;max-width:520px}}
@media(max-width:760px){.site-footer .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 24px;padding:30px 0}.site-footer .footer-brand{grid-column:1/-1}.site-footer .footer-brand img{width:64px;height:81px}.site-footer .footer-nav{grid-column:1/-1;max-width:none}.site-footer .footer-nav a{min-height:44px}}
@media(max-width:480px){.site-footer .footer-grid{grid-template-columns:minmax(0,1fr)}.site-footer .footer-contact,.site-footer .footer-hours{padding-bottom:22px}.site-footer .footer-nav{gap:0 20px}}
@media(prefers-reduced-motion:reduce){.site-footer .footer-nav a{transition:none}}

/* Let the shared footer use wide displays without stretching its content. */
@media(min-width:1500px){
  .site-footer .footer-inner{max-width:1680px;padding-right:clamp(48px,5vw,96px);padding-left:clamp(48px,5vw,96px)}
  .site-footer .footer-grid{grid-template-columns:100px minmax(220px,1fr) minmax(220px,1fr) minmax(320px,1.2fr);gap:clamp(48px,4vw,72px);padding:48px 0}
  .site-footer .footer-bottom{padding-top:22px;padding-bottom:24px}
}

.hero .typing-line{display:inline-block;white-space:nowrap;clip-path:inset(0 100% 0 0);}
.hero .typing-line-first{animation:hero-type 1.05s steps(12,end) .15s forwards;}
.hero .typing-line-second{animation:hero-type .95s steps(11,end) 1.25s forwards;}
@keyframes hero-type{to{clip-path:inset(0 0 0 0)}}
@media(prefers-reduced-motion:reduce){.hero .typing-line{clip-path:none;animation:none}}
/* Vector symbols keep decorative icons consistent on phones. */
.symbol-icon{display:inline-block;width:1em;height:1em;vertical-align:-.125em;flex-shrink:0;pointer-events:none}
.featured-stars,.review-stars{display:flex;align-items:center;gap:3px}
.nav-more summary .symbol-icon{width:12px;height:12px}
.header #navigation .order-desktop{display:inline;padding:12px 16px;border:1px solid var(--brand-cream);border-radius:6px;background:var(--brand-cream);color:var(--brand-navy);font-size:13px;font-weight:700;white-space:nowrap}
.header #navigation .order-mobile-link{display:none}
@media(max-width:1200px){.header #navigation .order-desktop{display:none}.header #navigation .order-mobile-link{display:flex}}

/* Keep the full navigation usable on compact laptop widths. */
@media (min-width:1001px) and (max-width:1200px){
  .header-inner{gap:12px;padding:12px 22px}
  .header .header-brand img{width:158px;max-height:58px}
  .header .nav-toggle{display:none}
  .header #navigation{display:flex;position:static;flex:1;justify-content:space-between;align-items:center;gap:0;padding:0;max-height:none;overflow:visible;border:0;box-shadow:none;background:transparent;font-size:11px}
  .header #navigation>a:not(.button){padding:10px 6px}
  .header #navigation>a[aria-current="page"]:not(.button)::after{left:6px;right:6px;bottom:7px;height:3px}
  .header #navigation .nav-more summary{gap:4px;padding:10px 6px;font-size:11px}
  .header #navigation .order-desktop{display:inline;padding:9px 10px;font-size:11px}
  .header #navigation .order-mobile-link{display:none}
}

/* Use one active underline instead of stacking a shadow and pseudo-element. */
.header #navigation>a[aria-current="page"]:not(.button){box-shadow:none}
.header #navigation>a[aria-current="page"]:not(.button)::after{left:13px;right:13px;bottom:7px;height:3px;background:#94bfd7;transform:scaleX(1)}
@media (min-width:1001px) and (max-width:1200px){.header #navigation>a[aria-current="page"]:not(.button)::after{left:6px;right:6px;bottom:7px;height:3px}}
