/* =====================================================================
 * PREVIEW EN v2 — Charte "Ouverture" appliquée aux pages EN (preview)
 * -----------------------------------------------------------------------
 * Mutualisé par : preview-en-home, preview-en-private-chef,
 *                 preview-en-wine-pairing, preview-en-michelin.
 * Reprend la grammaire de newhome/styles.css (variables, hero, mib,
 * concept, plating, chefs, lieux, table, club, footer, mega, menu)
 * et ajoute des sections propres à ces pages (steps, occ, philo,
 * cellar, courses, exclusivity). Chrome EN (nav+mega+menu+footer).
 * Aucune modification de styles.css : tout vit ici, en préfixe .en-a-.
 * ===================================================================== */

/* =====================================================================
 * Reset minimal (identique à newhome/styles.css)
 * ===================================================================== */
.en-a *,
.en-a *::before,
.en-a *::after { box-sizing: border-box; }
.en-a img,
.en-a svg { max-width: 100%; display: block; }

/* =====================================================================
 * Variables charte Léonie Ory — ivoire / champagne / rouge / noir
 * (miroir de newhome/styles.css :root, préfixées .en-a)
 * ===================================================================== */
.en-a {
  --creme: #FAF5EC;
  --creme-2: #F4EEE1;
  --ivoire: #F8F2E5;
  --champagne: #EEDDBE;
  --champagne-2: #E6D2A6;
  --or: #C5A572;
  --or-2: #B08A4F;
  --rouge: #8B2D2D;
  --rouge-2: #6D2020;
  --noir: #1A1310;
  --noir-2: #2A1F19;
  --charbon: #4A3B2F;
  --texte: #1A1310;
  --texte-doux: #4A3B2F;
  --texte-clair: #7B6857;
  --border: #E4D9C4;
  --border-doux: #EFE6D2;
  --scrim: rgba(26,19,16,.55);
  --scrim-doux: rgba(26,19,16,.35);

  --font-serif: 'Playfair Display', 'EB Garamond', Georgia, serif;
  --font-serif-b: 'EB Garamond', 'Playfair Display', Georgia, serif;
  --font-sans: 'Manrope', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

  --sp-xs: 8px;
  --sp-sm: 14px;
  --sp-md: 24px;
  --sp-lg: 40px;
  --sp-xl: 64px;
  --sp-2xl: 96px;
  --sp-3xl: 140px;

  --nav-h: 78px;
  --nav-h-scr: 62px;

  color: var(--texte);
  background: var(--creme);
  font-family: var(--font-sans);
  font-size: 16px;
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* =====================================================================
 * BODY (preview scope)
 * ===================================================================== */
body.ouverture-en-preview {
  margin: 0;
  padding: 0;
  background: var(--creme, #FAF5EC);
  color: var(--noir, #1A1310);
  font-family: 'Manrope', -apple-system, BlinkMacSystemFont, sans-serif;
  -webkit-font-smoothing: antialiased;
}

/* =====================================================================
 * Reveal (identique à styles.css)
 * ===================================================================== */
.en-a .reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity .9s ease, transform .9s ease;
  transition-delay: var(--d, 0s);
}
.en-a .reveal.is-in {
  opacity: 1;
  transform: none;
}
@media (prefers-reduced-motion: reduce) {
  .en-a .reveal { opacity: 1; transform: none; transition: none; }
}

/* Effets fond commun */
.en-a .grain {
  position: absolute; inset: 0; pointer-events: none;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='120'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .1 0 0 0 0 .08 0 0 0 0 .06 0 0 0 .18 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
  opacity: .08; mix-blend-mode: multiply; z-index: 1;
}

/* =====================================================================
 * NAV EN (chrome partagé Ouverture, libellés EN)
 * ===================================================================== */
.en-a .nav {
  position: fixed; top: 0; left: 0; right: 0; z-index: 100;
  height: var(--nav-h);
  padding: 0 var(--sp-lg);
  display: flex; align-items: center; justify-content: space-between;
  background: rgba(250, 245, 236, .92);
  backdrop-filter: blur(14px) saturate(1.05);
  -webkit-backdrop-filter: blur(14px) saturate(1.05);
  border-bottom: 1px solid rgba(228, 217, 196, .5);
  transition: background .3s ease, border-color .3s ease, height .3s ease;
}
.en-a .nav.is-scr {
  height: var(--nav-h-scr);
  background: rgba(250, 245, 236, .96);
  box-shadow: 0 4px 20px rgba(26, 19, 16, .06);
}
.en-a .nav__brand { display: flex; align-items: center; text-decoration: none; }
.en-a .nav__logo { height: 40px; width: auto; transition: height .3s ease; }
.en-a .nav.is-scr .nav__logo { height: 34px; }

.en-a .nav__links {
  display: flex; align-items: center; gap: 34px;
  font-family: var(--font-sans);
  font-size: 13.5px; font-weight: 500;
  letter-spacing: .02em;
}
.en-a .nav__links a { color: var(--texte); text-decoration: none; transition: color .2s ease; white-space: nowrap; }
.en-a .nav__links a:hover { color: var(--rouge); }
.en-a .nav__item { position: relative; }
.en-a .nav__mega-trigger {
  display: inline-flex; align-items: center; gap: 6px;
  background: none; border: 0; padding: 0;
  color: var(--texte); font: inherit; cursor: pointer;
  text-decoration: none;
}
.en-a .nav__mega-trigger:hover { color: var(--rouge); }
.en-a .nav__chev { display: inline-flex; transition: transform .3s ease; }
.en-a .nav__item.is-open .nav__chev { transform: rotate(180deg); }

.en-a .nav__actions { display: flex; align-items: center; gap: 16px; }

/* Bouton CTA nav (bordeaux mat) */
.en-a .btn {
  display: inline-flex; align-items: center; justify-content: center;
  padding: 14px 28px;
  font-family: var(--font-sans); font-size: 13px; font-weight: 600;
  letter-spacing: .12em; text-transform: uppercase;
  text-decoration: none; border: 0; cursor: pointer;
  transition: all .3s ease;
  border-radius: 2px;
}
.en-a .btn--sig { background: var(--rouge); color: #fff; }
.en-a .btn--sig:hover { background: var(--rouge-2); transform: translateY(-1px); box-shadow: 0 8px 22px rgba(139, 45, 45, .32); }
.en-a .btn--sm { padding: 10px 20px; font-size: 12px; letter-spacing: .1em; }
.en-a .btn--gold { background: var(--or); color: var(--noir); }
.en-a .btn--gold:hover { background: var(--or-2); color: #fff; transform: translateY(-1px); }

.en-a .link-arrow {
  display: inline-flex; align-items: center; gap: 8px;
  color: var(--texte); text-decoration: none;
  font-size: 13px; letter-spacing: .12em; text-transform: uppercase;
}
.en-a .link-arrow--light { color: rgba(255,255,255,.9); }
.en-a .link-arrow:hover { color: var(--rouge); }
.en-a .link-arrow--light:hover { color: #fff; }
.en-a .link-arrow::after {
  content: "→"; transition: transform .3s ease;
}
.en-a .link-arrow:hover::after { transform: translateX(4px); }

.en-a .nav__burger {
  display: none; background: none; border: 0; padding: 8px; cursor: pointer;
  width: 34px; height: 34px;
  flex-direction: column; justify-content: center; gap: 5px;
}
.en-a .nav__burger span {
  display: block; width: 20px; height: 1.5px;
  background: var(--texte); transition: transform .3s ease, opacity .3s ease;
}

/* MEGA-DROPDOWN EN — ancré à la nav */
.en-a .mega {
  position: absolute;
  top: var(--nav-h);
  left: 0; right: 0;
  background: var(--ivoire);
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  box-shadow: 0 24px 40px -20px rgba(26,19,16,.18);
  opacity: 0; visibility: hidden;
  transform: translateY(-8px);
  transition: opacity .3s ease, transform .3s ease, visibility 0s linear .3s;
  z-index: 99;
}
.en-a .nav.is-scr .mega { top: var(--nav-h-scr); }
.en-a .mega.is-open {
  opacity: 1; visibility: visible;
  transform: translateY(0);
  transition-delay: 0s;
}
.en-a .mega__inner {
  max-width: 1240px; margin: 0 auto;
  padding: var(--sp-xl) var(--sp-lg);
  display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--sp-xl);
}
.en-a .mega__title {
  font-family: var(--font-serif); font-size: 13px;
  text-transform: uppercase; letter-spacing: .2em;
  color: var(--rouge); font-weight: 600;
  margin: 0 0 var(--sp-md); padding-bottom: 12px;
  border-bottom: 1px solid var(--border);
}
.en-a .mega__list { list-style: none; margin: 0; padding: 0; }
.en-a .mega__list li { margin-bottom: 12px; }
.en-a .mega__list a {
  color: var(--texte); text-decoration: none;
  font-size: 14px; letter-spacing: .01em;
  transition: color .2s ease, padding-left .3s ease;
  display: inline-block;
}
.en-a .mega__list a:hover { color: var(--rouge); padding-left: 4px; }
.en-a .mega__cta {
  display: inline-flex; align-items: center; gap: 8px;
  margin-top: var(--sp-md);
  color: var(--rouge); text-decoration: none;
  font-size: 12px; font-weight: 600;
  text-transform: uppercase; letter-spacing: .16em;
  padding-top: var(--sp-sm);
  border-top: 1px solid var(--border);
}
.en-a .mega__cta:hover span { transform: translateX(3px); }
.en-a .mega__cta span { display: inline-block; transition: transform .3s ease; }

/* MENU mobile */
.en-a .menu {
  position: fixed; inset: 0; z-index: 200;
  background: var(--noir);
  padding: 100px var(--sp-lg) var(--sp-lg);
  opacity: 0; visibility: hidden;
  transition: opacity .35s ease, visibility 0s linear .35s;
  overflow-y: auto;
}
.en-a .menu.is-open { opacity: 1; visibility: visible; transition-delay: 0s; }
.en-a .menu__links { display: flex; flex-direction: column; }
.en-a .menu__links a {
  display: flex; align-items: baseline; gap: 16px;
  color: var(--ivoire); text-decoration: none;
  font-family: var(--font-serif); font-size: 28px; font-weight: 400;
  padding: 14px 0; border-bottom: 1px solid rgba(238, 221, 190, .12);
}
.en-a .menu__links a em {
  font-style: italic; color: var(--or);
  font-size: 13px; letter-spacing: .12em;
}
.en-a .menu__accordion { border-bottom: 1px solid rgba(238, 221, 190, .12); }
.en-a .menu__accordion-head {
  width: 100%; background: none; border: 0; padding: 14px 0;
  display: flex; align-items: baseline; justify-content: space-between;
  color: var(--ivoire); font: inherit;
  font-family: var(--font-serif); font-size: 28px; font-weight: 400;
  cursor: pointer;
}
.en-a .menu__accordion-head em {
  font-style: italic; color: var(--or);
  font-size: 13px; letter-spacing: .12em; margin-right: auto; margin-left: 16px;
}
.en-a .menu__accordion-chev {
  display: inline-flex; color: var(--or);
  transition: transform .3s ease;
}
.en-a .menu__accordion[aria-expanded="true"] .menu__accordion-chev { transform: rotate(180deg); }
.en-a .menu__accordion-panel {
  padding: 8px 0 20px 24px;
  display: flex; flex-direction: column; gap: 6px;
}
.en-a .menu__accordion-panel a {
  font-family: var(--font-sans); font-size: 15px;
  color: rgba(238, 221, 190, .82); text-decoration: none;
  padding: 8px 0; border-bottom: 0;
}
.en-a .menu__accordion-panel a:hover { color: var(--or); }
.en-a .menu__accordion-panel .menu__accent { color: var(--or); font-weight: 600; margin-top: 8px; }
.en-a .menu__sep {
  font-family: var(--font-sans); font-size: 11px;
  letter-spacing: .22em; text-transform: uppercase;
  color: var(--or); opacity: .8;
  padding: 12px 0 6px; display: block;
}
.en-a .menu__foot {
  margin-top: var(--sp-lg);
  padding-top: var(--sp-md);
  border-top: 1px solid rgba(238,221,190,.15);
  color: rgba(238, 221, 190, .7);
  font-size: 13px; line-height: 1.8;
  display: flex; flex-direction: column; gap: 4px;
}

/* =====================================================================
 * SECTIONS COMMUNES — sec-head (grammaire Ouverture)
 * ===================================================================== */
.en-a .sec-head {
  max-width: 900px; margin: 0 auto var(--sp-xl);
  padding: 0 var(--sp-lg); text-align: center;
}
.en-a .sec-eyebrow {
  font-family: var(--font-sans); font-size: 11px;
  letter-spacing: .32em; text-transform: uppercase;
  color: var(--rouge); font-weight: 600;
  margin-bottom: var(--sp-md);
}
.en-a .sec-title {
  font-family: var(--font-serif);
  font-size: clamp(2.1rem, 4.4vw, 3.4rem);
  line-height: 1.08; letter-spacing: -.02em;
  font-weight: 400; color: var(--texte);
  margin: 0 0 var(--sp-md);
}
.en-a .sec-title em {
  font-style: italic; color: var(--rouge);
  font-family: var(--font-serif-b); font-weight: 500;
}
.en-a .sec-lead {
  font-family: var(--font-serif-b); font-size: clamp(1.05rem, 1.4vw, 1.25rem);
  font-style: italic; font-weight: 400;
  line-height: 1.7; color: var(--texte-doux);
  max-width: 620px; margin: 0 auto;
}

/* =====================================================================
 * HERO — deux variantes : split (home, private-chef, wine) + immersif (michelin)
 * ===================================================================== */
.en-a .hero {
  position: relative;
  padding: calc(var(--nav-h) + var(--sp-2xl)) 0 var(--sp-2xl);
  background: var(--ivoire);
  overflow: hidden;
}
.en-a .hero__grid {
  max-width: 1320px; margin: 0 auto;
  padding: 0 var(--sp-lg);
  display: grid; grid-template-columns: 1fr 1.12fr;
  gap: var(--sp-xl); align-items: center;
}
.en-a .hero__text { padding: var(--sp-md) 0; }
.en-a .hero__eyebrow {
  font-family: var(--font-sans); font-size: 11px;
  letter-spacing: .32em; text-transform: uppercase;
  color: var(--rouge); font-weight: 600;
  margin-bottom: var(--sp-md);
}
.en-a .hero__title {
  font-family: var(--font-serif);
  font-size: clamp(2.4rem, 5.2vw, 4.1rem);
  line-height: 1.02; letter-spacing: -.025em;
  font-weight: 400; color: var(--texte);
  margin: 0 0 var(--sp-md);
}
.en-a .hero__title em {
  display: block; font-style: italic; color: var(--rouge);
  font-family: var(--font-serif-b); font-weight: 500;
  margin-top: 4px;
}
.en-a .hero__lead {
  font-family: var(--font-serif-b);
  font-size: clamp(1.05rem, 1.35vw, 1.25rem);
  font-style: italic; line-height: 1.65;
  color: var(--texte-doux);
  margin-bottom: var(--sp-lg);
  max-width: 540px;
}
.en-a .hero__cta { display: flex; gap: 14px; flex-wrap: wrap; margin-bottom: var(--sp-lg); }
.en-a .hero__meta {
  padding-top: var(--sp-md);
  border-top: 1px solid var(--border);
  font-family: var(--font-sans); font-size: 11px;
  letter-spacing: .22em; text-transform: uppercase;
  color: var(--texte-clair);
}
.en-a .hero__visual {
  position: relative; aspect-ratio: 4/5; max-height: 720px;
  overflow: hidden; border-radius: 2px;
  box-shadow: 0 30px 70px -22px rgba(26,19,16,.32);
  background: var(--noir);
}
.en-a .hero__visual img {
  width: 100%; height: 100%; object-fit: cover; display: block;
}
.en-a .hero__scrim {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,0) 55%, rgba(26,19,16,.35) 100%);
  pointer-events: none;
}

/* Hero immersif — pleine largeur (michelin) */
.en-a .hero--immersive {
  padding: 0;
  min-height: 90vh;
  display: flex; align-items: center;
  color: #fff;
}
.en-a .hero--immersive .hero__media {
  position: absolute; inset: 0; z-index: 0;
  background: var(--noir);
}
.en-a .hero--immersive .hero__media img {
  width: 100%; height: 100%; object-fit: cover;
}
.en-a .hero--immersive .hero__media::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(26,19,16,.55) 0%, rgba(26,19,16,.72) 100%);
}
.en-a .hero--immersive .hero__inner {
  position: relative; z-index: 2;
  max-width: 900px; margin: 0 auto;
  padding: calc(var(--nav-h) + var(--sp-2xl)) var(--sp-lg) var(--sp-2xl);
  text-align: center;
}
.en-a .hero--immersive .hero__eyebrow { color: var(--champagne); opacity: .95; }
.en-a .hero--immersive .hero__title { color: #fff; }
.en-a .hero--immersive .hero__title em { color: var(--champagne); }
.en-a .hero--immersive .hero__lead { color: rgba(255,255,255,.9); max-width: 700px; margin-left: auto; margin-right: auto; margin-bottom: var(--sp-lg); }
.en-a .hero--immersive .hero__meta { color: rgba(255,255,255,.65); border-top-color: rgba(255,255,255,.14); display: inline-block; padding: var(--sp-sm) var(--sp-md) 0; margin-top: var(--sp-md); }

/* =====================================================================
 * MISE-EN-BOUCHE / MANIFESTE (comme .mib de styles.css)
 * ===================================================================== */
.en-a .mib {
  background: var(--creme);
  padding: var(--sp-2xl) 0;
}
.en-a .mib__inner {
  max-width: 900px; margin: 0 auto;
  padding: 0 var(--sp-lg); text-align: center;
}
.en-a .mib__eyebrow {
  font-family: var(--font-sans); font-size: 11px;
  letter-spacing: .32em; text-transform: uppercase;
  color: var(--rouge); font-weight: 600;
  margin-bottom: var(--sp-md);
}
.en-a .mib__text {
  font-family: var(--font-serif);
  font-size: clamp(1.6rem, 2.6vw, 2.15rem);
  line-height: 1.5; letter-spacing: -.01em;
  font-weight: 400; color: var(--texte);
  margin: 0;
}
.en-a .mib__text em {
  font-style: italic; color: var(--rouge);
  font-family: var(--font-serif-b);
}
.en-a .mib__rule {
  width: 48px; height: 1px; background: var(--rouge);
  opacity: .6; margin: var(--sp-lg) auto 0;
}

/* =====================================================================
 * PILIERS — grille 3 colonnes (home)
 * ===================================================================== */
.en-a .pillars {
  background: var(--ivoire);
  padding: var(--sp-2xl) 0;
  border-top: 1px solid var(--border-doux);
  border-bottom: 1px solid var(--border-doux);
}
.en-a .pillars__grid {
  max-width: 1280px; margin: 0 auto;
  padding: 0 var(--sp-lg);
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: var(--sp-lg);
}
.en-a .pillar {
  background: var(--creme);
  border: 1px solid var(--border-doux);
  border-radius: 2px; overflow: hidden;
  display: flex; flex-direction: column;
  transition: transform .5s ease, box-shadow .5s ease;
}
.en-a .pillar:hover {
  transform: translateY(-4px);
  box-shadow: 0 24px 60px -22px rgba(26,19,16,.18);
}
.en-a .pillar__img {
  aspect-ratio: 4/3; overflow: hidden; background: var(--noir);
}
.en-a .pillar__img img {
  width: 100%; height: 100%; object-fit: cover;
  transition: transform .8s ease;
}
.en-a .pillar:hover .pillar__img img { transform: scale(1.05); }
.en-a .pillar__body { padding: var(--sp-lg); flex: 1; display: flex; flex-direction: column; }
.en-a .pillar__eyebrow {
  font-family: var(--font-sans); font-size: 10.5px;
  letter-spacing: .28em; text-transform: uppercase;
  color: var(--rouge); font-weight: 600;
  margin-bottom: 12px;
}
.en-a .pillar__title {
  font-family: var(--font-serif); font-size: 1.35rem;
  font-weight: 400; letter-spacing: -.01em; color: var(--texte);
  margin: 0 0 12px;
}
.en-a .pillar__text {
  font-family: var(--font-sans); font-size: 15px;
  line-height: 1.7; color: var(--texte-doux); margin: 0;
}

/* =====================================================================
 * XP — 3 signatures (home) : cartes éditoriales
 * ===================================================================== */
.en-a .xp {
  background: var(--creme);
  padding: var(--sp-2xl) 0;
}
.en-a .xp__grid {
  max-width: 1280px; margin: 0 auto;
  padding: 0 var(--sp-lg);
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: var(--sp-xl);
}
.en-a .xp__card { display: flex; flex-direction: column; gap: var(--sp-md); }
.en-a .xp__img {
  aspect-ratio: 5/6; overflow: hidden; border-radius: 2px;
  background: var(--noir);
}
.en-a .xp__img img {
  width: 100%; height: 100%; object-fit: cover; display: block;
  transition: transform .8s ease;
}
.en-a .xp__card:hover .xp__img img { transform: scale(1.04); }
.en-a .xp__num {
  font-family: var(--font-serif-b); font-size: 15px;
  font-style: italic; color: var(--rouge);
  letter-spacing: .08em;
}
.en-a .xp__title {
  font-family: var(--font-serif); font-size: 1.4rem;
  font-weight: 400; letter-spacing: -.01em; color: var(--texte);
  margin: 0;
}
.en-a .xp__text {
  font-family: var(--font-sans); font-size: 15px;
  line-height: 1.75; color: var(--texte-doux); margin: 0;
}

/* =====================================================================
 * BAND — bandeau pleine largeur (venue / cellar / exclusivity)
 * ===================================================================== */
.en-a .band {
  position: relative; color: #fff;
  overflow: hidden; isolation: isolate;
}
.en-a .band__media { position: absolute; inset: 0; z-index: -1; background: var(--noir); }
.en-a .band__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.en-a .band__media::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(26,19,16,.35) 0%, rgba(26,19,16,.62) 100%);
}
.en-a .band__inner {
  max-width: 980px; margin: 0 auto;
  padding: calc(var(--sp-2xl) + 30px) var(--sp-lg);
  text-align: center; position: relative; z-index: 1;
}
.en-a .band__eyebrow {
  font-family: var(--font-sans); font-size: 11px;
  letter-spacing: .32em; text-transform: uppercase;
  color: var(--champagne); opacity: .95;
  font-weight: 600; margin-bottom: var(--sp-md);
}
.en-a .band__title {
  font-family: var(--font-serif);
  font-size: clamp(1.9rem, 4vw, 3.1rem);
  line-height: 1.12; letter-spacing: -.02em;
  font-weight: 400; color: #fff;
  margin: 0 0 var(--sp-md);
}
.en-a .band__title em {
  font-style: italic; color: var(--champagne);
  font-family: var(--font-serif-b); font-weight: 500;
}
.en-a .band__text {
  font-family: var(--font-serif-b);
  font-size: clamp(1rem, 1.35vw, 1.2rem);
  font-style: italic; line-height: 1.7;
  color: rgba(255,255,255,.92);
  max-width: 700px; margin: 0 auto var(--sp-lg);
}

