/* Market page layouts: the public website (ADR-016; Figma: Navigation / Public header, Public solutions menu, Public menu sheet,
   Public footer, and the Marketing page). Loaded by _MarketPublicLayout only. This file holds the frame every public page
   shares (header, menus, footer), the cb-mk-pub- pieces the redesigned pages share, and the page layouts that did not change
   (kitchen preview, Privacy, Terms). A redesigned page keeps its sections in its own stylesheet:
   citybites.market.public-home.css, citybites.market.public-help.css. Tokens only.
   Contract: docs/market-rollout/contract-public-redesign-20261110.md. */

body:has(> .cb-mk-public) { margin: 0; }
.cb-mk-public {
    --_cb-mk-public-gutter: var(--cb-mk-space-5);
    --_cb-mk-public-header: 4rem;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    min-height: 100dvh;
    overflow-x: clip;
    background: var(--cb-mk-color-bg-page);
}
.cb-mk-public-main { flex: 1; outline: none; }
.cb-mk-public-main [id] { scroll-margin-top: calc(var(--_cb-mk-public-header) + var(--cb-mk-space-5)); }
.cb-mk-public-frame { width: min(100% - 2 * var(--_cb-mk-public-gutter), 80rem); margin-inline: auto; }
.cb-mk-public .text-muted { margin: 0; color: var(--cb-mk-color-text-secondary); font: var(--cb-mk-text-caption); }

/* Small shared pieces */
.cb-mk-public-arrow { display: inline-flex; align-items: center; gap: var(--cb-mk-space-2); width: fit-content; color: var(--cb-mk-color-text-brand); font: var(--cb-mk-text-label-m); text-decoration: none; }
a.cb-mk-public-arrow:hover { text-decoration: underline; text-underline-offset: 0.2em; }
.cb-mk-public-note { display: flex; align-items: flex-start; gap: var(--cb-mk-space-3); margin: 0; color: var(--cb-mk-color-text-secondary); font: var(--cb-mk-text-caption); }
.cb-mk-public-note > .cb-mk-icon { margin-top: var(--cb-mk-space-1); }
.cb-mk-public-checks { display: flex; flex-direction: column; gap: var(--cb-mk-space-3); margin: 0; padding: 0; list-style: none; font: var(--cb-mk-text-body-s); }
.cb-mk-public-checks > li { display: flex; align-items: flex-start; gap: var(--cb-mk-space-3); }
.cb-mk-public-checks .cb-mk-icon { margin-top: var(--cb-mk-space-1); color: var(--cb-mk-color-text-brand); }
.cb-mk-public-checks--inverse { gap: var(--cb-mk-space-4); font: var(--cb-mk-text-body-m); }
.cb-mk-public-checks--inverse .cb-mk-icon { margin-top: 0; color: var(--cb-mk-color-bg-accent); }
.cb-mk-public-summary.validation-summary-valid { display: none; }
.cb-mk-public-summary.validation-summary-errors { padding: var(--cb-mk-space-4) var(--cb-mk-space-5); border-radius: var(--cb-mk-radius-field); background: var(--cb-mk-color-bg-danger-soft); color: var(--cb-mk-color-text-danger); font: var(--cb-mk-text-label-s); }
.cb-mk-public-summary ul { margin: 0; padding: 0; list-style: none; }

/* ---------------------------------------------------------------------------------------------------------------------------
   Shared pieces for the redesigned public pages (contract: docs/market-rollout/contract-public-redesign-20261110.md).
   Everything new uses the cb-mk-pub- prefix. A section's own styles live in its page stylesheet
   (citybites.market.public-home.css, citybites.market.public-help.css), never here.
   --------------------------------------------------------------------------------------------------------------------------- */

/* Private values the public pages share. Motion tokens stop at 200ms; marketing motion needs a slower beat and a spring. */
.cb-mk-public, .cb-mk-auth {
    --_cb-mk-pub-slow: 600ms;
    --_cb-mk-pub-slower: 900ms;
    --_cb-mk-pub-ease: var(--cb-mk-motion-ease);
    --_cb-mk-pub-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
    --_cb-mk-pub-mono: ui-monospace, "SF Mono", "Cascadia Mono", "Roboto Mono", Consolas, monospace;
    --_cb-mk-pub-forest-deep: var(--cb-mk-palette-forest-900);
}

