@font-face {
  font-family: "LC Inter";
  src: url("/assets/fonts/inter-var.woff2") format("woff2");
  font-display: swap;
  font-weight: 100 900;
}

@font-face {
  font-family: "LC Fraunces";
  src: url("/assets/fonts/fraunces-var.woff2") format("woff2");
  font-display: swap;
  font-weight: 100 900;
}

:root {
  --lc-accent: #f35f3f;
  --lc-accent-2: #dced72;
  --lc-ink: #17362d;
  --lc-paper: #fff8e8;
  --lc-card: #fffdf7;
  --lc-line: color-mix(in srgb, var(--lc-ink) 16%, transparent);
  --lc-muted: color-mix(in srgb, var(--lc-ink) 66%, transparent);
  --lc-max: 92rem;
  --lc-pad: clamp(1rem, 3.5vw, 3.5rem);
  color-scheme: light;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  overflow-x: clip;
  background: var(--lc-paper);
  color: var(--lc-ink);
  font-family: "LC Inter", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
}

button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
button { color: inherit; }
:focus-visible { outline: 3px solid var(--lc-accent); outline-offset: 3px; }

.lc-skip {
  position: fixed;
  z-index: 1000;
  top: 0.7rem;
  left: 0.7rem;
  padding: 0.75rem 1rem;
  transform: translateY(-150%);
  border-radius: 999px;
  background: var(--lc-ink);
  color: var(--lc-paper);
}
.lc-skip:focus { transform: translateY(0); }

.lc-shell { min-height: 100vh; }
.lc-container { width: min(var(--lc-max), calc(100% - (var(--lc-pad) * 2))); margin-inline: auto; }
.lc-header {
  position: absolute;
  z-index: 30;
  top: 0;
  left: 0;
  width: 100%;
  color: var(--lc-ink);
}
.lc-header__inner {
  min-height: 5.5rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.2rem;
  border-bottom: 1px solid var(--lc-line);
}
.lc-brand { min-width: 0; display: inline-flex; align-items: center; gap: 0.72rem; font-weight: 820; letter-spacing: -0.035em; }
.lc-brand__mark {
  width: 2.3rem;
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--lc-ink);
  color: var(--lc-paper);
  font-size: 0.68rem;
  letter-spacing: -0.04em;
}
.lc-brand small { display: block; margin-top: 0.05rem; color: var(--lc-muted); font-size: 0.46rem; font-weight: 650; letter-spacing: 0.09em; text-transform: uppercase; }
.lc-nav { display: flex; align-items: center; gap: clamp(0.7rem, 2vw, 2rem); }
.lc-nav a { font-size: 0.72rem; font-weight: 670; }

/* The header floats over the hero, which is a light copy panel on the left and
   an arbitrary photograph on the right. No single text colour stays legible
   across both, so the nav cluster carries its own surface instead of relying
   on whatever happens to be behind it. Mirrors the floating-pill header on the
   main ArrowSpade site. */
.lc-header .lc-nav {
  padding: 0.4rem 0.5rem 0.4rem clamp(0.85rem, 2vw, 1.35rem);
  border: 1px solid var(--lc-line);
  border-radius: 999px;
  background: color-mix(in srgb, var(--lc-paper) 90%, transparent);
  box-shadow: 0 8px 26px color-mix(in srgb, var(--lc-ink) 12%, transparent);
}

@supports (backdrop-filter: blur(1px)) {
  .lc-header .lc-nav {
    background: color-mix(in srgb, var(--lc-paper) 76%, transparent);
    backdrop-filter: blur(14px) saturate(140%);
  }
}

/* Force the themed ink colour on the pill so a concept that flips the header
   to a light treatment cannot end up light-on-light. */
.lc-header .lc-nav a:not(.lc-button) { color: var(--lc-ink); }
.lc-demo-back { display: inline-flex; align-items: center; gap: 0.35rem; }
.lc-demo-back i { width: 0.9rem; }

.lc-button {
  min-height: 3rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
  padding: 0.78rem 1.15rem;
  border: 1px solid var(--lc-ink);
  border-radius: 999px;
  background: var(--lc-ink);
  color: var(--lc-paper);
  cursor: pointer;
  font-size: 0.72rem;
  font-weight: 780;
  transition: transform 180ms ease, background 180ms ease, color 180ms ease;
}
.lc-button:hover { transform: translateY(-2px); }
.lc-button:active { transform: translateY(0) scale(0.98); }
/* --lc-accent-on is injected per vertical from local-concepts-data.js. Each
   accent gets whichever of a near-black or a near-white label clears 4.5:1
   against it; a single hardcoded #111 failed on five of the ten palettes. */