/* =====================================================================
 * FEATURE — image + texte (private-chef "what", wine "experience"/"duet", michelin "somm")
 * ===================================================================== */
.en-a .feature {
  background: var(--creme);
  padding: var(--sp-2xl) 0;
}
.en-a .feature--ivory { background: var(--ivoire); }
.en-a .feature__grid {
  max-width: 1280px; margin: 0 auto;
  padding: 0 var(--sp-lg);
  display: grid; grid-template-columns: 1.05fr 1fr;
  gap: var(--sp-xl); align-items: center;
}
.en-a .feature--reverse .feature__grid { grid-template-columns: 1fr 1.05fr; }
.en-a .feature--reverse .feature__img { order: 2; }
.en-a .feature__img {
  aspect-ratio: 4/5; overflow: hidden;
  border-radius: 2px; background: var(--noir);
}
.en-a .feature__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.en-a .feature__eyebrow {
  font-family: var(--font-sans); font-size: 11px;
  letter-spacing: .28em; text-transform: uppercase;
  color: var(--rouge); font-weight: 600;
  margin-bottom: var(--sp-md);
}
.en-a .feature__title {
  font-family: var(--font-serif);
  font-size: clamp(1.9rem, 3.4vw, 2.7rem);
  line-height: 1.15; letter-spacing: -.02em;
  font-weight: 400; color: var(--texte);
  margin: 0 0 var(--sp-md);
}
.en-a .feature__title em {
  font-style: italic; color: var(--rouge);
  font-family: var(--font-serif-b); font-weight: 500;
}
.en-a .feature__text {
  font-family: var(--font-sans); font-size: 16px;
  line-height: 1.8; color: var(--texte-doux);
  margin-bottom: var(--sp-md);
}
.en-a .feature__list { list-style: none; padding: 0; margin: var(--sp-md) 0 0; }
.en-a .feature__list li {
  position: relative; padding: 12px 0 12px 28px;
  font-family: var(--font-sans); font-size: 15px;
  line-height: 1.7; color: var(--texte);
  border-bottom: 1px solid var(--border-doux);
}
.en-a .feature__list li:last-child { border-bottom: 0; }
.en-a .feature__list li::before {
  content: ""; position: absolute; left: 0; top: 22px;
  width: 16px; height: 1px; background: var(--rouge);
}
.en-a .feature__tags {
  display: flex; flex-wrap: wrap; gap: 8px;
  margin-top: var(--sp-md);
}
.en-a .feature__tag {
  font-family: var(--font-sans); font-size: 10.5px;
  letter-spacing: .22em; text-transform: uppercase;
  color: var(--rouge); background: var(--ivoire);
  border: 1px solid var(--border);
  padding: 8px 14px; border-radius: 2px;
  font-weight: 600;
}

