
/* ==============================================================
   ASSOCIATION 3.49 — STYLES
   ============================================================== */
.eap349-active{
  --cream:#F8F1E6;
  --cream-dim:#EFE3CF;
  --cream-line:rgba(41,39,39,.14);
  --ink:#292727;
  --ink-soft:#5b5654;
  --red:#BF1623;
  --red-dark:#8f0f19;
  --crisis-green:#A9B26B; /* exception ponctuelle approuvée par le client, utilisée uniquement dans "Les 3 crises" */
  font-family:'Work Sans',sans-serif;
  color:var(--ink);
  background:var(--cream);
  overflow-x:clip;
  position:relative;
}
.eap349-active *{box-sizing:border-box;}
/* Empêche le header fixe de recouvrir une section ciblée par une ancre (#fresque, #happy-hour…),
   que l'arrivée se fasse par clic sur la même page (JS) OU par lien direct depuis une autre page
   (navigateur natif, non couvert par le JS de défilement fluide). */
.eap349-active [id]{scroll-margin-top:110px;}
.eap349-active img{max-width:100%;display:block;}
.eap349-active a{color:inherit;text-decoration:none;}
.eap349-active ul{list-style:none;margin:0;padding:0;}
.eap349-active section{position:relative;}
.eap349-active h1,.eap349-active h2,.eap349-active h3{
  font-family:'Anton',sans-serif;
  font-weight:400;
  text-transform:uppercase;
  line-height:1.16;
  letter-spacing:.2px;
  margin:0;
}
.eap349-active p{margin:0;line-height:1.65;color:var(--ink-soft);}
.eap349-active .is-red{color:var(--red);}

/* generic label */
.eap349-active .a349-section-label{
  font-family:'Space Mono',monospace;
  font-weight:700;
  font-size:.72rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--red);
  margin:0 0 .9rem;
}

/* reveal on scroll — le masquage initial n'est activé qu'une fois le JS confirmé
   opérationnel (classe ajoutée dynamiquement) : si le script ne se déclenche pas
   pour une raison quelconque (aperçu de l'éditeur Elementor, JS bloqué, etc.),
   le contenu reste simplement visible au lieu de rester invisible pour toujours. */
.eap349-active .reveal{transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1);}
.eap349-active.eap349-js-ready .reveal{opacity:0;transform:translateY(28px);}
.eap349-active .reveal.in-view{opacity:1;transform:translateY(0);}

/* buttons */
.eap349-active .a349-btn{
  display:inline-flex;align-items:center;gap:.5rem;
  font-family:'Space Mono',monospace;font-weight:700;font-size:.78rem;
  letter-spacing:.06em;text-transform:uppercase;
  padding:.95rem 1.5rem;border-radius:100px;border:1.5px solid transparent;
  white-space:nowrap;transition:background .25s ease,color .25s ease,box-shadow .25s ease,border-color .25s ease;
}
.eap349-active .a349-btn svg{width:15px;height:15px;flex:none;}
.eap349-active .a349-btn--red{background:var(--red);color:var(--cream);}
.eap349-active .a349-btn--red:hover{background:var(--red-dark);}
.eap349-active .a349-btn--outline{background:transparent;color:var(--ink);border-color:var(--ink);}
.eap349-active .a349-btn--outline:hover{background:var(--ink);color:var(--cream);}
.eap349-active .a349-btn--sm{padding:.7rem 1.2rem;font-size:.68rem;}

.eap349-active .a349-link-arrow{
  display:inline-flex;align-items:center;gap:.45rem;
  font-family:'Space Mono',monospace;font-weight:700;font-size:.74rem;
  letter-spacing:.06em;text-transform:uppercase;color:var(--red);
}
.eap349-active .a349-link-arrow svg{width:14px;height:14px;transition:transform .25s ease;}
.eap349-active .a349-link-arrow:hover svg{transform:translateX(4px);}

/* ================= BRAND LOGO (built in HTML/CSS, no image) ================= */
.eap349-active .a349-brand-logo{display:inline-flex;align-items:center;gap:.15em;line-height:1;}
.eap349-active .a349-brand-mark{
  font-family:'Anton',sans-serif;font-size:.22em;letter-spacing:.06em;
  background:var(--red);color:var(--cream);padding:.68em .42em;line-height:1;
  writing-mode:vertical-rl;transform:rotate(180deg);border-radius:1px;
}
.eap349-active .a349-brand-num{font-family:'Anton',sans-serif;font-size:1em;color:var(--ink);white-space:nowrap;}
.eap349-active .a349-brand-num i{color:var(--red);font-style:normal;}
.eap349-active .a349-brand-logo--dark .a349-brand-num{color:var(--cream);}

/* ================= LOADER ================= */
#a349-loader{
  position:fixed;inset:0;z-index:9999;background:var(--cream);
  display:flex;align-items:center;justify-content:center;flex-direction:column;gap:1.6rem;
  transition:opacity .6s ease, visibility .6s ease;
}
#a349-loader.is-hidden{opacity:0;visibility:hidden;pointer-events:none;}
.a349-loader-inner{display:flex;flex-direction:column;align-items:center;gap:.55rem;}
.a349-loader-inner .a349-brand-logo{font-size:5.2rem;}
#a349-loader .a349-brand-mark{
  opacity:0;transform:rotate(180deg) scale(.85);
  transition:opacity .5s ease, transform .5s ease;
}
#a349-loader .a349-brand-mark.is-in{opacity:1;transform:rotate(180deg) scale(1);}
#a349-loader .a349-brand-num{
  clip-path:inset(0 100% 0 0);
  transition:clip-path .65s cubic-bezier(.2,.7,.2,1);
}
#a349-loader .a349-brand-num.is-in{clip-path:inset(0 0 0 0);}
.a349-lg-tag{
  font-family:'Space Mono',monospace;font-weight:700;font-size:.75rem;
  letter-spacing:.3em;color:var(--ink);display:flex;gap:.5em;
  opacity:0;transition:opacity .6s ease, letter-spacing .6s ease;
}
.a349-lg-tag.is-in{opacity:1;letter-spacing:.14em;}
.a349-lg-tag i{color:var(--red);font-style:normal;}
.a349-loader-bar{width:180px;height:2px;background:var(--cream-line);overflow:hidden;border-radius:2px;}
#a349-loader-bar-fill{display:block;height:100%;width:0%;background:var(--red);transition:width .3s ease;}

/* ================= HEADER ================= */
.a349-header{
  position:fixed;top:18px;left:50%;transform:translateX(-50%);
  width:calc(100% - 32px);max-width:1220px;z-index:500;
  border-radius:100px;
  background:transparent;border:1.5px solid transparent;box-shadow:none;
  transition:box-shadow .35s ease, top .35s ease, background .35s ease, border-color .35s ease, transform .35s ease;
  pointer-events:none;
}
.a349-header.is-ready{
  background:var(--cream);border-color:var(--ink);box-shadow:6px 6px 0 var(--ink);pointer-events:auto;
}
.a349-header.is-scrolled{box-shadow:4px 4px 0 var(--ink);top:12px;transform:translateX(-50%) translate(-2px,-2px);}
.a349-header-inner{
  display:flex;align-items:center;justify-content:space-between;gap:1.2rem;
  padding:.6rem .6rem .6rem 1.1rem;transition:padding .35s ease;
}
.a349-header.is-scrolled .a349-header-inner{padding:.45rem .5rem .45rem 1rem;}

.a349-logo-slot{display:flex;align-items:center;min-height:50px;}
.a349-header .a349-brand-logo{font-size:2.5rem;transition:font-size .35s ease;}
.a349-header.is-scrolled .a349-brand-logo{font-size:2.1rem;}

.a349-nav{display:flex;opacity:0;transition:opacity .5s ease;}
.a349-header.is-ready .a349-nav{opacity:1;}
.a349-nav ul{display:flex;align-items:center;gap:1.9rem;}
.a349-nav a,.a349-mega-trigger{
  font-family:'Anton',sans-serif;font-size:.85rem;font-weight:400;
  letter-spacing:.03em;text-transform:uppercase;color:var(--ink);
  background:none;border:none;cursor:pointer;display:flex;align-items:center;gap:.3rem;
  padding:.4rem 0;position:relative;
}
.a349-nav a.active,.a349-nav a:hover,.a349-mega-trigger:hover,.a349-mega-trigger.active{color:var(--red);}
.a349-nav a.active::after{
  content:"";position:absolute;left:0;right:0;bottom:-4px;height:2px;background:var(--red);
}
.a349-mega-trigger svg{transition:transform .25s ease;}
li.has-mega.is-open .a349-mega-trigger svg{transform:rotate(180deg);}

.a349-header-actions{display:flex;align-items:center;gap:.7rem;opacity:0;transition:opacity .5s ease;}
.a349-header.is-ready .a349-header-actions{opacity:1;}
.a349-social{
  width:32px;height:32px;border-radius:50%;border:1.5px solid var(--cream-line);
  display:flex;align-items:center;justify-content:center;color:var(--ink);
  transition:background .25s ease,color .25s ease,border-color .25s ease;
}
.a349-social svg{width:15px;height:15px;}
.a349-social:hover{background:var(--ink);border-color:var(--ink);color:var(--cream);}
.a349-burger{display:none;flex-direction:column;gap:4px;background:none;border:none;cursor:pointer;padding:.4rem;}
.a349-burger span{width:20px;height:2px;background:var(--ink);border-radius:2px;transition:transform .3s ease,opacity .3s ease;}

/* mega menu */
li.has-mega{position:static;}
.a349-mega{
  position:absolute;top:calc(100% + 14px);left:50%;transform:translateX(-50%) translateY(8px);
  width:min(760px,92vw);background:var(--cream);border-radius:26px;
  box-shadow:0 24px 60px rgba(41,39,39,.2);border:1px solid var(--cream-line);
  padding:1.6rem;opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .3s ease,transform .3s ease,visibility .3s ease;
  z-index:400;
}
li.has-mega.is-open .a349-mega{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0);}
.a349-mega-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:1.6rem;}
.a349-mega-col-title{
  display:block;font-family:'Space Mono',monospace;font-size:.68rem;font-weight:700;
  letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:.9rem;
}
.a349-mega-item{display:flex;gap:.8rem;padding:.6rem;border-radius:14px;cursor:pointer;transition:background .2s ease;}
.a349-mega-item:hover{background:var(--cream-dim);}
.a349-mega-item + .a349-mega-item{margin-top:.15rem;}
.a349-mega-ico{
  flex:none;width:38px;height:38px;border-radius:10px;background:var(--cream-dim);
  display:flex;align-items:center;justify-content:center;color:var(--red);
}
.a349-mega-item:hover .a349-mega-ico{background:var(--red);color:var(--cream);}
.a349-mega-ico svg{width:19px;height:19px;}
.a349-mega-item strong{font-family:'Work Sans',sans-serif;font-weight:700;font-size:.9rem;}
.a349-mega-item p{font-size:.8rem;margin-top:.15rem;}
.a349-mega-highlight{
  background:var(--ink);color:var(--cream);border-radius:16px;padding:1.4rem;
  display:flex;flex-direction:column;gap:.5rem;justify-content:center;
}
.a349-mega-highlight-label{font-family:'Space Mono',monospace;font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;color:var(--red);}
.eap349-active .a349-mega-highlight-title{font-family:'Anton',sans-serif;font-size:1.15rem;text-transform:none;line-height:1.15;color:var(--cream);}
.eap349-active .a349-mega-highlight-text{font-size:.8rem;color:var(--cream);opacity:.92;}
.a349-mega-highlight-tag{
  margin-top:.4rem;align-self:flex-start;font-family:'Space Mono',monospace;font-size:.65rem;
  letter-spacing:.06em;text-transform:uppercase;border:1px solid rgba(248,241,230,.35);
  padding:.4rem .7rem;border-radius:100px;
}

