/* PWA Install Banner — overlay fixe en haut (au-dessus de la nav) */
#pwa-install-banner{position:fixed;top:0;left:0;right:0;width:100%;z-index:400;padding-top:env(safe-area-inset-top,0);background:linear-gradient(180deg,#1f1f05 0%,#1a1a00 100%);color:#f5f5e8;border-bottom:1px solid rgba(204,255,51,.28);box-shadow:0 2px 12px rgba(0,0,0,.35);max-height:0;overflow:hidden;opacity:0;pointer-events:none;transition:max-height .35s cubic-bezier(.22,1,.36,1),opacity .3s ease;}
#pwa-install-banner.pwa-banner--visible{max-height:calc(3rem + env(safe-area-inset-top,0px) + 1.25rem);opacity:1;pointer-events:auto;}
.pwa-banner__inner{display:flex;align-items:center;gap:.6rem;min-height:3rem;padding:.4rem .65rem .4rem .75rem;max-width:1200px;margin:0 auto;}
.pwa-banner__icon{flex-shrink:0;line-height:0;}
.pwa-banner__icon svg{display:block;width:32px;height:32px;}
.pwa-banner__content{flex:1;min-width:0;}
.pwa-banner__message{margin:0;font-family:var(--font-display);font-size:.8125rem;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.pwa-banner__title{font-weight:700;color:#D9FF50;}
.pwa-banner__sep{color:#6a6a50;font-weight:400;}
.pwa-banner__body{font-weight:400;color:#b8b89a;}
.pwa-banner__countdown{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.pwa-banner__actions{display:flex;flex-direction:row;align-items:center;gap:.25rem;flex-shrink:0;}
.pwa-banner__cta{white-space:nowrap;font-family:var(--font-display);font-weight:600;font-size:.75rem;padding:.35rem .85rem;border-radius:999px;border:none;cursor:pointer;background:var(--lichen);color:var(--cacao);display:inline-flex;align-items:center;gap:.25rem;}
.pwa-banner__dismiss{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;font-size:1rem;line-height:1;color:#8a8a6a;text-decoration:none;opacity:.85;background:none;border:none;cursor:pointer;}
.pwa-banner__dismiss:hover{opacity:1;color:#c8c8a8;}
@media(max-width:380px){.pwa-banner__sep,.pwa-banner__body{display:none;}.pwa-banner__cta span.pwa-banner__cta-label{display:none;}}
@media(prefers-reduced-motion:reduce){#pwa-install-banner{transition:opacity .15s ease;}}
/* Popup de connexion (page d'accueil) */
.auth-modal{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1.25rem;}
.auth-modal[hidden]{display:none;}
.auth-modal__backdrop{position:absolute;inset:0;background:rgba(31,26,3,.6);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);}
.auth-modal__card{position:relative;z-index:1;width:min(100%,400px);background:var(--creme);color:var(--cacao);border-radius:20px;padding:2rem 1.75rem 1.75rem;box-shadow:0 30px 80px rgba(0,0,0,.4);}
.auth-modal__close{position:absolute;top:.75rem;right:1rem;background:none;border:none;font-size:1.15rem;line-height:1;color:var(--cacao);cursor:pointer;opacity:.55;}
.auth-modal__close:hover{opacity:1;}
.auth-modal__title{font-family:var(--font-display);font-weight:600;font-size:1.4rem;margin:0 0 1.25rem;text-transform:uppercase;letter-spacing:-.01em;}
.auth-form{display:flex;flex-direction:column;gap:.7rem;}
.auth-form input{width:100%;padding:.7rem .9rem;border:1px solid rgba(31,26,3,.25);border-radius:10px;font-family:var(--font-body);font-size:.95rem;color:var(--cacao);background:#fff;}
.auth-form input:focus{outline:none;border-color:var(--kaki);}
.auth-msg{margin:.15rem 0 0;font-family:var(--font-body);font-size:.82rem;color:#a3341f;min-height:1em;}
.auth-submit{margin-top:.3rem;padding:.75rem;border:none;border-radius:9999px;background:var(--lichen);color:var(--cacao);font-family:var(--font-display);font-weight:600;font-size:.95rem;cursor:pointer;transition:background .2s;}
.auth-submit:hover{background:#ceff00;}
.auth-submit:disabled{opacity:.6;cursor:default;}
.auth-google{margin-top:.8rem;width:100%;padding:.7rem;border:1px solid rgba(31,26,3,.25);border-radius:9999px;background:#fff;color:var(--cacao);font-family:var(--font-display);font-weight:600;font-size:.9rem;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem;transition:background .2s;}
.auth-google:hover{background:rgba(31,26,3,.05);}
.auth-alt{margin:1rem 0 0;text-align:center;font-family:var(--font-body);font-size:.85rem;color:var(--cacao);}
.auth-alt a{color:var(--kaki);font-weight:600;}
.auth-construction-text{font-family:var(--font-body);font-size:.92rem;line-height:1.55;color:var(--cacao);margin:0 0 .8rem;}
.auth-construction-mail{text-decoration:none;text-align:center;}
.auth-construction-socials{display:flex;gap:1.25rem;justify-content:center;margin-top:1.1rem;}
.auth-construction-socials a{font-family:var(--font-display);font-weight:600;font-size:.85rem;color:var(--kaki);text-decoration:none;}
.auth-construction-socials a:hover{color:var(--cacao);}
:root{
  --lichen:#d9ff50;--creme:#fcffe9;--faff:#faffe6;--kaki:#3b4900;--cacao:#1f1a03;
  --font-title:'Averia Serif Libre',Georgia,serif;--font-display:'Urbanist',Arial,sans-serif;
  --font-body:'Lora',Georgia,serif;--font-ui:'Inter',Arial,sans-serif;
  --pad-x:clamp(2.5rem,7vw,7rem);
  --pad-section:clamp(3rem,7vw,7rem);
  --section-overlap:clamp(24px,3.5vw,40px);
  --radius-section:clamp(24px,4vw,40px);
  --content-max:1100px;
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%;}
body{background:var(--creme);color:var(--cacao);font-family:var(--font-body);font-size:clamp(.9375rem,2.5vw,1rem);line-height:1.65;overflow-x:hidden;}
img,video,iframe{max-width:100%;}
.hero-terrain picture,.voix-photo picture,.creativite-photo picture,.cx-img picture{display:block;width:100%;}
.hero-terrain img,.voix-photo img,.creativite-photo img,.cx-img img{width:100%;}

/* Banniere */
#banniere-annonces{display:none;position:fixed;top:0;left:0;right:0;z-index:300;min-height:36px;background:var(--lichen);overflow:hidden;padding:.45rem 0;padding-top:max(.45rem,env(safe-area-inset-top));}
#banniere-annonces.visible{display:flex;align-items:center;justify-content:center;}
.banniere-viewport{width:100%;overflow:hidden;}
.banniere-inner{display:flex;align-items:center;justify-content:center;gap:1.5rem;padding:0 max(var(--pad-x),env(safe-area-inset-left)) 0 max(var(--pad-x),env(safe-area-inset-right));width:100%;}
.banniere-item{font-family:var(--font-display);font-weight:400;font-size:.72rem;letter-spacing:.09em;text-transform:uppercase;color:var(--cacao);text-decoration:none;white-space:nowrap;flex-shrink:0;}
a.banniere-item:hover{text-decoration:underline;}
.banniere-sep{width:4px;height:4px;background:rgba(31,26,3,.3);border-radius:50%;flex-shrink:0;display:inline-block;}
body.has-banner .site-nav{top:var(--banniere-h,36px);}
@keyframes banniere-marquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}
@media(max-width:767px){
  #banniere-annonces.banniere--marquee .banniere-viewport{
    -webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);
    mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);
  }
  #banniere-annonces.banniere--marquee .banniere-inner{
    display:inline-flex;width:max-content;justify-content:flex-start;padding-inline:1.25rem;gap:2rem;
    animation:banniere-marquee var(--banniere-dur,22s) linear infinite;
    will-change:transform;
  }
  #banniere-annonces.banniere--marquee .banniere-inner:hover{animation-play-state:paused;}
  .banniere-inner.is-static{padding:0 max(1rem,env(safe-area-inset-right)) 0 max(1rem,env(safe-area-inset-left));gap:1rem;}
  .banniere-item{font-size:clamp(.62rem,2.8vw,.72rem);letter-spacing:.08em;}
}
@media(prefers-reduced-motion:reduce){
  #banniere-annonces.banniere--marquee .banniere-inner{animation:none;flex-wrap:wrap;justify-content:center;white-space:normal;width:100%;}
  .banniere-item{white-space:normal;text-align:center;}
}

/* Navbar */
.site-nav{position:fixed;top:0;left:0;right:0;z-index:200;background:transparent;transition:background .3s,backdrop-filter .3s;}
.nav-inner{width:100%;padding:.9rem max(clamp(2.5rem,10vw,9rem),env(safe-area-inset-right)) .9rem max(clamp(1rem,2.5vw,2rem),env(safe-area-inset-left));display:flex;align-items:center;justify-content:space-between;position:relative;}
.nav-logo{display:flex;align-items:center;text-decoration:none;flex-shrink:0;transition:opacity .25s ease,visibility .25s ease,transform .25s ease;}
.nav-logo img{height:30px;width:auto;display:block;transition:opacity .2s ease;}
.nav-logo .logo-light{display:none;}
.nav-links{display:flex;align-items:center;list-style:none;background:rgba(252,255,233,.12);border-radius:9999px;padding:4px;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);position:absolute;left:50%;transform:translateX(-50%);}
.nav-links a{font-family:var(--font-display);font-weight:400;font-size:.82rem;color:var(--creme);text-decoration:none;letter-spacing:.02em;padding:.4rem 1.15rem;border-radius:9999px;white-space:nowrap;transition:background .18s,color .2s;}
.nav-links a:hover{background:rgba(252,255,233,.15);}
.nav-links a.active{background:var(--lichen);color:var(--cacao)!important;}
.nav-login{font-family:var(--font-display);font-weight:500;font-size:.8rem;color:var(--creme);text-decoration:none;padding:.45rem 1rem;border-radius:9999px;border:1px solid rgba(252,255,233,.35);background:rgba(252,255,233,.12);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);transition:border-color .2s,background .2s,color .2s;}
.nav-login:hover{background:rgba(252,255,233,.22);}
.nav-cta{font-family:var(--font-display);font-weight:500;font-size:.8rem;background:var(--lichen);color:var(--cacao);padding:.45rem 1.25rem;border-radius:9999px;text-decoration:none;transition:background .2s,transform .15s;}
.nav-cta:hover{background:#ceff00;transform:translateY(-1px);}
.nav-actions{display:flex;align-items:center;gap:.75rem;flex-shrink:0;}
.nav-burger{display:inline-flex;align-items:center;gap:.55rem;min-height:44px;background:transparent;border:none;cursor:pointer;padding:.5rem 0;color:var(--lichen);font-family:var(--font-display);font-weight:400;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;line-height:1;transition:color .2s,opacity .2s;}
.nav-burger .burger-icon{display:block;flex-shrink:0;width:18px;height:8px;}
.nav-burger .burger-label{font-weight:400;letter-spacing:.14em;}

/* Nav en mode hero — fond crème, texte sombre */
.site-nav.hero-mode .nav-logo .logo-dark{display:none;}
.site-nav.hero-mode .nav-logo .logo-light{display:block;}
.site-nav.hero-mode .nav-links{background:rgba(31,26,3,.1);}
.site-nav.hero-mode .nav-links a{color:var(--cacao);}
.site-nav.hero-mode .nav-links a:hover{background:rgba(31,26,3,.08);}
.site-nav.hero-mode .nav-links a.active{background:var(--lichen);color:var(--cacao)!important;}
.site-nav.hero-mode .nav-login{color:var(--cacao);border-color:rgba(31,26,3,.22);background:rgba(252,255,233,.45);}
.site-nav.hero-mode .nav-login:hover{background:rgba(252,255,233,.7);}
.site-nav.hero-mode .nav-burger{color:var(--cacao);background:transparent;}
/* Sur la section MAG/Guide : burger cacao (lisible sur la carte crème) */
.site-nav.mag-mode .nav-burger{color:var(--cacao);}
/* Filet de sécurité : léger halo clair pour garder le texte sombre lisible
   sur les zones chargées de la photo (herbe), invisible sur les aplats. */
.site-nav.hero-mode .nav-login,
.site-nav.hero-mode .nav-lang{text-shadow:0 1px 2px rgba(252,255,233,.6);}

@media(max-width:1023px){
  .nav-links,.nav-login,.nav-cta{display:none;}
  .nav-logo{display:flex;}
  .nav-burger{display:inline-flex;align-items:center;gap:.55rem;min-height:44px;min-width:44px;}
  .nav-burger .burger-label{display:inline;}
  .nav-inner{padding:.85rem max(clamp(2.5rem,10vw,9rem),env(safe-area-inset-right)) .85rem max(clamp(1rem,2.5vw,2rem),env(safe-area-inset-left));padding-top:max(.85rem,env(safe-area-inset-top));}
  .nav-lang{display:flex!important;}
}
.nav-lang{display:none;font-family:var(--font-display);font-weight:400;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--creme);background:none;border:none;cursor:pointer;padding:0;transition:opacity .2s;}
.nav-lang:hover{opacity:.7;}
.site-nav.hero-mode .nav-lang{color:var(--cacao);}

/* Menu mobile plein écran */
.mobile-menu{position:fixed;inset:0;z-index:500;background:var(--cacao);display:flex;flex-direction:column;padding:max(1.4rem,env(safe-area-inset-top)) max(2rem,env(safe-area-inset-right)) max(2.5rem,env(safe-area-inset-bottom)) max(2rem,env(safe-area-inset-left));opacity:0;pointer-events:none;transition:opacity .28s ease;}
.mobile-menu.open{opacity:1;pointer-events:auto;}
.mobile-menu-top{display:flex;align-items:center;justify-content:flex-end;margin-bottom:3.5rem;}
.mobile-menu-lang{font-family:var(--font-display);font-weight:400;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(252,255,233,.5);background:none;border:none;cursor:pointer;padding:0;}
.mobile-menu-close{display:flex;align-items:center;gap:.5rem;background:none;border:none;cursor:pointer;font-family:var(--font-display);font-weight:400;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(252,255,233,.5);}
.mobile-menu-close svg{width:16px;height:16px;stroke:rgba(252,255,233,.5);stroke-width:1.5;fill:none;}
.mobile-menu-nav{display:flex;flex-direction:column;gap:.25rem;flex:1;}
.mobile-menu-nav a{font-family:var(--font-display);font-weight:300;font-size:clamp(2.5rem,11vw,4rem);line-height:1.15;color:var(--creme);text-decoration:none;letter-spacing:-.02em;transition:color .15s;}
.mobile-menu-nav a:hover{color:var(--lichen);}
.mobile-menu-bottom{display:flex;flex-direction:column;gap:.75rem;padding-top:2rem;border-top:1px solid rgba(252,255,233,.1);}
.mobile-menu-bottom a{font-family:var(--font-display);font-size:.85rem;color:rgba(252,255,233,.55);text-decoration:none;transition:color .15s;}
.mobile-menu-bottom a:hover{color:var(--creme);}
.mmb-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;}
#menu-install-app{text-align:right;}

/* Hero */
.hero{background:var(--creme);padding:clamp(6rem,9vw,9rem) 0 clamp(2.5rem,4.5vw,4rem);overflow:hidden;position:relative;z-index:1;}
.hero-logo{display:block;width:clamp(320px,96vw,1900px);height:auto;margin:0 auto;padding:0 0.5vw;}
.hero-tagline{font-family:var(--font-display);font-weight:400;font-size:clamp(.72rem,1.5vw,1.6rem);letter-spacing:.12em;text-transform:uppercase;color:var(--cacao);text-align:center;margin:clamp(1.25rem,2vw,2.5rem) auto clamp(2rem,3.5vw,4rem);opacity:.65;}
.hero-terrain{width:100%;display:block;aspect-ratio:16/9;position:relative;z-index:1;cursor:pointer;overflow:hidden;}
.hero-terrain img{width:100%;height:100%;object-fit:cover;object-position:center 30%;display:block;transition:transform .4s ease,filter .4s ease;filter:brightness(.88);}
.hero-terrain:hover img{transform:scale(1.03);filter:brightness(.72);}
.hero-terrain iframe{position:absolute;inset:0;width:100%;height:100%;border:none;}

/* Boutons — cibles tactiles ≥44px sur mobile */
.btn-lichen{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font-display);font-weight:500;font-size:.875rem;background:var(--lichen);color:var(--cacao);padding:.75rem 1.75rem;border-radius:9999px;text-decoration:none;border:none;cursor:pointer;transition:background .2s,transform .15s;}
.btn-lichen:hover{background:#ceff00;transform:translateY(-2px);}
.btn-outline-creme{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font-display);font-weight:500;font-size:.875rem;background:transparent;color:var(--creme);padding:.75rem 1.75rem;border-radius:9999px;text-decoration:none;border:1px solid rgba(252,255,233,.28);transition:border-color .2s,background .2s;}
.btn-outline-creme:hover{border-color:rgba(252,255,233,.55);background:rgba(252,255,233,.06);}

/* Mission (cacao) + Campagne (kaki) — deux sections empilées */
.section-mission{background:var(--cacao);padding:6rem var(--pad-x) 6rem;position:relative;border-radius:40px 40px 0 0;margin-top:-40px;z-index:2;overflow:visible;}
.section-campaign{background:var(--kaki);padding:6rem var(--pad-x) 7rem;position:relative;border-radius:40px 40px 0 0;margin-top:-40px;z-index:4;overflow:visible;}
.mission-tagline-wrap{max-width:1100px;margin:0 auto 5rem;text-align:left;position:relative;}
.mission-tagline{font-family:var(--font-display);font-weight:400;font-size:clamp(1.6rem,3.91vw,4.7rem);line-height:1.1;color:var(--lichen);text-transform:uppercase;max-width:900px;letter-spacing:-.02em;}
.mission-fleur{display:block;width:clamp(96px,22vw,168px);height:auto;margin:clamp(2.5rem,5vw,4rem) auto 0;}
.campaign-layout{max-width:1100px;margin:0 auto;display:flex;flex-direction:column;gap:2.5rem;}
.campaign-plant{display:block;}
.campaign-plant img{width:100%;height:auto;display:block;border-radius:14px;box-shadow:0 14px 40px rgba(0,0,0,.3);filter:saturate(.8);}
.campaign-disclaimer{font-family:var(--font-ui);font-size:.58rem;font-style:italic;color:rgba(252,255,233,.4);margin:.45rem 0 0;display:flex;align-items:center;justify-content:flex-end;gap:.3rem;text-align:right;}
.campaign-disclaimer i{font-style:normal;font-size:.65rem;opacity:.8;}
.campaign-cover{display:none;}
/* Détail Magazine #01 — section crème */
.section-mag-detail{background:var(--cacao);padding:6rem var(--pad-x);position:relative;border-radius:40px 40px 0 0;margin-top:-40px;z-index:5;}
.section-mag-detail .mag-detail-inner{max-width:1080px;margin:0 auto;}
.mag-detail-guide{margin-top:2.5rem;padding-top:2rem;border-top:1px solid rgba(31,26,3,.15);}
.mag-detail-guide--seul{margin-top:0;padding-top:0;border-top:none;}
/* Aperçu (« vue ») du Guide : mini-carte façon répertoire */
.guide-carte{position:relative;margin:2.5rem 0 .5rem;border-radius:16px;overflow:hidden;box-shadow:0 10px 30px rgba(0,0,0,.25);background:#dfe3d0;}
#guide-map{height:clamp(320px,46vw,460px);width:100%;}
.guide-carte-link{position:absolute;inset:0;z-index:2;cursor:pointer;display:flex;align-items:flex-start;justify-content:flex-start;padding:1.1rem 1.2rem;text-decoration:none;background:linear-gradient(to bottom,rgba(31,26,3,.4),transparent 42%);}
.guide-carte-link span{display:inline-flex;align-items:center;gap:.45rem;font-family:var(--font-display);font-weight:600;font-size:.82rem;letter-spacing:.03em;color:var(--cacao);background:var(--lichen);padding:.55rem 1.05rem;border-radius:9999px;box-shadow:0 4px 14px rgba(0,0,0,.3);transition:background .2s,transform .15s,box-shadow .2s;}
.guide-carte-link span::after{content:"\2192";font-weight:700;transition:transform .2s;}
.guide-carte-link:hover span{background:#ceff00;transform:translateY(-1px);box-shadow:0 6px 18px rgba(0,0,0,.35);}
.guide-carte-link:hover span::after{transform:translateX(3px);}
.guide-pin{width:10px;height:10px;border-radius:50%;background:var(--lichen);border:2px solid var(--cacao);box-shadow:0 1px 4px rgba(0,0,0,.45);flex-shrink:0;}
.guide-pin-lachute{width:16px;height:16px;border-radius:50%;background:var(--cacao);border:3px solid var(--lichen);box-shadow:0 0 0 3px rgba(217,255,80,.35),0 2px 6px rgba(0,0,0,.5);cursor:default;}
/* Fiches d'initiatives superposées à droite de la carte */
.guide-fiches{position:absolute;top:1rem;right:1rem;z-index:3;display:flex;flex-direction:column;gap:.6rem;width:min(46%,250px);}
.guide-fiche{background:var(--creme);border-radius:12px;padding:.7rem .85rem;box-shadow:0 6px 18px rgba(0,0,0,.32);}
.guide-fiche-cat{display:inline-flex;align-items:center;gap:.35rem;font-family:var(--font-display);font-weight:600;font-size:.6rem;letter-spacing:.08em;text-transform:uppercase;color:var(--cacao);background:var(--lichen);border-radius:9999px;padding:.2rem .55rem;}
.guide-fiche-nom{font-family:var(--font-display);font-weight:600;font-size:.92rem;color:var(--cacao);margin:.4rem 0 .15rem;line-height:1.15;}
.guide-fiche-lieu{display:flex;align-items:center;gap:.3rem;font-family:var(--font-ui);font-size:.72rem;color:var(--kaki);margin:0;}
.guide-fiche--cta{display:flex;align-items:center;justify-content:center;gap:.4rem;background:var(--lichen);color:var(--cacao);font-family:var(--font-display);font-weight:600;font-size:.82rem;text-decoration:none;text-align:center;transition:background .2s,transform .15s;}
.guide-fiche--cta:hover{background:#ceff00;transform:translateY(-1px);}
@media(max-width:1023px){.guide-fiches{top:.7rem;right:.7rem;gap:.5rem;width:min(46%,210px);}.guide-fiche{padding:.55rem .7rem;}.guide-fiche-cat{font-size:.56rem;}.guide-fiche-nom{font-size:.85rem;margin:.3rem 0 .1rem;}.guide-fiche-lieu{font-size:.68rem;}}
@media(max-width:560px){.guide-fiches{top:.6rem;right:.6rem;gap:.45rem;width:min(62%,200px);}.guide-fiche{padding:.5rem .6rem;}.guide-fiche-nom{font-size:.82rem;}}
/* Téléphone : fiches sous la carte (tout visible et cliquable) */
@media(max-width:767px){
  .guide-carte{overflow:visible;box-shadow:none;background:transparent;}
  #guide-map{height:240px;border-radius:14px;box-shadow:0 10px 30px rgba(0,0,0,.25);}
  .guide-carte-link{position:absolute;top:0;left:0;right:0;height:240px;bottom:auto;justify-content:flex-end;padding:.6rem .7rem;background:none;}
  .guide-carte-link span{font-size:.62rem;padding:.35rem .65rem;gap:.3rem;}
  .guide-fiches{position:static;width:100%;margin-top:.7rem;display:grid;grid-template-columns:1fr 1fr;gap:.55rem;}
  .guide-fiche{padding:.6rem .7rem;}
  .guide-fiche-nom{font-size:.85rem;}
  .guide-fiche--cta{grid-column:auto;padding:.6rem .7rem;font-size:.82rem;line-height:1.2;}
}
.mag-detail-guide-titre{font-family:var(--font-display);font-weight:400;font-size:clamp(1.3rem,2.4vw,2.2rem);text-transform:uppercase;color:var(--creme);letter-spacing:-.02em;line-height:1.1;margin-bottom:.75rem;}
.mag-detail-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.85rem;margin-top:2rem;}
@media(max-width:560px){.mag-detail-actions{flex-direction:column;align-items:stretch;}.mag-detail-actions .btn-guide-cta,.mag-detail-actions .btn-guide-outline{justify-content:center;}}
.btn-guide-cta{display:inline-flex;align-items:center;gap:.45rem;font-family:var(--font-display);font-weight:600;font-size:.875rem;background:var(--lichen);color:var(--cacao);padding:.7rem 1.6rem;border-radius:9999px;text-decoration:none;transition:transform .15s,background .2s;}
.btn-guide-cta:hover{background:#000;transform:translateY(-2px);}
.btn-guide-outline{display:inline-flex;align-items:center;gap:.45rem;font-family:var(--font-display);font-weight:600;font-size:.875rem;background:transparent;color:var(--creme);border:1px solid rgba(252,255,233,.5);padding:.7rem 1.6rem;border-radius:9999px;text-decoration:none;transition:background .2s,color .2s;}
.btn-guide-outline:hover{background:var(--creme);color:var(--cacao);}
.mag-detail-eyebrow{font-family:var(--font-display);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--lichen);margin-bottom:1rem;display:block;}
.mag-detail-titre{font-family:var(--font-display);font-weight:400;font-size:clamp(1.6rem,3.2vw,3rem);text-transform:uppercase;color:var(--creme);letter-spacing:-.02em;line-height:1.05;margin-bottom:1.25rem;}
.mag-detail-soustitre{font-family:var(--font-body);font-weight:600;font-size:clamp(1rem,1.5vw,1.4rem);color:var(--creme);margin-bottom:1.25rem;}
.mag-detail-texte{font-family:var(--font-body);font-size:clamp(1rem,1.4vw,1.35rem);line-height:1.8;color:rgba(252,255,233,.8);}
.campaign-content{display:flex;flex-direction:column;gap:1.5rem;}
.campaign-titre{font-family:var(--font-display);font-weight:400;font-size:clamp(1.75rem,3.65vw,4.4rem);line-height:1;color:var(--creme);text-transform:uppercase;letter-spacing:-.03em;}
.campaign-texte{font-family:var(--font-body);font-size:clamp(.9rem,1.56vw,1.875rem);line-height:1.85;color:rgba(252,255,233,.72);}

/* Vidéo */
.video-section{background:var(--cacao);padding:0;position:relative;border-radius:40px 40px 0 0;margin-top:-40px;z-index:3;overflow:hidden;}
.video-thumb{position:relative;width:100%;aspect-ratio:16/9;cursor:pointer;overflow:hidden;display:block;}
.video-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease,filter .4s ease;filter:brightness(.75);}
.video-thumb:hover img{transform:scale(1.03);filter:brightness(.6);}
.video-thumb-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;}
.hero-terrain .video-thumb-overlay{align-items:center;justify-content:center;}
.hero-terrain .video-play-btn{background:rgba(20,16,2,.45);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);opacity:0;transform:scale(.85);transition:opacity .25s,transform .25s;}
.hero-terrain .video-play-btn svg{fill:#fff;}
.hero-terrain:hover .video-play-btn{opacity:1;transform:scale(1);}
.video-play-btn{width:72px;height:72px;border-radius:50%;background:var(--lichen);display:flex;align-items:center;justify-content:center;transition:transform .2s,background .2s;flex-shrink:0;}
.video-thumb:hover .video-play-btn{transform:scale(1.1);background:#ceff00;}
.video-play-btn svg{width:24px;height:24px;margin-left:4px;}
.video-thumb iframe{position:absolute;inset:0;width:100%;height:100%;border:none;}

/* Choix */
.section-choix{background:url('img/fond-mousse.jpg?v=20260623214003') center center/cover no-repeat;padding:7rem var(--pad-x);position:relative;border-radius:40px 40px 0 0;margin-top:-40px;z-index:3;display:flex;flex-direction:column;align-items:center;background-image:image-set(url('img/fond-mousse.webp?v=20260623214003') type('image/webp'),url('img/fond-mousse.jpg?v=20260623214003') type('image/jpeg'));}
.section-choix::before{content:'';position:absolute;inset:0;background:rgba(31,26,3,.35);border-radius:inherit;pointer-events:none;z-index:0;}
.section-choix .choix-cards{position:relative;z-index:1;}
.choix-cards{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;width:100%;max-width:1100px;}
.choix-card{border-radius:28px;padding:3rem 2.5rem 4.5rem;display:flex;flex-direction:column;gap:1.25rem;min-height:360px;}
.choix-card--light{background:var(--creme);border:1px solid rgba(31,26,3,.1);}
.choix-card--dark{background:var(--kaki);}
.choix-card-title-mag{display:flex;align-items:center;justify-content:center;align-self:center;background:url('img/encadre-mag.png') center center/100% 100% no-repeat;font-family:'Averia Serif Libre',Georgia,serif;font-style:italic;font-weight:400;font-size:clamp(1.75rem,3vw,2.5rem);color:var(--cacao);padding:.9rem 2.5rem;line-height:1;min-width:120px;}
.choix-card-title-img{display:block;margin:0 auto;height:clamp(48px,6vw,72px);width:auto;}
.choix-card--light p{font-family:var(--font-body);font-size:.98rem;color:var(--cacao);line-height:1.75;}
.choix-card--dark p{font-family:var(--font-body);font-size:.98rem;color:var(--lichen);line-height:1.75;}
.choix-card{position:relative;}
.choix-card-btn{display:inline-block;background:var(--lichen);color:var(--cacao);font-family:var(--font-display);font-weight:600;font-size:.875rem;padding:.65rem 1.5rem;border-radius:9999px;text-decoration:none;align-self:flex-start;transition:background .2s,transform .15s;}
.choix-card-btn:hover{background:#ceff00;transform:translateY(-1px);}
.choix-card-btn--br{position:absolute;bottom:1.5rem;right:1.5rem;align-self:unset;}
.choix-card--light .choix-card-btn--br{color:var(--cacao);border-color:rgba(31,26,3,.35);}
.choix-card--light .choix-card-btn--br:hover{border-color:rgba(31,26,3,.6);background:rgba(31,26,3,.06);}
.choix-card--dark .choix-card-btn--br{color:var(--lichen);border-color:rgba(217,255,80,.35);}
.choix-card--dark .choix-card-btn--br:hover{border-color:rgba(217,255,80,.65);background:rgba(217,255,80,.06);}
@media(max-width:767px){.choix-cards{grid-template-columns:1fr;max-width:100%;}}
/* Tablette : plus d'espace sous le texte pour décoller le bouton bas-droite */
@media(min-width:768px) and (max-width:1023px){.choix-card{padding-bottom:6.5rem;min-height:420px;}.choix-card--dark{padding-bottom:7rem;}}

/* Voix */
.section-voix{background:var(--creme);padding:7rem var(--pad-x);position:relative;border-radius:40px 40px 0 0;margin-top:-40px;z-index:6;}
.voix-inner{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:1.8fr 1fr;gap:4rem;align-items:start;}
.voix-titre{grid-column:1/-1;font-family:var(--font-display);font-weight:400;font-size:clamp(1.5rem,3.5vw,5rem);line-height:1.1;text-transform:uppercase;color:var(--cacao);letter-spacing:-.01em;margin-bottom:.5rem;}
.voix-photo{border-radius:16px;overflow:hidden;aspect-ratio:1/1;order:2;}
.voix-photo img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block;}
.voix-content{display:flex;flex-direction:column;gap:1.5rem;padding-top:.75rem;order:1;}
.voix-name{font-family:var(--font-display);font-weight:600;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--kaki);opacity:.65;}
.voix-bio{font-family:var(--font-body);font-size:clamp(1rem,1.5vw,1.4rem);line-height:1.8;color:var(--cacao);}
.voix-quote{font-family:var(--font-body);font-style:italic;font-size:clamp(1.05rem,1.6vw,1.5rem);color:var(--cacao);border-left:3px solid var(--lichen);padding-left:1.25rem;margin:0;}
@media(max-width:767px){.voix-inner{grid-template-columns:1fr;gap:2.5rem;}.voix-photo{max-width:min(320px,100%);aspect-ratio:1/1;order:1;}.voix-content{order:2;}}

/* Creativite (Catherine Bertrand) — miroir de Voix */
.section-creativite{background:var(--creme);padding:7rem var(--pad-x);position:relative;border-radius:40px 40px 0 0;margin-top:-40px;z-index:7;}
/* Filet de séparation entre Florence et Catherine — dégradé qui s'estompe aux extrémités */
.section-creativite::before{content:"";position:absolute;top:48px;left:50%;transform:translateX(-50%);width:min(1080px,86%);height:1px;background:linear-gradient(90deg,transparent,rgba(31,26,3,.28) 18%,rgba(31,26,3,.28) 82%,transparent);}
.creativite-inner{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:1fr 1.8fr;gap:4rem;align-items:start;}
.creativite-titre{grid-column:1/-1;font-family:var(--font-display);font-weight:400;font-size:clamp(1.5rem,3vw,3.4rem);line-height:1.1;text-transform:uppercase;color:var(--cacao);letter-spacing:-.01em;margin-bottom:.5rem;}
.creativite-photo{border-radius:16px;overflow:hidden;aspect-ratio:1/1;order:1;}
.creativite-photo img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block;}
.creativite-content{display:flex;flex-direction:column;gap:1.5rem;padding-top:.75rem;order:2;}
.creativite-name{font-family:var(--font-display);font-weight:600;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--kaki);opacity:.65;}
.creativite-bio{font-family:var(--font-body);font-size:clamp(1rem,1.5vw,1.4rem);line-height:1.8;color:var(--cacao);}
.creativite-quote{font-family:var(--font-body);font-style:italic;font-size:clamp(1.05rem,1.6vw,1.5rem);color:var(--cacao);border-left:3px solid var(--lichen);padding-left:1.25rem;margin:0;}
@media(max-width:767px){.creativite-inner{grid-template-columns:1fr;gap:2.5rem;}.creativite-photo{max-width:min(320px,100%);aspect-ratio:1/1;order:2;}.creativite-content{order:1;}}