/* =====================================================================
 * STEPS — 4 mouvements (private-chef "how the evening unfolds")
 * ===================================================================== */
.en-a .steps {
  background: var(--ivoire);
  padding: var(--sp-2xl) 0;
}
.en-a .steps__grid {
  max-width: 1320px; margin: 0 auto;
  padding: 0 var(--sp-lg);
  display: grid; grid-template-columns: repeat(4, 1fr);
  gap: var(--sp-lg);
}
.en-a .step { display: flex; flex-direction: column; gap: 14px; }
.en-a .step__img {
  aspect-ratio: 5/6; overflow: hidden; border-radius: 2px;
  background: var(--noir);
}
.en-a .step__img img {
  width: 100%; height: 100%; object-fit: cover;
  transition: transform .8s ease; display: block;
}
.en-a .step:hover .step__img img { transform: scale(1.04); }
.en-a .step__num {
  font-family: var(--font-serif-b); font-size: 15px;
  font-style: italic; color: var(--rouge);
  letter-spacing: .08em;
}
.en-a .step__title {
  font-family: var(--font-serif); font-size: 1.25rem;
  font-weight: 400; letter-spacing: -.01em; color: var(--texte);
  margin: 0;
}
.en-a .step__text {
  font-family: var(--font-sans); font-size: 14.5px;
  line-height: 1.7; color: var(--texte-doux); margin: 0;
}

