html{background:#0B0B0A}body{background:#0B0B0A}#boot{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:18px;background:#0B0B0A;transition:opacity .5s ease}#boot.done{opacity:0;pointer-events:none}#boot .bw{font-family:Jost,system-ui,sans-serif;font-size:13px;letter-spacing:.55em;color:#F4F1E8;opacity:.92;padding-left:.55em}#boot .bd{width:7px;height:7px;border-radius:50%;background:#B5CC2E;animation:bootpulse 1.1s ease-in-out infinite}@keyframes bootpulse{0%,100%{transform:scale(1);opacity:.55}50%{transform:scale(1.7);opacity:1}}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

  :root{
    --noir:#0B0B0A;
    --slate:#131311;
    --slate2:#1A1A17;
    --blanc:#F4F1E8;
    --creme:#F4F1E8;
    --muted:#9A9484;
    --lime:#B5CC2E;
    --lime-deep:#8FA51E;
    --lime-soft:#E4F0A6;
    --hair:rgba(181,204,46,.18);
    --hair2:rgba(244,241,232,.08);
  }

  html{ scroll-behavior:smooth; }
  body{
    font-family:'Jost',sans-serif;
    background:var(--noir);
    color:var(--blanc);
    overflow-x:hidden;
  }
  [dir="rtl"] body, [dir="rtl"] button, [dir="rtl"] input { font-family:'Tajawal','Jost',sans-serif; }
  ::selection{ background:var(--lime); color:var(--noir); }

  /* grain */
  body::after{
    content:''; position:fixed; inset:0; z-index:1000; pointer-events:none; opacity:.05;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='.6'/%3E%3C/svg%3E");
  }

  /* scroll progress */
  #progress{ position:fixed; top:0; left:0; height:2px; width:0; background:var(--lime); z-index:300; }

  .wrap{ padding-left:6vw; padding-right:6vw; }

  /* ── NAV ── */
  nav{
    position:fixed; top:0; left:0; right:0; z-index:200;
    display:flex; align-items:center; justify-content:space-between; gap:18px;
    height:76px; padding:0 4vw;
    background:rgba(11,11,10,.78); backdrop-filter:blur(14px);
    border-bottom:1px solid var(--hair2);
  }
  .logo{ display:flex; align-items:center; gap:11px; text-decoration:none; }
  .logo svg{ width:30px; height:30px; flex-shrink:0; }
  .logo-txt{ display:flex; flex-direction:column; line-height:1; }
  .logo-txt .wm{
    font-family:'Cormorant Garamond',serif; font-weight:500; font-size:23px;
    letter-spacing:.22em; color:var(--blanc); text-transform:uppercase;
  }
  .logo-txt .wm b{ color:var(--lime); font-weight:500; }
  .logo-txt .tg{ font-size:8px; letter-spacing:.3em; text-transform:uppercase; color:var(--muted); margin-top:4px; }
  .logo-txt .since{
    font-size:8px; letter-spacing:.26em; text-transform:uppercase;
    color:var(--lime-soft); margin-top:4px; opacity:.92;
  }

  /* Top first-page/nav brand: text only, no leaf logo */
  nav > .logo{ gap:0; }

  .nav-links{ display:flex; align-items:center; gap:46px; list-style:none;
    position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); }
  .nav-links a{
    font-size:12px; letter-spacing:.2em; text-transform:uppercase; font-weight:700;
    color:var(--blanc); opacity:.85; text-decoration:none; transition:.2s;
    padding:6px 0; border-bottom:1px solid transparent;
  }
  .nav-links a:hover{ opacity:1; color:var(--lime); border-bottom-color:var(--lime); }

  .nav-right{ display:flex; align-items:center; gap:14px; }

  /* language switcher */
  .lang{ position:relative; }
  .lang-btn{
    display:flex; align-items:center; gap:7px; cursor:pointer;
    background:transparent; border:1px solid var(--hair2); border-radius:2px;
    color:var(--blanc); font-family:'Jost',sans-serif; font-size:11px; letter-spacing:.14em;
    padding:9px 12px; transition:.2s;
  }
  .lang-btn:hover{ border-color:var(--lime); color:var(--lime); }
  .lang-btn svg{ width:13px; height:13px; }
  .lang-menu{
    position:absolute; top:calc(100% + 8px); inset-inline-end:0; min-width:185px;
    background:#121210; border:1px solid var(--hair2); border-radius:3px;
    padding:6px; display:none; box-shadow:0 18px 50px rgba(0,0,0,.6);
  }
  .lang.open .lang-menu{ display:block; }
  .lang-menu button{
    display:flex; align-items:center; gap:10px; width:100%;
    background:none; border:0; cursor:pointer; text-align:start;
    color:var(--blanc); font-family:'Jost',sans-serif; font-size:13px;
    padding:9px 10px; border-radius:2px; transition:.15s;
  }
  .lang-menu button:hover{ background:rgba(181,204,46,.1); color:var(--lime-soft); }
  .lang-menu button.on{ color:var(--lime); }
  .lang-menu .fl{ font-size:15px; }

  .btn-contact{
    display:inline-flex; align-items:center; gap:8px;
    background:var(--lime); color:var(--noir) !important;
    font-size:11px; font-weight:600; letter-spacing:.16em; text-transform:uppercase;
    padding:11px 20px; border-radius:2px; text-decoration:none; transition:.2s;
    white-space:nowrap;
  }
  .btn-contact:hover{ background:var(--lime-soft); }

  /* ── HERO ── */
  .hero{
    min-height:100vh; padding-top:76px;
    display:grid; grid-template-columns:1.05fr .95fr; align-items:stretch;
    position:relative;
    background:
      radial-gradient(1100px 600px at 18% 10%, rgba(181,204,46,.07), transparent 60%),
      radial-gradient(900px 700px at 90% 90%, rgba(181,204,46,.05), transparent 60%),
      linear-gradient(160deg, #121210 0%, var(--noir) 55%, #0D0D0B 100%);
  }
  .hero-txt{
    display:flex; flex-direction:column; justify-content:center;
    padding:70px 4vw 70px 6vw; position:relative; z-index:3;
  }
  .eyebrow{
    display:flex; align-items:center; gap:14px;
    font-size:10px; letter-spacing:.32em; text-transform:uppercase; color:var(--lime);
    margin-bottom:30px;
  }
  .eyebrow::before{ content:''; width:34px; height:2px; background:var(--lime); flex-shrink:0; }
  .hero h1{
    font-family:'Cormorant Garamond',serif; font-weight:300;
    font-size:clamp(44px, 5.2vw, 78px); line-height:1.06; margin-bottom:30px;
  }
  .hero h1 em{ font-style:italic; color:var(--lime); }
  [dir="rtl"] .hero h1{ font-family:'Tajawal',serif; font-weight:300; line-height:1.25; }
  [dir="rtl"] .display-serif{ font-family:'Tajawal',sans-serif !important; }
  .hero-body{
    font-weight:300; font-size:15px; line-height:1.8; color:var(--muted);
    max-width:430px; margin-bottom:44px;
  }
  .hero-cta{ display:flex; align-items:center; gap:18px; flex-wrap:wrap; }
  .btn{
    display:inline-flex; align-items:center; gap:10px;
    font-size:11px; letter-spacing:.2em; text-transform:uppercase; font-weight:500;
    padding:15px 30px; border-radius:2px; text-decoration:none; transition:.22s; cursor:pointer;
  }
  .btn svg{ width:14px; height:14px; }
  .btn-lime{ background:var(--lime); color:var(--noir); font-weight:600; }
  .btn-lime:hover{ background:var(--lime-soft); transform:translateY(-1px); }
  .btn-ghost{ color:var(--blanc); border:1px solid rgba(244,241,232,.25); }
  .btn-ghost:hover{ border-color:var(--lime); color:var(--lime); }

  .hero-stats{
    display:flex; gap:44px; margin-top:58px; padding-top:30px;
    border-top:1px solid var(--hair2);
  }
  .stat .n{ font-family:'Cormorant Garamond',serif; font-weight:300; font-size:38px; line-height:1; }
  .stat .n i{ font-style:normal; color:var(--lime); }
  .stat .l{ font-size:10px; letter-spacing:.18em; text-transform:uppercase; color:var(--muted); margin-top:8px; }

  .hero-visual{
    position:relative; overflow:hidden;
    background:
      radial-gradient(620px 380px at 64% 24%, rgba(181,204,46,.20), transparent 62%),
      radial-gradient(760px 520px at 26% 78%, rgba(228,240,166,.10), transparent 68%),
      linear-gradient(145deg, #181813 0%, #0B0B0A 62%, #10100E 100%);
  }
  /* première page sans photos : remplacement de l'ancienne mosaïque par un décor abstrait */
  
  
  
  .hm-cell, .hm-img{ display:none; }
  .hero-visual::before{
    content:''; position:absolute; z-index:2; inset:9% 9% 9% auto; width:1px;
    background:linear-gradient(transparent, rgba(181,204,46,.65), transparent);
  }
  .hero-visual::after{
    content:''; position:absolute; inset:0; z-index:2;
    background:linear-gradient(115deg, rgba(11,11,10,.58) 0%, transparent 50%),
               linear-gradient(0deg, rgba(11,11,10,.55) 0%, transparent 38%);
    pointer-events:none;
  }
  /* signature : fumée de hêtre */
  .smoke{ position:absolute; inset:-10%; z-index:3; pointer-events:none; mix-blend-mode:screen; }
  .smoke span{
    position:absolute; border-radius:50%;
    background:radial-gradient(closest-side, rgba(220,228,200,.16), transparent 70%);
    filter:blur(26px);
    animation:drift 22s ease-in-out infinite;
  }
  .smoke span:nth-child(1){ width:380px; height:230px; left:6%;  bottom:8%;  animation-duration:26s; }
  .smoke span:nth-child(2){ width:300px; height:190px; left:38%; bottom:28%; animation-duration:21s; animation-delay:-7s; opacity:.8; }
  .smoke span:nth-child(3){ width:460px; height:260px; left:18%; bottom:48%; animation-duration:30s; animation-delay:-13s; opacity:.6; }
  @keyframes drift{
    0%   { transform:translate(0,0) scale(1); }
    50%  { transform:translate(70px,-90px) scale(1.18); }
    100% { transform:translate(0,0) scale(1); }
  }
  .hero-tag{
    position:absolute; z-index:4; bottom:46px; inset-inline-start:46px;
    background:rgba(11,11,10,.82); backdrop-filter:blur(8px);
    border-inline-start:2px solid var(--lime);
    padding:18px 26px;
  }
  .hero-tag .a{ font-size:9px; letter-spacing:.26em; text-transform:uppercase; color:var(--muted); margin-bottom:7px; }
  .hero-tag .b{ font-family:'Cormorant Garamond',serif; font-size:21px; color:var(--lime-soft); letter-spacing:.04em; }
  .hero-tag .c{ font-size:11px; letter-spacing:.14em; color:var(--muted); margin-top:5px; text-transform:uppercase; }
  .scroll-cue{
    position:absolute; bottom:26px; left:6vw; z-index:4;
    display:flex; align-items:center; gap:10px;
    font-size:9px; letter-spacing:.3em; text-transform:uppercase; color:var(--muted);
  }
  .scroll-cue::after{ content:''; width:1px; height:34px; background:linear-gradient(var(--lime), transparent); animation:cue 1.8s ease-in-out infinite; }
  @keyframes cue{ 0%,100%{opacity:.3} 50%{opacity:1} }

  /* ── MARQUEE ── */
  .marquee{
    border-top:1px solid var(--hair); border-bottom:1px solid var(--hair);
    background:#0D0D0B; overflow:hidden; padding:16px 0; position:relative; z-index:5;
  }
  .marquee-track{ display:flex; gap:0; width:max-content; animation:mq 38s linear infinite; }
  .marquee span{
    font-family:'Cormorant Garamond',serif; font-size:24px; letter-spacing:.14em;
    text-transform:uppercase; white-space:nowrap; padding:0 26px; color:transparent;
    -webkit-text-stroke:1px rgba(181,204,46,.5);
  }
  .marquee span.solid{ color:var(--lime); -webkit-text-stroke:0; font-style:italic; }
  @keyframes mq{ from{transform:translateX(0)} to{transform:translateX(-50%)} }
  [dir="rtl"] .marquee{ direction:ltr; }

  /* ── CERTS ── */
  .certs{
    display:grid; grid-template-columns:repeat(4,1fr); gap:0;
    background:var(--slate);
  }
  .cert{
    display:flex; align-items:center; gap:14px; padding:26px 28px;
    border-inline-end:1px solid var(--hair2);
  }
  .cert:last-child{ border-inline-end:0; }
  .cert-ic{
    width:38px; height:38px; border:1px solid var(--lime); border-radius:50%;
    display:flex; align-items:center; justify-content:center; flex-shrink:0;
  }
  .cert-ic svg{ width:16px; height:16px; stroke:var(--lime); fill:none; stroke-width:1.6; }
  .cert .t{ font-size:13px; font-weight:600; letter-spacing:.1em; color:var(--blanc); }
  .cert .d{ font-size:10px; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); margin-top:3px; }

  /* ── SECTION HEADER (style catalogue : barre verte) ── */
  section{ position:relative; }
  .sec-head{ display:flex; align-items:flex-start; gap:22px; margin-bottom:14px; }
  .sec-bar{ width:4px; align-self:stretch; background:var(--lime); flex-shrink:0; }
  .sec-kicker{ font-size:10px; letter-spacing:.34em; text-transform:uppercase; color:var(--lime); margin-bottom:10px; }
  .sec-title{
    font-family:'Cormorant Garamond',serif; font-weight:300;
    font-size:clamp(34px, 3.6vw, 56px); line-height:1.08; color:var(--blanc);
  }
  .sec-title em{ font-style:italic; color:var(--lime); }
  .sec-desc{ font-weight:300; font-size:15px; line-height:1.8; color:var(--muted); max-width:520px; margin-top:14px; }

  /* ── GAMMES : aperçu des 7 catégories ── */
  .gammes{ padding:110px 6vw 60px; background:var(--noir); }
  .gammes .sec-head{ margin-bottom:14px; }
  .pro-banner{ display:flex; align-items:stretch; gap:22px; margin-bottom:54px; }
  .pro-banner .sec-bar{ width:4px; align-self:stretch; background:var(--lime); flex-shrink:0; }
  .pro-tag{ font-size:11px; letter-spacing:.34em; text-transform:uppercase; color:var(--lime); margin-bottom:14px; }
  .pro-title{
    font-family:'Cormorant Garamond',serif; font-weight:400; line-height:1.0;
    font-size:clamp(48px,7vw,98px); color:var(--blanc); letter-spacing:.005em;
  }
  .pro-title em{ font-style:italic; color:var(--lime); }
  .pro-sub{ font-weight:300; font-size:15.5px; line-height:1.8; color:var(--muted); max-width:620px; margin-top:18px; }
  .pro-subtitle{ margin-top:14px; }
  @media(max-width:560px){ .pro-banner{ gap:16px; margin-bottom:40px; } }
  .gammes-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin-top:46px; }
  .gamme-card{
    position:relative; display:flex; flex-direction:column; gap:13px;
    padding:26px 24px 22px; text-decoration:none; overflow:hidden; min-height:155px;
    justify-content:space-between;
    background:linear-gradient(160deg, var(--slate2) 0%, var(--slate) 100%);
    border:1px solid var(--hair2); border-radius:4px; transition:.25s;
  }

  .gamme-card.gamme-card-foie{
    background-image:
      linear-gradient(160deg, rgba(11,11,10,.12) 0%, rgba(11,11,10,.30) 100%),
      url('img/gamme_card_gamme_card_foie.png');
    background-size:cover, cover;
    background-position:center center, center center;
    background-repeat:no-repeat, no-repeat;
    background-color:#1a120d;
  }
  .gamme-card.gamme-card-foie h3,
  .gamme-card.gamme-card-foie .gamme-go{
    position:relative;
    z-index:2;
    text-shadow:0 2px 16px rgba(0,0,0,.72);
  }

  .gamme-card.gamme-card-canard{
    background-image:
      linear-gradient(160deg, rgba(11,11,10,.12) 0%, rgba(11,11,10,.30) 100%),
      url('img/gamme_card_gamme_card_canard.jpg');
    background-size:122% auto;
    background-position:center 38%;
    background-repeat:no-repeat;
  }
  .gamme-card.gamme-card-canard h3,
  .gamme-card.gamme-card-canard .gamme-go{
    position:relative;
    z-index:2;
    text-shadow:0 2px 16px rgba(0,0,0,.72);
  }

  .gamme-card.gamme-card-boeuf{
    background-image:
      linear-gradient(160deg, rgba(11,11,10,.12) 0%, rgba(11,11,10,.30) 100%),
      url('img/gamme_card_gamme_card_boeuf.jpg');
    background-size:cover;
    background-position:center center;
    background-repeat:no-repeat;
  }
  .gamme-card.gamme-card-boeuf h3,
  .gamme-card.gamme-card-boeuf .gamme-go{
    position:relative;
    z-index:2;
    text-shadow:0 2px 16px rgba(0,0,0,.72);
  }

  .gamme-card.gamme-card-volaille{
    background-image:
      linear-gradient(160deg, rgba(11,11,10,.12) 0%, rgba(11,11,10,.30) 100%),
      url('img/gamme_card_gamme_card_volaille.jpg');
    background-size:cover;
    background-position:center center;
    background-repeat:no-repeat;
  }
  .gamme-card.gamme-card-volaille h3,
  .gamme-card.gamme-card-volaille .gamme-go{
    position:relative;
    z-index:2;
    text-shadow:0 2px 16px rgba(0,0,0,.72);
  }

  .gamme-card.gamme-card-conserve{
    background-image:
      linear-gradient(160deg, rgba(11,11,10,.12) 0%, rgba(11,11,10,.30) 100%),
      url('img/gamme_card_gamme_card_conserve.jpg');
    background-size:cover;
    background-position:center center;
    background-repeat:no-repeat;
  }
  .gamme-card.gamme-card-conserve h3,
  .gamme-card.gamme-card-conserve .gamme-go{
    position:relative;
    z-index:2;
    text-shadow:0 2px 16px rgba(0,0,0,.72);
  }

  .gamme-card.gamme-card-surgele{
    background-image:
      linear-gradient(160deg, rgba(11,11,10,.12) 0%, rgba(11,11,10,.30) 100%),
      url('img/gamme_card_gamme_card_surgele.png');
    background-size:cover;
    background-position:center center;
    background-repeat:no-repeat;
  }
  .gamme-card.gamme-card-surgele h3,
  .gamme-card.gamme-card-surgele .gamme-go{
    position:relative;
    z-index:2;
    text-shadow:0 2px 16px rgba(0,0,0,.72);
  }

  .gamme-card.gamme-card-oie{
    background-image:
      linear-gradient(160deg, rgba(11,11,10,.12) 0%, rgba(11,11,10,.30) 100%),
      url('img/gamme_card_gamme_card_oie.jpg'); background-size:contain !important; background-repeat:no-repeat; background-position:center center; background-color:#F4F4F2; }
  
  .ph-blocterrine-foiegras{ background-image:url('img/ph_blocterrine_foiegras.png'); background-size:cover !important; background-repeat:no-repeat; background-position:center center; background-color:#F4F4F2; }
  .ph-blocmicuitconserve-foiegras{ background-image:url('img/ph_blocmicuitconserve_foiegras.png'); background-size:cover !important; background-repeat:no-repeat; background-position:center center; background-color:#F4F4F2; }
.ph-autrecanard{ background-image:url('img/ph_autrecanard.jpg');
    background-size:cover, auto 74%;
    background-position:center center, center 56%;
    background-repeat:no-repeat, no-repeat;
    background-color:#1a120d;
  }
  .gamme-card.gamme-card-oie h3,
  .gamme-card.gamme-card-oie .gamme-go{
    position:relative;
    z-index:2;
    text-shadow:0 2px 16px rgba(0,0,0,.72);
  }
  .gamme-card::before{
    content:''; position:absolute; inset:0; pointer-events:none; opacity:0; transition:.25s;
    background:radial-gradient(420px 200px at 100% 0, rgba(181,204,46,.10), transparent 60%);
  }
  .gamme-card:hover{ border-color:var(--lime); transform:translateY(-3px); }
  .gamme-card:hover::before{ opacity:1; }
  .gamme-card h3{
    font-family:'Cormorant Garamond',serif; font-weight:400; font-size:25px;
    line-height:1.12; color:var(--blanc);
  }
  .gamme-go{
    display:inline-flex; align-items:center; gap:8px; margin-top:2px;
    font-size:10px; letter-spacing:.2em; text-transform:uppercase; font-weight:600; color:var(--lime);
  }
  .gamme-go svg{ width:14px; height:14px; stroke:var(--lime); fill:none; stroke-width:2; transition:.25s; }
  .gamme-card:hover .gamme-go svg{ transform:translateX(4px); }
  [dir="rtl"] .gamme-go svg{ transform:scaleX(-1); }
  [dir="rtl"] .gamme-card:hover .gamme-go svg{ transform:translateX(-4px) scaleX(-1); }

  /* décalage d'ancrage pour la barre de navigation fixe */
  #produits, .gamme-anchor{ scroll-margin-top:96px; }
  @media(max-width:980px){ .gammes-grid{ grid-template-columns:repeat(2,1fr); } }
  @media(max-width:560px){ .gammes-grid{ grid-template-columns:1fr; } }

  /* ── FOIE GRAS ── */
  .fg{ padding:110px 6vw 80px; background:var(--noir); }
  .fg-intro{ display:grid; grid-template-columns:1.2fr .8fr; gap:60px; align-items:end; margin-bottom:70px; }
  .fg-groups{ display:flex; flex-direction:column; gap:64px; }
  .fg-group{ display:grid; grid-template-columns:300px 1fr; gap:44px; align-items:start; }
  .fg-side{ position:sticky; top:106px; }
  .fg-chip{
    display:inline-flex; align-items:center; gap:8px;
    font-size:10px; letter-spacing:.26em; text-transform:uppercase; font-weight:600;
    color:var(--lime); background:#ffffff; border:1px solid var(--lime); padding:7px 14px; border-radius:2px; margin-bottom:18px;
  }
  .fg-chip.ghost{ background:transparent; color:var(--lime); border:1px solid var(--lime); }
  .fg-side h3{
    font-family:'Cormorant Garamond',serif; font-weight:400; font-size:30px;
    line-height:1.15; margin-bottom:14px;
  }
  .fg-side p{ font-weight:300; font-size:14px; line-height:1.75; color:var(--muted); }
  .fg-cards{ display:grid; gap:18px; }
  .fg-cards.two{ grid-template-columns:repeat(2,1fr); }
  .fg-cards.three{ grid-template-columns:repeat(3,1fr); }
  .fg-card{
    position:relative; overflow:hidden; border-radius:3px; cursor:pointer;
    border:1px solid var(--hair2); background:var(--slate);
  }
  .fg-card .ph{
    width:100%; aspect-ratio:4/3; background-size:cover; background-position:center;
    transition:transform .65s ease, filter .65s ease; filter:saturate(.95);
  }
  .fg-card:hover .ph{ transform:scale(1.05); filter:saturate(1.08); }
  .fg-card:hover .ph-cuissecru{ transform:none; filter:saturate(1.02); }
  .fg-card figcaption{
    position:absolute; inset-inline:0; bottom:0; padding:42px 20px 16px;
    background:linear-gradient(0deg, rgba(11,11,10,.9) 10%, transparent 100%);
    display:flex; flex-direction:column; gap:5px;
  }
  .fg-card .nm{ font-family:'Cormorant Garamond',serif; font-size:21px; color:var(--blanc); }
  .fg-card .ct{ font-size:9px; letter-spacing:.24em; text-transform:uppercase; color:var(--lime); font-weight:600; }

  .fg-card::after{
    content:'Commander';
    position:absolute; top:12px; right:12px; z-index:2;
    padding:7px 11px; border-radius:999px;
    background:rgba(255,255,255,.86); color:#111;
    font-size:9px; letter-spacing:.16em; text-transform:uppercase; font-weight:600;
    opacity:0; transform:translateY(-4px); transition:.22s;
    pointer-events:none;
  }
  .fg-card:hover::after{ opacity:1; transform:translateY(0); }
  .fg-divider{ height:1px; background:linear-gradient(90deg, var(--hair), transparent); }

  .ph-deveine{ background-image:url('img/ph_deveine.jpg'); }
  .ph-fglobe{      background-image:url('img/ph_fglobe.jpg'); }
  .ph-escalope{    background-image:url('img/ph_escalope.jpg'); }
  .ph-magretcru{   background-image:url('img/ph_magretcru.jpg'); }
  .ph-cuissecru{ background-image:url('img/ph_cuissecru.jpg'); background-size:contain !important; background-repeat:no-repeat; background-position:center center; background-color:#F4F4F2; }
  .ph-autrecanard{ background-image:url('img/ph_autrecanard_2.jpg'); }
  .ph-conserve{  background-image:url('img/ph_conserve.jpg'); }
  .ph-graisse2{  background-image:url('img/ph_graisse2.jpg'); }
  .ph-rillette{  background-image:url('img/ph_rillette.jpg'); }
  .ph-confitsv{  background-image:url('img/ph_confitsv.jpg'); }
  .ph-magretf{   background-image:url('img/ph_magretf.jpg'); }
  .ph-magretmar{ background-image:url('img/ph_magretmar.jpg'); }
  .ph-ficelle{   background-image:url('img/ph_ficelle.jpg'); }
  .ph-salami{    background-image:url('img/ph_salami.jpg'); }
  .ph-burger{    background-image:url('img/ph_burger.jpg'); }
  .ph-plaquette{ background-image:url('img/ph_plaquette.jpg'); }
  .ph-saucisse{  background-image:linear-gradient(135deg, #b07850 0%, #804828 50%, #502810 100%); }
  .ph-grattons{  background-image:url('img/ph_grattons.jpg'); }
  .ph-pastnat{    background-image:url('img/ph_pastnat.jpg'); }
  .ph-pastpoivre{ background-image:url('img/ph_pastpoivre.jpg'); }
  .ph-carpaccio{ background-image:linear-gradient(135deg, #b85868 0%, #883040 50%, #581828 100%); }
  .ph-burgergt{ background-image:linear-gradient(135deg, #a86848 0%, #784028 50%, #482010 100%); }
  .ph-dinderoul{  background-image:url('img/ph_dinderoul.jpg'); }
  .ph-dindefume{  background-image:url('img/ph_dindefume.jpg'); }
  .ph-pouletfume{ background-image:url('img/ph_pouletfume.jpg'); }
  .ph-bid1{ background-image:linear-gradient(135deg, #c8c4bc 0%, #98948c 50%, #686460 100%); }
  .ph-bid2{ background-image:linear-gradient(135deg, #d8c890 0%, #a89850 50%, #786828 100%); }
  .ph-bid3{ background-image:linear-gradient(135deg, #c0b8b0 0%, #908880 50%, #605850 100%); }
  .ph-bid4{ background-image:linear-gradient(135deg, #b8a890 0%, #887858 50%, #584830 100%); }
  .ph-bid5{ background-image:linear-gradient(135deg, #d0c8a0 0%, #a09860 50%, #706838 100%); }
  .ph-bid6{ background-image:linear-gradient(135deg, #c4bcae 0%, #948c7e 50%, #645c4e 100%); }
  .ph-bid7{ background-image:linear-gradient(135deg, #bcb4a8 0%, #8c8478 50%, #5c5448 100%); }
  .ph-oie1{ background-image:linear-gradient(135deg, #a85858 0%, #783030 50%, #481818 100%); }
  .ph-oie2{ background-image:linear-gradient(135deg, #8a4838 0%, #5a2818 50%, #3a1808 100%); }
  .ph-oie3{ background-image:linear-gradient(135deg, #b8783a 0%, #884818 50%, #582808 100%); }
  .ph-oie4{ background-image:linear-gradient(135deg, #b06848 0%, #804028 50%, #502410 100%); }
  .ph-oie5{ background-image:linear-gradient(135deg, #c08850 0%, #905828 50%, #603810 100%); }
  .ph-oie6{ background-image:linear-gradient(135deg, #e8d8b0 0%, #c0a868 50%, #907838 100%); }
  .ph-oie7{ background-image:linear-gradient(135deg, #d8c098 0%, #a89058 50%, #786030 100%); }
  .bidon-note{ position:absolute; top:14px; inset-inline-start:14px; z-index:2;
    font-size:8px; letter-spacing:.18em; text-transform:uppercase; font-weight:600;
    color:var(--lime); background:rgba(11,11,10,.55); border:1px solid var(--hair); border-radius:2px; padding:4px 8px; }
  .ph-bloc{    background-image:url('img/ph_bloc.jpg'); }
  .ph-terrine{ background-image:url('img/ph_terrine.jpg'); }
  .ph-cans{    background-image:url('img/ph_cans.jpg'); }
  .ph-magret{  background-image:url('img/ph_magret.jpg'); }
  .ph-fume{    background-image:url('img/ph_fume.jpg'); }
  .ph-cuisse{  background-image:url('img/ph_cuisse.jpg'); }

  /* ── AUTRES SPÉCIALITÉS ── */
  .others{ padding:80px 6vw 120px; background:var(--noir); }
  .others .sec-head{ margin-bottom:54px; }
  .products-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:3px; }
  .product-card{ position:relative; overflow:hidden; background:var(--slate2); cursor:pointer; border-radius:2px; }
  .product-card.large{ grid-column:span 2; grid-row:span 2; }
  .product-card .pc-img{
    width:100%; height:100%; min-height:235px; display:block;
    transition:transform .6s ease, filter .6s ease; filter:saturate(.9);
    background-size:cover; background-position:center;
  }
  .product-card.large .pc-img{ min-height:478px; }
  .product-card:hover .pc-img{ transform:scale(1.045); filter:saturate(1.1); }
  .pc-info{
    position:absolute; inset-inline:0; bottom:0; padding:34px 22px 18px;
    background:linear-gradient(0deg, rgba(11,11,10,.88) 0%, transparent 100%);
  }
  .pc-info .p-name{ font-size:9px; letter-spacing:.24em; text-transform:uppercase; color:var(--lime); font-weight:600; }
  .pc-info .p-title{ font-family:'Cormorant Garamond',serif; font-size:21px; color:var(--blanc); margin-top:4px; }
  .product-card.large .p-title{ font-size:30px; }
  .pc-arrow{
    position:absolute; top:18px; inset-inline-end:18px; width:34px; height:34px;
    border:1px solid rgba(244,241,232,.4); border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    opacity:0; transform:scale(.8); transition:.3s; background:rgba(11,11,10,.4); backdrop-filter:blur(4px);
  }
  .pc-arrow svg{ width:13px; height:13px; stroke:var(--blanc); fill:none; stroke-width:2; }
  .product-card:hover .pc-arrow{ opacity:1; transform:scale(1); }
  /* dégradés d'origine — produits inchangés */
  .img-smoked    { background-image:linear-gradient(135deg, #8a4838 0%, #5a2818 50%, #3a1808 100%); }
  .img-confit    { background-image:linear-gradient(135deg, #b8783a 0%, #884818 50%, #582808 100%); }
  .img-pastrami  { background-image:linear-gradient(135deg, #983820 0%, #682010 50%, #381008 100%); }
  .img-poultry   { background-image:linear-gradient(135deg, #d8a850 0%, #a87830 50%, #784820 100%); }
  .img-retail    { background-image:linear-gradient(135deg, #384868 0%, #283448 50%, #182030 100%); }
  .img-foodservice{ background-image:linear-gradient(135deg, #284858 0%, #183038 50%, #081820 100%); }
  .img-graisse  { background-image:linear-gradient(135deg, #e8d8a8 0%, #c8a860 50%, #987830 100%); }
  .img-manchons { background-image:linear-gradient(135deg, #b86838 0%, #883818 50%, #582010 100%); }
  .img-gesiers  { background-image:linear-gradient(135deg, #883830 0%, #582018 50%, #381010 100%); }
  .product-card:nth-last-child(-n+2){ grid-column:span 2; }
  .product-card:nth-last-child(-n+2) .pc-img{ min-height:200px; }

  /* ── HISTOIRE ── */
  .histoire{
    padding:120px 6vw; background:var(--slate);
    display:grid; grid-template-columns:1.05fr .95fr; gap:80px; align-items:center;
    border-top:1px solid var(--hair2); border-bottom:1px solid var(--hair2);
  }
  .ab-text .sec-head{ margin-bottom:26px; }
  .ab-text p{ font-weight:300; font-size:15px; line-height:1.85; color:var(--muted); margin-bottom:18px; max-width:560px; }
  .ab-text p strong{ color:var(--blanc); font-weight:500; }
  .pillars{ margin-top:38px; display:grid; grid-template-columns:1fr 1fr; gap:0; border-top:1px solid var(--hair2); }
  .pillar{ padding:22px 18px 22px 0; border-bottom:1px solid var(--hair2); display:flex; gap:14px; align-items:flex-start; }
  .pillar svg{ width:15px; height:15px; flex-shrink:0; margin-top:3px; }
  .pillar h3{ font-size:12px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--blanc); margin-bottom:7px; }
  .pillar p{ font-size:13px; line-height:1.65; color:var(--muted); margin:0; font-weight:300; }
  .ab-visual{ position:relative; }
  .ab-frame{
    position:relative; aspect-ratio:3/3.6; border-radius:3px; overflow:hidden;
    background-image:url('img/ab_frame.jpg'); background-size:cover; background-position:center;
  }
  .ab-frame::before{ content:''; position:absolute; inset:0; box-shadow:inset 0 0 0 1px rgba(244,241,232,.12); }
  .ab-visual::after{
    content:''; position:absolute; inset:18px -18px -18px 18px; z-index:-1;
    border:1px solid var(--hair); border-radius:3px;
  }
  .ab-badge{
    position:absolute; bottom:-26px; inset-inline-start:-26px;
    width:128px; height:128px; border-radius:50%;
    background:var(--lime); color:var(--noir);
    display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center;
    box-shadow:0 0 0 10px var(--slate);
  }
  .ab-badge .y{ font-family:'Cormorant Garamond',serif; font-size:30px; line-height:1; font-weight:400; }
  .ab-badge .t{ font-size:8px; letter-spacing:.18em; text-transform:uppercase; font-weight:600; margin-top:5px; line-height:1.5; }
  .ab-tag{
    position:absolute; top:30px; inset-inline-end:-14px;
    background:var(--noir); border-inline-start:2px solid var(--lime);
    padding:13px 20px;
  }
  .ab-tag .a{ font-family:'Cormorant Garamond',serif; font-size:21px; color:var(--lime-soft); }
  .ab-tag .b{ font-size:9px; letter-spacing:.2em; text-transform:uppercase; color:var(--muted); margin-top:3px; }

  /* ── EXPORT / CARTE ── */
  .export{ padding:120px 6vw; background:var(--noir); }
  .export-grid{ display:grid; grid-template-columns:.9fr 1.45fr; gap:60px; align-items:start; margin-top:10px; }
  .export-left p{ font-weight:300; font-size:15px; line-height:1.8; color:var(--muted); margin:18px 0 30px; }
  .hq-legend{ display:flex; align-items:center; gap:12px; padding:14px 0; border-top:1px solid var(--hair2); }
  .hq-dot{ width:11px; height:11px; border-radius:50%; background:var(--lime); box-shadow:0 0 0 4px rgba(181,204,46,.18); flex-shrink:0; }
  .hq-legend span{ font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--blanc); }
  .chips{ display:flex; flex-wrap:wrap; gap:8px; margin-top:22px; }
  .chip{
    display:inline-flex; align-items:center; gap:7px;
    font-size:12px; color:var(--blanc); font-weight:300;
    border:1px solid var(--hair2); border-radius:999px; padding:7px 14px;
    transition:.2s; cursor:default; background:rgba(255,255,255,.012);
  }
  .chip:hover{ border-color:var(--lime); color:var(--lime-soft); }
  .chip .f{ font-size:14px; }
  .chip.more{ border-style:dashed; color:var(--muted); font-style:italic; }
  .map-panel{
    position:relative; background:transparent;
    border:none; border-radius:0; padding:0; overflow:visible; box-shadow:none;
  }
  .map-panel::before{ display:none; content:none; }
  .map-head{ display:none !important; }
  .map-head .mt{ font-size:10px; letter-spacing:.3em; text-transform:uppercase; color:var(--muted); }
  .map-head .mn{ display:flex; align-items:center; gap:6px; font-size:10px; letter-spacing:.2em; color:var(--muted); }
  #euromapimg{ width:100%; height:auto; display:block; border:1px solid var(--hair2); border-radius:4px; background:#F7F6F1; }
  #worldmap{ display:none !important; width:100%; height:auto; }
  .map-sep{ display:none !important; }
  .map-sep::after{ content:''; flex:1; height:1px; background:var(--hair2); }
  .map-sep span{ font-size:9px; letter-spacing:.3em; text-transform:uppercase; color:var(--muted); }

  /* ── SOCIAL ── */
  .social{ padding:110px 6vw; background:var(--slate); border-top:1px solid var(--hair2); }
  .social-flex{ display:grid; grid-template-columns:.8fr 1.2fr; gap:64px; align-items:center; }
  .insta-tiles{ display:grid; grid-template-columns:repeat(3,1fr); gap:4px; }
  .insta-tile{ aspect-ratio:1; overflow:hidden; position:relative; cursor:pointer; border-radius:2px; }
  .insta-tile-bg{ width:100%; height:100%; transition:transform .4s, filter .4s; filter:saturate(.8); }
  .insta-tile:hover .insta-tile-bg{ transform:scale(1.07); filter:saturate(1.1); }
  .it1{ background:linear-gradient(135deg, #8a4020 0%, #502010 100%); }
  .it2{ background:linear-gradient(135deg, #c89040 0%, #886020 100%); }
  .it3{ background:linear-gradient(135deg, #603030 0%, #301818 100%); }
  .it4{ background:linear-gradient(135deg, #284858 0%, #102030 100%); }
  .it5{ background:linear-gradient(135deg, #988040 0%, #685020 100%); }
  .it6{ background:linear-gradient(135deg, #a05030 0%, #603018 100%); }
  .it7{ background:linear-gradient(135deg, #483820 0%, #282010 100%); }
  .it8{ background:linear-gradient(135deg, #c0a060 0%, #806030 100%); }
  .it9{ background:linear-gradient(135deg, #705040 0%, #402820 100%); }
  .ig-btn{
    display:inline-flex; align-items:center; gap:10px; margin-top:30px;
    border:1px solid var(--hair); color:var(--lime); text-decoration:none;
    font-size:11px; letter-spacing:.2em; text-transform:uppercase; font-weight:500;
    padding:14px 26px; border-radius:2px; transition:.2s;
  }
  .ig-btn:hover{ background:rgba(181,204,46,.08); border-color:var(--lime); }
  .ig-btn svg{ width:15px; height:15px; stroke:currentColor; fill:none; stroke-width:1.6; }

  /* ── CONTACT ── */
  .contact{ padding:120px 6vw; background:var(--slate); border-top:1px solid var(--hair2); }
  .contact-grid{ display:grid; grid-template-columns:.82fr 1.18fr; gap:70px; align-items:start; margin-top:18px; }
  .contact-left p{ font-weight:300; font-size:15px; line-height:1.8; color:var(--muted); margin:18px 0 34px; max-width:430px; }
  .profile-q{ font-size:11px; letter-spacing:.22em; text-transform:uppercase; color:var(--lime); font-weight:600; margin-bottom:16px; }
  .profiles{ display:flex; flex-direction:column; gap:9px; }
  .profile-err{ display:block; margin-top:12px; font-size:12.5px; letter-spacing:.03em; color:#c0563c; font-weight:500; }
  .profile-err[hidden]{ display:none; }
  .profiles.invalid .profile-btn{ border-color:#c0563c; }
  .profile-btn{
    display:flex; align-items:center; justify-content:space-between; gap:14px;
    width:100%; text-align:start; cursor:pointer;
    background:rgba(255,255,255,.014); border:1px solid var(--hair2); border-radius:3px;
    padding:15px 18px; color:var(--blanc); font-family:inherit; font-size:14px; font-weight:300;
    transition:.2s;
  }
  .profile-btn:hover{ border-color:var(--lime); background:rgba(181,204,46,.05); }
  .profile-btn.on{ border-color:var(--lime); background:rgba(181,204,46,.1); color:var(--lime-soft); box-shadow:0 10px 28px rgba(181,204,46,.08), inset 0 0 0 1px rgba(181,204,46,.22); }
  .profile-btn .pk{ display:flex; align-items:center; gap:13px; }
  .profile-btn .pk span:last-child{ transition:font-weight .2s,color .2s; }
  .profile-btn svg{ width:17px; height:17px; stroke:var(--lime); fill:none; stroke-width:1.5; flex-shrink:0; }
  .profile-btn .chev{ width:14px; height:14px; stroke:currentColor; opacity:.5; transition:.2s; }
  .profile-btn.on .chev{ opacity:1; transform:translateX(3px); }
  .profile-btn.on .pk span:last-child, .profile-btn.on .profile-extra{ font-weight:700; }
  .profile-extra{ margin-left:auto; padding:0 8px 0 16px; font-size:12px; letter-spacing:.12em; text-transform:uppercase; white-space:nowrap; color:var(--muted); font-weight:600; transition:.2s; }
  .profile-btn:hover .profile-extra{ color:var(--lime-soft); }

  .contact-team-card{
    margin-top:34px; padding:28px 30px 30px 34px;
    border:1px solid var(--hair2); border-radius:16px;
    background:linear-gradient(180deg, rgba(181,204,46,.06), rgba(255,255,255,.015));
    position:relative; overflow:hidden;
  }
  .contact-team-card::before{
    content:''; position:absolute; left:0; top:22px; bottom:22px; width:4px;
    background:var(--lime); border-radius:0 4px 4px 0;
  }
  .contact-team-card h3{
    margin:0 0 18px; padding-left:18px;
    font-size:22px; line-height:1.18; font-weight:700; color:var(--blanc);
  }
  .contact-team-card .team-mail{
    display:inline-block; margin-left:18px; text-decoration:none; color:var(--blanc);
    font-size:18px; font-weight:600; letter-spacing:.01em;
    padding-bottom:3px; border-bottom:1px solid rgba(181,204,46,.35); transition:.2s;
  }
  .contact-team-card .team-mail:hover{ color:var(--lime-soft); border-bottom-color:var(--lime); }

  .contact-form{ position:relative; background:linear-gradient(160deg,#11110F,#0C0C0B 70%); border:1px solid var(--hair2); border-radius:4px; padding:38px 38px 34px; }
  .form-locked{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center; text-align:center; padding:40px; border-radius:4px; background:rgba(10,10,9,.82); backdrop-filter:blur(3px); z-index:3; transition:opacity .35s; }
  .form-locked p{ color:var(--muted); font-weight:300; font-size:15px; max-width:300px; line-height:1.7; }
  .contact-form.ready .form-locked{ opacity:0; pointer-events:none; }
  .fgrp-title{ font-size:10px; letter-spacing:.26em; text-transform:uppercase; color:var(--lime); font-weight:600; margin:6px 0 18px; display:flex; align-items:center; gap:12px; }
  .fgrp-title::after{ content:''; flex:1; height:1px; background:var(--hair2); }
  .fgrp-title:not(:first-child){ margin-top:30px; }
  .form-profile-badge{
    display:flex; align-items:center; gap:10px; flex-wrap:wrap;
    margin:0 0 22px; padding:11px 15px; border-radius:7px;
    background:rgba(181,204,46,.1); border:1px solid var(--hair);
  }
  .form-profile-badge[hidden]{ display:none; }
  .fpb-tag{ font-family:'Jost',sans-serif; font-size:10px; letter-spacing:.26em; text-transform:uppercase; color:var(--lime-deep); font-weight:600; }
  .fpb-val{ font-family:'Jost',sans-serif; font-size:13.5px; font-weight:500; color:var(--blanc); }
  .form-row{ display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:14px; }
  .form-row.one{ grid-template-columns:1fr; }
  .form-row.tri{ grid-template-columns:.6fr 1.4fr; }
  .field{ display:flex; flex-direction:column; gap:6px; }
  .field label{ font-size:11px; letter-spacing:.1em; color:var(--muted); font-weight:400; }
  .field label .req{ color:var(--lime); }
  .field input, .field select, .field textarea{
    width:100%; background:rgba(255,255,255,.02); border:1px solid var(--hair2); border-radius:3px;
    padding:11px 13px; color:var(--blanc); font-family:inherit; font-size:14px; font-weight:300; transition:.2s;
  }
  .field input:focus, .field select:focus, .field textarea:focus{ outline:none; border-color:var(--lime); background:rgba(181,204,46,.04); }
  .field textarea{ resize:vertical; min-height:104px; }
  .field select{ appearance:none; cursor:pointer;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%239A9484' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
    background-repeat:no-repeat; background-position:right 13px center; padding-inline-end:34px; }
  [dir="rtl"] .field select{ background-position:left 13px center; }
  .field select option{ background:#11110F; color:var(--blanc); }
  .consent{ display:flex; gap:11px; align-items:flex-start; margin:22px 0 6px; }
  .consent input{ width:16px; height:16px; margin-top:3px; accent-color:var(--lime); flex-shrink:0; cursor:pointer; }
  .consent label{ font-size:12px; line-height:1.6; color:var(--muted); font-weight:300; }
  .consent a{ color:var(--lime-soft); text-decoration:underline; text-underline-offset:2px; }
  .form-foot{ display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; margin-top:20px; }
  .form-note{ font-size:11px; color:rgba(154,148,132,.7); font-style:italic; }
  .btn-submit{
    display:inline-flex; align-items:center; gap:10px; cursor:pointer;
    background:var(--lime); color:var(--noir); border:none; border-radius:2px;
    font-family:inherit; font-size:12px; letter-spacing:.16em; text-transform:uppercase; font-weight:600;
    padding:15px 30px; transition:.2s;
  }
  .btn-submit:hover{ background:var(--lime-soft); transform:translateY(-1px); }
  .btn-submit svg{ width:15px; height:15px; stroke:currentColor; fill:none; stroke-width:2; }
  .form-sent{ display:none; text-align:center; padding:30px 10px; }
  .contact-form.sent .form-body{ display:none; }
  .contact-form.sent .form-sent{ display:block; }
  .form-sent .ck{ width:54px; height:54px; margin:0 auto 18px; border-radius:50%; background:rgba(181,204,46,.13); display:flex; align-items:center; justify-content:center; }
  .form-sent .ck svg{ width:26px; height:26px; stroke:var(--lime); fill:none; stroke-width:2; }
  .form-sent h3{ font-family:'Cormorant Garamond',serif; font-size:26px; color:var(--blanc); margin-bottom:8px; }
  .form-sent p{ color:var(--muted); font-weight:300; font-size:14px; }
  .invalid{ border-color:#c0563c !important; }

  /* ── CTA BAND ── */
  .cta-band{
    background:var(--noir); padding:110px 6vw; position:relative; overflow:hidden;
    display:grid; grid-template-columns:1fr auto; gap:60px; align-items:center;
    border-top:1px solid var(--hair2);
  }
  .cta-band::before{
    content:'PROFUMA'; position:absolute; top:50%; left:4vw; transform:translateY(-50%);
    font-family:'Cormorant Garamond',serif; font-size:208px; font-weight:500;
    letter-spacing:.08em; color:transparent; -webkit-text-stroke:1px rgba(181,204,46,.08);
    pointer-events:none; white-space:nowrap;
  }
  .cta-text{ position:relative; z-index:2; }
  .cta-text h2{ font-family:'Cormorant Garamond',serif; font-weight:300; font-size:clamp(32px,3.2vw,52px); line-height:1.12; margin-bottom:16px; }
  .cta-text h2 em{ font-style:italic; color:var(--lime); }
  .cta-text p{ font-size:15px; font-weight:300; color:var(--muted); max-width:480px; line-height:1.75; }
  .cta-actions{ display:flex; flex-direction:column; gap:12px; position:relative; z-index:2; min-width:230px; }

  /* ── FOOTER ── */
  footer{ background:#080807; padding:70px 6vw 30px; border-top:1px solid var(--hair2); }
  .footer-top{ display:grid; grid-template-columns:auto auto; justify-content:start; column-gap:clamp(90px,13vw,200px); row-gap:54px; padding-bottom:48px; border-bottom:1px solid var(--hair2); }
  .f-brand .logo{ margin-bottom:18px; }
  .f-brand p{ font-size:13px; line-height:1.75; color:var(--muted); font-weight:300; max-width:280px; margin-bottom:22px; }
  .f-contact{ display:flex; flex-direction:column; gap:9px; }
  .f-contact a, .f-contact span{ font-size:12.5px; color:var(--muted); text-decoration:none; display:flex; align-items:center; gap:9px; transition:.2s; }
  .f-contact a:hover{ color:var(--lime-soft); }
  .f-contact svg{ width:13px; height:13px; stroke:var(--lime); fill:none; stroke-width:1.6; flex-shrink:0; }
  .f-col h4{ font-size:10px; letter-spacing:.26em; text-transform:uppercase; color:var(--lime); font-weight:600; margin-bottom:20px; }
  .f-col ul{ list-style:none; display:flex; flex-direction:column; gap:10px; }
  .f-col a{ font-size:13px; color:var(--muted); text-decoration:none; font-weight:300; transition:.2s; }
  .f-col a:hover{ color:var(--lime-soft); }
  .footer-bottom{ display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; padding-top:26px; }
  .footer-bottom p{ font-size:11px; color:rgba(154,148,132,.55); letter-spacing:.05em; }

  /* ── ANIMS ── */
  @keyframes fadeUp{ from{opacity:0; transform:translateY(28px)} to{opacity:1; transform:translateY(0)} }
  .fade-up{ opacity:0; animation:fadeUp .85s ease forwards; }
  .d1{ animation-delay:.1s } .d2{ animation-delay:.22s } .d3{ animation-delay:.34s } .d4{ animation-delay:.48s }
  .reveal{ opacity:0; transform:translateY(36px); transition:opacity .7s ease, transform .7s ease; }
  .reveal.visible{ opacity:1; transform:translateY(0); }
  @keyframes pulse{ 0%,100%{ r:7 } 50%{ r:9.5 } }
  @keyframes dashflow{ to{ stroke-dashoffset:-26 } }

  @media (prefers-reduced-motion: reduce){
    *{ animation-duration:.001s !important; animation-iteration-count:1 !important; transition-duration:.001s !important; }
    .marquee-track{ animation:none; }
    .smoke{ display:none; }
    html{ scroll-behavior:auto; }
  }

  /* ── RESPONSIVE ── */
  @media (max-width: 1080px){
    .nav-links{ display:none; }
    .fg-group{ grid-template-columns:1fr; gap:24px; }
    .fg-side{ position:static; }
    .export-grid{ grid-template-columns:1fr; }
  }
  @media (max-width: 880px){
    .hero{ grid-template-columns:1fr; }
    .hero-visual{ min-height:64vw; }
    .hero-txt{ padding:60px 6vw 50px; }
    .scroll-cue{ display:none; }
    .certs{ grid-template-columns:1fr 1fr; }
    .cert{ border-bottom:1px solid var(--hair2); }
    .fg-intro{ grid-template-columns:1fr; gap:20px; }
    .fg-cards.two, .fg-cards.three{ grid-template-columns:1fr 1fr; }
    .products-grid{ grid-template-columns:1fr 1fr; }
    .product-card.large{ grid-column:span 2; }
    .histoire{ grid-template-columns:1fr; gap:64px; padding:90px 6vw; }
    .pillars{ grid-template-columns:1fr; }
    .social-flex{ grid-template-columns:1fr; gap:40px; }
    .contact-grid{ grid-template-columns:1fr; gap:44px; }
    .cta-band{ grid-template-columns:1fr; gap:36px; }
    .footer-top{ grid-template-columns:1fr 1fr; gap:38px; }
    .logo-txt .tg{ display:none; }
    .logo-txt .since{ font-size:7px; letter-spacing:.18em; margin-top:3px; }
  }
  @media (max-width: 560px){
    .fg-cards.two, .fg-cards.three{ grid-template-columns:1fr; }
    .hero-stats{ gap:26px; flex-wrap:wrap; }
    .btn-contact span{ display:none; }
    .btn-contact{ padding:11px 13px; }
    .certs{ grid-template-columns:1fr; }
    .form-row, .form-row.tri{ grid-template-columns:1fr; }
    .contact-form{ padding:26px 22px; }
  }

  /* ─────────────────────────────────────────────
     Ajustement demandé : première page centrée
     Texte au milieu + fond noir propre derrière le texte
     ───────────────────────────────────────────── */
  .hero{
    min-height:100vh !important;
    padding:120px 6vw 86px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
    grid-template-columns:1fr !important;
    background:#0B0B0A !important;
    overflow:hidden;
  }
  .hero::before{
    content:'';
    position:absolute;
    inset:0;
    z-index:0;
    pointer-events:none;
    background:
      radial-gradient(760px 420px at 50% 38%, rgba(181,204,46,.055), transparent 70%),
      linear-gradient(180deg, #0B0B0A 0%, #080807 100%);
  }
  .hero-txt{
    width:min(100%, 980px) !important;
    max-width:980px !important;
    margin:0 auto !important;
    padding:72px clamp(24px, 6vw, 86px) !important;
    position:relative !important;
    z-index:3 !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
    background:transparent !important;
    border:none !important;
    box-shadow:none !important;
  }
  .hero-visual{
    display:none !important;
  }
  .eyebrow{
    justify-content:center !important;
    text-align:center !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
  .eyebrow::before{
    display:none !important;
  }
  .hero h1{
    max-width:850px;
    margin-left:auto !important;
    margin-right:auto !important;
    text-align:center !important;
  }
  .hero-body{
    max-width:650px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    text-align:center !important;
  }
  .hero-cta{
    justify-content:center !important;
    text-align:center !important;
  }
  .hero-stats{
    justify-content:center !important;
    text-align:center !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
  .scroll-cue{
    left:50% !important;
    transform:translateX(-50%);
    justify-content:center;
  }
  @media (max-width: 720px){
    .hero{
      padding:112px 5vw 74px !important;
    }
    .hero-txt{
      padding:48px 24px !important;
    }
    .hero-stats{
      gap:24px !important;
      flex-wrap:wrap !important;
    }
  }

  /* ─────────────────────────────────────────────
     Thème blanc classique demandé
     Fond noir remplacé par blanc + textes blancs en noir
     ───────────────────────────────────────────── */
  :root{
    --noir:#FFFFFF;
    --slate:#FAFAFA;
    --slate2:#F2F2F2;
    --blanc:#111111;
    --muted:#4A4A4A;
    --hair:rgba(181,204,46,.24);
    --hair2:rgba(17,17,17,.12);
  }

  body{
    background:#FFFFFF !important;
    color:#111111 !important;
  }

  nav{
    background:rgba(255,255,255,.94) !important;
    border-bottom:1px solid rgba(17,17,17,.12) !important;
    box-shadow:0 10px 30px rgba(0,0,0,.05);
  }

  .lang-menu{
    background:#FFFFFF !important;
    border-color:rgba(17,17,17,.12) !important;
    box-shadow:0 18px 50px rgba(0,0,0,.12) !important;
  }

  .hero,
  .gammes,
  .fg,
  .others,
  .export,
  .cta-band,
  footer{
    background:#FFFFFF !important;
  }

  .hero::before{
    background:
      radial-gradient(760px 420px at 50% 38%, rgba(181,204,46,.10), transparent 70%),
      linear-gradient(180deg, #FFFFFF 0%, #F7F7F4 100%) !important;
  }

  .certs,
  .histoire,
  .social,
  .contact{
    background:#FAFAFA !important;
  }

  .fg-card,
  .product-card,
  .pillar,
  .world-map,
  .contact-form,
  .profile-btn,
  .field input,
  .field select,
  .field textarea{
    background:#F2F2F2 !important;
    border-color:rgba(17,17,17,.12) !important;
    color:#111111 !important;
  }

  .contact-form{
    background:linear-gradient(160deg,#FFFFFF,#F4F4F2 70%) !important;
    box-shadow:0 20px 55px rgba(0,0,0,.06);
  }

  .form-locked{
    background:rgba(255,255,255,.88) !important;
  }

  .field select option{
    background:#FFFFFF !important;
    color:#111111 !important;
  }

  .btn-ghost{
    color:#111111 !important;
    border-color:rgba(17,17,17,.25) !important;
  }

  .btn-ghost:hover,
  .nav-links a:hover,
  .f-contact a:hover,
  .f-col a:hover{
    color:var(--lime-deep) !important;
  }

  .marquee{
    background:#F7F7F4 !important;
  }

  .marquee-track span:not(.solid){
    -webkit-text-stroke:1px rgba(17,17,17,.40) !important;
  }

  .marquee-track .solid{
    color:rgba(17,17,17,.32) !important;
  }

  .histoire .display-serif,
  .sec-title,
  .gamme-card h3,
  .fg-card .nm,
  .pc-info .p-title,
  .form-sent h3,
  .logo-txt .wm,
  .nav-links a,
  .lang-btn,
  .lang-menu button,
  .cert .t,
  .ab-text p strong,
  .pillar h3,
  .hq-legend span,
  .map-tag,
  .field input,
  .field select,
  .field textarea,
  footer,
  .f-col a,
  .f-contact a,
  .f-contact span{
    color:#111111 !important;
  }

  .hero-body,
  .sec-desc,
  .ab-text p,
  .pillar p,
  .f-brand p,
  .footer-bottom p,
  .cert .d,
  .fg-side p,
  .field label{
    color:#4A4A4A !important;
  }

  /* Les photos restent visibles, mais l’overlay devient clair pour garder le texte noir lisible */
  .gamme-card.gamme-card-foie,
  .gamme-card.gamme-card-canard,
  .gamme-card.gamme-card-boeuf,
  .gamme-card.gamme-card-volaille,
  .gamme-card.gamme-card-conserve,
  .gamme-card.gamme-card-oie,
  .gamme-card.gamme-card-surgele{
    background-color:#F2F2F2 !important;
  }

  .gamme-card.gamme-card-foie::after,
  .gamme-card.gamme-card-canard::after,
  .gamme-card.gamme-card-boeuf::after,
  .gamme-card.gamme-card-volaille::after,
  .gamme-card.gamme-card-conserve::after,
  .gamme-card.gamme-card-oie::after,
  .gamme-card.gamme-card-surgele::after{
    content:'';
    position:absolute;
    inset:0;
    z-index:1;
    pointer-events:none;
    background:rgba(255,255,255,.66);
  }

  .gamme-card h3,
  .gamme-card .gamme-go{
    position:relative;
    z-index:2;
    color:#111111 !important;
    text-shadow:0 2px 16px rgba(255,255,255,.75) !important;
  }

  .fg-card figcaption,
  .pc-info{
    background:linear-gradient(0deg, rgba(255,255,255,.92) 8%, transparent 100%) !important;
  }

  .bidon-note,
  .pc-arrow{
    background:rgba(255,255,255,.70) !important;
    color:#111111 !important;
  }

  .pc-arrow svg{
    stroke:#111111 !important;
  }

  .world-map::before{
    background:radial-gradient(700px 420px at 34% 32%, rgba(181,204,46,.08), transparent 65%) !important;
  }

  .map-tag{
    background:rgba(255,255,255,.72) !important;
  }


  /* Réparation visuelle des backgrounds des catégories :
     on garde les photos bien visibles, avec texte noir lisible */
  .gamme-card.gamme-card-foie,
  .gamme-card.gamme-card-canard,
  .gamme-card.gamme-card-boeuf,
  .gamme-card.gamme-card-volaille,
  .gamme-card.gamme-card-conserve,
  .gamme-card.gamme-card-oie,
  .gamme-card.gamme-card-surgele{
    background-color:#FFFFFF !important;
  }

  .gamme-card.gamme-card-foie::after,
  .gamme-card.gamme-card-canard::after,
  .gamme-card.gamme-card-boeuf::after,
  .gamme-card.gamme-card-volaille::after,
  .gamme-card.gamme-card-conserve::after,
  .gamme-card.gamme-card-oie::after,
  .gamme-card.gamme-card-surgele::after{
    content:'';
    position:absolute;
    inset:0;
    z-index:1;
    pointer-events:none;
    background:linear-gradient(180deg, rgba(255,255,255,.04) 0%, rgba(255,255,255,.12) 100%) !important;
  }

  .gamme-card h3{
    display:inline-block;
    width:fit-content;
    max-width:100%;
    background:rgba(255,255,255,.42);
    color:#111111 !important;
    padding:6px 10px 5px;
    border-radius:8px;
    box-shadow:0 3px 10px rgba(0,0,0,.05);
    text-shadow:none !important;
    backdrop-filter:blur(2px);
    -webkit-backdrop-filter:blur(2px);
  }

  .gamme-card .gamme-go{
    display:inline-flex;
    align-self:flex-start;
    background:rgba(255,255,255,.48);
    color:#111111 !important;
    padding:6px 10px;
    border-radius:999px;
    box-shadow:0 3px 10px rgba(0,0,0,.05);
    text-shadow:none !important;
    backdrop-filter:blur(2px);
    -webkit-backdrop-filter:blur(2px);
  }


  /* Mise en évidence renforcée des photos de background des catégories */
  .gamme-card.gamme-card-foie,
  .gamme-card.gamme-card-canard,
  .gamme-card.gamme-card-boeuf,
  .gamme-card.gamme-card-volaille,
  .gamme-card.gamme-card-conserve,
  .gamme-card.gamme-card-oie,
  .gamme-card.gamme-card-surgele{
    box-shadow:0 16px 36px rgba(0,0,0,.10);
    overflow:hidden;
  }

  .gamme-card.gamme-card-foie:hover,
  .gamme-card.gamme-card-canard:hover,
  .gamme-card.gamme-card-boeuf:hover,
  .gamme-card.gamme-card-volaille:hover,
  .gamme-card.gamme-card-conserve:hover,
  .gamme-card.gamme-card-oie:hover,
  .gamme-card.gamme-card-surgele:hover{
    transform:translateY(-3px) scale(1.012);
    box-shadow:0 22px 48px rgba(0,0,0,.14);
  }

  /* Suppression du cadre blanc autour des textes sur les photos de catégories */
  .gamme-card h3,
  .gamme-card .gamme-go{
    border:none !important;
    outline:none !important;
  }

  /* 8e catégorie : Rillettes et mousse de canard */
  .gamme-card.gamme-card-rillettes-mousse{
    background-image:
      linear-gradient(160deg, rgba(11,11,10,.10) 0%, rgba(11,11,10,.24) 100%),
      url('img/css_bg_1.jpg') !important;
    background-size:cover;
    background-position:center center;
    background-repeat:no-repeat;
    background-color:#FFFFFF !important;
    box-shadow:0 16px 36px rgba(0,0,0,.10);
    overflow:hidden;
  }
  .gamme-card.gamme-card-rillettes-mousse::after{
    content:'';
    position:absolute;
    inset:0;
    z-index:1;
    pointer-events:none;
    background:linear-gradient(180deg, rgba(255,255,255,.04) 0%, rgba(255,255,255,.12) 100%) !important;
  }
  .gamme-card.gamme-card-rillettes-mousse h3,
  .gamme-card.gamme-card-rillettes-mousse .gamme-go{
    position:relative;
    z-index:2;
    border:none !important;
    outline:none !important;
    text-shadow:none !important;
  }

  /* Texte des catégories en gris foncé */
  .gamme-card h3,
  .gamme-card .gamme-go,
  .gamme-card .gamme-go span{
    color:#3A3A3A !important;
  }

  .gamme-card .gamme-go svg{
    stroke:#3A3A3A !important;
  }


  /* Refonte des 8 cartes de gammes : image bien visible + texte en dessous */
  .gammes-grid{
    align-items:stretch;
  }

  .gamme-card,
  .gamme-card.gamme-card-rillettes-mousse{
    min-height:320px !important;
    padding:0 !important;
    gap:0 !important;
    justify-content:flex-end !important;
    align-items:stretch !important;
    overflow:hidden !important;
    border-radius:6px !important;
    box-shadow:0 12px 28px rgba(0,0,0,.08) !important;
  }

  .gamme-card.gamme-card-foie::after,
  .gamme-card.gamme-card-canard::after,
  .gamme-card.gamme-card-boeuf::after,
  .gamme-card.gamme-card-volaille::after,
  .gamme-card.gamme-card-conserve::after,
  .gamme-card.gamme-card-oie::after,
  .gamme-card.gamme-card-surgele::after,
  .gamme-card.gamme-card-rillettes-mousse::after{
    display:none !important;
  }

  .gamme-card::before{
    opacity:0 !important;
  }

  .gamme-card h3{
    margin:0 !important;
    margin-top:auto !important;
    width:100% !important;
    max-width:none !important;
    display:block !important;
    background:#FFFFFF !important;
    color:#3A3A3A !important;
    padding:16px 18px 8px !important;
    border:none !important;
    border-top:1px solid rgba(0,0,0,.06) !important;
    border-radius:0 !important;
    box-shadow:none !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
    text-shadow:none !important;
    font-size:24px !important;
    line-height:1.15 !important;
  }

  .gamme-card .gamme-go{
    width:100% !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:8px !important;
    margin:0 !important;
    background:#FFFFFF !important;
    color:#3A3A3A !important;
    padding:0 18px 18px !important;
    border:none !important;
    border-radius:0 !important;
    box-shadow:none !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
    text-shadow:none !important;
  }

  .gamme-card .gamme-go span{
    color:#3A3A3A !important;
  }

  .gamme-card .gamme-go svg{
    stroke:#3A3A3A !important;
  }

  .gamme-card:hover{
    transform:translateY(-3px) !important;
  }

  @media(max-width:980px){
    .gamme-card,
    .gamme-card.gamme-card-rillettes-mousse{
      min-height:290px !important;
    }
    .gamme-card h3{
      font-size:22px !important;
    }
  }

  @media(max-width:560px){
    .gamme-card,
    .gamme-card.gamme-card-rillettes-mousse{
      min-height:270px !important;
    }
    .gamme-card h3{
      font-size:20px !important;
      padding:14px 16px 7px !important;
    }
    .gamme-card .gamme-go{
      padding:0 16px 16px !important;
    }
  }


  /* Version finale des 8 gammes : texte transparent sur l'image */
  .gamme-card,
  .gamme-card.gamme-card-rillettes-mousse{
    position:relative !important;
    min-height:320px !important;
    padding:16px !important;
    gap:8px !important;
    justify-content:flex-end !important;
    align-items:flex-start !important;
    overflow:hidden !important;
    border-radius:6px !important;
  }

  .gamme-card.gamme-card-foie::after,
  .gamme-card.gamme-card-canard::after,
  .gamme-card.gamme-card-boeuf::after,
  .gamme-card.gamme-card-volaille::after,
  .gamme-card.gamme-card-conserve::after,
  .gamme-card.gamme-card-oie::after,
  .gamme-card.gamme-card-surgele::after,
  .gamme-card.gamme-card-rillettes-mousse::after{
    display:none !important;
  }

  .gamme-card::before{
    display:none !important;
  }

  .gamme-card h3{
    width:auto !important;
    max-width:88% !important;
    display:inline-block !important;
    margin:0 !important;
    padding:10px 14px 8px !important;
    background:rgba(255,255,255,.36) !important;
    color:#3A3A3A !important;
    border:none !important;
    border-radius:12px !important;
    box-shadow:none !important;
    text-shadow:none !important;
    backdrop-filter:blur(6px) !important;
    -webkit-backdrop-filter:blur(6px) !important;
    font-size:24px !important;
    line-height:1.15 !important;
  }

  .gamme-card .gamme-go{
    width:auto !important;
    display:inline-flex !important;
    align-self:flex-start !important;
    margin:0 !important;
    padding:8px 14px !important;
    background:rgba(255,255,255,.30) !important;
    color:#3A3A3A !important;
    border:none !important;
    border-radius:999px !important;
    box-shadow:none !important;
    text-shadow:none !important;
    backdrop-filter:blur(6px) !important;
    -webkit-backdrop-filter:blur(6px) !important;
  }

  .gamme-card .gamme-go span{
    color:#3A3A3A !important;
  }

  .gamme-card .gamme-go svg{
    stroke:#3A3A3A !important;
  }

  @media(max-width:980px){
    .gamme-card,
    .gamme-card.gamme-card-rillettes-mousse{
      min-height:290px !important;
    }
    .gamme-card h3{
      font-size:22px !important;
      max-width:92% !important;
    }
  }

  @media(max-width:560px){
    .gamme-card,
    .gamme-card.gamme-card-rillettes-mousse{
      min-height:260px !important;
      padding:14px !important;
    }
    .gamme-card h3{
      font-size:19px !important;
      padding:8px 12px 7px !important;
      max-width:94% !important;
    }
    .gamme-card .gamme-go{
      padding:7px 12px !important;
    }
  }

  /* Mise à jour section foie gras */
  .ph-fglobe{ background-image:url('img/css_bg_2.jpg') !important; background-size:cover !important; background-repeat:no-repeat; background-position:center center !important; background-color:#F4F4F2; }
  .ph-blocfoiegras{ background-image:url('img/ph_blocfoiegras.png'); background-size:cover !important; background-repeat:no-repeat; background-position:center center; background-color:#F4F4F2; }

  /* Remplacement des 2 photos : foie gras déveiné + escalope */
  .ph-deveine{
    background-image:url('img/css_bg_3.jpg') !important;
    background-size:cover !important;
    background-repeat:no-repeat !important;
    background-position:center center !important;
    background-color:#F4F4F2 !important;
  }
  .ph-escalope{
    background-image:url('img/ph_escalope_2.jpg') !important;
    background-size:cover !important;
    background-repeat:no-repeat !important;
    background-position:center center !important;
    background-color:#F4F4F2 !important;
  }

  /* Mise à jour : nouvelle photo à gauche, ancienne photo de gauche déplacée à droite */
  .ph-deveine{
    background-image:url('img/css_bg_4.jpg') !important;
    background-size:cover !important;
    background-repeat:no-repeat !important;
    background-position:center center !important;
    background-color:#F4F4F2 !important;
  }
  .ph-escalope{
    background-image:url('img/ph_escalope_3.jpg') !important;
    background-size:cover !important;
    background-repeat:no-repeat !important;
    background-position:center center !important;
    background-color:#F4F4F2 !important;
  }

  /* Remplacement de la photo Escalope de foie gras */
  .ph-escalope{
    background-image:url('img/css_bg_5.jpg') !important;
    background-size:cover !important;
    background-repeat:no-repeat !important;
    background-position:center center !important;
    background-color:#F4F4F2 !important;
  }

  /* Nouvelles photos ajoutées dans la section Viande de canard frais et transformé */
  .ph-magretcru2{ background-image:url('img/css_bg_6.png'); background-size:cover !important; background-repeat:no-repeat; background-position:center center !important; background-color:#F4F4F2 !important; }
  .ph-magretfumetranche{ background-image:url('img/ph_magretfumetranche.jpg'); background-size:cover !important; background-repeat:no-repeat; background-position:center center !important; background-color:#F4F4F2 !important; }
  .ph-filetcanard{ background-image:url('img/ph_filetcanard.jpg'); background-size:cover !important; background-repeat:no-repeat; background-position:center center !important; background-color:#F4F4F2 !important; }
  .ph-cuissesv{ background-image:url('img/ph_cuissesv.jpg'); background-size:cover !important; background-repeat:no-repeat; background-position:center center !important; background-color:#F4F4F2 !important; }
  .ph-cuisseconfite{ background-image:url('img/ph_cuisseconfite.jpg'); background-size:cover !important; background-repeat:no-repeat; background-position:center center !important; background-color:#F4F4F2 !important; }

  /* Remplacement des 2 photos demandées */
  .ph-cuisseconfite{
    background-image:url('img/css_bg_7.jpg') !important;
    background-size:cover !important;
    background-repeat:no-repeat !important;
    background-position:center center !important;
    background-color:#F4F4F2 !important;
  }
  .ph-confitsv{
    background-image:url('img/ph_confitsv_2.jpg') !important;
    background-size:cover !important;
    background-repeat:no-repeat !important;
    background-position:center center !important;
    background-color:#F4F4F2 !important;
  }

  /* Remplacement photo + texte : Cuisse de canard frais */
  .ph-confitsv{
    background-image:url('img/css_bg_8.jpg') !important;
    background-size:cover !important;
    background-repeat:no-repeat !important;
    background-position:center center !important;
    background-color:#F4F4F2 !important;
  }

  /* Ajout : gésier et manchons de canard confit */
  .ph-gesierconfit{ background-image:url('img/css_bg_9.jpg'); background-size:cover !important; background-repeat:no-repeat !important; background-position:center center !important; background-color:#F4F4F2 !important; }
  .ph-manchonsconfit{ background-image:url('img/ph_manchonsconfit.jpg'); background-size:cover !important; background-repeat:no-repeat !important; background-position:center center !important; background-color:#F4F4F2 !important; }

  /* Remplacement photo : Jambon & roulade de canard cuit fumé */
  .ph-jambonrouladecanard{
    background-image:url('img/css_bg_10.jpg') !important;
    background-size:cover !important;
    background-repeat:no-repeat !important;
    background-position:center center !important;
    background-color:#F4F4F2 !important;
  }

  /* Corrections section Produits transformés de bœuf */
  #gamme-boeuf .fg-cards{
    grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  }
  #gamme-boeuf .fg-card .ph{
    min-height:300px !important;
  }
  .ph-pastnat{
    background-image:url('img/ph_pastnat_2.jpg') !important;
    background-size:cover !important;
    background-repeat:no-repeat !important;
    background-position:center center !important;
    background-color:#F4F4F2 !important;
  }
  .ph-carpaccio{
    background-image:url('img/ph_carpaccio.jpg') !important;
    background-size:cover !important;
    background-repeat:no-repeat !important;
    background-position:center center !important;
    background-color:#F4F4F2 !important;
  }
  .ph-burgergt{
    background-image:url('img/ph_burgergt.jpg') !important;
    background-size:cover !important;
    background-repeat:no-repeat !important;
    background-position:center center !important;
    background-color:#F4F4F2 !important;
  }
  #gamme-boeuf .bidon-note{
    display:none !important;
  }
  @media(max-width:980px){
    #gamme-boeuf .fg-cards{
      grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    }
  }
  @media(max-width:620px){
    #gamme-boeuf .fg-cards{
      grid-template-columns:1fr !important;
    }
  }

  /* Nouveau produit : Bacon de boeuf fumé */
  .ph-baconboeuf{
    background-image:url('img/css_bg_11.webp') !important;
    background-size:cover !important;
    background-repeat:no-repeat !important;
    background-position:center center !important;
    background-color:#F4F4F2 !important;
  }

  /* Nouveau produit : Jambon de boeuf */
  .ph-jambonboeuf{
    background-image:url('img/css_bg_12.jpg') !important;
    background-size:cover !important;
    background-repeat:no-repeat !important;
    background-position:center center !important;
    background-color:#F4F4F2 !important;
  }

  /* Ajout produits transformés de volaille */
  .ph-filetpouletfume{
    background-image:url('img/css_bg_13.jpg') !important;
    background-size:cover !important;
    background-repeat:no-repeat !important;
    background-position:center center !important;
    background-color:#F4F4F2 !important;
  }
  .ph-pouletentierfume{
    background-image:url('img/ph_pouletentierfume.jpg') !important;
    background-size:cover !important;
    background-repeat:no-repeat !important;
    background-position:center center !important;
    background-color:#F4F4F2 !important;
  }
  .ph-caillefume{
    background-image:url('img/ph_caillefume.jpg') !important;
    background-size:cover !important;
    background-repeat:no-repeat !important;
    background-position:center center !important;
    background-color:#F4F4F2 !important;
  }

  /* Section conserves - 5 nouveaux produits */
  .ph-cuisseconfit-conserve{
    background-image:url('img/css_bg_14.jpg') !important;
    background-size:cover !important;
    background-repeat:no-repeat !important;
    background-position:center center !important;
    background-color:#F4F4F2 !important;
  }
  .ph-manchonsconfit-conserve{
    background-image:url('img/ph_manchonsconfit_conserve.png') !important;
    background-size:contain !important;
    background-repeat:no-repeat !important;
    background-position:center center !important;
    background-color:#FFFFFF !important;
  }
  .ph-graissecanard{
    background-image:url('img/ph_graissecanard.jpg') !important;
    background-size:cover !important;
    background-repeat:no-repeat !important;
    background-position:center center !important;
    background-color:#F4F4F2 !important;
  }
  .ph-gesiercanarddinde{
    background-image:url('img/ph_gesiercanarddinde.png') !important;
    background-size:cover !important;
    background-repeat:no-repeat !important;
    background-position:center center !important;
    background-color:#F4F4F2 !important;
  }
  .ph-graissecanardconserve{
    background-image:url('img/ph_graissecanardconserve.png') !important;
    background-size:cover !important;
    background-repeat:no-repeat !important;
    background-position:center center !important;
    background-color:#F4F4F2 !important;
  }
  #gamme-conserve .bidon-note{
    display:none !important;
  }

  /* Section oie : 4 nouveaux produits avec photos */
  .ph-oie-magret-frais{
    background-image:url('img/css_bg_15.jpg') !important;
    background-size:cover !important;
    background-repeat:no-repeat !important;
    background-position:center center !important;
    background-color:#F4F4F2 !important;
  }
  .ph-oie-magret-sv{
    background-image:url('img/ph_oie_magret_sv.png') !important;
    background-size:cover !important;
    background-repeat:no-repeat !important;
    background-position:center center !important;
    background-color:#F4F4F2 !important;
  }
  .ph-oie-magret-fume{
    background-image:url('img/ph_oie_magret_fume.png') !important;
    background-size:cover !important;
    background-repeat:no-repeat !important;
    background-position:center center !important;
    background-color:#F4F4F2 !important;
  }
  .ph-oie-cuisse-confit{
    background-image:url('img/ph_oie_cuisse_confit.png') !important;
    background-size:cover !important;
    background-repeat:no-repeat !important;
    background-position:center center !important;
    background-color:#F4F4F2 !important;
  }
  #gamme-oie .bidon-note{
    display:none !important;
  }

  /* Section oie : ajout de 3 produits foie gras d'oie */
  .ph-oie-bloc-foie-gras{
    background-image:url('img/css_bg_16.png') !important;
    background-size:cover !important;
    background-repeat:no-repeat !important;
    background-position:center center !important;
    background-color:#F4F4F2 !important;
  }
  .ph-oie-foie-gras-micuit-conserve{
    background-image:url('img/ph_oie_foie_gras_micuit_conserve.png') !important;
    background-size:cover !important;
    background-repeat:no-repeat !important;
    background-position:center center !important;
    background-color:#F4F4F2 !important;
  }
  .ph-oie-foie-gras{
    background-image:url('img/ph_oie_foie_gras.png') !important;
    background-size:cover !important;
    background-repeat:no-repeat !important;
    background-position:center center !important;
    background-color:#F4F4F2 !important;
  }
  #gamme-oie .bidon-note{ display:none !important; }

  /* ─────────────────────────────────────────────
     Hero redesign — première page Profuma
     ───────────────────────────────────────────── */
  .hero.hero-redesign{
    min-height:100vh !important;
    padding:118px 4vw 88px !important;
    display:block !important;
    position:relative;
    overflow:hidden;
    background:
      radial-gradient(900px 520px at 15% 10%, rgba(181,204,46,.11), transparent 65%),
      radial-gradient(780px 520px at 88% 86%, rgba(181,204,46,.09), transparent 64%),
      linear-gradient(180deg, #FFFFFF 0%, #F8F8F4 62%, #F4F3EE 100%) !important;
  }
  .hero.hero-redesign::before{
    content:'';
    position:absolute;
    inset:0;
    background:
      linear-gradient(90deg, rgba(181,204,46,.05) 0, transparent 32%),
      radial-gradient(500px 260px at 50% 42%, rgba(255,255,255,.85), transparent 75%);
    pointer-events:none;
    z-index:0;
  }
  .hero-shell{
    width:min(100%, 1500px);
    margin:0 auto;
    display:grid;
    grid-template-columns:minmax(0, 1.02fr) minmax(0, .98fr);
    gap:36px;
    align-items:center;
    position:relative;
    z-index:2;
  }
  .hero.hero-redesign .hero-txt{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:40px clamp(24px, 3vw, 40px) 34px !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    justify-content:center !important;
    text-align:left !important;
    background:rgba(255,255,255,.62) !important;
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
    border:1px solid rgba(181,204,46,.22) !important;
    border-radius:34px !important;
    box-shadow:0 25px 70px rgba(0,0,0,.06) !important;
    position:relative;
    overflow:hidden;
  }
  .hero.hero-redesign .hero-txt::after{
    content:'';
    position:absolute;
    inset:auto -60px -60px auto;
    width:220px;
    height:220px;
    border-radius:50%;
    background:radial-gradient(circle, rgba(181,204,46,.18) 0%, rgba(181,204,46,.06) 42%, transparent 72%);
    pointer-events:none;
  }
  .hero.hero-redesign .eyebrow{
    display:inline-flex !important;
    align-items:center;
    gap:10px;
    margin:0 0 24px !important;
    padding:10px 14px;
    border-radius:999px;
    border:1px solid rgba(181,204,46,.24);
    background:rgba(181,204,46,.09);
    color:var(--lime-deep) !important;
    justify-content:flex-start !important;
    text-align:left !important;
  }
  .hero.hero-redesign .eyebrow::before{ display:none !important; }
  .hero-brandmark{
    display:flex;
    align-items:center;
    gap:18px;
    margin-bottom:24px;
  }
  .hero-brand-badge{
    width:88px;
    height:88px;
    flex:0 0 88px;
    border-radius:24px;
    background:#0E0E0D;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:8px;
    box-shadow:0 20px 40px rgba(0,0,0,.16), inset 0 0 0 1px rgba(181,204,46,.16);
  }
  .hero-brand-badge img{
    width:100%;
    height:100%;
    object-fit:contain;
    border-radius:18px;
  }
  .hero-brand-copy span{
    display:block;
    font-size:14px;
    letter-spacing:.28em;
    text-transform:uppercase;
    color:#171717;
  }
  .hero-brand-copy small{
    display:block;
    margin-top:8px;
    font-size:11px;
    letter-spacing:.22em;
    text-transform:uppercase;
    color:#6A6A64;
  }
  .hero.hero-redesign h1{
    max-width:780px;
    margin:0 0 24px !important;
    text-align:left !important;
    font-size:clamp(56px, 5.7vw, 92px) !important;
    line-height:.98 !important;
    color:#141414 !important;
  }
  .hero.hero-redesign h1 em{ color:var(--lime-deep) !important; }
  .hero.hero-redesign .hero-body{
    max-width:640px !important;
    margin:0 0 34px !important;
    text-align:left !important;
    font-size:16px !important;
    line-height:1.9 !important;
    color:#54544F !important;
  }
  .hero.hero-redesign .hero-cta{
    justify-content:flex-start !important;
    gap:16px !important;
  }
  .hero.hero-redesign .btn-lime{ box-shadow:0 14px 28px rgba(181,204,46,.18); }
  .hero.hero-redesign .btn-ghost{
    background:rgba(255,255,255,.7);
    border-color:rgba(17,17,17,.14) !important;
  }
  .hero.hero-redesign .hero-stats{
    width:100%;
    display:grid !important;
    grid-template-columns:repeat(3, minmax(0,1fr));
    gap:14px !important;
    margin-top:32px !important;
    padding-top:22px !important;
    border-top:1px solid rgba(17,17,17,.08) !important;
    justify-content:stretch !important;
    text-align:left !important;
  }
  .hero.hero-redesign .stat{
    padding:16px 18px;
    background:rgba(181,204,46,.10);
    border:1px solid rgba(181,204,46,.18);
    border-radius:18px;
    min-width:0;
  }
  .hero.hero-redesign .stat .n{
    font-size:42px !important;
    color:#171717 !important;
  }
  .hero.hero-redesign .stat .l{
    color:#696963 !important;
    margin-top:8px !important;
  }
  .hero.hero-redesign .hero-visual{
    display:block !important;
    min-height:680px;
    background:none !important;
    position:relative;
    overflow:visible;
  }
  .hero-visual-card{
    position:relative;
    min-height:680px;
    border-radius:34px;
    padding:34px 34px 30px;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    background:linear-gradient(160deg, #11120F 0%, #161712 45%, #0C0D0A 100%);
    border:1px solid rgba(181,204,46,.18);
    box-shadow:0 35px 90px rgba(0,0,0,.22);
    overflow:hidden;
  }
  .hero-visual-card::before{
    content:'';
    position:absolute;
    inset:0;
    background:
      radial-gradient(430px 240px at 50% 18%, rgba(181,204,46,.22), transparent 65%),
      radial-gradient(380px 240px at 10% 88%, rgba(181,204,46,.11), transparent 65%),
      repeating-linear-gradient(90deg, rgba(244,241,232,.035) 0 1px, transparent 1px 92px),
      repeating-linear-gradient(0deg, rgba(244,241,232,.03) 0 1px, transparent 1px 92px);
    pointer-events:none;
  }
  .visual-topline,
  .hero-logo-stage,
  .hero-visual-quote,
  .hero-visual-sub,
  .hero-visual-pillars,
  .hero-visual-foot{ position:relative; z-index:1; }
  .visual-topline{
    font-size:11px;
    letter-spacing:.32em;
    text-transform:uppercase;
    color:var(--lime-soft);
  }
  .hero-logo-stage{
    width:min(82%, 420px);
    aspect-ratio:1 / 1;
    margin:24px auto 22px;
    border-radius:32px;
    padding:18px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.02));
    border:1px solid rgba(255,255,255,.08);
    box-shadow:inset 0 0 0 1px rgba(181,204,46,.12), 0 20px 60px rgba(0,0,0,.20);
  }
  .hero-logo-stage img{
    width:100%;
    height:100%;
    object-fit:contain;
    border-radius:24px;
    filter:drop-shadow(0 16px 34px rgba(0,0,0,.38));
  }
  .hero-visual-quote{
    font-family:'Cormorant Garamond',serif;
    font-size:clamp(34px, 3.2vw, 46px);
    line-height:1.04;
    text-align:center;
    color:#F4F1E8;
    max-width:520px;
    margin:0 auto;
  }
  .hero-visual-sub{
    margin:16px auto 0;
    max-width:520px;
    text-align:center;
    font-size:15px;
    line-height:1.8;
    color:rgba(244,241,232,.72);
  }
  .hero-visual-pillars{
    margin:24px auto 0;
    max-width:520px;
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    justify-content:center;
  }
  .hero-visual-pillars span{
    padding:10px 16px;
    border-radius:999px;
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.12);
    font-size:11px;
    letter-spacing:.18em;
    text-transform:uppercase;
    color:var(--lime-soft);
  }
  .hero-visual-foot{
    margin-top:32px;
    display:grid;
    grid-template-columns:repeat(3, minmax(0,1fr));
    gap:12px;
  }
  .mini-stat{
    padding-top:12px;
    border-top:1px solid rgba(255,255,255,.12);
    text-align:center;
    font-size:11px;
    letter-spacing:.16em;
    text-transform:uppercase;
    color:rgba(244,241,232,.76);
  }
  .hero-accent{
    position:absolute;
    border-radius:50%;
    filter:blur(4px);
    pointer-events:none;
  }
  .hero-accent-a{
    width:180px; height:180px; right:-40px; top:-20px;
    background:radial-gradient(circle, rgba(181,204,46,.22), transparent 68%);
  }
  .hero-accent-b{
    width:220px; height:220px; left:-60px; bottom:-50px;
    background:radial-gradient(circle, rgba(181,204,46,.14), transparent 68%);
  }
  .hero.hero-redesign .hero-tag,
  .hero.hero-redesign 
  .hero.hero-redesign .scroll-cue{{
    left:50% !important;
    transform:translateX(-50%);
    color:#6F6F69 !important;
  }}

  @media (max-width: 1100px){
    .hero-shell{{ grid-template-columns:1fr; gap:26px; }}
    .hero.hero-redesign{{ padding:112px 4vw 80px !important; }}
    .hero.hero-redesign .hero-txt{{ order:1; }}
    .hero.hero-redesign .hero-visual{{ min-height:auto; order:2; }}
    .hero-visual-card{{ min-height:auto; }}
  }
  @media (max-width: 760px){
    .hero.hero-redesign{{ padding:104px 18px 74px !important; }}
    .hero.hero-redesign .hero-txt{{ padding:24px 20px 22px !important; border-radius:26px !important; }}
    .hero-brandmark{{ gap:14px; align-items:center; }}
    .hero-brand-badge{{ width:72px; height:72px; flex-basis:72px; border-radius:20px; }}
    .hero-brand-copy span{{ font-size:12px; letter-spacing:.22em; }}
    .hero-brand-copy small{{ font-size:10px; letter-spacing:.16em; }}
    .hero.hero-redesign h1{{ font-size:clamp(44px, 13vw, 62px) !important; }}
    .hero.hero-redesign .hero-body{{ font-size:15px !important; line-height:1.75 !important; }}
    .hero.hero-redesign .hero-cta{{ gap:12px !important; }}
    .hero.hero-redesign .hero-stats{{ grid-template-columns:1fr; }}
    .hero-visual-card{{ padding:24px 20px 22px; border-radius:28px; }}
    .hero-logo-stage{{ width:min(100%, 280px); border-radius:24px; }}
    .hero-visual-quote{{ font-size:clamp(28px, 9vw, 38px); }}
    .hero-visual-sub{{ font-size:14px; }}
    .hero-visual-foot{{ grid-template-columns:1fr; }}
    .mini-stat{{ text-align:left; }}
  }


  /* ── Hero luxe unifié : version une seule partie ── */
  .hero.hero-redesign.hero-onepanel{
    min-height:clamp(360px, 44vh, 460px) !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    padding:70px 28px 54px !important;
    position:relative;
    overflow:hidden;
    background:
      radial-gradient(820px 520px at 50% 24%, rgba(181,204,46,.10), transparent 66%),
      radial-gradient(540px 340px at 12% 86%, rgba(181,204,46,.06), transparent 70%),
      radial-gradient(520px 320px at 88% 16%, rgba(181,204,46,.05), transparent 72%),
      linear-gradient(180deg, #FCFCFA 0%, #F5F4EE 60%, #F1EFE8 100%) !important;
  }
  .hero.hero-redesign.hero-onepanel::before{
    content:'';
    position:absolute;
    inset:0;
    background:
      repeating-linear-gradient(90deg, rgba(17,17,17,.028) 0 1px, transparent 1px 132px),
      linear-gradient(180deg, rgba(255,255,255,.46) 0%, rgba(255,255,255,0) 30%);
    opacity:.45;
    pointer-events:none;
  }
  .hero.hero-redesign.hero-onepanel::after{
    content:'';
    position:absolute;
    width:min(72vw, 1080px);
    height:min(72vw, 1080px);
    border-radius:50%;
    left:50%; top:50%; transform:translate(-50%,-47%);
    border:1px solid rgba(181,204,46,.16);
    box-shadow:0 0 0 26px rgba(181,204,46,.04), 0 0 0 72px rgba(181,204,46,.025);
    pointer-events:none;
  }
  .hero-onepanel .hero-luxe-wrap{
    width:min(100%, 1180px);
    position:relative;
    z-index:2;
  }
  .hero-onepanel .hero-luxe-panel{
    position:relative;
    padding:48px 70px 44px;
    text-align:center;
    border-radius:36px;
    background:
      linear-gradient(180deg, rgba(255,255,255,.83) 0%, rgba(255,255,255,.70) 100%);
    border:1px solid rgba(181,204,46,.28);
    box-shadow:0 28px 90px rgba(0,0,0,.08), inset 0 1px 0 rgba(255,255,255,.85);
    overflow:hidden;
    backdrop-filter:blur(6px);
    -webkit-backdrop-filter:blur(6px);
  }
  .hero-onepanel .hero-luxe-panel::before{
    content:'';
    position:absolute;
    left:30px; right:30px; top:30px; bottom:30px;
    border:1px solid rgba(181,204,46,.18);
    border-radius:28px;
    pointer-events:none;
  }
  .hero-onepanel .hero-luxe-panel::after{
    content:'';
    position:absolute;
    left:50%; top:-120px; transform:translateX(-50%);
    width:480px; height:240px;
    background:radial-gradient(circle, rgba(181,204,46,.14) 0%, rgba(181,204,46,.05) 45%, transparent 72%);
    pointer-events:none;
  }
  .hero-onepanel .hero-luxe-logo{
    position:relative;
    margin:0 auto 26px;
    width:92px;
    height:92px;
    border-radius:23px;
    background:#111;
    padding:9px;
    box-shadow:0 16px 40px rgba(0,0,0,.22);
  }
  .hero-onepanel .hero-luxe-logo img{
    width:100%; height:100%; object-fit:contain; display:block; border-radius:14px;
  }
  .hero-onepanel .hero-luxe-kicker{
    display:inline-flex;
    margin:0 auto 16px !important;
    padding:9px 14px;
    border-radius:999px;
    border:1px solid rgba(181,204,46,.25);
    background:rgba(181,204,46,.09);
    color:var(--lime-deep) !important;
    font-size:11px;
    letter-spacing:.28em;
    text-transform:uppercase;
  }
  .hero-onepanel .hero-luxe-intro{
    margin:0 auto 24px;
    color:#6E6D65;
    font-size:11px;
    letter-spacing:.34em;
    text-transform:uppercase;
  }
  .hero.hero-redesign.hero-onepanel h1{
    margin:0 auto 4px !important;
    max-width:none !important;
    text-align:center !important;
    font-size:clamp(26px, 3.3vw, 48px) !important;
    line-height:1.08 !important;
    color:#121212 !important;
    position:relative;
    z-index:1;
  }
  .hero.hero-redesign.hero-onepanel h1 em{
    color:var(--lime-deep) !important;
    font-style:italic;
  }
  .hero.hero-redesign.hero-onepanel .hero-body{
    max-width:760px !important;
    margin:0 auto 30px !important;
    text-align:center !important;
    font-size:16px !important;
    line-height:1.95 !important;
    color:#55554F !important;
  }
  .hero.hero-redesign.hero-onepanel .hero-cta{
    display:flex !important;
    justify-content:center !important;
    gap:14px !important;
    margin-bottom:22px;
  }
  .hero.hero-redesign.hero-onepanel .btn-lime{
    box-shadow:0 14px 28px rgba(181,204,46,.16);
  }
  .hero.hero-redesign.hero-onepanel .btn-ghost{
    color:#171717 !important;
    border-color:rgba(17,17,17,.14) !important;
    background:rgba(255,255,255,.5);
  }
  .hero-onepanel .hero-luxe-signature{
    margin:0 auto;
    color:#7A796F;
    font-size:11px;
    letter-spacing:.28em;
    text-transform:uppercase;
  }
  .hero.hero-redesign.hero-onepanel .hero-stats{
    margin:34px auto 0 !important;
    padding-top:28px !important;
    border-top:1px solid rgba(17,17,17,.08) !important;
    display:grid !important;
    grid-template-columns:repeat(3, minmax(0,1fr));
    gap:16px !important;
    max-width:840px;
    justify-content:center !important;
  }
  .hero.hero-redesign.hero-onepanel .stat{
    padding:18px 18px 16px;
    border-radius:18px;
    background:rgba(181,204,46,.08);
    border:1px solid rgba(181,204,46,.16);
    min-width:0;
  }
  .hero.hero-redesign.hero-onepanel .stat .n{
    font-size:44px !important;
    color:#181818 !important;
  }
  .hero.hero-redesign.hero-onepanel .stat .l{
    margin-top:7px !important;
    color:#6A6A64 !important;
  }
  .hero.hero-redesign.hero-onepanel .scroll-cue{
    left:50% !important;
    transform:translateX(-50%);
    color:#70706B !important;
    z-index:3;
  }
  .hero.hero-redesign.hero-onepanel .hero-tag,
  .hero.hero-redesign.hero-onepanel .hero-visual,
  .hero.hero-redesign.hero-onepanel .hero-shell,
  .hero.hero-redesign.hero-onepanel 

  @media (max-width: 980px){
    .hero.hero-redesign.hero-onepanel{ padding:108px 20px 74px !important; }
    .hero-onepanel .hero-luxe-panel{ padding:78px 28px 38px; border-radius:30px; }
    .hero-onepanel .hero-luxe-panel::before{ left:18px; right:18px; top:18px; bottom:18px; border-radius:24px; }
    .hero-onepanel .hero-luxe-logo{ width:74px; height:74px; margin-bottom:20px; border-radius:19px; }
    .hero.hero-redesign.hero-onepanel .hero-stats{ grid-template-columns:1fr; max-width:420px; }
  }
  @media (max-width: 680px){
    .hero.hero-redesign.hero-onepanel{ min-height:auto !important; }
    .hero-onepanel .hero-luxe-panel{ padding:78px 18px 28px; }
    .hero-onepanel .hero-luxe-kicker{ font-size:10px; letter-spacing:.22em; }
    .hero-onepanel .hero-luxe-intro{ font-size:10px; letter-spacing:.2em; }
    .hero.hero-redesign.hero-onepanel h1{ font-size:clamp(42px, 11vw, 58px) !important; }
    .hero.hero-redesign.hero-onepanel .hero-body{ font-size:15px !important; line-height:1.8 !important; }
    .hero.hero-redesign.hero-onepanel .hero-cta{ flex-direction:column; align-items:center; }
    .hero-onepanel .hero-luxe-signature{ font-size:10px; line-height:1.8; }
  }


  /* ── Magasin d'usine : commande rapide ── */
  .factory-order{
    margin:38px 0 8px;
    padding:28px;
    border:1px solid rgba(181,204,46,.22);
    border-radius:6px;
    background:linear-gradient(135deg, rgba(181,204,46,.075), rgba(255,255,255,.70) 55%, rgba(181,204,46,.035));
    box-shadow:0 18px 50px rgba(0,0,0,.045);
  }
  .factory-order-head{ max-width:820px; margin-bottom:20px; }
  .factory-kicker{
    font-size:10px;
    letter-spacing:.32em;
    text-transform:uppercase;
    color:var(--lime-deep);
    font-weight:600;
    margin-bottom:8px;
  }
  .factory-order h3{
    font-family:'Cormorant Garamond',serif;
    font-weight:300;
    font-size:clamp(30px, 2.6vw, 46px);
    line-height:1.05;
    color:#111;
    margin:0 0 8px;
  }
  .factory-order-head p{
    margin:0;
    color:#5A5A55;
    font-size:14px;
    line-height:1.7;
  }
  .factory-order-options{
    display:grid;
    grid-template-columns:repeat(2, minmax(0,1fr));
    gap:16px;
  }
  .factory-order-card{
    display:flex;
    align-items:center;
    gap:17px;
    width:100%;
    text-align:left;
    border:1px solid rgba(17,17,17,.13);
    background:rgba(255,255,255,.72);
    border-radius:4px;
    padding:20px 22px;
    cursor:pointer;
    transition:.22s;
    font-family:'Jost',sans-serif;
    color:#111;
  }
  .factory-order-card:hover{
    border-color:var(--lime);
    background:#fff;
    transform:translateY(-2px);
    box-shadow:0 16px 34px rgba(0,0,0,.07);
  }
  .factory-icon{
    width:44px;
    height:44px;
    flex:0 0 44px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    background:rgba(181,204,46,.12);
    border:1px solid rgba(181,204,46,.32);
  }
  .factory-icon svg{
    width:20px;
    height:20px;
    fill:none;
    stroke:var(--lime-deep);
    stroke-width:1.7;
  }
  .factory-title{
    display:block;
    font-size:15px;
    letter-spacing:.05em;
    font-weight:500;
    color:#111;
  }
  .factory-desc{
    display:block;
    margin-top:5px;
    font-size:11px;
    letter-spacing:.12em;
    text-transform:uppercase;
    color:#77746B;
  }
  @media(max-width:760px){
    .factory-order{ padding:22px; }
    .factory-order-options{ grid-template-columns:1fr; }
    .factory-order-card{ padding:18px; }
  }

  .factory-order-card[data-order-profile="particulier"]{
    position:relative;
    overflow:hidden;
  }
  .factory-order-card[data-order-profile="particulier"]::after{
    content:'';
    position:absolute;
    inset:0 0 0 auto;
    width:38%;
    background:linear-gradient(90deg, transparent, rgba(181,204,46,.075));
    pointer-events:none;
  }
  .factory-order-card[data-order-profile="particulier"] .factory-eshop{
    margin-left:auto;
    margin-top:0;
    position:relative;
    z-index:1;
    font-size:15px;
    letter-spacing:.14em;
    font-weight:700;
    color:#111;
    text-transform:uppercase;
    white-space:nowrap;
    padding:10px 14px;
    border-radius:999px;
    background:rgba(181,204,46,.10);
    border:1px solid rgba(181,204,46,.24);
  }
  .factory-order-card[data-order-profile="particulier"] .eshop-arrow{
    color:var(--lime-deep);
    font-size:18px;
    line-height:1;
    margin-left:6px;
    display:inline-block;
    transform:translateY(1px);
  }
  .factory-order-card[data-order-profile="particulier"]:hover .eshop-arrow{
    transform:translate(4px,1px);
    transition:.22s;
  }
  @media(max-width:760px){
    .factory-order-card[data-order-profile="particulier"]{
      flex-wrap:wrap;
    }
    .factory-order-card[data-order-profile="particulier"] .factory-eshop{
      margin-left:61px;
      width:calc(100% - 61px);
      text-align:center;
      white-space:normal;
      font-size:13px;
    }
  }

/* ── Page dédiée Foie Gras ── */
.foie-single-page{
  display:none;
  padding:120px clamp(28px,5vw,80px) 90px;
  min-height:100vh;
  background:var(--creme);
}
.foie-single-page .fg-groups{ margin-top:36px; }
.foie-single-page .fg-group{ margin-top:0; }
.foie-single-page .fg-side{ align-self:start; }
body.foie-page-active > *{
  display:none !important;
}
body.foie-page-active > #foie-gras-page{
  display:block !important;
}
body.foie-page-active{
  background:var(--creme);
}

/* Page dédiée Foie Gras : uniquement les photos, sans intro ni bouton retour */
body.foie-page-active > *{
  display:none !important;
}
body.foie-page-active > #foie-gras-page{
  display:block !important;
  padding:38px clamp(20px,4vw,70px) 60px !important;
  min-height:100vh;
  background:var(--creme);
}
body.foie-page-active #foie-gras-page > .wrap:first-child,
body.foie-page-active #foie-gras-page > .fg-intro,
body.foie-page-active #foie-gras-page .fg-side,
body.foie-page-active #foie-gras-page .fg-divider{
  display:none !important;
}
body.foie-page-active #foie-gras-page .fg-groups{ margin-top:0 !important; }
body.foie-page-active #foie-gras-page .fg-group{ grid-template-columns:1fr !important; gap:0 !important; }
body.foie-page-active #foie-gras-page .fg-cards.three{ grid-template-columns:repeat(3,1fr); }
@media(max-width:980px){ body.foie-page-active #foie-gras-page .fg-cards.three{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:640px){ body.foie-page-active #foie-gras-page .fg-cards.three{ grid-template-columns:1fr; } }

/* ── Pages dédiées pour toutes les gammes : photos uniquement ── */
/* Overlay plein écran OPAQUE : affiche UNIQUEMENT les photos et recouvre
   physiquement toute la page d'accueil (impossible de voir au travers). */
.gamme-photo-page{ display:none; }

body.gamme-photo-active{ overflow:hidden; }
body.gamme-photo-active #gamme-photo-page{
  display:block !important;
  position:fixed;
  inset:0;
  z-index:10000;
  width:100%;
  height:100%;
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
  background:#F4F1E8;
  padding:74px clamp(20px,4vw,70px) 60px;
}
.gamme-photo-page .wrap{ max-width:1520px; margin:0 auto; padding:0; }
.gamme-photo-page .fg-cards.three{ grid-template-columns:repeat(3,1fr); display:grid; gap:18px; }
.gamme-photo-page .fg-card{ cursor:pointer; }
.gamme-photo-page .fg-card:hover{ transform:translateY(-3px); box-shadow:0 18px 44px rgba(0,0,0,.12); }

/* Bouton retour discret, fixé en haut à gauche de l'overlay */
.gamme-photo-back{
  display:none;
  position:fixed; top:18px; left:clamp(16px,4vw,40px); z-index:10001;
  align-items:center; gap:8px;
  background:#0B0B0A; color:#F4F1E8;
  border:none; border-radius:999px; padding:11px 20px;
  font-family:'Jost',sans-serif; font-size:13px; letter-spacing:.04em;
  cursor:pointer; box-shadow:0 8px 24px rgba(0,0,0,.28);
  transition:transform .2s ease, background .2s ease;
}
.gamme-photo-back:hover{ background:#1A1A17; transform:translateX(-2px); }
.gamme-photo-back svg{ width:14px; height:14px; stroke:currentColor; fill:none; stroke-width:2.2; }
body.gamme-photo-active .gamme-photo-back{ display:inline-flex; }

/* La vitrine principale reste légère : les photos détaillées sont ouvertes au clic */
body:not(.gamme-photo-active):not(.foie-page-active) #gamme-detail{
  display:none !important;
}

@media(max-width:980px){
  .gamme-photo-page .fg-cards.three{ grid-template-columns:repeat(2,1fr); }
}
@media(max-width:640px){
  body.gamme-photo-active #gamme-photo-page{ padding:66px 16px 42px; }
  .gamme-photo-page .fg-cards.three{ grid-template-columns:1fr; }
}

/* ── MAGASIN D'USINE — vitrine par catégories (produits emballés) ── */
.factory-shop{ padding:110px 6vw 30px; background:var(--noir); }
.factory-shop .sec-head{ margin-bottom:18px; flex-wrap:wrap; align-items:center; }
.fs-nav{
  margin-left:auto; align-self:center; display:flex; flex-wrap:wrap; gap:12px;
  justify-content:flex-end; max-width:760px;
}
.fs-nav a{
  font-family:'Jost',sans-serif; font-weight:500; font-size:15px; letter-spacing:.02em;
  color:var(--blanc); text-decoration:none; white-space:nowrap;
  padding:14px 28px; border-radius:999px;
  border:1px solid var(--hair); background:rgba(181,204,46,.06);
  transition:background .25s ease, border-color .25s ease, color .25s ease, transform .2s ease;
}
.fs-nav a:hover{
  background:var(--lime); border-color:var(--lime); color:#0B0B0A; transform:translateY(-2px);
}
.fs-cat{ scroll-margin-top:96px; }
@media(max-width:760px){
  .fs-nav{ margin-left:0; justify-content:flex-start; max-width:none; width:100%; margin-top:18px; }
}
.fs-cat{ margin-top:48px; }
.fs-cat-head{
  display:flex; align-items:baseline; gap:16px; margin-bottom:26px;
  padding-bottom:14px; border-bottom:1px solid var(--hair);
}
.fs-cat-head h3{
  font-family:'Cormorant Garamond',serif; font-weight:400; font-size:clamp(22px,2.4vw,30px);
  color:var(--blanc); letter-spacing:.01em;
}
.fs-cat-head .fs-cat-count{
  font-family:'Jost',sans-serif; font-size:11px; letter-spacing:.28em; text-transform:uppercase;
  color:var(--lime);
}
.fs-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:30px; }
.fs-card{
  position:relative; border:none; border-radius:0; overflow:visible;
  background:transparent; display:flex; flex-direction:column; text-align:center;
  transition:transform .35s ease;
}
.fs-card:hover{ transform:translateY(-5px); }
.fs-card:hover .fs-card-img img{ transform:scale(1.04); }
.fs-card-img{
  height:clamp(180px,15vw,215px); width:100%; background:transparent;
  display:flex; align-items:flex-end; justify-content:center; padding:0 8px 6px;
}
.fs-card-img img{
  max-width:100%; max-height:100%; width:auto; height:auto; object-fit:contain; display:block;
  filter:drop-shadow(0 16px 24px rgba(0,0,0,.17));
  transition:transform .4s ease;
}
.fs-card-body{ padding:6px 14px 8px; border:none; background:transparent; }
.fs-card-body h4{
  font-family:'Cormorant Garamond',serif; font-weight:600; font-size:22px; line-height:1.25;
  color:#1A1A14; margin-bottom:8px; letter-spacing:.005em;
}
.fs-card-body .fs-weight{
  display:inline-block; font-family:'Jost',sans-serif; font-size:10.5px; letter-spacing:.2em;
  text-transform:uppercase; color:var(--lime-deep); background:rgba(143,165,30,.12);
  padding:4px 12px; border-radius:999px;
}
@media(max-width:980px){ .fs-grid{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:560px){ .fs-grid{ grid-template-columns:1fr; } .factory-shop{ padding:80px 6vw 20px; } }

/* ═══ Espace Professionnel : page dédiée + vitrine allégée ═══ */
/* La vitrine principale n'affiche plus l'espace pro (place libérée) */
body:not(.pro-page-active) > #produits{ display:none !important; }
/* En mode page dédiée : on ne voit QUE l'espace professionnel */
body.pro-page-active > *:not(#produits){ display:none !important; }
body.pro-page-active > #produits{
  display:block !important;
  min-height:100vh;
  background:var(--creme);
  padding:96px clamp(24px,5vw,80px) 90px;
}
body.pro-page-active{ background:var(--creme); }
/* Bouton retour vers la vitrine (pilule sombre, fixée en haut à gauche) */
.pro-back{
  display:none;
  position:fixed; top:18px; left:clamp(16px,4vw,40px); z-index:10001;
  align-items:center; gap:8px;
  background:#0B0B0A; color:#F4F1E8;
  border:none; border-radius:999px; padding:11px 20px;
  font-family:'Jost',sans-serif; font-size:13px; letter-spacing:.04em;
  cursor:pointer; box-shadow:0 8px 24px rgba(0,0,0,.28);
  transition:transform .2s ease, background .2s ease;
}
.pro-back:hover{ background:#1A1A17; transform:translateX(-2px); }
.pro-back svg{ width:14px; height:14px; stroke:currentColor; fill:none; stroke-width:2.2; }
body.pro-page-active .pro-back{ display:inline-flex; }
@media(max-width:760px){
  body.pro-page-active > #produits{ padding:84px 18px 100px; }
}

/* Export & Catalogue intégrés à l'Espace Professionnel */
#produits .export{ padding:84px 0 26px; background:transparent; }
.pro-cat-top{ display:none; }
body.pro-page-active > #produits{ position:relative; }
body.pro-page-active #produits .pro-cat-top{ display:inline-flex; position:absolute; top:100px; right:clamp(24px,5vw,80px); z-index:6; }
@media(max-width:760px){ body.pro-page-active #produits .pro-cat-top{ position:static; margin:0 0 20px; } }

/* Packs Promo : affiches plein cadre, rangée de 4 */
#cat-packs .fs-grid{ grid-template-columns:repeat(4,1fr); gap:24px; }
#cat-packs .fs-card-img{ height:clamp(300px,25vw,400px); padding:0; display:flex; align-items:center; justify-content:center; background:#FFFFFF; }
#cat-packs .fs-card-img img{
  max-width:100%; max-height:100%; width:auto; height:auto; object-fit:contain;
}
#cat-packs .fs-card:hover .fs-card-img img{ transform:scale(1.02); }
#cat-packs .fs-card-body{ padding-top:14px; }
.factory-shop .fs-card{ cursor:pointer; }
.nav-ig{ display:inline-flex; align-items:center; justify-content:center; color:var(--blanc); opacity:.85; text-decoration:none; transition:color .2s, opacity .2s, transform .2s; }
.nav-ig:hover{ color:var(--lime); opacity:1; transform:translateY(-1px); }
.nav-ig svg{ width:19px; height:19px; display:block; }

.fs-price{ display:block; margin-top:9px; font-family:'Cormorant Garamond',serif; font-weight:700; font-size:27px; line-height:1; color:#B0871F; letter-spacing:.01em; }
@media(max-width:980px){ #cat-packs .fs-grid{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:560px){ #cat-packs .fs-grid{ grid-template-columns:1fr; } }

.m-tabbar,.m-drawer{display:none}
@media (max-width:760px){
  /* nav du haut épurée : lang + contact repris dans la barre du bas / tiroir */
  nav .nav-right{display:none !important}
  /* espace pour la barre flottante */
  footer{padding-bottom:calc(104px + env(safe-area-inset-bottom)) !important}
  /* décalage d'ancrage sous la nav du haut */
  #top,#magasin-usine,#produits,#histoire,#export,#contact{scroll-margin-top:74px}
  .sec-title{font-size:clamp(30px,8.4vw,44px);line-height:1.05}

  /* ——— Magasin d'usine : liste verticale (défilement vers le bas) ——— */
  .factory-shop .fs-grid{
    display:grid !important;grid-template-columns:1fr !important;
    gap:22px;overflow:visible;padding:4px 0 8px;margin:0}
  .factory-shop .fs-card-img{height:clamp(210px,56vw,270px)}
  .factory-shop .fs-card{max-width:420px;margin:0 auto;width:100%}
  .fs-swipe{display:none}

  /* ——— Barre de navigation flottante (style app) ——— */
  .m-tabbar{
    display:flex;position:fixed;left:0;right:0;bottom:0;z-index:1200;
    justify-content:space-around;align-items:flex-end;
    padding:9px 8px calc(8px + env(safe-area-inset-bottom));
    background:rgba(244,241,232,.86);
    -webkit-backdrop-filter:blur(18px) saturate(1.3);backdrop-filter:blur(18px) saturate(1.3);
    border-top:1px solid var(--hair);box-shadow:0 -10px 34px rgba(17,17,17,.07)}
  .m-tab{
    flex:1;display:flex;flex-direction:column;align-items:center;gap:5px;
    text-decoration:none;color:var(--muted);background:none;border:0;
    font:600 9.5px/1 "Jost",sans-serif;letter-spacing:.1em;text-transform:uppercase;
    padding:5px 2px;cursor:pointer;-webkit-tap-highlight-color:transparent;
    transition:color .22s,transform .22s}
  .m-tab svg{width:23px;height:23px;stroke:currentColor;fill:none;
    stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;transition:stroke .22s}
  .m-tab span{transition:opacity .22s}
  .m-tab.is-active{color:var(--lime-deep)}
  .m-tab:active{transform:translateY(1px)}
  /* CTA central surélevé = Contact, l'objectif business */
  .m-tab-cta{color:var(--lime-deep);position:relative}
  .m-tab-cta .m-cta-badge{
    width:56px;height:56px;margin-top:-26px;margin-bottom:1px;border-radius:50%;
    display:flex;align-items:center;justify-content:center;color:#fff;
    background:linear-gradient(150deg,var(--lime),var(--lime-deep));
    box-shadow:0 12px 24px rgba(143,165,30,.42),0 0 0 5px var(--creme);
    transition:transform .25s,box-shadow .25s}
  .m-tab-cta .m-cta-badge svg{width:24px;height:24px;stroke:#fff}
  .m-tab-cta:active .m-cta-badge{transform:scale(.94)}

  /* ——— Tiroir plein écran (bottom-sheet) ——— */
  .m-drawer{display:block;position:fixed;inset:0;z-index:1300;visibility:hidden}
  .m-drawer.open{visibility:visible}
  .m-drawer-bg{position:absolute;inset:0;background:rgba(17,17,17,.44);
    opacity:0;transition:opacity .32s}
  .m-drawer.open .m-drawer-bg{opacity:1}
  .m-drawer-panel{
    position:absolute;left:0;right:0;bottom:0;max-height:92vh;overflow-y:auto;
    background:var(--creme);border-radius:30px 30px 0 0;
    padding:14px 26px calc(30px + env(safe-area-inset-bottom));
    transform:translateY(101%);transition:transform .38s cubic-bezier(.22,.61,.36,1);
    box-shadow:0 -22px 54px rgba(17,17,17,.2)}
  .m-drawer.open .m-drawer-panel{transform:translateY(0)}
  .m-drawer-panel::before{content:"";display:block;width:44px;height:4px;border-radius:99px;
    background:rgba(17,17,17,.16);margin:2px auto 16px}
  .m-drawer-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}
  .m-drawer-wm{font:600 24px/1 "Cormorant Garamond",serif;color:var(--blanc);letter-spacing:.02em}
  .m-drawer-wm b{color:var(--lime-deep);font-weight:600}
  .m-drawer-close{width:40px;height:40px;border-radius:50%;border:1px solid var(--hair);
    background:none;color:var(--blanc);display:flex;align-items:center;justify-content:center;cursor:pointer}
  .m-drawer-close svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round}
  .m-drawer-nav{display:flex;flex-direction:column;margin:10px 0 4px}
  .m-drawer-nav a{
    display:flex;align-items:center;gap:14px;
    font:500 27px/1 "Cormorant Garamond",serif;color:var(--blanc);text-decoration:none;
    padding:16px 0;border-bottom:1px solid var(--hair);letter-spacing:.01em}
  .m-drawer-nav a::before{content:"";width:7px;height:7px;border-radius:50%;
    background:var(--lime);flex:0 0 7px;opacity:.35;transition:opacity .2s,transform .2s}
  .m-drawer-nav a:active::before{opacity:1;transform:scale(1.5)}
  .m-drawer-lang{margin-top:20px}
  .m-drawer-lbl{font:600 10px/1 "Jost",sans-serif;letter-spacing:.26em;
    text-transform:uppercase;color:var(--muted);margin-bottom:12px}
  .m-drawer-langgrid{display:grid;grid-template-columns:1fr 1fr;gap:9px}
  .m-drawer-langgrid button{
    display:flex;align-items:center;gap:9px;padding:12px 13px;border-radius:13px;
    border:1px solid var(--hair);background:rgba(181,204,46,.05);color:var(--blanc);
    font:500 14px/1 "Jost",sans-serif;cursor:pointer;text-align:left}
  .m-drawer-langgrid button.on{border-color:var(--lime-deep);color:var(--lime-deep);
    background:rgba(181,204,46,.13);font-weight:600}
  .m-drawer-langgrid button .fl{font-size:17px}
  .m-drawer-foot{margin-top:22px;padding-top:16px;border-top:1px solid var(--hair);
    font:500 12px/1.7 "Jost",sans-serif;color:var(--muted);letter-spacing:.03em}
  .m-drawer-foot b{color:var(--lime-deep);font-weight:600}
}
/* ── Cartes d'action héros + confort mobile ── */
.m-hero-actions{display:none}
@media (max-width:760px){
  .m-hero-actions{display:grid;gap:12px;margin:24px 2px 2px}
  .mha{position:relative;display:flex;flex-direction:column;gap:5px;text-align:left;
    padding:17px 54px 17px 20px;border-radius:18px;text-decoration:none;
    box-shadow:0 14px 32px rgba(10,10,8,.14)}
  .mha svg{position:absolute;right:18px;top:50%;transform:translateY(-50%);
    width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:2}
  .mha-t{font-family:'Jost',sans-serif;font-weight:700;font-size:13.5px;letter-spacing:.15em;text-transform:uppercase}
  .mha-s{font-family:'Jost',sans-serif;font-size:12px;opacity:.72;letter-spacing:.02em;font-weight:400}
  .mha-shop{background:var(--lime);color:#141410}
  .mha-pro{background:#141410;color:#F4F1E8}
  .mha:active{transform:scale(.98)}
  html[dir="rtl"] .mha{text-align:right;padding:17px 20px 17px 54px}
  html[dir="rtl"] .mha svg{right:auto;left:18px;transform:translateY(-50%) scaleX(-1)}
  .hero-onepanel .hero-luxe-panel{padding:36px 22px 30px !important}
  body.pro-page-active > #produits{padding:76px 18px 70px !important}
  #produits .export{padding:48px 0 8px !important}
  .pro-back{top:12px;left:12px}
}
/* ── Mobile : atterrissage direct sur le magasin d'usine ── */
.m-topbar-pro,.m-burger{display:none}
@media (max-width:760px){
  header.hero{display:none !important}
  .factory-shop{padding:86px 18px 40px !important}
  .factory-shop .sec-head{margin-bottom:16px}
  nav .nav-right .lang{display:none !important}
  nav .nav-right > a[href="#contact"]{display:none !important}
  nav .logo .tg, nav .logo .since{display:none}
  nav .logo .wm{font-size:21px}
  .nav-right{display:flex;align-items:center;gap:10px}
  .m-topbar-pro{display:inline-flex;align-items:center;background:#141410;color:#F4F1E8;
    text-decoration:none;font-family:'Jost',sans-serif;font-weight:700;font-size:10.5px;
    letter-spacing:.14em;text-transform:uppercase;padding:10px 15px;border-radius:999px;white-space:nowrap}
  .m-topbar-pro:active{transform:scale(.97)}
  .m-burger{display:inline-flex;align-items:center;justify-content:center;width:41px;height:41px;
    border:1px solid rgba(17,17,17,.16);background:transparent;border-radius:12px;color:#141410;padding:0}
  .m-burger svg{width:20px;height:20px;stroke:currentColor;stroke-width:2;fill:none}
}
@media (min-width:761px){.m-tabbar,.m-drawer{display:none !important}}
@media (prefers-reduced-motion:reduce){
  .m-drawer-panel,.m-drawer-bg,.m-tab,.m-cta-badge{transition:none !important}
}

/* ── Cookie Consent Banner ── */
.cookie-banner {
  position: fixed;
  bottom: 24px;
  left: 50%;
  transform: translateX(-50%) translateY(100px);
  width: 90%;
  max-width: 500px;
  background: rgba(26, 26, 23, 0.95);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(181, 204, 46, 0.25);
  border-radius: 8px;
  padding: 18px 24px;
  z-index: 9999;
  display: flex;
  flex-direction: column;
  gap: 14px;
  box-shadow: 0 15px 45px rgba(0, 0, 0, 0.6);
  opacity: 0;
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.4s ease;
  pointer-events: none;
}
.cookie-banner.visible {
  transform: translateX(-50%) translateY(0);
  opacity: 1;
  pointer-events: auto;
}
.cookie-content {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.cookie-content p {
  font-family: 'Jost', sans-serif;
  font-size: 14px;
  line-height: 1.6;
  color: #F4F1E8 !important; /* Force light text regardless of light theme override */
  opacity: 0.95;
  margin: 0;
}
.cookie-actions {
  display: flex;
  gap: 12px;
  justify-content: flex-end;
}
.cookie-btn {
  font-family: 'Jost', sans-serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  padding: 10px 20px;
  border-radius: 3px;
  cursor: pointer;
  transition: all 0.2s ease;
  border: none;
}
.cookie-btn-accept {
  background: #B5CC2E !important; /* Force lime background */
  color: #0B0B0A !important;      /* Force dark text for readability */
}
.cookie-btn-accept:hover {
  background: #E4F0A6 !important;
  transform: translateY(-1px);
}
.cookie-btn-decline {
  background: transparent !important;
  color: #F4F1E8 !important;      /* Force light text */
  border: 1px solid rgba(244, 241, 232, 0.3) !important;
}
.cookie-btn-decline:hover {
  border-color: #B5CC2E !important;
  color: #B5CC2E !important;
}
@media (max-width: 760px) {
  .cookie-banner {
    bottom: calc(80px + env(safe-area-inset-bottom));
    padding: 16px 20px;
  }
  .cookie-content p {
    font-size: 13px;
  }
}

/* ── Centered contact section when form is hidden ── */
.contact-grid {
  grid-template-columns: 1fr !important;
  max-width: 650px;
  margin: 18px auto 0 !important;
}
.contact-left {
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.contact-left .sec-head {
  align-self: center;
  text-align: center;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}
.contact-left .sec-bar {
  width: 40px !important;
  height: 4px !important;
  margin-bottom: 10px;
}
.contact-left p {
  margin: 18px auto 34px !important;
}
.contact-team-card {
  margin: 34px auto 0 !important;
  padding: 28px 30px !important;
  width: 100%;
  max-width: 480px;
}
.contact-team-card::before {
  display: none !important;
}
.contact-team-card h3 {
  padding-left: 0 !important;
  text-align: center;
}
.contact-team-card .team-mail {
  margin-left: 0 !important;
}