/* Connexion */
.section-connexion{background:var(--cacao);padding:7rem var(--pad-x);position:relative;border-radius:40px 40px 0 0;margin-top:-40px;z-index:8;}
.connexion-inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:start;}
.connexion-content{display:flex;flex-direction:column;gap:1.5rem;}
.connexion-titre{font-family:var(--font-display);font-weight:400;font-size:clamp(1.75rem,4vw,3.5rem);text-transform:uppercase;color:var(--creme);line-height:1.05;letter-spacing:-.02em;margin-bottom:2rem;}
.connexion-texte{font-family:var(--font-body);font-size:clamp(1.1rem,2.3vw,2.1rem);line-height:1.65;color:rgba(252,255,233,.9);}
.connexion-actions{display:flex;flex-wrap:wrap;gap:.85rem;padding-top:1.5rem;}
/* Layout magazine : blocs photo+texte entrelacés (compo « téléphone » à tous les formats) */
.cx-mag{display:flex;flex-direction:column;gap:clamp(2.5rem,5vw,4rem);}
.cx-bloc{display:block;}
.cx-bloc--text{}
.cx-bloc--photo-r{display:flex;flex-direction:column;gap:clamp(1.5rem,3vw,2rem);}
.cx-bloc--photo-r .cx-img{width:clamp(46%,52%,56%);margin-left:auto;margin-right:0;aspect-ratio:3/2;}
.cx-bloc--photo-l{display:flex;flex-direction:row;align-items:flex-start;gap:clamp(1.25rem,3vw,2.5rem);}
.cx-bloc--photo-l .cx-img{width:clamp(33%,36%,40%);flex-shrink:0;margin:0;aspect-ratio:3/4;}
.cx-bloc--photo-l .connexion-texte{flex:1;align-self:flex-start;}
.cx-bloc--full{display:flex;flex-direction:column;gap:clamp(1.5rem,3vw,2rem);}
.cx-bloc--full .cx-img{width:clamp(60%,70%,76%);margin-left:auto;margin-right:0;aspect-ratio:16/9;}
.cx-img{border-radius:14px;overflow:hidden;}
.cx-img img{width:100%;height:100%;object-fit:cover;display:block;}
.cx-img--portrait{aspect-ratio:3/4;}
.cx-img--portrait img{object-position:center 15%;}
.cx-img--land{aspect-ratio:3/2;}
.cx-img--land img{object-position:center 30%;}
.cx-img--square{aspect-ratio:5/4;}
.cx-img--square img{object-fit:cover;object-position:center;}
.cx-img--landscape{aspect-ratio:4/3;}
.cx-img--wide{aspect-ratio:16/9;}
@media(min-width:860px){
  /* connexion-inner en colonne unique — cx-mag prend toute la largeur */
  .connexion-inner{display:block;max-width:none;}
  .connexion-titre{display:none;}
}

