/* ab.css : socle du design Anglais Libre etendu au site (lot design 2026-10).
   Tokens repris de test-niveau.css. Animations sur transform/opacity uniquement,
   toutes coupees par prefers-reduced-motion. */

/* Police des titres auto-hebergee (OFL, assets/fonts/OFL-plus-jakarta-sans.txt).
   optional + preload : jamais de changement de police apres affichage, donc 0 decalage. */
@font-face{font-family:"Plus Jakarta Sans";src:url(../fonts/plus-jakarta-sans-latin-wght.woff2) format("woff2");font-weight:200 800;font-style:normal;font-display:optional;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* Instrument Serif Italic (OFL, assets/fonts/OFL-instrument-serif.txt) : mots anglais uniquement. */
@font-face{font-family:"Instrument Serif";src:url(../fonts/instrument-serif-italic-latin.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}
.ab-en{font-family:'Instrument Serif',serif;font-style:italic}

:root{--ab-b:#0F2C67;--ab-b2:#1a3d85;--ab-g:#059669;--ab-gd:#047857;--ab-a:#F59E0B;--ab-ink:#0f172a;--ab-mut:#475569;--ab-line:#e2e8f0;--ab-paper:#f6f8fc;--ab-r:22px;--ab-sh:0 18px 48px rgba(15,44,103,.07);--ab-ease:cubic-bezier(.23,1,.32,1);
  --ab-ft:"Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;--ab-fb:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}
h1,h2,h3,.ab-t{font-family:var(--ab-ft);letter-spacing:-.01em}

/* Reprise de style-modern.css (retire hors accueil) : regles des composants communs utilises
   par les pages de demonstration. A completer a l'etape 5 par l'inventaire des 640 pages.
   ab.css est charge avant tw.css, comme style-modern l'etait avant Tailwind. */
body{color:var(--text-dark,#2C3E50)}
.nav-actions{display:flex;gap:1rem;align-items:center}
.btn-signin,.btn-create{text-decoration:none;font-weight:600;font-size:.95rem;padding:.65rem 1.5rem;border-radius:8px;transition:background .3s,transform .3s}
.btn-signin{color:var(--text-dark)}.btn-signin:hover{background:var(--bg-light)}
.btn-create{background:var(--primary-green);color:#fff}.btn-create:hover{background:var(--primary-dark);transform:translateY(-2px)}
.cpf-legal{margin-top:10px;font-size:12.5px;color:#475569}
.aiso-tldr{background:#FEF3C7;border:1px solid #FCD34D;border-left:6px solid #F59E0B;padding:16px 18px;border-radius:12px;color:#0f172a}
.aiso-tldr h3,.aiso-tldr h2{margin:0 0 8px;font-size:1.1rem;font-weight:700;line-height:1.4}
.aiso-qas .qa-item{margin:12px 0}.aiso-qas .qa-item h3{margin:.2rem 0 .25rem;font-size:1.05rem}

/* Icones : sprite SVG inline (ex-Material Symbols). Le nom de l'icone reste dans le HTML (texte
   inchange, lu comme avant par les lecteurs d'ecran) mais n'est plus affiche. */
.material-symbols-outlined{display:inline-block;position:relative;width:1em;height:1em;font-size:24px;line-height:1;flex-shrink:0;font-style:normal}
.ms-i{display:block;width:1em;height:1em;fill:currentColor}
.ms-t{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* @reprise-style-modern:debut (genere par tools/design_build.py --apply, ne pas editer) */
:where(.ab-sm) *{margin:0;padding:0;box-sizing:border-box;}:where(html.ab-sm){--primary-green:#047857;--primary-dark:#065f46;--text-dark:#2C3E50;--text-gray:#7F8C8D;--text-light:#95A5A6;--bg-light:#F8F9FA;--bg-white:#FFFFFF;--border-color:#ECF0F1;}:where(.ab-sm) body{font-family:'Plus Jakarta Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:var(--text-dark);background:var(--bg-white);line-height:1.6;overflow-x:hidden;}:where(.ab-sm) .container{max-width:1200px;margin:0 auto;padding:0 2rem;}:where(.ab-sm) .container-fluid{max-width:1400px;margin:0 auto;padding:0 3rem;}:where(.ab-sm) .header-modern{background:var(--bg-white);border-bottom:1px solid var(--border-color);position:sticky;top:0;z-index:1000;backdrop-filter:blur(10px);background:rgba(255,255,255,0.95);}:where(.ab-sm) .navbar{display:flex;align-items:center;justify-content:space-between;padding:1rem 0;gap:2rem;}:where(.ab-sm) .logo{display:flex;align-items:center;gap:0.75rem;font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:1.5rem;color:var(--text-dark);text-decoration:none;}:where(.ab-sm) .logo-text{font-size:1.5rem;font-weight:700;letter-spacing:-0.2em;}:where(.ab-sm) .nav-menu{display:flex;list-style:none;list-style:none;gap:1.25rem;align-items:center;}:where(.ab-sm) .nav-menu a{text-decoration:none;color:#5F6B6D;font-weight:500;font-size:0.8rem;transition:color 0.3s;white-space:nowrap;}:where(.ab-sm) .nav-menu a:hover,:where(.ab-sm) .nav-menu a.active{color:var(--text-dark);}:where(.ab-sm) .nav-actions{display:flex;gap:1rem;align-items:center;}:where(.ab-sm) .btn-signin{text-decoration:none;color:var(--text-dark);font-weight:600;font-size:0.95rem;padding:0.65rem 1.5rem;border-radius:8px;transition:background 0.3s;}:where(.ab-sm) .btn-signin:hover{background:var(--bg-light);}:where(.ab-sm) .btn-create{text-decoration:none;background:var(--primary-green);color:white;font-weight:600;font-size:0.95rem;padding:0.65rem 1.5rem;border-radius:8px;transition:all 0.3s;}:where(.ab-sm) .btn-create:hover{background:var(--primary-dark);transform:translateY(-2px);box-shadow:0 4px 12px rgba(16,185,129,0.3);}:where(.ab-sm) .nav-actions .btn-create{background:#117A65;color:#fff;}:where(.ab-sm) .nav-actions .btn-create:hover{background:#0E6655;}:where(.ab-sm) .mobile-menu-toggle{display:none;flex-direction:column;gap:4px;background:transparent;border:none;cursor:pointer;}:where(.ab-sm) .mobile-menu-toggle span{width:24px;height:3px;background:var(--text-dark);border-radius:2px;}:where(.ab-sm) .has-dropdown{position:relative;height:100%;display:flex;align-items:center;}:where(.ab-sm) .has-dropdown>a{display:flex;align-items:center;gap:4px;padding:0.5rem 0;height:100%;position:relative;z-index:1002;font-weight:600;font-size:0.8rem;}:where(.ab-sm) .has-dropdown::after{content:'';position:absolute;top:100%;left:0;width:100%;height:20px;background:transparent;display:none;}:where(.ab-sm) .has-dropdown:hover::after{display:block;}:where(.ab-sm) .mega-dropdown{position:absolute;top:calc(100% + 15px);left:-20px;background:#ffffff;min-width:700px;border-radius:20px;box-shadow:0 20px 50px -10px rgba(0,0,0,0.12),0 0 2px rgba(0,0,0,0.5);padding:32px;opacity:0;visibility:hidden;transform:translateY(15px) scale(0.98);transform-origin:top left;transition:all 0.25s cubic-bezier(0.1,0.5,0.1,1);z-index:1001;border:1px solid rgba(0,0,0,0.3);}:where(.ab-sm) .has-dropdown:hover .mega-dropdown{opacity:1;visibility:visible;transform:translateY(0) scale(1);}:where(.ab-sm) .mega-dropdown-content{display:grid;grid-template-columns:1.5fr 1fr;gap:32px;align-items:stretch;}:where(.ab-sm) .mega-dropdown-items{display:flex;flex-direction:column;gap:12px;}:where(.ab-sm) .mega-title{font-size:0.65rem;text-transform:uppercase;color:#6B7280;font-weight:800;margin-bottom:12px;letter-spacing:1.5px;padding-left:12px;}:where(.ab-sm) .mega-item{display:flex;align-items:flex-start;gap:16px;padding:16px;border-radius:16px;text-decoration:none;transition:all 0.2s ease;border:1px solid transparent;}:where(.ab-sm) .mega-item:hover{background:#F3F4F6;transform:translateX(4px);}:where(.ab-sm) .mega-icon{width:44px;height:44px;background:white;border-radius:12px;display:flex;align-items:center;justify-content:center;color:var(--primary-green);box-shadow:0 4px 10px rgba(0,0,0,0.3);font-size:1.2rem;}:where(.ab-sm) .mega-item h4{color:var(--text-dark);font-weight:700;font-size:0.8rem;margin-bottom:2px;line-height:1.2;}:where(.ab-sm) .mega-item p{color:#5F6B6D;font-size:0.7rem;line-height:1.3;margin:0;font-weight:500;}:where(.ab-sm) .mega-dropdown-image{background:var(--bg-light);border-radius:16px;overflow:hidden;display:flex;align-items:center;justify-content:center;}:where(.ab-sm) .mega-dropdown-image img{width:100%;height:100%;object-fit:cover;transition:transform 0.6s ease;}:where(.ab-sm) .mega-dropdown-image:hover img{transform:scale(1.03);}:where(.ab-sm) .hero-modern{padding:4rem 0 6rem;background:#F5F5F5;position:relative;overflow:hidden;}:where(.ab-sm) .hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;}:where(.ab-sm) .hero-content{max-width:600px;}:where(.ab-sm) .hero-title{font-family:'Plus Jakarta Sans',sans-serif;font-size:2.75rem;font-weight:800;line-height:1.3;margin-bottom:1.5rem;color:var(--text-dark);}:where(.ab-sm) .text-gradient{color:var(--primary-green);font-weight:800;}:where(.ab-sm) .hero-description{font-size:1.1rem;color:var(--text-gray);margin-bottom:2.5rem;line-height:1.7;}:where(.ab-sm) .hero-buttons{display:flex;gap:1rem;margin-bottom:3rem;}:where(.ab-sm) .btn-primary-large{background:var(--primary-green);color:white;text-decoration:none;padding:1rem 2.5rem;border-radius:12px;font-weight:600;font-size:1.05rem;transition:all 0.3s;display:inline-block;}:where(.ab-sm) .btn-primary-large:hover{background:var(--primary-dark);transform:translateY(-2px);box-shadow:0 8px 20px rgba(16,185,129,0.3);}:where(.ab-sm) .btn-secondary-large{background:transparent;color:var(--text-dark);text-decoration:none;padding:1rem 2.5rem;border-radius:12px;font-weight:600;font-size:1.05rem;border:2px solid var(--border-color);transition:all 0.3s;display:inline-block;}:where(.ab-sm) .btn-secondary-large:hover{border-color:var(--primary-green);color:var(--primary-green);}:where(.ab-sm) .hero-features{display:flex;gap:2rem;margin-bottom:2rem;}:where(.ab-sm) .feature-item{display:flex;align-items:center;gap:0.75rem;}:where(.ab-sm) .feature-icon{width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.4rem;}:where(.ab-sm) .feature-item span{font-size:0.875rem;color:var(--text-gray);font-weight:500;}:where(.ab-sm) .hero-stats{display:flex;gap:3rem;}:where(.ab-sm) .stat-item{text-align:left;}:where(.ab-sm) .stat-number{font-family:'Plus Jakarta Sans',sans-serif;font-size:2.5rem;font-weight:700;color:var(--text-dark);line-height:1;}:where(.ab-sm) .stat-label{font-size:0.95rem;color:var(--text-gray);margin-top:0.25rem;}:where(.ab-sm) .hero-image{position:relative;height:600px;display:flex;align-items:center;justify-content:center;}:where(.ab-sm) .hero-circle{position:relative;width:600px;height:600px;}:where(.ab-sm) .student-image{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:550px;height:550px;background:linear-gradient(135deg,#a8e6cf 0%,#7ed6a8 100%);border-radius:50%;display:flex;align-items:center;justify-content:center;z-index:1;overflow:visible;padding:40px;}:where(.ab-sm) .student-photo{width:100%;height:100%;object-fit:cover;object-position:center;border-radius:50%;}:where(.ab-sm) .floating-card{position:absolute;background:white;padding:1rem 1.5rem;border-radius:16px;box-shadow:0 10px 30px rgba(0,0,0,0.1);display:flex;align-items:center;gap:1rem;z-index:2;animation:float 3s ease-in-out infinite;}:where(.ab-sm) .card-1{top:30%;left:-15%;}:where(.ab-sm) .card-2{top:5%;right:0%;animation-delay:1s;}:where(.ab-sm) .card-icon{width:48px;height:48px;background:var(--primary-green);border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;}:where(.ab-sm) .card-icon-green{width:48px;height:48px;background:var(--primary-green);border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}:where(.ab-sm) .card-number{font-family:'Plus Jakarta Sans',sans-serif;font-size:1.5rem;font-weight:700;color:var(--text-dark);line-height:1;}:where(.ab-sm) .card-label{font-size:0.85rem;color:var(--text-gray);}:where(.ab-sm) .decorative-circle{position:absolute;border:2px solid var(--border-color);border-radius:50%;z-index:0;}:where(.ab-sm) .circle-1{width:600px;height:600px;top:-50px;left:-50px;}:where(.ab-sm) .circle-2{width:400px;height:400px;bottom:-20px;right:-20px;}:where(.ab-sm) .decorative-dot{position:absolute;width:12px;height:12px;background:var(--primary-green);border-radius:50%;z-index:0;}:where(.ab-sm) .dot-1{top:10%;left:10%;}:where(.ab-sm) .dot-2{bottom:20%;right:15%;}:where(.ab-sm) .section-header{text-align:center;margin-bottom:4rem;}:where(.ab-sm) .section-subtitle{color:var(--primary-green);font-weight:600;font-size:0.95rem;text-transform:uppercase;letter-spacing:1px;}:where(.ab-sm) .section-title{font-family:'Plus Jakarta Sans',sans-serif;font-size:2.5rem;font-weight:700;color:var(--text-dark);margin-top:0.5rem;line-height:1.3;}:where(.ab-sm) .service-card{background:white;padding:2.5rem;border-radius:20px;text-align:center;transition:all 0.3s;}:where(.ab-sm) .service-card:hover{transform:translateY(-10px);box-shadow:0 20px 40px rgba(0,0,0,0.1);}:where(.ab-sm) .service-icon{width:80px;height:80px;margin:0 auto 1.5rem;border-radius:20px;display:flex;align-items:center;justify-content:center;font-size:2.5rem;}:where(.ab-sm) .service-card h3{font-family:'Plus Jakarta Sans',sans-serif;font-size:1.4rem;font-weight:700;margin-bottom:1rem;color:var(--text-dark);line-height:1.3;}:where(.ab-sm) .service-card p{color:var(--text-gray);line-height:1.8;font-size:0.95rem;}:where(.ab-sm) .tab-btn{padding:0.75rem 2rem;border:none;background:transparent;color:var(--text-gray);font-family:'Plus Jakarta Sans',sans-serif;font-size:1rem;font-weight:600;cursor:pointer;border-radius:12px;transition:all 0.3s;}:where(.ab-sm) .tab-btn.active{background:var(--primary-green);color:white;}:where(.ab-sm) .tab-btn:hover{background:var(--primary-green);color:white;}@media (max-width:1024px){:where(.ab-sm) .hero-grid{grid-template-columns:1fr;gap:3rem;}:where(.ab-sm) .hero-image{height:500px;}:where(.ab-sm) .hero-circle{width:400px;height:400px;}:where(.ab-sm) .student-image{width:320px;height:320px;}}@media (max-width:768px){:where(.ab-sm) .nav-menu{display:none;}:where(.ab-sm) .nav-actions{display:none;}:where(.ab-sm) .mobile-menu-toggle{display:flex;}:where(.ab-sm) .hero-title{font-size:2.5rem;}:where(.ab-sm) .hero-buttons{flex-direction:column;}:where(.ab-sm) .hero-features{flex-direction:column;gap:1rem;}:where(.ab-sm) .container-fluid{padding:0 1.5rem;}}:where(.ab-sm) .btn-primary{display:inline-block;background:#10b981;color:#fff;text-decoration:none;padding:14px 22px;border-radius:10px;font-weight:600;letter-spacing:0.2px;transition:all 0.3s ease;}:where(.ab-sm) .btn-primary:hover{background:#0ea371;transform:translateY(-1px);box-shadow:0 4px 12px rgba(16,185,129,0.3);}:where(.ab-sm) .cta-inline a[href="demande-financement-cpf.html"].btn-primary{background:linear-gradient(135deg,#E6A800 0%,#CC8800 100%);box-shadow:0 4px 15px rgba(230,168,0,0.3);}:where(.ab-sm) .cta-inline a[href="demande-financement-cpf.html"].btn-primary:hover{background:linear-gradient(135deg,#CC8800 0%,#B37700 100%);box-shadow:0 6px 20px rgba(230,168,0,0.4);}:where(.ab-sm) .cpf-legal{margin-top:10px;font-size:12.5px;color:#475569;}:where(.ab-sm) .tab-content{display:none;animation:fadeIn 0.4s ease;}:where(.ab-sm) .tab-content.active{display:block;}@media (max-width:640px){:where(.ab-sm) .btn-primary{width:100%;text-align:center;}}:where(.ab-sm) .cta-inline{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:center;margin-top:16px;}:where(.ab-sm) .media-strip .image-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}:where(.ab-sm) .media-strip .image-grid img{width:100%;height:220px;object-fit:cover;border-radius:14px;box-shadow:0 6px 16px rgba(0,0,0,0.8);}@media (max-width:768px){:where(.ab-sm) .media-strip .image-grid{grid-template-columns:1fr;}:where(.ab-sm) .media-strip .image-grid img{height:180px;}}:where(.ab-sm) .cta-box{background:transparent !important;border:none !important;box-shadow:none !important;padding-left:0 !important;padding-right:0 !important;}:where(.ab-sm) .cta-box h3{margin-top:0;}:where(.ab-sm) .btn-primary-large,:where(.ab-sm) .btn-secondary-large{border-radius:10px;}:where(.ab-sm) .floating-info-btn{position:fixed;bottom:30px;right:30px;background:linear-gradient(135deg,#047857 0%,#065f46 100%);color:#fff;padding:16px 24px;border-radius:50px;font-weight:600;font-size:1rem;text-decoration:none;box-shadow:0 8px 24px rgba(26,188,156,0.4);z-index:999;transition:all 0.3s ease;display:inline-flex;align-items:center;gap:8px;}:where(.ab-sm) .floating-info-btn:hover{transform:translateY(-4px);box-shadow:0 12px 32px rgba(26,188,156,0.5);}@media (max-width:768px){:where(.ab-sm) .floating-info-btn{bottom:20px;right:20px;padding:12px 18px;font-size:0.9rem;}}:where(.ab-sm) .content-section{background:#F9FAFB;}:where(.ab-sm) .content-section article>section{position:relative;z-index:0;}:where(.ab-sm) .content-section article>section:nth-of-type(even)::before{content:"";position:absolute;top:0;bottom:0;left:calc(50% - 50vw);right:calc(50% - 50vw);background:#FFFFFF;z-index:-1;}:where(.ab-sm) .content-section article>section:nth-of-type(even){padding-top:8px;padding-bottom:8px;box-shadow:inset 0 -1px 0 #F3F4F6,inset 0 1px 0 #F3F4F6;}:where(.ab-sm) .content-section .btn-primary-large,:where(.ab-sm) .content-section .btn-secondary-large{padding:0.65rem 1.25rem;font-size:0.95rem;border-radius:10px;}:where(.ab-sm) .note{color:#6B7280;font-size:.9rem;margin-top:8px}:where(.ab-sm) .level-card{background:linear-gradient(180deg,#ECFDF5 0%,#D1FAE5 100%);border:1px solid #A7F3D0;border-radius:14px;padding:16px}:where(.ab-sm) .level-card h3{margin:0 0 6px;color:#065F46;font-size:1.05rem}:where(.ab-sm) .level-card p{margin:0;color:#0F172A;font-size:.95rem}:where(.ab-sm) .site-benefits{padding:3rem 0}:where(.ab-sm) .site-benefits .benefits-tabs{display:flex;gap:12px;justify-content:center;margin:0 auto 1rem auto}:where(.ab-sm) .site-benefits .benefit-tab{appearance:none;border:1px solid #d1fae5;background:#ecfdf5;color:#065F46;padding:.6rem 1.1rem;border-radius:14px;font-weight:700;cursor:pointer;transition:all .25s ease}:where(.ab-sm) .site-benefits .benefit-tab:hover{border-color:#16A34A;box-shadow:0 4px 14px rgba(22,163,74,.15)}:where(.ab-sm) .site-benefits .benefit-tab.is-active{background:#16A34A;color:#fff;border-color:#16A34A;box-shadow:0 8px 22px rgba(22,163,74,.28)}:where(.ab-sm) .site-benefits .benefits-box{background:#ecfdf5;border-radius:28px;padding:24px;display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center}:where(.ab-sm) .site-benefits .media img{width:100%;display:block;border-radius:20px}:where(.ab-sm) .site-benefits .benefit-head{font-size:1rem;margin:.5rem 0 .25rem 0;color:#0f172a}:where(.ab-sm) .site-benefits .benefit-list{list-style:none;margin:.25rem 0 1rem 0;padding:0}:where(.ab-sm) .site-benefits .benefit-item{display:flex;gap:.6rem;align-items:flex-start;margin:.35rem 0;color:#334155}:where(.ab-sm) .site-benefits .dot{width:10px;height:10px;border-radius:50%;background:#16A34A;margin-top:.45rem;box-shadow:0 0 0 3px rgba(22,163,74,.16)}:where(.ab-sm) .site-benefits .benefits-cta{margin-top:.75rem}:where(.ab-sm) .site-benefits .btn-benefit{display:inline-block;background:#16A34A;color:#fff;padding:.9rem 1.25rem;border:none;border-radius:10px;font-weight:800;cursor:pointer;transition:all .25s ease}:where(.ab-sm) .site-benefits .btn-benefit:hover{background:#0C8C5B;transform:translateY(-2px);box-shadow:0 8px 20px rgba(12,140,91,.25)}@media (max-width:992px){:where(.ab-sm) .site-benefits .benefits-box{grid-template-columns:1fr}:where(.ab-sm) .site-benefits{padding:2rem 0}}:where(.ab-sm) .aiso-tldr{background:#FEF3C7;border:1px solid #FCD34D;border-left:6px solid #F59E0B;padding:16px 18px;border-radius:12px;color:#0f172a}:where(.ab-sm) .aiso-tldr h3,:where(.ab-sm) .aiso-tldr h2{margin:0 0 8px 0;font-size:1.1rem;font-weight:700;line-height:1.4}:where(.ab-sm) .aiso-qas .qa-item{margin:12px 0}:where(.ab-sm) .aiso-qas .qa-item h3{margin:.2rem 0 .25rem 0;font-size:1.05rem}:where(.ab-sm) .aiso-table-wrap{width:100%;overflow-x:auto;margin:.5rem 0 1rem 0}:where(.ab-sm) .aiso-table-wrap table{width:100%;border-collapse:collapse;font-size:.95rem}:where(.ab-sm) .aiso-table-wrap th,:where(.ab-sm) .aiso-table-wrap td{border:1px solid #E5E7EB;padding:10px 12px;text-align:left}:where(.ab-sm) .sources-list{list-style:decimal;padding-left:1.2rem;color:#334155}:where(.ab-sm) .sources-list a{color:#0ea5e9;text-decoration:none}:where(.ab-sm) .sources-list a:hover{text-decoration:underline}:where(.ab-sm) .floating-info-btn{display:none !important}@keyframes float{0%,100%{transform:translateY(0);}50%{transform:translateY(-15px);}}@keyframes fadeIn{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:translateY(0);}}
/* @reprise-style-modern:fin */

/* Contrastes AA (corrections de rendu, texte inchange). */
:root{--text-gray:#5F6B6D}
.aiso-tldr h3,.aiso-tldr h2{color:var(--ab-gd)!important}
.ab-cv-bar .ab-cv-wa{background:#15803d}
.prose .text-white p{color:inherit}.prose .text-white .text-blue-100{color:#dbeafe}

/* Barre de contact (ca-tracking.js) : place reservee des le premier rendu, meme valeur que
   body.ab-cv-pad, donc l'ajout de la classe ne deplace plus rien. */
@media (max-width:768px){html:not([data-no-convert-bar=true]) body{padding-bottom:76px}}

/* En-tete reduit au defilement : logo mis a l'echelle et ombre en fondu, hauteur inchangee. */
.header-modern .logo img{transform-origin:0 50%;transition:transform .3s var(--ab-ease)}
.ab-scrolled .header-modern .logo img{transform:scale(.82)}
.header-modern::after{content:"";position:absolute;left:0;right:0;top:100%;height:10px;background:linear-gradient(rgba(15,44,103,.1),rgba(15,44,103,0));opacity:0;transition:opacity .3s;pointer-events:none}
.ab-scrolled .header-modern::after{opacity:1}

/* Menu mobile : icone en croix pilotee par body.menu-open (ab.js). */
.mobile-menu-toggle span{transition:transform .3s var(--ab-ease),opacity .2s}
body.menu-open .mobile-menu-toggle span:nth-child(1){transform:translateY(8px) rotate(45deg)}
body.menu-open .mobile-menu-toggle span:nth-child(2){opacity:0}
body.menu-open .mobile-menu-toggle span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}

/* Barre de progression de lecture. */
.ab-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:1300;background:linear-gradient(90deg,var(--ab-g),#34d399);transform:scaleX(0);transform-origin:0 50%;pointer-events:none}

/* Apparition au defilement (classe posee par ab.js sous la ligne de flottaison seulement). */
.ab-rv{opacity:0;transform:translateY(18px);transition:opacity .6s var(--ab-ease),transform .6s var(--ab-ease)}
.ab-rv.ab-in{opacity:1;transform:none}

/* Sommaire qui suit la lecture : couleur et filet peints, aucune variation de mise en page. */
.ab-toc-on{color:var(--ab-gd)!important;background-color:#ecfdf5;box-shadow:inset 3px 0 0 var(--ab-g)}

/* Transitions de page natives. */
@view-transition{navigation:auto}
::view-transition-old(root),::view-transition-new(root){animation-duration:.22s}

@media (prefers-reduced-motion:reduce){
  @view-transition{navigation:none}
  html{scroll-behavior:auto!important}
  .ab-rv{opacity:1!important;transform:none!important}
  .ab-progress{display:none}
  .header-modern .logo img,.header-modern::after,.mobile-menu-toggle span,.ab-rv,#navMenu,#mobileOverlay{transition:none!important}
  /* animations propres aux pages (pulsations, flottements, defilements) : arretees partout */
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important;transition-duration:.01ms!important;transition-delay:0s!important}
}
@media print{.ab-rv{opacity:1!important;transform:none!important}.ab-progress{display:none}}

/* Etape 6 : 19 pages vitrines (body.abv). Animations sur transform/opacity, hors chemin du LCP
   (H1 visible des la 1re image, aurore et cartes posees par ab-vitrine.js en defer). */
.abw{display:inline-block;animation:abw .9s var(--ab-ease) both;animation-delay:calc(var(--i,0)*65ms + 60ms)}
@keyframes abw{from{opacity:.14;transform:translateY(.42em) rotate(1.5deg)}}
:where(.abv-h){position:relative}
.abv-h{isolation:isolate}
.abv-aur{position:absolute;inset:0;overflow:hidden;z-index:-1;pointer-events:none;margin:0!important;animation:abv-in 1.4s ease both}
.abv-aur i{position:absolute;width:46vmax;height:46vmax;max-width:900px;max-height:900px;border-radius:50%;background:radial-gradient(closest-side,rgba(5,150,105,.26),rgba(5,150,105,0));top:-18vmax;left:-12vmax;will-change:transform;animation:abv-a 19s ease-in-out infinite alternate}
.abv-aur i:nth-child(2){background:radial-gradient(closest-side,rgba(37,99,235,.18),rgba(37,99,235,0));left:auto;right:-14vmax;top:-10vmax;animation-duration:23s;animation-direction:alternate-reverse}
.abv-aur i:nth-child(3){background:radial-gradient(closest-side,rgba(245,158,11,.16),rgba(245,158,11,0));top:6vmax;left:30%;width:34vmax;height:34vmax;animation-duration:27s}
@keyframes abv-a{0%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(9%,7%,0) scale(1.14)}100%{transform:translate3d(-7%,12%,0) scale(.94)}}
@keyframes abv-in{from{opacity:0}}
.abv-nb{position:relative;-webkit-text-fill-color:transparent}
.abv-o{position:absolute;left:0;top:50%;transform:translateY(-50%);white-space:nowrap;-webkit-text-fill-color:currentColor}
.abv-c{opacity:0;transform:translateY(22px)}
.abv-c.abv-in{opacity:1;transform:none;transition:opacity .6s var(--ab-ease),transform .6s var(--ab-ease);transition-delay:calc(var(--abv-d,0)*90ms)}
.abv .abv-t{transition:transform .35s var(--ab-ease),box-shadow .35s var(--ab-ease)}
.abv .abv-t:hover{transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateY(-4px);box-shadow:0 22px 48px rgba(15,44,103,.14)}
.abv-m{transition:translate .25s var(--ab-ease)}
@media (prefers-reduced-motion:reduce){.abw,.abv-aur,.abv-aur i{animation:none!important}.abv-aur{display:none}.abv-c{opacity:1!important;transform:none!important}}
/* Etape 6, accessibilite des vitrines : verts portes a un contraste AA (>= 4,5:1 sur blanc). */
.abv .text-gradient{color:#047857}
.abv .hero-btns-mobile a:first-child,.abv .cta-inline .btn-primary,.abv .btn-rdv{background:#047857!important}
.abv .hero-btns-mobile a+a{background:linear-gradient(135deg,#B45309,#92400E)!important}
.abv .advisor-phone{color:#047857}
/* Etape 6, mise en page : H1 de demande-financement-cpf replie dans sa colonne (plus de debord sous l'aside) ;
   photo du hero de financement-salarie au format de l'image finale (6:5) : l'echange du substitut ne decale plus rien. */
.abv h1 .whitespace-nowrap{white-space:normal}
.abv .sal-hero .col.media img{width:100%;aspect-ratio:6/5;object-fit:cover;height:auto}
.abv .cq-counter{color:#475569!important}
.abv .cq-reveal,.abv .compare-table th.us{background:#047857!important}
.abv .ab-audio-block h3{color:#fff}
.abv .ab-form-badges span{color:#047857!important}
.abv :is(p,li)>a.text-brand-green{text-decoration:underline;text-underline-offset:2px}
.abv #quiz-cert-btn{background:#047857!important}
.abv .abc-cta{background:#047857}
.abv .benefit-tab.is-active,.abv .btn-benefit{background:#15803d}
.abv .app-rating{background:#047857}.abv .app-rating.app-medium{background:#b45309}.abv .app-rating.app-bad{background:#b91c1c}
.abv .article-content a,.abv .content-section p a,.abv a[style^="color:#059669"]{color:#047857!important}
.abv .tbl-wrap th,.abv .data-table thead th{background:#047857}
.abv .cta-block>a,.abv .btn-cta-white{color:#047857}
.abv .ab-howto .ab-step .ab-step-meta{color:#047857}
.abv .bg-blue-50 .text-gray-500{color:#4b5563}
.abv .ab-cta-lift,.abv .cpf-rdv-btn{background:#047857!important}
.abv p[style*="color:#059669"]{color:#047857!important}
.abv #lsk-start{background:#047857!important}
.abv .audio-line button{background:#047857}
.abv a>p[style*="color:#6B7280"]{color:#4b5563!important}
/* Logo ActionBritish (tools/apply_logo.py) : place reservee par width/height, 40 px desktop, 32 px mobile */
.ab-logo{display:block;height:40px;width:auto;max-width:none}
@media (max-width:767px){.ab-logo,.logo img.ab-logo{height:32px!important}}
.ab-logo-pied{display:inline-block;vertical-align:middle;height:40px;width:auto;max-width:100%}
/* Formulaires (devis .cpf-outer, popup de rappel #exitPopup, contact .contact-form) : champs de 48 px,
   telephone pleine largeur (pays fixe + champ flexible), prenom/nom puis e-mail/telephone cote a cote des 640 px
   (e-mail/telephone seulement si le formulaire mesure au moins 32rem, sinon le placeholder serait coupe).
   Noms, ids, types, required et attributs de suivi inchanges : uniquement de la mise en page. */
a[href^="tel:"],.cpf-phone-num,.advisor-phone{white-space:nowrap}
.cpf-outer .cpf-phone-card .cpf-avatar{background:#fff;border:1px solid #E5E7EB;overflow:hidden}
.cpf-avatar img{display:block;width:66%;height:auto}
.cpf-outer .cpf-right,.contact-form{container-type:inline-size}
:is(.cpf-outer .cpf-right,.contact-form) form :is(input:is([type=text],[type=email],[type=tel],[type=number],:not([type])),select),#exitPopup form :is(input:is([type=text],[type=email],[type=tel],[type=number],:not([type])),select){box-sizing:border-box;height:48px;min-height:48px;padding-top:0;padding-bottom:0;padding-left:.75rem;font-size:16px;line-height:1.25}
:is(.cpf-outer .cpf-right,.contact-form) form input:is([type=text],[type=email],[type=tel],[type=number],:not([type])),#exitPopup form input:is([type=text],[type=email],[type=tel],[type=number],:not([type])){padding-right:.75rem}
:is(.cpf-outer .cpf-right,.contact-form) form textarea,#exitPopup form textarea{box-sizing:border-box;min-height:72px;font-size:16px}
:is(.cpf-outer .cpf-right,.contact-form) form label{margin-bottom:.3rem;font-size:.875rem;line-height:1.3}
:is(.cpf-outer .cpf-right,.contact-form) form>div{margin:0 0 .75rem}
:is(.cpf-outer .cpf-right,.contact-form) form>div:has(:is([name=prenom],[name="pr\0000e9nom"])):has([name=nom]){display:grid;grid-template-columns:minmax(0,1fr);gap:.75rem}
:is(.cpf-outer .cpf-right,.contact-form) form>div:has(:is([name=prenom],[name="pr\0000e9nom"])):has([name=nom])>*{margin:0;min-width:0}
:is(.cpf-outer .cpf-right,.contact-form) form :is(:is(.phone-row,.phone-input,.cpf-tel-row):not(:has(>label)),div:has(>select):has(>input[type=tel])),#exitPopup form .phone-input-wrapper{display:flex!important;align-items:stretch;gap:.5rem;width:100%}
:is(.cpf-outer .cpf-right,.contact-form) form :is(:is(.phone-row,.phone-input,.cpf-tel-row):not(:has(>label)),div:has(>select):has(>input[type=tel]))>:is(select,:has(>select)){flex:0 0 7.5rem;width:7.5rem;min-width:0;margin:0}
:is(.cpf-outer .cpf-right,.contact-form) form :is(:is(.phone-row,.phone-input,.cpf-tel-row):not(:has(>label)),div:has(>select):has(>input[type=tel])) select{padding-left:.5rem;font-size:.8125rem}
:is(.cpf-outer .cpf-right,.contact-form) form :is(:is(.phone-row,.phone-input,.cpf-tel-row):not(:has(>label)),div:has(>select):has(>input[type=tel]))>:is(input[type=tel],:has(input[type=tel])){flex:1 1 0;width:auto;min-width:0;margin:0}
:is(.cpf-outer .cpf-right,.contact-form) form :is(:is(.phone-row,.phone-input,.cpf-tel-row):not(:has(>label)),div:has(>select):has(>input[type=tel])) input[type=tel]{padding-left:.625rem;padding-right:.625rem}
#exitPopup form .phone-number-input{flex:1 1 0;min-width:0;height:48px;box-sizing:border-box}
#exitPopup form .phone-number-input input[type=tel]{height:100%;min-height:0;min-width:0}
#exitPopup form .country-display{box-sizing:border-box;height:48px;display:flex;align-items:center;padding:0 .6rem;font-size:1.3rem}
:is(.cpf-outer .cpf-right,.contact-form) form :is(button[type=submit],input[type=submit]),#exitPopup form :is(button[type=submit],input[type=submit]){display:block;box-sizing:border-box;width:100%;min-height:48px;margin-top:.25rem;padding:.75rem 1rem;white-space:normal;text-wrap:balance;letter-spacing:0;line-height:1.2;font-size:clamp(.8125rem,4.6cqi,1rem)}
:is(.cpf-outer .cpf-right,.contact-form) form :is(.cpf-endorsement,.cpf-legal,.form-note){margin-top:.5rem}
.cpf-outer .cpf-right .cpf-endorsement:has(a){display:block}
.cpf-outer .cpf-right .cpf-endorsement:has(a)::before{margin-right:.4rem}
#exitPopup .exit-popup-content{container-type:inline-size;box-sizing:border-box}
#exitPopup .exit-popup-form{gap:.75rem;margin-top:.5rem}
#exitPopup .exit-popup-form .field-label{margin-bottom:0}
#exitPopup .exit-popup-title{margin-bottom:.75rem}
@media (max-width:639px){
.cpf-outer{margin:1.5rem auto}
.cpf-outer h3.cpf-title{font-size:1.4rem}
.cpf-outer .cpf-subtitle{margin-bottom:1rem}
.cpf-outer .cpf-card{padding:1rem;gap:1.25rem}
.cpf-outer .cpf-right{padding:1rem}
.cpf-outer .cpf-left .cpf-overline{margin-bottom:.6rem}
.cpf-outer .cpf-left .cpf-checks{margin-bottom:1rem}
.cpf-outer .cpf-left .cpf-checks li{margin-bottom:.4rem}
.cpf-outer .cpf-phone-card{padding:.7rem .8rem;margin-bottom:.75rem}
.cpf-outer .cpf-ratings{margin-top:1rem;gap:.75rem}
.wrapper:has(.contact-form){padding-left:0;padding-right:0}
.contact-container:has(.contact-form){padding:1rem;gap:1.5rem}
.contact-container .contact-form{padding:1rem}
#exitPopup .exit-popup-content{width:calc(100% - 1.5rem);padding:1.25rem 1rem 1rem}
#exitPopup .exit-popup-header-icons{margin-bottom:.5rem}
#exitPopup .exit-popup-intro{margin-bottom:.25rem}
#exitPopup .exit-popup-close{top:6px;right:8px}
}
@media (min-width:640px){
:is(.cpf-outer .cpf-right,.contact-form) form>div:has(:is([name=prenom],[name="pr\0000e9nom"])):has([name=nom]){grid-template-columns:repeat(2,minmax(0,1fr))}
@container (min-width:32rem){
:is(.cpf-outer .cpf-right,.contact-form) form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:.75rem;align-items:end}
:is(.cpf-outer .cpf-right,.contact-form) form>*{grid-column:1/-1}
:is(.cpf-outer .cpf-right,.contact-form) form>:is([type=email],:has([type=email])):has(+[type=tel],+* [type=tel]),
:is(.cpf-outer .cpf-right,.contact-form) form>:is([type=email],:has([type=email]))+:is([type=tel],:has([type=tel])){grid-column:auto}
}
#exitPopup .exit-popup-content{max-width:560px}
#exitPopup form.exit-popup-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;align-items:end}
#exitPopup .exit-popup-form>*{grid-column:1/-1}
#exitPopup .exit-popup-form>:is(:has(#popupPrenom),:has(#popupNom),:has(#popupPhone),:has(#popupEmail)){grid-column:auto}
}
/* Image LCP en <picture> (tools/hero_lcp.py) : la boite disparait, l'<img> garde sa mise en page d'origine. */
.ab-pic{display:contents}
/* Avis Google recopiés (14/10/2026) */.avis-google-bloc{display:flex;flex-wrap:wrap;gap:1rem;margin:2.5rem 0;padding:clamp(1.1rem,3vw,1.75rem);background:var(--paper,#f6f8fc);border:1px solid var(--line,#dfe5f0);border-radius:18px}.avis-google-bloc p{max-width:none}.avis-google-bloc>p.avis-google-titre,.avis-google-bloc>p.avis-google-lien{margin:0}.avis-google-titre,.avis-google-lien{flex:1 1 100%;margin:0}.avis-google-bloc .avis-google-item{flex:1 1 15rem}.avis-google-titre{color:var(--mut,#475569);font-size:.95rem;line-height:1.5}.avis-google-titre strong{color:var(--ink,#0F2C67)}.avis-google-bloc .avis-google-item{display:flex;flex-direction:column;justify-content:space-between;gap:.9rem;margin:0;padding:1.15rem 1.25rem;background:#fff;border:1px solid var(--line,#dfe5f0);border-radius:14px;font-style:normal;quotes:none;box-shadow:0 1px 2px rgba(15,44,103,.06)}.avis-google-item>p:first-child{margin:0;color:var(--ink,#0F2C67);font-size:.98rem;line-height:1.55;font-weight:400}.avis-google-item p::before,.avis-google-item p::after{content:none!important}.avis-google-bloc .avis-google-auteur{margin:0;padding-top:.7rem;border-top:1px solid var(--line,#dfe5f0);font-size:.85rem;font-weight:600;color:var(--mut,#475569)}.avis-google-lien a{color:var(--grn,#047857);font-weight:700;text-underline-offset:3px}.ah-avis .avis-google-bloc{margin:clamp(2rem,5vw,3rem) 0 0;padding:0;background:none;border:0}.ah-avis .avis-google-titre{color:#c7d2e8}.ah-avis .avis-google-titre strong{color:#fff}.ah-avis .avis-google-bloc .avis-google-item{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.16);box-shadow:none}.ah-avis .avis-google-item>p:first-child{color:#e8eefb}.ah-avis .avis-google-bloc .avis-google-auteur{color:#9fb0d0;border-top-color:rgba(255,255,255,.14)}.ah-avis .avis-google-lien a{color:#FBBF24}.ah-avis .avis-google-lien a:hover{color:#fff}
/* @fusion-feuilles:debut (genere par tools/fusion_ab_css.py depuis ab-article.css, ab-vitrine.css, ab-home.css ; ne pas editer) */
/* --- ab-article.css --- */
/* ab-article.css : pages de masse (articles A/C, landings B, blog, villes), lot design 2026-10, phase 3.
Coquille seule : aucun texte ajoute. Portee : html.ab-art (pose par tools/apply_article.py), apres les <style> des pages.
Langage visuel de l'accueil (ab-home.css) : papier, craie, encre, vert, ambre ; Instrument Serif pour l'anglais deja isole. */
.ab-art{--ink:#0F2C67;--grn:#047857;--amb:#B45309;--paper:#f6f8fc;--chalk:#FFF8EE;--line:#dfe5f0;--mut:#475569;--e:cubic-bezier(.23,1,.32,1)}

/* Ligne de voix (tools/ab_wave.py, inline, place reservee par viewBox + width/height) */
.ab-art .ab-pwave{display:block;width:min(240px,64%);height:auto;margin:.35rem 0 1.25rem;color:var(--ink)}
.ab-art .text-center>.ab-pwave,.ab-art [class*="text-center"]>.ab-pwave{margin-inline:auto}
.ab-art .ab-pwave rect{transform-box:fill-box;transform-origin:center}
@media (min-width:1024px){.ab-art .lg\:text-left>.ab-pwave{margin-inline:0}}

/* Typographie : Plus Jakarta, hierarchie nette */
.ab-art main :is(h1,h2,h3,h4){font-family:var(--ab-ft);text-wrap:balance}
.ab-art main h1{font-weight:800;letter-spacing:-.035em;line-height:1.06}
.ab-art main article h1{color:var(--ink);font-size:clamp(2.05rem,6.2vw,3.5rem)}
.ab-art main h2{font-weight:800;letter-spacing:-.025em;line-height:1.15;scroll-margin-top:88px}
.ab-art main h3{font-weight:700;letter-spacing:-.012em;line-height:1.3;scroll-margin-top:88px}
.ab-art main :is(article,.prose,.content-block)>h2{color:var(--ink);font-size:clamp(1.55rem,3.6vw,2.15rem);margin:2.6em 0 .7em}
.ab-art main :is(article,.prose,.content-block)>h2::before{content:"";display:block;width:34px;height:3px;border-radius:3px;background:var(--grn);margin:0 0 .75rem}
.ab-art main :is(article,.prose,.content-block)>h3{color:var(--ink);font-size:clamp(1.15rem,2.4vw,1.3rem);margin:1.9em 0 .5em}

/* Colonne de lecture d'environ 68ch */
.ab-art main .prose{font-size:1.0625rem;line-height:1.75;color:#1f2937}
.ab-art main :is(.prose,.content-block)>:is(p,ul,ol,h2,h3,h4,blockquote){max-width:68ch}
.ab-art main .prose :is(p,li){line-height:1.75}
.ab-art main .prose a:not([class]){color:var(--grn);text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:3px}
.ab-art main .prose a:not([class]):hover{color:var(--ink)}

/* Lettrine sur le premier paragraphe du corps d'article */
.ab-art main article .prose>p:first-of-type::first-letter,.ab-art main article.prose>p:first-of-type::first-letter{
  float:left;font-family:var(--ab-ft);font-weight:800;font-size:3.35em;line-height:.82;margin:.07em .12em 0 0;color:var(--grn)}

/* Anglais isole par le balisage (lang="en", pose sur les <em> anglais par tools/apply_article.py) : Instrument Serif */
.ab-art main :is([lang|="en"],.en){font-family:'Instrument Serif',Georgia,serif;font-style:italic;font-weight:400;font-size:1.12em;letter-spacing:0}

/* Encadres : essentiel, succes, attention, exemple, info, questions */
.ab-art main .aiso-tldr{position:relative;background:var(--chalk)!important;border:2px solid var(--ink)!important;border-radius:20px!important;box-shadow:7px 7px 0 var(--ink);padding:1.6rem 1.5rem 1.3rem!important;margin:1.75rem 0 2.25rem!important;color:#1f2937}
.ab-art main .aiso-tldr::before{content:"";display:block;width:66px;height:12px;margin:0 0 .8rem;border-radius:2px;background:repeating-linear-gradient(90deg,var(--amb) 0 3px,transparent 3px 6px);-webkit-mask:linear-gradient(90deg,transparent,#000 25%,#000 75%,transparent);mask:linear-gradient(90deg,transparent,#000 25%,#000 75%,transparent)}
.ab-art main .aiso-tldr strong{color:var(--ink)}
.ab-art main :is(.success-box,.warning-box,.example-box,.info-box){border:1.5px solid var(--line)!important;border-left-width:1.5px!important;border-radius:18px!important;padding:1.35rem 1.4rem!important;margin:1.6rem 0!important;background:#fff!important;box-shadow:inset 5px 0 0 var(--accent,var(--ink))}
.ab-art main .success-box{--accent:var(--grn);background:#f2fbf7!important;border-color:#cdeadf!important}
.ab-art main .warning-box{--accent:var(--amb);background:var(--chalk)!important;border-color:#f0dfc4!important}
.ab-art main .example-box{--accent:var(--ink);background:var(--paper)!important;border-color:#d7e0f0!important}
.ab-art main .success-box :is(h3,h4,strong){color:#065f46}
.ab-art main .warning-box :is(h3,h4,strong){color:#92400E}
.ab-art main .example-box :is(h3,h4,strong){color:var(--ink)}
.ab-art main :is(.success-box,.warning-box,.example-box,.info-box)>:is(h3,h4):first-child{margin-top:0;font-size:1.1rem}
.ab-art main :is(.success-box,.warning-box,.example-box,.info-box)>:last-child{margin-bottom:0}
.ab-art main .qa-item{background:#fff!important;border:1.5px solid var(--line)!important;border-radius:16px!important;padding:1.15rem 1.3rem!important;box-shadow:inset 4px 0 0 var(--ink)}
.ab-art main .qa-item h3{color:var(--ink)!important;font-weight:700!important}
.ab-art main .dialogue-box{background:var(--chalk)!important;border:1.5px solid #f0dfc4!important;border-radius:18px!important}
.ab-art main .dialogue-box .speaker{color:var(--amb)!important;font-weight:700;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase}
.ab-art main .section-badge{display:inline-flex!important;align-items:center;gap:.55rem;background:none!important;border:0!important;padding:0!important;margin:2.4rem 0 .4rem;font-size:.78rem!important;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--grn)!important}
.ab-art main .section-badge::before{content:"";width:26px;height:2px;border-radius:2px;background:currentColor}
.ab-art main .section-badge+h2{margin-top:.2em}
.ab-art main .section-badge+h2::before{display:none}
.ab-art main .section-lead{font-size:1.15rem;color:var(--mut)}

/* Tableaux */
.ab-art main table{width:100%;border-collapse:separate!important;border-spacing:0;border:1.5px solid var(--line);border-radius:14px;margin:1.6rem 0;font-size:.95rem;line-height:1.5;background:#fff}
.ab-art main thead th{background:var(--ink);color:#fff;font-weight:700;font-size:.82rem;letter-spacing:.03em;text-align:left;border:0}
.ab-art main thead th:first-child{border-top-left-radius:12px}
.ab-art main thead th:last-child{border-top-right-radius:12px}
.ab-art main :is(th,td){padding:.7rem .85rem;vertical-align:top}
.ab-art main tbody :is(td,th){border:0;border-top:1px solid var(--line)}
.ab-art main tbody tr:first-child :is(td,th){border-top:0}
.ab-art main tbody tr:nth-child(even) :is(td,th){background:#f8fafc}
.ab-art main tbody th{color:var(--ink);font-weight:700}

/* FAQ en details */
.ab-art main details{border:0;border-bottom:1px solid var(--line);border-radius:0;background:none}
.ab-art main details>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.05rem 0;cursor:pointer;font-weight:700;color:var(--ink);border:0}
.ab-art main details>summary::-webkit-details-marker{display:none}
.ab-art main details>summary::before{display:none!important}
.ab-art main details>summary::after{content:"+";flex:0 0 2rem;height:2rem;border-radius:50%;display:grid;place-items:center;border:2px solid var(--ink);font-weight:700;font-size:1.2rem;line-height:1;padding-bottom:.08em;color:var(--ink);transition:transform .25s var(--e),background-color .2s,color .2s}
.ab-art main details[open]>summary::after{content:"+";transform:rotate(45deg);background:var(--ink);color:#fff}
.ab-art main details>summary:focus-visible{outline:3px solid var(--amb);outline-offset:3px;border-radius:6px}
.ab-art main details>:not(summary){padding-right:3rem}
.ab-art main details .qa-item{box-shadow:none;border:0!important;padding:0 0 1rem!important;background:none!important}

/* Audio existant : style seul (le clic reste au script de la page, audio_play_lesson) */
.ab-art main .audio-line{align-items:center;gap:.75rem}
.ab-art main .audio-line>button{display:inline-flex;align-items:center;min-height:40px;padding:.45rem 1rem;border-radius:999px;border:2px solid var(--ink);background:var(--chalk);color:var(--ink);font-weight:700;font-size:.9rem;cursor:pointer;transition:background-color .2s,color .2s}
.ab-art main .audio-line>button:hover{background:var(--ink);color:#fff}
.ab-art main .audio-line .fr{color:var(--mut)}

/* Liens associes : cartes */
.ab-art main .ca-related-pages{background:var(--paper)!important;border:2px solid var(--ink)!important;border-radius:22px!important;padding:1.6rem!important;font-family:var(--ab-ft)!important}
.ab-art main .ca-related-pages h2{font-size:1.25rem!important;font-weight:800!important;letter-spacing:-.02em!important}
.ab-art main .ca-related-pages h2::before{display:none}
.ab-art main .ca-related-pages li{display:block!important}
.ab-art main .ca-related-pages li>span{display:none!important}
.ab-art main .ca-related-pages li>a,.ab-art main aside ul li>a:not([href^="#"]){display:block!important;height:100%;padding:.7rem 1rem!important;border:1.5px solid var(--line)!important;border-radius:14px;background:#fff;color:var(--ink)!important;font-weight:600;text-decoration:none!important;transition:box-shadow .25s var(--e),transform .25s var(--e),border-color .2s}
.ab-art main .ca-related-pages li>a:hover,.ab-art main aside ul li>a:not([href^="#"]):hover{border-color:var(--ink)!important;box-shadow:4px 4px 0 var(--ink);transform:translate(-2px,-2px)}
.ab-art main aside a[href^="#"]{border-radius:8px;text-decoration:none}
.ab-art main aside>:is(div,nav,section){border-radius:20px}
.ab-art main aside>:is(div,nav,section):not([style*="background"]):not([class*="bg-gradient"]):not([class*="bg-brand"]){border:1.5px solid var(--line)}

@media (max-width:640px){
  .ab-art main :is(th,td){padding:.55rem .6rem}
  .ab-art main .aiso-tldr{box-shadow:5px 5px 0 var(--ink)}
  .ab-art main details>:not(summary){padding-right:0}
}
@media (prefers-reduced-motion:no-preference){
  .ab-art .ab-pwave rect{animation:abp-bar 1s var(--e) both;animation-delay:calc(150ms + var(--i) * 14ms)}
  @keyframes abp-bar{from{transform:scaleY(.12)}to{transform:none}}
}
@media (prefers-reduced-motion:reduce){
  .ab-art main details>summary::after,.ab-art main :is(.ca-related-pages,aside) a{transition:none!important}
}

/* Consolidation : hero en grille (formation-anglais-cpf-a-distance et gabarits voisins). Colonnes autorisees a
   retrecir sous leur contenu (debord de 14 px a 360 px) ; cercle photo borne a sa colonne (plus de chevauchement). */
.ab-art .hero-grid>*{min-width:0}
.ab-art .hero-circle-container{max-width:100%}
.ab-art .hero-main-circle{max-width:100%;height:auto;aspect-ratio:1}

/* Consolidation, contrastes AA (>= 4,5:1) des blocs partages : onglet actif et bouton « avantages », fil d'Ariane
   turquoise, 2e colonne du tableau comparatif. */
.ab-art .benefit-tab.is-active,.ab-art .btn-benefit{background:#047857;border-color:#047857}
.ab-art .breadcrumb a{color:#047857;text-decoration:underline;text-underline-offset:2px}
.ab-art .compare-table th:nth-child(2){background:#047857}
/* --- ab-vitrine.css --- */


@font-face{font-family:"ABV Serif";src:url(../fonts/instrument-serif-italic-latin.woff2) format("woff2");font-weight:400;font-style:italic;font-display:optional}
:root:where(.ab-vit){--abv-ink:#0F2C67;--abv-grn:#047857;--abv-amb:#B45309;--abv-chalk:#FFF8EE;--abv-e:cubic-bezier(.23,1,.32,1)}


:where(.ab-vit) .header-modern a.logo,:where(.ab-vit) .box>img.logo{view-transition-name:ab-logo}
:where(.ab-vit) h1{view-transition-name:ab-h1}
::view-transition-group(ab-h1),::view-transition-group(ab-logo){animation-duration:.4s;animation-timing-function:var(--abv-e)}


:where(.ab-vit) h1 .ab-en{font-family:"ABV Serif",Georgia,serif;font-style:italic;font-weight:400;letter-spacing:0;font-size:1.08em;color:var(--abv-grn);padding-right:.05em}
:where(.ab-vit) h1.text-white .ab-en,:where(.ab-vit) .hero-title .ab-en,:where(.ab-vit) .abv-dark h1 .ab-en{color:#FDE68A}


:where(.ab-vit) .abv-line{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1rem;max-width:620px;margin:1rem 0 1.5rem;color:var(--abv-ink)}
:where(.ab-vit) .abv-line .ab-wave{display:block;flex:0 1 285px;width:285px;max-width:100%;height:auto}
:where(.ab-vit) .abv-line--light{color:#fff}
:where(.ab-vit) .box>.abv-line{justify-content:center;margin-inline:auto}
:where(.ab-vit) .abv-says{display:flex;flex-wrap:wrap;gap:.5rem}


:where(.ab-vit) .ab-say{display:inline-flex;align-items:center;gap:.55rem;min-height:44px;padding:.3rem 1rem .3rem .35rem;border:2px solid var(--abv-ink);border-radius:999px;background:var(--abv-chalk);color:var(--abv-ink);cursor:pointer;font:italic 400 1.2rem/1 "ABV Serif",Georgia,serif;transition:background-color .2s,color .2s}
:where(.ab-vit) .ab-say::after{content:attr(data-say)}
:where(.ab-vit) .ab-say[hidden]{display:inline-flex;visibility:hidden}
:where(.ab-vit) .ab-say svg{flex:none;width:32px;height:32px;padding:7px;border-radius:50%;background:var(--abv-ink);color:#fff;transition:background-color .2s,color .2s}
:where(.ab-vit) .ab-say:hover,:where(.ab-vit) .ab-say[aria-pressed=true]{background:var(--abv-ink);color:#fff}
:where(.ab-vit) .ab-say:hover svg,:where(.ab-vit) .ab-say[aria-pressed=true] svg{background:var(--abv-chalk);color:var(--abv-ink)}
:where(.ab-vit) .ab-say:focus-visible{outline:3px solid var(--abv-amb);outline-offset:3px}
:where(.ab-vit) .abv-line--light .ab-say{border-color:#fff}
:where(.ab-vit) .ab-say rect,:where(.ab-vit) .abv-line .ab-wave rect,:where(.ab-vit) .tn-meter i{transform-box:fill-box;transform-origin:center}


:where(.ab-vit) .abc-rail{display:flex;gap:6px;margin:0 0 1.4rem;padding:0;list-style:none}
:where(.ab-vit) .abc-rail li{flex:1;height:6px;border-radius:6px;background:#cbd5e1;transition:background-color .3s}
:where(.ab-vit) .contact-form form{counter-reset:abc}
:where(.ab-vit) #form form>.abc-step{display:block;position:relative;counter-increment:abc;padding:0 0 .5rem 3rem}
:where(.ab-vit) .abc-step::before{content:counter(abc);position:absolute;left:0;top:-.1rem;width:2.1rem;height:2.1rem;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:.95rem;color:#fff;background:var(--abv-ink);transition:background-color .3s}
:where(.ab-vit) .abc-step::after{content:"";position:absolute;left:calc(1.05rem - 1px);top:2.3rem;bottom:.9rem;width:2px;border-radius:2px;background:#cbd5e1}
:where(.ab-vit) .abc-step:last-child::after{display:none}
@supports selector(:has(*)){
  :where(.ab-vit) .abc-rail li{background:var(--abv-grn)}
  :where(.ab-vit) .contact-form form:has(.abc-s1 :invalid) .abc-rail li:nth-child(1),:where(.ab-vit) .contact-form form:has(.abc-s2 :invalid) .abc-rail li:nth-child(2),:where(.ab-vit) .contact-form form:has(.abc-s3 :invalid) .abc-rail li:nth-child(3){background:#cbd5e1}
  :where(.ab-vit) .contact-form form:has(.abc-s1:focus-within) .abc-rail li:nth-child(1),:where(.ab-vit) .contact-form form:has(.abc-s2:focus-within) .abc-rail li:nth-child(2),:where(.ab-vit) .contact-form form:has(.abc-s3:focus-within) .abc-rail li:nth-child(3){box-shadow:inset 0 0 0 2px var(--abv-ink)}
  :where(.ab-vit) .abc-step::before{content:"\2713";background:var(--abv-grn)}
  :where(.ab-vit) .abc-step::after{background:var(--abv-grn)}
  :where(.ab-vit) .abc-step:has(:invalid)::before{content:counter(abc);background:var(--abv-ink)}
  :where(.ab-vit) .abc-step:has(:invalid)::after{background:#cbd5e1}
  :where(.ab-vit) .abc-step:has(:invalid):focus-within::before{background:var(--abv-amb)}
  :where(.ab-vit) .contact-form form:not(:has(:invalid)) .btn-submit{box-shadow:0 0 0 3px #fff,0 0 0 6px var(--abv-grn)}
}
:where(.ab-vit) .contact-form .btn-submit:focus-visible{outline:3px solid var(--abv-ink);outline-offset:3px}
:where(.ab-vit) .abc-map{margin:1.5rem 0 0;background:#fff;border:2px solid var(--abv-ink);border-radius:20px;padding:.5rem;box-shadow:8px 8px 0 var(--abv-ink)}
:where(.ab-vit) .abc-map img{display:block;width:100%;height:auto;border-radius:14px}
@media (max-width:968px){ 
  :where(.ab-vit) .contact-container:has(.abc-map){display:flex;flex-direction:column;align-items:stretch;gap:0}
  :where(.ab-vit) .contact-container:has(.abc-map)>.contact-left{display:contents}
  :where(.ab-vit) .contact-container:has(.abc-map)>.contact-form{margin-top:2rem}
  :where(.ab-vit) .contact-container .abc-map{order:1;margin-top:2.5rem}
  :where(.ab-vit) .contact-left>.btn-rdv{align-self:flex-start}
}


:where(.ab-vit) .tn-meter{display:flex;align-items:center;justify-content:center;gap:5px;height:48px;max-width:24rem;margin:.8rem auto .2rem;color:#FBBF24}
:where(.ab-vit) .tn-meter i{flex:1 1 0;max-width:9px;height:100%;border-radius:4px;background:currentColor;transform:scaleY(.1);opacity:.85}
:where(.ab-vit) .tn-meter[data-src=mic]{color:#FCA5A5}
:where(.ab-vit) .tn-meter[data-src=moi]{color:#6EE7B7}

@media (prefers-reduced-motion:no-preference){
  :where(.ab-vit) .abv-line:has(.ab-say[aria-pressed=true]) .ab-wave rect{animation:abv-talk .45s ease-in-out infinite alternate;animation-delay:calc(var(--i) * -83ms)}
  :where(.ab-vit) .ab-say[aria-pressed=true] svg rect{animation:abv-talk .5s ease-in-out infinite alternate;animation-delay:calc(var(--i) * -130ms)}
}

@keyframes abv-talk{from{transform:scaleY(.35)}to{transform:scaleY(1)}}
@media print{:where(.ab-vit) .ab-say,:where(.ab-vit) .abv-line,:where(.ab-vit) .abc-rail{display:none}}


:where(.ab-vit) .box>img.logo{max-width:100%;height:auto;max-height:56px}
/* --- ab-home.css --- */

:where(.ab-hom) .ah{--ink:#0F2C67;--grn:#047857;--amb:#B45309;--sun:#F59E0B;--paper:#f6f8fc;--chalk:#FFF8EE;--mut:#475569;--line:#dfe5f0;
  --r:22px;--e:cubic-bezier(.23,1,.32,1);color:#0f172a;font-family:var(--ab-ft);line-height:1.6}
:where(.ab-hom) .ah *{box-sizing:border-box}
:where(.ab-hom) .ah-wrap{max-width:1180px;margin:0 auto;padding:0 clamp(1rem,4vw,2rem)}
:where(.ab-hom) .ah section{padding:clamp(3.5rem,8vw,6.5rem) 0;scroll-margin-top:72px}
:where(.ab-hom) .ah a{color:inherit}
:where(.ab-hom) .ah :focus-visible{outline:3px solid var(--amb);outline-offset:3px;border-radius:6px}
:where(.ab-hom) .ah-dark :focus-visible{outline-color:#FBBF24}
:where(.ab-hom) .ah .ab-en{font-weight:400;letter-spacing:0}
:where(.ab-hom) .ah-eyebrow{display:inline-flex;align-items:center;gap:.6rem;margin:0 0 1rem;font-size:.8rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--grn)}
:where(.ab-hom) .ah-eyebrow::before{content:"";width:28px;height:2px;border-radius:2px;background:currentColor}
:where(.ab-hom) .ah h2.ah-h2{font-size:clamp(2rem,5.2vw,3.6rem)!important;line-height:1.05;font-weight:800;letter-spacing:-.03em;color:var(--ink);margin:0 0 1.2rem;max-width:18ch}
:where(.ab-hom) .ah h2.ah-h2 .ab-en{font-size:1.08em}
:where(.ab-hom) .ah h3{margin:0}
:where(.ab-hom) .ah p{margin:0 0 1rem}
:where(.ab-hom) .ah-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
:where(.ab-hom) .ah .ab-wave{display:block;width:100%;height:auto}


:where(.ab-hom) .ah-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:48px;padding:.8rem 1.4rem;border-radius:999px;font-weight:700;font-size:1rem;line-height:1.2;text-decoration:none;border:2px solid var(--ink);background:var(--ink);color:#fff!important;transition:background-color .2s,color .2s,transform .2s var(--e)}
:where(.ab-hom) .ah-btn:hover{background:#1a3d85;border-color:#1a3d85}
:where(.ab-hom) .ah-btn:active{transform:translateY(1px)}
:where(.ab-hom) .ah-btn--ghost{background:transparent;color:var(--ink)!important}
:where(.ab-hom) .ah-btn--ghost:hover{background:var(--ink);color:#fff!important}
:where(.ab-hom) .ah-btn--chalk{background:var(--chalk);border-color:var(--chalk);color:var(--ink)!important}
:where(.ab-hom) .ah-btn--chalk:hover{background:#fff;border-color:#fff}
:where(.ab-hom) .ah-btn--line{background:transparent;border-color:rgba(255,255,255,.7);color:#fff!important}
:where(.ab-hom) .ah-btn--line:hover{background:rgba(255,255,255,.12);border-color:#fff}
:where(.ab-hom) .ah-link{font-weight:700;color:var(--grn)!important;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}
:where(.ab-hom) .ah-link:hover{color:var(--ink)!important}


:where(.ab-hom) .ah section.ah-hero{background:var(--paper);padding:clamp(2.5rem,6vw,5rem) 0 clamp(3rem,6vw,5rem);overflow:hidden}
:where(.ab-hom) .ah-hero__grid{display:grid;gap:clamp(2rem,5vw,4rem);align-items:center}
:where(.ab-hom) .ah-h1{margin:0 0 1.4rem;color:var(--ink);font-weight:800;font-size:clamp(3rem,12.5vw,6rem);line-height:.98;letter-spacing:-.045em}
:where(.ab-hom) .ah-h1__k{display:block;margin-bottom:1.1rem;font-size:clamp(1rem,2.4vw,1.25rem);font-weight:700;letter-spacing:-.01em;line-height:1.3;color:var(--grn)}
:where(.ab-hom) .ah-h1 .ab-en{display:block;font-size:1.1em;letter-spacing:-.01em;color:var(--grn);padding-right:.06em}
:where(.ab-hom) .ah-lead{max-width:36rem;font-size:clamp(1.05rem,2vw,1.2rem);color:var(--mut)}
:where(.ab-hom) .ah-cta{display:flex;flex-wrap:wrap;gap:.75rem;margin:1.6rem 0 2rem}
:where(.ab-hom) .ah-hero__wave{margin:0;color:var(--ink);max-width:520px}
:where(.ab-hom) .ah-hero__wave figcaption{margin-top:.5rem;font-size:.82rem;color:var(--mut)}

:where(.ab-hom) .ah-quiz{position:relative;background:var(--chalk);border:2px solid var(--ink);border-radius:var(--r);padding:clamp(1.25rem,3vw,2rem);box-shadow:10px 10px 0 var(--ink);min-height:27rem;display:flex;flex-direction:column}
:where(.ab-hom) .ah-quiz__k{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;font-size:.8rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--amb);margin:0 0 1rem}
:where(.ab-hom) .ah-quiz__body{flex:1}
:where(.ab-hom) .ah-quiz__t{font-size:1.4rem;font-weight:800;line-height:1.2;color:var(--ink);margin:0 0 .8rem}
:where(.ab-hom) .ah-quiz__t:focus{outline:none}
:where(.ab-hom) .ah-quiz__steps{display:flex;gap:6px;margin:0 0 1.2rem;padding:0;list-style:none}
:where(.ab-hom) .ah-quiz__steps li{flex:1;height:6px;border-radius:6px;background:#e9dcc6}
:where(.ab-hom) .ah-quiz__steps li.on{background:var(--ink)}
:where(.ab-hom) .ah-quiz__steps li.ok{background:var(--grn)}
:where(.ab-hom) .ah-quiz__steps li.ko{background:var(--amb)}
:where(.ab-hom) .ah-q{font-family:'Instrument Serif',Georgia,serif;font-style:italic;font-size:clamp(1.6rem,4.4vw,2.1rem);line-height:1.2;color:var(--ink);margin:0 0 1.2rem}
:where(.ab-hom) .ah-q b{display:inline-block;min-width:3.2ch;border-bottom:3px solid var(--amb);font-weight:400;text-align:center}
:where(.ab-hom) .ah-opts{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin:0 0 1rem}
:where(.ab-hom) .ah-opt{min-height:48px;padding:.6rem .8rem;border:2px solid var(--ink);border-radius:14px;background:#fff;color:var(--ink);font:600 1rem/1.25 var(--ab-ft);cursor:pointer;text-align:left;transition:background-color .15s,color .15s}
:where(.ab-hom) .ah-opt:hover:not(:disabled){background:var(--ink);color:#fff}
:where(.ab-hom) .ah-opt:disabled{cursor:default}
:where(.ab-hom) .ah-opt.ok{background:var(--grn);border-color:var(--grn);color:#fff}
:where(.ab-hom) .ah-opt.ko{background:#fff;border-color:var(--amb);color:var(--amb);text-decoration:line-through}
:where(.ab-hom) .ah-fb{font-size:.95rem;color:#1f2937;margin:0 0 1rem}
:where(.ab-hom) .ah-fb strong{color:var(--ink)}
:where(.ab-hom) .ah-res{font-family:'Instrument Serif',Georgia,serif;font-style:italic;font-size:clamp(4.5rem,14vw,6.5rem);line-height:.9;color:var(--grn);margin:0 0 .5rem}
:where(.ab-hom) .ah-quiz__row{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center}
:where(.ab-hom) .ah-quiz__ghost{background:none;border:0;padding:.5rem 0;font:700 .95rem var(--ab-ft);color:var(--ink);text-decoration:underline;text-underline-offset:4px;cursor:pointer}
:where(.ab-hom) .ah-quiz__foot{margin:1rem 0 0;padding-top:1rem;border-top:1px dashed #d9c7a6;font-size:.92rem;color:var(--mut)}


:where(.ab-hom) .ah section.ah-recit{background:#fff}
:where(.ab-hom) .ah-recit__head{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:1rem 2rem;margin-bottom:clamp(2rem,5vw,3.5rem)}
:where(.ab-hom) .ah-recit__head>div{flex:1 1 30rem}
:where(.ab-hom) .ah-recit__head>p{flex:0 1 24rem;color:var(--mut)}
:where(.ab-hom) .ah-panels{list-style:none;margin:0;padding:0;display:grid;gap:clamp(1rem,2.5vw,1.5rem)}
:where(.ab-hom) .ah-panel{position:relative;overflow:hidden;border-radius:var(--r);padding:clamp(1.5rem,4vw,2.5rem);background:var(--paper);border:1px solid var(--line);display:flex;flex-direction:column;gap:.4rem;min-height:21rem}
:where(.ab-hom) .ah-panel:nth-child(2){background:var(--chalk);border-color:#f0e2c8}
:where(.ab-hom) .ah-panel:nth-child(3){background:var(--ink);border-color:var(--ink);color:#e8eefb}
:where(.ab-hom) .ah-panel:nth-child(4){background:#ecfdf5;border-color:#c9eedc}
:where(.ab-hom) .ah-panel__en{font-family:'Instrument Serif',Georgia,serif;font-style:italic;font-size:1.5rem;line-height:1;color:var(--amb)}
:where(.ab-hom) .ah-panel:nth-child(3) .ah-panel__en{color:#FBBF24}
:where(.ab-hom) .ah-panel__big{font-size:clamp(4.2rem,13vw,7.5rem);font-weight:800;line-height:.9;letter-spacing:-.06em;color:var(--ink);margin:0 0 .3rem}
:where(.ab-hom) .ah-panel:nth-child(3) .ah-panel__big{color:#fff}
:where(.ab-hom) .ah-panel:nth-child(4) .ah-panel__big{color:var(--grn)}
:where(.ab-hom) .ah-panel h3{font-size:1.25rem!important;font-weight:800;color:inherit!important;margin:0 0 .3rem!important}
:where(.ab-hom) .ah-panel:nth-child(-n+2) h3,:where(.ab-hom) .ah-panel:nth-child(4) h3{color:var(--ink)!important}
:where(.ab-hom) .ah-panel p{max-width:34rem;margin:0}
:where(.ab-hom) .ah-panel .ab-wave{margin-top:auto;padding-top:1.4rem;color:var(--ink)}
:where(.ab-hom) .ah-panel:nth-child(4) .ab-wave{color:var(--grn)}
:where(.ab-hom) .ah-voices{margin-top:auto;padding-top:1.2rem;display:grid;grid-template-columns:1fr 1fr;gap:.9rem 1.4rem}
:where(.ab-hom) .ah-voices .ab-wave{padding:0}
:where(.ab-hom) .ah-voices .ab-wave:nth-child(1){color:#fff}
:where(.ab-hom) .ah-voices .ab-wave:nth-child(2){color:#FBBF24}
:where(.ab-hom) .ah-voices .ab-wave:nth-child(3){color:#6EE7B7}
:where(.ab-hom) .ah-voices .ab-wave:nth-child(4){color:#93C5FD}


:where(.ab-hom) .ah section.ah-parcours{background:var(--paper)}
:where(.ab-hom) .ah-cards{display:grid;gap:clamp(1rem,2.5vw,1.5rem);margin-top:clamp(1.5rem,4vw,2.5rem)}
:where(.ab-hom) .ah-card{position:relative;display:flex;flex-direction:column;background:#fff;border:2px solid var(--ink);border-radius:var(--r);padding:clamp(1.4rem,3vw,2rem);transition:box-shadow .3s var(--e),transform .3s var(--e)}
:where(.ab-hom) .ah-card:hover{box-shadow:8px 8px 0 var(--ink);transform:translate(-3px,-3px)}
:where(.ab-hom) .ah-card__en{font-family:'Instrument Serif',Georgia,serif;font-style:italic;font-size:clamp(2.3rem,5vw,3rem);line-height:1;color:var(--grn);margin:0 3.2rem .9rem 0}
:where(.ab-hom) .ah-card:nth-child(2) .ah-card__en{color:var(--amb)}
:where(.ab-hom) .ah-card:nth-child(3) .ah-card__en{color:var(--ink)}
:where(.ab-hom) .ah-card h3{font-size:1.3rem!important;font-weight:800;color:var(--ink)!important;margin:0 0 .6rem!important}
:where(.ab-hom) .ah-card>p{color:var(--mut)}
:where(.ab-hom) .ah-card ul{list-style:none;margin:0 0 1.4rem;padding:0;border-top:1px solid var(--line)}
:where(.ab-hom) .ah-card li{border-bottom:1px solid var(--line)}
:where(.ab-hom) .ah-card li a{display:flex;justify-content:space-between;gap:1rem;padding:.7rem 0;font-weight:600;text-decoration:none;color:var(--ink)}
:where(.ab-hom) .ah-card li a::after{content:"\2192";color:var(--grn);transition:transform .2s var(--e)}
:where(.ab-hom) .ah-card li a:hover{color:var(--grn)}
:where(.ab-hom) .ah-card li a:hover::after{transform:translateX(4px)}
:where(.ab-hom) .ah-card .ah-btn{margin-top:auto;align-self:flex-start}
:where(.ab-hom) .ah-card__img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:14px;margin:0 0 1.2rem}
:where(.ab-hom) .ah-card li.ah-card__guides{padding:.7rem 0;color:var(--mut)}
:where(.ab-hom) .ah-card li.ah-card__guides a{display:inline;padding:0}
:where(.ab-hom) .ah-card li.ah-card__guides a::after{content:none}


:where(.ab-hom) .ab-say{position:absolute;top:clamp(1.2rem,3vw,1.8rem);right:clamp(1.2rem,3vw,1.8rem);width:48px;height:48px;border-radius:50%;border:2px solid var(--ink);background:var(--chalk);color:var(--ink);display:grid;place-items:center;cursor:pointer;padding:0}
:where(.ab-hom) .ab-say[hidden]{display:none}
:where(.ab-hom) .ab-say:hover,:where(.ab-hom) .ab-say[aria-pressed=true]{background:var(--ink);color:#fff}
:where(.ab-hom) .ab-say svg{width:22px;height:22px}
:where(.ab-hom) .ab-say rect{transform-box:fill-box;transform-origin:center}


:where(.ab-hom) .ah section.ah-avis{background:var(--ink);color:#e8eefb}
:where(.ab-hom) .ah-avis .ah-eyebrow{color:#6EE7B7}
:where(.ab-hom) .ah-avis h2.ah-h2{color:#fff}
:where(.ab-hom) .ah-avis__grid{display:grid;gap:clamp(2rem,5vw,4rem);align-items:center}
:where(.ab-hom) .ah-avis p{max-width:34rem}
:where(.ab-hom) .ah-avis .ah-link{color:#FBBF24!important}
:where(.ab-hom) .ah-avis .ah-link:hover{color:#fff!important}
:where(.ab-hom) .ah-avis__links{display:flex;flex-wrap:wrap;gap:.6rem 1.6rem;margin-top:1.4rem}
:where(.ab-hom) .ah-score{margin:0;color:var(--chalk)}
:where(.ab-hom) .ah-score__n{display:flex;align-items:baseline;gap:.4rem;font-weight:800;line-height:.85;letter-spacing:-.09em;color:#fff;margin:0 0 .6rem}
:where(.ab-hom) .ah-score__n span:first-child{font-size:clamp(6rem,20vw,11rem)}
:where(.ab-hom) .ah-score__n span+span{font-size:clamp(2rem,6vw,3.5rem);color:#FBBF24}
:where(.ab-hom) .ah-stars{color:#FBBF24;font-size:1.6rem;letter-spacing:.2em;margin:0 0 1.2rem}
:where(.ab-hom) .ah-score .ab-wave{color:#FFF8EE}
:where(.ab-hom) .ah-score figcaption{margin-top:.8rem;font-size:.9rem;color:#c7d2ea}


:where(.ab-hom) .ah section.ah-acces{background:var(--chalk)}
:where(.ab-hom) .ah-acces__grid{display:grid;gap:clamp(2rem,5vw,4rem);align-items:center}
:where(.ab-hom) .ah-addr{font-style:normal;font-size:1.15rem;font-weight:700;color:var(--ink);margin:0 0 1.4rem}
:where(.ab-hom) .ah-steps{list-style:none;margin:0 0 1.6rem;padding:0;counter-reset:s}
:where(.ab-hom) .ah-steps li{counter-increment:s;position:relative;padding:0 0 1rem 3.2rem;min-height:2.6rem}
:where(.ab-hom) .ah-steps li::before{content:counter(s);position:absolute;left:0;top:-.1rem;width:2.2rem;height:2.2rem;border-radius:50%;display:grid;place-items:center;font-weight:800;color:#fff;background:var(--ink)}
:where(.ab-hom) .ah-steps li:nth-child(3n+2)::before{background:var(--amb)}
:where(.ab-hom) .ah-steps li:nth-child(3n)::before{background:var(--grn)}
:where(.ab-hom) .ah-steps strong{display:block;color:var(--ink)}
:where(.ab-hom) .ah-near{font-size:.95rem;color:var(--mut)}
:where(.ab-hom) .ah-near a{color:var(--ink)!important;font-weight:600}
:where(.ab-hom) .ah-map{margin:0;background:#fff;border:2px solid var(--ink);border-radius:var(--r);padding:clamp(.6rem,2vw,1rem);box-shadow:10px 10px 0 var(--ink)}
:where(.ab-hom) .ah-map svg{display:block;width:100%;height:auto}
:where(.ab-hom) .ah-map figcaption{font-size:.85rem;color:var(--mut);padding:.6rem .4rem 0}
:where(.ab-hom) .ah-map text{font-family:var(--ab-ft);font-weight:700;fill:#0F2C67}
:where(.ab-hom) .ah-map .t-s{font-size:15px;font-weight:600;fill:#334155}
:where(.ab-hom) .ah-map .t-en{font-family:'Instrument Serif',Georgia,serif;font-style:italic;font-weight:400;font-size:22px}

:where(.ab-hom) .ah-photo{margin:0;background:#fff;border:2px solid var(--ink);border-radius:var(--r);padding:clamp(.6rem,2vw,1rem);box-shadow:10px 10px 0 var(--ink)}
:where(.ab-hom) .ah-photo img{display:block;width:100%;height:auto;border-radius:14px}
:where(.ab-hom) .ah-photo figcaption{font-size:.85rem;color:var(--mut);padding:.6rem .4rem 0}
:where(.ab-hom) .ah-hero__photo{max-width:520px}
:where(.ab-hom) .ah-hero__photo .ah-photo{margin-bottom:2rem}


:where(.ab-hom) .ah section.ah-formats{background:#fff}
:where(.ab-hom) .ah-fmt{list-style:none;margin:clamp(1.5rem,4vw,2.5rem) 0 0;padding:0;display:grid;gap:clamp(1rem,2.5vw,1.5rem)}
:where(.ab-hom) .ah-fmt li{border:2px solid var(--ink);border-radius:var(--r);padding:clamp(1.3rem,3vw,1.8rem);background:var(--paper)}
:where(.ab-hom) .ah-fmt li:nth-child(even){background:var(--chalk)}
:where(.ab-hom) .ah-fmt__n{font-family:'Instrument Serif',Georgia,serif;font-style:italic;font-size:2.4rem;line-height:1;color:var(--amb);margin:0 0 .6rem!important}
:where(.ab-hom) .ah-fmt h3{font-size:1.25rem!important;font-weight:800;color:var(--ink)!important;margin:0 0 .5rem!important}
:where(.ab-hom) .ah-fmt p:last-child{margin:0;color:#334155}
:where(.ab-hom) .ah-note{margin:1.6rem 0 0!important;font-weight:700;color:var(--ink)}


:where(.ab-hom) .ah section.ah-action{background:var(--chalk)}
:where(.ab-hom) .ah-action__lead{max-width:42rem;font-size:1.1rem;color:#334155}
:where(.ab-hom) .ah-letters{list-style:none;margin:clamp(1.5rem,4vw,2.5rem) 0 0;padding:0;display:grid;gap:0 clamp(1.5rem,3vw,2.5rem)}
:where(.ab-hom) .ah-letters li{display:grid;grid-template-columns:3.6rem 1fr;column-gap:1rem;padding:1.2rem 0;border-top:2px solid var(--ink)}
:where(.ab-hom) .ah-letters span{grid-row:1/3;font-size:3.4rem;font-weight:800;line-height:.9;letter-spacing:-.04em;color:var(--ink)}
:where(.ab-hom) .ah-letters li:nth-child(3n+2) span{color:var(--amb)}
:where(.ab-hom) .ah-letters li:nth-child(3n) span{color:var(--grn)}
:where(.ab-hom) .ah-letters h3{font-size:1.2rem!important;font-weight:800;color:var(--ink)!important;margin:0 0 .3rem!important}
:where(.ab-hom) .ah-letters p{margin:0;color:#334155}


:where(.ab-hom) .ah section.ah-faq{background:#fff}
:where(.ab-hom) .ah-faq__list{max-width:52rem;margin-top:clamp(1.5rem,4vw,2.5rem);border-top:2px solid var(--ink)}
:where(.ab-hom) .ah-faq__item{border-bottom:1px solid var(--line)}
:where(.ab-hom) .ah-faq__item summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.15rem 0;cursor:pointer}
:where(.ab-hom) .ah-faq__item summary::-webkit-details-marker{display:none}
:where(.ab-hom) .ah-faq__item summary::after{content:"+";flex:0 0 2.2rem;height:2.2rem;border-radius:50%;display:grid;place-items:center;border:2px solid var(--ink);font-weight:700;font-size:1.3rem;color:var(--ink);transition:transform .25s var(--e),background-color .2s,color .2s}
:where(.ab-hom) .ah-faq__item[open] summary::after{transform:rotate(45deg);background:var(--ink);color:#fff}
:where(.ab-hom) .ah-faq__item h3{font-size:clamp(1.05rem,2.2vw,1.2rem)!important;font-weight:700;color:var(--ink)!important;margin:0!important}
:where(.ab-hom) .ah-faq__a{padding:0 3rem 1.4rem 0;color:#334155}
:where(.ab-hom) .ah-faq__a p{margin:0 0 .8rem}
:where(.ab-hom) .ah-faq__a a{color:var(--grn);font-weight:700}


:where(.ab-hom) .ah section.ah-contact{background:var(--grn);color:#fff;text-align:center}
:where(.ab-hom) .ah-contact h2.ah-h2{color:#fff;max-width:none;margin-inline:auto}
:where(.ab-hom) .ah-contact h2 .ab-en{color:var(--chalk)}
:where(.ab-hom) .ah-contact .ah-eyebrow{color:#d1fae5}
:where(.ab-hom) .ah-contact p{max-width:38rem;margin-inline:auto}
:where(.ab-hom) .ah-contact .ah-cta{justify-content:center}
:where(.ab-hom) .ah-contact .ab-wave{max-width:560px;margin:0 auto 2rem;color:var(--chalk)}
:where(.ab-hom) .ah-contact small{display:block;font-size:.9rem;color:#ecfdf5}
:where(.ab-hom) .ah-contact small a{color:#fff}


:where(.ab-hom) .ah-index{background:var(--paper);border-top:1px solid var(--line);padding:clamp(2.5rem,6vw,4rem) 0}
:where(.ab-hom) .ah-index h2{font-size:1.4rem!important;font-weight:800;color:var(--ink);margin:0 0 1.5rem}
:where(.ab-hom) .ah-index__cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem 2rem}
:where(.ab-hom) .ah-index h3{font-size:.8rem!important;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--grn)!important;margin:0 0 .6rem!important}
:where(.ab-hom) .ah-index ul{list-style:none;margin:0;padding:0}
:where(.ab-hom) .ah-index li a{display:inline-block;padding:.32rem 0;font-size:.95rem;color:#1f2937;text-decoration:none}
:where(.ab-hom) .ah-index li a:hover{color:var(--grn);text-decoration:underline}
:where(.ab-hom) .ah-top{display:inline-block;margin-top:1.8rem;font-weight:700;color:var(--ink)!important}

@media (min-width:720px){
  :where(.ab-hom) .ah-panels{grid-template-columns:1fr 1fr}
  :where(.ab-hom) .ah-cards{grid-template-columns:repeat(3,1fr)}
  :where(.ab-hom) .ah-fmt,:where(.ab-hom) .ah-letters{grid-template-columns:1fr 1fr}
}
@media (min-width:1100px){
  :where(.ab-hom) .ah-fmt{grid-template-columns:repeat(4,1fr)}
  :where(.ab-hom) .ah-letters{grid-template-columns:repeat(3,1fr)}
}
@media (min-width:960px){
  :where(.ab-hom) .ah-hero__grid{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);row-gap:0}
  :where(.ab-hom) .ah-quiz{grid-column:2;grid-row:1/3}
  :where(.ab-hom) .ah-hero__photo{grid-column:1;grid-row:2;align-self:start}
  :where(.ab-hom) .ah-avis__grid,:where(.ab-hom) .ah-acces__grid{grid-template-columns:1fr 1fr}
  :where(.ab-hom) .ah-panel:nth-child(even){translate:0 3rem}
  :where(.ab-hom) .ah-panels{padding-bottom:3rem}
}
@media (max-width:600px){
  :where(.ab-hom) .ah-map .t-s,:where(.ab-hom) .ah-map .t-a{display:none}
  :where(.ab-hom) .ah-map text{font-size:22px}
  :where(.ab-hom) .ah-map .t-en{font-size:30px}
}
@media (max-width:420px){
  :where(.ab-hom) .ah-quiz__k span+span{display:none}
  :where(.ab-hom) .ah-opts{grid-template-columns:1fr}
  :where(.ab-hom) .ah-quiz{min-height:33rem;box-shadow:6px 6px 0 var(--ink)}
  :where(.ab-hom) .ah-map,:where(.ab-hom) .ah-photo{box-shadow:6px 6px 0 var(--ink)}
  :where(.ab-hom) .ah-cta .ah-btn{flex:1 1 auto;padding:.8rem 1rem}
}


@media (prefers-reduced-motion:no-preference){
  :where(.ab-hom) .ah .ab-wave rect{transform-box:fill-box;transform-origin:center}
  :where(.ab-hom) .ah-hero__wave rect{animation:ah-bar 1s var(--e) both;animation-delay:calc(200ms + var(--i) * 16ms)}
  :where(.ab-hom) .ab-say[aria-pressed=true] rect{animation:ah-talk .5s ease-in-out infinite alternate;animation-delay:calc(var(--i) * -130ms)}
  @supports (animation-timeline:view()){
    :where(.ab-hom) .ah-sd{view-timeline:--ahv block}
    :where(.ab-hom) .ah-rise{animation:ah-rise linear both;animation-timeline:view();animation-range:entry 0% cover 32%}
    :where(.ab-hom) .ah-panel__big{animation:ah-num linear both;animation-timeline:view();animation-range:entry 20% cover 40%}
    :where(.ab-hom) .ah-draw rect{animation:ah-bar linear both;animation-timeline:--ahv;animation-range:entry calc(var(--i) * 1%) cover calc(30% + var(--i) * .6%)}
    :where(.ab-hom) .ah-map .ah-route{animation:ah-trace linear both;animation-timeline:--ahv;animation-range:entry 20% entry 100%}
    :where(.ab-hom) .ah-map .ah-walk{animation:ah-trace linear both;animation-timeline:--ahv;animation-range:contain 5% contain 30%}
    :where(.ab-hom) .ah-map .ah-pin{animation:ah-pin linear both;animation-timeline:--ahv;animation-range:contain 25% contain 40%}
    :where(.ab-hom) .ah-map .ah-stop{animation:ah-pin linear both;animation-timeline:--ahv;animation-range:entry 85% contain 8%}
  }
  :where(.ab-hom) .ah-io .ah-rise{transition:opacity .8s var(--e),transform .8s var(--e)}
  :where(.ab-hom) .ah-io .ah-rise:not(.is-on){opacity:0;transform:translateY(40px)}
  :where(.ab-hom) .ah-io .ah-draw rect{transition:transform .7s var(--e) calc(var(--i) * 14ms)}
  :where(.ab-hom) .ah-io .ah-draw:not(.is-on) rect{transform:scaleY(.12)}
  :where(.ab-hom) .ah-io .ah-map .ah-route,:where(.ab-hom) .ah-io .ah-map .ah-walk{transition:stroke-dashoffset 1.4s var(--e) .2s}
  :where(.ab-hom) .ah-io .ah-map .ah-walk{transition-delay:1.2s}
  :where(.ab-hom) .ah-io .ah-map:not(.is-on) .ah-route,:where(.ab-hom) .ah-io .ah-map:not(.is-on) .ah-walk{stroke-dashoffset:1}
  :where(.ab-hom) .ah-io .ah-map .ah-pin,:where(.ab-hom) .ah-io .ah-map .ah-stop{transition:transform .5s var(--e) 1.6s,opacity .5s 1.6s}
  :where(.ab-hom) .ah-io .ah-map:not(.is-on) .ah-pin,:where(.ab-hom) .ah-io .ah-map:not(.is-on) .ah-stop{transform:scale(0);opacity:0}
}
:where(.ab-hom) .ah-map .ah-pin,:where(.ab-hom) .ah-map .ah-stop{transform-box:fill-box;transform-origin:50% 100%}
:where(.ab-hom) .ah-route,:where(.ab-hom) .ah-walk{stroke-dasharray:1;stroke-dashoffset:0}
@keyframes ah-bar{from{transform:scaleY(.12)}to{transform:none}}
@keyframes ah-talk{from{transform:scaleY(.35)}to{transform:scaleY(1)}}
@keyframes ah-rise{from{opacity:0;transform:translateY(48px)}to{opacity:1;transform:none}}
@keyframes ah-num{from{clip-path:inset(100% 0 0 0);translate:0 30%}to{clip-path:inset(0 0 0 0);translate:0 0}}
@keyframes ah-trace{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes ah-pin{from{transform:scale(0);opacity:0}to{transform:none;opacity:1}}
@media print{:where(.ab-hom) .ah-quiz,:where(.ab-hom) .ab-say{display:none}}
/* @fusion-feuilles:fin */
/* Encart pont lecon -> offre (19/10/2026, tools/pont_lecons_1910.py) */
.lecon-pont{margin:2rem 0;padding:1.25rem 1.25rem 1.25rem 1.1rem;background:#f0fdf4;border-left:4px solid #047857;border-radius:0 .5rem .5rem 0;color:#1f2937}
.lecon-pont .lecon-pont__sujet,.lecon-pont .lecon-pont__offre{margin:0 0 .75rem;line-height:1.6;color:#1f2937}
.lecon-pont .lecon-pont__offre{font-weight:600}
.lecon-pont .lecon-pont__liens{display:flex;flex-wrap:wrap;gap:.75rem;margin:0}
.lecon-pont .lecon-pont__btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.6rem 1.1rem;border:2px solid #047857;border-radius:.5rem;background:#047857;color:#fff;font-weight:600;line-height:1.3;text-align:center;text-decoration:none}
.lecon-pont .lecon-pont__btn:hover,.lecon-pont .lecon-pont__btn:focus-visible{background:#065f46;border-color:#065f46;color:#fff}
.lecon-pont .lecon-pont__btn--sec{background:#fff;color:#047857}
.lecon-pont .lecon-pont__btn--sec:hover,.lecon-pont .lecon-pont__btn--sec:focus-visible{background:#ecfdf5;color:#065f46}
.lecon-pont .lecon-pont__btn:focus-visible{outline:3px solid #0f2c67;outline-offset:2px}
@media (max-width:640px){.lecon-pont .lecon-pont__btn{flex:1 1 100%}}
/* 21/10/2026 : encart de demande dans le 1er écran des 20 leçons du pont (vert de charte #047857 sur blanc = 5,48:1 ; texte #1f2937) */
.lecon-cta-haut{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1rem;margin:0 0 1.25rem;padding:.75rem .9rem;background:#fff;border:1px solid #d1fae5;border-left:4px solid #047857;border-radius:0 .5rem .5rem 0;color:#1f2937}
.lecon-cta-haut .lecon-cta-haut__txt{flex:1 1 16rem;margin:0;font-size:.9rem;line-height:1.45;font-weight:600;color:#1f2937}
.lecon-cta-haut .lecon-cta-haut__btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.55rem 1.1rem;border-radius:.5rem;background:#047857;color:#fff;font-weight:700;line-height:1.25;text-align:center;text-decoration:none}
.lecon-cta-haut .lecon-cta-haut__btn:hover,.lecon-cta-haut .lecon-cta-haut__btn:focus-visible{background:#065f46;color:#fff}
.lecon-cta-haut .lecon-cta-haut__btn:focus-visible{outline:3px solid #0f2c67;outline-offset:2px}
@media (max-width:640px){.lecon-cta-haut .lecon-cta-haut__btn{flex:1 1 100%}}