/* =====================================================================
 * OCCASIONS / PHILO — 3 cartes (private-chef, wine)
 * ===================================================================== */
.en-a .occ {
  background: var(--creme);
  padding: var(--sp-2xl) 0;
}
.en-a .occ__grid {
  max-width: 1200px; margin: 0 auto;
  padding: 0 var(--sp-lg);
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: var(--sp-lg);
}
.en-a .occ__card {
  background: var(--ivoire);
  border: 1px solid var(--border-doux);
  border-radius: 2px; padding: var(--sp-lg);
  transition: transform .5s ease, box-shadow .5s ease;
}
.en-a .occ__card:hover {
  transform: translateY(-4px);
  box-shadow: 0 24px 60px -22px rgba(26,19,16,.18);
}
.en-a .occ__eyebrow {
  font-family: var(--font-sans); font-size: 10.5px;
  letter-spacing: .28em; text-transform: uppercase;
  color: var(--rouge); font-weight: 600;
  margin-bottom: 12px;
}
.en-a .occ__title {
  font-family: var(--font-serif); font-size: 1.3rem;
  font-weight: 400; letter-spacing: -.01em; color: var(--texte);
  margin: 0 0 12px;
}
.en-a .occ__text {
  font-family: var(--font-sans); font-size: 15px;
  line-height: 1.7; color: var(--texte-doux); margin: 0;
}