/* Formulaire */
.section-formulaire{background:var(--lichen);padding:7rem var(--pad-x);position:relative;border-radius:40px 40px 0 0;margin-top:-40px;z-index:9;}
.formulaire-inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:start;}
.formulaire-left{display:flex;flex-direction:column;gap:1.5rem;}
.formulaire-titre{font-family:var(--font-display);font-weight:400;font-size:clamp(2.5rem,4.6vw,5.5rem);text-transform:uppercase;color:var(--cacao);line-height:.9;letter-spacing:-.04em;}
.formulaire-lead{font-family:var(--font-body);font-weight:600;font-size:1rem;line-height:1.65;color:var(--cacao);}
.formulaire-liste{font-family:var(--font-body);font-size:.93rem;line-height:1.75;color:var(--cacao);list-style:none;padding:0;}
.formulaire-liste li{padding-left:1.1rem;position:relative;}
.formulaire-liste li::before{content:'-';position:absolute;left:0;opacity:.4;}
.formulaire-right{display:flex;flex-direction:column;gap:.65rem;padding-top:.5rem;}
.form-input{width:100%;padding:.7rem .25rem;border:none;border-bottom:1px solid rgba(31,26,3,.45);border-radius:0;background:transparent;font-family:var(--font-display);font-size:1rem;color:var(--cacao);outline:none;transition:border-color .2s;}
.form-input::placeholder{color:rgba(31,26,3,.5);}
.form-input:focus{border-bottom-color:var(--cacao);background:transparent;}
select.form-input{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%231f1a03' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .25rem center;padding-right:1.5rem;}
.btn-inscris{display:inline-block;border:.5px solid var(--cacao);border-radius:9999px;padding:.4rem 1.25rem;font-family:var(--font-display);font-weight:600;font-size:.8rem;color:var(--cacao);background:transparent;cursor:pointer;transition:background .2s;letter-spacing:.02em;margin-top:.5rem;align-self:flex-end;}
.btn-inscris:hover{background:rgba(31,26,3,.07);}
@media(max-width:767px){.formulaire-inner{grid-template-columns:1fr;gap:2.5rem;}}

/* Formulaire infolettre natif */
.infolettre-form{display:flex;flex-direction:column;gap:1.6rem;padding-top:.5rem;}
.infolettre-msg{font-family:var(--font-display);font-size:.85rem;padding:.5rem .8rem;border-radius:4px;border:.5px solid var(--cacao);margin-top:.25rem;display:none;}
.infolettre-msg.succes{background:rgba(31,26,3,.06);color:var(--cacao);}
.infolettre-msg.erreur{background:rgba(200,50,50,.08);border-color:rgba(200,50,50,.4);color:#8b1a1a;}

/* Partenaires */
.section-partenaires{background:var(--kaki);padding:6rem var(--pad-x) 5rem;position:relative;border-radius:40px 40px 0 0;margin-top:-40px;z-index:10;}
.partenaires-inner{max-width:1100px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:3.5rem;}
.partenaires-titre{font-family:var(--font-display);font-weight:400;font-size:clamp(2.5rem,4.2vw,5.1rem);text-transform:uppercase;color:var(--creme);letter-spacing:-.03em;line-height:.95;text-align:center;}
.partenaires-logos{display:flex;gap:2rem;align-items:center;justify-content:center;flex-wrap:wrap;}
.partenaires-logos img:nth-child(2){margin-left:-1rem;}
.partenaires-logos img{height:clamp(40px,5vw,64px);width:auto;object-fit:contain;opacity:.9;transition:opacity .2s;mix-blend-mode:screen;}
.partenaires-logos img:first-child{height:clamp(112px,14vw,180px);}
.partenaires-logos img:hover{opacity:1;}
.partenaires-note{text-align:center;font-family:var(--font-display);font-size:.78rem;color:rgba(217,255,80,.35);letter-spacing:.04em;}
.partenaires-note a{color:rgba(217,255,80,.5);text-decoration:none;transition:color .2s;}
.partenaires-note a:hover{color:var(--lichen);}

/* Footer */
.site-footer{background:var(--cacao);padding:6rem var(--pad-x) 3rem;position:relative;border-radius:40px 40px 0 0;margin-top:-40px;z-index:11;overflow:hidden;}
/* Marges latérales plus généreuses à partir de la section Mag/Guide (desktop) */
.section-choix,.section-voix,.section-creativite,.section-connexion,.section-formulaire,.section-partenaires,.site-footer{padding-inline:var(--pad-x);}
.footer-inner{max-width:min(96vw,1900px);margin:0 auto;position:relative;}
.site-footer{padding-inline:clamp(1rem,3vw,2.5rem);}
/* Inset modéré : contenu Mag/Guide → footer limité à 1080px (bandes douces) */
.choix-cards,.voix-inner,.creativite-inner,.connexion-inner,.formulaire-inner,.partenaires-inner,.cx-mag{max-width:1080px;margin-left:auto;margin-right:auto;}
.footer-top{display:flex;justify-content:space-between;align-items:flex-start;gap:2rem;margin-bottom:3rem;max-width:1100px;margin-left:0;margin-right:auto;}
.footer-tagline{font-family:var(--font-display);font-weight:400;font-size:clamp(1.5rem,3.65vw,4.4rem);text-transform:uppercase;line-height:1.1;color:var(--lichen);letter-spacing:-.01em;max-width:min(55vw,940px);}
.footer-ginkgo{flex-shrink:0;opacity:1;}
.footer-ginkgo img{height:clamp(150px,18vw,300px);width:auto;display:block;}
.footer-logo{display:block;width:100%;height:auto;margin:2.5rem auto 0;}
.footer-bottom{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:2rem;padding-top:2rem;}
.footer-social{display:flex;flex-direction:column;gap:.3rem;}
.footer-social a{font-family:var(--font-display);font-size:clamp(.875rem,1.82vw,2.2rem);color:var(--lichen);text-decoration:none;opacity:.75;transition:opacity .2s;}
.footer-social a:hover{opacity:1;}
.footer-contact{text-align:right;}
.footer-contact-label{font-family:var(--font-display);font-size:clamp(.875rem,1.82vw,2.2rem);color:var(--lichen);opacity:.75;margin-bottom:.35rem;display:block;}
.footer-contact-email{font-family:var(--font-display);font-size:clamp(.875rem,1.82vw,2.2rem);color:var(--lichen);text-decoration:none;opacity:.75;transition:opacity .2s;}
.footer-contact-email:hover{opacity:1;}
.footer-copy{width:100%;font-family:var(--font-display);font-size:.72rem;color:rgba(217,255,80,.28);padding-top:clamp(2.5rem,5vw,4.5rem);text-align:center;}
.footer-credits{width:100%;font-family:var(--font-display);font-size:.66rem;color:rgba(217,255,80,.22);padding-top:.4rem;padding-bottom:env(safe-area-inset-bottom);text-align:center;letter-spacing:.02em;}
@media(max-width:767px){.footer-top{flex-direction:row;align-items:flex-start;}.footer-ginkgo img{height:clamp(60px,8vw,90px);}.footer-tagline{font-size:clamp(1.3rem,4vw,2rem);}.footer-wordmark{font-size:clamp(3rem,14vw,6rem);}.footer-bottom{flex-direction:column;align-items:flex-start;}.footer-contact{text-align:left;}}

/* --- Téléphones (≤767px) --- */
@media(max-width:767px){
  :root{--pad-x:clamp(1.25rem,5vw,1.75rem);}
  body{background:var(--faff);}

  /* Mobile : menu hamburger seulement, pas de logo dans la barre */
  .nav-logo,.nav-lang{display:none!important;}
  .nav-inner{justify-content:flex-end;}
  .nav-actions{margin-left:0;}

  .hero{background:var(--faff);padding:max(6rem,calc(5rem + env(safe-area-inset-top))) 0 0;overflow:hidden;position:relative;}
  /* Fond cacao au bas du hero : les coins arrondis de la section cacao ne révèlent plus de crème */
  .hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:5rem;background:var(--cacao);z-index:0;pointer-events:none;}
  .hero-logo{width:100%;max-width:100%;padding:0 max(var(--pad-x),env(safe-area-inset-left));margin-bottom:.5rem;display:block;}
  .hero-terrain{width:100%;aspect-ratio:4/3;border-radius:var(--radius-section) var(--radius-section) 0 0;display:block;position:relative;z-index:1;}
  /* Indiquer que c'est une vidéo (sans cacher l'image) */
  .hero-terrain .video-play-btn{opacity:1;transform:scale(1);}

  [class^="section-"],.video-section,.site-footer{border-radius:var(--radius-section) var(--radius-section) 0 0;margin-top:calc(var(--section-overlap) * -1);}

  .section-mission{background:var(--cacao);padding:var(--pad-section) var(--pad-x);overflow:visible;margin-top:clamp(-5rem,-12vw,-3rem);position:relative;z-index:3;}
  .mission-tagline-wrap{margin:0;text-align:center;max-width:none;}
  .mission-tagline{font-size:clamp(1.05rem,4.5vw,1.35rem);line-height:1.25;color:var(--lichen);max-width:72%;margin:0 auto;}
  .mission-fleur{width:clamp(84px,22vw,120px);margin:2.5rem auto 2rem;}
  .section-campaign{padding:var(--pad-section) var(--pad-x);}
  .campaign-layout{max-width:none;gap:1.25rem;}
  .campaign-titre{font-size:clamp(1.35rem,5.5vw,1.85rem);}
  .campaign-texte{font-size:.92rem;line-height:1.6;color:rgba(252,255,233,.85);}
  .campaign-content .btn-lichen,.campaign-content .btn-outline-creme{font-size:.8rem;padding:.5rem 1.15rem;min-height:0;}
  /* Boutons un peu plus petits au téléphone */
  .btn-lichen,.btn-outline-creme,.btn-inscris{font-size:.8rem;padding:.5rem 1.2rem;}

  .video-play-btn{width:56px;height:56px;}
  .video-play-btn svg{width:18px;height:18px;}

  .section-choix{background:url('img/fond-mousse.jpg?v=20260623214003') center center/cover no-repeat;padding:var(--pad-section) var(--pad-x);background-image:image-set(url('img/fond-mousse.webp?v=20260623214003') type('image/webp'),url('img/fond-mousse.jpg?v=20260623214003') type('image/jpeg'));}
  .section-choix::before{display:block;}
  .choix-cards{max-width:100%;}
  .choix-card{border-radius:16px;padding:1.75rem 1.5rem 5rem;max-width:none;min-height:280px;}
  .choix-card--dark{padding-bottom:7rem;min-height:320px;}
  .choix-card--light p,.choix-card--dark p{font-size:.92rem;line-height:1.55;}
  .choix-card-btn{min-height:0;display:inline-flex;align-items:center;font-size:.8rem;padding:.5rem 1.15rem;}

  .section-voix,.section-creativite{padding:var(--pad-section) var(--pad-x);min-height:0;}
  .section-creativite{background:var(--faff);padding-top:calc(var(--pad-section) + 1rem);}
  .section-creativite::before{top:22px;width:86%;}
  .voix-inner,.creativite-inner{max-width:100%;grid-template-columns:1fr!important;gap:1.25rem;}
  .voix-photo,.creativite-photo{position:static;width:100%;max-width:min(200px,60%);order:1;aspect-ratio:1/1;}
  .voix-photo{margin-left:auto;margin-right:0;}
  .creativite-photo{margin-left:0;margin-right:auto;}
  .voix-content,.creativite-content{order:2;max-width:none;}
  .voix-titre,.creativite-titre{font-size:clamp(1.35rem,6vw,1.9rem);font-weight:600;max-width:none;}
  .voix-name,.creativite-name{font-size:.75rem;letter-spacing:.1em;}
  .voix-bio,.creativite-bio{font-size:.92rem;line-height:1.6;}
  .voix-quote,.creativite-quote{font-size:.93rem;line-height:1.5;border-left:none;padding-left:0;font-style:italic;}

  .section-connexion{background:var(--cacao);padding:var(--pad-section) var(--pad-x);min-height:0;}
  .connexion-inner{max-width:100%!important;grid-template-columns:1fr!important;gap:0;}
  .connexion-titre{display:none;}
  .cx-mag{display:flex;flex-direction:column;gap:clamp(2.5rem,8vw,3.5rem);}
  .connexion-texte{font-size:clamp(.78rem,3.4vw,.92rem);line-height:1.65;color:var(--creme);max-width:none;}

  /* Reset générique – coins rectangulaires, en premier pour que les règles spécifiques le remplacent */
  .cx-bloc .cx-img{position:static;border-radius:0!important;}
  .cx-bloc .cx-img img{width:100%;height:100%;object-fit:cover;border-radius:0;display:block;}

  /* Bloc 1 : texte pleine largeur, puis photo droite */
  .cx-bloc--photo-r{display:flex;flex-direction:column;gap:clamp(1.5rem,5vw,2rem);}
  .cx-bloc--photo-r .connexion-texte{width:100%;font-size:clamp(.78rem,3.4vw,.92rem);line-height:1.65;}
  .cx-bloc--photo-r .cx-img{width:clamp(46%,52%,56%);margin-left:auto;margin-right:0;aspect-ratio:3/2;overflow:hidden;}

  /* Bloc 2 : champignons gauche (36%) + texte droite aligné en bas */
  .cx-bloc--photo-l{display:flex;flex-direction:row;align-items:flex-start;gap:clamp(1rem,4vw,1.5rem);}
  .cx-bloc--photo-l .cx-img{width:clamp(33%,36%,40%);flex-shrink:0;margin:0;aspect-ratio:3/4;overflow:hidden;}
  .cx-bloc--photo-l .connexion-texte{flex:1;font-size:clamp(.75rem,3.2vw,.88rem);line-height:1.6;align-self:flex-start;}

  /* Bloc 3 : tablée extérieure droite (16/9), texte pleine largeur dessous */
  .cx-bloc--full{display:flex;flex-direction:column;gap:clamp(1.5rem,5vw,2rem);}
  .cx-bloc--full .cx-img{width:clamp(60%,70%,76%);margin-left:auto;margin-right:0;aspect-ratio:16/9;overflow:hidden;}
  .cx-bloc--full .cx-img img{object-position:center center;filter:contrast(1.12) saturate(1.08) brightness(1.02);}
  .cx-bloc--full .connexion-texte{width:100%;font-size:clamp(.78rem,3.4vw,.92rem);line-height:1.65;}

  .connexion-actions{flex-direction:column;align-items:stretch;}
  .connexion-actions .btn-lichen,.connexion-actions .btn-outline-creme{text-align:center;justify-content:center;font-size:.8rem;padding:.55rem 1.2rem;min-height:0;}

  .section-formulaire{padding:var(--pad-section) var(--pad-x);}
  .formulaire-titre{font-size:clamp(1.75rem,8vw,2.75rem);max-width:none;line-height:1.05;}
  .formulaire-lead,.formulaire-liste{font-size:.92rem;line-height:1.55;max-width:none;}
  .formulaire-right{max-width:100%;}
  .formulaire-right input,.formulaire-right select,.formulaire-right textarea,.formulaire-right button[type="submit"]{min-height:44px;font-size:1rem!important;}

  .section-partenaires{padding:var(--pad-section) var(--pad-x);}
  .partenaires-inner{max-width:100%;}
  .partenaires-titre{font-size:clamp(1.35rem,6vw,1.85rem);}
  .site-footer{background:var(--cacao);padding:var(--pad-section) clamp(1rem,3vw,1.5rem) calc(2rem + env(safe-area-inset-bottom));}
  .footer-inner{max-width:100%;}
  .footer-tagline{font-size:clamp(1.35rem,6.5vw,2rem);max-width:none;color:var(--lichen);line-height:1.1;}
  .footer-wordmark{display:none;}
  .footer-ginkgo{display:none;}
  .footer-top{margin-bottom:2rem;}
  .footer-bottom{flex-direction:row!important;justify-content:space-between;align-items:flex-start;gap:1rem;padding-top:1.5rem;}
  .footer-social{gap:.45rem;}
  .footer-social a{font-family:var(--font-display);font-size:.875rem;opacity:.85;}
  .footer-contact{text-align:right;}
  .footer-contact-label{font-family:var(--font-display);font-size:.875rem;color:var(--lichen);opacity:.85;margin-bottom:.4rem;display:block;}
  .footer-contact-email{font-family:var(--font-display);font-size:.82rem;color:var(--lichen);opacity:.85;word-break:break-all;}
  .footer-copy{font-size:.72rem;padding-top:1rem;color:rgba(217,255,80,.35);width:100%;text-align:center;}
}

/* --- Petits téléphones (≤374px, ex. iPhone SE) --- */
@media(max-width:374px){
  .mobile-menu-nav a{font-size:clamp(2rem,10vw,2.75rem);}
  .choix-card{padding:1.35rem 1.15rem;}
}

/* --- Bouton flottant cœur (mobile) --- */
.btn-don-flottant{display:none;}
.btn-don-label{display:none;}
/* --- Bouton "Je soutiens" flottant (desktop uniquement) --- */
.btn-soutiens{display:none;}

/* --- Tablette + Desktop ≥768px — identique à la maquette ordinateur --- */
@media(min-width:768px){
  /* Navbar : logo collé à gauche, Se connecter collé à droite */
  .nav-inner{padding-left:1.5rem;padding-right:1.5rem;}
  /* Hero — respiration au-dessus du logo, 0 en bas (parallax) */
  .hero{padding-top:clamp(6rem,11vw,12rem);padding-bottom:0;}
  .hero-tagline{margin-top:clamp(1.5rem,2.5vw,3rem);margin-bottom:clamp(2.5rem,4vw,4.5rem);}
  /* Section mission (cacao) et campaign (kaki) : chevauchement parallax */
  .section-mission{margin-top:clamp(-100px,-7vw,-60px);border-radius:clamp(40px,5vw,80px) clamp(40px,5vw,80px) 0 0;padding-top:clamp(10rem,16vw,20rem);padding-bottom:clamp(5rem,9vw,11rem);}
  .section-campaign{margin-top:clamp(-80px,-5vw,-40px);border-radius:clamp(40px,5vw,80px) clamp(40px,5vw,80px) 0 0;}
  /* Tagline mission centrée au desktop */
  .mission-tagline-wrap{text-align:center;}
  .mission-tagline{margin:0 auto;}
  /* nav-cta retiré de la navbar au desktop */
  .nav-cta{display:none;}
  /* Espace entre section Florence et section Catherine */
  .section-voix{padding-bottom:5.5rem;}
  .section-creativite{padding-top:6rem;}
  /* Bouton "Je soutiens" flottant — desktop uniquement */
  .btn-soutiens{
    display:flex;align-items:center;position:fixed;top:50%;right:2rem;
    transform:translateY(-50%);border-radius:9999px;background:var(--lichen);
    color:var(--cacao);font-family:var(--font-display);font-weight:600;
    font-size:.82rem;letter-spacing:.02em;padding:.6rem 1.35rem;
    text-decoration:none;box-shadow:0 4px 20px rgba(0,0,0,.22);
    white-space:nowrap;z-index:900;
    opacity:0;pointer-events:none;
    transition:opacity .5s ease,background .2s,transform .15s;
  }
  .btn-soutiens:hover{background:#ceff00;transform:translateY(-50%) scale(1.04);}
  .btn-soutiens.show{opacity:1;pointer-events:auto;}
  /* Section connexion — zig-zag Figma (1920px référence) */
  .connexion-inner{display:block;}
  .connexion-titre{display:none;}
  .cx-mag{display:flex;flex-direction:column;gap:clamp(4rem,7vw,6rem);}
  /* Bloc 1 (Figma) : texte 65.5%, image 48.6% offset droite, ratio 3:2 */
  .cx-bloc--photo-r{display:flex;flex-direction:column;gap:clamp(3.5rem,5.5vw,5rem);}
  .cx-bloc--photo-r .connexion-texte{max-width:65.5%;}
  .cx-bloc--photo-r .cx-img{width:48.6%;margin-left:auto;margin-right:0;aspect-ratio:3/2;border-radius:12px;overflow:hidden;}
  /* Bloc 2 (Figma) : image gauche 36.8% (706:766) + texte droite aligné bas */
  .cx-bloc--photo-l{display:flex;flex-direction:row;align-items:flex-start;gap:clamp(2rem,3.5vw,4rem);}
  .cx-bloc--photo-l .cx-img{width:36.8%;flex-shrink:0;aspect-ratio:3/4;border-radius:12px;overflow:hidden;}
  .cx-bloc--photo-l .connexion-texte{flex:1;align-self:flex-start;max-width:56%;}
  /* Bloc 3 (Figma) : texte 56.9%, image 55.6% offset droite, ratio 16:9 */
  .cx-bloc--full{display:flex;flex-direction:column;gap:clamp(3.5rem,5.5vw,5rem);}
  .cx-bloc--full .connexion-texte{max-width:70%;}
  .cx-bloc--full .cx-img{width:55.6%;margin-left:auto;margin-right:0;aspect-ratio:16/9;border-radius:12px;overflow:hidden;}
  /* Texte connexion plus grand au desktop */
  .connexion-texte{font-size:clamp(1.1rem,2.35vw,2.8rem);line-height:1.55;color:rgba(252,255,233,.8);}
}

/* --- Grand écran ≥1500px — conteneurs plus larges pour 1920px --- */
@media(min-width:1500px){
  .mission-tagline-wrap,.campaign-layout,.voix-inner,.creativite-inner,
  .formulaire-inner{max-width:1080px;}
  .footer-inner{max-width:min(96vw,1900px);}
  .connexion-inner{max-width:1080px;}
  .footer-tagline{max-width:min(52vw,1000px);}
}

@media(max-width:767px){
  .btn-don-flottant{
    display:flex;
    align-items:center;
    justify-content:center;
    position:fixed;
    bottom:calc(1.25rem + env(safe-area-inset-bottom));
    right:1rem;
    width:44px;
    height:44px;
    border-radius:50%;
    background:var(--lichen);
    color:var(--cacao);
    text-decoration:none;
    box-shadow:0 4px 16px rgba(0,0,0,.22);
    z-index:900;
    opacity:0;
    pointer-events:none;
    transition:opacity .5s ease,transform .18s ease,box-shadow .18s ease;
    animation:coeur-pulse 2.8s ease-in-out infinite;
  }
  .btn-don-flottant.show{opacity:1;pointer-events:auto;}
  .btn-don-flottant:active{
    transform:scale(.92);
    box-shadow:0 2px 8px rgba(0,0,0,.18);
    animation:none;
  }
  .btn-don-flottant svg{
    width:18px;
    height:18px;
    fill:var(--cacao);
  }
  @keyframes coeur-pulse{
    0%,100%{transform:scale(1);}
    50%{transform:scale(1.07);}
  }
}

/* --- Tablette : bouton "Je soutiens" = cœur comme au téléphone --- */
@media(min-width:768px) and (max-width:1023px){
  /* Plus de marge latérale pour que le cœur flottant ne touche pas le texte */
  :root{--pad-x:clamp(5rem,8vw,6.5rem);}
  .btn-soutiens{display:none!important;}
  .btn-don-flottant{
    display:flex;align-items:center;justify-content:center;
    position:fixed;top:50%;right:1.25rem;transform:translateY(-50%);
    width:48px;height:48px;border-radius:50%;
    background:var(--lichen);color:var(--cacao);text-decoration:none;
    box-shadow:0 4px 16px rgba(0,0,0,.22);z-index:900;
    opacity:0;pointer-events:none;
    transition:opacity .5s ease,transform .18s ease,box-shadow .18s ease;
    animation:coeur-pulse 2.8s ease-in-out infinite;
  }
  .btn-don-flottant.show{opacity:1;pointer-events:auto;}
  .btn-don-flottant:active{transform:translateY(-50%) scale(.92);box-shadow:0 2px 8px rgba(0,0,0,.18);animation:none;}
  .btn-don-flottant svg{width:22px;height:22px;fill:var(--cacao);}
  @keyframes coeur-pulse{0%,100%{transform:scale(1);}50%{transform:scale(1.07);}}
}
