@font-face{font-family:'Satoshi';src:url('assets/fonts/satoshi-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:'Satoshi';src:url('assets/fonts/satoshi-500.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap;}
@font-face{font-family:'Satoshi';src:url('assets/fonts/satoshi-700.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap;}
/* Thème v3 du site YLEVIO Conseil — PROPOSITION (rien n'est en ligne).
   Chargé APRÈS styles.css et les <style> de chaque page : il ne fait que surcharger, aucune page n'est réécrite.
   Un seul caractère, Satoshi (400, 500, 700). Encre chaude + or. Angles de 16 px, filets fins, pas d'ombres lourdes.
   Les héros de TOUTES les pages sont sombres et sortent du même moule (étiquette, titre avec un mot souligné en or, texte, décor de barres). */
:root{
  --font:'Satoshi',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --mono:var(--font);
  --ink:#14110d; --ink-soft:#5a564d; --off:#f6f5f2; --line:rgba(20,17,13,.12); --radius:16px;
  --gold:#b8925a; --gold-dark:#86622f; --gold-bright:#dab67e; --cream:#faf7f1;
}
html{scroll-padding-top:96px;}
body{font-family:var(--font); font-size:16.5px; line-height:1.6; letter-spacing:-.003em; color:var(--ink);}
body, body *{font-family:var(--font) !important;}                        /* Manrope et Fraunces (styles et pages) : plus nulle part */
h1,h2,h3,h4{font-weight:700; letter-spacing:-.03em; line-height:1.14;}
.section-title{font-size:clamp(26px,3.2vw,38px); font-weight:700; letter-spacing:-.03em; line-height:1.12;}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--gold); outline-offset:3px;}

/* étiquettes : petites capitales espacées, partout pareil */
.section-kicker,.eyebrow,.porte__kicker,.price-sub,.promesse__stat span,.footer__brands,.plan__tag{
  font-weight:500; font-size:11.5px; letter-spacing:.08em; text-transform:uppercase;
}
.section-kicker{display:flex; align-items:center; justify-content:center; gap:10px; color:var(--gold-dark);}
.section-kicker::before{content:""; width:6px; height:6px; background:var(--gold); flex:none;}
.porte__kicker{color:var(--ink-soft);}

/* navigation et boutons */
.nav{background:rgba(255,255,255,.86); backdrop-filter:saturate(1.4) blur(14px); -webkit-backdrop-filter:saturate(1.4) blur(14px);}
.nav__links a{font-size:14px; font-weight:500; letter-spacing:-.005em;}
.btn{font-weight:700; letter-spacing:-.005em;}
.btn--primary{background:var(--ink);}
.btn--primary:hover{background:#2a251e;}
.btn--secondary{border:1px solid rgba(20,17,13,.28); background:transparent;}
.btn--secondary:hover{background:#fff; border-color:var(--ink); box-shadow:none;}
.nav-bubble{box-shadow:0 10px 24px -10px rgba(20,17,13,.4);}

/* ================= HÉROS DES PAGES INTÉRIEURES ================= */
.problem-hero,.legal-hero,.faq-hero,.contact-hero{
  position:relative; isolation:isolate; overflow:hidden; max-width:none; margin:0; text-align:left;
  background:var(--ink); color:var(--cream); padding:92px 0 84px;
}
.problem-hero::before,.legal-hero::before,.faq-hero::before,.contact-hero::before{
  content:""; position:absolute; inset:0; z-index:-2;
  background-image:radial-gradient(rgba(250,247,241,.09) 1px, transparent 1.2px); background-size:30px 30px; background-position:15px 15px;
  -webkit-mask-image:linear-gradient(100deg, transparent 20%, #000 75%); mask-image:linear-gradient(100deg, transparent 20%, #000 75%);
}
.problem-hero::after,.legal-hero::after,.faq-hero::after,.contact-hero::after{
  content:""; position:absolute; right:-12%; bottom:-46%; width:70%; height:120%; z-index:-2; border-radius:50%;
  background:radial-gradient(closest-side, rgba(218,182,126,.14), rgba(218,182,126,0));
}
.problem-hero .wrap,.legal-hero .wrap,.faq-hero .wrap,.contact-hero .wrap{position:relative; z-index:1;}
.pagebg{position:absolute; right:0; bottom:0; width:min(56%,760px); height:94%; z-index:-1; pointer-events:none;
  -webkit-mask-image:linear-gradient(90deg, transparent 0, rgba(0,0,0,.4) 38%, #000 78%); mask-image:linear-gradient(90deg, transparent 0, rgba(0,0,0,.4) 38%, #000 78%);}
.pagebg svg{display:block; width:100%; height:100%; overflow:visible;}
.pagebg__bars rect{fill:rgba(218,182,126,.09); stroke:rgba(218,182,126,.42); stroke-width:1;}
.pagebg__trend{fill:none; stroke:var(--gold-bright); stroke-width:1.6; stroke-linejoin:round; stroke-linecap:round; opacity:.75;}

.problem-hero .eyebrow,.legal-hero .eyebrow,.faq-hero .eyebrow,.contact-hero .eyebrow{
  display:inline-flex; align-items:center; gap:10px; margin:0; font-size:12px; font-weight:500; letter-spacing:.08em; line-height:1.4; color:var(--gold-bright);
}
.problem-hero .eyebrow::before,.legal-hero .eyebrow::before,.faq-hero .eyebrow::before,.contact-hero .eyebrow::before{content:""; width:6px; height:6px; background:var(--gold-bright); flex:none;}
.problem-hero h1,.legal-hero h1,.faq-hero h1,.contact-hero h1{
  margin:24px 0 0; max-width:15em; color:var(--cream); font-weight:700; font-size:clamp(34px,5vw,64px); line-height:1.06; letter-spacing:-.04em; text-wrap:balance;
}
.faq-hero h1,.contact-hero h1{font-size:clamp(32px,4.4vw,54px);}
.legal-hero{padding:68px 0 60px;}
.legal-hero h1{font-size:clamp(30px,4vw,46px);}
.problem-hero h1 .accent,.contact-hero h1 .accent,.faq-hero h1 .accent{
  font-style:normal; color:var(--gold-bright); text-decoration:underline; text-decoration-thickness:.05em; text-underline-offset:.14em; text-decoration-skip-ink:none;
}
.problem-hero .lead,.contact-hero .lead,.faq-hero .lead,.legal-hero .lead{
  max-width:36em; margin:26px 0 0; font-size:clamp(17px,1.4vw,19.5px); line-height:1.6; color:rgba(250,247,241,.78);
}

/* ================= HÉROS DES PAGES D'OFFRES (dirigeants, conseillers, managers) =================
   Refaits le 07/11/2026, sans photo : à gauche le texte et deux boutons, à droite une carte « déroulé » (trois temps, tirés de la page).
   Une photo déposée par Maxime (site_v3/photos_heros/) prend la place de la carte, qui passe en légende par-dessus (.problem-hero--photo). */
.problem-hero--duo{padding:84px 0 76px;}
.hero-duo{display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:64px; align-items:center;}
.problem-hero--duo h1{max-width:14em; font-size:clamp(32px,3.7vw,52px);}
.problem-hero--duo .lead{max-width:33em;}
.hero-duo__cta{display:flex; flex-wrap:wrap; gap:12px; margin-top:34px;}
.hbtn{display:inline-flex; align-items:center; gap:10px; padding:14px 24px; border-radius:999px; font-weight:700; font-size:15px; letter-spacing:-.005em; text-decoration:none; transition:transform .25s ease, background-color .25s ease, border-color .25s ease, color .25s ease, box-shadow .25s ease;}
.hbtn--gold{background:var(--gold-bright); color:#14110d;}
.hbtn--gold:hover{background:#e6c58f; transform:translateY(-2px); box-shadow:0 16px 34px -14px rgba(218,182,126,.55);}
.hbtn--ghost{color:var(--cream); border:1px solid rgba(250,247,241,.32);}
.hbtn--ghost:hover{border-color:var(--gold-bright); color:var(--gold-bright);}
.hbtn .ar{display:inline-block; transition:transform .25s ease;}
.hbtn:hover .ar{transform:translateX(4px);}
.hbtn:focus-visible{outline:2px solid var(--gold-bright); outline-offset:3px;}

/* la carte « déroulé » : trois temps reliés par un filet or */
.parcours{position:relative; padding:30px 30px 26px; border:1px solid rgba(250,247,241,.16); border-radius:18px; background:linear-gradient(160deg, rgba(250,247,241,.075), rgba(250,247,241,.02));}
.parcours__k{display:flex; align-items:center; gap:10px; margin:0 0 26px; font-size:11.5px; font-weight:500; letter-spacing:.08em; text-transform:uppercase; line-height:1.4; color:var(--gold-bright);}
.parcours__k::before{content:""; width:6px; height:6px; background:var(--gold-bright); flex:none;}
.parcours__steps{list-style:none; margin:0; padding:0;}
.parcours__step{position:relative; display:flex; flex-direction:column; gap:3px; padding:0 0 24px 34px;}
.parcours__step:last-child{padding-bottom:0;}
.parcours__step::before{content:""; position:absolute; left:5px; top:18px; bottom:-2px; width:1px; background:rgba(218,182,126,.34);}
.parcours__step:last-child::before{display:none;}
.parcours__step::after{content:""; position:absolute; left:0; top:4px; width:11px; height:11px; box-sizing:border-box; border:1.5px solid var(--gold-bright); border-radius:3px; background:#14110d;}
.parcours__step:first-child::after{background:var(--gold-bright);}
.parcours__when{font-size:11.5px; font-weight:500; letter-spacing:.08em; text-transform:uppercase; line-height:1.4; color:var(--gold-bright);}
.parcours__step strong{font-size:19px; font-weight:700; letter-spacing:-.02em; line-height:1.25; color:var(--cream);}
.parcours__txt{font-size:14.5px; line-height:1.55; color:rgba(250,247,241,.7);}
.parcours__foot{margin:26px 0 0; padding-top:18px; border-top:1px solid rgba(250,247,241,.12); font-size:14px; line-height:1.5; color:rgba(250,247,241,.78);}

/* avec une photo : la photo à droite (cadre arrondi, pas plus), la carte en légende sur son coin bas gauche, réduite aux titres */
.hero-duo__photo{margin:0; border-radius:20px; overflow:hidden; aspect-ratio:5/4; border:1px solid rgba(250,247,241,.14); background:#0e0c09;}
.hero-duo__photo img{display:block; width:100%; height:100%; object-fit:cover;}
.problem-hero--photo .hero-duo__visual{position:relative; padding-bottom:58px;}
.problem-hero--photo .parcours{position:absolute; left:-40px; bottom:0; width:calc(100% - 52px); padding:20px 22px 18px; background:rgba(20,17,13,.88); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px);}
.problem-hero--photo .parcours__k{margin-bottom:16px;}
.problem-hero--photo .parcours__txt,.problem-hero--photo .parcours__foot{display:none;}
.problem-hero--photo .parcours__step{padding-bottom:12px;}
.problem-hero--photo .parcours__step:last-child{padding-bottom:0;}
.problem-hero--photo .parcours__step strong{font-size:16px;}

/* la citation, seule (sans photo) */
.quote-band{max-width:820px; margin:60px auto 0; padding:0 8px; text-align:center;}
.quote-band::before{content:""; display:block; width:40px; height:2px; margin:0 auto 24px; background:var(--gold);}
.quote-band p{margin:0; font-size:clamp(20px,2.4vw,27px); font-weight:500; letter-spacing:-.02em; line-height:1.42; color:var(--ink);}

/* « constats » sous le héros : une rangée sobre, icône dans un carré à filet */
.constat-row{display:grid; grid-template-columns:repeat(auto-fit,minmax(196px,1fr)); gap:20px 24px; max-width:1232px; margin:0 auto; padding:34px 24px 0;}
.constat-row__item{flex-direction:row; align-items:center; text-align:left; gap:14px; max-width:none; color:var(--gold-dark);}
.constat-row__item svg{flex:none; box-sizing:content-box; width:22px; height:22px; padding:9px; border:1px solid var(--line); border-radius:12px; background:var(--off);}
.constat-row__item p{margin:0; font-size:14px; font-weight:500; line-height:1.3; color:var(--ink);}
.transition-line{font-weight:500; font-size:clamp(18px,2vw,22px); letter-spacing:-.02em; line-height:1.45;}

/* bandeau photo avec citation */
.quote-banner{border-radius:var(--radius); box-shadow:none; border:1px solid var(--line);}
.quote-banner p{font-weight:700; letter-spacing:-.02em;}

/* ================= OFFRES ================= */
.accompagnements{padding:80px 0;}
.pricing{gap:20px;}
.plan{border:1px solid var(--line); border-radius:var(--radius); padding:30px 28px 28px; box-shadow:none; transition:border-color .2s ease, transform .2s ease;}
.plan:hover{border-color:var(--ink);}
.plan--featured{border:1.5px solid var(--ink); animation:none; box-shadow:none;}
.plan__ribbon{background:var(--ink); color:var(--cream); font-weight:500; letter-spacing:.06em; text-transform:uppercase; font-size:10.5px; padding:6px 13px;}
.plan__tag{color:var(--gold-dark);}
.plan h3{font-size:22px;}
.plan__price{font-size:clamp(30px,3vw,38px); font-weight:700; letter-spacing:-.045em; line-height:1.05;}
.plan__price-total{font-size:13.5px;}
.plan__price-desc{font-size:14.5px;}
.checklist li{padding-left:18px; font-size:14.5px;}
.checklist li::before{top:.62em; width:6px; height:6px; border-radius:0; background:var(--gold);}
.result-line{border-top:1px solid var(--line); border-style:solid none none; font-size:14px;}
.result-line strong{color:var(--gold-dark); font-weight:700;}
.offer-line{border-radius:var(--radius); border:1px solid var(--line);}
.testi-block{background:var(--off); border:1px solid var(--line); border-radius:var(--radius); font-style:normal; font-size:16px; text-align:left; line-height:1.6;}
.testi-block strong{font-weight:500; font-size:12px; letter-spacing:.06em; text-transform:uppercase; color:var(--gold-dark);}
.founding-offer{background:var(--off); border:1px solid var(--line); border-radius:var(--radius);}
.mode-badge{border-radius:999px; font-weight:500; letter-spacing:.08em;}
.mode-badge--direct{background:var(--gold-bright);}

/* ================= ACCUEIL ================= */
.portes__grid{counter-reset:porte;}
.porte{position:relative; counter-increment:porte; border:1px solid var(--line); border-radius:var(--radius); padding:28px 26px 24px; background:#fff;}
.porte:hover{border-color:var(--ink); transform:translateY(-3px); box-shadow:none;}
.porte::after{content:counter(porte, decimal-leading-zero); position:absolute; top:24px; right:24px; font:500 12px var(--font); color:#9b9280;}
.porte__bulle{width:44px; height:44px; border-radius:12px; background:var(--off); background-image:none !important; border:1px solid var(--line); color:var(--ink); margin-bottom:22px;}
.porte__q{font-size:19px; font-weight:700; letter-spacing:-.02em; line-height:1.32;}
.porte p{font-size:14.5px;}
.porte__cta{display:inline-flex; align-items:center; gap:8px; margin-top:20px; font-weight:700; font-size:14px;}
.porte__cta:after{content:"→"; transition:transform .2s ease;}
.porte:hover .porte__cta:after{transform:translateX(5px);}
.aside-formation a{color:var(--ink); border-bottom:1px solid rgba(20,17,13,.3);}
.how-grid{grid-template-columns:repeat(3,1fr); gap:28px; max-width:980px; margin:36px auto 0;}
.how-grid__item{text-align:left; border-top:1px solid var(--ink); padding-top:16px;}
.how-grid__num{display:block; width:auto; height:auto; margin-bottom:12px; border-radius:0; background:none; font-weight:500; font-size:12px; letter-spacing:.08em; color:var(--gold-dark);}
.how-grid__num::before{content:"0";}
.how-grid__item p{font-size:clamp(19px,2vw,23px); font-weight:700; letter-spacing:-.02em; line-height:1.25;}
.promesse{padding:76px 0;}
.promesse__portrait img{box-shadow:none; border:1px solid var(--line);}
.promesse__text{font-size:clamp(20px,2.4vw,28px); font-weight:500; letter-spacing:-.022em; line-height:1.4;}

/* ================= ACCUEIL : entrée vers la formation IA ================= */
.fband{padding:36px 0 8px;}
.fband__card{display:block; position:relative; overflow:hidden; isolation:isolate; padding:46px 52px 44px; border-radius:var(--radius); background:var(--ink); color:var(--cream); transition:transform .25s ease;}
.fband__card::before{content:""; position:absolute; inset:0; z-index:-1; background-image:radial-gradient(rgba(250,247,241,.09) 1px, transparent 1.2px); background-size:30px 30px; background-position:15px 15px;
  -webkit-mask-image:linear-gradient(100deg, transparent 10%, #000 85%); mask-image:linear-gradient(100deg, transparent 10%, #000 85%);}
.fband__card::after{content:""; position:absolute; right:-8%; bottom:-70%; width:60%; height:170%; z-index:-1; border-radius:50%; background:radial-gradient(closest-side, rgba(218,182,126,.18), rgba(218,182,126,0));}
.fband__card:hover{transform:translateY(-3px);}
.fband__kicker{display:inline-flex; align-items:center; gap:10px; margin:0; font-weight:500; font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--gold-bright);}
.fband__kicker::before{content:""; width:6px; height:6px; background:var(--gold-bright); flex:none;}
.fband__title{margin:18px 0 0; max-width:17em; color:var(--cream); font-size:clamp(26px,3.4vw,42px); font-weight:700; letter-spacing:-.035em; line-height:1.1;}
.fband__lead{margin:16px 0 0; max-width:38em; color:rgba(250,247,241,.78); font-size:16.5px; line-height:1.6;}
.fband__cta{display:inline-flex; align-items:center; margin-top:26px; padding:14px 24px; border-radius:999px; background:var(--gold-bright); color:var(--ink); font-weight:700; font-size:15px;}
.fband__cta span{margin-left:8px; transition:transform .2s ease;}
.fband__card:hover .fband__cta span{transform:translateX(4px);}

/* ================= ACTUALITÉ (section sombre) ================= */
.agences{background:var(--ink);}
.agence-card{background:#1b1814; border:1px solid rgba(250,247,241,.12); border-radius:var(--radius);}
.agence-card h3{font-size:21px; letter-spacing:-.025em;}
.agence-card__photo img{border-radius:12px;}
.raison-etre{padding:84px 0 60px;}
.diagnostic-layout__media img{border-radius:var(--radius); box-shadow:none;}
.raison-etre .checklist li{color:var(--ink-soft);}

/* ================= FAQ ================= */
.faq__item{border-bottom:1px solid var(--line);}
.faq__q{font-size:17px; font-weight:700; letter-spacing:-.02em;}
.faq__chevron{font-weight:500; color:var(--gold-dark);}
.faq__a p{font-size:15.5px; color:var(--ink-soft);}

/* ================= CONTACT ================= */
.contact-form input[type=text],.contact-form input[type=email],.contact-form input[type=tel],.contact-form textarea{
  border:1px solid rgba(20,17,13,.2); border-radius:12px; background:#fff; font-size:16px;
}
.contact-form input:focus,.contact-form textarea:focus{border-color:var(--ink); outline:none; box-shadow:0 0 0 3px rgba(184,146,90,.28);}
.contact-form label{font-weight:500; font-size:13.5px; letter-spacing:-.005em;}
.contact-form__interest label{border-radius:999px; border:1px solid rgba(20,17,13,.2); font-weight:500;}
.contact-form__interest label:has(input:checked){border-color:var(--ink); background:var(--off); color:var(--ink);}
.contact-form__submit{border-radius:999px; font-weight:700; background:var(--ink); color:#fff;}
.contact-form__submit:hover{background:#2a251e;}

/* ================= PIED DE PAGE ================= */
.footer__cta strong{font-size:clamp(22px,2.6vw,32px); letter-spacing:-.03em;}
.footer__cta .btn--primary{background:var(--gold-bright); color:#14110d;}
.footer__cta .btn--primary:hover{background:#e6c58f;}

@media (max-width:980px){
  .hero-duo{grid-template-columns:1fr; gap:44px;}
  .problem-hero--duo{padding:64px 0 60px;}
  .hero-duo__photo{aspect-ratio:16/10;}
  .problem-hero--photo .parcours{left:-16px; width:calc(100% - 8px);}
}
@media (max-width:720px){
  .problem-hero,.legal-hero,.faq-hero,.contact-hero{padding:58px 0 56px;}
  .legal-hero{padding:48px 0 44px;}
  .problem-hero h1,.faq-hero h1,.contact-hero h1{font-size:clamp(30px,9.4vw,44px);}
  .pagebg{width:100%; height:44%; opacity:.55;}
  .problem-hero--duo{padding:50px 0 52px;}
  .parcours{padding:24px 22px 22px;}
  .hero-duo__cta .hbtn{flex:1 1 auto; justify-content:center;}
  .problem-hero--photo .hero-duo__visual{padding-bottom:0;}
  .hero-duo__photo{aspect-ratio:4/3;}
  .problem-hero--photo .parcours{position:relative; left:auto; bottom:auto; width:auto; margin:-34px 10px 0;}
  .constat-row{grid-template-columns:1fr 1fr; gap:18px 16px; padding:26px 20px 0;}
  .constat-row__item{align-items:flex-start;}
  .how-grid{grid-template-columns:1fr; max-width:420px; gap:22px;}
  .porte::after{top:22px; right:22px;}
  .accompagnements{padding:56px 0;}
  .fband__card{padding:32px 24px 30px;}
}

/* Typographie (07/11/2026) : pas de mot seul sur la dernière ligne (« veuve »). Les titres sont équilibrés, les paragraphes évitent la veuve.
   Navigateurs récents (Chrome 117+, Safari 17.5+) ; ailleurs la règle est ignorée. La ponctuation, elle, tient par les espaces insécables posées par l'assembleur. */
h1,h2,h3,h4,.porte__q,.section-title,.section-subtitle,.section-kicker,.plan__price,
.how-grid__item p,.constat-row__item p,.porte__cta,.porte__kicker,.raison strong,.testi-block strong,.ia-autre b,.contact-form__interest span,
.footer__cta strong,.offer-line strong,.parcours__step strong,.eyebrow,.btn,.hbtn{text-wrap:balance;}
p,li,dd,summary,blockquote,figcaption{text-wrap:pretty;}