/* mobile nav — panneau plein écran, anime du haut vers le bas */
.a349-mobile-nav{
  position:fixed;inset:0;z-index:600;background:var(--cream);
  display:flex;flex-direction:column;
  transform:translateY(-100%);
  transition:transform .55s cubic-bezier(.65,0,.14,1);
  visibility:hidden;
}
.a349-mobile-nav.is-open{transform:translateY(0);visibility:visible;}

.a349-mobile-nav-top{
  display:flex;align-items:center;justify-content:space-between;
  padding:1.6rem 5vw;border-bottom:1px solid var(--cream-line);
}
.a349-mobile-nav-brand{font-family:'Anton',sans-serif;font-size:1.4rem;color:var(--red);}
.a349-mobile-close{
  width:42px;height:42px;border-radius:50%;border:1.5px solid var(--ink);background:none;
  display:flex;align-items:center;justify-content:center;color:var(--ink);cursor:pointer;
}
.a349-mobile-close svg{width:18px;height:18px;}

.a349-mobile-links{display:flex;flex-direction:column;padding:1rem 5vw;overflow-y:auto;flex:1;}
.a349-mobile-links > a{
  font-family:'Anton',sans-serif;font-size:1.7rem;text-transform:uppercase;color:var(--ink);
  padding:1rem 0;border-bottom:1px solid var(--cream-line);
}

.a349-mobile-ateliers{border-bottom:1px solid var(--cream-line);}
.a349-mobile-ateliers-trigger{
  width:100%;display:flex;align-items:center;justify-content:space-between;
  font-family:'Anton',sans-serif;font-size:1.7rem;text-transform:uppercase;color:var(--ink);
  background:none;border:none;padding:1rem 0;cursor:pointer;
}
.a349-mobile-ateliers-trigger svg{width:14px;height:14px;transition:transform .3s ease;flex:none;}
.a349-mobile-ateliers.is-open .a349-mobile-ateliers-trigger svg{transform:rotate(180deg);}
.a349-mobile-ateliers-panel{max-height:0;overflow:hidden;transition:max-height .35s ease;display:flex;flex-direction:column;}
.a349-mobile-ateliers.is-open .a349-mobile-ateliers-panel{max-height:260px;}
.a349-mobile-ateliers-panel span{
  font-family:'Space Mono',monospace;font-size:.85rem;letter-spacing:.03em;color:var(--ink-soft);
  padding:.65rem 0 .65rem .3rem;
}

.a349-mobile-bottom{display:flex;align-items:center;justify-content:space-between;padding:1.4rem 5vw 2rem;border-top:1px solid var(--cream-line);}
.a349-mobile-socials{display:flex;gap:.7rem;}
.a349-mobile-socials a{
  width:38px;height:38px;border-radius:50%;border:1.5px solid var(--cream-line);color:var(--ink);
  display:flex;align-items:center;justify-content:center;
}
.a349-mobile-socials svg{width:16px;height:16px;}

/* ================= HERO ================= */
.a349-hero{padding:calc(112px + 3rem) 4vw 0;max-width:1320px;margin:0 auto;}
.a349-hero-top{display:grid;grid-template-columns:1.5fr 1fr;gap:3rem;align-items:start;padding-bottom:3rem;}
.a349-hero-title{font-size:clamp(2.2rem,3.9vw,3.5rem);line-height:1.12;}
.a349-hero-side{padding-top:1.2rem;}
.eap349-active .a349-hero-side > p{font-size:1rem;line-height:1.7;margin-bottom:2rem !important;max-width:420px;}
.a349-hero-side strong{color:var(--ink);}
.eap349-active .a349-hero-ctas{display:flex;gap:1.2rem;flex-wrap:wrap;margin-bottom:2.2rem !important;}
.a349-hero-proof{display:flex;align-items:center;gap:1.2rem;}
.a349-hero-avatars{display:flex;}
.a349-hero-avatars img{
  width:52px !important;height:52px !important;border-radius:50% !important;object-fit:cover;border:3px solid var(--cream);
  margin-left:-14px;box-shadow:0 2px 6px rgba(41,39,39,.15);
}
.a349-hero-avatars img:first-child{margin-left:0;}
.a349-hero-proof span{font-size:.82rem;color:var(--ink-soft);max-width:180px;line-height:1.4;}
.a349-hero-proof strong{color:var(--ink);}

.a349-hero-visual{position:relative;width:100%;margin-bottom:5.5rem;}
.a349-slideshow{
  position:relative;width:100%;height:min(70vh,640px);border-radius:26px;overflow:hidden;background:var(--ink);
}
.a349-slide{
  position:absolute;inset:0;transform:translateX(100%);transition:transform .85s cubic-bezier(.65,0,.16,1);
}
.a349-slide img{width:100%;height:100%;object-fit:cover;display:block;}
.a349-slide.is-active{transform:translateX(0);z-index:2;}
.a349-slide.is-prev{transform:translateX(-100%);}
.a349-slideshow-scrim{position:absolute;inset:0;z-index:3;pointer-events:none;background:linear-gradient(0deg,rgba(20,18,17,.5),rgba(20,18,17,0) 45%);}

.a349-hero-quote{
  position:absolute;left:1.8rem;top:1.8rem;background:var(--ink);color:var(--cream);
  border-radius:14px;padding:1rem 1.3rem;max-width:230px;z-index:4;
}
.eap349-active .a349-hero-quote p{font-family:'Anton',sans-serif;text-transform:uppercase;font-size:.95rem;line-height:1.4;color:var(--cream);}

.a349-side-stack{position:absolute;right:1.8rem;bottom:3.4rem;width:168px;height:168px;z-index:4;}
.a349-ss-card{
  position:absolute;inset:0;border-radius:16px;overflow:hidden;
  border:5px solid var(--cream);box-shadow:0 16px 30px rgba(20,18,17,.32);
  transition:transform .7s cubic-bezier(.6,0,.15,1);
}
.a349-ss-card img{width:100%;height:100%;object-fit:cover;display:block;}
.a349-ss-card.ss-pos-0{transform:rotate(-3deg) translate(0,0) scale(1);z-index:3;}
.a349-ss-card.ss-pos-1{transform:rotate(11deg) translate(20px,14px) scale(.9);z-index:2;}
.a349-ss-card.ss-pos-2{transform:rotate(-16deg) translate(-20px,18px) scale(.82);z-index:1;}

.a349-ss-dots{position:absolute;left:50%;bottom:-1.8rem;transform:translateX(-50%);display:flex;gap:.4rem;z-index:5;}
.a349-ss-dots span{width:6px;height:6px;border-radius:50%;background:rgba(41,39,39,.25);cursor:pointer;transition:background .25s ease,width .25s ease;}
.a349-ss-dots span.is-on{background:var(--red);width:16px;border-radius:3px;}

.a349-slide-dots{position:absolute;left:50%;bottom:1.6rem;transform:translateX(-50%);z-index:4;display:flex;gap:.5rem;}
.a349-slide-dots span{width:8px;height:8px;border-radius:50%;background:rgba(248,241,230,.45);cursor:pointer;transition:background .25s ease,width .25s ease;}
.a349-slide-dots span.is-on{background:var(--red);width:22px;border-radius:4px;}

.a349-hero-stats-chip{
  display:flex;justify-content:center;background:var(--cream-dim);
  border-radius:18px;overflow:hidden;margin-top:1.8rem;max-width:560px;margin-left:auto;margin-right:auto;
}
.a349-hero-stats-chip div{padding:1.1rem 1.4rem;text-align:center;border-left:1px solid var(--cream-line);flex:1;}
.a349-hero-stats-chip div:first-child{border-left:none;}
.a349-hero-stats-chip strong{display:block;font-family:'Anton',sans-serif;font-size:1.4rem;color:var(--red);}
.a349-hero-stats-chip span{font-family:'Space Mono',monospace;font-size:.6rem;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);}
/* ================= PILLARS ================= */
.a349-pillars{padding:5.5rem 4vw;}
.a349-pillars-grid{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:0;}
.a349-pillar{padding:0 1.6rem;border-left:1px solid var(--cream-line);}
.a349-pillar:first-child{border-left:none;padding-left:0;}
.a349-pillar-ico{
  width:52px;height:52px;border-radius:50%;background:var(--cream-dim);color:var(--red);
  display:flex;align-items:center;justify-content:center;margin-bottom:1.1rem;
}
.a349-pillar-ico svg{width:24px;height:24px;}
.a349-pillar h3{font-size:1.2rem;margin-bottom:.6rem;}
.a349-pillar p{font-size:.88rem;}

/* ================= UTILITAIRES PARTAGÉS (sections fournies par le client) ================= */
.section{padding:5.5rem 1.25rem;}
.wrap{max-width:1180px;margin:0 auto;}
@media (max-width:520px){.section{padding:3.5rem 1.25rem;}}

