/* shape: Gallery-led, with a menu-page catalogue · first screen: video in the M window, between the line and the story · nav: wordmark + one action, phone bottom bar · proof: short reviews inside the beat they prove · close: the night front, the number set large · footer: single line */

@font-face {
  font-family: "Bodoni Moda";
  src: url("assets/fonts/bodoni-moda.woff2") format("woff2");
  font-weight: 400 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Bodoni Moda";
  src: url("assets/fonts/bodoni-moda-italic.woff2") format("woff2");
  font-weight: 400 900;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Nunito";
  src: url("assets/fonts/nunito.woff2") format("woff2");
  font-weight: 400 800;
  font-style: normal;
  font-display: swap;
}

:root {
  --rosa: #ECDAD0;
  --marmore: #F4F1F0;
  --oliva: #86815B;
  --oliva-escura: #4E4B2C;
  --tinta: #2B252A;
  --suave: #6A5B57;
  --noite: #1E1A22;
  --noite-suave: #B9ABB4;
  --neon: #C986EB;
  --branco: #FFFDFC;

  --serif: "Bodoni Moda", Didot, "Bodoni 72", "Bodoni MT", Georgia, serif;
  --sans: "Nunito", ui-rounded, "Segoe UI", system-ui, sans-serif;

  --t-h1: clamp(32px, 4.6svh, 40px);
  --t-h2: 32px;
  --t-h3: 26px;
  --t-verso: 26px;
  --t-nome: 26px;
  --t-citacao: 19px;
  --t-numero: 44px;
  --t-corpo: 17px;
  --t-preco: 20px;
  --t-pequeno: 13px;

  --s2: 8px; --s3: 12px; --s4: 16px; --s5: 24px; --s6: 32px; --s7: 48px; --s8: 64px; --s9: 96px;

  --margem: 20px;
  --seccao: var(--s8);
  --ease-out: cubic-bezier(0.23, 1, 0.32, 1);
  --barra-h: calc(64px + env(safe-area-inset-bottom));

  --wm: url("data:image/png;base64,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");

  color-scheme: light;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; touch-action: manipulation; }
body {
  margin: 0;
  background: var(--rosa);
  color: var(--tinta);
  font-family: var(--sans);
  font-size: var(--t-corpo);
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  font-optical-sizing: auto;
}
@media (max-width: 899.98px) { body.com-barra .rodape__in { padding-bottom: calc(40px + var(--barra-h)); } }
img, video, iframe { display: block; max-width: 100%; }
img, video { height: auto; }
h1, h2, h3, p, figure, blockquote, dl, dd, ul { margin: 0; }
ul { padding: 0; list-style: none; }
a { color: inherit; }
address { font-style: normal; }
button { font: inherit; color: inherit; }

.sr {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}

:focus-visible { outline: 3px solid var(--oliva-escura); outline-offset: 3px; }
.reservar :focus-visible, .rodape :focus-visible { outline-color: var(--neon); }

.caixa {
  width: 100%;
  max-width: 1320px;
  margin-inline: auto;
  padding-inline: var(--margem);
}

/* ---------- Type ---------- */

h1, h2, .h3, h3.h3 {
  font-family: var(--serif);
  font-weight: 500;
  text-wrap: balance;
}
h1 { font-size: var(--t-h1); line-height: 1.05; letter-spacing: -0.01em; }
h2 { font-size: var(--t-h2); line-height: 1.08; max-width: 20ch; }
.h3 { font-size: var(--t-h3); line-height: 1.12; }
.corpo { max-width: 34em; }
.hif { font-variation-settings: "opsz" 11; }
.num { font-variation-settings: "opsz" 11; font-variant-numeric: lining-nums; }
.nw { white-space: nowrap; }