/* Section: the vertical rhythm of a page. --tint sits on the sunken grey, --inverse on forest with white text. */
.cb-mk-pub-section { position: relative; padding-block: var(--cb-mk-space-10); }
.cb-mk-pub-section--flush { padding-block: 0; }
/* Sections alternate between the page and a white band so each one reads as its own block. */
.cb-mk-pub-section--surface { background: var(--cb-mk-color-bg-surface); }
.cb-mk-pub-section--tint { background: var(--cb-mk-color-bg-sunken); }
.cb-mk-pub-section--inverse { background: var(--cb-mk-color-bg-inverse); color: var(--cb-mk-color-text-on-inverse); }
.cb-mk-pub-anchor { display: block; height: 0; }

/* Section head: eyebrow, title and an optional lead beside it from 64rem. */
.cb-mk-pub-head { display: grid; gap: var(--cb-mk-space-5); margin-bottom: var(--cb-mk-space-8); }
.cb-mk-pub-head__title { display: flex; flex-direction: column; align-items: flex-start; gap: var(--cb-mk-space-4); min-width: 0; }
.cb-mk-pub-eyebrow { display: inline-flex; align-items: center; gap: var(--cb-mk-space-3); color: var(--cb-mk-color-text-brand); font: var(--cb-mk-text-overline); letter-spacing: var(--cb-mk-tracking-overline); text-transform: uppercase; }
.cb-mk-pub-eyebrow::before { content: ""; flex: none; width: var(--cb-mk-space-3); height: var(--cb-mk-space-3); border-radius: var(--cb-mk-radius-full); background: var(--cb-mk-color-bg-accent); box-shadow: 0 0 0 1px var(--cb-mk-color-border-strong); }
.cb-mk-pub-section--inverse .cb-mk-pub-eyebrow { color: var(--cb-mk-color-bg-accent); }
.cb-mk-pub-section--inverse .cb-mk-pub-eyebrow::before { box-shadow: none; }
.cb-mk-pub-title { margin: 0; color: var(--cb-mk-color-text-primary); font: var(--cb-mk-text-heading-2); letter-spacing: var(--cb-mk-tracking-heading-2); text-wrap: balance; }
.cb-mk-pub-section--inverse .cb-mk-pub-title { color: var(--cb-mk-color-text-on-inverse); }
.cb-mk-pub-title > em { color: var(--cb-mk-color-text-brand); font-style: normal; }
.cb-mk-pub-section--inverse .cb-mk-pub-title > em { color: var(--cb-mk-color-bg-accent); }
.cb-mk-pub-lead { margin: 0; max-width: 56ch; color: var(--cb-mk-color-text-secondary); font: var(--cb-mk-text-body-m); }
.cb-mk-pub-section--inverse .cb-mk-pub-lead { color: inherit; opacity: 0.8; }

/* The lime highlighter behind a few words of a headline. */
.cb-mk-pub-mark { padding: 0 0.16em; border-radius: var(--cb-mk-radius-md); background: var(--cb-mk-color-bg-accent); color: var(--cb-mk-color-text-on-accent); -webkit-box-decoration-break: clone; box-decoration-break: clone; }
/* A double f in a tight display heading reads as one curly shape; this opens the pair up. Wrap it: o<span class="cb-mk-pub-ff">ff</span>ice. */
.cb-mk-pub-ff { letter-spacing: 0.01em; }