/* Variante philo (image en tête) pour wine */
.en-a .philo__grid {
  max-width: 1280px; margin: 0 auto;
  padding: 0 var(--sp-lg);
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: var(--sp-xl);
}
.en-a .philo__card { display: flex; flex-direction: column; gap: var(--sp-md); }
.en-a .philo__img {
  aspect-ratio: 5/6; overflow: hidden; border-radius: 2px;
  background: var(--noir);
}
.en-a .philo__img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .8s ease; }
.en-a .philo__card:hover .philo__img img { transform: scale(1.04); }
.en-a .philo__num {
  font-family: var(--font-serif-b); font-size: 15px;
  font-style: italic; color: var(--rouge);
  letter-spacing: .08em;
}
.en-a .philo__title {
  font-family: var(--font-serif); font-size: 1.35rem;
  font-weight: 400; letter-spacing: -.01em; color: var(--texte);
  margin: 0;
}
.en-a .philo__text {
  font-family: var(--font-sans); font-size: 15px;
  line-height: 1.75; color: var(--texte-doux); margin: 0;
}

/* =====================================================================
 * MENU — courses (michelin, 8 actes)
 * ===================================================================== */
.en-a .courses {
  background: var(--creme);
  padding: var(--sp-2xl) 0;
}
.en-a .courses__note {
  font-family: var(--font-serif-b);
  font-size: 15px; font-style: italic;
  color: var(--texte-clair);
  margin-top: var(--sp-md);
}
.en-a .courses__grid {
  max-width: 1280px; margin: 0 auto;
  padding: 0 var(--sp-lg);
  display: grid; grid-template-columns: repeat(4, 1fr);
  gap: var(--sp-lg);
}
.en-a .course {
  background: var(--ivoire);
  border: 1px solid var(--border-doux);
  border-radius: 2px; overflow: hidden;
  display: flex; flex-direction: column;
  transition: transform .5s ease, box-shadow .5s ease;
}
.en-a .course:hover {
  transform: translateY(-3px);
  box-shadow: 0 20px 50px -22px rgba(26,19,16,.18);
}
.en-a .course__img { aspect-ratio: 4/3; overflow: hidden; background: var(--noir); }
.en-a .course__img img {
  width: 100%; height: 100%; object-fit: cover; display: block;
  transition: transform .8s ease;
}
.en-a .course:hover .course__img img { transform: scale(1.05); }
.en-a .course__body { padding: var(--sp-md); flex: 1; display: flex; flex-direction: column; }
.en-a .course__num {
  font-family: var(--font-sans); font-size: 10.5px;
  letter-spacing: .22em; text-transform: uppercase;
  color: var(--rouge); font-weight: 600;
  margin-bottom: 10px;
}
.en-a .course__title {
  font-family: var(--font-serif); font-size: 1.1rem;
  font-weight: 400; letter-spacing: -.01em; color: var(--texte);
  margin: 0 0 10px;
}
.en-a .course__text {
  font-family: var(--font-sans); font-size: 14px;
  line-height: 1.65; color: var(--texte-doux); margin: 0;
}