/* ================= NOTRE CONSTAT (fourni par le client) ================= */
.constat{background:radial-gradient(90% 70% at 50% 30%, #FBF6ED 0%, var(--cream) 100%);}
.constat .head{text-align:center;margin-bottom:1rem;}
.eap349-active .constat .label{
  font-family:'Space Mono',monospace;font-weight:700;font-size:.72rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--red);
}
.constat .head .bar{width:64px;height:5px;border-radius:3px;background:var(--red);margin:1.1rem auto 0;}
.constat h2{
  font-family:'Anton',sans-serif;font-weight:400;text-transform:uppercase;line-height:1.16;
  font-size:clamp(1.9rem,3.2vw,2.6rem);margin-top:.55rem;
}
.constat .diagram{max-width:1180px;margin:0 auto;}
.constat svg{display:block;width:100%;height:auto;max-width:100%;}
.constat .bubble{transform-box:fill-box;transform-origin:center;transition:transform .3s ease;}
.constat .bubble:hover{transform:translateY(-8px);}
.constat .spin-slow{transform-box:fill-box;transform-origin:center;animation:a349ConstatSpin 70s linear infinite;}
@keyframes a349ConstatSpin{to{transform:rotate(360deg);}}
@media (prefers-reduced-motion:reduce){
  .constat .bubble,.constat .bubble:hover{transform:none;transition:none;}
  .constat .spin-slow{animation:none;}
}

/* ================= STATS + VALUES ================= */
.a349-stats-values{padding:5.5rem 4vw;max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1.15fr .85fr;gap:3.5rem;}
.a349-stats{display:grid;grid-template-columns:1fr 1fr;gap:1.6rem;align-content:center;}
.a349-stat{border-top:2px solid var(--ink);padding-top:1rem;}
.a349-stat strong{font-family:'Anton',sans-serif;font-size:2.6rem;color:var(--red);display:block;}
.a349-stat span{font-family:'Space Mono',monospace;font-size:.72rem;letter-spacing:.03em;color:var(--ink-soft);}

.a349-values{background:var(--cream-dim);border-radius:22px;padding:2.2rem;}
.a349-values-list{display:flex;flex-direction:column;gap:1.2rem;margin-top:.4rem;}
.a349-value{padding-bottom:1.1rem;border-bottom:1px solid var(--cream-line);}
.a349-value:last-child{border-bottom:none;padding-bottom:0;}
.a349-value-num{font-family:'Work Sans',sans-serif;font-weight:800;font-size:1.02rem;display:block;margin-bottom:.3rem;}
.a349-value p{font-size:.86rem;}

/* ================= ATELIERS ================= */
.a349-ateliers{padding:5.5rem 4vw;max-width:1280px;margin:0 auto;}
.a349-ateliers-head{max-width:640px;margin-bottom:2.6rem;}
.a349-ateliers-head h2{font-size:clamp(1.8rem,3vw,2.5rem);}
.a349-ateliers-grid{display:grid;grid-template-columns:1fr 1fr .78fr;gap:1.6rem;}
.a349-atelier-card{border-radius:22px;overflow:hidden;background:var(--cream-dim);display:flex;flex-direction:column;}
.a349-atelier-card img{height:230px;object-fit:cover;width:100%;}
.a349-atelier-body{padding:1.6rem;display:flex;flex-direction:column;gap:.65rem;}
.a349-atelier-chip{
  font-family:'Space Mono',monospace;font-size:.66rem;letter-spacing:.06em;text-transform:uppercase;
  color:var(--red);
}
.a349-atelier-card h3{font-size:1.35rem;}
.a349-atelier-card p{font-size:.88rem;}

.a349-atelier-cta{background:var(--red);color:var(--cream);border-radius:22px;padding:1.8rem;display:flex;flex-direction:column;gap:1.1rem;}
.a349-atelier-cta h3{color:var(--cream);font-size:1.15rem;margin-bottom:.2rem;}
.a349-atelier-cta a{display:flex;flex-direction:column;gap:.2rem;padding:.85rem 0;border-top:1px solid rgba(248,241,230,.3);}
.a349-atelier-cta a span{font-weight:600;font-size:.92rem;}
.a349-atelier-cta a em{font-family:'Space Mono',monospace;font-style:normal;font-size:.7rem;letter-spacing:.04em;text-transform:uppercase;opacity:.85;}

/* ================= VISION TIMELINE ================= */
.a349-vision{padding:5.5rem 4vw;max-width:1180px;margin:0 auto;}
.a349-vision-head{max-width:600px;margin-bottom:2.6rem;}
.a349-vision-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1.6rem;position:relative;}
.a349-vision-steps::before{
  content:"";position:absolute;top:26px;left:6%;right:6%;height:2px;background:repeating-linear-gradient(90deg,var(--ink) 0 10px,transparent 10px 18px);
  z-index:0;
}
.a349-vstep{position:relative;z-index:1;background:var(--cream);padding-right:1rem;}
.a349-vstep-n{
  display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;
  background:var(--ink);color:var(--cream);font-family:'Anton',sans-serif;font-size:1.3rem;margin-bottom:1.1rem;
}
.a349-vstep h3{font-size:1.1rem;margin-bottom:.5rem;}
.a349-vstep p{font-size:.86rem;}

/* ================= ÉQUIPE ================= */
.a349-team{padding:5.5rem 4vw;background:var(--cream-dim);}
.a349-team-grid{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:.9fr 1.1fr;gap:3.2rem;align-items:center;}
.a349-team-photo img{border-radius:22px !important;width:100%;height:420px;object-fit:cover;}
.a349-team-copy h2{font-size:clamp(1.5rem,2.6vw,2.1rem);text-transform:none;line-height:1.25;margin-bottom:1.6rem;}
.a349-team-list{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem 1rem;}
.a349-team-list div{border-top:2px solid var(--ink);padding-top:.6rem;}
.a349-team-list strong{display:block;font-family:'Work Sans',sans-serif;font-weight:700;font-size:.95rem;}
.a349-team-list span{font-family:'Space Mono',monospace;font-size:.66rem;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);}

/* ================= QUOTE ================= */
.a349-quote{
  padding:8rem 4vw;background-size:cover;background-position:center;position:relative;
}
.a349-quote-scrim{position:absolute;inset:0;background:rgba(15,13,12,.78);}
.a349-quote blockquote{position:relative;max-width:780px;margin:0 auto;text-align:center;}
.eap349-active .a349-quote-mark{
  display:block;font-family:'Anton',sans-serif;font-size:5rem;line-height:1;color:var(--red);margin-bottom:.5rem;
}
.eap349-active .a349-quote p{
  font-family:'Anton',sans-serif;text-transform:none;color:var(--cream);
  font-size:clamp(1.4rem,2.6vw,2.15rem);line-height:1.36;margin-bottom:1.6rem;
}
.eap349-active .a349-quote cite{font-family:'Space Mono',monospace;font-style:normal;color:var(--red);letter-spacing:.05em;font-size:.85rem;text-transform:uppercase;}

/* ================= FAQ ================= */
.a349-faq{padding:5.5rem 4vw;max-width:1180px;margin:0 auto;}
.a349-faq-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:3.4rem;align-items:start;}
.a349-faq-visual{position:relative;height:460px;}
.a349-faq-visual img{position:absolute;border-radius:20px !important;object-fit:cover;box-shadow:0 18px 40px rgba(41,39,39,.16);}
.a349-faq-visual .v1{width:72%;height:60%;top:0;left:0;}
.a349-faq-visual .v2{width:58%;height:48%;bottom:0;right:0;border:6px solid var(--cream);}
.a349-faq-list h2{font-size:clamp(1.6rem,2.8vw,2.2rem);margin-bottom:2rem;}
.a349-faq-item{border-bottom:1px solid var(--cream-line);}
.a349-faq-q{
  width:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem;
  background:none;border:none;cursor:pointer;text-align:left;padding:1.25rem 0;
  font-family:'Work Sans',sans-serif;font-weight:600;font-size:1rem;color:var(--ink);
}
.a349-faq-icon{position:relative;width:20px;height:20px;flex:none;}
.a349-faq-icon::before,.a349-faq-icon::after{content:"";position:absolute;background:var(--ink);border-radius:2px;transition:transform .3s ease;}
.a349-faq-icon::before{width:100%;height:2px;top:9px;left:0;}
.a349-faq-icon::after{width:2px;height:100%;left:9px;top:0;}
.a349-faq-item.is-open .a349-faq-icon::after{transform:rotate(90deg);}
.a349-faq-item.is-open .a349-faq-q{color:var(--red);}
.a349-faq-item.is-open .a349-faq-icon::before,.a349-faq-item.is-open .a349-faq-icon::after{background:var(--red);}
.a349-faq-a{max-height:0;overflow:hidden;transition:max-height .35s ease;}
.a349-faq-item.is-open .a349-faq-a{max-height:200px;}
.a349-faq-a p{font-size:.92rem;padding-bottom:1.4rem;max-width:560px;}

/* ================= AGIR ENSEMBLE (fourni par le client) ================= */
.agir{background:var(--cream);}
.agir .label-row{display:flex;align-items:center;justify-content:center;gap:14px;margin-bottom:1.6rem;}
.eap349-active .agir .label{
  font-family:'Space Mono',monospace;font-weight:700;font-size:.72rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--red);
}
.agir .label-row .dash{width:30px;height:2px;background:var(--red);}

.card-zone{position:relative;max-width:940px;margin:0 auto;}

.card{
  position:relative;z-index:2;
  background:var(--red);border:2px solid var(--ink);border-radius:26px;
  box-shadow:0 14px 30px rgba(41,39,39,.12);
  padding:clamp(2.2rem,5vw,3.4rem) clamp(1.2rem,4.5vw,3rem) clamp(2rem,4vw,2.6rem);
  text-align:center;
}
.eap349-active #agir-title{color:var(--cream);font-size:clamp(1.8rem,4vw,3.1rem);text-align:center;max-width:640px;width:100%;margin:0 auto;}
.card h1 .accent{color:var(--ink);}
.eap349-active .card .sub{color:var(--cream);font-weight:500;font-size:clamp(.95rem,1.4vw,1.08rem);max-width:52ch;margin:1.1rem auto 0;}

.pillars{display:grid;grid-template-columns:repeat(5,1fr);gap:.5rem;margin-top:2.5rem;}
.pillar{padding:.4rem .5rem;border-left:1px solid rgba(248,241,230,.35);}
.pillar:first-child{border-left:none;}
.icon-circle{width:54px;height:54px;border-radius:50%;background:var(--ink);display:grid;place-items:center;margin:0 auto;}
.icon-circle svg{width:28px;height:28px;}
.pillar h3{
  font-family:'Anton',sans-serif;font-weight:400;text-transform:uppercase;letter-spacing:.05em;
  color:var(--cream);font-size:clamp(.9rem,1.3vw,1.05rem);margin-top:.9rem;
}
.eap349-active .agir .pillar p{color:var(--cream);opacity:.92;font-size:clamp(.72rem,.95vw,.83rem);line-height:1.5;margin-top:.4rem;}

.ctas{display:flex;justify-content:center;gap:1.1rem;flex-wrap:wrap;margin-top:2.4rem;position:relative;z-index:2;}
.proof{display:flex;align-items:center;justify-content:center;gap:1rem;flex-wrap:wrap;margin-top:2rem;position:relative;z-index:2;}
.avatars{display:flex;}
.avatar{
  width:46px;height:46px;border-radius:50%;border:3px solid var(--cream);margin-left:-12px;
  display:grid;place-items:center;font-family:'Space Mono',monospace;font-weight:700;font-size:.8rem;
  color:var(--cream);box-shadow:0 14px 30px rgba(41,39,39,.12);
}
.avatar:first-child{margin-left:0;}
.proof p{font-size:.95rem;}
.proof b{color:var(--red);font-weight:700;}