/* "Example" tag: every illustrative number, name or screen carries one. */
.cb-mk-pub-example { display: inline-flex; align-items: center; padding: var(--cb-mk-space-2) var(--cb-mk-space-3); border: 1px dashed var(--cb-mk-color-border-strong); border-radius: var(--cb-mk-radius-sm); color: var(--cb-mk-color-text-secondary); font: var(--cb-mk-text-label-s); font-size: var(--cb-mk-font-size-12); letter-spacing: 0.06em; text-transform: uppercase; white-space: nowrap; }
.cb-mk-pub-section--inverse .cb-mk-pub-example { border-color: var(--cb-mk-color-border-overlay); color: inherit; opacity: 0.8; }

/* Photos: the image fills whatever box the section gives it. Plate is the round dish thumbnail. */
.cb-mk-pub-photo { display: block; width: 100%; height: 100%; object-fit: cover; }
.cb-mk-pub-plate { display: block; flex: none; width: var(--cb-mk-size-48); height: var(--cb-mk-size-48); overflow: hidden; border-radius: var(--cb-mk-radius-full); background: var(--cb-mk-color-bg-sunken); box-shadow: 0 0 0 2px var(--cb-mk-color-bg-surface), var(--cb-mk-shadow-raised); }
.cb-mk-pub-plate > img { display: block; width: 100%; height: 100%; object-fit: cover; }
.cb-mk-pub-plate--sm { width: 100%; height: 100%; box-shadow: none; }
.cb-mk-pub-plate--lg { width: var(--cb-mk-size-56); height: var(--cb-mk-size-56); }

/* Ticket text: the order ticket, the receipt and other machine-printed details. */
.cb-mk-pub-mono { font-family: var(--_cb-mk-pub-mono); font-variant-numeric: tabular-nums; letter-spacing: 0; }

/* The security check sits directly above (or beside) a form's main button. */
.cb-mk-public .cf-turnstile { min-height: 4.0625rem; }

/* Reveal on scroll. citybites.public.js marks only what starts below the screen, so nothing on screen ever blinks, and
   removes the mark when the element scrolls in. data-cb-reveal="1" to "4" staggers neighbours. */
[data-cb-reveal-pending] { opacity: 0; transform: translateY(var(--cb-mk-space-6)); }
[data-cb-reveal] { transition: opacity var(--_cb-mk-pub-slow) var(--_cb-mk-pub-ease), transform var(--_cb-mk-pub-slow) var(--_cb-mk-pub-ease); }
[data-cb-reveal="1"] { transition-delay: 80ms; }
[data-cb-reveal="2"] { transition-delay: 160ms; }
[data-cb-reveal="3"] { transition-delay: 240ms; }
[data-cb-reveal="4"] { transition-delay: 320ms; }

/* Header (Figma: Navigation / Public header): the page shows through it; a hairline appears once the page has scrolled. */
.cb-mk-public-header { position: sticky; top: 0; z-index: 20; border-bottom: 1px solid transparent; background: color-mix(in srgb, var(--cb-mk-color-bg-page) 88%, transparent); -webkit-backdrop-filter: saturate(1.4) blur(0.875rem); backdrop-filter: saturate(1.4) blur(0.875rem); transition: border-color var(--cb-mk-motion-base) var(--cb-mk-motion-ease); }
.cb-mk-public-header[data-stuck] { border-bottom-color: var(--cb-mk-color-border-default); }
.cb-mk-public-header__inner { position: relative; display: flex; align-items: center; gap: var(--cb-mk-space-7); min-height: var(--_cb-mk-public-header); }
.cb-mk-public-brand { display: inline-flex; flex: none; align-items: center; gap: var(--cb-mk-space-3); color: var(--cb-mk-color-text-primary); font: var(--cb-mk-text-heading-4); letter-spacing: var(--cb-mk-tracking-heading-4); text-decoration: none; }
.cb-mk-public-brand--on-inverse { color: var(--cb-mk-color-text-on-inverse); }
.cb-mk-public-nav { display: none; align-items: center; gap: var(--cb-mk-space-2); }
.cb-mk-public-nav__link { display: inline-flex; align-items: center; gap: var(--cb-mk-space-2); min-height: var(--cb-mk-control-height-sm); padding: 0 var(--cb-mk-space-4); border: 0; border-radius: var(--cb-mk-radius-full); background: none; color: var(--cb-mk-color-text-primary); font: var(--cb-mk-text-label-m); text-decoration: none; cursor: pointer; transition: background-color var(--cb-mk-motion-fast) var(--cb-mk-motion-ease); }
.cb-mk-public-nav__link:hover,
.cb-mk-public-nav__link[aria-expanded="true"] { background: var(--cb-mk-color-bg-info-soft); }
.cb-mk-public-nav__link > .cb-mk-icon { color: var(--cb-mk-color-text-secondary); transition: transform var(--cb-mk-motion-base) var(--cb-mk-motion-ease); }
.cb-mk-public-nav__link[aria-expanded="true"] > .cb-mk-icon { transform: rotate(180deg); }
.cb-mk-public-header__actions { display: flex; flex: none; align-items: center; gap: var(--cb-mk-space-2); margin-left: auto; }
.cb-mk-public-header__wide { display: none; }