/* =====================================================================
 * REASSURE (bande horizontale de labels)
 * ===================================================================== */
.en-a .reassure {
  background: var(--ivoire);
  padding: var(--sp-lg) 0;
  border-top: 1px solid var(--border-doux);
  border-bottom: 1px solid var(--border-doux);
}
.en-a .reassure__inner {
  max-width: 1200px; margin: 0 auto;
  padding: 0 var(--sp-lg); text-align: center;
}
.en-a .reassure__text {
  font-family: var(--font-serif-b);
  font-size: clamp(1rem, 1.4vw, 1.25rem);
  font-style: italic; font-weight: 400;
  line-height: 1.6; color: var(--texte);
}
.en-a .reassure__text span {
  color: var(--rouge); margin: 0 8px; font-style: normal;
}

/* =====================================================================
 * TESTIMONIALS (home, 3 étoiles)
 * ===================================================================== */
.en-a .testis {
  background: var(--creme);
  padding: var(--sp-2xl) 0;
}
.en-a .testis__grid {
  max-width: 1280px; margin: 0 auto;
  padding: 0 var(--sp-lg);
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: var(--sp-lg);
}
.en-a .testi {
  background: var(--ivoire);
  padding: var(--sp-lg);
  border-radius: 2px;
  border: 1px solid var(--border-doux);
  display: flex; flex-direction: column; gap: var(--sp-md);
  transition: transform .5s ease, box-shadow .5s ease;
}
.en-a .testi:hover {
  transform: translateY(-3px);
  box-shadow: 0 20px 40px -20px rgba(26,19,16,.14);
}
.en-a .testi__stars {
  color: var(--or); font-size: 13px; letter-spacing: .14em;
}
.en-a .testi__text {
  font-family: var(--font-serif-b);
  font-size: 15.5px; font-weight: 400; line-height: 1.7;
  color: var(--texte); font-style: italic;
  margin: 0; flex: 1;
}
.en-a .testi__rule {
  width: 32px; height: 1px; background: var(--rouge);
  opacity: .55; margin: 0;
}
.en-a .testi__name {
  font-family: var(--font-sans); font-size: 13px;
  font-weight: 600; color: var(--texte);
  letter-spacing: .02em; margin: 0;
}
.en-a .testi__role {
  font-family: var(--font-sans); font-size: 11px;
  letter-spacing: .14em; text-transform: uppercase;
  color: var(--texte-clair); margin: 4px 0 0;
}