/* boutons du bloc agir (mêmes règles que les boutons du reste du site : pas d'ombre/lift au survol) */
.agir .btn{
  display:inline-block;font-family:'Space Mono',monospace;font-weight:700;font-size:.78rem;
  letter-spacing:.06em;text-transform:uppercase;text-decoration:none;
  padding:.95rem 1.5rem;border-radius:100px;cursor:pointer;
  transition:background-color .2s ease,color .2s ease,border-color .2s ease;
}
.eap349-active .agir .btn-primary{background:var(--red);color:var(--cream);border:1.5px solid var(--red);}
.eap349-active .agir .btn-primary:hover{background:var(--red-dark);border-color:var(--red-dark);}
.eap349-active .agir .btn-secondary{background:transparent;color:var(--ink);border:1.5px solid var(--ink);}
.eap349-active .agir .btn-secondary:hover{background:var(--ink);color:var(--cream);}

/* décorations (ancrées à .card-zone) */
.deco{position:absolute;pointer-events:none;}
.quote{left:-150px;top:-26px;width:215px;z-index:3;pointer-events:auto;transform:rotate(-3deg);}
.quote .qbubble{
  position:relative;background:var(--cream);border:2px solid var(--ink);border-radius:18px;
  padding:1rem 1.1rem 1.1rem;box-shadow:0 14px 30px rgba(41,39,39,.12);
}
.quote .qbubble::after{
  content:"";position:absolute;left:30px;bottom:-15px;width:20px;height:20px;background:var(--cream);
  border-right:2px solid var(--ink);border-bottom:2px solid var(--ink);transform:skewX(22deg) rotate(48deg);
}
.quote .qm{font-family:'Anton',sans-serif;color:var(--red);font-size:1.5rem;line-height:.7;}
.quote .qtxt{font-style:italic;font-weight:500;font-size:.92rem;line-height:1.5;margin-top:.55rem;}

.globe{right:-170px;top:70px;width:250px;z-index:1;}
.chat{right:-120px;top:-16px;width:78px;z-index:3;}

.postit{
  right:-120px;bottom:-64px;width:180px;z-index:3;pointer-events:auto;transform:rotate(2.5deg);
  background:var(--cream-dim);border:2px solid var(--ink);border-radius:6px;
  padding:1.05rem .9rem;text-align:center;box-shadow:0 14px 30px rgba(41,39,39,.12);
}
.postit div{font-family:'Space Mono',monospace;font-weight:700;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;line-height:2.1;}
.postit .r{color:var(--red);}

/* responsive : les décorations latérales ont besoin de ~170px de chaque côté :
   940 + 2×170 = 1280 → seuil de bascule */
@media (max-width:1280px){
  .quote{left:-8px;top:-58px;width:200px;}
  .chat{right:-8px;top:-40px;}
  .globe{right:-40px;top:auto;bottom:-70px;width:170px;opacity:.9;}
  .postit{right:6px;bottom:-70px;}
}
@media (max-width:860px){
  .pillars{grid-template-columns:repeat(2,1fr);gap:1.4rem .6rem;}
  .pillar{border-left:none;}
  .pillar:last-child{grid-column:1/-1;max-width:280px;margin:0 auto;}
  .quote{position:static;transform:rotate(0);width:min(320px,100%);margin:0 auto 1.6rem;pointer-events:auto;}
  .quote .qbubble::after{display:none;}
  .chat,.globe{display:none;}
  .postit{position:static;transform:rotate(0);margin:2rem auto 0;width:220px;}
  .agir .btn-secondary{display:none;}
}
@media (max-width:520px){
  .pillars{grid-template-columns:1fr;}
  .pillar:last-child{max-width:none;}
}

/* ================= QSN : INTRO ================= */
.a349-qsn-hero{padding:calc(112px + 3.5rem) 4vw 5.5rem;max-width:1180px;margin:0 auto;}
.a349-qsn-hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:3rem;align-items:center;}
.a349-qsn-hero-copy h1{font-size:clamp(2.2rem,4vw,3.4rem);line-height:1.14;margin:.9rem 0 1.5rem;}
.a349-qsn-hero-copy p{font-size:1.05rem;max-width:480px;}
.a349-qsn-hero-img{height:460px;position:relative;display:flex;align-items:center;justify-content:center;}
.a349-qsn-hero-img .a349-side-stack{position:relative;right:auto;bottom:auto;width:100%;max-width:380px;height:400px;}

/* ================= QSN : POURQUOI 3.49 ================= */
.a349-why{background:var(--ink);color:var(--cream);padding:5.5rem 4vw;}
.a349-why-grid{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:.85fr 1.15fr;gap:4rem;align-items:center;padding-bottom:4rem;border-bottom:1px solid rgba(248,241,230,.18);}
.a349-why-flip{display:flex;flex-direction:column;align-items:center;gap:.6rem;}
.a349-flip-old{
  font-family:'Anton',sans-serif;font-size:3.2rem;color:rgba(248,241,230,.35);
  text-decoration:line-through;text-decoration-color:var(--red);text-decoration-thickness:4px;
}
.a349-flip-arrow{width:40px;height:28px;color:var(--red);transform:rotate(90deg);}
.a349-flip-new{font-family:'Anton',sans-serif;font-size:3.6rem;color:var(--cream);}
.a349-flip-new::first-letter{color:var(--red);}
.a349-why-copy h2{color:var(--cream);font-size:clamp(1.9rem,3.2vw,2.6rem);margin:.9rem 0 1.2rem;}
.eap349-active .a349-why-copy p{color:var(--cream);opacity:.88;margin-bottom:1rem;font-size:1.02rem;}
.eap349-active .a349-why .a349-section-label{color:var(--red);}

.a349-why-crises{max-width:900px;margin:3.5rem auto 0;}
.eap349-active .a349-why-crises-lead{color:var(--cream);opacity:.85;text-align:center;margin-bottom:2rem;font-size:1rem;}
.a349-why-crisis{display:grid;grid-template-columns:56px 1fr;gap:1.2rem;padding:1.4rem 0;border-top:1px solid rgba(248,241,230,.18);}
.a349-why-crisis:last-child{border-bottom:1px solid rgba(248,241,230,.18);}
.a349-why-crisis span{font-family:'Anton',sans-serif;font-size:1.6rem;color:var(--red);}
.a349-why-crisis strong{display:block;color:var(--cream);font-family:'Work Sans',sans-serif;font-weight:700;font-size:1.02rem;margin-bottom:.4rem;}
.eap349-active .a349-why-crisis p{color:var(--cream);opacity:.8;font-size:.9rem;}

/* ================= QSN : VISION & VALEURS ================= */
.a349-vv{padding:5.5rem 4vw;max-width:1180px;margin:0 auto;}
.a349-vv-head{max-width:680px;margin:0 auto 3rem;text-align:center;}
.a349-vv-head h2{font-size:clamp(1.9rem,3.2vw,2.6rem);margin:.9rem 0 1.1rem;}
.a349-vv-head p{font-size:1.02rem;max-width:600px;margin:0 auto;}
.a349-vv-list{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;}
.a349-vv-item{background:var(--cream-dim);border-radius:22px;padding:2rem;text-align:center;}
.a349-vv-letter{
  display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;
  background:var(--red);color:var(--cream);font-family:'Anton',sans-serif;font-size:1.5rem;margin-bottom:1.1rem;
}
.a349-vv-item h3{font-size:1.15rem;margin-bottom:.6rem;}
.a349-vv-item p{font-size:.9rem;}

/* ================= QSN : PASSER À L'ACTION (billets en éventail) ================= */
.a349-passer{padding:6rem 4vw 7rem;max-width:1100px;margin:0 auto;text-align:center;}
.eap349-active .a349-passer .a349-section-label{justify-content:center;}
.a349-passer-title{font-size:clamp(1.9rem,3.2vw,2.6rem);margin-bottom:3.4rem;}

.a349-tickets{display:flex;flex-direction:column;gap:1.6rem;align-items:center;}
.a349-ticket{
  display:flex;width:100%;max-width:640px;border-radius:16px;overflow:visible;position:relative;
  transition:transform .3s ease;text-align:left;
}
.a349-ticket.t1{transform:rotate(-1.6deg);}
.a349-ticket.t2{transform:rotate(1.1deg);}
.a349-ticket.t3{transform:rotate(-0.8deg);}
.a349-ticket:hover{transform:rotate(0deg);}

.a349-ticket-stub{
  flex:none;width:84px;display:flex;align-items:center;justify-content:center;
  font-family:'Anton',sans-serif;font-size:2.1rem;color:var(--cream);
  border-right:2px dashed rgba(248,241,230,.4);position:relative;
}
.a349-ticket-stub::before,.a349-ticket-stub::after{
  content:"";position:absolute;right:-11px;width:22px;height:22px;border-radius:50%;background:var(--cream);
}
.a349-ticket-stub::before{top:-11px;}
.a349-ticket-stub::after{bottom:-11px;}

.a349-ticket-body{flex:1;padding:1.4rem 1.8rem;display:flex;flex-direction:column;gap:.4rem;}
.a349-ticket-body strong{font-family:'Anton',sans-serif;text-transform:uppercase;font-size:1.35rem;letter-spacing:.02em;color:var(--cream);opacity:1;line-height:1.25;}
.eap349-active .a349-ticket-body p{color:var(--cream);opacity:.82;font-size:.86rem;line-height:1.5;}
.a349-ticket-body em{font-family:'Space Mono',monospace;font-style:normal;font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;color:var(--cream);opacity:.95;margin-top:.2rem;}

.a349-ticket.is-red{background:var(--red);}
.a349-ticket.is-ink{background:var(--ink);}
.a349-ticket.is-red-dark{background:var(--red-dark);}

/* ================= QSN : ANCRAGE ================= */
.a349-ancrage{max-width:1180px;margin:0 auto;padding:5.5rem 4vw;display:grid;grid-template-columns:.9fr 1.1fr;gap:3.5rem;align-items:center;}
.a349-ancrage-img{border-radius:24px;overflow:hidden;height:420px;}
.a349-ancrage-img img{width:100%;height:100%;object-fit:cover;display:block;}
.a349-ancrage-copy h2{font-size:clamp(1.9rem,3.2vw,2.6rem);margin:.9rem 0 1.1rem;}
.a349-ancrage-copy p{font-size:1.02rem;margin-bottom:2rem;}
.a349-ancrage-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;border-top:2px solid var(--ink);padding-top:1.2rem;}
.a349-ancrage-stats strong{display:block;font-family:'Anton',sans-serif;font-size:1.3rem;color:var(--red);}
.a349-ancrage-stats span{font-family:'Space Mono',monospace;font-size:.68rem;letter-spacing:.02em;color:var(--ink-soft);line-height:1.4;display:block;margin-top:.3rem;}