/* Solutions menu (Figma: Navigation / Public solutions menu): two columns of solutions, each with its dish photo. */
.cb-mk-public-menu { position: absolute; top: calc(100% + var(--cb-mk-space-2)); left: 0; z-index: 30; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--cb-mk-space-2) var(--cb-mk-space-6); width: min(48rem, 100%); padding: var(--cb-mk-space-6); border: 1px solid var(--cb-mk-color-border-default); border-radius: var(--cb-mk-radius-card); background: var(--cb-mk-color-bg-raised); box-shadow: var(--cb-mk-shadow-overlay); transform-origin: 20% 0; animation: cb-mk-public-menu-in var(--cb-mk-motion-base) var(--cb-mk-motion-ease); }
.cb-mk-public-menu[hidden] { display: none; }
@keyframes cb-mk-public-menu-in { from { opacity: 0; transform: translateY(calc(var(--cb-mk-space-3) * -1)) scale(0.98); } }
.cb-mk-public-menu__group { display: flex; flex-direction: column; gap: var(--cb-mk-space-1); min-width: 0; }
.cb-mk-public-menu__label { padding: var(--cb-mk-space-2) var(--cb-mk-space-3) var(--cb-mk-space-3); }
.cb-mk-public-menu__link { display: flex; align-items: center; gap: var(--cb-mk-space-4); padding: var(--cb-mk-space-3); border-radius: var(--cb-mk-radius-lg); color: inherit; text-decoration: none; transition: background-color var(--cb-mk-motion-fast) var(--cb-mk-motion-ease); }
.cb-mk-public-menu__link:hover { background: var(--cb-mk-color-bg-accent-soft); }
.cb-mk-public-menu__link .cb-mk-pub-plate { transition: transform var(--cb-mk-motion-base) var(--_cb-mk-pub-spring); }
.cb-mk-public-menu__link:hover .cb-mk-pub-plate { transform: rotate(-8deg) scale(1.08); }
.cb-mk-public-menu__copy { display: flex; flex-direction: column; gap: var(--cb-mk-space-1); min-width: 0; }
.cb-mk-public-menu__foot { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; gap: var(--cb-mk-space-4); margin-top: var(--cb-mk-space-3); padding: var(--cb-mk-space-5) var(--cb-mk-space-3) 0; border-top: 1px solid var(--cb-mk-color-border-default); }

/* Sections and their heads (Figma: Marketing / Section head) */
.cb-mk-public-head { display: grid; gap: var(--cb-mk-space-4); }
.cb-mk-public-head__title { display: flex; flex-direction: column; gap: var(--cb-mk-space-4); min-width: 0; }
.cb-mk-public-head__side { display: flex; flex-direction: column; align-items: flex-start; gap: var(--cb-mk-space-4); min-width: 0; }

/* Feedback panel (Figma: Marketing / Feedback panel): the card sits over the photo's lower edge, like the store banner */
.cb-mk-public-feedback__stars { color: var(--cb-mk-color-text-warning); font-style: normal; letter-spacing: 0.1em; }

