﻿
  /* ---------------- TOKENS ---------------- */
  :root{
    --ink: #1A1410;          /* near-black warm â€” primary text */
    --ink-2:#2A2018;
    --ink-soft:#5A4A3C;      /* warm grey body text */
    --cream: #F5EFE0;        /* main cream bg */
    --cream-2:#EDE3CD;       /* deeper cream for accent sections */
    --sand:#E2D5B6;          /* sand beige */
    --paper:#FBF7EC;         /* paper-white card */
    --gold: #B8923F;         /* pale gold â€” slightly deeper for contrast on light */
    --gold-soft:#C9A86A;
    --bordeaux:#6B1E22;
    --bordeaux-2:#4F1417;
    --hairline: rgba(26,20,16,.14);
    --hairline-2: rgba(26,20,16,.08);
    --muted:#6E5C4D;
    --muted-2:rgba(26,20,16,.55);

    --serif: 'Cormorant Garamond', 'Cormorant', Garamond, 'EB Garamond', serif;
    --sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Helvetica Neue', sans-serif;

    --maxw: 1320px;
  }

  *{box-sizing:border-box}
  html,body{margin:0;padding:0}
  html{scroll-behavior:smooth}
  body{
    background:var(--cream);
    color:var(--ink);
    font-family:var(--sans);
    font-weight:400;
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
    line-height:1.6;
    overflow-x:clip;
  }

  img{display:block;max-width:100%;height:auto}
  a{color:inherit;text-decoration:none}
  button{font:inherit;color:inherit;cursor:pointer;border:0;background:none}

  ::selection{background:var(--gold);color:var(--cream)}

  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 40px}
  @media (max-width:720px){ .wrap{padding:0 22px} }

  .eyebrow{
    font-family:var(--sans);
    font-size:11px;
    font-weight:500;
    letter-spacing:.28em;
    text-transform:uppercase;
    color:var(--gold);
  }
  .eyebrow .dot{
    display:inline-block;width:5px;height:5px;border-radius:50%;
    background:var(--gold);vertical-align:middle;margin:0 .9em 3px;
    opacity:.7;
  }

  h1,h2,h3{font-family:var(--serif);font-weight:400;letter-spacing:.005em;margin:0;color:var(--ink)}
  .display{font-family:var(--serif);font-weight:300;letter-spacing:-.005em;line-height:.95}

  /* ---------------- HEADER ---------------- */
  .hdr{
    position:fixed;top:0;left:0;right:0;z-index:50;
    transition:background .35s ease, backdrop-filter .35s ease, border-color .35s ease, padding .35s ease;
    border-bottom:1px solid transparent;
  }
  .hdr-inner{
    display:flex;align-items:center;
    padding:14px 40px;gap:0;
    transition:padding .35s ease;
  }
  .hdr.scrolled{
    background:rgba(245,239,224,.92);
    backdrop-filter: blur(14px) saturate(1.1);
    -webkit-backdrop-filter: blur(14px) saturate(1.1);
    border-bottom-color:var(--hairline-2);
  }

  /* hero sombre — texte crème avant scroll */
  .hdr .nav a, .hdr .menu-toggle, .hdr .btn-phone{ color:#F5EFE0; transition:color .35s ease }
  .hdr.scrolled .nav a, .hdr.scrolled .menu-toggle{ color:var(--ink) }

  .hdr-left{display:flex;align-items:center;justify-content:flex-start;gap:12px;flex-shrink:0}

  .nav{display:flex;justify-content:center;gap:34px;transition:transform .45s ease, opacity .4s ease;flex:1}
  .nav a{
    font-size:12.5px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;
    opacity:.9;
    position:relative;padding:6px 2px;
    transition:opacity .2s ease, color .35s ease;
  }
  .nav a:hover{opacity:1}
  .nav a::after{
    content:””;position:absolute;left:50%;bottom:0;height:1px;width:0;
    background:var(--gold);transition:width .3s ease, left .3s ease;
  }
  .nav a:hover::after{width:100%;left:0}
  .nav a.active{color:var(--gold);opacity:1}

  .hdr-actions{display:flex;align-items:center;margin-left:auto;flex-shrink:0;transition:transform .45s ease, opacity .4s ease}

  .btn-phone{
    display:inline-flex;align-items:center;gap:.55em;
    font-family:var(--sans);font-size:11px;font-weight:500;
    letter-spacing:.14em;text-transform:uppercase;
    padding:11px 20px;
    background:var(--bordeaux);color:#F5EFE0;
    border:1px solid var(--bordeaux);
    text-decoration:none;white-space:nowrap;
    transition:background .25s ease, border-color .25s ease;
  }
  .btn-phone svg{width:13px;height:13px;flex-shrink:0}
  .btn-phone:hover{background:var(--bordeaux-2);border-color:var(--bordeaux-2)}

  /* Logo one-line */
  .hdr-logo{
    flex-shrink:0;height:22px;width:auto;padding:0;
    opacity:0;pointer-events:none;
    transition:opacity .35s ease;
  }
  .hdr-logo img{
    height:100%;width:auto;object-fit:contain;
  }
  /* Page d'accueil : logo invisible par défaut, visible après scroll */
  body.is-home .hdr-logo{opacity:0;pointer-events:none}
  body.is-home .hdr.scrolled .hdr-logo{opacity:1;pointer-events:auto}
  /* Autres pages : logo toujours visible */
  body:not(.is-home) .hdr-logo{opacity:1;pointer-events:auto}

  /* quand le menu mobile est ouvert, adapter le header */
  .hdr.menu-open{background:var(--cream) !important;backdrop-filter:none}
  .hdr.menu-open .menu-toggle,.hdr.menu-open .btn-phone{color:var(--ink)}
  .hdr.menu-open .btn-phone{background:transparent;border-color:var(--ink)}

  .btn{
    display:inline-flex;align-items:center;justify-content:center;gap:.7em;
    font-family:var(--sans);font-size:12px;font-weight:500;
    letter-spacing:.22em;text-transform:uppercase;
    padding:14px 22px;
    border:1px solid transparent;
    transition:background .25s ease, color .25s ease, border-color .25s ease, transform .25s ease;
    cursor:pointer;white-space:nowrap;
  }
  .btn .arrow{display:inline-block;transition:transform .3s ease}
  .btn:hover .arrow{transform:translateX(3px)}

  .btn-primary{
    background:var(--bordeaux);color:#F5EFE0;
    border-color:var(--bordeaux);
    box-shadow:inset 0 0 0 1px rgba(184,146,63,.2);
  }
  .btn-primary:hover{background:var(--bordeaux-2);box-shadow:inset 0 0 0 1px rgba(184,146,63,.55)}

  .btn-ghost{
    background:transparent;color:#F5EFE0;
    border-color:rgba(245,239,224,.5);
  }
  .btn-ghost:hover{border-color:#F5EFE0;background:rgba(245,239,224,.06)}

  .btn-gold{
    background:transparent;color:var(--gold);
    border-color:var(--gold);
  }
  .btn-gold:hover{background:var(--gold);color:var(--cream)}

  .btn-dark{
    background:var(--ink);color:var(--cream);
    border-color:var(--ink);
  }
  .btn-dark:hover{background:#000;border-color:#000}

  .btn-sm{padding:11px 18px;font-size:11px}

  /* hamburger — 3 barres réelles (pas de pseudo-éléments) */
  .menu-toggle{
    display:none;flex-direction:column;gap:5px;
    width:40px;height:40px;align-items:center;justify-content:center;
    background:none;border:none;cursor:pointer;padding:0;
  }
  .menu-toggle .bar{
    display:block;width:22px;height:2px;
    background:currentColor;border-radius:1px;
    transition:transform .3s ease, opacity .25s ease;
  }
  /* état ouvert (×) */
  .menu-toggle.open .bar:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .menu-toggle.open .bar:nth-child(2){opacity:0;transform:scaleX(0)}
  .menu-toggle.open .bar:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

  /* menu mobile plein écran */
  .mobile-menu{
    position:fixed;inset:0;z-index:49;
    background:var(--cream);
    display:flex;flex-direction:column;align-items:center;justify-content:center;
    opacity:0;pointer-events:none;
    transition:opacity .4s ease;
  }
  .mobile-menu.open{opacity:1;pointer-events:all}
  .mobile-nav{display:flex;flex-direction:column;align-items:center;gap:clamp(14px,3vh,26px);text-align:center}
  .mobile-nav a{
    font-family:var(--serif);font-weight:300;
    font-size:clamp(1.5rem,6vw,2.2rem);
    letter-spacing:.02em;color:var(--ink);
    opacity:.75;text-decoration:none;
    transition:opacity .2s ease, color .2s ease;
  }
  .mobile-nav a:hover,.mobile-nav a.active{opacity:1;color:var(--bordeaux)}
  /* CTA téléphone pleine largeur en bas */
  .mobile-cta{position:absolute;bottom:0;left:0;right:0}
  .mobile-phone-btn{
    display:flex;align-items:center;justify-content:center;gap:.7em;
    width:100%;padding:22px 24px;
    background:var(--bordeaux);color:#F5EFE0;
    font-family:var(--sans);font-size:13px;font-weight:500;
    letter-spacing:.18em;text-transform:uppercase;
    text-decoration:none;
    transition:background .25s ease;
  }
  .mobile-phone-btn:hover{background:var(--bordeaux-2)}
  .mobile-phone-btn svg{width:15px;height:15px;flex-shrink:0}

  @media (max-width:1000px){
    .nav{transform:translateX(-120%);opacity:0;pointer-events:none}
    .hdr-actions{transform:translateX(120%);opacity:0;pointer-events:none}
    .menu-toggle{display:inline-flex;width:34px;height:34px}
    .menu-toggle .bar{width:20px}
    .hdr-inner{padding:10px 18px}
    .hdr.scrolled .hdr-inner{padding-top:8px;padding-bottom:8px}
  }

  /* ---------------- CTA TÉLÉPHONE FLOTTANT (mobile/tablette) ---------------- */
  .float-call{
    position:fixed;left:18px;bottom:18px;z-index:48;
    display:none;align-items:center;justify-content:center;
    width:54px;height:54px;border-radius:50%;
    background:var(--bordeaux);color:#F5EFE0;
    box-shadow:0 6px 22px rgba(16,10,6,.28), 0 1px 2px rgba(16,10,6,.18);
    text-decoration:none;
    transition:background .25s ease, transform .25s ease, box-shadow .25s ease;
  }
  .float-call svg{width:22px;height:22px}
  .float-call:hover{background:var(--bordeaux-2);transform:translateY(-2px);box-shadow:0 10px 28px rgba(16,10,6,.32)}
  .float-call:active{transform:translateY(0)}
  /* masquer quand le menu mobile est ouvert (le menu a déjà son CTA) */
  .hdr.menu-open ~ .float-call{opacity:0;pointer-events:none;transform:scale(.85)}
  @media (max-width:1000px){ .float-call{display:inline-flex} }

  /* ---------------- HERO ---------------- */
  .hero{
    position:relative;height:100vh;min-height:680px;max-height:1000px;
    overflow:hidden;
    display:flex;align-items:center;justify-content:center;
    padding-top:90px;padding-bottom:110px;
    color:#F5EFE0;
  }
  .hero-bg{
    position:absolute;inset:0;
    background-size:cover;background-position:center 38%;
    transform:scale(1.06);
    filter:brightness(.65) contrast(1.04) saturate(1.06);
    will-change:transform;
  }
  .hero-overlay{
    position:absolute;inset:0;
    backdrop-filter:blur(5px);
    -webkit-backdrop-filter:blur(5px);
    background:
      linear-gradient(180deg,
        rgba(16,10,6,.62) 0%,
        rgba(16,10,6,.36) 25%,
        rgba(16,10,6,.20) 55%,
        rgba(245,239,224,.45) 88%,
        rgba(245,239,224,1) 100%
      );
  }
  .hero-grain{position:absolute;inset:0;opacity:.16;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.95  0 0 0 0 0.91  0 0 0 0 0.85  0 0 0 .55 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");pointer-events:none}

  .hero-inner{
    position:relative;z-index:2;text-align:center;
    padding:0 28px;max-width:1100px;
  }
  .hero .eyebrow{margin-bottom:34px;display:inline-block;color:var(--gold-soft)}
  .hero .eyebrow .dot{background:var(--gold-soft)}

  .hero .display{margin:0 auto}
  .display-logo{
    max-width:clamp(220px, 36vw, 480px);
    height:auto;margin:0 auto;
  }

  .hero-baseline{
    margin:38px auto 0;max-width:780px;
    color:#F5EFE0;
    font-size:14.5px;font-weight:400;letter-spacing:.16em;text-transform:uppercase;
    display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:0 18px;
    opacity:.92;
  }
  .hero-baseline .sep{color:var(--gold-soft);font-size:8px;transform:translateY(-2px)}
  @media (max-width:680px){
    .hero-baseline{font-size:11px;gap:0 12px;letter-spacing:.14em}
  }

  .hero-cta{margin-top:46px;display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

  .hero-meta{
    position:absolute;left:0;right:0;bottom:42px;z-index:2;
    display:flex;justify-content:space-between;align-items:flex-end;
    padding:0 40px;
    color:var(--ink-soft);font-size:11px;letter-spacing:.22em;text-transform:uppercase;
  }
  .hero-meta .scroll{display:flex;align-items:center;gap:14px}
  .hero-meta .scroll-line{display:inline-block;width:1px;height:38px;background:var(--ink-soft);opacity:.45;position:relative;overflow:hidden}
  .hero-meta .scroll-line::after{
    content:"";position:absolute;left:0;top:-14px;
    width:100%;height:14px;background:var(--gold);
    animation:scrollLine 2.2s ease-in-out infinite;
  }
  @keyframes scrollLine{
    0%{top:-14px;opacity:0}
    20%{opacity:1}
    80%{opacity:1}
    100%{top:38px;opacity:0}
  }
  @media (max-width:780px){ .hero-meta{padding:0 22px;font-size:10px;letter-spacing:.18em} .hero-meta .est{display:none} }

  /* ---------------- SECTIONS ---------------- */
  section{position:relative}
  .sec{padding:140px 0}
  @media (max-width:820px){ .sec{padding:90px 0} }

  /* ---------------- 3. NOTRE MAISON ---------------- */
  .maison{padding:160px 0 120px;background:var(--cream)}
  .maison-grid{
    display:grid;grid-template-columns:5.5fr 6.5fr;gap:90px;align-items:start;
  }
  @media (max-width:1100px){ .maison-grid{grid-template-columns:1fr 1fr;gap:60px} }
  @media (max-width:600px){
    .maison-grid{grid-template-columns:1fr;gap:36px}
    .maison-photo{aspect-ratio:3/2;width:82%;margin:0 auto}
  }

  .maison-photo{position:relative;aspect-ratio:4/5;overflow:hidden;background:var(--cream-2)}
  @media (min-width:601px){ .maison-photo{position:sticky;top:100px} }
  .maison-photo img{width:100%;height:100%;object-fit:cover;transform:scale(1.02);transition:transform 1.4s ease}
  .maison-photo:hover img{transform:scale(1.06)}
  .maison-photo .frame{position:absolute;inset:14px;border:1px solid rgba(245,239,224,.35);pointer-events:none;mix-blend-mode:overlay}
  .maison-photo .tag{
    position:absolute;left:0;bottom:34px;
    background:var(--ink);color:var(--cream);
    font-size:10px;letter-spacing:.28em;text-transform:uppercase;font-weight:600;
    padding:11px 18px;
  }

  .maison-text{padding-right:20px}
  .maison-text .eyebrow{margin-bottom:24px;display:block}
  .maison-text h2{
    font-size:clamp(40px,4.4vw,64px);
    font-weight:300;line-height:1.04;letter-spacing:-.005em;
    margin-bottom:36px;
  }
  .maison-text h2 em{font-style:italic;color:var(--bordeaux)}
  .maison-text .body{
    font-size:15px;line-height:1.72;color:var(--ink-soft);
    max-width:52ch;text-align:justify;
  }
  .maison-text .body p + p{margin-top:1.1em}
  .maison-text .body .lead{
    font-family:var(--serif);font-style:italic;font-size:20px;line-height:1.45;
    color:var(--ink);font-weight:400;margin-bottom:1.2em;
  }

  .maison-sig-block{
    margin-top:48px;display:flex;align-items:center;gap:28px;
  }
  .maison-sig-mark{
    width:88px;height:auto;flex-shrink:0;
    opacity:.85;
  }
  .maison-sig-text{flex:1}
  .maison-sig-text .who{
    font-family:var(--serif);font-style:italic;font-size:24px;color:var(--ink);
    line-height:1.1;
  }
  .maison-sig-text .role{
    font-size:10.5px;letter-spacing:.28em;text-transform:uppercase;
    color:var(--gold);margin-top:6px;
  }

  .link{
    display:inline-flex;align-items:center;gap:12px;margin-top:42px;
    font-size:12px;font-weight:500;letter-spacing:.24em;text-transform:uppercase;
    color:var(--gold);
    padding-bottom:8px;border-bottom:1px solid rgba(184,146,63,.4);
    transition:gap .25s ease, border-color .25s ease;
  }
  .link:hover{gap:18px;border-color:var(--gold)}
  .link svg{width:14px;height:8px}

  /* ---------------- 5. CARTE ---------------- */
  .carte{padding:160px 0 140px;background:var(--paper);position:relative}
  .carte::before{
    content:"";position:absolute;left:50%;top:80px;transform:translateX(-50%);
    width:1px;height:40px;background:var(--gold);opacity:.5;
  }

  .carte-head{text-align:center;margin-bottom:80px}
  .carte-head .eyebrow{display:inline-block;margin-bottom:22px}
  .carte-head h2{
    font-family:var(--serif);font-weight:300;
    font-size:clamp(42px,5.8vw,72px);line-height:1.04;letter-spacing:-.005em;
    margin:0 auto 24px;max-width:18ch;
  }
  .carte-head h2 em{font-style:italic;color:var(--bordeaux)}
  .carte-head .lede{
    max-width:54ch;margin:0 auto;color:var(--ink-soft);
    font-family:var(--serif);font-style:italic;font-size:20px;line-height:1.5;
  }

  .ornament{
    display:flex;align-items:center;justify-content:center;gap:16px;
    color:var(--gold);margin:0 auto 40px;
  }
  .ornament .o-line{height:1px;width:60px;background:currentColor;opacity:.5}
  .ornament .o-mark{font-family:var(--serif);font-style:italic;font-size:18px}

  /* === BLOC 1 â€” MENU DE LA SEMAINE === */
  .week-menu{
    max-width:760px;margin:0 auto 120px;
    background:var(--cream-2);
    padding:56px 64px;
    position:relative;
    border:1px solid rgba(184,146,63,.25);
  }
  @media (max-width:680px){ .week-menu{padding:44px 28px} }
  .week-menu::before, .week-menu::after{
    content:"";position:absolute;width:18px;height:18px;
    border:1px solid var(--gold);
  }
  .week-menu::before{top:-1px;left:-1px;border-right:none;border-bottom:none}
  .week-menu::after{bottom:-1px;right:-1px;border-left:none;border-top:none}

  .week-head{text-align:center;margin-bottom:38px}
  .week-head .badge{
    display:inline-flex;align-items:center;gap:10px;
    color:var(--gold);font-size:10.5px;letter-spacing:.28em;text-transform:uppercase;font-weight:600;
    margin-bottom:14px;
  }
  .week-head .badge .pulse{
    width:7px;height:7px;border-radius:50%;background:var(--gold);
    box-shadow:0 0 0 0 rgba(184,146,63,.6);animation:pulse 2.4s ease-in-out infinite;
  }
  @keyframes pulse{
    0%{box-shadow:0 0 0 0 rgba(184,146,63,.6)}
    70%{box-shadow:0 0 0 8px rgba(184,146,63,0)}
    100%{box-shadow:0 0 0 0 rgba(184,146,63,0)}
  }
  .week-head h3{
    font-family:var(--serif);font-weight:300;
    font-size:clamp(28px,3.2vw,38px);line-height:1.1;
  }
  .week-head h3 em{font-style:italic;color:var(--bordeaux)}
  .week-head .sub{
    font-size:11.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--muted);
    margin-top:14px;
  }

  /* ZONE Ã‰DITABLE â€” minimal markup */
  .week-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:24px}
  .week-list li{
    display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:baseline;
    padding-bottom:22px;border-bottom:1px solid var(--hairline-2);
  }
  .week-list li:last-child{border-bottom:0;padding-bottom:0}
  .week-list .kind{
    font-family:var(--sans);font-size:10px;font-weight:600;
    letter-spacing:.28em;text-transform:uppercase;color:var(--gold);
    width:74px;
  }
  .week-list .name{
    font-family:var(--serif);font-weight:400;font-size:21px;line-height:1.3;
    color:var(--ink);
  }
  .week-list .price{
    font-family:var(--serif);font-style:italic;font-weight:400;font-size:20px;
    color:var(--ink);white-space:nowrap;
  }
  @media (max-width:560px){
    .week-list li{grid-template-columns:1fr auto;gap:6px 14px}
    .week-list .kind{grid-column:1 / -1;width:auto;font-size:9.5px}
  }

  /* === MENU SEMAINE — FORMAT SECTIONS === */
  .week-sections{display:flex;flex-direction:column;gap:0;text-align:left}

  .week-ornament{
    display:flex;align-items:center;gap:18px;margin:24px 0;
  }
  .week-ornament .o-line{flex:1;height:1px;background:var(--hairline)}
  .week-ornament .o-mark{font-family:var(--serif);font-style:italic;font-size:16px;color:var(--gold-soft)}

  .menu-section-block{padding:4px 0}
  .section-titre{
    display:flex;align-items:center;gap:14px;margin:0 0 14px;
  }
  .st-label{
    font-family:var(--sans);font-size:13px;font-weight:500;
    letter-spacing:.22em;text-transform:uppercase;color:var(--gold);white-space:nowrap;
  }
  .st-line{flex:1;height:1px;background:var(--hairline)}
  .section-titre--encadree{justify-content:space-between}
  .section-titre--encadree .st-prix{margin-left:auto}
  .st-prix{
    font-family:var(--serif);font-style:italic;font-weight:500;
    font-size:17px;color:var(--bordeaux);white-space:nowrap;
  }
  .week-sections .menu-items{gap:0}
  .week-sections .menu-item{
    display:grid;grid-template-columns:1fr auto;
    align-items:baseline;column-gap:16px;row-gap:6px;padding:10px 0;
  }
  .week-sections .menu-item .name{grid-column:1;text-align:center}
  .week-sections .menu-item .price{grid-column:2;white-space:nowrap;align-self:baseline}
  .week-sections .menu-item .desc{grid-column:1 / -1;text-align:center;max-width:none;margin:0 auto}
  .ou-separator{
    font-family:var(--serif);font-style:italic;font-size:20px;
    color:var(--muted);text-align:center;padding:2px 0;
  }
  .vegeta-mark{
    color:#4a7c4e;font-weight:700;font-size:12px;margin-left:6px;
    font-family:var(--sans);letter-spacing:.04em;
  }
  .week-formules{display:flex;flex-direction:column;gap:20px;margin-top:4px}
  .formule-item{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}
  .formule-label{
    font-family:var(--serif);font-weight:400;font-size:22px;color:var(--ink);line-height:1.2;
  }
  .formule-detail{
    font-family:var(--sans);font-style:italic;font-size:13px;color:var(--ink-soft);
  }
  .formule-price{
    font-family:'Lora',serif;font-style:normal;font-weight:400;font-size:42px;
    color:var(--bordeaux);white-space:nowrap;
  }

  /* === kind: libre — choix libre inline === */
  .week-libre{
    display:flex;align-items:baseline;gap:10px;
    justify-content:center;
    padding:6px 0;
  }
  .libre-name{
    font-family:var(--serif);font-weight:400;font-size:24px;color:var(--ink);
  }
  .libre-price{
    font-family:var(--serif);font-style:italic;font-size:17px;
    color:var(--bordeaux);white-space:nowrap;
  }

  /* === kind: separateur — trait court centré === */
  .week-separator{
    width:48px;height:1px;
    background:rgba(184,146,63,.35);
    margin:8px auto;
  }

  .week-menu-price{display:flex;flex-direction:column;align-items:center;gap:8px;margin-top:12px;padding-top:12px;text-align:center}
  .menu-price-label{font-family:var(--sans);font-size:11.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);font-weight:500}
  .menu-price-value{font-family:var(--serif);font-style:italic;font-weight:400;font-size:32px;color:var(--bordeaux)}
  .section-speciale{
    border:1px solid rgba(184,146,63,.4);
    padding:22px 32px;margin-top:4px;position:relative;
  }
  .section-speciale::before,.section-speciale::after{
    content:””;position:absolute;width:13px;height:13px;border:1px solid var(--gold);
  }
  .section-speciale::before{top:-1px;left:-1px;border-right:none;border-bottom:none}
  .section-speciale::after{bottom:-1px;right:-1px;border-left:none;border-top:none}

  /* === BLOC 2 â€” CARTE PERMANENTE (style menu Ã©ditorial) === */
  .full-menu{max-width:880px;margin:0 auto}
  .full-menu .fm-head{text-align:center;margin-bottom:0}
  .full-menu .fm-head .eyebrow{display:inline-block;margin-bottom:18px}
  .full-menu .fm-head h3{
    font-family:var(--serif);font-weight:300;
    font-size:clamp(34px,4.2vw,52px);line-height:1.06;
  }
  .full-menu .fm-head h3 em{font-style:italic;color:var(--bordeaux)}
  .full-menu .fm-head .note{
    color:var(--muted);font-family:var(--serif);font-style:italic;font-size:18px;margin-top:14px;
  }

  .menu-section{margin-bottom:64px}
  .menu-section:last-child{margin-bottom:0}
  .ms-head{
    display:flex;align-items:center;gap:22px;margin-bottom:0;
  }
  .ms-head .ms-line{flex:1;height:1px;background:var(--hairline)}
  .ms-head h4{
    font-family:var(--serif);font-style:italic;font-weight:400;
    font-size:30px;color:var(--bordeaux);letter-spacing:.005em;
  }
  .ms-head .ms-num{
    font-family:var(--sans);font-size:10.5px;letter-spacing:.28em;text-transform:uppercase;
    color:var(--gold);font-weight:600;
  }

  .menu-items{display:flex;flex-direction:column;gap:34px}
  .menu-item{display:flex;flex-direction:column;gap:8px}
  .menu-item .top{
    display:flex;align-items:baseline;gap:14px;
  }
  .menu-item .name{
    font-family:var(--serif);font-weight:400;font-size:24px;line-height:1.25;
    color:var(--ink);
  }
  .menu-item .dots{
    flex:1;border-bottom:1.5px dotted rgba(26,20,16,.28);
    transform:translateY(-4px);min-width:30px;
  }
  .menu-item .price{
    font-family:'Lora',serif;font-style:normal;font-weight:400;font-size:18px;
    color:var(--bordeaux);white-space:nowrap;
  }
  .menu-item .desc{
    font-family:var(--sans);font-style:italic;font-size:12.5px;line-height:1.6;
    color:var(--ink-soft);max-width:62ch;
  }
  @media (max-width:560px){
    .menu-item .name{font-size:20px}
    .menu-item .price{font-size:19px}
  }

  .carte-foot{
    margin-top:80px;display:flex;justify-content:center;align-items:center;gap:18px;flex-wrap:wrap;
  }

  /* ---------------- 4. MAÃŽTRE RESTAURATEUR (compact, aprÃ¨s Carte) ---------------- */
  .mr{
    background:var(--cream);
    padding:70px 0;
    border-top:1px solid var(--hairline-2);
    border-bottom:1px solid var(--hairline-2);
  }
  .mr-inner{
    max-width:760px;margin:0 auto;
    display:flex;align-items:center;gap:36px;
    padding:0 40px;
  }
  @media (max-width:680px){
    .mr-inner{flex-direction:column;text-align:center;gap:24px;padding:0 22px}
  }

  .mr-plaque{
    width:120px;height:80px;flex-shrink:0;
    background:linear-gradient(135deg,#E8C97A 0%,#C9A86A 45%,#9C7E3F 100%);
    box-shadow:
      0 12px 24px -10px rgba(0,0,0,.25),
      inset 0 0 0 1px rgba(255,255,255,.25),
      inset 0 -2px 0 rgba(0,0,0,.15);
    display:flex;align-items:center;justify-content:center;
    position:relative;padding:6px;
  }
  .mr-plaque img{width:100%;height:100%;object-fit:cover;mix-blend-mode:multiply;opacity:.95}
  .mr-plaque .screw{position:absolute;width:5px;height:5px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff5cc,#9C7E3F 70%,#5b4720)}
  .mr-plaque .screw.tl{top:4px;left:4px} .mr-plaque .screw.tr{top:4px;right:4px}
  .mr-plaque .screw.bl{bottom:4px;left:4px} .mr-plaque .screw.br{bottom:4px;right:4px}

  .mr-content{flex:1;min-width:0}
  .mr-content .label{
    font-size:10.5px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);font-weight:600;
    margin-bottom:8px;
  }
  .mr-content h3{
    font-family:var(--serif);font-style:italic;font-weight:400;
    font-size:24px;line-height:1.25;color:var(--ink);margin-bottom:6px;
  }
  .mr-content p{
    font-size:13.5px;line-height:1.6;color:var(--ink-soft);margin:0;max-width:54ch;
  }

  /* ---------------- 6. Ã‰VÃ‰NEMENTS ---------------- */
  .events{position:relative;padding:0;display:flex;align-items:stretch;background:var(--cream)}
  .events-grid{display:grid;grid-template-columns:2fr 3fr;width:100%;align-items:stretch}

  .events-photo{position:relative;overflow:hidden}
  .events-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

  .events-text{
    background:var(--cream-2);
    padding:64px 64px;display:flex;flex-direction:column;justify-content:center;gap:8px;
  }
  /* tablette : empilage + photo paysage + parallaxe */
  @media (max-width:1000px){
    .events-grid{grid-template-columns:1fr}
    .events-photo{aspect-ratio:21/9}
    .events-photo img{will-change:transform}
    .events-text{padding:48px 40px}
  }
  /* tablette : texte (h2 + p) à gauche, bloc CTA à droite, alignés en haut */
  @media (min-width:651px) and (max-width:1000px){
    .events-text{
      display:grid;
      grid-template-columns:1fr 1fr;
      column-gap:60px;
      align-items:start;
    }
    .events-text-left{grid-column:1}
    .events-cta{
      grid-column:2;margin:0 auto;padding-top:0;border-top:0;
      align-self:center;
    }
  }
  /* mobile : carré, pas de parallaxe, retour empilage simple */
  @media (max-width:650px){
    .events-photo{aspect-ratio:1/1}
    .events-text{padding:44px 22px}
  }

  .events-text .eyebrow{margin-bottom:24px}
  .events-text h2{
    font-family:var(--serif);font-weight:300;letter-spacing:-.005em;
    font-size:clamp(34px,4vw,52px);line-height:1.05;margin-bottom:24px;
  }
  .events-text h2 em{font-style:italic;color:var(--bordeaux)}
  .events-text p{
    color:var(--ink-soft);font-size:16px;line-height:1.75;margin:0 0 14px;max-width:42ch;
    text-align:justify;hyphens:auto;
  }
  .events-text p em{font-family:var(--serif);font-style:italic;font-size:18px;color:var(--ink)}

  /* ---------------- 5b. PROCHAIN ÉVÉNEMENT (teaser accueil) ---------------- */
  .featured-event{
    padding:120px 0;background:var(--cream);
    border-top:1px solid var(--hairline-2);
  }
  .featured-event > .wrap{
    max-width:1100px;
  }
  /* titre de section, style cohérent avec les h2 du site */
  .fe-title{
    font-family:var(--serif);font-weight:300;
    font-size:clamp(38px,4.6vw,60px);line-height:1.04;letter-spacing:-.005em;
    text-align:center;margin:0 0 56px;color:var(--ink);
  }
  .fe-title em{font-style:italic;color:var(--bordeaux)}

  .fe-grid{
    display:grid;grid-template-columns:auto minmax(0,540px);gap:60px;align-items:center;
    justify-content:center;
  }
  .fe-poster{
    width:clamp(240px,26vw,320px);flex-shrink:0;align-self:center;
  }
  .fe-info{min-width:0}
  .fe-info .desc{width:100%}

  /* date — "Le samedi 31 mai", serif italic, jour en bordeaux */
  .fe-date{
    margin:0 0 18px;
    font-family:var(--serif);font-weight:300;font-style:italic;
    font-size:clamp(22px,2.4vw,32px);line-height:1.15;letter-spacing:-.005em;
    color:var(--ink);
  }
  .fe-date .fe-date-prefix{color:var(--ink-soft);font-style:normal;font-weight:400;margin-right:.25em}
  .fe-date .fe-date-num{color:var(--bordeaux);font-weight:400}

  .fe-event-title{
    font-family:var(--serif);font-weight:300;
    font-size:clamp(26px,2.6vw,36px);line-height:1.05;letter-spacing:-.005em;
    margin:0 0 20px;color:var(--ink);
  }
  .fe-event-title em{font-style:italic;color:var(--bordeaux)}

  .fe-info .desc{
    font-family:var(--serif);font-style:italic;font-weight:300;
    font-size:17px;line-height:1.55;color:var(--ink-soft);
    margin:0 0 28px;text-align:justify;hyphens:auto;
  }
  .fe-info .actions{display:grid;grid-template-columns:1fr 1fr;gap:14px;width:100%}
  .fe-info .actions .btn{width:100%;justify-content:center}

  @media (max-width:900px){
    .featured-event{padding:90px 0}
    .fe-title{margin-bottom:42px}
    .fe-grid{grid-template-columns:minmax(0,540px);gap:40px;justify-items:center;text-align:center}
    .fe-poster{width:100%}
    .fe-info{display:flex;flex-direction:column;align-items:center;width:100%}
    .fe-info .desc{width:100%;text-align:center}
    .fe-info .actions{width:100%}
  }
  @media (max-width:560px){
    .featured-event{padding:72px 0}
    .fe-info .actions{grid-template-columns:1fr}
  }

  /* bloc CTA "Écrivez-nous" */
  .events-cta{
    margin:36px auto 0;
    max-width:none;text-align:center;
  }
  .events-cta .invite{
    font-family:var(--serif);font-weight:300;color:var(--ink);
    font-size:clamp(20px,2vw,26px);line-height:1.18;letter-spacing:-.005em;
    margin:0 0 14px;max-width:none;
  }
  .events-cta .invite em{font-style:italic;color:var(--bordeaux);font-size:1em}
  /* === BOUTON CTA "Envoyez-nous un mot" === */
  .cta-btn{
    display:inline-flex;align-items:center;justify-content:flex-start;gap:14px;
    padding:14px 20px;
    border:1px solid var(--bordeaux);
    background:var(--bordeaux);color:#F5EFE0;text-decoration:none;
    font-family:var(--sans);font-size:12.5px;font-weight:500;
    letter-spacing:.18em;text-transform:uppercase;line-height:1.5;
    text-align:left;
    transition:border-color .35s ease, background .35s ease, color .35s ease;
  }
  .cta-btn .ico{
    display:inline-flex;align-items:center;justify-content:center;
    width:30px;height:30px;flex-shrink:0;color:#F5EFE0;
    animation:ctaIdle 3.2s ease-in-out infinite;
    transition:color .35s ease;
  }
  .cta-btn .ico svg{width:100%;height:100%;overflow:visible}
  /* le rabat de l'enveloppe — se déplie au hover */
  .cta-btn .ico .flap{
    transform-origin:12px 6px;
    transition:transform .55s cubic-bezier(.65,0,.25,1);
  }
  /* le label : crossfade entre l'invitation et l'adresse mail
     grid 1x1 → la cellule prend la taille du contenu le plus large (mail) */
  .cta-btn .lbl{display:grid;align-items:center;justify-items:start}
  .cta-btn .lbl > *{grid-area:1 / 1}
  .cta-btn .lbl-main,
  .cta-btn .lbl-mail{transition:opacity .35s ease, transform .35s ease}
  .cta-btn .lbl-main{
    animation:ctaTextPulse 3.2s ease-in-out infinite;
  }
  .cta-btn .lbl-main em{font-style:italic;color:var(--gold-soft,#E8C97A);letter-spacing:.18em}
  .cta-btn .lbl-mail{
    font-family:'Inconsolata',ui-monospace,monospace;
    font-size:16px;letter-spacing:.01em;color:var(--gold-soft,#E8C97A);
    text-transform:none;font-weight:400;
    white-space:nowrap;
    opacity:0;transform:translateY(6px);pointer-events:none;
    user-select:all;align-self:center;
  }

  /* HOVER : fond plus profond, animations idle stoppées, rabat s'ouvre, mail apparaît */
  .cta-btn:hover{background:var(--bordeaux-2);border-color:var(--bordeaux-2)}
  .cta-btn:hover .ico{animation:none}
  .cta-btn:hover .lbl-main{animation:none;opacity:0;transform:translateY(-6px)}
  .cta-btn:hover .ico .flap{transform:rotateX(180deg)}
  .cta-btn:hover .lbl-mail{opacity:1;transform:translateY(0);pointer-events:auto}

  /* animation passive : pulsation + léger balancement (icône) */
  @keyframes ctaIdle{
    0%,100%{transform:scale(1) rotate(0)}
    25%{transform:scale(1.08) rotate(-2.5deg)}
    50%{transform:scale(1.14) rotate(0)}
    75%{transform:scale(1.08) rotate(2.5deg)}
  }
  /* pulsation discrète sur le texte (synchronisée avec l'icône) */
  @keyframes ctaTextPulse{
    0%,100%{transform:scale(1);opacity:.92}
    50%{transform:scale(1.025);opacity:1}
  }
  @media (prefers-reduced-motion:reduce){
    .cta-btn .ico,
    .cta-btn .lbl-main{animation:none}
    .cta-btn .ico .flap{transition:none}
  }
  .events-cta .note{
    margin:22px auto 0;font-size:14.5px;line-height:1.55;color:var(--muted);
    font-style:italic;font-family:var(--serif);
    max-width:58ch;
  }


  /* ---------------- 7. NOUS TROUVER (V4 â€” grille technique) ---------------- */
  .find{padding:160px 0 120px;background:var(--cream)}
  .find-grid{
    display:grid;grid-template-columns:1.1fr 1fr;gap:80px;align-items:flex-start;
  }
  @media (max-width:980px){ .find-grid{grid-template-columns:1fr;gap:50px} }

  .find-text .eyebrow{display:block;margin-bottom:20px}
  .find-text h2{
    font-family:var(--serif);font-weight:300;font-size:clamp(40px,5vw,64px);
    line-height:1.04;letter-spacing:-.005em;margin-bottom:36px;
  }
  .find-text h2 em{font-style:italic;color:var(--bordeaux)}

  .find .info-grid{
    display:grid; grid-template-columns:1fr 1fr; gap:0;
    border-top:1px solid var(--ink); border-left:1px solid var(--ink);
  }
  @media (max-width:680px){ .find .info-grid{grid-template-columns:1fr} }
  .find .cell{
    padding:24px 26px 80px;
    border-right:1px solid var(--ink); border-bottom:1px solid var(--ink);
    background:var(--paper);
    position:relative;
  }
  .find .cell.full{grid-column:1 / -1;padding-bottom:24px !important}
  .find .num{
    font-family:'IBM Plex Mono', monospace; font-size:10px; font-weight:500;
    letter-spacing:.18em; color:var(--gold); margin-bottom:10px;
  }
  .find .val{
    font-family:var(--sans); font-weight:500; font-size:clamp(13px, 2vw, 15px); line-height:1.45;
    color:var(--ink); letter-spacing:-.005em;
  }
  .find .phone{
    display:block;
    font-family:'IBM Plex Mono', monospace; font-size:clamp(13px, 3.2vw, 20px); font-weight:500;
    letter-spacing:.02em; color:var(--ink); margin-bottom:8px;
    line-height:1.3;
  }
  .find .sub{
    font-family:var(--sans); font-size:12.5px; color:var(--muted);
    margin-top:8px; margin-bottom:20px; letter-spacing:.02em;
  }
  .find .sub a:hover{color:var(--bordeaux)}

  .find .cell-action{
    position:absolute; bottom:18px; left:26px; right:26px;
    display:flex; align-items:center; gap:12px;
    background:var(--bordeaux); color:#F5EFE0;
    padding:14px 18px 14px 14px;
    border:1px solid var(--bordeaux);
    font-family:var(--sans); font-size:12px; font-weight:600;
    letter-spacing:.18em; text-transform:uppercase;
    transition:.25s ease;
    text-decoration:none;
  }
  .find .cell-action:hover{background:var(--bordeaux-2); border-color:var(--bordeaux-2)}
  .find .cell-action .ico{
    width:30px; height:30px; flex-shrink:0;
    display:flex; align-items:center; justify-content:center;
    color:#F5EFE0;
    animation:ctaIdle 3.2s ease-in-out infinite;
    transition:color .35s ease;
  }
  .find .cell-action:hover .ico{animation:none}
  .find .cell-action .ico svg{width:100%;height:100%;overflow:visible}
  /* Grid overlay : les deux textes se chevauchent, centrés */
  .find .cell-action .lbl-txt{
    display:grid;align-items:center;justify-items:center;justify-content:center;
    text-align:center;line-height:1.5;flex:1;
  }
  .find .cell-action .lbl-txt > *{grid-area:1 / 1}
  .find .cell-action .lbl-sm{
    font-family:var(--sans); font-size:12.5px; font-weight:500;
    letter-spacing:.18em; text-transform:uppercase;
    color:#F5EFE0;
    transition:opacity .35s ease, transform .35s ease;
  }
  .find .cell-action .lbl-txt > span:last-child{
    font-family:var(--sans);font-size:12.5px;font-weight:500;
    color:var(--gold-soft,#E8C97A);
    letter-spacing:.18em;text-transform:uppercase;
    opacity:0;transform:translateY(6px);pointer-events:none;
    transition:opacity .35s ease, transform .35s ease;
  }
  /* Hover : le premier texte s'efface, le second apparaît */
  .find .cell-action:hover .lbl-sm{opacity:0;transform:translateY(-6px)}
  .find .cell-action:hover .lbl-txt > span:last-child{opacity:1;transform:translateY(0);pointer-events:auto}

  .find .hours-block{
    margin-top:6px;
    display:grid; grid-template-columns:1fr 1.4fr; gap:0;
    border:1px solid var(--hairline);
    background:#fff;
  }
  @media (max-width:680px){ .find .hours-block{grid-template-columns:1fr} }
  .find .hours-days{
    padding:18px 22px; background:#fff;
  }
  @media (max-width:680px){ .find .hours-days{border-right:0} }
  .find .hours-days .row{
    display:flex; justify-content:space-between; align-items:baseline;
    padding:7px 0; font-family:var(--sans);
  }
  .find .hours-days .row + .row{border-top:none}
  .find .hours-days .day-name{
    font-size:14px; font-weight:500; color:var(--ink); letter-spacing:.005em;
  }
  .find .hours-days .day-state{
    font-family:'IBM Plex Mono', monospace; font-size:11px; color:var(--gold);
    letter-spacing:.04em; text-transform:uppercase; font-weight:500;
  }
  .find .hours-days .row.closed .day-name{color:var(--muted-2)}
  .find .hours-days .row.closed .day-state{color:var(--muted-2); font-style:italic; text-transform:none}

  .find .hours-slots{
    padding:18px 22px; background:#fff;
    display:flex; flex-direction:column; justify-content:center; gap:14px;
  }
  .find .slot{display:flex; align-items:center; gap:14px}
  .find .slot-ico{
    width:34px;height:34px;flex:none;
    border:1px solid var(--gold); border-radius:50%;
    display:flex;align-items:center;justify-content:center; color:var(--gold);
  }
  .find .slot-ico svg{width:16px;height:16px}
  .find .slot-text{display:flex;flex-direction:column;gap:2px;line-height:1.1}
  .find .slot-name{
    font-family:var(--sans); font-size:11px; font-weight:600;
    letter-spacing:.22em; text-transform:uppercase; color:var(--gold);
  }
  .find .slot-time{
    font-family:'IBM Plex Mono', monospace; font-size:14px; font-weight:500;
    color:var(--ink); letter-spacing:.02em;
  }
  .find .slot-note{
    margin-top:4px;
    font-family:var(--sans); font-size:11.5px; color:var(--muted);
    line-height:1.5;
  }

  .pets{
    display:flex; align-items:center; gap:0; justify-content:flex-start;
    margin-top:16px; margin-bottom:0; padding-bottom:0;
    font-family:'IBM Plex Mono', monospace; font-size:12px; font-weight:500;
    letter-spacing:.06em; color:var(--ink-soft);
  }
  .pets::before{content:""; width:24px; height:1px; background:var(--gold); margin-right:8px}
  .pets img{margin-left:8px}

  .find-photo{position:relative;overflow:hidden;background:var(--cream-2);display:flex}
  .find-photo img{width:100%;height:100%;object-fit:cover}
  .find-photo .pin{
    position:absolute;left:30px;bottom:30px;
    background:var(--cream);color:var(--ink);
    padding:18px 22px;display:flex;align-items:center;gap:14px;
    border:1px solid var(--gold);
  }
  .find-photo .pin .ico{
    width:36px;height:36px;border-radius:50%;
    border:1px solid var(--gold);display:flex;align-items:center;justify-content:center;color:var(--gold);
  }
  .find-photo .pin .ico svg{width:14px;height:14px}
  .find-photo .pin .t{font-family:var(--serif);font-style:italic;font-size:18px;line-height:1.2}
  .find-photo .pin .s{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-top:3px}

  /* ---------------- FOOTER ---------------- */
  .ftr{background:var(--ink);color:#E8DEC8;border-top:1px solid var(--hairline-2);padding:60px 0 24px}
  .ftr-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px}
  @media (max-width:900px){ .ftr-grid{grid-template-columns:1fr 1fr;gap:32px} }
  @media (max-width:560px){ .ftr-grid{grid-template-columns:1fr} }

  .ftr-brand .ftr-logo{height:38px;width:auto;filter:brightness(0) invert(1);opacity:.88;margin-bottom:14px}
  .ftr-brand .tag{
    color:rgba(232,222,200,.6);font-size:13px;line-height:1.65;max-width:32ch;margin:0;
  }
  .ftr-brand .stars{
    margin-top:16px;display:flex;align-items:center;gap:8px;color:var(--gold-soft);font-size:10px;
  }
  .ftr-brand .stars span.lbl{color:rgba(232,222,200,.5);font-family:var(--sans);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;margin-left:6px}

  .ftr-col h4{
    font-family:var(--sans);font-size:11px;font-weight:600;letter-spacing:.28em;text-transform:uppercase;
    color:var(--gold-soft);margin:0 0 16px;
  }
  .ftr-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}
  .ftr-col li, .ftr-col li a{
    color:#E8DEC8;font-family:var(--sans);font-size:14px;font-weight:400;
    opacity:.75;transition:opacity .2s ease,color .2s ease;
  }
  .ftr-col li a:hover{opacity:1;color:var(--gold-soft)}
  .ftr-col li.txt{line-height:1.5}
  .ftr-col li.txt span{display:block;color:rgba(232,222,200,.45);font-family:var(--sans);font-size:10.5px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;margin-bottom:3px;opacity:1}

  .ftr-bottom{
    display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;
    margin-top:48px;padding-top:20px;border-top:1px solid rgba(232,222,200,.1);
    font-size:11px;color:rgba(232,222,200,.45);letter-spacing:.06em;
  }
  .ftr-bottom .legal{display:flex;gap:20px;flex-wrap:wrap}
  .ftr-bottom .legal a:hover{color:var(--gold-soft)}

  /* ====================================================== */
  /* TWEAKS â€” three expressive modes that reshape the feel    */
  /* ====================================================== */

  /* --- AMBIANCE: Lumineux (default light), CrÃ©puscule (warm dusk), TamisÃ©e (dim) --- */
  html[data-mood="dusk"] body{ background:#EAD9B8 }
  html[data-mood="dusk"]{ --cream:#EAD9B8; --cream-2:#DEC89E; --paper:#F0E2C5; --sand:#D4BC8B; --hairline:rgba(80,50,20,.18); --hairline-2:rgba(80,50,20,.10); --ink-soft:#6B5740 }
  html[data-mood="dusk"] .hero-bg{ filter:brightness(.78) contrast(1.04) saturate(1.18) hue-rotate(-6deg) }
  html[data-mood="dusk"] .hero-overlay{
    background:
      radial-gradient(ellipse at 50% 60%, rgba(60,30,10,.1) 0%, rgba(60,30,10,.55) 60%, rgba(40,20,10,.85) 100%),
      linear-gradient(180deg, rgba(40,20,10,.78) 0%, rgba(60,30,10,.18) 22%, rgba(60,30,10,.18) 55%, rgba(80,50,30,.55) 88%, rgba(234,217,184,1) 100%);
  }

  html[data-mood="dim"]{ --cream:#1F1812; --cream-2:#2A2017; --paper:#241B14; --sand:#3A2C1F; --ink:#F5EFE0; --ink-soft:#C9BFA9; --hairline:rgba(245,239,224,.14); --hairline-2:rgba(245,239,224,.08); --muted:rgba(245,239,224,.55); --muted-2:rgba(245,239,224,.42); --bordeaux:#A8443F; --bordeaux-2:#8C2F2C }
  html[data-mood="dim"] body{ background:#1F1812; color:#F5EFE0 }
  html[data-mood="dim"] .hdr.scrolled{ background:rgba(31,24,18,.92); border-bottom-color:rgba(245,239,224,.08) }
  html[data-mood="dim"] .hdr.scrolled .nav a, html[data-mood="dim"] .hdr.scrolled .brand-mark, html[data-mood="dim"] .hdr.scrolled .hdr-phone, html[data-mood="dim"] .hdr.scrolled .menu-toggle{ color:#F5EFE0 }
  html[data-mood="dim"] .hdr.scrolled .brand-logo{ filter:brightness(0) invert(1); opacity:.92 }
  html[data-mood="dim"] .hdr.scrolled .brand-sub{ color:var(--gold-soft); border-left-color:rgba(245,239,224,.18) }
  html[data-mood="dim"] h1, html[data-mood="dim"] h2, html[data-mood="dim"] h3{ color:#F5EFE0 }
  html[data-mood="dim"] .week-menu{ background:#2A2017; border-color:rgba(184,146,63,.3) }
  html[data-mood="dim"] .week-list .name, html[data-mood="dim"] .week-list .price{ color:#F5EFE0 }
  html[data-mood="dim"] .menu-item .name{ color:#F5EFE0 }
  html[data-mood="dim"] .menu-item .desc{ color:rgba(245,239,224,.65) }
  html[data-mood="dim"] .menu-item .dots{ border-color:rgba(245,239,224,.25) }
  html[data-mood="dim"] .menu-item .price{ color:var(--gold-soft) }
  html[data-mood="dim"] .ms-head h4{ color:var(--gold-soft) }
  html[data-mood="dim"] .events-text{ background:#2A2017 }
  html[data-mood="dim"] .events-attrs .at{ background:#2A2017 }
  html[data-mood="dim"] .events-attrs .at .v{ color:#F5EFE0 }
  html[data-mood="dim"] .events-attrs .at .v em{ color:var(--gold-soft) }
  html[data-mood="dim"] .events-text p em{ color:#F5EFE0 }
  html[data-mood="dim"] .events-text h2 em{ color:var(--gold-soft) }
  html[data-mood="dim"] .maison-text h2 em, html[data-mood="dim"] .find-text h2 em, html[data-mood="dim"] .carte-head h2 em, html[data-mood="dim"] .week-head h3 em, html[data-mood="dim"] .full-menu .fm-head h3 em{ color:var(--gold-soft) }
  html[data-mood="dim"] .find .cell{ background:#2A2017; border-color:rgba(245,239,224,.18) }
  html[data-mood="dim"] .find .info-grid{ border-top-color:rgba(245,239,224,.22); border-left-color:rgba(245,239,224,.22) }
  html[data-mood="dim"] .find .val{ color:#F5EFE0 }
  html[data-mood="dim"] .find .phone{ color:#F5EFE0 }
  html[data-mood="dim"] .find .cell-action{ background:var(--gold); border-color:var(--gold); color:#1F1812 }
  html[data-mood="dim"] .find .cell-action:hover{ background:var(--gold-soft); border-color:var(--gold-soft) }
  html[data-mood="dim"] .find .cell-action .ico{ background:#1F1812; color:var(--gold) }
  html[data-mood="dim"] .find .cell-action .lbl-sm{ color:rgba(31,24,18,.65) }
  html[data-mood="dim"] .find .hours-days{ background:#241B14 }
  html[data-mood="dim"] .find .hours-days .day-name{ color:#F5EFE0 }
  html[data-mood="dim"] .find .hours-slots{ background:#2A2017 }
  html[data-mood="dim"] .find .slot-time{ color:#F5EFE0 }
  html[data-mood="dim"] .find-photo .pin{ background:#2A2017; color:#F5EFE0 }
  html[data-mood="dim"] .pets{ color:rgba(245,239,224,.7) }
  html[data-mood="dim"] .maison-sig-text .who{ color:#F5EFE0 }
  html[data-mood="dim"] .maison-text .body .lead{ color:#F5EFE0 }
  html[data-mood="dim"] .mr-content h3{ color:#F5EFE0 }
  html[data-mood="dim"] .week-head h3{ color:#F5EFE0 }
  html[data-mood="dim"] .full-menu .fm-head h3{ color:#F5EFE0 }
  html[data-mood="dim"] .btn-dark{ background:var(--gold); border-color:var(--gold); color:#1F1812 }
  html[data-mood="dim"] .btn-dark:hover{ background:var(--gold-soft); border-color:var(--gold-soft) }
  html[data-mood="dim"] .maison-sig-mark{ filter:brightness(0) invert(.85) sepia(.4) saturate(2.5) hue-rotate(-10deg) }

  /* --- CARACTÃˆRE: country (default warm), bistro (modern crisp), gastro (refined high-end) --- */
  html[data-character="bistro"]{ --serif:'Playfair Display', Georgia, serif; --sans:'DM Sans', Inter, system-ui, sans-serif; --bordeaux:#1F1F1F; --bordeaux-2:#000; --gold:#7A6B45; --gold-soft:#9A8757 }
  html[data-character="bistro"] .eyebrow{ letter-spacing:.32em }
  html[data-character="bistro"] h1, html[data-character="bistro"] h2, html[data-character="bistro"] h3, html[data-character="bistro"] h4{ font-weight:500; letter-spacing:-.015em }
  html[data-character="bistro"] em{ font-weight:400 }
  html[data-character="bistro"] .ornament .o-mark{ font-weight:500 }

  html[data-character="gastro"]{ --serif:'Cormorant Garamond', serif; --sans:'Inter', system-ui, sans-serif; --bordeaux:#3A2618; --bordeaux-2:#241308; --gold:#9C7C3A; --gold-soft:#B8923F }
  html[data-character="gastro"] h1, html[data-character="gastro"] h2, html[data-character="gastro"] h3{ font-weight:300; letter-spacing:.01em }
  html[data-character="gastro"] .display{ letter-spacing:.005em }
  html[data-character="gastro"] .eyebrow{ letter-spacing:.42em; font-size:10px }
  html[data-character="gastro"] .week-list .name, html[data-character="gastro"] .menu-item .name{ font-weight:400; letter-spacing:.005em }

  /* --- STYLE DE CARTE: editorial (default), slate (chalkboard), paper (parchment menu) --- */
  html[data-menu="slate"] .week-menu{
    background:#1A1A18;
    border:8px solid #6B5135;
    box-shadow:inset 0 0 60px rgba(0,0,0,.5), 0 18px 40px -20px rgba(0,0,0,.4);
    color:#F5EFE0;
  }
  html[data-menu="slate"] .week-menu::before, html[data-menu="slate"] .week-menu::after{ display:none }
  html[data-menu="slate"] .week-head h3, html[data-menu="slate"] .week-list .name, html[data-menu="slate"] .week-list .price{
    color:#FAF6E8; font-family:'Caveat', cursive; font-weight:400;
  }
  html[data-menu="slate"] .week-head h3{ font-size:46px; line-height:1 }
  html[data-menu="slate"] .week-head h3 em{ color:#E8C97A; font-style:italic }
  html[data-menu="slate"] .week-list .name{ font-size:26px; line-height:1.2 }
  html[data-menu="slate"] .week-list .price{ font-size:26px; color:#E8C97A }
  html[data-menu="slate"] .week-list .kind{ color:#E8C97A; font-family:'Caveat',cursive; text-transform:none; letter-spacing:.04em; font-size:18px; font-weight:600 }
  html[data-menu="slate"] .week-list li{ border-bottom-color:rgba(245,239,224,.18) }
  html[data-menu="slate"] .week-head .badge{ color:#E8C97A }
  html[data-menu="slate"] .week-head .badge .pulse{ background:#E8C97A; box-shadow:0 0 0 0 rgba(232,201,122,.5) }
  html[data-menu="slate"] .week-head .sub{ color:rgba(245,239,224,.55) }

  html[data-menu="slate"] .full-menu{
    background:#FBF7EC;
    border:1px solid rgba(184,146,63,.35);
    padding:60px 70px;
    background-image:
      repeating-linear-gradient(0deg, transparent 0 36px, rgba(184,146,63,.06) 36px 37px);
  }
  @media (max-width:680px){ html[data-menu="slate"] .full-menu{padding:40px 24px} }
  html[data-menu="slate"] .menu-item .name{ font-family:'Cormorant Garamond', serif; font-style:italic }

  html[data-menu="paper"] .week-menu{
    background:
      radial-gradient(ellipse at 50% 0%, rgba(184,146,63,.1) 0%, transparent 60%),
      #F5E9CC;
    border:1px solid rgba(120,80,30,.35);
    box-shadow:
      0 1px 0 rgba(255,255,255,.6) inset,
      0 30px 60px -30px rgba(120,80,30,.3),
      0 4px 12px -4px rgba(120,80,30,.15);
    transform:rotate(-.4deg);
  }
  html[data-menu="paper"] .week-menu::before, html[data-menu="paper"] .week-menu::after{
    content:""; position:absolute;
    background:rgba(60,30,10,.05); width:60px; height:18px;
    border-radius:2px;
    box-shadow:0 1px 2px rgba(0,0,0,.1);
    border:0;
  }
  html[data-menu="paper"] .week-menu::before{ top:-9px; left:50%; transform:translateX(-50%) rotate(-1.5deg); border-right:0; border-bottom:0 }
  html[data-menu="paper"] .week-menu::after{ display:none }
  html[data-menu="paper"] .week-head h3, html[data-menu="paper"] .week-list .name{ font-family:'Special Elite', 'Courier New', monospace; font-weight:400 }
  html[data-menu="paper"] .week-head h3{ font-style:normal; letter-spacing:-.01em }
  html[data-menu="paper"] .week-list .name{ font-size:17px; line-height:1.45 }
  html[data-menu="paper"] .week-list .kind{ font-family:'IBM Plex Mono', monospace; font-weight:500; letter-spacing:.18em }
  html[data-menu="paper"] .week-list .price{ font-family:'Special Elite', monospace; font-style:normal }

  html[data-menu="paper"] .full-menu{ position:relative }
  html[data-menu="paper"] .menu-item .name{ font-family:'Special Elite', monospace; letter-spacing:-.01em }
  html[data-menu="paper"] .menu-item .desc{ font-family:'IBM Plex Mono', monospace; font-style:normal; font-size:12.5px; letter-spacing:.01em }
  html[data-menu="paper"] .menu-item .price{ font-family:'Special Elite', monospace; font-style:normal }
  html[data-menu="paper"] .ms-head h4{ font-family:'Special Elite', monospace; font-style:normal; letter-spacing:.04em }

  /* ---------------- PAGE ÉVÉNEMENTS ---------------- */

  .page-title{padding:160px 0 56px;background:var(--cream);position:relative}
  .page-title .crumb{font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);margin-bottom:24px}
  .page-title .crumb a{color:var(--gold);transition:color .2s}
  .page-title .crumb a:hover{color:var(--bordeaux)}
  .page-title .crumb .sep{margin:0 12px;opacity:.55}
  .page-title h1{font-family:var(--serif);font-weight:300;font-size:clamp(48px,6.4vw,96px);line-height:.98;letter-spacing:-.01em;max-width:18ch}
  .page-title h1 em{font-style:italic;color:var(--bordeaux)}
  .page-title .lead{font-family:var(--serif);font-style:italic;font-weight:300;font-size:21px;color:var(--ink-soft);margin-top:26px;max-width:58ch;line-height:1.5}

  .hero-event{padding:60px 0 100px;background:var(--cream)}
  .hero-grid{display:grid;grid-template-columns:minmax(360px,500px) 1fr;gap:80px;align-items:center}
  @media (max-width:980px){
    .hero-grid{grid-template-columns:1fr;gap:40px;justify-items:center;text-align:center}
    .hero-event .poster{width:100%;max-width:min(420px,55vh)}
    .hero-info{max-width:560px}
    .hero-info .stat-line{justify-content:center}
    .hero-info .desc{margin-left:auto;margin-right:auto;text-align:center}
    .hero-info .actions{justify-content:center}
  }

  .poster{position:relative;background:var(--paper);padding:14px;border:1px solid var(--hairline);box-shadow:0 30px 60px -30px rgba(26,20,16,.45);transition:transform .55s cubic-bezier(.2,.8,.2,1),box-shadow .45s ease;cursor:zoom-in}
  .poster .img-wrap{position:relative;aspect-ratio:1/1.4142;overflow:hidden;background:#0E0A07}
  .poster img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.8,.2,1)}
  .poster:hover{transform:translateY(-6px);box-shadow:0 50px 90px -30px rgba(26,20,16,.55)}
  .poster:hover img{transform:scale(1.025)}
  .poster .pin{position:absolute;top:24px;left:24px;z-index:3;background:var(--ink);color:var(--cream);padding:9px 13px;font-family:'IBM Plex Mono',monospace;font-size:10px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;box-shadow:0 12px 24px -8px rgba(0,0,0,.35)}
  .poster .pin.gold{background:var(--gold);color:var(--ink)}
  .poster .pin.bordeaux{background:var(--bordeaux);color:var(--cream)}
  .poster.past .img-wrap::after{content:"";position:absolute;inset:0;background:rgba(245,239,224,.22);mix-blend-mode:multiply;pointer-events:none}
  .poster .ph{position:absolute;inset:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:linear-gradient(160deg,#1A1410,#2A2018);color:var(--gold-soft);font-family:var(--serif);font-style:italic;text-align:center;padding:28px}
  .poster .ph .ph-mark{font-size:48px;line-height:1;opacity:.5}
  .poster .ph .ph-ttl{font-size:24px;font-weight:300;line-height:1.15;color:var(--cream)}
  .poster .ph .ph-when{font-family:'IBM Plex Mono',monospace;font-style:normal;font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-soft);opacity:.85}
  .poster .ph::after{content:"";position:absolute;inset:18px;border:1px solid rgba(201,168,106,.22);pointer-events:none}
  .poster .hint{position:absolute;right:24px;bottom:24px;z-index:3;width:54px;height:54px;border-radius:50%;background:var(--ink);color:var(--gold-soft);display:flex;align-items:center;justify-content:center;opacity:0;transform:translateY(8px) scale(.92);transition:opacity .4s ease,transform .5s cubic-bezier(.2,.8,.2,1);pointer-events:none;box-shadow:0 12px 24px -8px rgba(0,0,0,.4)}
  .poster .hint svg{width:20px;height:20px}
  .poster:hover .hint{opacity:1;transform:translateY(0) scale(1)}

  .hero-info .stat-line{display:flex;align-items:center;gap:16px;margin-bottom:22px;font-family:'IBM Plex Mono',monospace;font-size:15px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}

  /* date pleine "Le dimanche 31 mai 2026" — vedette page événements */
  .hero-info .hero-event-date{
    display:flex;align-items:center;gap:14px;
    margin:0 0 22px;
    font-family:var(--serif);font-weight:300;font-style:italic;
    font-size:clamp(22px,2.4vw,32px);line-height:1.15;letter-spacing:-.005em;
    color:var(--gold);
  }
  .hero-info .hero-event-date .pulse{
    width:9px;height:9px;border-radius:50%;background:var(--gold);
    box-shadow:0 0 0 0 rgba(184,146,63,.6);
    animation:pulse 2.4s ease-in-out infinite;
    flex-shrink:0;
  }
  .hero-info .stat-line .pulse{width:9px;height:9px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 0 rgba(184,146,63,.6);animation:pulse 2.4s ease-in-out infinite}
  @keyframes pulse{0%{box-shadow:0 0 0 0 rgba(184,146,63,.6)}70%{box-shadow:0 0 0 8px rgba(184,146,63,0)}100%{box-shadow:0 0 0 0 rgba(184,146,63,0)}}
  .hero-info h2{font-family:var(--serif);font-weight:300;font-size:clamp(46px,5.4vw,78px);line-height:.98;letter-spacing:-.01em;margin:0 0 26px}
  .hero-info h2 em{font-style:italic;color:var(--bordeaux)}
  .hero-info .desc{font-family:var(--serif);font-style:italic;font-weight:300;font-size:22px;line-height:1.5;color:var(--ink-soft);max-width:46ch;margin:0 0 34px;text-align:justify}
  .hero-info .specs{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);margin-bottom:34px}
  @media (max-width:560px){.hero-info .specs{grid-template-columns:1fr 1fr}}
  .hero-info .specs .sp{padding:22px 22px 22px 0;border-right:1px solid var(--hairline)}
  .hero-info .specs .sp:last-child{border-right:0}
  .hero-info .specs .sp:not(:first-child){padding-left:24px}
  .hero-info .specs .v{font-family:var(--serif);font-weight:300;font-size:36px;line-height:1;color:var(--ink)}
  .hero-info .specs .v em{font-style:italic;color:var(--bordeaux);font-size:.55em;vertical-align:8px;margin-left:.1em}
  .hero-info .specs .l{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);margin-top:10px}
  .hero-info .actions{display:flex;gap:14px;flex-wrap:wrap}

  @media (max-width:560px){.hero-info .actions .btn{flex:1 1 100%;justify-content:center}}

  .rail-sec{padding:90px 0 70px;border-top:1px solid var(--hairline)}
  .rail-sec.past-sec{padding-bottom:120px;background:var(--cream-2)}
  .rail-hd{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;flex-wrap:wrap;margin-bottom:42px}
  .rail-hd .l{max-width:680px}
  .rail-hd .num{font-family:'IBM Plex Mono',monospace;font-size:11px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--gold)}
  .rail-hd h2{font-family:var(--serif);font-weight:300;font-size:clamp(34px,4vw,52px);line-height:1.04;letter-spacing:-.005em;margin:14px 0 0}
  .rail-hd h2 em{font-style:italic;color:var(--bordeaux)}
  .rail-hd .ctrl{display:flex;align-items:center;gap:18px;font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
  .rail-hd .ctrl .arrows{display:flex;gap:8px}
  .rail-hd .ctrl .arrows button{width:42px;height:42px;border:1px solid var(--ink);display:flex;align-items:center;justify-content:center;color:var(--ink);transition:background .25s ease,color .25s ease}
  .rail-hd .ctrl .arrows button:hover{background:var(--ink);color:var(--cream)}
  .rail-hd .ctrl .arrows button:disabled{opacity:.25;cursor:not-allowed}
  .rail-hd .ctrl .arrows button:disabled:hover{background:transparent;color:var(--ink)}
  .rail-hd .ctrl .arrows svg{width:14px;height:14px}
  .rail-hd .swipe-hint{display:none}
  @media (max-width:820px){.rail-hd .ctrl .arrows{display:none}.rail-hd .swipe-hint{display:block;color:var(--gold);font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:.22em;text-transform:uppercase}}

  .rail-scroll{position:relative;margin:0 -40px;padding:6px 40px 30px;overflow-x:auto;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;scrollbar-width:none;cursor:grab}
  .rail-scroll::-webkit-scrollbar{display:none}
  .rail-scroll.dragging{cursor:grabbing;scroll-snap-type:none;user-select:none}
  @media (max-width:720px){.rail-scroll{margin:0 -22px;padding:6px 22px 24px}}
  .rail{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 4 * 24px)/5);gap:24px}
  @media (max-width:1180px){.rail{grid-auto-columns:calc((100% - 3 * 20px)/4);gap:20px}}
  @media (max-width:980px){.rail{grid-auto-columns:calc((100% - 2 * 18px)/3);gap:18px}}
  @media (max-width:720px){.rail{grid-auto-columns:42%;gap:14px}}
  @media (max-width:480px){.rail{grid-auto-columns:62%}}
  .rail .card{scroll-snap-align:start;display:flex;flex-direction:column;gap:14px}
  .rail .card .poster{padding:8px}
  .rail .card .poster .pin{top:14px;left:14px;padding:6px 9px;font-size:9px}
  .rail .card .poster .hint{width:38px;height:38px;right:14px;bottom:14px}
  .rail .card .poster .hint svg{width:14px;height:14px}

  /* Meta = bandeau date au-dessus de l'affiche : jour | numéro (centré) | mois */
  .rail .card .meta{
    display:grid;grid-template-columns:1fr auto 1fr;gap:0 14px;
    align-items:end;padding:0 4px;
  }
  .rail .card .meta .when{
    font-family:var(--serif);font-style:italic;font-weight:300;color:var(--ink);
    font-size:20px;line-height:1;letter-spacing:-.005em;
    text-align:right;padding-bottom:6px;
  }
  .rail .card .meta .num{
    font-family:var(--serif);font-style:italic;font-weight:300;
    font-size:46px;line-height:.82;color:var(--bordeaux);letter-spacing:-.02em;
    text-align:center;align-self:start;
  }
  .rail .card .meta .month{
    font-family:var(--serif);font-style:italic;font-weight:300;color:var(--ink);
    font-size:20px;line-height:1;letter-spacing:-.005em;
    text-align:left;padding-bottom:6px;
  }

  /* Variantes "passées" — couleurs atténuées */
  .rail-sec.past-sec .rail-hd .num{color:var(--muted)}
  .rail-sec.past-sec .rail .card .meta .num{color:var(--muted)}
  .rail-sec.past-sec .rail .card .meta .when,
  .rail-sec.past-sec .rail .card .meta .month{color:var(--ink-soft)}
  .rail-fade{position:relative}
  .rail-fade::after{content:"";position:absolute;top:0;right:-40px;bottom:0;width:100px;background:linear-gradient(to right,transparent,var(--cream));pointer-events:none}
  @media (max-width:720px){.rail-fade::after{right:-22px;width:60px}}
  .rail-sec.past-sec .rail-fade::after{background:linear-gradient(to right,transparent,var(--cream-2))}

  .cta-strip{background:var(--bordeaux);color:var(--cream);padding:80px 0}
  .cta-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:60px;align-items:center}
  @media (max-width:820px){.cta-grid{grid-template-columns:1fr;gap:30px}}
  .cta-strip h3{font-family:var(--serif);font-weight:300;font-size:clamp(34px,3.6vw,52px);line-height:1.05;color:var(--cream);margin:0}
  .cta-strip h3 em{font-style:italic;color:var(--gold-soft)}
  .cta-strip p{color:rgba(245,239,224,.78);margin-top:18px;max-width:48ch;line-height:1.7}
  .cta-actions{display:flex;gap:14px;flex-wrap:wrap;justify-content:flex-end}
  @media (max-width:820px){.cta-actions{justify-content:flex-start}}
  .cta-strip .btn-primary{background:var(--ink);border-color:var(--ink)}
  .cta-strip .btn-primary:hover{background:#000;border-color:#000}
  .cta-strip .btn-ghost{color:var(--cream);border-color:rgba(245,239,224,.5)}
  .cta-strip .btn-ghost:hover{background:var(--cream);color:var(--bordeaux)}

  .lb{position:fixed;inset:0;z-index:200;background:rgba(14,10,7,.94);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:40px 80px;opacity:0;pointer-events:none;transition:opacity .35s ease}
  .lb.open{opacity:1;pointer-events:auto}
  .lb-img{max-height:92vh;max-width:64vw;aspect-ratio:1/1.4142;background:var(--paper);padding:16px;box-shadow:0 60px 120px -30px rgba(0,0,0,.7);transform:scale(.96);transition:transform .45s cubic-bezier(.2,.8,.2,1);position:relative}
  .lb.open .lb-img{transform:scale(1)}
  .lb-img img{width:100%;height:100%;object-fit:contain;background:#0E0A07}
  .lb-close{position:absolute;top:24px;right:30px;width:48px;height:48px;border-radius:50%;background:rgba(245,239,224,.08);color:var(--cream);border:1px solid rgba(245,239,224,.2);display:flex;align-items:center;justify-content:center;transition:background .25s,border-color .25s}
  .lb-close:hover{background:rgba(245,239,224,.18);border-color:rgba(245,239,224,.4)}
  .lb-close svg{width:18px;height:18px}
  .lb-cap{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);text-align:center;color:rgba(245,239,224,.7);font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.22em;text-transform:uppercase;white-space:nowrap}
  .lb-cap em{color:var(--gold-soft);font-style:normal;font-weight:500}
  @media (max-width:780px){.lb{padding:60px 16px}.lb-img{max-width:96vw;padding:8px}.lb-close{top:14px;right:14px;width:42px;height:42px}}

  /* ---------------- CARTE & ACTIONS ---------------- */
  .find-cols{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:stretch}
  @media (max-width:980px){.find-cols{grid-template-columns:1fr;gap:40px}}
  .restaurant-map{width:100%;max-width:none;margin:0}
  .map-frame{overflow:hidden;box-shadow:0 18px 45px rgba(0,0,0,.18);position:relative;height:100%}
  .map-frame iframe{display:block;width:100%;height:100%}
  .map-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}
  .map-button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 18px;border-radius:999px;background:var(--cream-2);color:var(--ink);font-weight:600;text-decoration:none;transition:all .25s ease;flex:1;min-width:140px}
  .map-button:hover{background:var(--sand);transform:translateY(-2px)}
  .map-button-primary{background:var(--bordeaux);color:var(--cream);flex:1;min-width:140px}
  .map-button-primary:hover{background:var(--bordeaux-2);transform:translateY(-2px)}

  /* ---------------- ANIMATIONS ---------------- */
  .reveal{opacity:0;transform:translateY(28px);transition:opacity 1s cubic-bezier(.2,.6,.2,1), transform 1s cubic-bezier(.2,.6,.2,1)}
  .reveal.in{opacity:1;transform:none}
  .reveal[data-d="1"]{transition-delay:.08s}
  .reveal[data-d="2"]{transition-delay:.16s}
  .reveal[data-d="3"]{transition-delay:.24s}
  .reveal[data-d="4"]{transition-delay:.32s}

  .hero .display, .hero .hero-baseline, .hero .hero-cta, .hero .eyebrow{
    opacity:0;transform:translateY(24px);
    animation:rise 1.2s cubic-bezier(.2,.6,.2,1) forwards;
  }
  .hero .eyebrow{animation-delay:.15s}
  .hero .display{animation-delay:.32s}
  .hero .hero-baseline{animation-delay:.62s}
  .hero .hero-cta{animation-delay:.82s}
  @keyframes rise{to{opacity:1;transform:none}}