/* ================= QSN : ÉQUIPE ================= */
.a349-qsn-team{background:var(--cream-dim);padding:6.5rem 4vw 5.5rem;}
.a349-qsn-team-head{max-width:1180px;margin:0 auto 4rem;}
.a349-qsn-team-head h2{font-size:clamp(1.9rem,3.2vw,2.6rem);margin-top:.5rem;}

.a349-badges{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:repeat(5,1fr);gap:1.6rem 1.2rem;}
.a349-badge{
  position:relative;background:var(--cream);border:1.5px solid var(--ink);border-radius:14px;
  padding:2.2rem 1.2rem 1.4rem;text-align:center;transition:transform .3s ease;
}
.a349-badge.b1{transform:rotate(-2deg);}
.a349-badge.b2{transform:rotate(1.5deg);}
.a349-badge.b3{transform:rotate(-1deg);}
.a349-badge.b4{transform:rotate(2deg);}
.a349-badge.b5{transform:rotate(-1.6deg);}
.a349-badge:hover{transform:rotate(0deg);}
.a349-badge-hole{
  position:absolute;top:-9px;left:50%;transform:translateX(-50%);width:16px;height:16px;
  border-radius:50%;background:var(--cream-dim);border:1.5px solid var(--ink);
}
.a349-badge-photo{
  display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;
  color:var(--cream);font-family:'Anton',sans-serif;font-size:1.4rem;margin-bottom:.9rem;
  border:3px solid var(--cream);box-shadow:0 0 0 1.5px var(--ink);
}
.a349-badge h3{font-size:1.02rem;margin-bottom:.2rem;}
.a349-badge-role{
  font-family:'Space Mono',monospace;font-size:.6rem;letter-spacing:.05em;text-transform:uppercase;color:var(--cream);
  background:var(--red);display:inline-block;padding:.25rem .6rem;border-radius:100px;margin-bottom:.8rem;
}
.a349-badge p{font-size:.78rem;line-height:1.5;}

.a349-qsn-team-photo{max-width:1180px;margin:3.4rem auto 0;display:grid;grid-template-columns:1.3fr 1fr;gap:2rem;align-items:center;}
.a349-qsn-team-photo img{width:100%;border-radius:22px !important;height:460px;object-fit:cover;object-position:center 20%;display:block;}
.eap349-active .a349-qsn-team-photo p{font-size:1.15rem;font-family:'Anton',sans-serif;text-transform:uppercase;line-height:1.35;color:var(--ink);}

@media (max-width:1024px){
  .a349-qsn-hero-grid,.a349-why-grid,.a349-ancrage,.a349-qsn-team-photo{grid-template-columns:1fr;}
  .a349-qsn-hero-img{height:380px;}
  .a349-qsn-team-photo img{height:340px;}
  .a349-qsn-hero-img .a349-side-stack{max-width:300px;height:320px;}
  .a349-vv-list{grid-template-columns:1fr 1fr;}
  .a349-badges{grid-template-columns:repeat(3,1fr);}
  .a349-ancrage-img{order:-1;height:300px;}
}
@media (max-width:640px){
  .a349-vv-list,.a349-ancrage-stats{grid-template-columns:1fr;}
  .a349-badges{grid-template-columns:1fr 1fr;}
  .a349-ticket-stub{width:64px;font-size:1.6rem;}
  .a349-why-flip{flex-direction:row;}
  .a349-flip-arrow{transform:none;}
}

/* ================= NA : INTRO ================= */
.a349-na-hero{padding:calc(112px + 3.5rem) 4vw 0;max-width:1180px;margin:0 auto;}
.a349-na-hero-copy{max-width:640px;margin-bottom:3rem;}
.a349-na-hero-copy h1{font-size:clamp(2.2rem,4vw,3.4rem);line-height:1.12;margin:.9rem 0 1.3rem;}
.a349-na-hero-copy p{font-size:1.05rem;}

.a349-na-teasers{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;margin-bottom:5.5rem;}
.a349-na-teaser{
  border-radius:22px;padding:2.6rem 2rem;display:flex;flex-direction:column;gap:1.4rem;min-height:200px;
  transition:transform .3s ease;
}
.a349-na-teaser:hover{transform:translateY(-6px);}
.a349-na-teaser.is-red{background:var(--red);}
.a349-na-teaser.is-ink{background:var(--ink);}
.a349-na-teaser-tag{font-family:'Space Mono',monospace;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--cream);opacity:.8;}
.a349-na-teaser h2{color:var(--cream);font-size:clamp(1.5rem,2.6vw,2rem);text-transform:none;line-height:1.15;}
.a349-na-teaser em{font-family:'Space Mono',monospace;font-style:normal;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--cream);}

/* ================= NA : FRESQUE DES BESOINS ================= */
.a349-fresque{padding:0 4vw 5.5rem;max-width:1180px;margin:0 auto;}
.a349-fresque-top{display:grid;grid-template-columns:1.2fr .8fr;gap:3rem;margin-bottom:4rem;align-items:start;}
.a349-fresque-copy h2{font-size:clamp(1.9rem,3.2vw,2.6rem);margin:.9rem 0 .5rem;}
.eap349-active .a349-fresque-tagline{font-family:'Anton',sans-serif;text-transform:uppercase;font-size:1.1rem;color:var(--red);margin-bottom:1.2rem !important;}
.a349-fresque-copy > p:not(.a349-fresque-tagline){font-size:1rem;}

.a349-fresque-quote{background:var(--cream-dim);border-left:4px solid var(--red);border-radius:0 18px 18px 0;padding:1.8rem 1.8rem;}
.eap349-active .a349-fresque-quote p{font-style:italic;font-size:.98rem;line-height:1.55;color:var(--ink);margin-bottom:.8rem;}
.a349-fresque-quote cite{font-family:'Space Mono',monospace;font-style:normal;font-size:.75rem;color:var(--red);letter-spacing:.04em;}

.a349-scoreboard{
  background:var(--ink);border-radius:22px;display:grid;grid-template-columns:repeat(4,1fr);
  margin-bottom:4rem;overflow:hidden;
}
.a349-scoreboard div{padding:2rem 1rem;text-align:center;border-left:1px solid rgba(248,241,230,.16);}
.a349-scoreboard div:first-child{border-left:none;}
.a349-scoreboard strong{display:block;font-family:'Anton',sans-serif;font-size:1.7rem;color:var(--cream);line-height:1.15;margin-bottom:.5rem;}
.a349-scoreboard span{font-family:'Space Mono',monospace;font-size:.66rem;letter-spacing:.04em;text-transform:uppercase;color:var(--red);}

.a349-objectifs{margin-bottom:4rem;max-width:1180px;padding:0 4vw;margin-left:auto;margin-right:auto;}
.eap349-active .a349-objectifs .a349-section-label{margin-bottom:1.6rem;}
.a349-objectifs-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;}
.a349-objectif{display:flex;gap:1.1rem;align-items:flex-start;padding:1.3rem;background:var(--cream-dim);border-radius:16px;}
.a349-objectif span{font-family:'Anton',sans-serif;font-size:1.5rem;color:var(--red);flex:none;}
.a349-objectif p{font-size:.9rem;line-height:1.5;}

.a349-participer{max-width:1180px;padding:0 4vw;margin:0 auto;}
.a349-participer-steps{display:flex;flex-direction:column;gap:0;}
.a349-participer-step{
  display:flex;align-items:center;gap:1.3rem;padding:1.5rem 0;border-top:1px solid var(--cream-line);
  transition:padding-left .25s ease;
}
.a349-participer-steps a:last-child{border-bottom:1px solid var(--cream-line);}
.a349-participer-step:hover{padding-left:.6rem;}
.a349-participer-ico{
  flex:none;width:48px;height:48px;border-radius:50%;background:var(--ink);color:var(--cream);
  display:flex;align-items:center;justify-content:center;
}
.a349-participer-ico svg{width:22px;height:22px;}
.a349-participer-step div{flex:1;}
.a349-participer-step strong{display:block;font-family:'Work Sans',sans-serif;font-weight:700;font-size:1rem;margin-bottom:.2rem;}
.a349-participer-step p{font-size:.85rem;}
.a349-participer-step em{font-family:'Space Mono',monospace;font-style:normal;font-size:.68rem;letter-spacing:.04em;text-transform:uppercase;color:var(--red);white-space:nowrap;}
.a349-fresque-note{margin-top:1.6rem;font-size:.88rem;color:var(--ink-soft);}

/* ================= NA : HAPPY HOUR ================= */
.a349-hh{position:relative;background-size:cover;background-position:center;padding:6rem 4vw;margin-bottom:5.5rem;}
.a349-hh-scrim{position:absolute;inset:0;background:rgba(15,13,12,.72);}
.a349-hh-inner{position:relative;max-width:1180px;margin:0 auto;display:grid;grid-template-columns:.4fr 1fr;gap:3rem;align-items:center;}
.a349-hh-date{
  background:var(--cream);border-radius:16px;padding:1.6rem 1.2rem;text-align:center;transform:rotate(-3deg);
  box-shadow:0 18px 34px rgba(0,0,0,.35);
}
.a349-hh-date-top{display:block;font-family:'Space Mono',monospace;font-size:.7rem;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);}
.a349-hh-date-big{display:block;font-family:'Anton',sans-serif;font-size:1.9rem;color:var(--red);margin:.3rem 0;}
.a349-hh-date-bottom{display:block;font-family:'Space Mono',monospace;font-size:.72rem;letter-spacing:.04em;text-transform:uppercase;color:var(--ink);}
.eap349-active .a349-hh .a349-section-label{color:var(--red);}
.a349-hh-copy h2{color:var(--cream);font-size:clamp(1.9rem,3.2vw,2.6rem);margin:.5rem 0;}
.a349-hh-copy .a349-fresque-tagline{color:var(--cream) !important;opacity:.92;}
.eap349-active .a349-hh-copy p:not(.a349-fresque-tagline){color:var(--cream);opacity:.85;margin-bottom:1rem;font-size:.98rem;}
.a349-hh-ctas{margin-top:1.4rem;}

/* ================= NA : CTA FINAL ================= */
.a349-na-cta{text-align:center;padding:0 4vw 6rem;max-width:700px;margin:0 auto;}
.a349-na-cta h2{font-size:clamp(1.8rem,3vw,2.4rem);margin-bottom:1.8rem;}
.a349-na-cta-ctas{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap;}

@media (max-width:1024px){
  .a349-na-teasers,.a349-fresque-top,.a349-objectifs-grid,.a349-hh-inner{grid-template-columns:1fr;}
  .a349-scoreboard{grid-template-columns:1fr 1fr;}
  .a349-hh-date{justify-self:start;}
}
@media (max-width:640px){
  .a349-scoreboard{grid-template-columns:1fr;}
  .a349-scoreboard div{border-left:none;border-top:1px solid rgba(248,241,230,.16);}
  .a349-scoreboard div:first-child{border-top:none;}
  .a349-participer-step{flex-wrap:wrap;}
}