.lc-button--accent { border-color: var(--lc-accent); background: var(--lc-accent); color: var(--lc-accent-on, #111); }
.lc-button--ghost { background: transparent; color: var(--lc-ink); }
.lc-button--small { min-height: 2.75rem; padding-inline: 0.95rem; font-size: 0.64rem; }
.lc-button--full { width: 100%; }
.lc-button i { width: 1rem; height: 1rem; }

.lc-hero {
  min-height: min(58rem, 100svh);
  display: grid;
  grid-template-columns: minmax(0, 1.04fr) minmax(25rem, 0.96fr);
  padding-top: 0;
  background: var(--lc-paper);
}

.lc-hero > * {
  min-width: 0;
  width: 100%;
}

.lc-hero__copy {
  min-height: min(58rem, 100svh);
  display: flex;
  justify-content: flex-end;
  flex-direction: column;
  padding: 9rem clamp(var(--lc-pad), 6vw, 7rem) clamp(3rem, 7vw, 6.5rem) max(var(--lc-pad), calc((100vw - var(--lc-max)) / 2 + var(--lc-pad)));
}
.lc-eyebrow {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  margin: 0;
  color: var(--lc-muted);
  font-size: 0.62rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.lc-eyebrow::before { width: 0.48rem; height: 0.48rem; border-radius: 50%; background: var(--lc-accent); content: ""; }
.lc-hero h1 {
  max-width: 9ch;
  margin: 1.1rem 0 1.25rem;
  font-family: "LC Fraunces", Georgia, serif;
  font-size: clamp(4rem, 8.5vw, 9rem);
  font-weight: 520;
  letter-spacing: -0.07em;
  line-height: 0.86;
}
.lc-hero__lede { max-width: 42rem; margin: 0; color: var(--lc-muted); font-size: clamp(1rem, 1.25vw, 1.2rem); line-height: 1.6; }
.lc-hero__actions { display: flex; flex-wrap: wrap; gap: 0.65rem; margin-top: 2rem; }
.lc-hero__meta { display: flex; flex-wrap: wrap; gap: 0.75rem 1.5rem; margin-top: clamp(3rem, 6vw, 5rem); padding-top: 1.2rem; border-top: 1px solid var(--lc-line); }
.lc-hero__meta span { font-size: 0.6rem; font-weight: 700; }
.lc-hero__media { position: relative; min-height: 44rem; overflow: hidden; }
.lc-hero__media > img { width: 100%; height: 100%; object-fit: cover; }
.lc-hero__media::after { position: absolute; inset: 0; border-left: 1px solid rgba(255,255,255,.24); content: ""; pointer-events: none; }
.lc-hero__badge {
  position: absolute;
  right: clamp(1rem, 4vw, 3rem);
  bottom: clamp(1rem, 4vw, 3rem);
  width: min(16rem, 55%);
  padding: 1.1rem;
  border-radius: 1.2rem;
  background: var(--lc-card);
  color: var(--lc-ink);
  box-shadow: 0 1.4rem 4rem rgba(0,0,0,.18);
}
.lc-hero__badge small { color: var(--lc-muted); font-size: 0.58rem; font-weight: 760; text-transform: uppercase; }
.lc-hero__badge strong { display: block; margin-top: 0.4rem; font-family: "LC Fraunces", Georgia, serif; font-size: 1.55rem; line-height: 1; }
.lc-hero__badge span { display: block; margin-top: 0.45rem; color: var(--lc-muted); font-size: 0.68rem; line-height: 1.45; }

body[data-style="electric"] .lc-hero { background: #121313; color: white; }
body[data-style="electric"] .lc-header { color: white; }
body[data-style="electric"] .lc-header__inner { border-color: rgba(255,255,255,.2); }
body[data-style="electric"] .lc-brand__mark { background: var(--lc-accent); color: #121313; }
/* Only the header and the hero are dark on this style. These rules used to be
   unscoped, so every section eyebrow further down the cream page rendered
   white-on-cream and disappeared, and the ghost buttons in the activity strip,
   the visit block, and every dialog turned white-on-white. */
body[data-style="electric"] .lc-header .lc-brand small,
body[data-style="electric"] .lc-hero .lc-eyebrow,
body[data-style="electric"] .lc-hero .lc-hero__lede { color: rgba(255,255,255,.67); }
body[data-style="electric"] .lc-hero .lc-button--ghost { border-color: white; color: white; }
body[data-style="electric"] .lc-hero__meta { border-color: rgba(255,255,255,.18); }
body[data-style="electric"] .lc-hero h1 { font-family: "LC Inter", Arial, sans-serif; font-weight: 870; letter-spacing: -0.08em; text-transform: uppercase; }
body[data-style="nocturne"] .lc-hero { background: #17131b; color: white; }
body[data-style="nocturne"] .lc-header { color: white; }
body[data-style="nocturne"] .lc-header__inner { border-color: rgba(255,255,255,.2); }
body[data-style="nocturne"] .lc-brand__mark { background: var(--lc-accent); color: #17131b; }
body[data-style="nocturne"] .lc-header .lc-brand small,
body[data-style="nocturne"] .lc-hero .lc-eyebrow,
body[data-style="nocturne"] .lc-hero .lc-hero__lede { color: rgba(255,255,255,.67); }
body[data-style="nocturne"] .lc-hero .lc-button--ghost { border-color: white; color: white; }
body[data-style="nocturne"] .lc-hero__meta { border-color: rgba(255,255,255,.18); }
body[data-style="utility"] .lc-hero h1,
body[data-style="studio"] .lc-hero h1 { font-family: "LC Inter", Arial, sans-serif; font-weight: 780; }
body[data-style="fashion"] .lc-hero { grid-template-columns: minmax(0, .85fr) minmax(28rem, 1.15fr); }
body[data-style="fashion"] .lc-hero h1 { font-family: "LC Inter", Arial, sans-serif; font-weight: 830; }
body[data-style="calm"] .lc-hero h1 { max-width: 10ch; }
body[data-style="pizzeria"] .lc-hero h1 { max-width: 11ch; }
body[data-style="pizzeria"] .lc-brand__mark { background: var(--lc-accent); color: #171112; }
body[data-style="pizzeria"] .lc-hero__badge { border: 1px solid color-mix(in srgb, var(--lc-ink) 12%, transparent); }
body[data-style="pizzeria"] .lc-header { background: color-mix(in srgb, var(--lc-paper) 90%, transparent); backdrop-filter: blur(14px); }

.lc-strip { display: grid; grid-template-columns: repeat(4, 1fr); border-block: 1px solid var(--lc-line); background: var(--lc-card); }
.lc-strip p { margin: 0; padding: 1.15rem; border-right: 1px solid var(--lc-line); text-align: center; font-size: 0.61rem; font-weight: 760; letter-spacing: .08em; text-transform: uppercase; }
.lc-strip p:last-child { border-right: 0; }
.lc-activity { display: flex; align-items: center; justify-content: space-between; gap: 2rem; padding-block: 1.25rem; border-bottom: 1px solid var(--lc-line); }
.lc-activity h2 { margin: .35rem 0 0; font-family: "LC Fraunces", Georgia, serif; font-size: clamp(1.5rem, 3vw, 2.5rem); font-weight: 540; letter-spacing: -.045em; }
.lc-activity > div > p:last-child { margin: .35rem 0 0; color: var(--lc-muted); font-size: .65rem; line-height: 1.5; }
.lc-activity .lc-button { flex: 0 0 auto; }
.lc-activity__actions { display: flex; flex-wrap: wrap; gap: .55rem; }

.lc-section { padding: clamp(5rem, 10vw, 10rem) 0; }
.lc-section--card { background: var(--lc-card); }
.lc-section__head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(18rem, .55fr); gap: clamp(2rem, 7vw, 8rem); align-items: end; }
.lc-section__head h2,
.lc-experience__copy h2,
.lc-app-promo h2,
.lc-visit h2 {
  max-width: 11ch;
  margin: 0.9rem 0 0;
  font-family: "LC Fraunces", Georgia, serif;
  font-size: clamp(3.2rem, 6.8vw, 7rem);
  font-weight: 520;
  letter-spacing: -0.065em;
  line-height: 0.92;
}
.lc-section__head > p { margin: 0; color: var(--lc-muted); line-height: 1.65; }
.lc-toolbar { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 0.8rem; margin-top: 2.8rem; padding-bottom: 1.25rem; border-bottom: 1px solid var(--lc-line); }
.lc-filters { display: flex; flex-wrap: wrap; gap: 0.45rem; }
.lc-filter {
  min-height: 2.75rem;
  padding: 0.65rem 0.95rem;
  border: 1px solid var(--lc-line);
  border-radius: 999px;
  background: transparent;
  cursor: pointer;
  font-size: .64rem;
  font-weight: 720;
}
.lc-filter.is-active { border-color: var(--lc-ink); background: var(--lc-ink); color: var(--lc-paper); }
.lc-toolbar__aside { display: flex; align-items: center; gap: .7rem; color: var(--lc-muted); font-size: .65rem; }
.lc-toolbar__aside i { width: 1rem; color: var(--lc-accent); }

/* The hairline grid is drawn by the cards themselves (right + bottom) plus the
   container's top + left edge. Painting a background on the grid box and
   letting 1px gaps show through would expose that colour as a solid block
   whenever the final row is not full, which happens on any concept whose item
   count is not a multiple of the current column count, and on every concept as
   soon as a category filter is applied. Because each card owns its own rules,
   the result stays correct at 3, 2, and 1 columns with no per-breakpoint
   nth-child maths. */
.lc-item-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; margin-top: 1px; background: transparent; border: 0; border-top: 1px solid var(--lc-line); border-left: 1px solid var(--lc-line); }
.lc-item-grid:empty { border: 0; }
.lc-item {
  min-height: 22rem;
  display: flex;
  flex-direction: column;
  border-right: 1px solid var(--lc-line);
  border-bottom: 1px solid var(--lc-line);
  padding: clamp(1.2rem, 2.8vw, 2.2rem);
  background: var(--lc-card);
  transition: background 200ms ease;
}
.lc-item__media { height: 10rem; margin: calc(clamp(1.2rem, 2.8vw, 2.2rem) * -1) calc(clamp(1.2rem, 2.8vw, 2.2rem) * -1) 1.2rem; overflow: hidden; }
.lc-item__media img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.85); }
body[data-style="pizzeria"] .lc-item__media { height: auto; aspect-ratio: 4 / 3; background: #eadcc5; }
body[data-style="pizzeria"] .lc-item__media img { object-fit: cover; filter: none; transition: transform 500ms cubic-bezier(.2,.8,.2,1); }
body[data-style="pizzeria"] .lc-item:hover .lc-item__media img { transform: scale(1.035); }
.lc-save { width: 2.75rem; aspect-ratio: 1; display: grid; place-items: center; border: 1px solid var(--lc-line); border-radius: 50%; background: var(--lc-card); cursor: pointer; }
.lc-save[aria-pressed="true"] { border-color: var(--lc-accent); background: var(--lc-accent); color: white; }
.lc-save i { width: 1rem; }
.lc-item:hover { background: color-mix(in srgb, var(--lc-accent-2) 32%, var(--lc-card)); }
.lc-item__top { display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; }
.lc-item__icon { width: 3rem; aspect-ratio: 1; display: grid; place-items: center; border: 1px solid var(--lc-line); border-radius: .8rem; }
.lc-item__icon i { width: 1.2rem; }
.lc-item__top span { color: var(--lc-muted); font-size: .58rem; font-weight: 760; letter-spacing: .08em; text-transform: uppercase; }
.lc-item__badges { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: .35rem; }
.lc-item__badges b { padding: .3rem .48rem; border-radius: 999px; background: color-mix(in srgb, var(--lc-accent-2) 42%, var(--lc-card)); font-size: .5rem; font-weight: 760; }
.lc-item h3 { margin: auto 0 .65rem; font-size: clamp(1.5rem, 2.5vw, 2.3rem); letter-spacing: -.055em; line-height: 1; }
.lc-item p { margin: 0; color: var(--lc-muted); font-size: .75rem; line-height: 1.55; }
.lc-item__bottom { display: flex; align-items: flex-end; justify-content: space-between; gap: .7rem; margin-top: 1.2rem; padding-top: 1rem; border-top: 1px solid var(--lc-line); }
.lc-item__price strong { display: block; font-size: 1.2rem; }
.lc-item__price small { display: block; margin-top: .2rem; color: var(--lc-muted); font-size: .56rem; }
.lc-icon-button { width: 2.75rem; aspect-ratio: 1; display: grid; place-items: center; border: 1px solid var(--lc-ink); border-radius: 50%; background: var(--lc-ink); color: var(--lc-paper); cursor: pointer; }
.lc-icon-button i { width: 1rem; }
.lc-icon-button.is-saved { border-color: var(--lc-accent); background: var(--lc-accent); color: var(--lc-accent-on, #111); }

.lc-pizza-context { display: grid; grid-template-columns: 1.1fr repeat(4, minmax(8rem, .72fr)) auto; gap: .7rem; align-items: end; margin-top: 2.4rem; padding: 1rem; border: 1px solid var(--lc-line); border-radius: 1.25rem; background: var(--lc-paper); }
.lc-pizza-context__intro { align-self: center; padding-right: .5rem; }
.lc-pizza-context__intro span { display: flex; align-items: center; gap: .4rem; color: var(--lc-muted); font-size: .55rem; font-weight: 740; text-transform: uppercase; letter-spacing: .08em; }
.lc-pizza-context__intro span i { width: .85rem; color: var(--lc-accent); }
.lc-pizza-context__intro strong, .lc-pizza-context__intro small { display: block; }
.lc-pizza-context__intro strong { margin-top: .3rem; font-size: 1rem; }
.lc-pizza-context__intro small { margin-top: .18rem; color: var(--lc-muted); font-size: .55rem; }
.lc-pizza-context > label { display: grid; gap: .35rem; }
.lc-pizza-context > label > span, .lc-pizza-context legend { color: var(--lc-muted); font-size: .53rem; font-weight: 740; }
.lc-pizza-context input, .lc-pizza-context select { width: 100%; min-height: 2.75rem; padding: .62rem .7rem; border: 1px solid var(--lc-line); border-radius: .72rem; background: var(--lc-card); color: var(--lc-ink); }
.lc-pizza-context fieldset { min-width: 12rem; display: grid; grid-template-columns: repeat(2, 1fr); gap: .35rem; margin: 0; padding: 0; border: 0; }
.lc-pizza-context legend { grid-column: 1 / -1; margin-bottom: .35rem; }
.lc-pizza-context fieldset label { position: relative; }
.lc-pizza-context fieldset input { position: absolute; opacity: 0; }
.lc-pizza-context fieldset span { min-height: 2.75rem; display: flex; align-items: center; justify-content: center; gap: .35rem; padding: .55rem; border: 1px solid var(--lc-line); border-radius: .72rem; background: var(--lc-card); cursor: pointer; font-size: .55rem; font-weight: 740; }
.lc-pizza-context fieldset span i { width: .8rem; }
.lc-pizza-context fieldset input:checked + span { border-color: var(--lc-ink); background: var(--lc-ink); color: var(--lc-paper); }
.lc-pizza-context__address { display: none !important; }
.lc-pizza-context.is-delivery .lc-pizza-context__address { display: grid !important; }

.lc-pizza-deals { margin-top: 3rem; }
.lc-pizza-deals__head { display: flex; align-items: end; justify-content: space-between; gap: 2rem; margin-bottom: 1rem; }
.lc-pizza-deals__head span { color: var(--lc-accent); font-size: .55rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.lc-pizza-deals__head h3 { max-width: 22ch; margin: .35rem 0 0; font-family: "LC Fraunces", Georgia, serif; font-size: clamp(1.7rem, 3vw, 2.7rem); font-weight: 540; letter-spacing: -.045em; line-height: 1; }
.lc-pizza-deals__head small { max-width: 20rem; color: var(--lc-muted); font-size: .55rem; line-height: 1.45; text-align: right; }
.lc-pizza-deals__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem; }
.lc-pizza-deal { overflow: hidden; border: 1px solid var(--lc-line); border-radius: 1.2rem; background: var(--lc-paper); }
.lc-pizza-deal__media { height: 12rem; display: grid; grid-template-columns: repeat(3, 1fr); overflow: hidden; background: #eadcc5; }
.lc-pizza-deal__media img { width: 100%; height: 100%; object-fit: cover; }
.lc-pizza-deal__media img:only-child { grid-column: 1 / -1; }
.lc-pizza-deal__copy { min-height: 12rem; display: flex; justify-content: space-between; flex-direction: column; gap: 1rem; padding: 1rem; }
.lc-pizza-deal__copy span { color: var(--lc-accent); font-size: .52rem; font-weight: 780; text-transform: uppercase; letter-spacing: .07em; }
.lc-pizza-deal__copy h3 { margin: .35rem 0 .3rem; font-size: 1.25rem; letter-spacing: -.035em; }
.lc-pizza-deal__copy p { margin: 0; color: var(--lc-muted); font-size: .62rem; line-height: 1.45; }
.lc-pizza-deal__bottom { display: flex; align-items: center; justify-content: space-between; gap: .7rem; }
.lc-pizza-deal__bottom > strong { font-size: 1.05rem; }

.lc-experience { display: grid; grid-template-columns: minmax(20rem, .85fr) minmax(0, 1.15fr); min-height: 48rem; background: var(--lc-ink); color: var(--lc-paper); }
.lc-experience__media { min-height: 40rem; }
.lc-experience__media img { width: 100%; height: 100%; object-fit: cover; }
.lc-experience__copy { display: flex; justify-content: center; flex-direction: column; padding: clamp(3rem, 7vw, 8rem); }
.lc-experience__copy .lc-eyebrow { color: color-mix(in srgb, var(--lc-paper) 67%, transparent); }
.lc-experience__copy > p:not(.lc-eyebrow) { max-width: 42rem; color: color-mix(in srgb, var(--lc-paper) 67%, transparent); line-height: 1.65; }
.lc-experience-list { display: grid; gap: 0; margin-top: 2.2rem; }
.lc-experience-point { display: grid; grid-template-columns: 3rem minmax(0, 1fr); gap: 1rem; padding: 1.2rem 0; border-top: 1px solid color-mix(in srgb, var(--lc-paper) 18%, transparent); }
.lc-experience-point i { width: 1.3rem; color: var(--lc-accent-2); }
.lc-experience-point h3 { margin: 0; font-size: 1rem; }
.lc-experience-point p { margin: .3rem 0 0; color: color-mix(in srgb, var(--lc-paper) 62%, transparent); font-size: .71rem; line-height: 1.5; }

.lc-stats { display: grid; grid-template-columns: repeat(3, 1fr); padding-block: clamp(4rem, 8vw, 7rem); border-bottom: 1px solid var(--lc-line); }
.lc-stat { padding: 0 clamp(1rem, 3vw, 3rem); border-right: 1px solid var(--lc-line); }
.lc-stat:first-child { padding-left: 0; }
.lc-stat:last-child { border-right: 0; }
.lc-stat strong { display: block; font-family: "LC Fraunces", Georgia, serif; font-size: clamp(3rem, 7vw, 6.5rem); font-weight: 520; letter-spacing: -.07em; line-height: 1; }
.lc-stat span { display: block; max-width: 15rem; margin-top: .65rem; color: var(--lc-muted); font-size: .66rem; line-height: 1.45; }

.lc-app-promo { display: grid; grid-template-columns: minmax(0, .9fr) minmax(24rem, 1.1fr); gap: clamp(3rem, 9vw, 10rem); align-items: center; overflow: hidden; }
.lc-app-promo__copy { padding-left: max(var(--lc-pad), calc((100vw - var(--lc-max)) / 2 + var(--lc-pad))); }
.lc-app-promo__copy > p:not(.lc-eyebrow) { max-width: 40rem; color: var(--lc-muted); line-height: 1.65; }
.lc-app-promo__copy ul { display: grid; gap: .75rem; margin: 1.5rem 0 2rem; padding: 0; list-style: none; }
.lc-app-promo__copy li { display: flex; gap: .65rem; align-items: center; font-size: .7rem; font-weight: 690; }
.lc-app-promo__copy li::before { width: .52rem; height: .52rem; border-radius: 50%; background: var(--lc-accent); content: ""; }
.lc-app-promo__visual { min-height: 46rem; display: grid; place-items: center; background: var(--lc-accent-2); }
.lc-phone-preview { width: min(21rem, 72%); padding: .55rem; border: 2px solid var(--lc-ink); border-radius: 2.4rem; background: var(--lc-ink); box-shadow: 0 2.5rem 5rem color-mix(in srgb, var(--lc-ink) 25%, transparent); transform: rotate(4deg); }
.lc-phone-screen { min-height: 38rem; overflow: hidden; border-radius: 1.95rem; background: var(--lc-card); color: var(--lc-ink); }
.lc-phone-top { display: flex; justify-content: space-between; align-items: center; padding: 1rem; }
.lc-phone-top strong { font-size: .66rem; }
.lc-phone-top span { font-size: .55rem; }
.lc-phone-hero { min-height: 15rem; display: flex; justify-content: flex-end; flex-direction: column; padding: 1rem; background: var(--lc-ink); color: var(--lc-paper); }
.lc-phone-hero small { color: color-mix(in srgb, var(--lc-paper) 65%, transparent); font-size: .55rem; }
.lc-phone-hero strong { max-width: 10ch; margin-top: .35rem; font-family: "LC Fraunces", Georgia, serif; font-size: 2rem; line-height: .95; }
.lc-phone-cards { display: grid; gap: .5rem; padding: 1rem; }
.lc-phone-card { display: flex; align-items: center; gap: .7rem; padding: .85rem; border: 1px solid var(--lc-line); border-radius: .9rem; background: var(--lc-card); }
.lc-phone-card i { width: 1rem; color: var(--lc-accent); }
.lc-phone-card strong { display: block; font-size: .62rem; }
.lc-phone-card span { display: block; margin-top: .2rem; color: var(--lc-muted); font-size: .5rem; }
.lc-phone-nav { display: grid; grid-template-columns: repeat(5, 1fr); margin: .6rem 1rem 1rem; padding-top: .8rem; border-top: 1px solid var(--lc-line); }
.lc-phone-nav i { width: .9rem; margin: auto; color: var(--lc-muted); }

.lc-visit { display: grid; grid-template-columns: minmax(0, 1fr) minmax(18rem, .45fr); gap: clamp(2rem, 10vw, 12rem); padding-block: clamp(5rem, 10vw, 9rem); }
.lc-visit__details { display: grid; align-content: end; gap: 1.2rem; }
.lc-visit__details p { margin: 0; color: var(--lc-muted); line-height: 1.6; }
.lc-footer { padding: 2rem var(--lc-pad); border-top: 1px solid color-mix(in srgb, var(--lc-paper) 18%, transparent); background: var(--lc-ink); color: var(--lc-paper); }
.lc-footer__inner { width: min(var(--lc-max), 100%); display: grid; grid-template-columns: .8fr 1.5fr .8fr; gap: 2rem; align-items: center; margin: auto; }
.lc-footer p { margin: 0; color: color-mix(in srgb, var(--lc-paper) 62%, transparent); font-size: .6rem; line-height: 1.5; }
.lc-footer nav { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 1rem; font-size: .62rem; font-weight: 700; }

.lc-header__inner > *,
.lc-section__head > *,
.lc-experience > *,
.lc-app-promo > *,
.lc-visit > *,
.lc-item,
.lc-cart-line > div,
.lc-builder-submit > div { min-width: 0; }

.lc-item h3,
.lc-item p,
.lc-cart-line strong,
.lc-cart-line span,
.lc-cart-line small,
.lc-builder-submit small,
.lc-dialog__head h2 { overflow-wrap: anywhere; }

.lc-dialog {
  position: fixed;
  inset: 0;
  width: min(43rem, calc(100vw - 2rem));
  max-height: min(47rem, calc(100dvh - 2rem));
  margin: auto;
  padding: 0;
  overflow: auto;
  border: 1px solid var(--lc-line);
  border-radius: 1.5rem;
  background: var(--lc-card);
  color: var(--lc-ink);
  box-shadow: 0 2rem 6rem rgba(0,0,0,.28);
}
.lc-dialog::backdrop { background: rgba(13, 17, 16, .67); backdrop-filter: blur(7px); }
.lc-dialog--builder { width: min(76rem, calc(100vw - 2rem)); max-height: calc(100dvh - 2rem); }
.lc-dialog__head { position: sticky; z-index: 2; top: 0; display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; padding: 1.35rem; border-bottom: 1px solid var(--lc-line); background: var(--lc-card); }
.lc-dialog__head h2 { margin: .35rem 0 0; font-family: "LC Fraunces", Georgia, serif; font-size: 2rem; letter-spacing: -.05em; }
.lc-dialog__close { width: 2.7rem; aspect-ratio: 1; display: grid; place-items: center; flex: 0 0 auto; border: 1px solid var(--lc-line); border-radius: 50%; background: transparent; cursor: pointer; }
.lc-dialog__close i { width: 1rem; }
.lc-booking-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; padding: 1.35rem; }
.lc-booking-form label { display: grid; gap: .4rem; }
.lc-booking-form label > span { font-size: .6rem; font-weight: 760; }
.lc-booking-form input,
.lc-booking-form select,
.lc-booking-form textarea { width: 100%; min-height: 3rem; padding: .75rem; border: 1px solid var(--lc-line); border-radius: .7rem; background: var(--lc-paper); color: var(--lc-ink); }
.lc-booking-form textarea { min-height: 5.7rem; resize: vertical; }
.lc-booking-form .lc-consent { display: flex; grid-template-columns: none; align-items: flex-start; gap: .65rem; padding: .8rem; border: 1px solid var(--lc-line); border-radius: .8rem; background: var(--lc-paper); }
.lc-booking-form .lc-consent input { width: 1.15rem; min-height: auto; height: 1.15rem; margin: .05rem 0 0; accent-color: var(--lc-accent); }
.lc-booking-form .lc-consent span { line-height: 1.45; }
.lc-builder-group { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .55rem; margin: 0; padding: 1rem; border: 1px solid var(--lc-line); border-radius: .9rem; }
.lc-builder-group legend { padding: 0 .35rem; font-size: .65rem; font-weight: 780; }
.lc-builder-group .lc-consent { min-height: 2.75rem; align-items: center; padding: .65rem; }
.lc-builder-total { display: flex; align-items: center; justify-content: space-between; padding: 1rem; border-radius: .9rem; background: var(--lc-ink); color: var(--lc-paper); }
.lc-builder-total span { font-size: .68rem; font-weight: 760; }
.lc-builder-total strong { font-size: 1.35rem; }
.lc-pizza-builder { display: grid; grid-template-columns: minmax(20rem, .72fr) minmax(0, 1.28fr); }
.lc-pizza-builder__preview { position: sticky; top: 6rem; align-self: start; padding: 1.15rem; }
.lc-pizza-builder__image { position: relative; overflow: hidden; width: 100%; aspect-ratio: 1; border-radius: 1.2rem; background: #eadcc5; }
.lc-pizza-builder__image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.lc-pizza-builder__selected { position: absolute; right: .75rem; bottom: .75rem; left: .75rem; padding: .6rem .7rem; border-radius: .7rem; background: rgba(36,27,28,.86); color: white; font-size: .55rem; line-height: 1.35; backdrop-filter: blur(8px); }
.lc-pizza-builder__summary { padding: 1rem .2rem 0; }
.lc-pizza-builder__summary > span { color: var(--lc-accent); font-size: .55rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.lc-pizza-builder__summary h3 { margin: .35rem 0; font-family: "LC Fraunces", Georgia, serif; font-size: 2rem; font-weight: 540; letter-spacing: -.05em; }
.lc-pizza-builder__summary p { margin: 0; color: var(--lc-muted); font-size: .62rem; line-height: 1.5; }
.lc-pizza-builder__summary > div { display: flex; align-items: baseline; justify-content: space-between; gap: .7rem; margin-top: 1rem; padding-top: .9rem; border-top: 1px solid var(--lc-line); }
.lc-pizza-builder__summary strong { font-size: 1.45rem; }
.lc-pizza-builder__summary small { color: var(--lc-muted); font-size: .55rem; }
.lc-pizza-builder__controls { min-width: 0; display: grid; gap: 1rem; padding: 1.15rem; border-left: 1px solid var(--lc-line); }
.lc-builder-step { margin: 0; padding: 1rem; border: 1px solid var(--lc-line); border-radius: 1rem; }
.lc-builder-step > legend { display: flex; align-items: center; gap: .65rem; padding: 0 .35rem; }
.lc-builder-step > legend > b { width: 1.8rem; aspect-ratio: 1; display: grid; place-items: center; border-radius: 50%; background: var(--lc-ink); color: var(--lc-paper); font-size: .6rem; }
.lc-builder-step > legend > span { font-size: .72rem; font-weight: 800; }
.lc-builder-step > legend small { display: block; margin-top: .1rem; color: var(--lc-muted); font-size: .5rem; font-weight: 500; }
.lc-builder-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .55rem; margin-top: .7rem; }
.lc-builder-option { position: relative; }
.lc-builder-option input { position: absolute; opacity: 0; }
.lc-builder-option > span { min-height: 4rem; display: flex; justify-content: center; flex-direction: column; padding: .7rem; border: 1px solid var(--lc-line); border-radius: .75rem; background: var(--lc-paper); cursor: pointer; }
.lc-builder-option input:checked + span { border-color: var(--lc-accent); box-shadow: inset 0 0 0 2px var(--lc-accent); }
.lc-builder-option strong, .lc-builder-option small { display: block; }
.lc-builder-option strong { font-size: .62rem; }
.lc-builder-option small { margin-top: .2rem; color: var(--lc-muted); font-size: .5rem; line-height: 1.35; }
.lc-builder-selects { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .55rem; margin-top: .7rem; }
.lc-builder-selects label, .lc-builder-notes { display: grid; gap: .35rem; }
.lc-builder-selects label > span, .lc-builder-notes > span { font-size: .55rem; font-weight: 760; }
.lc-builder-selects select, .lc-builder-notes textarea, .lc-topping-card select { width: 100%; min-height: 2.75rem; padding: .6rem; border: 1px solid var(--lc-line); border-radius: .65rem; background: var(--lc-paper); color: var(--lc-ink); font-size: .58rem; }
.lc-topping-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .55rem; margin-top: .7rem; }
.lc-topping-card { min-width: 0; overflow: hidden; padding-bottom: .6rem; border: 1px solid var(--lc-line); border-radius: .8rem; background: var(--lc-paper); }
.lc-topping-card > img { width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; }
.lc-topping-card > div, .lc-topping-card > label { display: grid; gap: .15rem; margin: .55rem .55rem 0; }
.lc-topping-card strong { font-size: .56rem; }
.lc-topping-card small, .lc-topping-card label > span { color: var(--lc-muted); font-size: .46rem; }
.lc-topping-card select { min-height: 2.75rem; padding: .45rem; }
.lc-builder-submit { position: sticky; z-index: 2; bottom: -.1rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .75rem; border: 1px solid var(--lc-line); border-radius: 1rem; background: color-mix(in srgb, var(--lc-card) 94%, transparent); box-shadow: 0 -.8rem 2rem rgba(36,27,28,.08); backdrop-filter: blur(12px); }
.lc-builder-submit small, .lc-builder-submit strong { display: block; }
.lc-builder-submit small { max-width: 30rem; color: var(--lc-muted); font-size: .5rem; }
.lc-builder-submit strong { margin-top: .18rem; font-size: 1.15rem; }
.lc-allergen { display: flex; align-items: flex-start; gap: .7rem; padding: .9rem; border: 1px solid color-mix(in srgb, var(--lc-accent) 45%, var(--lc-line)); border-radius: .9rem; background: color-mix(in srgb, var(--lc-accent-2) 25%, var(--lc-paper)); }
.lc-allergen i { width: 1.15rem; flex: 0 0 auto; color: var(--lc-accent); }
.lc-allergen p { margin: 0; font-size: .62rem; line-height: 1.5; }
.lc-allergen strong { display: block; margin-bottom: .15rem; }
.lc-field-wide { grid-column: 1 / -1; }
.lc-fine { margin: 0; color: var(--lc-muted); font-size: .57rem; line-height: 1.45; }
.lc-estimate { display: grid; grid-template-columns: repeat(3, 1fr); gap: .6rem; padding: 1rem; border-radius: .9rem; background: var(--lc-paper); }
.lc-estimate span { font-size: .55rem; color: var(--lc-muted); }
.lc-estimate strong { display: block; margin-top: .3rem; font-size: 1rem; }
.lc-success { padding: 2rem 1.35rem; text-align: center; }
.lc-success__icon { width: 4rem; aspect-ratio: 1; display: grid; place-items: center; margin: auto; border-radius: 50%; background: var(--lc-accent-2); }
.lc-success__icon i { width: 1.5rem; }
.lc-success h2 { margin: 1rem 0 .6rem; font-family: "LC Fraunces", Georgia, serif; font-size: 2.4rem; letter-spacing: -.05em; }
.lc-success p { max-width: 31rem; margin: auto; color: var(--lc-muted); line-height: 1.55; }
.lc-success__actions { display: flex; justify-content: center; flex-wrap: wrap; gap: .6rem; margin-top: 1.5rem; }
.lc-toast { position: fixed; z-index: 100; right: 1rem; bottom: 1rem; max-width: 22rem; padding: .9rem 1rem; border-radius: .8rem; background: var(--lc-ink); color: var(--lc-paper); box-shadow: 0 1rem 3rem rgba(0,0,0,.2); font-size: .65rem; }
.lc-cart-button { position: relative; }
.lc-cart-button b { min-width: 1.15rem; height: 1.15rem; display: grid; place-items: center; border-radius: 50%; background: var(--lc-accent); color: #111; font-size: .5rem; }
.lc-cart-lines { display: grid; border-block: 1px solid var(--lc-line); }
.lc-cart-line, .lc-cart-total { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .9rem 0; border-bottom: 1px solid var(--lc-line); }
.lc-cart-line:last-child { border-bottom: 0; }
.lc-cart-line strong, .lc-cart-line span { display: block; }
.lc-cart-line strong { font-size: .76rem; }
.lc-cart-line span { margin-top: .25rem; color: var(--lc-muted); font-size: .58rem; }
.lc-cart-line b { font-size: .72rem; }
.lc-cart-line > img { width: 4.4rem; height: 4.4rem; flex: 0 0 auto; border-radius: .75rem; object-fit: cover; }
.lc-cart-line > div { min-width: 0; flex: 1; }
.lc-cart-line small { display: block; margin-top: .25rem; color: var(--lc-muted); font-size: .52rem; }
.lc-quantity { display: flex; align-items: center; gap: .35rem; margin-top: .55rem; }
.lc-quantity button { min-width: 2.75rem; height: 2.75rem; display: grid; place-items: center; padding: 0; border: 1px solid var(--lc-line); border-radius: 999px; background: var(--lc-paper); color: var(--lc-ink); cursor: pointer; font-size: .76rem; font-weight: 780; }
.lc-quantity b { min-width: 1.2rem; text-align: center; }
.lc-quantity .lc-quantity__remove { width: auto; margin-left: .25rem; padding: 0 .65rem; color: var(--lc-muted); font-size: .52rem; }
.lc-cart-total { border-bottom: 0; }
.lc-cart-total span { color: var(--lc-muted); font-size: .64rem; }
.lc-cart-total strong { font-size: 1.35rem; }
.lc-cart-summary { display: grid; gap: .55rem; padding: 1rem; border-radius: .9rem; background: var(--lc-paper); }
.lc-cart-summary > div { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.lc-cart-summary span { color: var(--lc-muted); font-size: .6rem; }
.lc-cart-summary strong { font-size: .7rem; }
.lc-cart-summary__total { margin-top: .25rem; padding-top: .65rem; border-top: 1px solid var(--lc-line); }
.lc-cart-summary__total strong { font-size: 1.15rem; }
.lc-cart-summary > small { color: var(--lc-muted); font-size: .5rem; }
.lc-mobile-bar { display: none; }

@media (max-width: 1100px) {
  .lc-nav a:not(.lc-button):not(.lc-demo-back) { display: none; }
  .lc-header__inner { gap: .65rem; }
  .lc-nav { gap: .5rem; }
  .lc-demo-back { width: 2.75rem; min-height: 2.75rem; justify-content: center; overflow: hidden; border: 1px solid currentColor; border-radius: 50%; font-size: 0 !important; }
  .lc-demo-back i { width: 1rem; height: 1rem; }
  .lc-pizza-context { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .lc-pizza-context__intro { grid-column: 1 / -1; }
  .lc-pizza-context__address { grid-column: span 2; }
  .lc-pizza-context__intro span,
  .lc-pizza-context__intro small,
  .lc-pizza-context > label > span,
  .lc-pizza-context legend,
  .lc-pizza-context fieldset span { font-size: .66rem; }
}

@media (max-width: 980px) {
  .lc-hero { min-height: auto; grid-template-columns: 1fr; }
  body[data-style="fashion"] .lc-hero { grid-template-columns: 1fr; }
  .lc-hero__copy { min-height: 36rem; padding-top: 8rem; }
  .lc-hero__media { min-height: 0; aspect-ratio: 4 / 3; }
  .lc-section__head,
  .lc-app-promo,
  .lc-visit { grid-template-columns: 1fr; }
  .lc-item-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lc-pizza-deals__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lc-pizza-deal:last-child { grid-column: 1 / -1; }
  .lc-topping-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .lc-experience { grid-template-columns: 1fr; }
  .lc-experience__media { min-height: 32rem; }
  .lc-app-promo__copy { padding-inline: var(--lc-pad); }
  .lc-app-promo__visual { min-height: 42rem; }
  .lc-footer__inner { grid-template-columns: 1fr; }
  .lc-footer nav { justify-content: flex-start; }
}

@media (max-width: 660px) {
  :root { --lc-pad: 1rem; }
  .lc-header { padding-top: env(safe-area-inset-top); }
  .lc-header__inner { min-height: 4.7rem; }
  .lc-brand small, .lc-nav > .lc-button { display: none; }
  .lc-demo-back { display: inline-flex; }
  .lc-hero__copy { min-height: 34rem; padding: calc(6.3rem + env(safe-area-inset-top)) 1rem 2.4rem; }
  .lc-hero h1 { font-size: clamp(3.6rem, 17.5vw, 5.5rem); }
  .lc-hero__actions { flex-direction: column; }
  .lc-hero__actions .lc-button { width: 100%; }
  .lc-hero__meta { gap: .7rem 1rem; margin-top: 2.7rem; }
  .lc-eyebrow { font-size: .7rem; }
  .lc-hero__meta span,
  .lc-strip p { font-size: .68rem; }
  .lc-button { font-size: .78rem; }
  .lc-filter,
  .lc-toolbar__aside,
  .lc-activity > div > p:last-child,
  .lc-item p,
  .lc-experience-point p,
  .lc-app-promo__copy li,
  .lc-footer p,
  .lc-footer nav { font-size: .72rem; }
  .lc-item__top span,
  .lc-item__price small { font-size: .66rem; }
  .lc-item__badges b { font-size: .62rem; }
  .lc-hero__media { min-height: 0; aspect-ratio: 4 / 3; }
  .lc-hero__badge { width: calc(100% - 2rem); right: 1rem; bottom: 1rem; }
  .lc-strip { grid-template-columns: repeat(2, 1fr); }
  .lc-strip p:nth-child(2) { border-right: 0; }
  .lc-strip p:nth-child(-n + 2) { border-bottom: 1px solid var(--lc-line); }
  .lc-activity { align-items: flex-start; flex-direction: column; gap: 1rem; }
  .lc-activity__actions { width: 100%; }
  .lc-activity__actions .lc-button { flex: 1 1 9rem; }
  .lc-section__head h2,
  .lc-experience__copy h2,
  .lc-app-promo h2,
  .lc-visit h2 { font-size: clamp(3rem, 14vw, 4.7rem); }
  .lc-toolbar { align-items: flex-start; flex-direction: column; }
  .lc-item-grid { grid-template-columns: 1fr; }
  .lc-item { min-height: 19rem; }
  .lc-pizza-context { grid-template-columns: 1fr; margin-top: 1.6rem; }
  .lc-pizza-context__intro, .lc-pizza-context__address { grid-column: auto; }
  .lc-pizza-context fieldset { min-width: 0; }
  .lc-pizza-context .lc-button { width: 100%; }
  .lc-pizza-deals { margin-top: 2rem; }
  .lc-pizza-deals__head { align-items: flex-start; flex-direction: column; gap: .7rem; }
  .lc-pizza-deals__head small { text-align: left; }
  .lc-pizza-deals__grid { grid-template-columns: 1fr; }
  .lc-pizza-deal:last-child { grid-column: auto; }
  .lc-pizza-deal__media { height: 10rem; }
  body[data-style="pizzeria"] .lc-item { min-height: 0; display: grid; grid-template-columns: 7.5rem minmax(0, 1fr); grid-template-rows: auto auto 1fr auto; gap: .45rem .8rem; padding: .8rem; }
  body[data-style="pizzeria"] .lc-item__media { grid-column: 1; grid-row: 1 / 5; width: 100%; min-width: 0; height: 100%; min-height: 0; margin: 0; aspect-ratio: auto; border-radius: .85rem; }
  body[data-style="pizzeria"] .lc-item__top, body[data-style="pizzeria"] .lc-item h3, body[data-style="pizzeria"] .lc-item p, body[data-style="pizzeria"] .lc-item__bottom { grid-column: 2; }
  body[data-style="pizzeria"] .lc-item__top { align-items: center; }
  body[data-style="pizzeria"] .lc-item__icon { display: none; }
  body[data-style="pizzeria"] .lc-item__badges { justify-content: flex-start; }
  body[data-style="pizzeria"] .lc-item__badges b:nth-of-type(n+2) { display: none; }
  body[data-style="pizzeria"] .lc-item h3 { margin: 0; font-size: 1.25rem; }
  body[data-style="pizzeria"] .lc-item p { display: -webkit-box; overflow: hidden; font-size: .72rem; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
  body[data-style="pizzeria"] .lc-item__bottom { align-items: center; margin-top: .2rem; padding-top: .55rem; }
  body[data-style="pizzeria"] .lc-item__price small { display: none; }
  .lc-dialog--builder { width: 100vw; max-width: none; height: 100dvh; max-height: none; border: 0; border-radius: 0; }
  .lc-dialog--builder .lc-dialog__head { padding-top: max(1rem, env(safe-area-inset-top)); }
  .lc-pizza-builder { grid-template-columns: 1fr; }
  .lc-pizza-builder__preview { position: static; display: grid; grid-template-columns: 8rem minmax(0, 1fr); align-items: start; gap: .8rem; padding: .8rem; }
  .lc-pizza-builder__image { align-self: start; width: 8rem; height: 8rem; }
  .lc-pizza-builder__selected { display: none; }
  .lc-pizza-builder__summary { padding: .25rem 0 0; }
  .lc-pizza-builder__summary h3 { font-size: 1.6rem; }
  .lc-pizza-builder__summary > div { align-items: flex-start; flex-direction: column; gap: .2rem; margin-top: .65rem; padding-top: .6rem; }
  .lc-pizza-builder__controls { padding: .8rem; border-top: 1px solid var(--lc-line); border-left: 0; }
  .lc-builder-options, .lc-builder-selects { grid-template-columns: 1fr; }
  .lc-topping-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lc-builder-submit { bottom: max(.1rem, env(safe-area-inset-bottom)); }
  .lc-builder-submit small { display: none; }
  .lc-builder-step > legend > span { font-size: .8rem; }
  .lc-builder-step > legend small { font-size: .65rem; }
  .lc-builder-option strong,
  .lc-topping-card strong { font-size: .72rem; }
  .lc-builder-option small,
  .lc-topping-card small,
  .lc-topping-card label > span,
  .lc-builder-selects label > span,
  .lc-builder-notes > span { font-size: .65rem; }
  .lc-pizza-builder__summary p,
  .lc-allergen p,
  .lc-fine { font-size: .72rem; }
  .lc-experience__media { min-height: 28rem; }
  .lc-experience__copy { padding: 3.5rem 1rem; }
  .lc-stats { grid-template-columns: 1fr; gap: 2rem; }
  .lc-stat { padding: 0 0 2rem; border-right: 0; border-bottom: 1px solid var(--lc-line); }
  .lc-stat:last-child { padding-bottom: 0; border-bottom: 0; }
  .lc-app-promo__visual { min-height: 39rem; }
  .lc-phone-preview { width: min(19rem, 80%); }
  .lc-phone-screen { min-height: 34rem; }
  .lc-visit { padding-bottom: 8rem; }
  .lc-booking-form { grid-template-columns: 1fr; }
  .lc-booking-form input,
  .lc-booking-form select,
  .lc-booking-form textarea,
  .lc-builder-selects select,
  .lc-builder-notes textarea,
  .lc-topping-card select { font-size: 1rem; }
  .lc-dialog__close { width: 2.75rem; }
  .lc-builder-group { grid-template-columns: 1fr; }
  .lc-field-wide { grid-column: auto; }
  .lc-estimate { grid-template-columns: 1fr; }
  .lc-mobile-bar {
    position: fixed;
    z-index: 40;
    right: .75rem;
    bottom: max(.75rem, env(safe-area-inset-bottom));
    left: .75rem;
    display: grid;
    grid-template-columns: 1fr auto;
    gap: .55rem;
    padding: .55rem;
    border: 1px solid var(--lc-line);
    border-radius: 1rem;
    background: color-mix(in srgb, var(--lc-card) 93%, transparent);
    box-shadow: 0 1rem 2.5rem rgba(0,0,0,.16);
    backdrop-filter: blur(12px);
  }
  body[data-style="pizzeria"] .lc-mobile-bar { grid-template-columns: 1fr repeat(2, auto); }
  body[data-style="pizzeria"] .lc-hero__actions .lc-button--accent { display: none; }
  .lc-footer { padding-bottom: calc(6.5rem + env(safe-area-inset-bottom)); }
  .lc-toast { bottom: calc(5.75rem + env(safe-area-inset-bottom)); }
}

body[data-concept="pet"] .lc-hero__media > img { object-position: center 42%; }
body[data-concept="coffee"] .lc-hero__media > img { object-position: center 66%; }
body[data-concept="lounge"] .lc-hero__media > img { object-position: center 48%; }
body[data-concept="beauty"] .lc-hero__media > img { object-position: center 42%; }
body[data-concept="home"] .lc-hero__media > img { object-position: center; }
body[data-concept="fitness"] .lc-hero__media > img { object-position: center 39%; }
body[data-concept="clinic"] .lc-hero__media > img { object-position: 58% center; }
body[data-concept="events"] .lc-hero__media > img { object-position: center 48%; }
body[data-concept="retail"] .lc-hero__media > img { object-position: center 27%; }
body[data-concept="pizzeria"] .lc-hero__media > img { object-position: center 58%; }

@media (max-width: 420px) {
  .lc-cart-line { align-items: stretch; flex-direction: column; gap: .65rem; }
  .lc-cart-line > img { width: 100%; height: 7rem; }
  .lc-cart-line > b { align-self: flex-end; }
  .lc-quantity { flex-wrap: wrap; }
  .lc-quantity .lc-quantity__remove { margin-left: 0; }
}

@media (max-width: 380px) {
  body[data-style="pizzeria"] .lc-item { grid-template-columns: 6.5rem minmax(0, 1fr); gap: .4rem .65rem; }
  .lc-pizza-builder__preview { grid-template-columns: 6.5rem minmax(0, 1fr); gap: .65rem; padding: .7rem; }
  .lc-pizza-builder__image { width: 6.5rem; height: 6.5rem; border-radius: .9rem; }
  .lc-pizza-builder__summary h3 { font-size: 1.35rem; }
}

@media (min-width: 560px) and (max-height: 600px) and (orientation: landscape) {
  .lc-hero,
  body[data-style="fashion"] .lc-hero { grid-template-columns: minmax(0, 1fr) minmax(18rem, .75fr); }
  .lc-hero__copy { min-height: 100svh; padding-top: calc(5.4rem + env(safe-area-inset-top)); padding-bottom: 1.5rem; }
  .lc-hero h1 { margin-block: .65rem .8rem; font-size: clamp(3rem, 7vw, 4.8rem); }
  .lc-hero__lede { font-size: .9rem; line-height: 1.45; }
  .lc-hero__actions { flex-direction: row; margin-top: 1rem; }
  .lc-hero__actions .lc-button { width: auto; }
  .lc-hero__meta { margin-top: 1.25rem; padding-top: .75rem; }
  .lc-hero__media { min-height: 100%; aspect-ratio: auto; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