/* CTA band (Figma: Marketing / CTA band) */
.cb-mk-public-cta { display: flex; flex-direction: column; gap: var(--cb-mk-space-6); padding: var(--cb-mk-space-7); border-radius: var(--cb-mk-radius-card); background: var(--cb-mk-color-bg-inverse); color: var(--cb-mk-color-text-on-inverse); }
.cb-mk-public-cta__copy { display: flex; flex: 1; flex-direction: column; gap: var(--cb-mk-space-3); min-width: 0; }
.cb-mk-public-cta__copy > .cb-mk-overline { color: var(--cb-mk-color-bg-accent); }
.cb-mk-public-cta__copy > p { opacity: 0.8; }
.cb-mk-public-cta__actions { display: flex; flex: none; flex-wrap: wrap; gap: var(--cb-mk-space-3); }
.cb-mk-public-cta__actions > .cb-mk-button:not(.cb-mk-button--accent) { color: var(--cb-mk-color-text-primary); }

/* Kitchen preview: the store banner with no ordering controls, then the menu */
.cb-mk-public-preview-page { display: flex; flex-direction: column; gap: var(--cb-mk-space-7); padding-block: var(--cb-mk-space-6) var(--cb-mk-space-11); }
.cb-mk-public-preview-page__cover > img { width: 100%; height: 100%; object-fit: cover; }
.cb-mk-public-preview-page__cta { grid-area: actions; }
.cb-mk-public-preview-page__meta { grid-area: meta; display: flex; flex-direction: column; gap: var(--cb-mk-space-3); min-width: 0; }
.cb-mk-public-preview-page__nav { position: sticky; top: var(--_cb-mk-public-header); z-index: 5; margin-inline: calc(-1 * var(--cb-mk-space-3)); padding: var(--cb-mk-space-3); background: var(--cb-mk-color-bg-page); }
.cb-mk-public-preview-page .cb-mk-public-head { align-items: start; }
.cb-mk-public-preview-page__reviews { display: flex; flex-direction: column; gap: var(--cb-mk-space-5); }
.cb-mk-public-preview-page__review-grid { display: grid; gap: var(--cb-mk-space-3); }
.cb-mk-public-food-menu { display: flex; flex-direction: column; gap: var(--cb-mk-space-7); }
.cb-mk-public-food-menu__title { display: flex; flex-direction: column; gap: var(--cb-mk-space-2); }
.cb-mk-public-menu-section { display: flex; flex-direction: column; gap: var(--cb-mk-space-5); }
.cb-mk-public-main .cb-mk-public-menu-section[id] { scroll-margin-top: calc(var(--_cb-mk-public-header) + 4.5rem); }
.cb-mk-public-menu-section__head { display: flex; flex-direction: column; gap: var(--cb-mk-space-2); }
.cb-mk-public-menu-grid { display: grid; gap: var(--cb-mk-space-4); }
.cb-mk-public-offering { display: grid; grid-template-columns: minmax(0, 1fr) 6.5rem; min-width: 0; overflow: hidden; border: 1px solid var(--cb-mk-color-border-default); border-radius: var(--cb-mk-radius-card); background: var(--cb-mk-color-bg-surface); }
.cb-mk-public-offering:not(:has(.cb-mk-public-offering__photo)) { grid-template-columns: minmax(0, 1fr); }
.cb-mk-public-offering__body { display: flex; flex-direction: column; gap: var(--cb-mk-space-3); min-width: 0; padding: var(--cb-mk-space-5); }
.cb-mk-public-offering__head { display: flex; flex-direction: column; gap: var(--cb-mk-space-1); }
.cb-mk-public-offering__title { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--cb-mk-space-3); }
.cb-mk-public-offering__more > summary { display: inline-flex; align-items: center; gap: var(--cb-mk-space-2); color: var(--cb-mk-color-text-brand); font: var(--cb-mk-text-label-s); list-style: none; cursor: pointer; }
.cb-mk-public-offering__more > summary::-webkit-details-marker { display: none; }
.cb-mk-public-offering__more > summary > .cb-mk-icon { transition: transform var(--cb-mk-motion-base) var(--cb-mk-motion-ease); }
.cb-mk-public-offering__more[open] > summary > .cb-mk-icon { transform: rotate(180deg); }
.cb-mk-public-offering__more > p { margin-top: var(--cb-mk-space-2); white-space: pre-line; }
.cb-mk-public-offering__foot { display: flex; flex-wrap: wrap; align-items: center; gap: var(--cb-mk-space-3); margin-top: auto; padding-top: var(--cb-mk-space-2); }
.cb-mk-public-offering__tags { display: flex; flex-wrap: wrap; gap: var(--cb-mk-space-2); }
.cb-mk-public-offering__photo { height: 100%; min-height: 8rem; border-radius: 0; }
/* The tooltip citybites.allergen-tooltips.js builds on the body. No popup in Market is dark. */
.cb-allergen-tooltip { position: fixed; z-index: 1300; width: max-content; max-width: min(20rem, calc(100vw - 1rem)); padding: var(--cb-mk-space-2) var(--cb-mk-space-3); border: 1px solid var(--cb-mk-color-border-default); border-radius: var(--cb-mk-radius-sm); background: var(--cb-mk-color-bg-raised); box-shadow: var(--cb-mk-shadow-overlay); color: var(--cb-mk-color-text-primary); font: var(--cb-mk-text-label-s); pointer-events: none; }
.cb-allergen-tooltip[hidden] { display: none; }