/* ================= AGENDA ================= */
.a349-ag-hero{padding:calc(112px + 3.5rem) 4vw 3rem;max-width:900px;margin:0 auto;}
.a349-ag-hero h1{font-size:clamp(2.2rem,4vw,3.2rem);line-height:1.12;margin:.9rem 0 1.2rem;}
.a349-ag-hero p{font-size:1.05rem;max-width:560px;}

.a349-ag-filters{max-width:1080px;margin:0 auto;padding:0 4vw 2.5rem;display:flex;gap:.7rem;flex-wrap:wrap;}
.a349-ag-filter{
  font-family:'Space Mono',monospace;font-weight:700;font-size:.72rem;letter-spacing:.05em;text-transform:uppercase;
  background:transparent;border:1.5px solid var(--ink);color:var(--ink);border-radius:100px;
  padding:.65rem 1.2rem;cursor:pointer;transition:background .2s ease,color .2s ease;
}
.a349-ag-filter.is-on{background:var(--ink);color:var(--cream);}

.a349-ag-list{max-width:1080px;margin:0 auto;padding:0 4vw 4rem;display:flex;flex-direction:column;gap:1rem;}
.a349-ag-row{
  display:flex;align-items:center;gap:1.6rem;background:var(--cream-dim);border-radius:20px;padding:1.3rem 1.6rem;
}
.a349-ag-row.is-hidden{display:none;}
.a349-ag-date{
  flex:none;width:76px;height:76px;border-radius:14px;display:flex;flex-direction:column;
  align-items:center;justify-content:center;color:var(--cream);
}
.a349-ag-date.is-red{background:var(--red);}
.a349-ag-date.is-ink{background:var(--ink);}
.a349-ag-date strong{font-family:'Anton',sans-serif;font-size:1.6rem;line-height:1;}
.a349-ag-date span{font-family:'Space Mono',monospace;font-size:.62rem;letter-spacing:.04em;text-transform:uppercase;margin-top:.2rem;}

.a349-ag-info{flex:1;min-width:0;}
.a349-ag-tag{
  display:inline-block;font-family:'Space Mono',monospace;font-size:.6rem;letter-spacing:.05em;text-transform:uppercase;
  padding:.25rem .6rem;border-radius:100px;color:var(--cream);margin-bottom:.5rem;
}
.a349-ag-tag.is-red{background:var(--red);}
.a349-ag-tag.is-ink{background:var(--ink);}
.a349-ag-info h3{font-size:1.05rem;margin-bottom:.25rem;}
.a349-ag-info p{font-size:.85rem;color:var(--ink-soft);}
.a349-ag-row .a349-btn{flex:none;}

.a349-ag-empty{display:none;text-align:center;color:var(--ink-soft);font-size:.95rem;padding:2rem 0;}
.a349-ag-empty.is-visible{display:block;}

.a349-ag-cta{background:var(--ink);padding:5rem 4vw;}
.a349-ag-cta-inner{
  max-width:1080px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;
  gap:2rem;flex-wrap:wrap;
}
.eap349-active .a349-ag-cta .a349-section-label{color:var(--red);}
.a349-ag-cta-inner h2{color:var(--cream);font-size:clamp(1.6rem,2.6vw,2.2rem);margin:.6rem 0 .8rem;max-width:420px;}
.eap349-active .a349-ag-cta-inner p{color:var(--cream);opacity:.82;max-width:420px;font-size:.95rem;}

@media (max-width:640px){
  .a349-ag-row{flex-wrap:wrap;}
  .a349-ag-row .a349-btn{width:100%;justify-content:center;}
}

/* ================= NOUS SOUTENIR ================= */
.a349-ns-hero{padding:calc(112px + 3.5rem) 4vw 4rem;max-width:800px;margin:0 auto;text-align:center;}
.eap349-active .a349-ns-hero .a349-section-label{justify-content:center;}
.a349-ns-hero h1{font-size:clamp(2.2rem,4.2vw,3.4rem);line-height:1.14;margin:.9rem 0 1.4rem;}
.a349-ns-hero p{font-size:1.05rem;max-width:560px;margin:0 auto;}

.a349-ns-split{display:grid;grid-template-columns:1fr 1fr;min-height:560px;}
.a349-ns-panel{display:flex;align-items:center;justify-content:center;padding:3rem 4vw;}
.a349-ns-panel.is-red{background:var(--red);}
.a349-ns-panel.is-ink{background:var(--ink);}
.a349-ns-panel-inner{max-width:420px;}
.a349-ns-panel-ico{
  display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;
  background:rgba(248,241,230,.15);color:var(--cream);margin-bottom:1.4rem;
}
.a349-ns-panel-ico svg{width:24px;height:24px;}
.eap349-active .a349-ns-panel-label{font-family:'Space Mono',monospace;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--cream);opacity:.85;margin-bottom:.6rem;}
.a349-ns-panel-inner h2{color:var(--cream);font-size:clamp(1.7rem,2.8vw,2.3rem);margin-bottom:1rem;}
.eap349-active .a349-ns-panel-text{color:var(--cream);opacity:.88;font-size:.96rem;margin-bottom:1.8rem;}
.a349-btn--outline.is-on-red{border-color:var(--cream);color:var(--cream);}
.a349-btn--outline.is-on-red:hover{background:var(--cream);color:var(--red);}

/* ================= TRANSPARENCE ================= */
.a349-ns-transp{max-width:900px;margin:0 auto;padding:6rem 4vw 6rem;}
.a349-ns-transp-head{text-align:center;margin-bottom:3rem;}
.eap349-active .a349-ns-transp-head .a349-section-label{justify-content:center;}
.a349-ns-transp-head h2{font-size:clamp(1.7rem,3vw,2.3rem);margin:.9rem 0 1.1rem;}
.a349-ns-transp-head p{font-size:1rem;max-width:560px;margin:0 auto;}

.a349-ledger{border-top:2px solid var(--ink);margin-bottom:3rem;}
.a349-ledger-row{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:1.3rem 0;border-bottom:1px solid var(--cream-line);}
.a349-ledger-label{font-size:.95rem;color:var(--ink-soft);}
.a349-ledger-value{font-family:'Anton',sans-serif;font-size:1.5rem;color:var(--ink);white-space:nowrap;}
.a349-ledger-value.is-red{color:var(--red);}

.a349-ns-doc{
  display:flex;align-items:center;gap:1.4rem;background:var(--cream-dim);border-radius:20px;padding:1.6rem 1.8rem;
  flex-wrap:wrap;max-width:900px;width:calc(100% - 8vw);margin:0 auto;
}
.a349-ns-doc-ico{
  flex:none;width:52px;height:52px;border-radius:50%;background:var(--ink);color:var(--cream);
  display:flex;align-items:center;justify-content:center;
}
.a349-ns-doc-ico svg{width:24px;height:24px;}
.a349-ns-doc div{flex:1;min-width:200px;}
.a349-ns-doc strong{display:block;font-family:'Work Sans',sans-serif;font-weight:700;font-size:1rem;margin-bottom:.2rem;}
.a349-ns-doc p{font-size:.85rem;}

@media (max-width:860px){
  .a349-ns-split{grid-template-columns:1fr;min-height:0;}
  .a349-ns-panel{padding:3.5rem 6vw;}
}

/* ================= NOUS CONTACTER ================= */
.a349-ct-hero{padding:calc(112px + 3.5rem) 4vw 3.5rem;max-width:800px;margin:0 auto;}
.a349-ct-hero h1{font-size:clamp(2.2rem,4.2vw,3.2rem);line-height:1.14;margin:.9rem 0 1.2rem;}
.a349-ct-hero p{font-size:1.05rem;max-width:560px;}

.a349-ct-grid{max-width:1180px;margin:0 auto;padding:0 4vw 6rem;display:grid;grid-template-columns:1.5fr 1fr;gap:4.5rem;align-items:start;}

.a349-ct-form{
  display:flex;flex-direction:column;gap:1.4rem;background:var(--cream-dim);
  border-radius:24px;padding:2.4rem 2.2rem;
}
.a349-ct-row{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem;}
.a349-ct-form label{display:flex;flex-direction:column;gap:.5rem;}
.a349-ct-form label span{
  font-family:'Space Mono',monospace;font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);
}
.a349-ct-form input,.a349-ct-form select,.a349-ct-form textarea{
  font-family:'Work Sans',sans-serif;font-size:.98rem;color:var(--ink);
  background:transparent;border:none;border-bottom:1.5px solid var(--cream-line);
  padding:.6rem .1rem;transition:border-color .2s ease;resize:vertical;
}
.a349-ct-form input:focus,.a349-ct-form select:focus,.a349-ct-form textarea:focus{
  outline:none;border-bottom-color:var(--red);
}
.a349-ct-form button{align-self:flex-start;margin-top:.6rem;}
.eap349-active .a349-ct-confirm{
  display:none;font-size:.9rem;color:var(--red);font-family:'Space Mono',monospace;
  border:1.5px dashed var(--red);border-radius:12px;padding:.9rem 1.1rem;
}
.a349-ct-confirm.is-visible{display:block;}

.a349-ct-side{display:flex;flex-direction:column;gap:1.6rem;}
.a349-ct-channel{display:flex;gap:1rem;padding-bottom:1.6rem;border-bottom:1px solid var(--cream-line);}
.a349-ct-channel:last-of-type{border-bottom:none;}
.a349-ct-channel-ico{
  flex:none;width:44px;height:44px;border-radius:50%;background:var(--cream-dim);color:var(--red);
  display:flex;align-items:center;justify-content:center;
}
.a349-ct-channel-ico svg{width:20px;height:20px;}
.a349-ct-channel strong{display:block;font-size:.95rem;margin-bottom:.35rem;}
.a349-ct-channel p{font-size:.85rem;margin-bottom:.4rem;}
.eap349-active .a349-ct-channel a{font-size:.88rem;color:var(--red);word-break:break-word;}
.a349-ct-channel a em{font-style:normal;color:var(--ink-soft);font-size:.75rem;}

.a349-ct-loc{
  display:flex;flex-direction:column;gap:.4rem;font-family:'Space Mono',monospace;font-size:.72rem;
  letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);
}

@media (max-width:1024px){
  .a349-ct-grid{grid-template-columns:1fr;gap:3rem;}
}
@media (max-width:520px){
  .a349-ct-row{grid-template-columns:1fr;}
  .a349-ct-form{padding:1.6rem 1.3rem;}
}

/* ================= NOS PUBLICATIONS ================= */
.a349-pub-hero{padding:calc(112px + 3.5rem) 4vw 3rem;max-width:800px;margin:0 auto;}
.a349-pub-hero h1{font-size:clamp(2.2rem,4.2vw,3.2rem);line-height:1.14;margin:.9rem 0 1.2rem;}
.a349-pub-hero p{font-size:1.05rem;max-width:560px;}