.rotulo, .campo {
  font-family: var(--sans);
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.rotulo { color: var(--oliva-escura); }

.verso {
  font-family: var(--serif);
  font-style: italic;
  font-weight: 400;
  font-size: var(--t-verso);
  line-height: 1.22;
}
.verso span { display: block; text-wrap: balance; }

.citacao blockquote {
  font-family: var(--serif);
  font-style: italic;
  font-weight: 400;
  font-size: var(--t-citacao);
  line-height: 1.42;
  max-width: 32em;
}
.citacao figcaption { margin-top: var(--s3); }
.assina {
  display: inline-block;
  font-size: 14px;
  font-weight: 700;
  color: var(--oliva-escura);
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
  padding-block: 12px;
  margin-block: -12px;
  transition: text-decoration-thickness 120ms ease;
}

.nota-google { font-size: 14px; color: var(--tinta); }
.nota-google a {
  display: inline-block;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  padding-block: 12px;
  margin-block: -12px;
}
.nota-google strong { font-weight: 800; }

/* ---------- Buttons and links ---------- */

.pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 0 26px;
  border-radius: 999px;
  font-family: var(--sans);
  font-size: 17px;
  font-weight: 800;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
  -webkit-tap-highlight-color: transparent;
  transition: background-color 160ms ease-out, color 160ms ease-out, transform 160ms ease-out;
}
.pill:active { transform: scale(.97); transition-duration: 100ms; }
.pill--cheia { background: var(--oliva-escura); color: var(--branco); }
.pill--contorno { border: 2px solid var(--oliva-escura); color: var(--oliva-escura); background: transparent; }
.pill--clara { background: var(--rosa); color: var(--tinta); }
.pill--noite { border: 2px solid var(--rosa); color: var(--rosa); background: transparent; }

.link {
  display: inline-block;
  font-weight: 700;
  font-size: 16px;
  color: var(--oliva-escura);
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
  padding-block: 12px;
  margin-block: -12px;
  transition: text-decoration-thickness 120ms ease;
}
.link--claro { color: var(--rosa); }
.link--pequeno { font-size: 14px; }

@media (hover: hover) and (pointer: fine) {
  .pill--cheia:hover { background: #3C3A21; }
  .pill--contorno:hover { background: var(--oliva-escura); color: var(--branco); }
  .pill--clara:hover { background: #F6E9E1; }
  .pill--noite:hover { background: var(--rosa); color: var(--tinta); }
  .link:hover, .assina:hover { text-decoration-thickness: 3px; }
}

/* ---------- Wordmark (the logo as a mask) ---------- */

.wm {
  display: block;
  width: 96px;
  height: 24px;
  background: var(--oliva-escura);
  -webkit-mask: var(--wm) center / contain no-repeat;
  mask: var(--wm) center / contain no-repeat;
}
.wm--rosa { background: var(--rosa); width: 72px; height: 18px; }

/* ---------- Navigation ---------- */

.nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 56px;
  padding-inline: var(--margem);
  max-width: 1320px;
  margin-inline: auto;
}
.nav__marca { display: inline-block; padding: 10px 0; }
.nav__ligar { min-height: 44px; padding: 0 18px; font-size: 15px; font-weight: 700; }

/* ---------- The M window ---------- */

.janela {
  position: relative;
  overflow: hidden;
  border-radius: 28px;
  background: #d9c3b8;
  isolation: isolate;
}
.janela video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 62%;
}
.janela video img { width: 100%; height: 100%; object-fit: cover; }
.janela::before {
  content: "";
  position: absolute;
  z-index: 2;
  left: 50%;
  top: 0;
  width: 30px;
  height: 30px;
  border-radius: 6px;
  background: var(--rosa);
  transform: translate(-50%, -62%) rotate(45deg);
}
.dente {
  position: absolute;
  z-index: 2;
  bottom: 0;
  width: 11%;
  aspect-ratio: 1;
  border-radius: 50%;
  background: var(--rosa);
  transform: translate(-50%, 62%);
}
.dente--a { left: 37%; }
.dente--b { left: 63%; }

.ver-video {
  position: absolute;
  z-index: 3;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  min-height: 48px;
  padding: 0 22px;
  border: 0;
  border-radius: 999px;
  background: var(--rosa);
  color: var(--tinta);
  font-weight: 800;
  font-size: 16px;
  white-space: nowrap;
  cursor: pointer;
}
.ver-video[hidden], .tocar[hidden], .pausa[hidden] { display: none; }

