@font-face { font-family: "Alexandria"; src: url("polices/alexandria.woff2") format("woff2"); font-weight: 500 900; font-display: swap; }
@font-face { font-family: "Nunito"; src: url("polices/nunito.woff2") format("woff2"); font-weight: 400 800; font-display: swap; }

:root {
  --corail: #EE6B4F;
  --corail-fonce: #D9553B;
  --corail-clair: #F58B70;
  --creme: #FEEAC9;
  --creme-clair: #FFF6E8;
  --ardoise: #37444C;
  --nuit: #232D33;
  --menthe: #7DB6A3;
  --menthe-pale: #D5EADF;
  --menthe-fonce: #46695F;
  --titres: "Alexandria", "Arial Black", sans-serif;
  --texte: "Nunito", "Segoe UI", Arial, sans-serif;
  --marge: clamp(16px, 5vw, 72px);
  --dome: clamp(24px, 3.6vw, 54px);
  --volute: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='150' viewBox='0 0 180 150'%3E%3Cg fill='none' stroke='%23F7876D' stroke-width='4' stroke-linecap='round'%3E%3Cpath d='M14 50 C14 34 30 30 36 40 C42 50 56 48 58 36 C59 30 54 26 49 28'/%3E%3Cpath d='M104 118 C104 102 120 98 126 108 C132 118 146 116 148 104 C149 98 144 94 139 96'/%3E%3C/g%3E%3Ccircle cx='132' cy='34' r='4' fill='%23F7876D'/%3E%3Ccircle cx='40' cy='120' r='3' fill='%23F7876D'/%3E%3C/svg%3E");
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
main, .pied { overflow-x: clip; }
html, body { background: var(--ardoise); }
body { margin: 0; color: var(--nuit); font-family: var(--texte); font-size: 18px; line-height: 1.55; overflow-x: clip; }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; }
h1, h2, h3 { font-family: var(--titres); font-weight: 800; line-height: 1.08; margin: 0; letter-spacing: -0.01em; text-wrap: balance; }
p { margin: 0; }
blockquote { margin: 0; }
.visuel-cache { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
:focus-visible { outline: 3px solid var(--nuit); outline-offset: 3px; }

/* —— boutons : cernés d'ardoise comme le dessin du logo —— */
.bouton { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 54px; padding: 0 22px; border: 3px solid var(--nuit); border-radius: 999px; font-family: var(--titres); font-weight: 700; font-size: 17px; line-height: 1.1; text-decoration: none; box-shadow: 4px 4px 0 var(--nuit); transition: transform .25s cubic-bezier(.2,.8,.3,1.2), box-shadow .25s ease; white-space: nowrap; }
.bouton svg { width: 22px; height: 22px; flex: none; }
@media (hover: hover) { .bouton:hover { transform: translate(-2px, -2px); box-shadow: 6px 6px 0 var(--nuit); } }
.bouton:active { transform: translate(2px, 2px); box-shadow: 1px 1px 0 var(--nuit); }
.bouton-plein { background: var(--nuit); color: var(--creme-clair); box-shadow: 4px 4px 0 rgba(35, 45, 51, .32); }
@media (hover: hover) { .bouton-plein:hover { box-shadow: 6px 6px 0 rgba(35, 45, 51, .32); } }
.bouton-creux, .bouton-creme { background: var(--creme-clair); color: var(--nuit); }
.bouton-ardoise { background: var(--ardoise); color: var(--creme-clair); }
.bouton-corail { background: var(--corail); color: var(--nuit); border-color: var(--creme); box-shadow: 4px 4px 0 var(--creme); }
.bouton-creux-clair { background: transparent; color: var(--creme-clair); border-color: var(--creme); box-shadow: 4px 4px 0 rgba(254, 234, 201, .35); }
.bouton-large { width: 100%; }
.court { display: none; }
@media (max-width: 419px) { .court { display: inline; } .long { display: none; } }

.etiquette { display: inline-block; margin-bottom: 18px; padding: 7px 14px 6px; border-radius: 999px; background: var(--corail); color: var(--nuit); font-family: var(--titres); font-weight: 700; font-size: 15px; letter-spacing: .06em; text-transform: uppercase; rotate: -2deg; }
.etiquette-claire, .etiquette-creme { background: var(--creme); color: var(--nuit); }
.etiquette-menthe { background: var(--menthe); color: var(--nuit); }

.etoiles { display: inline-flex; gap: 2px; color: var(--nuit); }
.etoiles svg { width: 18px; height: 18px; fill: currentColor; }

/* —— en-tête —— */
.entete { position: relative; z-index: 40; display: flex; align-items: center; gap: 12px; min-height: 66px; padding: 8px var(--marge); background: var(--corail); }
.entete-logo { display: flex; align-items: center; gap: 12px; text-decoration: none; margin-right: auto; }
.badge-mini { display: grid; place-items: center; width: 50px; height: 50px; border-radius: 50%; background: var(--creme); box-shadow: inset 0 0 0 3px var(--creme), inset 0 0 0 5px var(--corail), 0 0 0 3px var(--nuit); flex: none; }
.badge-mini svg { width: 38px; height: 33px; }
.entete-nom { display: none; font-family: var(--titres); font-weight: 800; font-size: 16px; line-height: 1.1; color: var(--nuit); }
.entete-nav { display: none; }
.apercu { padding: 5px 11px 4px; border: 2px solid var(--nuit); border-radius: 999px; font-family: var(--titres); font-weight: 700; font-size: 14px; letter-spacing: .06em; text-transform: uppercase; color: var(--nuit); background: rgba(255, 246, 232, .35); cursor: help; }
.entete-appel { display: inline-flex; align-items: center; gap: 8px; min-height: 50px; padding: 0 16px; border-radius: 999px; background: var(--nuit); color: var(--creme-clair); font-family: var(--titres); font-weight: 700; font-size: 16px; text-decoration: none; }
.entete-appel svg { width: 19px; height: 19px; }

/* —— haut de page —— */
.haut { position: relative; background-color: var(--corail); background-image: radial-gradient(ellipse 70% 46% at 50% 30%, rgba(255, 196, 160, .55), transparent 70%), var(--volute); background-size: auto, 180px 150px; padding: 0 var(--marge) 34px; overflow: clip; }
.haut-scene { display: flex; justify-content: center; }
.marmite { --h: min(calc(100svh - 330px), calc((100vw - 24px) * 1.1538), 560px); position: relative; height: max(232px, var(--h)); aspect-ratio: 520 / 600; max-width: 100%; }
.marmite > svg, .marmite-plats { position: absolute; }
.marmite > svg { inset: 0; width: 100%; height: 100%; overflow: visible; }
.marmite-plats { left: 13.077%; top: 24.333%; width: 73.846%; height: 38.667%; clip-path: ellipse(50% 50% at 50% 50%); background: var(--nuit); }
.plat-couche { position: absolute; inset: 0; }
.plat-couche img { position: absolute; left: 50%; top: 50%; width: 122%; max-width: none; height: auto; aspect-ratio: 1; object-fit: cover; transform: translate(-50%, -50%) rotate(var(--remue, 0deg)); }
.plat-suivant { -webkit-mask-image: conic-gradient(from 0deg at 50% 50%, #000 0deg var(--tour, 0deg), transparent var(--tour, 0deg)); mask-image: conic-gradient(from 0deg at 50% 50%, #000 0deg var(--tour, 0deg), transparent var(--tour, 0deg)); --tour: 0deg; }
.plat-ombre { position: absolute; inset: 0; background: radial-gradient(ellipse 50% 50% at 50% 54%, transparent 62%, rgba(20, 26, 30, .5) 100%); pointer-events: none; }
.marmite-nom { font-family: var(--titres); font-weight: 800; font-size: 24px; letter-spacing: .07em; fill: var(--creme); }
.marmite-devise { font-family: var(--titres); font-weight: 900; font-size: 31px; letter-spacing: .05em; fill: var(--nuit); }
.cuillere-trou { fill: rgba(20, 26, 30, .38); }
.cuillere-ombre { stroke: rgba(20, 26, 30, .32); stroke-width: 22; stroke-linecap: round; }
.cuillere-trait { stroke: var(--nuit); stroke-width: 24; stroke-linecap: round; }
.cuillere-bois { stroke: var(--creme); stroke-width: 13; stroke-linecap: round; }
.cuillere-reflet { stroke: #fff; stroke-opacity: .55; stroke-width: 3; stroke-linecap: round; }
.vapeur path { fill: none; stroke: var(--creme-clair); stroke-width: 11; stroke-linecap: round; opacity: .26; transform-box: fill-box; transform-origin: 50% 100%; }
.bredes { transform-box: fill-box; transform-origin: 40% 100%; }
@media (prefers-reduced-motion: no-preference) {
  .vapeur path { opacity: 0; animation: vapeur 4.2s ease-in-out infinite; animation-play-state: paused; }
  .vapeur path:nth-child(2) { animation-delay: 1.4s; }
  .vapeur path:nth-child(3) { animation-delay: 2.8s; }
  .bredes { animation: bredes 5s ease-in-out infinite alternate; animation-play-state: paused; }
  .marmite.vivante .vapeur path, .marmite.vivante .bredes { animation-play-state: running; }
}
@keyframes vapeur { 0% { opacity: 0; transform: translateY(18px) scaleX(.85); } 35% { opacity: .5; } 100% { opacity: 0; transform: translateY(-46px) scaleX(1.15); } }
@keyframes bredes { from { transform: rotate(-2.5deg); } to { transform: rotate(2.5deg); } }

.haut-texte { position: relative; max-width: 640px; margin: 10px auto 0; }
.surtitre { display: none; font-family: var(--titres); font-weight: 700; font-size: 16px; letter-spacing: .1em; text-transform: uppercase; color: var(--nuit); margin-bottom: 14px; }
.titre-haut { font-size: clamp(27px, 7.4vw, 34px); font-weight: 800; color: var(--nuit); }
.note-haut { display: flex; align-items: center; flex-wrap: wrap; gap: 4px 8px; margin-top: 12px; font-size: 17px; font-weight: 700; color: var(--nuit); }
.note-haut strong { font-family: var(--titres); font-weight: 800; font-size: 18px; }
.actions-haut { display: grid; grid-template-columns: 1.1fr 1fr; gap: 10px; margin-top: 14px; }
.actions-haut .bouton { padding: 0 14px; }
.statut { display: inline-flex; align-items: center; gap: 10px; margin-top: 22px; padding: 8px 16px; border-radius: 999px; background: rgba(255, 246, 232, .5); border: 2px solid var(--nuit); font-weight: 700; font-size: 16px; }
.statut-point { width: 11px; height: 11px; border-radius: 50%; background: #9AA3A8; flex: none; }
.statut.ouvert .statut-point { background: #1E8E5A; box-shadow: 0 0 0 0 rgba(30, 142, 90, .5); animation: pouls 2.2s ease-out infinite; }
@keyframes pouls { 70% { box-shadow: 0 0 0 9px rgba(30, 142, 90, 0); } 100% { box-shadow: 0 0 0 0 rgba(30, 142, 90, 0); } }
@media (prefers-reduced-motion: reduce) { .statut.ouvert .statut-point { animation: none; } }
.chapo { margin-top: 16px; font-size: 18px; max-width: 34em; }

/* —— sections bombées : chaque section se pose sur la précédente par un bord de marmite —— */
section.bombe, .pied.bombe { position: relative; }
.bombe::before { content: ""; position: absolute; left: 0; right: 0; bottom: calc(100% - 1px); height: var(--dome); background: var(--fond); border-radius: 50% 50% 0 0 / 100% 100% 0 0; pointer-events: none; }

section { padding: clamp(64px, 9vw, 130px) var(--marge); }
section h2 { font-size: clamp(29px, 6.6vw, 54px); max-width: 18em; }
section p + p { margin-top: 14px; }

/* —— fait maison —— */
.maison { --fond: var(--creme); background-color: var(--creme); background-image: repeating-radial-gradient(circle at 104% -6%, transparent 0 46px, rgba(238, 107, 79, .13) 46px 49px); }
.maison-texte > p:not(.etiquette) { margin-top: 18px; max-width: 36em; }
.maison-texte a { font-weight: 800; }
.mosaique { display: grid; grid-template-columns: 1.15fr 1fr; grid-template-rows: 150px 150px 190px; gap: 12px; margin-top: 36px; }
.tuile { margin: 0; overflow: hidden; border: 4px solid var(--nuit); border-radius: 22px; box-shadow: 6px 6px 0 var(--corail); background: var(--nuit); }
.tuile img { width: 100%; height: 100%; object-fit: cover; }
.tuile-a { grid-row: 1 / 3; }
.tuile-c { border-radius: 50%; aspect-ratio: 1; height: auto; align-self: center; justify-self: center; width: min(100%, 150px); box-shadow: 5px 5px 0 var(--menthe); }
.tuile-e { box-shadow: 6px 6px 0 var(--menthe); }

/* —— barquette —— */
.barquette { --fond: var(--menthe); background-color: var(--menthe); background-image: radial-gradient(circle at 12% 18%, rgba(255, 246, 232, .32), transparent 42%), radial-gradient(circle at 90% 85%, rgba(70, 105, 95, .35), transparent 40%); }
.barquette-photo { position: relative; margin: 0 0 34px; }
.barquette-photo img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; border: 4px solid var(--nuit); border-radius: 26px; box-shadow: 7px 7px 0 var(--nuit); }
.barquette-texte > p:not(.etiquette) { margin-top: 18px; max-width: 34em; }

/* —— les plats cités —— */
.plats { --fond: var(--ardoise); background-color: var(--ardoise); background-image: radial-gradient(ellipse 60% 40% at 85% 10%, rgba(125, 182, 163, .16), transparent 70%), radial-gradient(ellipse 50% 40% at 0% 90%, rgba(238, 107, 79, .14), transparent 70%); color: var(--creme-clair); }
.plats-tete { margin-bottom: 30px; }
.plats h2 { color: var(--creme); }
.plat { position: relative; padding: 22px 0 30px; border-top: 2px dashed rgba(254, 234, 201, .3); }
.plat-mot { font-family: var(--titres); font-weight: 900; font-size: min(17.5vw, 200px); line-height: 1; letter-spacing: -0.02em; color: var(--corail); white-space: nowrap; }
.plat:nth-of-type(2) .plat-mot { color: var(--menthe); }
.plat:nth-of-type(3) .plat-mot { color: var(--creme); }
.plat-mot .lettre { display: inline-block; }
.plat-compte { display: inline-block; margin-top: 12px; padding: 4px 12px; border: 2px solid currentColor; border-radius: 999px; font-family: var(--titres); font-weight: 700; font-size: 15px; letter-spacing: .04em; color: var(--menthe); }

/* —— desserts —— */
.desserts { --fond: var(--creme-clair); background-color: var(--creme-clair); background-image: radial-gradient(circle, rgba(238, 107, 79, .16) 2.5px, transparent 3px); background-size: 26px 26px; }
.desserts-photos { position: relative; height: min(96vw, 420px); max-width: 460px; margin: 0 auto 34px; }
.rond { position: absolute; margin: 0; border-radius: 50%; overflow: hidden; border: 4px solid var(--nuit); background: var(--nuit); }
.rond img { width: 100%; height: 100%; object-fit: cover; }
.rond-a { left: 0; top: 6%; width: 64%; aspect-ratio: 1; box-shadow: 7px 7px 0 var(--corail); }
.rond-b { right: 0; top: 0; width: 42%; aspect-ratio: 1; box-shadow: 6px 6px 0 var(--menthe); }
.rond-c { right: 6%; bottom: 0; width: 46%; aspect-ratio: 1; box-shadow: 6px 6px 0 var(--nuit); }
.desserts-texte .bouton { margin-top: 28px; }

/* —— avis —— */
.avis { --fond: var(--corail-fonce); background-color: var(--corail-fonce); background-image: var(--volute); background-size: 220px 183px; }
.avis h2 { color: var(--creme-clair); }
.avis-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 18px 26px; margin-top: 30px; }
.lien-souligne { color: var(--creme-clair); font-weight: 800; font-size: 17px; text-underline-offset: 5px; text-decoration-thickness: 2px; padding: 12px 0; }

/* —— venir —— */
.venir { --fond: var(--nuit); background-color: var(--nuit); background-image: radial-gradient(ellipse 60% 50% at 100% 0%, rgba(125, 182, 163, .18), transparent 70%), radial-gradient(circle, rgba(254, 234, 201, .06) 1.5px, transparent 2px); background-size: auto, 22px 22px; color: var(--creme-clair); }
.venir h2 { color: var(--creme); }
.statut-sombre { background: rgba(254, 234, 201, .08); border-color: var(--menthe); color: var(--creme-clair); }
.semaine { list-style: none; margin: 34px 0 0; padding: 0; display: grid; gap: 8px; max-width: 520px; }
.semaine li { display: grid; grid-template-columns: 74px 1fr auto; align-items: center; gap: 10px; min-height: 48px; padding: 6px 16px; border-radius: 16px; background: rgba(254, 234, 201, .07); border: 2px solid transparent; font-size: 17px; }
.semaine b { font-family: var(--titres); font-weight: 800; color: var(--creme); }
.semaine li.ferme { color: rgba(255, 246, 232, .62); }
.semaine li.aujourdhui { border-color: var(--menthe); background: rgba(125, 182, 163, .16); }
.semaine .auj { padding: 3px 10px; border-radius: 999px; background: var(--menthe); color: var(--nuit); font-family: var(--titres); font-weight: 700; font-size: 14px; }
.venir-bas { display: grid; gap: 26px; margin-top: 34px; }
.adresse { display: flex; gap: 14px; font-style: normal; font-size: 19px; font-weight: 700; line-height: 1.45; }
.adresse svg { width: 28px; height: 28px; flex: none; color: var(--corail); margin-top: 2px; }
.pratique { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.pratique li { display: flex; align-items: center; gap: 12px; font-size: 17px; }
.pratique svg { width: 30px; height: 20px; flex: none; color: var(--corail); }
.venir-actions { display: flex; flex-wrap: wrap; gap: 14px; }

/* —— le plat du jour —— */
.jour { --fond: var(--menthe-fonce); background-color: var(--menthe-fonce); background-image: radial-gradient(ellipse 70% 50% at 50% 0%, rgba(125, 182, 163, .35), transparent 70%); color: var(--creme-clair); }
.jour h2 { color: var(--creme); }
.jour-texte .bouton { margin-top: 26px; }
.sms { margin-top: 30px; padding: 22px 18px; border: 4px solid var(--nuit); border-radius: 28px; background: var(--creme-clair); color: var(--nuit); box-shadow: 7px 7px 0 var(--nuit); }
.sms-bulle { padding: 14px 16px; border-radius: 20px 20px 20px 6px; background: var(--menthe-pale); font-size: 17px; line-height: 1.45; }
.sms-titre-grand { font-family: var(--titres); font-weight: 800; font-size: clamp(22px, 6vw, 30px); line-height: 1.15; margin-bottom: 18px; }
.sms-numero { display: block; font-family: var(--titres); font-weight: 800; font-size: clamp(30px, 9vw, 42px); line-height: 1.05; color: var(--nuit); text-decoration: none; white-space: nowrap; }
.sms-note { margin: 16px 0 10px; font-size: 17px; color: var(--ardoise); }
.sms-bulle { margin-bottom: 18px; }
.sms-actions { display: grid; gap: 12px; }
@media (min-width: 420px) { .sms-actions { grid-template-columns: 1fr 1fr; } }

/* —— pied —— */
.pied { --fond: var(--ardoise); background: var(--ardoise); color: var(--creme-clair); padding: 64px var(--marge) 40px; text-align: center; }
.pied-badge { width: min(64vw, 250px); margin: 0 auto 26px; filter: drop-shadow(6px 6px 0 rgba(20, 26, 30, .45)); }
.pied-badge svg { display: block; width: 100%; height: auto; }
.badge-haut, .badge-milieu { font-family: var(--titres); font-weight: 800; font-size: 31px; letter-spacing: .05em; fill: var(--ardoise); }
.badge-milieu { font-size: 34px; }
.badge-bas { font-family: var(--titres); font-weight: 800; font-size: 19px; letter-spacing: .08em; fill: var(--corail); }
.pied-nom { font-family: var(--titres); font-weight: 800; font-size: 24px; color: var(--creme); margin-bottom: 8px; }
.pied-infos p + p { margin-top: 4px; }
.pied-infos a { font-weight: 800; }
.pied-mention { max-width: 44em; margin: 26px auto 0; font-size: 16px; color: rgba(255, 246, 232, .78); }
.pied-mention + .pied-mention { margin-top: 8px; }

/* —— barre d'appel (procédé repris de outils/procedes) —— */
.barre-appel { display: none; }
@media (max-width: 760px) {
  :root { --barre-h: 67px; } /* 8 + 50 + 8 de marges et de bouton, + 1 de filet */
  .barre-appel {
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 50;
    display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; gap: 8px;
    padding: 8px max(12px, env(safe-area-inset-right, 0px)) calc(8px + env(safe-area-inset-bottom, 0px)) max(12px, env(safe-area-inset-left, 0px));
    background: var(--barre-fond, Canvas); border-top: 1px solid var(--barre-trait, rgba(128, 128, 128, 0.35));
    box-shadow: 0 -8px 24px -12px rgba(0, 0, 0, 0.4);
    transition: transform 0.25s ease, visibility 0.25s;
  }
  .barre-appel a {
    display: flex; align-items: center; justify-content: center; gap: 0.5em; min-height: 50px; padding: 0 12px;
    border: 2px solid var(--barre-bouton, CanvasText); border-radius: 999px;
    background: var(--barre-bouton, CanvasText); color: var(--barre-texte, Canvas);
    font-size: 1rem; font-weight: 700; line-height: 1.1; text-decoration: none;
  }
  .barre-appel a:not(:first-child) { background: transparent; color: var(--barre-bouton, CanvasText); } /* le premier bouton (Appeler) est plein, les autres sont cerclés */
  .barre-appel svg { width: 1.25em; height: 1.25em; flex: none; }
  /* la page se prolonge de la hauteur de la barre (+ zone sûre) : le dernier bloc n'est jamais caché, les ancres et les champs non plus */
  body:has(.barre-appel) { padding-bottom: calc(var(--barre-h) + env(safe-area-inset-bottom, 0px)); }
  html:has(.barre-appel) { scroll-padding-bottom: calc(var(--barre-h) + env(safe-area-inset-bottom, 0px) + 16px); }
  /* le clavier s'ouvre (un champ a le focus) : la barre se range, elle ne reste pas posée sur le champ */
  body:has(:is(input:not([type=checkbox], [type=radio], [type=button], [type=submit], [type=reset], [type=range], [type=file]), textarea, select, [contenteditable]):focus) .barre-appel { transform: translateY(105%); visibility: hidden; }
}
@media (prefers-reduced-motion: reduce) { .barre-appel { transition: none; } }
@media print { .barre-appel { display: none; } }
.barre-appel { --barre-fond: var(--creme-clair); --barre-bouton: var(--nuit); --barre-texte: var(--creme-clair); --barre-trait: rgba(35, 45, 51, .2); }

/* —— apparitions (seulement avec JavaScript ; sans lui tout est là) —— */
.js [data-titre-decoupe]:not(.pret) { visibility: hidden; animation: td-secours 0s linear 3s forwards; }
@keyframes td-secours { to { visibility: visible; } }
[data-titre-decoupe] > div[style*="clip"] { padding-block: 0.14em; margin-block: -0.14em; }
@media (prefers-reduced-motion: reduce) { .js [data-titre-decoupe]:not(.pret) { visibility: visible; animation: none; } }

/* —— tablette et ordinateur —— */
@media (min-width: 620px) {
  .mosaique { grid-template-columns: 1.2fr 1fr 1fr; grid-template-rows: 200px 200px; }
  .tuile-a { grid-row: 1 / 3; grid-column: 1; }
  .tuile-b { grid-column: 2; grid-row: 1; }
  .tuile-c { grid-column: 3; grid-row: 1; width: min(100%, 190px); }
  .tuile-d { grid-column: 2; grid-row: 2; }
  .tuile-e { grid-column: 3; grid-row: 2; }
}
@media (min-width: 761px) {
  .entete { position: sticky; top: 0; box-shadow: 0 6px 18px -12px rgba(35, 45, 51, .5); }
}
@media (min-width: 1000px) {
  .entete-nom { display: block; }
  .entete-nav { display: flex; gap: 26px; margin-right: 18px; }
  .entete-nav a { font-family: var(--titres); font-weight: 600; font-size: 16px; text-decoration: none; color: var(--nuit); padding: 8px 0; background: linear-gradient(var(--nuit), var(--nuit)) 0 100% / 0 2px no-repeat; transition: background-size .3s; }
  .entete-nav a:hover { background-size: 100% 2px; }
  .haut { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); align-items: center; gap: 30px; min-height: calc(100vh - 66px); padding-top: 20px; padding-bottom: 60px; }
  .haut-scene { order: 2; }
  .marmite { --h: min(calc(100vh - 140px), 680px); }
  .haut-texte { margin: 0; max-width: 620px; }
  .surtitre { display: block; }
  .titre-haut { font-size: clamp(44px, 4.4vw, 66px); }
  .note-haut { margin-top: 22px; font-size: 18px; }
  .actions-haut { display: flex; gap: 14px; margin-top: 26px; }
  .actions-haut .bouton { padding: 0 24px; }
  .chapo { font-size: 19px; }
  .maison { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 60px; align-items: center; }
  .mosaique { margin-top: 0; grid-template-rows: 250px 250px; }
  .tuile-c { width: min(100%, 230px); }
  .barquette { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 64px; align-items: center; }
  .barquette-photo { margin: 0; }
  .plats { padding-bottom: 90px; }
  .plats-tete { max-width: 900px; margin-bottom: 40px; }
  .desserts { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 70px; align-items: center; }
  .desserts-photos { width: 100%; max-width: 560px; height: 520px; margin: 0; }
  .jour { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 70px; align-items: center; }
  .sms { margin-top: 0; padding: 30px 30px 26px; }
  .pied { display: grid; grid-template-columns: auto 1fr; gap: 10px 50px; text-align: left; align-items: center; }
  .pied-badge { margin: 0; grid-row: 1 / 4; width: 240px; }
  .pied-mention { margin: 18px 0 0; }
}
@media (min-width: 1000px) and (max-height: 760px) {
  .marmite { --h: calc(100vh - 120px); }
}
@media (max-width: 619px) { .actions-haut .court { display: inline; } .actions-haut .long { display: none; } }
@media (max-width: 619px) {
}

/* —— reprise du 14 octobre : moins de citations, plus d'assiettes —— */
.titre-geant { font-size: clamp(40px, 11.4vw, 128px); line-height: 1; letter-spacing: -0.025em; max-width: 13em; }
section h2.titre-geant { max-width: 13em; }
.maison-corps { margin-top: 30px; }
.maison-texte p { max-width: 34em; }
.maison-texte a { font-weight: 800; }

.barquette-photo { margin-bottom: 64px; }
.cite-photo { position: absolute; left: 12px; right: 18%; bottom: -44px; padding: 14px 18px 12px; border: 3px solid var(--nuit); border-radius: 20px; background: var(--creme); box-shadow: 5px 5px 0 var(--nuit); rotate: -2deg; }
.cite-photo p { font-family: var(--titres); font-weight: 800; font-size: clamp(19px, 5vw, 26px); line-height: 1.2; }
.cite-photo footer { margin-top: 6px; font-size: 16px; font-weight: 800; color: var(--menthe-fonce); }

.plat { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 22px; }
.plat-droite { justify-content: flex-end; text-align: right; }
.plat-droite .plat-compte { order: -1; }
.cite-geante { margin-top: 44px; padding-top: 34px; border-top: 2px dashed rgba(254, 234, 201, .3); }
.cite-geante p { font-family: var(--titres); font-weight: 800; font-size: clamp(27px, 7vw, 62px); line-height: 1.12; color: var(--creme); max-width: 20em; }
.cite-geante footer { margin-top: 14px; font-weight: 800; font-size: 17px; color: var(--menthe); }

.desserts-texte > p:not(.etiquette) { margin-top: 18px; max-width: 32em; }

.avis-ancre { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 6px 22px; }
.avis-chiffre { margin: 0; font-family: var(--titres); font-weight: 900; font-size: clamp(132px, 40vw, 300px); line-height: .82; letter-spacing: -0.04em; color: var(--creme); text-shadow: 7px 7px 0 var(--nuit); }
.avis-ancre-texte { padding-bottom: 8px; max-width: 16em; color: var(--creme-clair); font-size: 18px; font-weight: 700; }
.avis-ancre-texte strong { font-family: var(--titres); }
.etoiles-grandes { display: flex; gap: 4px; margin-bottom: 6px; }
.etoiles-grandes svg { width: 28px; height: 28px; fill: var(--creme); }
.avis h2 { margin-top: 30px; }
.avis-geant { margin-top: 34px; }
.avis-geant p { font-family: var(--titres); font-weight: 900; font-size: clamp(36px, 10vw, 104px); line-height: 1; letter-spacing: -0.02em; color: var(--nuit); max-width: 12em; }
.avis-geant footer { margin-top: 12px; font-weight: 800; font-size: 18px; color: var(--creme-clair); }
.avis-forts { display: grid; gap: 18px; margin-top: 34px; }
.avis-forts blockquote { padding: 20px 20px 18px; border: 4px solid var(--nuit); border-radius: 26px; background: var(--creme-clair); box-shadow: 6px 6px 0 var(--nuit); }
.avis-forts blockquote:nth-child(2) { background: var(--menthe-pale); rotate: .8deg; }
.avis-forts p { font-family: var(--titres); font-weight: 600; font-size: clamp(19px, 4.8vw, 24px); line-height: 1.32; }
.avis-forts footer { margin-top: 10px; font-weight: 800; font-size: 16px; color: var(--corail-fonce); }
.avis-grille { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 22px; }
.avis-grille blockquote { padding: 12px 12px 10px; border: 2px solid var(--nuit); border-radius: 14px; background: var(--creme); }
.avis-grille blockquote:nth-child(2), .avis-grille blockquote:nth-child(3) { background: var(--menthe-pale); }
.avis-grille p { font-size: 16px; line-height: 1.4; font-weight: 600; }
.avis-grille footer { margin-top: 6px; font-size: 16px; font-weight: 800; color: var(--ardoise); }

.assiette { position: relative; display: grid; align-items: end; min-height: min(92svh, 760px); padding: 0; overflow: clip; background: var(--nuit); color: var(--creme-clair); }
.assiette-photo, .assiette-photo img { position: absolute; inset: 0; width: 100%; height: 100%; }
.assiette-photo img { object-fit: cover; }
.assiette::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(35, 45, 51, .92) 0%, rgba(35, 45, 51, .55) 38%, rgba(35, 45, 51, 0) 68%); pointer-events: none; }
.assiette-texte { position: relative; z-index: 1; padding: 0 var(--marge) calc(var(--dome) + 44px); }
.assiette h2 { font-size: clamp(30px, 7.6vw, 74px); color: var(--creme); max-width: 15em; text-shadow: 0 2px 18px rgba(0, 0, 0, .35); }
.assiette .bouton { margin-top: 24px; }

.venir.bombe::before { background: var(--nuit); }
.venir { --fond: var(--nuit); }
.venir-sms .etiquette { margin-bottom: 16px; }
.venir-sms .sms { margin-top: 0; }
.venir-infos { margin-top: 56px; }
.titre-moyen { font-size: clamp(26px, 6vw, 42px); }
section h2.titre-moyen { max-width: 16em; }
.semaine { margin-top: 26px; }
.venir-bas { margin-top: 28px; }

@media (min-width: 1000px) {
  .maison { display: block; }
  .maison-corps { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 60px; align-items: start; margin-top: 40px; }
  .maison-texte p { font-size: 20px; }
  .barquette-photo { margin-bottom: 0; }
  .plat { gap: 10px 40px; padding: 26px 0 30px; }
  .plat-mot { font-size: min(13vw, 190px); }
  .avis { display: block; }
  .avis-forts { grid-template-columns: 1fr 1fr; gap: 24px; }
  .avis-grille { grid-template-columns: repeat(4, 1fr); gap: 12px; }
  .assiette { min-height: 82vh; }
  .venir { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 70px; align-items: start; }
  .venir-infos { margin-top: 0; }
}