/* Privacy and Terms */
.cb-mk-public-legal { display: flex; flex-direction: column; gap: var(--cb-mk-space-7); padding-block: var(--cb-mk-space-8) var(--cb-mk-space-11); }
.cb-mk-public-legal__head { display: flex; flex-direction: column; gap: var(--cb-mk-space-3); }
.cb-mk-public-legal__prose { gap: var(--cb-mk-space-8); }
.cb-mk-public-legal__section { display: flex; flex-direction: column; gap: var(--cb-mk-space-4); }
.cb-mk-public-legal__section > * { max-width: 46rem; }
.cb-mk-public-legal__section > p,
.cb-mk-public-legal__section > ul { color: var(--cb-mk-color-text-secondary); }
.cb-mk-public-legal__section > ul { display: flex; flex-direction: column; gap: var(--cb-mk-space-2); margin: 0; padding-left: var(--cb-mk-space-6); list-style: disc; }

/* Footer (Figma: Navigation / Public footer) */
.cb-mk-public-footer { padding-block: var(--cb-mk-space-10) var(--cb-mk-space-8); background: var(--cb-mk-color-bg-inverse); color: var(--cb-mk-color-text-on-inverse); }
.cb-mk-public-footer__inner { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--cb-mk-space-8) var(--cb-mk-space-5); }
.cb-mk-public-footer__intro { grid-column: 1 / -1; display: flex; flex-direction: column; gap: var(--cb-mk-space-5); min-width: 0; }
.cb-mk-public-footer__intro > p { margin: 0; max-width: 22rem; opacity: 0.8; font: var(--cb-mk-text-body-m); }
.cb-mk-public-footer__group { display: flex; flex-direction: column; align-items: flex-start; gap: var(--cb-mk-space-4); min-width: 0; }
.cb-mk-public-footer__group > h2 { margin: 0; color: var(--cb-mk-color-bg-accent); font: var(--cb-mk-text-overline); letter-spacing: var(--cb-mk-tracking-overline); text-transform: uppercase; }
.cb-mk-public-footer__group > a { color: inherit; font: var(--cb-mk-text-body-s); text-decoration: none; }
.cb-mk-public-footer a:hover { text-decoration: underline; text-underline-offset: 0.2em; }
.cb-mk-public-footer :is(a, button):focus-visible { outline-color: var(--cb-mk-color-bg-accent); }
.cb-mk-public-footer__bar { display: flex; flex-direction: column; gap: var(--cb-mk-space-3); margin-top: var(--cb-mk-space-8); padding-top: var(--cb-mk-space-6); border-top: 1px solid var(--cb-mk-color-border-overlay); opacity: 0.8; font: var(--cb-mk-text-caption); }