/* pause / play for the clips that move on their own */
.pausa {
  position: absolute;
  z-index: 3;
  right: 12px;
  bottom: 12px;
  width: 44px;
  height: 44px;
  border: 0;
  border-radius: 999px;
  background: rgba(43, 37, 42, .55);
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition: background-color 160ms ease, transform 160ms ease-out;
}
.pausa::before, .pausa::after {
  content: "";
  position: absolute;
  top: 15px;
  width: 4px;
  height: 14px;
  border-radius: 1px;
  background: var(--branco);
}
.pausa::before { left: 16px; }
.pausa::after { left: 24px; }
.pausa[aria-pressed="true"]::after { content: none; }
.pausa[aria-pressed="true"]::before {
  left: 17px;
  top: 14px;
  width: 0;
  height: 0;
  border-radius: 0;
  background: none;
  border-style: solid;
  border-width: 8px 0 8px 13px;
  border-color: transparent transparent transparent var(--branco);
}
.pausa:active { transform: scale(.97); }
.hero__janela .pausa { right: auto; left: 14px; bottom: 14px; }
@media (hover: hover) and (pointer: fine) { .pausa:hover { background: rgba(43, 37, 42, .75); } }

/* ---------- 6.1 First screen ---------- */

.hero__in {
  display: flex;
  flex-direction: column;
  padding: 4px var(--margem) 24px;
  max-width: 1320px;
  margin-inline: auto;
}
.hero__janela { order: -1; width: 100%; height: clamp(210px, 37svh, 360px); }
.hero__linha { margin-top: clamp(16px, 2.6svh, 24px); }
.hero__linha h1 { margin-top: 10px; }
.hero__texto { margin-top: 12px; font-size: clamp(15px, 2.05svh, 17px); max-width: 34em; }
.hero__acoes {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 18px;
  margin-top: clamp(14px, 2.4svh, 22px);
}
.hero__nota { order: 3; flex-basis: 100%; font-size: var(--t-pequeno); line-height: 1.45; color: var(--suave); }
.hero .nota-google { margin-top: 10px; }

/* ---------- 6.2 A massa ---------- */

.massa { padding-block: var(--seccao); }
.massa__grelha { display: flex; flex-direction: column; }
.massa__texto .corpo { margin-top: var(--s4); }
.massa .verso { margin-top: var(--s6); }
.massa__clipes {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-top: var(--s6);
  align-items: start;
}
.clipe { position: relative; aspect-ratio: 9 / 14; overflow: hidden; background: #d9c3b8; }
.clipe video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.clipe--baixo { margin-top: 32px; }
.tocar {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 56px;
  height: 56px;
  margin: -28px 0 0 -28px;
  border: 0;
  border-radius: 999px;
  background: var(--rosa);
  cursor: pointer;
}
.tocar::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  margin: -9px 0 0 -5px;
  border-style: solid;
  border-width: 9px 0 9px 15px;
  border-color: transparent transparent transparent var(--tinta);
}
.massa__queijo { margin-top: var(--s5); }
.massa__queijo img { width: 100%; aspect-ratio: 1; object-fit: cover; }
.massa__queijo figcaption { margin-top: var(--s2); font-size: var(--t-pequeno); line-height: 1.45; color: var(--suave); }
.massa__feita { margin-top: var(--s6); }
.massa__factos .citacao { margin-top: var(--s5); }

/* phone order: text, clips, facts paragraph, mozzarella, «Feita aqui», review */
@media (max-width: 899.98px) {
  .massa__grelha > .massa__texto { order: 0; }
  .massa__grelha > .massa__clipes { order: 1; }
  .massa__factos { display: contents; }
  .massa__factos > .corpo { order: 2; margin-top: var(--s6); }
  .massa__queijo { order: 3; }
  .massa__feita { order: 4; }
  .massa__factos .citacao { order: 5; }
}