.a349-pub-featured{max-width:1180px;margin:0 auto;padding:0 4vw 1.4rem;}
.a349-pub-feat-card{position:relative;display:block;border-radius:24px;overflow:hidden;height:440px;}
.a349-pub-feat-card img{width:100%;height:100%;object-fit:cover;display:block;}
.a349-pub-feat-scrim{position:absolute;inset:0;background:linear-gradient(0deg,rgba(15,13,12,.86),rgba(15,13,12,.1) 60%);}
.a349-pub-feat-copy{position:absolute;left:0;right:0;bottom:0;padding:2.4rem;max-width:640px;}
.a349-pub-feat-copy h2{color:var(--cream);font-size:clamp(1.5rem,2.8vw,2.1rem);text-transform:none;line-height:1.25;margin:.8rem 0 .8rem;}
.eap349-active .a349-pub-feat-copy p{color:var(--cream);opacity:.85;font-size:.92rem;margin-bottom:1rem;}
.a349-pub-feat-copy em{font-family:'Space Mono',monospace;font-style:normal;font-size:.72rem;letter-spacing:.04em;text-transform:uppercase;color:var(--cream);opacity:.9;}

.a349-pub-tag{
  display:inline-block;font-family:'Space Mono',monospace;font-size:.62rem;letter-spacing:.06em;text-transform:uppercase;
  background:var(--red);color:var(--cream);padding:.3rem .7rem;border-radius:100px;
}
.a349-pub-tag.is-ink{background:var(--ink);}

.a349-pub-grid{max-width:1180px;margin:0 auto;padding:0 4vw 5.5rem;display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;}
.a349-pub-card{display:block;background:var(--cream-dim);border-radius:20px;overflow:hidden;transition:transform .25s ease;}
.a349-pub-card:hover{transform:translateY(-6px);}
.a349-pub-card img{width:100%;height:180px;object-fit:cover;display:block;}
.a349-pub-card-body{padding:1.4rem;display:flex;flex-direction:column;gap:.6rem;}
.a349-pub-card h3{font-size:1.02rem;text-transform:none;line-height:1.3;}
.a349-pub-card p{font-size:.85rem;}
.a349-pub-card em{font-family:'Space Mono',monospace;font-style:normal;font-size:.68rem;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);}

.a349-pub-news{background:var(--ink);padding:5rem 4vw;}
.a349-pub-news-inner{max-width:1080px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:2rem;flex-wrap:wrap;}
.eap349-active .a349-pub-news .a349-section-label{color:var(--red);}
.a349-pub-news-inner h2{color:var(--cream);font-size:clamp(1.5rem,2.4vw,2rem);margin-top:.5rem;}
.a349-pub-news-form{display:flex;gap:.7rem;flex-wrap:wrap;}
.a349-pub-news-form input{
  min-width:220px;background:rgba(248,241,230,.08);border:1px solid rgba(248,241,230,.28);
  border-radius:100px;padding:.85rem 1.2rem;color:var(--cream);font-family:'Work Sans',sans-serif;font-size:.92rem;
}
.a349-pub-news-form input::placeholder{color:rgba(248,241,230,.5);}

@media (max-width:1024px){
  .a349-pub-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:640px){
  .a349-pub-grid{grid-template-columns:1fr;}
  .a349-pub-feat-card{height:360px;}
  .a349-pub-feat-copy{padding:1.6rem;}
}

/* ================= FOOTER ================= */
.a349-footer{background:var(--ink);color:var(--cream);padding:5.5rem 4vw 1.6rem;position:relative;overflow:hidden;border-top:4px solid var(--red);}
.a349-footer::before{
  content:"3.49";font-family:'Anton',sans-serif;font-size:min(22vw,300px);color:rgba(248,241,230,.045);
  position:absolute;right:-2vw;bottom:-6vh;line-height:1;pointer-events:none;z-index:0;
}
.a349-footer-top{position:relative;z-index:1;max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1.5fr 1fr 1fr 1.3fr;gap:0;padding-bottom:3rem;border-bottom:1px solid rgba(248,241,230,.14);}
.a349-footer-top > div{padding:0 2rem;border-left:1px solid rgba(248,241,230,.14);}
.a349-footer-top > div:first-child{padding-left:0;border-left:none;}
.a349-footer-badge{display:flex;flex-direction:column;gap:.6rem;margin-bottom:1.4rem;}
.a349-footer .a349-brand-logo{font-size:3.2rem;}
.eap349-active .a349-brand-tagline{
  font-family:'Space Mono',monospace;font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--cream);opacity:.75;
}
.eap349-active .a349-footer-brand p{color:var(--cream);opacity:.92;font-size:.88rem;max-width:320px;margin-bottom:1.3rem;}
.a349-footer-socials{display:flex;gap:.7rem;}
.a349-footer-socials a{width:34px;height:34px;border-radius:50%;border:1.5px solid rgba(248,241,230,.3);display:flex;align-items:center;justify-content:center;transition:background .25s ease,border-color .25s ease;}
.a349-footer-socials svg{width:15px;height:15px;}
.a349-footer-socials a:hover{background:var(--red);border-color:var(--red);}
.a349-footer-col h4{font-family:'Space Mono',monospace;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--red);margin-bottom:1.2rem;}
.a349-footer-col a,.a349-footer-static{display:block;font-size:.9rem;color:var(--cream);opacity:.9;margin-bottom:.75rem;}
.a349-footer-col a:hover{color:var(--cream);}
.eap349-active .a349-footer-news p{color:var(--cream);opacity:.92;font-size:.85rem;margin-bottom:1rem;}
.a349-footer-form{display:flex;gap:.5rem;}
.a349-footer-form input{
  flex:1;min-width:0;background:rgba(248,241,230,.08);border:1px solid rgba(248,241,230,.25);
  border-radius:100px;padding:.7rem 1rem;color:var(--cream);font-family:'Work Sans',sans-serif;font-size:.85rem;
}
.a349-footer-form input::placeholder{color:rgba(248,241,230,.5);}
.a349-footer-bottom{
  position:relative;z-index:1;max-width:1180px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;
  padding-top:1.6rem;font-family:'Space Mono',monospace;font-size:.72rem;color:var(--cream);opacity:.6;flex-wrap:wrap;gap:.8rem;
}
.a349-footer-legal{display:flex;gap:1.4rem;}
.a349-footer-legal a:hover{color:var(--cream);}

/* ================= FOOTER LEGAL TRIGGERS (boutons stylés comme des liens) ================= */
.eap349-active .a349-legal-trigger{
  background:none;border:none;padding:0;cursor:pointer;font:inherit;text-align:left;
  color:var(--cream);opacity:.85;transition:opacity .2s ease;
}
.eap349-active .a349-legal-trigger:hover{opacity:1;}

/* ================= POPUP MENTIONS / CONFIDENTIALITÉ ================= */
.a349-legal{position:fixed;inset:0;z-index:900;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease;}
.a349-legal.is-open{opacity:1;visibility:visible;}
.a349-legal-scrim{position:absolute;inset:0;background:rgba(20,18,17,.6);}
.a349-legal-panel{
  position:relative;max-width:680px;max-height:80vh;margin:8vh auto 0;background:var(--cream);
  border-radius:22px;padding:2.4rem 2.2rem 2rem;overflow-y:auto;
  transform:translateY(16px);transition:transform .3s ease;
}
.a349-legal.is-open .a349-legal-panel{transform:translateY(0);}
.a349-legal-close{
  position:absolute;top:1.2rem;right:1.2rem;width:38px;height:38px;border-radius:50%;
  border:1.5px solid var(--ink);background:none;color:var(--ink);cursor:pointer;
  display:flex;align-items:center;justify-content:center;
}
.a349-legal-close svg{width:16px;height:16px;}
.a349-legal-tabs{display:flex;gap:.6rem;margin-bottom:1.8rem;padding-right:3rem;}
.a349-legal-tab{
  font-family:'Space Mono',monospace;font-weight:700;font-size:.7rem;letter-spacing:.05em;text-transform:uppercase;
  background:var(--cream-dim);border:none;color:var(--ink-soft);padding:.6rem 1rem;border-radius:100px;cursor:pointer;
}
.a349-legal-tab.is-on{background:var(--ink);color:var(--cream);}
.eap349-active .a349-legal-body h2{font-size:1.6rem;margin-bottom:1.4rem;}
.eap349-active .a349-legal-body h3{
  font-family:'Space Mono',monospace;font-weight:700;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;
  color:var(--red);margin:1.6rem 0 .6rem;text-transform:uppercase;
}
.a349-legal-body h3:first-of-type{margin-top:0;}
.eap349-active .a349-legal-body p{font-size:.9rem;line-height:1.65;color:var(--ink-soft);}
.eap349-active .a349-legal-body p a{color:var(--red);text-decoration:underline;}
.a349-legal-tbd{font-style:italic;opacity:.75;}
.a349-legal-inline-link{
  background:none;border:none;padding:0;color:var(--red);text-decoration:underline;cursor:pointer;
  font:inherit;font-size:inherit;
}
.a349-legal-note{margin-top:2rem;padding-top:1.2rem;border-top:1px solid var(--cream-line);font-size:.75rem !important;color:var(--ink-soft);}

/* ================= BANDEAU COOKIES (flottant, pas centré) ================= */
.a349-cookie{
  position:fixed;left:20px;bottom:20px;z-index:850;width:min(310px,calc(100vw - 40px));
  background:var(--cream);border-radius:18px;padding:1.3rem 1.3rem 1.15rem;
  box-shadow:0 20px 44px rgba(20,18,17,.26);border:1.5px solid var(--ink);
  opacity:0;transform:translateY(22px);pointer-events:none;
  transition:opacity .6s cubic-bezier(.2,.7,.2,1),transform .6s cubic-bezier(.2,.7,.2,1);
}
.a349-cookie.is-visible{opacity:1;transform:translateY(0);pointer-events:auto;}
.a349-cookie-head{display:flex;align-items:center;gap:.6rem;margin-bottom:.55rem;}
.a349-cookie-mark{display:flex;}
.a349-cookie-mark .a349-brand-mark{font-size:1.15rem;}
.a349-cookie-head h3{font-size:.86rem;text-transform:none;line-height:1.25;}
.eap349-active .a349-cookie p{font-size:.76rem;line-height:1.45;margin-bottom:.9rem;}

.a349-cookie-prefs{display:flex;flex-direction:column;gap:.55rem;margin-bottom:.9rem;border-top:1px solid var(--cream-line);padding-top:.75rem;}
.a349-cookie-pref{display:flex;align-items:center;justify-content:space-between;gap:.8rem;}
.a349-cookie-pref span{font-size:.74rem;color:var(--ink-soft);}
.a349-cookie-pref input{accent-color:var(--red);width:15px;height:15px;}