@media (max-width: 47.99rem) {
    .cb-mk-public-menu { display: none; }
}

@media (min-width: 48rem) {
    .cb-mk-public { --_cb-mk-public-gutter: var(--cb-mk-space-8); }
    .cb-mk-public-preview-page__review-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .cb-mk-public-menu-grid { gap: var(--cb-mk-space-5); }
    .cb-mk-public-offering { grid-template-columns: minmax(0, 1fr) 8rem; }
    .cb-mk-public-cta { padding: var(--cb-mk-space-9); }
    .cb-mk-public-footer__inner { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .cb-mk-public-footer__bar { flex-direction: row; flex-wrap: wrap; justify-content: space-between; }
}

@media (min-width: 64rem) {
    .cb-mk-public { --_cb-mk-public-gutter: var(--cb-mk-space-9); --_cb-mk-public-header: 4.5rem; }
    .cb-mk-public-nav { display: flex; }
    .cb-mk-public-header__wide { display: inline-flex; }
    .cb-mk-public-header__menu { display: none; }
    .cb-mk-public-head { grid-template-columns: minmax(0, 1fr) minmax(0, 30rem); align-items: end; column-gap: var(--cb-mk-space-11); }
    .cb-mk-public-cta { flex-direction: row; align-items: center; justify-content: space-between; gap: var(--cb-mk-space-8); padding: var(--cb-mk-space-10); }
    .cb-mk-public-preview-page__cover { height: 18rem; }
    .cb-mk-public-menu-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .cb-mk-public-legal__nav { top: calc(var(--_cb-mk-public-header) + var(--cb-mk-space-5)); }
    .cb-mk-public-legal__nav .cb-mk-section-nav__label { overflow: visible; white-space: normal; }
    .cb-mk-public-legal__prose { padding: var(--cb-mk-space-9); }
    .cb-mk-public-footer { padding-top: var(--cb-mk-space-11); }
    .cb-mk-public-footer__inner { grid-template-columns: minmax(0, 1.6fr) repeat(4, minmax(0, 1fr)); gap: var(--cb-mk-space-9); }
    .cb-mk-public-footer__intro { grid-column: auto; }
}

/* Shared cb-mk-pub- pieces at tablet and laptop widths. */
@media (min-width: 48rem) {
    .cb-mk-pub-section { padding-block: var(--cb-mk-space-11); }
    .cb-mk-pub-section--flush { padding-block: 0; }
    .cb-mk-pub-title { font: var(--cb-mk-text-heading-1); letter-spacing: var(--cb-mk-tracking-heading-1); }
    .cb-mk-pub-lead { font: var(--cb-mk-text-body-l); }
}
@media (min-width: 64rem) {
    .cb-mk-pub-section { padding-block: calc(var(--cb-mk-space-11) * 1.5); }
    .cb-mk-pub-section--flush { padding-block: 0; }
    .cb-mk-pub-head { grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr); align-items: end; gap: var(--cb-mk-space-9); margin-bottom: var(--cb-mk-space-10); }
    .cb-mk-pub-head--stacked { grid-template-columns: minmax(0, 1fr); }
    .cb-mk-pub-title { font: var(--cb-mk-text-display-l); letter-spacing: var(--cb-mk-tracking-display-l); }
}

/* Reduced motion: the motion tokens already drop to 0ms; these rails also stop scrolling smoothly. */
@media (prefers-reduced-motion: reduce) {
    .cb-mk-public, .cb-mk-auth { --_cb-mk-pub-slow: 0ms; --_cb-mk-pub-slower: 0ms; }
    [data-cb-reveal-pending] { opacity: 1; transform: none; }
    [data-cb-reveal] { transition: none; }
    .cb-mk-public-menu { animation: none; }
    .cb-mk-public-menu__link:hover .cb-mk-pub-plate { transform: none; }
    .cb-mk-public-preview-page .cb-mk-scroller__track { scroll-behavior: auto; }
}