/* ---------- 6.3 As pizzas ---------- */

.pizzas { background: var(--marmore); padding-bottom: var(--seccao); }
.faixa {
  background: var(--oliva);
  height: 56px;
  display: flex;
  align-items: center;
}
.faixa p {
  font-size: 18px;
  font-weight: 800;
  letter-spacing: .32em;
  text-transform: uppercase;
  color: var(--branco);
  line-height: 1;
}
.pizzas__grelha { padding-top: var(--seccao); }
.pizzas__cab .corpo { margin-top: var(--s4); }
.pizzas__musa { width: 100%; aspect-ratio: 3 / 4; object-fit: cover; margin-top: var(--s6); }
.ementa { display: grid; gap: 28px; margin-top: var(--s6); }
.prato { display: grid; grid-template-columns: minmax(0, 1fr); column-gap: 16px; align-items: start; }
.prato--foto { grid-template-columns: minmax(0, 1fr) 88px; }
.prato__cab {
  grid-column: 1 / -1;
  display: flex;
  align-items: baseline;
  gap: 10px;
}
.prato__nome {
  font-family: var(--serif);
  font-weight: 600;
  font-size: var(--t-nome);
  line-height: 1.1;
  white-space: nowrap;
}
.prato__pontos {
  flex: 1;
  min-width: 16px;
  border-bottom: 2px dotted var(--oliva);
  transform: translateY(-6px);
}
.prato__preco {
  font-family: var(--sans);
  font-weight: 800;
  font-size: var(--t-preco);
  line-height: 1.1;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.prato__desc { grid-column: 1; margin-top: 6px; font-size: 16px; line-height: 1.5; }
.prato__foto {
  grid-column: 2;
  grid-row: 2;
  width: 88px;
  height: 88px;
  margin-top: 8px;
  border-radius: 50%;
  object-fit: cover;
}
.pizzas__citacao { margin-top: var(--s7); }
.pizzas__botao { margin-top: 28px; }

/* ---------- 6.4 Francesinha ---------- */

.francesinha { padding-block: var(--seccao); }
.fran__cab .corpo { margin-top: var(--s4); }
.fran__foto {
  width: calc(100% + 2 * var(--margem));
  max-width: none;
  margin-inline: calc(-1 * var(--margem));
  margin-top: var(--s6);
  aspect-ratio: 16 / 10;
  object-fit: cover;
}
.fran__esq { margin-top: var(--s5); }
.fran__esq .citacao { margin-top: var(--s5); }
.fran__dir { margin-top: var(--s7); display: flex; flex-direction: column; }
.fran__dir .corpo { margin-top: var(--s4); }
.fran__prato {
  order: 3;
  align-self: flex-end;
  width: 160px;
  height: 160px;
  margin-top: var(--s5);
  border-radius: 50%;
  object-fit: cover;
}

/* ---------- 6.5 Como é recebido ---------- */

.familia { background: var(--marmore); padding-block: var(--seccao); }
.fam__grelha { display: flex; flex-direction: column; }
.fam__vidro {
  width: calc(100% + 2 * var(--margem));
  max-width: none;
  margin-inline: calc(-1 * var(--margem));
  margin-top: calc(-1 * var(--seccao));
  aspect-ratio: 1;
  object-fit: cover;
}
.fam__texto { margin-top: var(--s6); }
.fam__texto .corpo { margin-top: var(--s4); }
.fam__vozes { display: grid; gap: var(--s6); margin-top: var(--s6); }
.citacao--forte { border-left: 3px solid var(--oliva); padding-left: 16px; }
.citacao--forte blockquote { font-size: 21px; }
.fam__sala { margin-top: var(--s7); }
.fam__sala img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.fam__sala figcaption { margin-top: var(--s3); }
.fam__fim { margin-top: var(--s6); }
.fam__fim .nota-google { margin-top: var(--s4); }
.fam__fim .pill { margin-top: 20px; }

/* ---------- 6.6 O gelato ---------- */

.gelato { padding-block: var(--seccao); }
.gel__grelha { display: flex; flex-direction: column; }
.gel__texto .corpo { margin-top: var(--s4); }
.gel__neon { width: 100%; aspect-ratio: 2400 / 1375; object-fit: cover; margin-top: var(--s6); }
.gel__cone {
  position: relative;
  z-index: 1;
  align-self: flex-end;
  width: 64%;
  aspect-ratio: 1;
  object-fit: cover;
  margin-top: -56px;
  border: 6px solid var(--rosa);
  box-sizing: content-box;
  margin-right: -6px;
}
.gel__fim { margin-top: var(--s6); }
.gel__fim .citacao { margin-top: var(--s5); }

/* ---------- 6.7 Ligue-nos ---------- */

.reservar { background: var(--noite); color: var(--rosa); padding-bottom: var(--seccao); }
.reservar > .caixa:first-child { padding-inline: 0; }
.res__montra { width: 100%; aspect-ratio: 1760 / 590; object-fit: cover; }
.res__intro { margin-top: var(--s7); }
.res__intro .corpo { margin-top: var(--s4); }
.res__numero {
  display: inline-block;
  margin-top: var(--s5);
  font-family: var(--serif);
  font-weight: 600;
  font-size: var(--t-numero);
  line-height: 1;
  color: var(--neon);
  text-decoration: none;
  white-space: nowrap;
  font-variant-numeric: lining-nums;
  font-variation-settings: "opsz" 16;
}
.res__nota { margin-top: var(--s2); font-size: var(--t-pequeno); line-height: 1.45; color: var(--noite-suave); }
.res__intro .pill { margin-top: 20px; }
.campo { color: var(--noite-suave); margin-bottom: var(--s4); }
.res__onde { margin-top: 56px; }
.res__onde address { line-height: 1.55; }
.res__onde-texto p { margin-top: var(--s4); }
.res__mapa { margin-top: var(--s4); aspect-ratio: 4 / 3; background: #2a2530; }
.res__mapa iframe { width: 100%; height: 100%; border: 0; display: block; }
.res__mapa:focus-within { outline: 3px solid var(--neon); outline-offset: 3px; }
.res__abrir { margin-top: var(--s4); }
.res__guia { display: grid; gap: 40px; margin-top: 40px; }
.horas { display: grid; gap: var(--s3); }
.horas dt { font-weight: 700; }
.horas dd { font-variant-numeric: tabular-nums; }
.horas__fecho { margin-top: var(--s3); font-weight: 700; }
.res__fonte { margin-top: var(--s3); font-size: 13px; line-height: 1.45; color: var(--noite-suave); }
.res__casa-acoes { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 24px; margin-top: var(--s4); }
.res__alergias { margin-top: var(--s5); font-size: var(--t-pequeno); line-height: 1.45; color: var(--noite-suave); max-width: 34em; }

/* ---------- 6.8 Footer ---------- */

.rodape {
  background: var(--noite);
  color: var(--noite-suave);
  border-top: 1px solid rgba(236, 218, 208, .18);
  font-size: 14px;
  line-height: 1.45;
}
.rodape__in {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding-top: 32px;
  padding-bottom: calc(40px + env(safe-area-inset-bottom));
}
.rodape a {
  color: var(--rosa);
  text-underline-offset: 3px;
  display: inline-block;
  padding-block: 12px;
  margin-block: -12px;
}
.rodape__marca { padding-block: 2px; }

/* ---------- 6.9 Phone bar ---------- */

.barra {
  position: fixed;
  z-index: 20;
  left: 0;
  right: 0;
  bottom: 0;
  height: var(--barra-h);
  padding-bottom: env(safe-area-inset-bottom);
  background: var(--oliva-escura);
  transform: translateY(100%);
  opacity: 0;
  visibility: hidden;
  transition: transform 180ms var(--ease-out), opacity 180ms var(--ease-out), visibility 0s linear 180ms;
}
.barra.is-on {
  transform: translateY(0);
  opacity: 1;
  visibility: visible;
  transition: transform 240ms var(--ease-out), opacity 240ms var(--ease-out), visibility 0s;
}
.barra a {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 64px;
  color: var(--branco);
  font-weight: 800;
  font-size: 17px;
  text-decoration: none;
}
.barra a:focus-visible { outline-color: var(--branco); outline-offset: -6px; }

@media (prefers-reduced-motion: reduce) {
  .pill:active { transform: none; }
  .barra, .barra.is-on { transform: none; transition-property: opacity, visibility; transition-duration: 150ms, 0s; }
}

/* ===================== Desktop ===================== */

@media (min-width: 900px) {
  :root {
    --t-h1: clamp(42px, min(4.3vw, 7.6svh), 58px);
    --t-h2: clamp(40px, 3.6vw, 52px);
    --t-h3: 30px;
    --t-verso: 34px;
    --t-nome: 30px;
    --t-citacao: 22px;
    --t-numero: 72px;
    --t-corpo: 18px;
    --t-preco: 22px;
    --t-pequeno: 14px;
    --margem: 48px;
    --seccao: 112px;
  }

  .grelha12, .massa__grelha, .pizzas__grelha, .fran__grelha, .fam__grelha, .gel__grelha, .res__grelha {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    column-gap: 32px;
  }

  .nav { height: 72px; }
  .wm { width: 120px; height: 30px; }
  .wm--rosa { width: 72px; height: 18px; }

  /* first screen */
  .hero__in {
    display: grid;
    grid-template-columns: minmax(0, 1.12fr) auto minmax(0, 1fr);
    grid-template-areas: "t j h";
    align-items: center;
    column-gap: clamp(32px, 4.4vw, 64px);
    min-height: calc(100svh - 72px);
    padding: 0 48px 40px;
  }
  .hero__linha { grid-area: t; margin-top: 0; text-align: right; }
  .hero__linha .rotulo { white-space: nowrap; letter-spacing: .06em; }
  .hero__linha h1 { margin-top: 14px; margin-left: auto; }
  .hero__janela {
    grid-area: j;
    order: 0;
    height: min(calc(100svh - 136px), 600px);
    width: auto;
    aspect-ratio: .6;
    border-radius: 34px;
  }
  .janela::before { width: 38px; height: 38px; border-radius: 8px; }
  .hero__historia { grid-area: h; }
  .hero__texto { margin-top: 0; font-size: 18px; max-width: 30em; }
  .hero__acoes { flex-direction: column; align-items: flex-start; gap: 0; }
  .hero__nota { order: 0; flex-basis: auto; margin-top: 8px; }
  .hero__ementa { margin-top: 18px; }
  .hero .nota-google { margin-top: 8px; }

  /* dough */
  .massa__texto { grid-column: 1 / 6; grid-row: 1; align-self: center; }
  .massa__clipes { grid-column: 7 / 13; grid-row: 1; margin-top: 0; align-self: center; gap: 24px; }
  .clipe--baixo { margin-top: 72px; }
  .massa__queijo { grid-column: 1 / 5; grid-row: 2; margin-top: var(--s9); align-self: center; }
  .massa__factos { grid-column: 6 / 12; grid-row: 2; margin-top: var(--s9); align-self: center; }

  /* pizzas */
  .faixa { height: 64px; }
  .pizzas__cab { grid-column: 1 / 9; }
  .pizzas__cab h2 { max-width: 24ch; }
  .pizzas__musa { grid-column: 1 / 6; grid-row: 2; margin-top: var(--s7); align-self: stretch; aspect-ratio: auto; height: auto; min-height: 0; contain: size; }
  .pizzas__lista { grid-column: 7 / 13; grid-row: 2; margin-top: var(--s7); }
  .ementa { gap: 34px; margin-top: 0; }
  .prato--foto { grid-template-columns: minmax(0, 1fr) 120px; grid-template-rows: auto 1fr; column-gap: 24px; }
  .prato--foto .prato__cab { grid-column: 1; }
  .prato__foto { grid-column: 2; grid-row: 1 / span 2; width: 120px; height: 120px; margin-top: 0; align-self: center; }

  /* francesinha */
  .fran__cab { grid-column: 1 / 9; }
  .fran__cab .corpo { max-width: none; width: calc(6 / 8 * 100%); }
  .fran__foto { grid-column: 1 / 13; width: 100%; margin-inline: 0; margin-top: var(--s7); }
  .fran__esq { grid-column: 1 / 7; margin-top: var(--s7); }
  .fran__dir { grid-column: 8 / 13; margin-top: var(--s7); display: block; }
  .fran__dir .h3 { margin-bottom: var(--s4); }
  .fran__dir .corpo { margin-top: 0; }
  .fran__prato {
    float: right;
    width: 200px;
    height: 200px;
    margin: 0 0 12px 24px;
    shape-outside: circle(50%);
  }

  /* welcome */
  .fam__vidro { grid-column: 1 / 7; grid-row: 1; width: 100%; margin: 0; }
  .fam__texto { grid-column: 8 / 13; grid-row: 1; align-self: center; margin-top: 0; }
  .fam__vozes { grid-column: 1 / 8; grid-row: 2; margin-top: var(--s9); }
  .citacao--forte blockquote { font-size: 24px; }
  .fam__vozes .citacao:not(.citacao--forte) blockquote { font-size: 20px; }
  /* the photo sits on the bottom edge, so both columns end level */
  .fam__fim { grid-column: 1 / 8; grid-row: 3; }
  .fam__sala { grid-column: 8 / 13; grid-row: 2 / span 2; align-self: end; margin-top: var(--s7); }

  @media (max-width: 1199.98px) {
    /* narrower columns make the reviews longer: the rating and the button go under the caption */
    .fam__sala { grid-row: 2; }
    .fam__fim { display: contents; }
    .fam__fim .corpo { grid-column: 1 / 8; grid-row: 3; align-self: start; margin-top: var(--s6); }
    .fam__acao { grid-column: 8 / 13; grid-row: 3; align-self: end; }
  }

  /* gelato */
  .gel__titulo { grid-column: 1 / 8; grid-row: 1; }
  .gel__neon { grid-column: 1 / 9; grid-row: 2; margin-top: var(--s7); }
  .gel__cone {
    grid-column: 8 / 13;
    grid-row: 2 / span 2;
    justify-self: start;
    align-self: start;
    width: min(400px, 100%);
    margin-top: calc(var(--s7) + 120px);
    margin-right: -8px;
    border-width: 8px;
  }
  .gel__texto { grid-column: 1 / 7; grid-row: 3; margin-top: var(--s7); }
  .gel__texto .corpo:first-child { margin-top: 0; }
  .gel__fim { display: contents; }
  .gel__fim .h3 { grid-column: 1 / 7; grid-row: 4; margin-top: var(--s6); }
  .gel__fim .citacao { grid-column: 8 / 13; grid-row: 4; margin-top: var(--s6); }

  /* close */
  .reservar > .caixa:first-child { padding-inline: var(--margem); }
  .res__intro { grid-column: 1 / 7; grid-row: 1; margin-top: var(--s8); }
  .res__guia { grid-column: 8 / 13; grid-row: 1; margin-top: var(--s8); align-self: start; }
  .res__onde {
    grid-column: 1 / 13;
    grid-row: 2;
    margin-top: var(--s8);
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    column-gap: 32px;
    align-items: start;
  }
  .res__onde-texto { grid-column: 1 / 6; grid-row: 1 / span 3; align-self: center; }
  .res__abrir { grid-column: 1 / 6; grid-row: 3; align-self: end; margin-top: 0; }
  .res__mapa { grid-column: 6 / 13; grid-row: 1 / span 3; margin-top: 0; aspect-ratio: 16 / 7; }

  /* footer: one line */
  .rodape__in { flex-direction: row; flex-wrap: wrap; align-items: center; gap: 12px 24px; padding-bottom: 40px; }

  .barra { display: none; }
}