.a349-cookie-actions{display:flex;flex-direction:column;gap:.5rem;}
.eap349-active .a349-cookie-actions .a349-btn,.eap349-active .a349-cookie-prefs .a349-btn{
  justify-content:center;width:100%;padding:.65rem 1rem;font-size:.66rem;
}
.eap349-active .a349-cookie-reject{
  background:none;border:none;color:var(--ink-soft);font-family:'Space Mono',monospace;font-size:.66rem;
  letter-spacing:.04em;text-transform:uppercase;padding:.4rem;cursor:pointer;
}
.eap349-active .a349-cookie-link{
  display:block;text-align:center;margin-top:.75rem;font-family:'Space Mono',monospace;font-size:.62rem;
  letter-spacing:.03em;color:var(--ink-soft);opacity:1;text-decoration:underline;
}

@media (max-width:480px){
  .a349-legal-panel{margin:4vh 1rem 0;padding:2rem 1.4rem 1.6rem;max-height:88vh;}
  .a349-cookie{left:12px;right:12px;bottom:12px;width:auto;}
}

/* ================= SCROLL TO TOP ================= */
.a349-totop{
  position:fixed;right:24px;bottom:24px;z-index:400;width:52px;height:52px;border-radius:50%;
  background:var(--red);color:var(--cream);border:none;cursor:pointer;
  display:flex;align-items:center;justify-content:center;box-shadow:0 12px 28px rgba(191,22,35,.35);
  opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity .4s ease,transform .4s ease,background .2s ease;
}
.a349-totop.is-visible{opacity:1;transform:translateY(0);pointer-events:auto;}
.a349-totop:hover{background:var(--red-dark);}
.a349-totop svg{width:20px;height:20px;}

/* ================= RESPONSIVE ================= */
@media (max-width:1024px){
  .a349-stats-values,.a349-team-grid,.a349-faq-grid{grid-template-columns:1fr;}
  .a349-team-photo img{height:300px;}
  .a349-ateliers-grid{grid-template-columns:1fr 1fr;}
  .a349-atelier-cta{grid-column:1 / -1;}
  .a349-pillars-grid{grid-template-columns:1fr 1fr;gap:2rem;}
  .a349-pillar{border-left:none;padding-left:0;}
  .a349-vision-steps{grid-template-columns:1fr 1fr;}
  .a349-vision-steps::before{display:none;}
  .a349-hero-top{grid-template-columns:1fr;gap:2rem;}
}
@media (max-width:860px){
  .a349-nav,.a349-header-actions .a349-social,.a349-header-actions .a349-btn{display:none;}
  .a349-burger{display:flex;}
  .a349-hero{padding-top:calc(96px + 2rem);}
  .a349-hero-ctas .a349-btn--outline{display:none;}
  .a349-hero-visual{margin-bottom:4rem;}
  .a349-slideshow{height:340px;}
  .a349-hero-quote{max-width:150px;padding:.75rem 1rem;left:1rem;top:1rem;}
  .eap349-active .a349-hero-quote p{font-size:.78rem;}
  .a349-side-stack{width:100px;height:100px;right:1rem;bottom:2.4rem;}
  .a349-ss-dots{bottom:-1.4rem;}
  .a349-hero-stats-chip div{padding:.9rem .5rem;flex:1;}
  .a349-hero-stats-chip strong{font-size:1.15rem;}
  .a349-stats{grid-template-columns:1fr 1fr;}
  .a349-ateliers-grid{grid-template-columns:1fr;}
  .a349-footer-top{grid-template-columns:1fr 1fr;row-gap:2.4rem;}
  .a349-footer-top > div{border-left:none;padding:0;}
}
@media (max-width:560px){
  .a349-footer-top{grid-template-columns:1fr;}
  .a349-pillars-grid,.a349-vision-steps,.a349-team-list{grid-template-columns:1fr 1fr;}
  .a349-lg-num{font-size:3rem;}
  .a349-footer::before{font-size:38vw;}
}

@media (prefers-reduced-motion:reduce){
  .eap349-active .reveal{transition:none;opacity:1;transform:none;}
  .eap349-active *{animation-duration:.001ms !important;}
}

/* ================================================================
   GABARITS D'ARTICLE UNIQUE (single post) ET D'ÉVÈNEMENT UNIQUE
   ================================================================ */
.a349-single-wrap{max-width:760px;margin:0 auto;padding:calc(112px + 3rem) 4vw 5rem;}
.a349-single-back{
  display:inline-flex;align-items:center;gap:.4rem;font-family:'Space Mono',monospace;font-size:.72rem;
  letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:2rem;
}
.a349-single-back:hover{color:var(--red);}
.a349-single-tag{
  display:inline-block;font-family:'Space Mono',monospace;font-size:.65rem;letter-spacing:.06em;text-transform:uppercase;
  background:var(--red);color:var(--cream);padding:.32rem .75rem;border-radius:100px;margin-bottom:1rem;
}
.a349-single-title{font-size:clamp(1.9rem,4vw,2.8rem);line-height:1.14;margin-bottom:1.1rem;}
.a349-single-meta{
  font-family:'Space Mono',monospace;font-size:.75rem;letter-spacing:.03em;color:var(--ink-soft);
  display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:2.2rem;padding-bottom:2rem;border-bottom:1px solid var(--cream-line);
}
.a349-single-image{width:100%;border-radius:22px;overflow:hidden;margin-bottom:2.4rem;}
.a349-single-image img{width:100%;height:auto;display:block;}

.a349-single-body{font-size:1.05rem;line-height:1.75;color:var(--ink);}
.a349-single-body p{margin-bottom:1.4rem;}
.a349-single-body h2{font-size:1.5rem;margin:2.4rem 0 1rem;}
.a349-single-body h3{font-size:1.2rem;margin:2rem 0 .9rem;text-transform:none;font-family:'Work Sans',sans-serif;font-weight:700;}
.a349-single-body ul,.a349-single-body ol{margin:0 0 1.4rem 1.4rem;}
.a349-single-body li{margin-bottom:.5rem;}
.a349-single-body a{color:var(--red);text-decoration:underline;}
.a349-single-body blockquote{
  border-left:4px solid var(--red);background:var(--cream-dim);border-radius:0 16px 16px 0;
  padding:1.2rem 1.5rem;margin:1.8rem 0;font-style:italic;color:var(--ink-soft);
}
.a349-single-body img{width:100%;border-radius:16px;margin:1.5rem 0;}

.a349-single-related{max-width:1180px;margin:2rem auto 0;padding:4rem 4vw 5.5rem;border-top:1px solid var(--cream-line);}
.a349-single-related h2{font-size:1.4rem;margin-bottom:1.6rem;}

/* évènement unique */
.a349-event-header{display:flex;gap:1.6rem;align-items:flex-start;margin-bottom:2rem;flex-wrap:wrap;}
.a349-event-date-badge{
  flex:none;width:84px;height:84px;border-radius:16px;display:flex;flex-direction:column;
  align-items:center;justify-content:center;color:var(--cream);
}
.a349-event-date-badge.is-red{background:var(--red);}
.a349-event-date-badge.is-ink{background:var(--ink);}
.a349-event-date-badge strong{font-family:'Anton',sans-serif;font-size:1.7rem;line-height:1;}
.a349-event-date-badge span{font-family:'Space Mono',monospace;font-size:.62rem;letter-spacing:.04em;text-transform:uppercase;margin-top:.2rem;}
.a349-event-details{
  display:flex;align-items:center;gap:1.4rem;background:var(--cream-dim);border-radius:16px;
  padding:1.2rem 1.4rem;margin-bottom:2rem;flex-wrap:wrap;
}
.a349-event-details p{margin:0;font-size:.95rem;color:var(--ink-soft);}
.a349-event-cta{margin:2rem 0;}
.a349-single-related .a349-ag-list{display:flex;flex-direction:column;gap:1rem;}

@media (max-width:640px){
  .a349-single-wrap{padding-top:calc(96px + 2rem);}
  .a349-event-header{flex-direction:column;}
}

/* ================================================================
   HABILLAGE CONTACT FORM 7 (styles CF7 par défaut → identité 3.49)
   ================================================================ */
.a349-cf7-wrap .wpcf7-form{display:flex;flex-direction:column;gap:1.3rem;}
.a349-cf7-wrap .wpcf7-form p{margin:0;display:flex;flex-direction:column;gap:.5rem;}
.a349-cf7-wrap .wpcf7-form label{
  font-family:'Space Mono',monospace;font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;
  color:var(--ink-soft);display:flex;flex-direction:column;gap:.5rem;
}
.a349-cf7-wrap .wpcf7-form-control-wrap{display:block;}
.a349-cf7-wrap input.wpcf7-form-control,
.a349-cf7-wrap textarea.wpcf7-form-control,
.a349-cf7-wrap select.wpcf7-form-control{
  width:100%;font-family:'Work Sans',sans-serif;font-size:.98rem;color:var(--ink);
  background:transparent;border:none;border-bottom:1.5px solid var(--cream-line);
  padding:.6rem .1rem;transition:border-color .2s ease;resize:vertical;
  border-radius:0;
}
.a349-cf7-wrap select.wpcf7-form-control{background:var(--cream);padding:.6rem .3rem;}
.a349-cf7-wrap input.wpcf7-form-control:focus,
.a349-cf7-wrap textarea.wpcf7-form-control:focus,
.a349-cf7-wrap select.wpcf7-form-control:focus{
  outline:none;border-bottom-color:var(--red);
}
.a349-cf7-wrap .wpcf7-form-control.wpcf7-submit{
  align-self:flex-start;font-family:'Space Mono',monospace;font-weight:700;font-size:.78rem;
  letter-spacing:.03em;text-transform:uppercase;background:var(--red);color:var(--cream);
  border:none;border-radius:100px;padding:.95rem 1.7rem;cursor:pointer;transition:background .2s ease;
  width:auto;margin-top:.6rem;
}
.a349-cf7-wrap .wpcf7-form-control.wpcf7-submit:hover{background:var(--red-dark);}
.a349-cf7-wrap .wpcf7-spinner{margin-left:.6rem;}

.a349-cf7-wrap .wpcf7-not-valid-tip{
  font-family:'Space Mono',monospace;font-size:.7rem;color:var(--red);margin-top:.3rem;
}
.a349-cf7-wrap .wpcf7-response-output{
  font-family:'Space Mono',monospace;font-size:.82rem;border-radius:12px;padding:.9rem 1.1rem;margin:1rem 0 0;
  border:1.5px dashed var(--ink-soft);color:var(--ink-soft);
}
.a349-cf7-wrap form.sent .wpcf7-response-output{border-color:var(--red);color:var(--red);}
.a349-cf7-wrap form.invalid .wpcf7-response-output{border-color:var(--red);color:var(--red);}
.a349-cf7-wrap .wpcf7-list-item{margin:0 1rem 0 0;}
