﻿
  /* ======= TRANSITIONS DE PAGE ======= */
  /* View Transitions MPA (Chrome 126+, Edge 126+, Safari 18.2+) */
  @view-transition { navigation: auto }
  @keyframes vt-in { from { opacity: 0 } }
  ::view-transition-old(root) { animation: none }
  ::view-transition-new(root) { animation: 900ms ease both vt-in }

  /* Fade-in au chargement — tous navigateurs */
  @keyframes page-in { from { opacity: 0 } }
  body { animation: page-in 0.9s ease both }

  /* ---------------- 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 clamp(20px, 3vw, 40px);gap:0;
    transition:padding .35s ease;
  }
  .hdr.scrolled{
    background:rgba(245,239,224,1);
    border-bottom-color:var(--hairline-2);
  }

  /* Pages avec hero sombre (accueil + carte + événements) : texte crème avant scroll */
  body.is-home .hdr:not(.scrolled) .nav a,
  body.is-home .hdr:not(.scrolled) .menu-toggle,
  body.is-carte .hdr:not(.scrolled) .nav a,
  body.is-carte .hdr:not(.scrolled) .menu-toggle,
  body.is-events .hdr:not(.scrolled) .nav a,
  body.is-events .hdr:not(.scrolled) .menu-toggle{ color:#F5EFE0; transition:color .35s ease }
  /* Hover + actif = gold, même sur fond sombre */
  body.is-home .hdr:not(.scrolled) .nav a:hover,
  body.is-home .hdr:not(.scrolled) .nav a.active,
  body.is-carte .hdr:not(.scrolled) .nav a:hover,
  body.is-carte .hdr:not(.scrolled) .nav a.active,
  body.is-events .hdr:not(.scrolled) .nav a:hover,
  body.is-events .hdr:not(.scrolled) .nav a.active{ color:var(--gold); transition:color .35s ease }
  /* Après scroll : texte ink, hover + actif = gold */
  .hdr.scrolled .nav a, .hdr.scrolled .menu-toggle{ color:var(--ink) }
  .hdr.scrolled .nav a:hover,
  .hdr.scrolled .nav a.active{ color:var(--gold) }

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

  .nav{display:flex;justify-content:center;gap:clamp(14px, 2.4vw, 34px);transition:transform .45s ease, opacity .4s ease;flex:1}
  .nav a{
    font-size:clamp(10.5px, 1.05vw, 12.5px);font-weight:500;
    letter-spacing:clamp(.10em, .18em, .18em);text-transform:uppercase;
    opacity:.9;
    position:relative;padding:6px 4px;
    transition:opacity .25s ease, color .35s ease;
  }
  .nav a:hover{opacity:1;color:var(--gold)}

  /* underline doré — slide depuis la gauche */
  .nav a::after{
    content:"";
    position:absolute;left:0;bottom:0;
    height:1px;width:0;
    background:var(--gold);
    transition:width .4s cubic-bezier(.22,1,.36,1);
    pointer-events:none;
  }
  .nav a:hover::after,.nav a.active::after{width:100%}
  .nav a.active{color:var(--gold);opacity:1}

  /* dropdown Événements */
  .nav-has-sub{position:relative;display:flex;align-items:center}
  .nav-sub{
    position:absolute;top:100%;left:50%;
    transform:translateX(-50%) translateY(-6px);
    background:rgba(245,239,224,.97);
    border:1px solid var(--hairline-2);
    padding:10px 0 8px;min-width:190px;
    opacity:0;pointer-events:none;
    transition:opacity .2s ease, transform .2s ease;
    z-index:60;
  }
  .nav-has-sub:hover .nav-sub{opacity:1;pointer-events:all;transform:translateX(-50%) translateY(0)}
  .nav-sub a{
    display:block;padding:9px 18px;
    font-size:10.5px;font-weight:500;letter-spacing:.15em;text-transform:uppercase;
    color:var(--ink);white-space:nowrap;opacity:1;
  }
  .nav-sub a::after{display:none}
  .nav-sub a:hover{color:var(--gold)}
  /* forcer ink dans le dropdown quelle que soit la page */
  body.is-home .hdr:not(.scrolled) .nav-sub a,
  body.is-carte .hdr:not(.scrolled) .nav-sub a,
  body.is-events .hdr:not(.scrolled) .nav-sub a{color:var(--ink)}
  body.is-home .hdr:not(.scrolled) .nav-sub a:hover,
  body.is-carte .hdr:not(.scrolled) .nav-sub a:hover,
  body.is-events .hdr:not(.scrolled) .nav-sub a:hover{color:var(--gold)}

  /* mobile — lien secondaire sous Événements */
  .mobile-sub-link{
    font-size:clamp(.9rem,3.5vw,1.2rem) !important;
    opacity:.6 !important;
    margin-top:-8px;
  }

  .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;
  }
  /* Accueil : logo caché jusqu'au scroll (le hero a déjà le grand logo) */
  body.is-home .hdr-logo{opacity:0;pointer-events:none}
  body.is-home .hdr.scrolled .hdr-logo{opacity:1;pointer-events:auto}
  /* Carte + galerie : logo toujours visible */
  body.is-carte .hdr-logo,
  body.galerie-page .hdr-logo{opacity:1;pointer-events:auto}
  /* Avant scroll (fond sombre) : logo inversé en blanc */
  body.is-carte .hdr:not(.scrolled) .hdr-logo img,
  body.galerie-page .hdr:not(.scrolled) .hdr-logo img{filter:brightness(0) invert(1);opacity:.85}
  /* Événements : logo visible dès le hero, version claire sur fond sombre */
  body.is-events .hdr-logo{opacity:1;pointer-events:auto}
  body.is-events .hdr:not(.scrolled) .hdr-logo img{filter:brightness(0) invert(1);opacity:.85}

  /* 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;
    text-transform:lowercase;
    transition:opacity .2s ease, color .2s ease;
  }
  .mobile-nav a:hover{opacity:1;color:var(--bordeaux)}
  .mobile-nav a.active{opacity:1}
  /* 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}

  /* zone de compression intermédiaire : label téléphone masqué, juste l'icône */
  @media (min-width:1001px) and (max-width:1200px){
    .btn-phone-label{display:none}
    .btn-phone{padding:11px 15px}
  }

  @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:rgba(245,239,224,.55);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:rgba(245,239,224,.35);opacity:1;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 .scroll{display:none} }
  .hero-bottom-fade{
    position:absolute;bottom:0;left:0;right:0;height:220px;
    background:linear-gradient(to bottom,transparent 0%,var(--ink) 100%);
    pointer-events:none;z-index:1;
  }

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

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

  .maison-photo{position:relative;aspect-ratio:5/6;overflow:hidden;background:var(--cream-2)}
  @media (min-width:601px){ .maison-photo{position:sticky;top:100px} }

  /* crossfade patron / patron-avec-chien-bizarre */
  .patron-flip{position:absolute;inset:0}
  .patron-flip-inner{position:relative;width:100%;height:100%}
  .patron-face{position:absolute;inset:0;transition:opacity .8s ease}
  .patron-face img{width:100%;height:100%;object-fit:cover;transform:scale(1.02);transition:transform 1.4s ease}
  .patron-verso{opacity:0}
  .maison-photo:hover .patron-recto{opacity:0}
  .maison-photo:hover .patron-verso{opacity:1}
  .maison-photo:hover .patron-face 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:rgba(26,20,16,.5);color:#F5EFE0;
    font-size:clamp(8px,.75vw,10px);letter-spacing:.28em;text-transform:uppercase;font-weight:600;
    padding:clamp(7px,.6vw,11px) clamp(12px,1.2vw,18px);
  }

  .maison-text{padding-right:20px}
  .maison-text .eyebrow{margin-bottom:14px;display:block}
  .maison-text h2{
    font-size:40px;
    font-weight:300;line-height:1.04;letter-spacing:-.005em;
    margin-bottom:20px;
  }
  .maison-text h2 em{font-style:italic;color:var(--bordeaux)}
  .maison-text .body{
    font-size:15px;line-height:1.6;color:var(--ink-soft);
    max-width:52ch;text-align:justify;
  }
  .maison-text .body p + p{margin-top:.65em}
  .maison-text .body .lead{
    font-family:var(--serif);font-style:italic;font-size:18px;line-height:1.4;
    color:var(--ink);font-weight:400;margin-bottom:.8em;
  }

  .maison-sig-block{
    margin-top:28px;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:80px 0 80px;background:var(--paper)}

  .carte-head{text-align:center;margin-bottom:36px}
  .carte-head .eyebrow{display:inline-block;margin-bottom:22px}
  .carte-head h2{
    font-family:var(--serif);font-weight:300;
    font-size:40px;line-height:1.04;letter-spacing:-.005em;
    margin:0 auto 14px;max-width:22ch;
  }
  .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 14px;
  }
  .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 36px;
    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:28px}
  .week-head .badge{
    display:inline-flex;align-items:center;gap:4px;
    color:var(--gold);font-size:10.5px;letter-spacing:0;text-transform:none;font-weight:400;
    margin-top:16px;margin-bottom:0;
  }
  .week-head .badge .badge-date{text-transform:uppercase;font-weight:500}
  .week-head .badge .pulse{
    width:7px;height:7px;border-radius:50%;background:var(--gold);margin-right:5px;
    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(36px,4vw,52px);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:18px;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:0}
  .section-titre{
    display:flex;align-items:center;gap:14px;margin:0 0 10px;
  }
  .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:5px 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:3px 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;
  }
  /* === prix du menu : centré, séparé === */
  .week-prix{
    text-align:center;
    margin-top:1rem;padding-top:1rem;
    border-top:1px solid rgba(184,146,63,.25);
  }
  /* === formules : bloc centré sous le prix === */
  .week-formules-info{
    margin-top:20px;
    margin-bottom:0;
    margin-left:auto;
    margin-right:auto;
    width:fit-content;
  }
  /* grille formules — CSS grid colonnes égales */
  .formule-grid{
    font-family:'Lora',serif;font-style:italic;
    font-size:9px;color:var(--ink);opacity:.75;
  }
  .fg-row{
    display:grid;
    grid-template-columns:repeat(4,1fr) auto;
    align-items:center;
  }
  .fg-cell{text-align:center;padding:2px 3px;}
  .fg-prix{
    font-family:'Lora',serif;font-style:italic;
    font-size:9px;color:var(--bordeaux);
    padding-left:8px;white-space:nowrap;text-align:right;
  }
  .fg-sep{height:0;border-top:1px solid rgba(184,146,63,.2);margin:2px 0;}
  /* note info */
  .formule-info-note{
    margin-top:10px;
    font-family:'Lora',serif;font-style:italic;
    font-size:9px;color:var(--ink);opacity:.55;text-align:center;
  }

  .week-note{
    font-family:var(--sans);font-size:13px;color:var(--ink-soft);
    text-align:center;margin:0 0 6px;letter-spacing:.02em;
  }
  /* === 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:'Lora',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{
    max-width:760px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;
  }

  .carte-mr{
    display:flex;align-items:center;gap:14px;
  }
  .carte-mr-plaque{
    width:80px;height:54px;flex-shrink:0;
    background:linear-gradient(135deg,#E8C97A 0%,#C9A86A 45%,#9C7E3F 100%);
    box-shadow:0 6px 14px -6px rgba(0,0,0,.2),inset 0 0 0 1px rgba(255,255,255,.25);
    position:relative;padding:4px;
    display:flex;align-items:center;justify-content:center;
  }
  .carte-mr-plaque img{width:100%;height:100%;object-fit:cover;mix-blend-mode:multiply;opacity:.95}
  .carte-mr-plaque .screw{position:absolute;width:4px;height:4px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff5cc,#9C7E3F 70%,#5b4720)}
  .carte-mr-plaque .screw.tl{top:3px;left:3px} .carte-mr-plaque .screw.tr{top:3px;right:3px}
  .carte-mr-plaque .screw.bl{bottom:3px;left:3px} .carte-mr-plaque .screw.br{bottom:3px;right:3px}
  .carte-mr-body{display:flex;flex-direction:column;gap:2px}
  .carte-mr-label{font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);font-weight:600}
  .carte-mr-body strong{font-family:var(--serif);font-style:italic;font-weight:400;font-size:18px;color:var(--ink)}
  .carte-mr-desc{font-size:12.5px;color:var(--ink-soft);line-height:1.5}
  @media (max-width:780px){
    .carte-foot{flex-direction:column-reverse;align-items:center;text-align:center}
    .carte-mr{flex-direction:column;text-align:center}
  }

  /* ---------------- 4. MAÃŽTRE RESTAURATEUR (compact, aprÃ¨s Carte) ---------------- */
  .mr{
    background:var(--cream);
    padding:80px 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:80px 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:40px;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:80px 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:80px 0;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:40px;
    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(--hairline); border-left:1px solid var(--hairline);
  }
  @media (max-width:680px){ .find .info-grid{grid-template-columns:1fr} }
  .find .cell{
    padding:24px 26px 80px;
    border-right:1px solid var(--hairline); border-bottom:1px solid var(--hairline);
    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 1.1fr 1fr;gap:40px}
  .ftr-col-pair{display:flex;gap:20px;align-items:flex-start}
  .ftr-col-pair .ftr-col{flex:1}
  @media (max-width:900px){
    .ftr-grid{grid-template-columns:1fr 1fr;gap:32px}
    .ftr-col-pair{grid-column:span 2;gap:32px}
    .ftr-bottom{flex-direction:column;align-items:center;justify-content:flex-start;gap:4px;text-align:center}
    .ftr-bottom-left{text-align:center;align-items:center}
    .ftr-credit{text-align:center}
  }
  @media (max-width:560px){
    .ftr-grid{grid-template-columns:1fr}
    .ftr-col-pair{flex-direction:column;gap:24px}
  }

  .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;
    margin-top:48px;padding-top:20px;border-top:1px solid rgba(232,222,200,.1);
    font-size:12.5px;color:rgba(232,222,200,.45);letter-spacing:.06em;font-family:var(--sans);
  }
  .ftr-bottom-left{display:flex;flex-direction:column;gap:10px}
  .ftr-bottom .legal{display:flex;gap:20px;flex-wrap:wrap}
  .ftr-bottom .legal a:hover{color:var(--gold-soft)}
  .ftr-credit{text-align:right}
  .ftr-names{display:inline-flex;align-items:center;gap:8px}
  .ftr-at{color:rgba(232,222,200,.35);line-height:1;margin-right:4px}
  .ftr-name,.ftr-wj{
    display:inline-block;text-decoration:none;
    font-family:var(--serif);font-size:19px;font-weight:500;letter-spacing:.04em;font-style:italic;
    padding:1px 6px;
    color:rgba(232,222,200,.6);background:transparent;
    transition:background .22s,color .22s,transform .25s cubic-bezier(.2,.8,.2,1);
  }
  .ftr-name:hover{background:#fff;color:#111}
  .ftr-wj:hover{background:#fff;color:#111;transform:scale(1.09)}

  @media(max-width:700px){
    .ftr{padding-bottom:90px}
  }

  /* ====================================================== */
  /* 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:80px 0;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 8px 36px rgba(26,20,16,.28),0 2px 8px rgba(26,20,16,.10);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 2.8s cubic-bezier(.2,.8,.2,1),opacity .5s ease}
  .poster:hover{transform:translateY(-6px);box-shadow:0 18px 60px rgba(26,20,16,.38),0 4px 14px rgba(26,20,16,.12)}
  .poster:hover img{transform:scale(1.08)}
  .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:40px 0 0;border-top:1px solid var(--hairline)}
  .rail-sec:not(.past-sec){background:var(--cream-2)}
  .rail-sec.past-sec{}
  .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 0;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 0}}
  .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:22px}
  .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}
  /* Sections rail (À venir + Archives) — Option B : rail contenu, padding interne, fondu */
  .ev-page-content .rail-sec .wrap{padding:0 28px}
  .rail-sec .rail-scroll{margin:0;padding:12px 28px 88px;mask-image:linear-gradient(to right,transparent 0,#000 22px,#000 calc(100% - 22px),transparent 100%);-webkit-mask-image:linear-gradient(to right,transparent 0,#000 22px,#000 calc(100% - 22px),transparent 100%)}
  @media (max-width:720px){.ev-page-content .rail-sec .wrap{padding:0 14px}.rail-sec .rail-scroll{margin:0;padding:6px 10px 72px}}

  .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}}

  /* ── EVENTS : TITRE VEDETTE ── */
  .ev-vedette-head{ margin-bottom:42px }
  .ev-vedette-head h2{
    font-family:var(--serif);font-weight:300;
    font-size:clamp(34px,4vw,52px);line-height:1.04;letter-spacing:-.005em;
    margin:0;
  }
  .ev-vedette-head h2 em{ font-style:italic;color:var(--bordeaux) }

  /* ── EVENTS : PAGE LAYOUT AVEC TIMELINE ── */
  .ev-page-layout{
    display:grid;
    grid-template-columns:180px 1fr;
    max-width:var(--maxw);
    margin:0 auto;
    padding:0 40px;
    gap:0;
    align-items:start;
  }
  .ev-page-content{ min-width:0 }
  .ev-page-content .wrap{ max-width:none; margin:0; padding:0 }

  @media(max-width:1100px){
    .ev-page-layout{ grid-template-columns:1fr }
    .ev-page-layout .scroll-timeline{ display:none }
  }
  @media(max-width:720px){
    .ev-page-layout{ padding:0 22px }
  }

  /* ---------------- 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(20px);transition:opacity .7s cubic-bezier(.16,.8,.2,1), transform .7s cubic-bezier(.16,.8,.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.6s cubic-bezier(.16,.8,.2,1) forwards;
  }
  /* démarre après le page-in (1.4s) pour séquencer proprement */
  .hero .eyebrow{animation-delay:1.1s}
  .hero .display{animation-delay:1.3s}
  .hero .hero-baseline{animation-delay:1.55s}
  .hero .hero-cta{animation-delay:1.8s}
  @keyframes rise{to{opacity:1;transform:none}}

  /* ====== PAGE HERO (pages internes) ====== */
  .page-hero{
    margin-top:60px;padding:48px 0 32px;
    background:var(--cream);
    border-bottom:1px solid var(--hairline-2);
  }
  .page-hero h1{
    font-size:clamp(28px,5vw,42px);
    line-height:1.1;
    margin:12px 0 0;
    letter-spacing:-.008em;
  }
  .page-hero h1 em{
    font-style:italic;
    color:var(--bordeaux);
  }
  .page-hero .eyebrow{
    display:block;
    margin-bottom:8px;
  }
  @media (max-width:720px){
    .page-hero{
      margin-top:54px;padding:32px 0 24px;
    }
    .page-hero h1{font-size:28px}
  }

  /* ====== PAGE CARTE — HERO PHOTO ====== */
  .carte-hero{
    position:relative;
    height:55vh;min-height:350px;
    display:flex;flex-direction:column;align-items:center;justify-content:flex-start;
    padding-top:80px;
    text-align:center;overflow:hidden;
  }
  .carte-hero-bg{
    position:absolute;inset:0;
    background-size:cover;background-position:center 40%;
    transform:scale(1.06);
    animation:ch-zoom 12s ease forwards;
  }
  @keyframes ch-zoom{to{transform:scale(1)}}
  .carte-hero-overlay{
    position:absolute;inset:0;
    background:linear-gradient(to bottom,
      rgba(18,12,8,.45) 0%,
      rgba(14,9,5,.62) 60%,
      rgba(20,13,8,.55) 100%);
  }
  .carte-hero-inner{
    position:relative;z-index:1;
    display:flex;flex-direction:column;align-items:center;
    padding:44px 40px 0;
    opacity:1;transform:none;
  }
  .ch-title{
    font-family:var(--serif);font-weight:300;
    font-size:clamp(44px,6vw,76px);line-height:1.0;letter-spacing:-.01em;
    color:#F5EFE0;margin:0 0 22px;
  }
  .ch-title em{font-style:italic;color:var(--gold)}
  .ch-title .amp{font-family:'Crimson Pro',serif;font-style:italic}
  .ch-ornament{
    display:flex;align-items:center;justify-content:center;gap:18px;
    color:rgba(245,239,224,.45);
    margin-bottom:28px;
  }
  .cho-line{height:1px;width:70px;background:currentColor;}
  .cho-diamond{font-family:var(--serif);font-size:13px;}
  .ch-notice{
    font-family:var(--sans);font-size:11px;letter-spacing:.06em;
    color:rgba(245,239,224,.5);text-align:center;
    max-width:380px;line-height:1.6;margin:0 auto 28px;
    font-style:italic;
  }
  .ch-scroll{
    display:inline-flex;flex-direction:column;align-items:center;gap:5px;
    color:rgba(245,239,224,.55);font-family:var(--sans);
    font-size:10px;letter-spacing:.16em;text-transform:uppercase;
    animation:ch-bob 3s ease-in-out 4.8s infinite;
  }
  .ch-scroll-arrow{font-size:14px;line-height:1}
  .ch-scroll-line{display:inline-block;width:1px;height:38px;background:rgba(245,239,224,.35);position:relative;overflow:hidden}
  .ch-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 ch-bob{0%,100%{transform:translateY(0)} 50%{transform:translateY(5px)}}
  @media(max-width:780px){.ch-scroll{display:none}}
  @media(max-width:720px){
    .carte-hero{height:47vh;min-height:267px;padding-top:64px}
    .ch-title{font-size:42px}
  }

  /* ====== PAGE CARTE — LAYOUT AVEC TIMELINE ====== */
  .carte-page-layout{
    display:grid;
    grid-template-columns:180px 1fr 180px;
    max-width:var(--maxw);
    margin:0 auto;
    padding:0 40px;
    gap:0;
    align-items:start;
  }

  /* ====== TIMELINE LATÉRALE ====== */
  .scroll-timeline{
    position:sticky;
    top:120px;
    padding:64px 36px 64px 0;
    height:fit-content;
  }
  .tl-track{
    display:flex;flex-direction:column;align-items:flex-start;
  }
  .tl-item{
    display:flex;align-items:center;gap:14px;
    user-select:none;
    transition:opacity .3s ease, transform .3s ease;
  }
  .tl-item:not(.active){ opacity:.22 }
  .tl-item.active{
    opacity:1;
  }
  .tl-dot{
    width:10px;height:10px;border-radius:50%;flex-shrink:0;
    border:1.5px solid var(--gold);background:transparent;
    transition:background .3s ease, transform .3s ease;
  }
  .tl-item.active .tl-dot{
    background:var(--gold);transform:scale(1.35);
  }
  .tl-label{
    font-family:var(--serif);font-size:19px;line-height:1.3;
    color:var(--ink);white-space:nowrap;
    text-transform:lowercase;
    transition:transform .35s ease;
  }
  .tl-item.active .tl-label{ font-weight:500; transform:translateX(5px) scale(1.08) }
  .tl-label em{font-style:italic;color:var(--ink)}
  .tl-connector{
    width:1px;height:48px;
    background:rgba(184,146,63,.22);
    margin-left:4.5px;flex-shrink:0;
  }

  /* ====== SECTIONS DE CONTENU ====== */
  .carte-page-content{
    padding:64px 0 80px;
    min-width:0;
  }
  /* Supprimer le margin-bottom du week-menu sur la page carte */
  .carte-page-content .week-menu{ margin-bottom:0 }
  /* Sections carte : même largeur que le week-menu */
  .carte-page-content .menu-section{
    max-width:760px;margin-left:auto;margin-right:auto;
    transition:opacity .5s ease, transform .5s ease, box-shadow .5s ease, background .5s ease;
  }
  /* Grossir le titre de section sur la page carte */
  .carte-page-content .ms-head h4{ font-size:34px }
  .carte-page-content .ms-head .ms-line{ background:rgba(184,146,63,.3) }

  /* États actif / estompé (base commune) */
  .menu-section{ transition:opacity .55s ease, transform .55s ease, box-shadow .55s ease, filter .55s ease }

  /* ── PROFONDEUR + BLUR + LUMINOSITÉ ── */
  .anim-profondeur-blur{
    transform:scale(.97);transform-origin:top center;
    filter:blur(0.4px) brightness(.72);
  }
  .anim-profondeur-blur.ms-active{
    transform:scale(1.015);
    filter:blur(0) brightness(1);
  }
  .anim-profondeur-blur.ms-dimmed{
    transform:scale(.97);
    filter:blur(0.4px) brightness(.72);
  }

  /* Zoom du titre de section quand active */
  .menu-section .ms-head h4{
    transition:transform .45s ease;
    transform-origin:left center;
  }
  .menu-section.ms-active .ms-head h4{ transform:scale(1.06) }

  /* Zoom H2 sur les sections événements quand active */
  .ev-vedette-head h2,
  .rail-hd h2{
    transition:transform .45s ease;
    transform-origin:left center;
  }
  .tl-sec-active .ev-vedette-head h2,
  .tl-sec-active .rail-hd h2{ transform:scale(1.05) }


  .cpc-section{
    margin-bottom:80px;
  }
  .cpc-section + .cpc-section{
    border-top:1px solid var(--hairline-2);
    padding-top:80px;
  }
  /* "Notre Carte" centré avec ornement */
  .cpc-section-intro{
    max-width:760px;margin:0 auto 40px;text-align:center;
  }
  .cpc-section-intro h2{
    font-family:var(--serif);font-weight:300;
    font-size:clamp(32px,4vw,48px);line-height:1.05;letter-spacing:-.008em;
    color:var(--ink);margin:0 0 20px;
  }
  .cpc-section-intro h2 em{font-style:italic;color:var(--bordeaux)}
  .cpc-ornament{
    display:flex;align-items:center;justify-content:center;gap:16px;
    color:var(--gold);
  }
  .cpco-line{height:1px;width:60px;background:currentColor;opacity:.4}
  .cpco-diamond{font-family:var(--serif);font-size:13px;opacity:.7}

  /* Masquer la timeline sur les écrans petits */
  @media(max-width:1100px){
    .carte-page-layout{
      grid-template-columns:1fr;
    }
    .scroll-timeline{display:none}
    .carte-page-content{padding:48px 0 64px}
  }
  @media(max-width:720px){
    .carte-page-layout{padding:0 22px}
    .cpc-section + .cpc-section{margin-top:48px;padding-top:48px}
  }


  /* ============================================================
     GALERIE — STRIPS D'ACCUEIL + PAGE GALERIE
     ============================================================ */

  @keyframes marquee-left  { from{transform:translateX(0)} to{transform:translateX(-50%)} }
  @keyframes marquee-right { from{transform:translateX(-50%)} to{transform:translateX(0)} }

  /* ========================
     STRIP A — Ruban Cinéma
     ======================== */
  .strip-a{background:var(--ink);padding:0 0 52px;overflow:hidden;position:relative}
  .strip-a-rows{display:flex;flex-direction:column}
  .strip-a-row{display:flex;width:max-content}
  .strip-a-row.row-1{will-change:transform}
  .strip-a-item{
    flex-shrink:0;width:420px;height:280px;margin-right:20px;
    position:relative;outline:1.5px solid rgba(184,146,63,.25);
    overflow:hidden;cursor:pointer;transition:outline-color .25s;
  }
  .strip-a-item.portrait{width:187px}
  .strip-a-item:hover{outline-color:var(--gold)}
  .strip-a-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
  .strip-a-item:hover img{transform:scale(1.06)}
  .strip-a-tag{display:none}
  @media(max-width:720px){.strip-a-item{width:300px;height:200px}.strip-a-item.portrait{width:133px}}

  /* ==========================
     STRIP B — Défilé Polaroïds
     ========================== */
  .strip-b{
    background:var(--cream);padding:60px 0 52px;overflow:hidden;
    border-top:1px solid var(--hairline-2);border-bottom:1px solid var(--hairline-2);
  }
  .strip-b-eyebrow{
    text-align:center;margin-bottom:32px;
    display:flex;align-items:center;justify-content:center;gap:14px;
  }
  .strip-b-eyebrow::before,.strip-b-eyebrow::after{
    content:'';height:1px;width:36px;background:var(--gold);opacity:.35;
  }
  .strip-b-label{font-family:var(--sans);font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold)}
  .strip-b-track{display:flex;width:max-content;align-items:flex-end;animation:marquee-left 52s linear infinite}
  .strip-b-track:hover{animation-play-state:paused}
  .strip-b-item{
    flex-shrink:0;width:176px;background:#fff;padding:9px 9px 34px;margin-right:16px;
    box-shadow:0 4px 18px rgba(0,0,0,.11),0 1px 4px rgba(0,0,0,.07);
    cursor:pointer;transition:transform .32s ease,box-shadow .32s ease;
  }
  .strip-b-item:nth-child(7n+1){transform:rotate(-3.5deg)}
  .strip-b-item:nth-child(7n+2){transform:rotate(2.2deg)}
  .strip-b-item:nth-child(7n+3){transform:rotate(-1.4deg)}
  .strip-b-item:nth-child(7n+4){transform:rotate(3.1deg)}
  .strip-b-item:nth-child(7n+5){transform:rotate(-2.7deg)}
  .strip-b-item:nth-child(7n+6){transform:rotate(1.6deg)}
  .strip-b-item:nth-child(7n){transform:rotate(-4.0deg)}
  .strip-b-item:hover{transform:rotate(0deg) translateY(-10px) !important;box-shadow:0 14px 40px rgba(0,0,0,.18)}
  .strip-b-photo{width:100%;aspect-ratio:3/4;overflow:hidden}
  .strip-b-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}
  .strip-b-item:hover .strip-b-photo img{transform:scale(1.04)}
  .strip-b-caption{
    font-family:'Caveat',cursive;font-size:14px;color:var(--ink-soft);
    text-align:center;margin-top:9px;line-height:1.3;padding:0 3px;
  }
  .strip-b-footer{text-align:center;margin-top:26px}
  .strip-b-link{
    font-family:var(--serif);font-style:italic;font-size:18px;
    color:var(--bordeaux);letter-spacing:.02em;
    border-bottom:1px solid rgba(107,30,34,.22);padding-bottom:2px;transition:border-color .2s;
  }
  .strip-b-link:hover{border-color:var(--bordeaux)}
  @media(max-width:720px){.strip-b-item{width:128px}}

  /* ===========================
     STRIP C — Strip Éditorial
     =========================== */
  .strip-c{background:var(--paper);padding:60px 0;overflow:hidden}
  .strip-c-header{
    max-width:var(--maxw);margin:0 auto 24px;padding:0 40px;
    display:flex;align-items:baseline;justify-content:space-between;
  }
  .strip-c-title{
    font-family:var(--serif);font-size:clamp(22px,3vw,34px);
    font-weight:300;letter-spacing:-.005em;color:var(--ink);
  }
  .strip-c-title em{font-style:italic;color:var(--bordeaux)}
  .strip-c-link{
    font-family:var(--serif);font-style:italic;font-size:16px;
    color:var(--gold);letter-spacing:.02em;white-space:nowrap;
    border-bottom:1px solid rgba(184,146,63,.3);padding-bottom:2px;transition:border-color .2s;
  }
  .strip-c-link:hover{border-color:var(--gold)}
  .strip-c-area{position:relative}
  .strip-c-wrapper{overflow-x:scroll;scrollbar-width:none}
  .strip-c-wrapper::-webkit-scrollbar{display:none}
  .strip-c-track{
    display:flex;width:max-content;gap:16px;align-items:stretch;
    cursor:grab;will-change:transform;
  }
  .strip-c-track.dragging{cursor:grabbing}
  .strip-c-arrow{
    position:absolute;top:50%;transform:translateY(-50%);
    width:44px;height:80px;z-index:10;
    background:rgba(251,247,236,.78);
    -webkit-backdrop-filter:blur(8px) saturate(140%);
    backdrop-filter:blur(8px) saturate(140%);
    border:1px solid rgba(26,20,16,.06);
    cursor:pointer;display:flex;align-items:center;justify-content:center;
    opacity:.4;transition:opacity .25s ease,background .25s ease;padding:0;
  }
  .strip-c-arrow:hover{opacity:.95;background:rgba(251,247,236,.97)}
  .strip-c-arrow:disabled{opacity:.12;cursor:default;pointer-events:none}
  .strip-c-arrow svg{width:18px;height:18px;stroke:var(--ink);stroke-width:1.3;fill:none;stroke-linecap:round;stroke-linejoin:round}
  .strip-c-arrow-prev{left:0;border-radius:0 5px 5px 0}
  .strip-c-arrow-next{right:0;border-radius:5px 0 0 5px}
  .strip-c-item{flex-shrink:0;height:270px;position:relative;overflow:hidden;cursor:pointer}
  .strip-c-item.wide{width:340px}
  .strip-c-item.med{width:220px}
  .strip-c-item.narrow{width:175px}
  .strip-c-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
  .strip-c-overlay{
    position:absolute;inset:0;
    background:linear-gradient(to top,rgba(26,20,16,.75) 0%,transparent 55%);
    opacity:0;transition:opacity .3s ease;
    display:flex;flex-direction:column;justify-content:flex-end;padding:14px 13px;
  }
  .strip-c-item:hover .strip-c-overlay{opacity:1}
  .strip-c-item:hover img{transform:scale(1.05)}
  .strip-c-photo-title{font-family:var(--serif);font-style:italic;font-size:15px;color:var(--cream);margin:0 0 3px}
  .strip-c-photo-tag{display:none}
  @media(max-width:720px){
    .strip-c-header{padding:0 22px}
    .strip-c-item{height:195px}
    .strip-c-item.wide{width:250px}.strip-c-item.med{width:165px}.strip-c-item.narrow{width:134px}
  }

  /* ========================
     GALERIE — HEADER SOMBRE (titre + filtres + grid)
     ======================== */
  .galerie-hdr{background:#0e0c09;padding-top:80px}
  .galerie-hdr-title{
    display:flex;flex-direction:column;align-items:center;
    text-align:center;padding:44px 40px 0;
  }
  .galerie-hdr .galerie-filters{padding:28px 40px 36px;margin-bottom:0}
  /* Filtres galerie-b sur fond sombre */
  .galerie-b-page .galerie-hdr .gf-btn{color:rgba(245,239,224,.45);border-color:rgba(245,239,224,.18)}
  .galerie-b-page .galerie-hdr .gf-btn:hover{color:var(--gold);border-color:var(--gold)}
  .galerie-b-page .galerie-hdr .gf-btn.active{background:var(--gold);color:#0e0c09;border-color:var(--gold)}
  @media(max-width:560px){.galerie-hdr{padding-top:64px}.galerie-hdr-title{padding:32px 22px 0}}

  /* ========================
     GALERIE PAGE — COMMUN
     ======================== */
  .galerie-page{min-height:100vh}
  .galerie-hero{padding:136px 40px 52px;text-align:center;position:relative}
  .galerie-hero .eyebrow{display:block;margin-bottom:14px}
  .galerie-hero h1{
    font-family:var(--serif);font-size:clamp(40px,6vw,70px);
    font-weight:300;letter-spacing:-.01em;line-height:1;margin:0 0 16px;
  }
  .galerie-hero h1 em{font-style:italic}
  .galerie-hero-sub{font-family:var(--sans);font-size:13px;letter-spacing:.08em;opacity:.55}
  .galerie-filters{
    display:flex;align-items:center;justify-content:center;
    flex-wrap:wrap;gap:9px;padding:0 40px;margin-bottom:44px;
  }
  .gf-btn{
    font-family:var(--sans);font-size:10px;font-weight:500;
    letter-spacing:.22em;text-transform:uppercase;
    padding:7px 18px;border:1px solid currentColor;border-radius:1px;
    cursor:pointer;transition:all .2s ease;background:transparent;
  }
  @media(max-width:560px){.galerie-filters{padding:0 18px}.galerie-hero{padding:120px 22px 44px}}

  /* ========================
     GALERIE A — Collage Penché
     ======================== */
  .galerie-a-page{background:#0e0c09;color:var(--cream)}
  .galerie-a-page .galerie-hero{background:#0e0c09}
  .galerie-a-page .galerie-hero h1{color:var(--cream)}
  .galerie-a-page .galerie-hero-sub{color:var(--cream)}
  .galerie-a-page .gf-btn{color:rgba(245,239,224,.45);border-color:rgba(245,239,224,.18)}
  .galerie-a-page .gf-btn:hover{color:var(--gold);border-color:var(--gold)}
  .galerie-a-page .gf-btn.active{background:var(--gold);color:#0e0c09;border-color:var(--gold)}
  .galerie-a-grid{position:relative;margin:0 36px}
  .galerie-a-item{
    position:absolute;box-sizing:border-box;
    overflow:hidden;cursor:pointer;
    transition:box-shadow .35s ease;
  }
  .galerie-a-item:hover{box-shadow:0 18px 52px rgba(0,0,0,.65);z-index:2}
  .galerie-a-item img{width:100%;height:auto;display:block;transition:transform .45s ease,filter .3s ease}
  .galerie-a-item:hover img{transform:scale(1.04);filter:brightness(1.06)}
  .galerie-a-caption{display:none}
  .galerie-a-cap-title{font-family:'Caveat',cursive;font-size:15px;color:var(--cream);line-height:1.2}
  .galerie-a-cap-tag{
    font-family:var(--sans);font-size:9px;letter-spacing:.2em;
    text-transform:uppercase;color:var(--gold);margin-top:3px;display:block;
  }
  .galerie-a-item.hidden{display:none}
  @media(max-width:720px){.galerie-a-grid{margin:0 14px}}
  @media(max-width:440px){.galerie-a-grid{margin:0 8px}}

  /* ========================
     GALERIE B — Moodboard Clair
     ======================== */
  .galerie-b-page{background:var(--cream);color:var(--ink)}
  .galerie-b-page .galerie-hero{background:var(--cream)}
  .galerie-b-page .gf-btn{color:var(--ink-soft);border-color:var(--hairline)}
  .galerie-b-page .gf-btn:hover{color:var(--bordeaux);border-color:var(--bordeaux)}
  .galerie-b-page .gf-btn.active{background:var(--bordeaux);color:#fff;border-color:var(--bordeaux)}
  .galerie-b-grid{columns:3 250px;column-gap:16px;padding:0 36px}
  .galerie-b-item{
    break-inside:avoid;margin-bottom:16px;
    position:relative;overflow:hidden;cursor:pointer;
    background:#fff;box-shadow:0 2px 10px rgba(26,20,16,.08);
    transition:box-shadow .3s ease;
  }
  .galerie-b-item:nth-child(4n+1){margin-top:-20px}
  .galerie-b-item:nth-child(4n+2){margin-top:14px}
  .galerie-b-item:nth-child(4n+3){margin-top:-8px}
  .galerie-b-item:nth-child(4n+4){margin-top:22px}
  .galerie-b-item:hover{box-shadow:0 10px 34px rgba(26,20,16,.15)}
  .galerie-b-item img{width:100%;display:block;transition:transform .45s ease}
  .galerie-b-item:hover img{transform:scale(1.07)}
  .galerie-b-item-bar{display:none}
  .galerie-b-item-title{font-family:'Caveat',cursive;font-size:14px;color:var(--ink-soft)}
  .galerie-b-item-tags{display:flex;gap:4px;margin-top:4px;flex-wrap:wrap}
  .galerie-b-item-tag{
    font-family:var(--sans);font-size:8px;letter-spacing:.15em;text-transform:uppercase;
    color:var(--bordeaux);background:rgba(107,30,34,.07);padding:2px 7px;border-radius:1px;
  }
  .galerie-b-item.hidden{display:none}
  @media(max-width:720px){.galerie-b-grid{columns:2 140px;padding:0 14px}}
  @media(max-width:440px){.galerie-b-grid{columns:1}}

  /* ========================
     LIGHTBOX GALERIE
     ======================== */
  .gl-lb{
    position:fixed;inset:0;background:rgba(14,12,9,.96);
    z-index:1000;display:flex;flex-direction:column;
    opacity:0;pointer-events:none;transition:opacity .3s ease;
  }
  .gl-lb.open{opacity:1;pointer-events:all}

  /* Zone image — flex:1, occupe tout l'espace au-dessus du footer */
  .gl-lb-inner{
    flex:1;min-height:0;position:relative;
    display:flex;align-items:center;justify-content:center;
    padding:16px 72px;cursor:default;
  }
  .gl-lb-img{max-width:100%;max-height:100%;object-fit:contain;display:block}

  /* Footer — hauteur fixe, position constante quelle que soit la photo */
  .gl-lb-footer{
    flex-shrink:0;
    display:flex;flex-direction:column;align-items:center;
    gap:14px;padding:12px 20px 22px;
  }
  .gl-lb-cap{
    display:flex;flex-direction:column;align-items:center;gap:5px;text-align:center;
  }
  .gl-lb-cap-title{
    font-family:var(--serif);font-size:19px;font-style:italic;font-weight:300;
    color:var(--cream);opacity:.85;letter-spacing:.02em;
  }
  .gl-lb-cap-tags{
    font-family:var(--sans);font-size:9px;letter-spacing:.2em;text-transform:uppercase;
    color:var(--gold);opacity:.75;
  }
  .gl-lb-close{
    width:48px;height:48px;display:flex;align-items:center;justify-content:center;
    background:rgba(14,12,9,.55);border:1px solid rgba(184,146,63,.22);border-radius:50%;
    color:var(--cream);cursor:pointer;opacity:.6;flex-shrink:0;
    transition:opacity .2s,background .2s,border-color .2s;
    -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
  }
  .gl-lb-close svg{width:18px;height:18px;pointer-events:none}
  .gl-lb-close:hover{opacity:1;background:rgba(14,12,9,.82);border-color:var(--gold)}

  /* Flèches — position:absolute dans .gl-lb-inner, centrées sur la zone image */
  .gl-lb-arrow{
    position:absolute;top:50%;transform:translateY(-50%);
    width:48px;height:48px;display:flex;align-items:center;justify-content:center;
    background:rgba(14,12,9,.55);border:1px solid rgba(184,146,63,.22);border-radius:50%;
    color:var(--cream);cursor:pointer;opacity:.6;
    transition:opacity .2s,background .2s,border-color .2s;
    -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
    z-index:10;
  }
  .gl-lb-arrow:hover{opacity:1;background:rgba(14,12,9,.82);border-color:var(--gold)}
  .gl-lb-arrow svg{width:22px;height:22px;pointer-events:none}
  .gl-lb-arrow-prev{left:12px}
  .gl-lb-arrow-next{right:12px}

  @media(max-width:600px){
    .gl-lb-inner{padding:10px 54px}
    .gl-lb-arrow{width:40px;height:40px}
    .gl-lb-arrow svg{width:18px;height:18px}
    .gl-lb-arrow-prev{left:6px}
    .gl-lb-arrow-next{right:6px}
    .gl-lb-close{width:40px;height:40px}
    .gl-lb-close svg{width:16px;height:16px}
    .gl-lb-footer{gap:10px;padding:10px 16px 18px}
  }