/* =====================================================================
 * FINAL CTA (bordeaux)
 * ===================================================================== */
.en-a .final {
  background: var(--rouge);
  color: #fff;
  padding: var(--sp-2xl) 0;
  text-align: center;
}
.en-a .final__inner {
  max-width: 900px; margin: 0 auto;
  padding: 0 var(--sp-lg);
}
.en-a .final__eyebrow {
  font-family: var(--font-sans); font-size: 11px;
  letter-spacing: .32em; text-transform: uppercase;
  color: var(--champagne); opacity: .95;
  font-weight: 600; margin-bottom: var(--sp-md);
}
.en-a .final__title {
  font-family: var(--font-serif);
  font-size: clamp(2rem, 4vw, 3rem);
  line-height: 1.1; letter-spacing: -.02em;
  font-weight: 400; color: #fff;
  margin: 0 0 var(--sp-md);
}
.en-a .final__title em { font-style: italic; color: var(--champagne); font-family: var(--font-serif-b); font-weight: 500; }
.en-a .final__text {
  font-family: var(--font-serif-b);
  font-size: clamp(1rem, 1.3vw, 1.2rem);
  font-style: italic; line-height: 1.7;
  color: rgba(255,255,255,.92);
  margin-bottom: var(--sp-lg);
}
.en-a .btn--white {
  background: #fff; color: var(--rouge);
}
.en-a .btn--white:hover {
  background: var(--creme); color: var(--rouge-2);
  transform: translateY(-1px);
  box-shadow: 0 8px 22px rgba(0,0,0,.2);
}

/* =====================================================================
 * FOOTER EN (charte Ouverture, libellés/liens EN)
 * ===================================================================== */
.en-a .footer {
  background: var(--noir);
  color: rgba(238, 221, 190, .82);
  padding: var(--sp-2xl) 0 var(--sp-lg);
  font-size: 14px;
}
.en-a .footer__top {
  max-width: 1320px; margin: 0 auto;
  padding: 0 var(--sp-lg);
  display: grid; grid-template-columns: 1.2fr 3fr;
  gap: var(--sp-xl);
}
.en-a .footer__brand { max-width: 380px; }
.en-a .footer__logo {
  max-width: 180px; height: auto; margin-bottom: var(--sp-md);
  filter: brightness(0) invert(1);
}
.en-a .footer__pitch {
  font-family: var(--font-serif-b); font-style: italic;
  font-size: 14px; line-height: 1.75;
  color: rgba(238, 221, 190, .78);
  margin: 0 0 var(--sp-md);
}
.en-a .footer__address {
  font-style: normal; line-height: 1.7;
  display: flex; flex-direction: column; gap: 2px;
  margin-bottom: var(--sp-md);
}
.en-a .footer__contact {
  list-style: none; padding: 0; margin: 0 0 var(--sp-md);
  display: flex; flex-direction: column; gap: 6px;
}
.en-a .footer__contact a,
.en-a .footer__contact span {
  color: rgba(238, 221, 190, .78);
  text-decoration: none;
}
.en-a .footer__contact a:hover { color: var(--or); }
.en-a .footer__social {
  list-style: none; padding: 0; margin: 0;
  display: flex; gap: 12px;
}
.en-a .footer__social a {
  display: inline-flex; align-items: center; gap: 6px;
  color: rgba(238, 221, 190, .82); text-decoration: none;
  font-size: 12px; letter-spacing: .06em;
  padding: 8px 12px;
  border: 1px solid rgba(238, 221, 190, .18);
  border-radius: 2px;
  transition: all .3s ease;
}
.en-a .footer__social a:hover {
  color: var(--or); border-color: var(--or);
}
.en-a .footer__cols {
  display: grid; grid-template-columns: repeat(4, 1fr);
  gap: var(--sp-lg);
}
.en-a .footer__col h4 {
  font-family: var(--font-serif); font-size: 12px;
  letter-spacing: .22em; text-transform: uppercase;
  color: var(--or); font-weight: 600;
  margin: 0 0 var(--sp-md);
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(238, 221, 190, .18);
}
.en-a .footer__col a {
  display: block; padding: 4px 0;
  color: rgba(238, 221, 190, .74);
  text-decoration: none;
  transition: color .2s ease, padding-left .3s ease;
}
.en-a .footer__col a:hover {
  color: var(--or); padding-left: 4px;
}
.en-a .footer__filet {
  max-width: 1320px; margin: var(--sp-xl) auto 0;
  padding: 0 var(--sp-lg);
  height: 1px; background: rgba(238, 221, 190, .18);
}
.en-a .footer__bottom {
  max-width: 1320px; margin: 0 auto;
  padding: var(--sp-lg) var(--sp-lg) 0;
  display: flex; justify-content: space-between;
  flex-wrap: wrap; gap: 12px;
  font-size: 12px; letter-spacing: .06em;
  color: rgba(238, 221, 190, .52);
}
.en-a .footer__credit a {
  color: var(--champagne); text-decoration: none;
}
.en-a .footer__credit a:hover { color: var(--or); }

/* =====================================================================
 * RESPONSIVE
 * ===================================================================== */
@media (max-width: 1024px) {
  .en-a .hero__grid { grid-template-columns: 1fr; gap: var(--sp-lg); }
  .en-a .hero__visual { aspect-ratio: auto; max-height: 60vh; }
  .en-a .pillars__grid { grid-template-columns: 1fr; }
  .en-a .xp__grid { grid-template-columns: 1fr; }
  .en-a .steps__grid { grid-template-columns: repeat(2, 1fr); }
  .en-a .occ__grid { grid-template-columns: 1fr; }
  .en-a .philo__grid { grid-template-columns: 1fr; }
  .en-a .feature__grid { grid-template-columns: 1fr; gap: var(--sp-lg); }
  .en-a .feature--reverse .feature__img { order: initial; }
  .en-a .testis__grid { grid-template-columns: 1fr; }
  .en-a .courses__grid { grid-template-columns: repeat(2, 1fr); }
  .en-a .footer__top { grid-template-columns: 1fr; gap: var(--sp-lg); }
  .en-a .footer__cols { grid-template-columns: repeat(2, 1fr); }
  .en-a .nav__links { display: none; }
  .en-a .nav__actions .btn { display: none; }
  .en-a .nav__burger { display: flex; }
  .en-a .mega { display: none; }
}
@media (max-width: 640px) {
  .en-a .hero { padding: calc(var(--nav-h) + var(--sp-lg)) 0 var(--sp-lg); }
  .en-a .hero__title { font-size: 2.05rem; }
  .en-a .mib__text { font-size: 1.35rem; }
  .en-a .steps__grid { grid-template-columns: 1fr; }
  .en-a .courses__grid { grid-template-columns: 1fr; }
  .en-a .footer__cols { grid-template-columns: 1fr; }
  .en-a .footer__bottom { flex-direction: column; align-items: flex-start; }
}
