/* ═══════════════════════════════════════════════════════════════════════════
   Apprendre une langue · thème sur-mesure (Facem Web)
   DA « carnet de voyage linguistique » : papier crème, encre bleu nuit,
   corail, safran, sarcelle, lavande ; Fraunces (titres) + DM Sans (texte).
   ═══════════════════════════════════════════════════════════════════════════ */
@font-face{font-family:'Fraunces';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/fraunces-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:'Fraunces';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/fraunces-latin-700-normal.woff2) format('woff2')}
@font-face{font-family:'Fraunces';font-style:italic;font-weight:500;font-display:swap;src:url(fonts/fraunces-latin-500-italic.woff2) format('woff2')}
@font-face{font-family:'Fraunces';font-style:italic;font-weight:600;font-display:swap;src:url(fonts/fraunces-latin-600-italic.woff2) format('woff2')}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/dm-sans-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'DM Sans';font-style:italic;font-weight:400;font-display:swap;src:url(fonts/dm-sans-latin-400-italic.woff2) format('woff2')}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/dm-sans-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/dm-sans-latin-700-normal.woff2) format('woff2')}

:root{
  --ink:#16213E; --ink-2:#2A3658; --muted:#5B6478;
  --coral:#F0573A; --coral-d:#D2401F; --coral-l:#FDE3DC;
  --saffron:#F5B53F; --saffron-l:#FDF0D3;
  --teal:#1E9E95; --teal-d:#147A73; --teal-l:#D8F1EE;
  --violet:#6E5BD6; --violet-l:#E7E3FA;
  --paper:#FBF6EE; --sand:#EFE4D2; --sand-2:#F6EEE1; --white:#fff;
  --line:#E6DBC8;
  --r:22px; --r-sm:14px;
  --sh:0 1px 2px rgba(22,33,62,.05),0 10px 30px -12px rgba(22,33,62,.18);
  --sh-lg:0 2px 4px rgba(22,33,62,.05),0 30px 60px -24px rgba(22,33,62,.32);
  --max:1200px; --read:760px;
  --f-title:'Fraunces',Georgia,'Times New Roman',serif;
  --f-text:'DM Sans',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --ease:cubic-bezier(.2,.7,.2,1);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;font-family:var(--f-text);font-size:1.0625rem;line-height:1.7;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;overflow-x:hidden}
html,body{overflow-x:clip}
img,svg{max-width:100%}
img{height:auto;display:block}
a{color:var(--coral-d);text-underline-offset:.18em;text-decoration-thickness:1.5px}
a:hover{color:var(--ink)}
h1,h2,h3,h4{font-family:var(--f-title);font-weight:600;line-height:1.15;color:var(--ink);letter-spacing:-.01em;margin:0}
p{margin:0}
:focus-visible{outline:3px solid var(--saffron);outline-offset:3px;border-radius:6px}
::selection{background:var(--saffron-l);color:var(--ink)}
.al-wrap{width:100%;max-width:var(--max);margin:0 auto;padding:0 clamp(16px,4vw,32px)}
.al-sr,.al-skip:not(:focus){position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.al-skip:focus{position:fixed;top:10px;left:10px;z-index:999;background:var(--ink);color:#fff;padding:.6rem 1rem;border-radius:10px}
.al-ico{width:1.05em;height:1.05em;display:inline-block;vertical-align:-.15em;flex-shrink:0}

/* ── Boutons ── */
.al-btn{display:inline-flex;align-items:center;gap:.55rem;background:var(--coral);color:#fff;font-weight:700;font-size:1rem;text-decoration:none;padding:.8rem 1.35rem;border-radius:999px;border:2px solid var(--coral);box-shadow:0 10px 24px -10px rgba(240,87,58,.7);transition:transform .25s var(--ease),box-shadow .25s,background .2s}
.al-btn:hover{color:#fff;background:var(--coral-d);border-color:var(--coral-d);transform:translateY(-2px);box-shadow:0 16px 30px -12px rgba(240,87,58,.75)}
.al-btn .al-ico{transition:transform .25s var(--ease)}
.al-btn:hover .al-ico{transform:translateX(4px)}
.al-btn-lg{padding:.95rem 1.6rem;font-size:1.04rem}
.al-btn-ghost{background:transparent;color:var(--ink);border-color:var(--ink);box-shadow:none}
.al-btn-ghost:hover{background:var(--ink);border-color:var(--ink);color:#fff;box-shadow:none}

/* ── Navigation ── */
.al-nav{position:sticky;top:0;z-index:100;background:rgba(251,246,238,.86);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid transparent;transition:border-color .3s,box-shadow .3s,background .3s}
.al-nav.is-scrolled{border-color:var(--line);box-shadow:0 8px 30px -20px rgba(22,33,62,.35);background:rgba(251,246,238,.95)}
.al-nav-inner{display:flex;align-items:center;gap:1.5rem;height:76px}
.al-brand{text-decoration:none;color:var(--ink);flex-shrink:0;display:flex}
.al-logo{display:inline-flex;align-items:center;gap:.6rem}
.al-logo-mark{width:44px;height:40px;transition:transform .5s var(--ease)}
.al-brand:hover .al-logo-mark{transform:rotate(-8deg) scale(1.06)}
.al-logo-txt{font-family:var(--f-title);font-weight:700;font-size:1.3rem;letter-spacing:-.02em;line-height:1;color:var(--ink);white-space:nowrap}
.al-logo-txt em{font-style:italic;font-weight:500;color:var(--coral)}
.al-logo-light .al-logo-txt{color:#fff}
.al-logo-light .al-logo-txt em{color:var(--saffron)}
.al-logo-img{max-height:48px;width:auto}
.al-menu{margin-left:auto}
.al-menu ul{list-style:none;margin:0;padding:0}
.al-menu>ul{display:flex;align-items:center;gap:.2rem}
.al-menu li{position:relative}
.al-menu>ul>li>a{display:block;padding:.55rem .85rem;border-radius:999px;color:var(--ink);font-weight:500;font-size:.98rem;text-decoration:none;transition:background .2s,color .2s}
.al-menu>ul>li>a:hover,.al-menu>ul>li.active>a,.al-menu>ul>li:hover>a{background:var(--white);color:var(--coral-d)}
.al-menu>ul>li:last-child>a{background:var(--ink);color:#fff;margin-left:.4rem;padding:.55rem 1.1rem}
.al-menu>ul>li:last-child>a:hover{background:var(--coral);color:#fff}
.al-menu .has-children>a{padding-right:1.7rem}
.sub-toggle{position:absolute;right:.35rem;top:50%;transform:translateY(-50%);background:none;border:0;color:var(--muted);padding:.2rem;cursor:pointer;display:flex;pointer-events:none}
.sub-menu{position:absolute;top:calc(100% + 10px);left:-.5rem;min-width:270px;background:var(--white);border:1px solid var(--line);border-radius:18px;box-shadow:var(--sh-lg);padding:.5rem;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .22s,transform .22s var(--ease),visibility .22s}
.sub-menu::before{content:'';position:absolute;left:0;right:0;top:-12px;height:12px}
.al-menu li:hover>.sub-menu,.al-menu li:focus-within>.sub-menu{opacity:1;visibility:visible;transform:none}
.sub-menu a{display:block;padding:.6rem .85rem;border-radius:12px;color:var(--ink);text-decoration:none;font-size:.95rem;font-weight:500}
.sub-menu a:hover,.sub-menu li.active a{background:var(--sand-2);color:var(--coral-d)}
.al-burger{display:none;margin-left:auto;width:46px;height:46px;border-radius:14px;border:1px solid var(--line);background:var(--white);cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:5px}
.al-burger span{display:block;width:20px;height:2px;border-radius:2px;background:var(--ink);transition:transform .3s,opacity .2s}
.al-burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.al-burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.al-burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.al-overlay{position:fixed;inset:0;background:rgba(22,33,62,.42);opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s;z-index:98}
.al-overlay.open{opacity:1;visibility:visible}
@media (max-width:1020px){
  .al-nav,.al-nav.is-scrolled{backdrop-filter:none;-webkit-backdrop-filter:none;background:var(--paper)}
  .al-burger{display:flex}
  .al-menu{position:fixed;top:0;right:0;bottom:0;width:min(88vw,380px);background:var(--paper);z-index:99;padding:96px 18px 30px;overflow-y:auto;transform:translateX(102%);visibility:hidden;transition:transform .38s var(--ease),visibility .38s;box-shadow:-20px 0 50px -20px rgba(22,33,62,.4)}
  .al-menu.open{transform:none;visibility:visible}
  .al-nav-inner{position:relative}
  .al-burger{position:relative;z-index:101}
  .al-menu>ul{flex-direction:column;align-items:stretch;gap:.15rem}
  .al-menu>ul>li>a{padding:.85rem 1rem;font-size:1.08rem;border-radius:14px}
  .al-menu>ul>li:last-child>a{margin:.6rem 0 0;text-align:center}
  .sub-toggle{pointer-events:auto;top:1.55rem;right:.4rem;width:40px;height:40px;justify-content:center;align-items:center;border-radius:12px}
  .sub-toggle[aria-expanded="true"] svg{transform:rotate(180deg)}
  .sub-menu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;background:transparent;padding:0 0 .3rem .7rem;min-width:0;display:none}
  .sub-menu.open{display:block}
}

/* ── Animations génériques ── */
.al-js .reveal{opacity:0;transform:translateY(22px);transition:opacity .8s var(--ease),transform .8s var(--ease);transition-delay:calc(var(--d,0) * 90ms)}
.al-js .reveal.is-in{opacity:1;transform:none}
@keyframes al-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes al-spin{to{transform:rotate(360deg)}}
@keyframes al-blob{0%,100%{border-radius:42% 58% 63% 37%/41% 44% 56% 59%;transform:translate(0,0) rotate(0)}50%{border-radius:58% 42% 38% 62%/57% 61% 39% 43%;transform:translate(16px,-12px) rotate(25deg)}}
.al-blob{position:absolute;display:block;filter:blur(2px);opacity:.55;animation:al-blob 16s ease-in-out infinite}
.al-blob-1{width:420px;height:420px;background:radial-gradient(circle at 30% 30%,var(--saffron-l),rgba(245,181,63,.25));right:-120px;top:-140px}
.al-blob-2{width:300px;height:300px;background:radial-gradient(circle at 60% 40%,var(--teal-l),rgba(30,158,149,.18));left:-110px;bottom:-120px;animation-delay:-6s}
.al-blob-3{width:220px;height:220px;background:radial-gradient(circle,var(--coral-l),rgba(240,87,58,.12));left:46%;top:58%;animation-delay:-10s}
.al-dots{position:absolute;inset:0;background-image:radial-gradient(rgba(22,33,62,.09) 1.2px,transparent 1.3px);background-size:22px 22px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 60%);mask-image:linear-gradient(90deg,transparent,#000 60%)}

/* ── Héro d'accueil ── */
.al-hero{position:relative;overflow:hidden;padding:clamp(40px,6vw,84px) 0 clamp(50px,6vw,90px)}
.al-hero-deco{position:absolute;inset:0;pointer-events:none}
.al-hero-route{position:absolute;inset:0;width:100%;height:100%;opacity:.3}
.al-hero-inner,.al-hero-copy{position:relative;z-index:1}
.al-route-path{stroke-dashoffset:1;animation:al-route 6s linear infinite}
@keyframes al-route{to{stroke-dashoffset:0}}
.al-hero-inner{position:relative;display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(28px,5vw,70px);align-items:center}
.al-badge{display:inline-flex;align-items:center;gap:.55rem;background:var(--white);border:1px solid var(--line);border-radius:999px;padding:.42rem .95rem;font-size:.88rem;font-weight:500;color:var(--ink-2);box-shadow:var(--sh)}
.al-dot{width:9px;height:9px;border-radius:50%;background:var(--teal);box-shadow:0 0 0 0 rgba(30,158,149,.55);animation:al-ping 2.2s infinite}
@keyframes al-ping{0%{box-shadow:0 0 0 0 rgba(30,158,149,.55)}70%{box-shadow:0 0 0 10px rgba(30,158,149,0)}100%{box-shadow:0 0 0 0 rgba(30,158,149,0)}}
.al-hero-h1{font-size:clamp(2.35rem,5.4vw,4.1rem);font-weight:700;line-height:1.04;letter-spacing:-.03em;margin:1.1rem 0 1rem}
.al-w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em;margin-bottom:-.08em}
.al-wi{display:inline-block}
.al-js .al-wi{transform:translateY(105%);animation:al-word .9s var(--ease) forwards;animation-delay:calc(var(--i) * 70ms + .15s)}
@keyframes al-word{to{transform:none}}
.al-hl{font-style:italic;font-weight:600;color:var(--coral);position:relative}
.al-hero-h1 .al-hl{background:linear-gradient(transparent 72%,var(--saffron-l) 72%)}
.al-rotator{font-family:var(--f-title);font-size:clamp(1.25rem,2.2vw,1.6rem);font-style:italic;color:var(--ink-2);display:flex;flex-wrap:wrap;align-items:baseline;gap:.4rem}
.al-rot{position:relative;display:inline-grid;height:1.6em;line-height:1.6em;overflow:hidden;vertical-align:middle;min-width:6.4em}
.al-rot b{grid-area:1/1;font-style:normal;font-weight:700;color:var(--teal-d);background:var(--teal-l);padding:0 .45em;border-radius:10px;justify-self:start;opacity:0;transform:translateY(100%);animation:al-rot 14s infinite}
.al-rot b:nth-child(2){animation-delay:2s}.al-rot b:nth-child(3){animation-delay:4s}.al-rot b:nth-child(4){animation-delay:6s}.al-rot b:nth-child(5){animation-delay:8s}.al-rot b:nth-child(6){animation-delay:10s}.al-rot b:nth-child(7){animation-delay:12s}
@keyframes al-rot{0%{opacity:0;transform:translateY(100%)}3%,12%{opacity:1;transform:none}15%,100%{opacity:0;transform:translateY(-100%)}}
.al-hero-sub{font-size:1.15rem;color:var(--muted);max-width:36em;margin-top:1rem}
.al-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.7rem}
.al-stats{display:grid;grid-template-columns:repeat(3,auto);justify-content:start;gap:clamp(18px,3vw,40px);margin:2.2rem 0 0;padding-top:1.4rem;border-top:1px dashed var(--line)}
.al-stats div{margin:0}
.al-stats dt{font-family:var(--f-title);font-weight:700;font-size:1.9rem;line-height:1;color:var(--ink)}
.al-stats dd{margin:.35rem 0 0;font-size:.9rem;color:var(--muted);max-width:12em;line-height:1.35}
.al-hero-visual{position:relative;padding:20px}
.al-hero-photo{position:relative;margin:0;aspect-ratio:4/3.6;border-radius:46% 54% 50% 50%/40% 42% 58% 60%;overflow:hidden;box-shadow:var(--sh-lg);background:linear-gradient(140deg,var(--coral-l),var(--teal-l));animation:al-morph 18s ease-in-out infinite}
@keyframes al-morph{0%,100%{border-radius:46% 54% 50% 50%/40% 42% 58% 60%}50%{border-radius:56% 44% 42% 58%/52% 38% 62% 48%}}
.al-hero-photo img{width:100%;height:100%;object-fit:cover}
.al-hero-photo-art{display:flex;align-items:center;justify-content:center}
.al-chip{position:absolute;background:var(--white);border:1px solid var(--line);border-radius:16px 16px 16px 4px;padding:.55rem .95rem;font-weight:700;font-size:.95rem;box-shadow:var(--sh);display:inline-flex;align-items:center;gap:.45rem;animation:al-float 6s ease-in-out infinite}
.al-chip-1{top:8%;left:-2%;color:var(--coral-d)}
.al-chip-2{bottom:16%;right:-3%;color:var(--teal-d);border-radius:16px 16px 4px 16px;animation-delay:-2s}
.al-chip-3{bottom:-1%;left:12%;background:var(--ink);color:#fff;border-color:var(--ink);animation-delay:-4s}
.al-chip-3 svg{color:var(--saffron)}
@media (max-width:900px){
  .al-hero-inner{grid-template-columns:1fr}
  .al-hero-visual{max-width:520px;margin:0 auto;width:100%}
  .al-stats{grid-template-columns:repeat(3,1fr)}
  .al-stats dt{font-size:1.5rem}
}
@media (max-width:520px){.al-stats dd{font-size:.8rem}.al-chip{font-size:.82rem}}

/* Bulles de salutations (repli d'illustration) */
.al-bubbles{position:relative;width:100%;height:100%;min-height:260px;display:flex;flex-wrap:wrap;align-content:center;justify-content:center;gap:14px;padding:30px}
.al-bub{display:inline-block;font-family:var(--f-title);font-weight:700;font-size:clamp(1.05rem,2vw,1.45rem);padding:.6rem 1.1rem;border-radius:22px 22px 22px 6px;color:#fff;box-shadow:var(--sh);animation:al-float 5.5s ease-in-out infinite;animation-delay:calc(var(--i) * -.8s)}
.al-bub:nth-child(even){border-radius:22px 22px 6px 22px}
.al-bub-c{background:var(--coral)}.al-bub-t{background:var(--teal)}.al-bub-s{background:var(--saffron);color:var(--ink)}.al-bub-v{background:var(--violet)}.al-bub-i{background:var(--ink)}

/* Bandeau défilant */
.al-marquee{background:var(--ink);color:#fff;overflow:hidden;padding:.95rem 0;transform:rotate(-1.2deg);margin:0 -10px;position:relative;z-index:2}
.al-marquee-track{display:flex;gap:1.6rem;width:max-content;animation:al-marq 42s linear infinite;align-items:center}
.al-marquee span{font-family:var(--f-title);font-style:italic;font-weight:600;font-size:1.35rem;white-space:nowrap}
.al-marquee span:nth-of-type(3n+1){color:var(--saffron)}
.al-marquee i{width:10px;height:10px;border-radius:50%;background:var(--coral);flex-shrink:0}
@keyframes al-marq{to{transform:translateX(-50%)}}

/* ── En-tête de page ── */
.al-phero{position:relative;overflow:hidden;padding:clamp(26px,4vw,56px) 0 clamp(34px,5vw,64px);background:linear-gradient(180deg,var(--paper),var(--sand-2));border-bottom:1px solid var(--line)}
.al-phero-deco{position:absolute;inset:0;pointer-events:none}
.al-phero-inner{position:relative;display:grid;grid-template-columns:1fr;gap:clamp(24px,4vw,56px);align-items:center}
.al-phero.has-img .al-phero-inner,.al-phero-inner:has(.al-phero-art){grid-template-columns:1.1fr .9fr}
.al-phero h1{font-size:clamp(2rem,4.2vw,3.25rem);font-weight:700;letter-spacing:-.025em;line-height:1.08;margin:.7rem 0 0;max-width:20em}
.al-phero-sub{margin-top:1rem;font-size:1.13rem;color:var(--muted);max-width:40em}
.al-crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.2rem .5rem;font-size:.88rem;color:var(--muted)}
.al-crumbs li+li::before{content:'›';margin-right:.5rem;color:var(--coral)}
.al-crumbs a{color:var(--muted);text-decoration:none}
.al-crumbs a:hover{color:var(--coral-d);text-decoration:underline}
.al-kicker{margin-top:1rem;display:inline-flex;align-items:center;gap:.55rem;font-size:.9rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--teal-d)}
.al-kicker-bub{display:inline-block;text-transform:none;letter-spacing:0;font-family:var(--f-title);font-style:italic;font-size:1rem;background:var(--coral);color:#fff;padding:.2rem .75rem;border-radius:14px 14px 14px 4px}
.al-phero-media{margin:0;position:relative;aspect-ratio:16/10;border-radius:38px 38px 38px 10px;overflow:hidden;box-shadow:var(--sh-lg);transform:rotate(1.2deg)}
.al-phero-media::after{content:'';position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(22,33,62,.06)}
.al-phero-media img{width:100%;height:100%;object-fit:cover}
.al-phero-art{position:relative;aspect-ratio:16/10;border-radius:38px 38px 38px 10px;background:linear-gradient(140deg,var(--white),var(--sand));border:1px solid var(--line);box-shadow:var(--sh)}
.al-phero-art .al-bubbles{min-height:0;height:100%}
.al-postmeta{display:flex;flex-wrap:wrap;gap:.6rem 1.1rem;align-items:center;margin-top:1.1rem;font-size:.92rem;color:var(--muted)}
.al-postmeta span{display:inline-flex;align-items:center;gap:.35rem}
.al-tag{display:inline-block;background:var(--teal-l);color:var(--teal-d);font-weight:700;font-size:.78rem;letter-spacing:.04em;text-transform:uppercase;padding:.22rem .65rem;border-radius:999px}
@media (max-width:860px){.al-phero.has-img .al-phero-inner,.al-phero-inner:has(.al-phero-art){grid-template-columns:1fr}.al-phero-art{display:none}.al-phero-media{transform:none}}

/* ── Colonne de lecture ── */
.al-article{padding-top:clamp(30px,5vw,60px);padding-bottom:clamp(40px,6vw,80px)}
.al-prose{max-width:var(--read);margin:0 auto;font-size:1.08rem}
.al-prose>*+*{margin-top:1.25rem}
.al-prose p{margin:0}
.al-prose p+p{margin-top:1.1rem}
.al-prose h2{font-size:clamp(1.6rem,3vw,2.15rem);margin-top:3.2rem;padding-top:.2rem;position:relative}
.al-prose h2::before{content:'';display:block;width:54px;height:12px;margin-bottom:1rem;background:radial-gradient(circle at 6px 6px,var(--coral) 5.5px,transparent 6px),radial-gradient(circle at 27px 6px,var(--saffron) 5.5px,transparent 6px),radial-gradient(circle at 48px 6px,var(--teal) 5.5px,transparent 6px)}
.al-prose h3{font-size:clamp(1.25rem,2.2vw,1.45rem);margin-top:2.2rem;color:var(--ink-2)}
.al-prose h2+p,.al-prose h3+p{margin-top:.9rem}
.al-prose strong{font-weight:700;color:var(--ink)}
.al-prose em{font-style:italic}
.al-prose a{font-weight:500}
.al-prose a strong{color:inherit}
.al-prose ul,.al-prose ol:not(.al-steps){padding-left:1.3rem}
.al-prose li+li{margin-top:.45rem}
.al-prose ul li::marker{color:var(--coral)}
.al-prose>.al-fig,.al-prose>.al-table-wrap,.al-prose>.al-tiles,.al-prose>.al-kpis,.al-prose>.al-steps,.al-prose>.al-callout,.al-prose>.al-note,.al-prose>.al-duo,.al-prose>.al-phrases,.al-prose>.al-faq{margin-top:2rem;margin-bottom:2rem}
.al-lead{font-size:1.22rem;line-height:1.65;color:var(--ink-2)}
.al-prose>.al-lead:first-child::first-letter{font-family:var(--f-title);font-weight:700;float:left;font-size:3.6em;line-height:.82;margin:.08em .1em 0 0;color:var(--coral)}
.al-intro{margin-bottom:2.2rem}
.al-intro p{font-size:1.15rem;color:var(--ink-2)}
.al-article-plain .al-prose h2::before{display:none}

/* Composants de contenu */
.al-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px}
.al-kpi{background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:1.2rem 1.15rem;box-shadow:var(--sh);position:relative;overflow:hidden}
.al-kpi::after{content:'';position:absolute;right:-18px;top:-18px;width:62px;height:62px;border-radius:50%;background:var(--coral-l)}
.al-kpi:nth-child(2)::after{background:var(--teal-l)}.al-kpi:nth-child(3)::after{background:var(--saffron-l)}.al-kpi:nth-child(4)::after{background:var(--violet-l)}
.al-kpi strong{display:block;font-family:var(--f-title);font-size:1.75rem;line-height:1.1;position:relative;z-index:1}
.al-kpi span{display:block;font-size:.93rem;color:var(--muted);margin-top:.35rem;line-height:1.45;position:relative;z-index:1}
.al-kpi strong span{display:inline;font-size:inherit;color:var(--coral);margin:0}
.al-fig{margin:0;background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:clamp(14px,2.5vw,26px);box-shadow:var(--sh)}
.al-fig svg{display:block;width:100%;height:auto;overflow:visible}
.al-fig figcaption{margin-top:.8rem;font-size:.88rem;color:var(--muted);text-align:center;font-style:italic}
.al-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px}
.al-tile{background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:1.25rem 1.2rem 1.3rem;position:relative;transition:transform .3s var(--ease),box-shadow .3s;box-shadow:var(--sh)}
.al-tile:hover{transform:translateY(-4px);box-shadow:var(--sh-lg)}
.al-tile::before{content:'';display:block;width:38px;height:30px;margin-bottom:.8rem;background:var(--coral);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 38 30'%3E%3Cpath d='M6 0h26a6 6 0 0 1 6 6v12a6 6 0 0 1-6 6H14l-8 6v-6a6 6 0 0 1-6-6V6a6 6 0 0 1 6-6z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 38 30'%3E%3Cpath d='M6 0h26a6 6 0 0 1 6 6v12a6 6 0 0 1-6 6H14l-8 6v-6a6 6 0 0 1-6-6V6a6 6 0 0 1 6-6z'/%3E%3C/svg%3E") center/contain no-repeat}
.al-tile:nth-child(4n+2)::before{background:var(--teal)}.al-tile:nth-child(4n+3)::before{background:var(--saffron)}.al-tile:nth-child(4n+4)::before{background:var(--violet)}
.al-tile-t{font-family:var(--f-title);font-weight:700;font-size:1.15rem;line-height:1.25;margin-bottom:.45rem!important;color:var(--ink)}
.al-tile p+p{margin-top:0}
.al-tile p:not(.al-tile-t){font-size:.97rem;color:var(--muted);line-height:1.6}
.al-steps{list-style:none;padding:0;margin:0;counter-reset:st;position:relative}
.al-steps::before{content:'';position:absolute;left:22px;top:10px;bottom:10px;width:3px;background:repeating-linear-gradient(var(--line) 0 8px,transparent 8px 14px)}
.al-steps li{position:relative;padding:0 0 1.3rem 66px;counter-increment:st}
.al-steps li+li{margin-top:0}
.al-steps li::before{content:counter(st);position:absolute;left:0;top:0;width:46px;height:46px;border-radius:16px 16px 16px 5px;background:var(--coral);color:#fff;font-family:var(--f-title);font-weight:700;font-size:1.25rem;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 18px -8px rgba(240,87,58,.8)}
.al-steps li:nth-child(4n+2)::before{background:var(--teal);box-shadow:0 8px 18px -8px rgba(30,158,149,.8)}
.al-steps li:nth-child(4n+3)::before{background:var(--saffron);color:var(--ink);box-shadow:0 8px 18px -8px rgba(245,181,63,.8)}
.al-steps li:nth-child(4n+4)::before{background:var(--violet);box-shadow:0 8px 18px -8px rgba(110,91,214,.8)}
.al-steps b{display:block;font-family:var(--f-title);font-size:1.15rem;padding-top:.55rem}
.al-steps span{display:block;color:var(--muted);margin-top:.25rem;font-size:.99rem}
.al-callout,.al-note{border-radius:var(--r);padding:1.35rem 1.4rem 1.4rem 1.4rem;position:relative}
.al-callout{background:var(--teal-l);border:1px solid rgba(30,158,149,.25)}
.al-note{background:var(--saffron-l);border:1px solid rgba(245,181,63,.4)}
.al-callout-t,.al-note-t{font-family:var(--f-title);font-weight:700;font-size:1.12rem;display:flex;align-items:center;gap:.55rem;margin-bottom:.5rem!important}
.al-callout-t::before,.al-note-t::before{content:'';width:30px;height:30px;border-radius:10px 10px 10px 3px;flex-shrink:0;background:var(--teal) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18h6M10 22h4M12 2a7 7 0 0 0-4 12.7V17h8v-2.3A7 7 0 0 0 12 2z'/%3E%3C/svg%3E") center/18px no-repeat}
.al-note-t::before{background:var(--saffron) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2316213E' stroke-width='2.6' stroke-linecap='round'%3E%3Cpath d='M12 8v.01M12 11v6'/%3E%3C/svg%3E") center/20px no-repeat}
.al-callout p+p,.al-note p+p{margin-top:0}
.al-table-wrap{overflow-x:auto;border-radius:var(--r);border:1px solid var(--line);background:var(--white);box-shadow:var(--sh);-webkit-overflow-scrolling:touch}
.al-table{width:100%;border-collapse:collapse;font-size:.97rem;min-width:520px}
.al-table th{background:var(--ink);color:#fff;text-align:left;font-weight:700;padding:.85rem 1rem;font-size:.92rem;letter-spacing:.01em}
.al-table th:first-child{border-top-left-radius:calc(var(--r) - 1px)}
.al-table th:last-child{border-top-right-radius:calc(var(--r) - 1px)}
.al-table td{padding:.8rem 1rem;border-top:1px solid var(--line);vertical-align:top;line-height:1.55}
.al-table tbody tr:nth-child(even) td{background:var(--sand-2)}
.al-table tbody tr:hover td{background:var(--coral-l)}
.al-table td:first-child{font-weight:700;color:var(--ink)}
.al-duo{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.al-duo>div{border-radius:var(--r);padding:1.2rem 1.3rem;border:1px solid var(--line);background:var(--white)}
.al-duo-a{border-top:5px solid var(--teal)!important}.al-duo-b{border-top:5px solid var(--coral)!important}
.al-duo-t{font-family:var(--f-title);font-weight:700;font-size:1.1rem;margin-bottom:.4rem!important}
.al-duo ul{margin:0;padding-left:1.1rem;font-size:.97rem}
.al-duo-a li::marker{color:var(--teal)}
@media (max-width:640px){.al-duo{grid-template-columns:1fr}}
.al-phrases{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}
.al-phrase{background:var(--white);border:1px solid var(--line);border-radius:20px 20px 20px 6px;padding:1rem 1.1rem;box-shadow:var(--sh);display:flex;flex-direction:column;gap:.2rem;transition:transform .3s var(--ease)}
.al-phrase:nth-child(even){border-radius:20px 20px 6px 20px}
.al-phrase:hover{transform:translateY(-3px) rotate(-.6deg)}
.al-phrase-l{font-family:var(--f-title);font-weight:700;font-size:1.18rem;color:var(--coral-d);line-height:1.3}
.al-phrase-p{font-size:.86rem;color:var(--teal-d);font-style:italic}
.al-phrase-f{font-size:.95rem;color:var(--muted)}
.al-faq{margin-top:3.2rem!important}
.al-faq-item{background:var(--white);border:1px solid var(--line);border-radius:18px;margin-top:.7rem;box-shadow:0 1px 2px rgba(22,33,62,.04);transition:box-shadow .25s,border-color .25s}
.al-faq-item[open]{box-shadow:var(--sh);border-color:rgba(240,87,58,.35)}
.al-faq-item summary{cursor:pointer;list-style:none;padding:1.05rem 3.2rem 1.05rem 1.25rem;font-weight:700;font-size:1.04rem;position:relative;line-height:1.45}
.al-faq-item summary::-webkit-details-marker{display:none}
.al-faq-item summary::after{content:'';position:absolute;right:1.1rem;top:50%;width:26px;height:26px;margin-top:-13px;border-radius:50%;background:var(--sand-2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F0573A' stroke-width='2.6' stroke-linecap='round'%3E%3Cpath d='M12 6v12M6 12h12'/%3E%3C/svg%3E") center/16px no-repeat;transition:transform .3s var(--ease)}
.al-faq-item[open] summary::after{transform:rotate(45deg)}
.al-faq-a{padding:0 1.25rem 1.15rem;color:var(--ink-2)}

/* Animations des infographies (déclenchées par .is-in posé par app.js sur .al-fig) */
.al-js .al-fig .al-draw:not([stroke-dasharray]){stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.6s var(--ease)}
.al-js .al-fig.is-in .al-draw:not([stroke-dasharray]){stroke-dashoffset:0}
.al-js .al-fig .al-draw[stroke-dasharray]{opacity:0;transition:opacity 1.2s var(--ease) .2s}
.al-js .al-fig.is-in .al-draw[stroke-dasharray]{opacity:1}
.al-js .al-fig .al-grow{transform:scaleY(0);transform-box:fill-box;transform-origin:50% 100%;transition:transform 1.1s var(--ease);transition-delay:calc(var(--i,0) * 110ms + .1s)}
.al-js .al-fig.is-in .al-grow{transform:none}
.al-js .al-fig .al-pop{opacity:0;transform:scale(.6);transform-box:fill-box;transform-origin:center;transition:opacity .5s,transform .7s cubic-bezier(.3,1.6,.5,1);transition-delay:calc(var(--i,0) * 120ms + .2s)}
.al-js .al-fig.is-in .al-pop{opacity:1;transform:none}

/* ── Accueil : sections ── */
.al-home{padding-bottom:30px}
.al-sec{padding:clamp(56px,8vw,104px) 0;position:relative}
.al-sec>*:not(.al-wrap){max-width:var(--max);margin-left:auto;margin-right:auto;padding-left:clamp(16px,4vw,32px);padding-right:clamp(16px,4vw,32px)}
.al-sec>p:not(.al-wrap),.al-sec>ul:not(.al-wrap),.al-sec>ol:not(.al-steps){max-width:calc(var(--read) + 64px)}
.al-sec>*+*{margin-top:1.15rem}
.al-sec-alt{background:var(--sand-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.al-sec-alt::before{content:'';position:absolute;inset:0;background-image:radial-gradient(rgba(22,33,62,.06) 1.2px,transparent 1.3px);background-size:24px 24px;pointer-events:none;-webkit-mask-image:linear-gradient(180deg,#000,transparent 70%);mask-image:linear-gradient(180deg,#000,transparent 70%)}
.al-sec>*{position:relative}
.al-sec-hd{text-align:center;margin-bottom:2.4rem!important}
.al-sec-hd h2{font-size:clamp(1.9rem,4vw,2.9rem);font-weight:700;letter-spacing:-.025em;max-width:22em;margin:0 auto}
.al-eyebrow{display:inline-flex;align-items:center;gap:.5rem;font-weight:700;font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;color:var(--coral-d);margin-bottom:.85rem!important}
.al-eyebrow::before,.al-eyebrow::after{content:'';width:22px;height:2px;background:currentColor;border-radius:2px}
.al-sec p{font-size:1.08rem}
.al-sec .al-lead{font-size:1.24rem}
.al-sec .al-kpis,.al-sec .al-tiles,.al-sec .al-table-wrap,.al-sec .al-steps,.al-sec .al-callout,.al-sec .al-note,.al-sec .al-fig,.al-sec .al-duo{margin-top:2rem}
.al-sec>.al-fig:not(.al-wrap),.al-sec>.al-table-wrap:not(.al-wrap),.al-sec>.al-callout:not(.al-wrap),.al-sec>.al-note:not(.al-wrap),.al-sec>.al-steps:not(.al-wrap){max-width:calc(var(--read) + 140px)}
.al-sec>.al-callout,.al-sec>.al-note,.al-sec>.al-table-wrap,.al-sec>.al-fig,.al-sec>.al-steps{padding-left:0;padding-right:0}
.al-sec>.al-callout,.al-sec>.al-note{padding:1.35rem 1.4rem}
.al-sec>.al-fig{padding:clamp(14px,2.5vw,26px)}
@media (max-width:860px){.al-sec>.al-callout,.al-sec>.al-note,.al-sec>.al-table-wrap,.al-sec>.al-fig,.al-sec>.al-steps{margin-left:clamp(16px,4vw,32px);margin-right:clamp(16px,4vw,32px)}}
.al-split{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(24px,5vw,64px);align-items:center}
.al-split-rev{grid-template-columns:.95fr 1.05fr}
.al-split-rev>:first-child{order:2}
.al-split-text>*+*{margin-top:1.1rem}
.al-split .al-fig{margin-top:0!important}
@media (max-width:900px){.al-split,.al-split-rev{grid-template-columns:1fr}.al-split-rev>:first-child{order:0}}

/* Tuiles langues */
.al-langs{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:2rem!important;max-width:var(--max)}
.al-lang{--c:var(--coral);--cl:var(--coral-l);position:relative;display:flex;flex-direction:column;gap:.35rem;background:var(--white);border:1px solid var(--line);border-radius:28px;padding:1.5rem 1.4rem 1.35rem;text-decoration:none;color:var(--ink);overflow:hidden;box-shadow:var(--sh);transition:transform .35s var(--ease),box-shadow .35s}
.al-lang::before{content:'';position:absolute;right:-50px;top:-50px;width:150px;height:150px;border-radius:50%;background:var(--cl);transition:transform .5s var(--ease)}
.al-lang:hover{transform:translateY(-6px);box-shadow:var(--sh-lg);color:var(--ink)}
.al-lang:hover::before{transform:scale(1.35)}
.al-c-c{--c:var(--coral);--cl:var(--coral-l)}.al-c-t{--c:var(--teal);--cl:var(--teal-l)}.al-c-s{--c:#C98A12;--cl:var(--saffron-l)}.al-c-v{--c:var(--violet);--cl:var(--violet-l)}.al-c-i{--c:var(--ink);--cl:#DDE2EE}
.al-lang-bub{position:relative;align-self:flex-start;font-family:var(--f-title);font-weight:700;font-size:1.3rem;color:#fff;background:var(--c);padding:.35rem .95rem;border-radius:18px 18px 18px 5px;margin-bottom:.6rem;transition:transform .35s var(--ease)}
.al-lang:hover .al-lang-bub{transform:rotate(-4deg) scale(1.06)}
.al-lang-code{position:absolute;right:1.3rem;top:1.25rem;font-weight:700;font-size:.82rem;letter-spacing:.12em;color:var(--c)}
.al-lang-name{position:relative;font-family:var(--f-title);font-weight:700;font-size:1.35rem;line-height:1.2}
.al-lang-txt{position:relative;font-size:.96rem;color:var(--muted);line-height:1.55;flex:1}
.al-lang-go{position:relative;display:inline-flex;align-items:center;gap:.4rem;font-weight:700;font-size:.93rem;color:var(--c);margin-top:.6rem}
.al-lang:hover .al-lang-go .al-ico,.al-catcard:hover .al-lang-go .al-ico{transform:translateX(4px)}
.al-lang-go .al-ico{transition:transform .3s var(--ease)}
@media (max-width:980px){.al-langs{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.al-langs{grid-template-columns:1fr}}

/* Cartes rubriques */
.al-catcards{display:grid;grid-template-columns:repeat(6,1fr);gap:18px;margin-top:2rem!important;max-width:var(--max)}
.al-catcard{grid-column:span 2;--c:var(--coral);--cl:var(--coral-l);display:flex;flex-direction:column;background:var(--white);border:1px solid var(--line);border-radius:26px;overflow:hidden;text-decoration:none;color:var(--ink);box-shadow:var(--sh);transition:transform .35s var(--ease),box-shadow .35s}
.al-catcard:nth-child(4),.al-catcard:nth-child(5){grid-column:span 3}
.al-catcard:hover{transform:translateY(-6px);box-shadow:var(--sh-lg);color:var(--ink)}
.al-catcard-img{display:block;aspect-ratio:16/9;overflow:hidden;background:var(--cl)}
.al-catcard-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.al-catcard:hover .al-catcard-img img{transform:scale(1.06)}
.al-noimg{display:flex!important;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--cl),var(--paper))!important;position:relative;overflow:hidden}
.al-noimg::before{content:'';position:absolute;inset:0;background-image:radial-gradient(rgba(22,33,62,.08) 1.3px,transparent 1.4px);background-size:18px 18px}
.al-noimg span{position:relative;font-family:var(--f-title);font-style:italic;font-weight:700;font-size:3.2rem;color:#fff;background:var(--c,var(--coral));width:92px;height:80px;display:flex;align-items:center;justify-content:center;border-radius:28px 28px 28px 8px;box-shadow:var(--sh)}
.al-catcard-body{display:flex;flex-direction:column;gap:.35rem;padding:1.2rem 1.35rem 1.35rem;flex:1}
.al-catcard-n{font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--c)}
.al-catcard-t{font-family:var(--f-title);font-weight:700;font-size:1.32rem;line-height:1.2}
.al-catcard-x{font-size:.95rem;color:var(--muted);line-height:1.55;flex:1}
@media (max-width:980px){.al-catcards{grid-template-columns:repeat(2,1fr)}.al-catcard,.al-catcard:nth-child(4),.al-catcard:nth-child(5){grid-column:span 1}.al-catcard:nth-child(5){grid-column:span 2}}
@media (max-width:600px){.al-catcards{grid-template-columns:1fr}.al-catcard:nth-child(5){grid-column:span 1}}

/* Cartes articles */
.al-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:2rem!important;max-width:var(--max)}
.al-card{display:flex;flex-direction:column;background:var(--white);border:1px solid var(--line);border-radius:24px;overflow:hidden;box-shadow:var(--sh);transition:transform .35s var(--ease),box-shadow .35s}
.al-card:hover{transform:translateY(-5px);box-shadow:var(--sh-lg)}
.al-card-img{display:block;aspect-ratio:16/9;overflow:hidden;--c:var(--teal);--cl:var(--teal-l)}
.al-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.al-card:hover .al-card-img img{transform:scale(1.06)}
.al-card-img.al-noimg span{font-size:2.4rem;width:70px;height:60px}
.al-card-body{padding:1.15rem 1.3rem 1.35rem;display:flex;flex-direction:column;gap:.55rem;flex:1}
.al-card-meta{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem .7rem;font-size:.85rem;color:var(--muted)}
.al-card h3{font-size:1.22rem;line-height:1.28}
.al-card h3 a{color:var(--ink);text-decoration:none;background:linear-gradient(var(--coral),var(--coral)) 0 100%/0 2px no-repeat;transition:background-size .35s var(--ease)}
.al-card:hover h3 a{background-size:100% 2px}
.al-card-body>p:not(.al-card-meta){font-size:.95rem;color:var(--muted);line-height:1.55}
@media (max-width:980px){.al-cards{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.al-cards{grid-template-columns:1fr}}
.al-listing{padding-top:clamp(30px,5vw,56px)}
.al-listing-t{font-size:clamp(1.5rem,3vw,2rem);margin-top:3.2rem;text-align:center}
.al-listing+.al-article{padding-top:clamp(20px,3vw,40px)}
.al-empty{text-align:center;color:var(--muted);padding:2rem;background:var(--white);border:1px dashed var(--line);border-radius:var(--r)}
.al-pager ul{list-style:none;display:flex;gap:.4rem;justify-content:center;margin:2.2rem 0 0;padding:0}
.al-pager a{display:flex;align-items:center;justify-content:center;min-width:42px;height:42px;padding:0 .7rem;border-radius:14px;background:var(--white);border:1px solid var(--line);color:var(--ink);text-decoration:none;font-weight:700}
.al-pager a:hover,.al-pager a.is-active{background:var(--ink);color:#fff;border-color:var(--ink)}

/* Barre de progression de lecture */
.al-progress{position:fixed;left:0;right:0;top:0;height:4px;z-index:120;pointer-events:none}
.al-progress span{display:block;height:100%;width:100%;transform:scaleX(0);transform-origin:0 50%;background:linear-gradient(90deg,var(--coral),var(--saffron),var(--teal))}

/* ── Pied de page ── */
.al-footer{margin-top:40px;color:rgba(255,255,255,.78)}
.al-footer-wave svg{display:block;width:100%;height:60px}
.al-footer-body{background:var(--ink);padding:40px 0 26px}
.al-footer-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:40px}
.al-footer-brand p{margin-top:1rem;max-width:34em;font-size:.98rem}
.al-pills{list-style:none;display:flex;flex-wrap:wrap;gap:.45rem;margin:1.2rem 0 0;padding:0}
.al-pills li{font-family:var(--f-title);font-style:italic;font-weight:600;font-size:.92rem;padding:.25rem .8rem;border-radius:12px 12px 12px 3px;background:rgba(255,255,255,.08);color:#fff}
.al-pills li:nth-child(3n+1){color:var(--saffron)}.al-pills li:nth-child(3n+2){color:#7FD8D0}.al-pills li:nth-child(3n){color:#FF9C86}
.al-footer-title{font-weight:700;color:#fff;font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:.9rem!important}
.al-footer-links{list-style:none;margin:0;padding:0}
.al-footer-links li+li{margin-top:.45rem}
.al-footer-links a{color:rgba(255,255,255,.82);text-decoration:none}
.al-footer-links a:hover{color:var(--saffron);text-decoration:underline}
.al-footer-bottom{margin-top:34px;padding-top:20px;border-top:1px solid rgba(255,255,255,.12);font-size:.86rem;color:rgba(255,255,255,.55)}
@media (max-width:760px){.al-footer-grid{grid-template-columns:1fr;gap:26px}}

/* ── 404 ── */
.al-404{padding:clamp(50px,8vw,110px) 0;text-align:center}
.al-404-inner{max-width:760px}
.al-404-bubbles{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-bottom:1.6rem}
.al-404 .al-404-code{font-family:var(--f-title);font-weight:700;font-size:clamp(4rem,12vw,7.5rem);line-height:1;color:var(--coral)}
.al-404 h1{font-size:clamp(1.7rem,4vw,2.5rem);margin:.6rem 0 1rem}
.al-404 p{color:var(--muted)}
.al-404 .al-actions{justify-content:center}

/* ── Formulaires natifs QuietCMS ── */
.qcms-form-wrap,.qcms-form{background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:clamp(18px,3vw,30px);box-shadow:var(--sh)}
.qcms-form .qcms-form{border:0;box-shadow:none;padding:0}
.qcms-label{display:block;font-weight:700;margin:1rem 0 .35rem;font-size:.97rem}
.qcms-input,.qcms-form input[type=text],.qcms-form input[type=email],.qcms-form input[type=tel],.qcms-form select,.qcms-form textarea{width:100%;font:inherit;padding:.8rem .95rem;border:1.5px solid var(--line);border-radius:14px;background:var(--paper);color:var(--ink);transition:border-color .2s,box-shadow .2s}
.qcms-form input:focus,.qcms-form select:focus,.qcms-form textarea:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 4px var(--teal-l)}
.qcms-submit,.qcms-form button[type=submit]{margin-top:1.3rem;font:inherit;font-weight:700;background:var(--coral);color:#fff;border:0;border-radius:999px;padding:.9rem 1.6rem;cursor:pointer;box-shadow:0 10px 24px -10px rgba(240,87,58,.7)}
.qcms-submit:hover,.qcms-form button[type=submit]:hover{background:var(--coral-d)}
.qcms-req{color:var(--coral)}
.qcms-field-help{font-size:.86rem;color:var(--muted)}
.qcms-alert-success{background:var(--teal-l);border-radius:14px;padding:1rem 1.2rem;color:var(--teal-d);font-weight:500}
.qcms-alert-error{background:var(--coral-l);border-radius:14px;padding:1rem 1.2rem;color:var(--coral-d);font-weight:500}

/* Plan du site */
.al-prose .plan-du-site ul,.al-prose .pds-list{list-style:none;padding-left:0}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .al-js .reveal{opacity:1;transform:none}
  .al-js .al-wi{transform:none}
  .al-rot b{opacity:0}.al-rot b:first-child{opacity:1;transform:none}
}
@media print{.al-nav,.al-footer,.al-marquee,.al-progress{display:none}}
.al-sec .al-faq-list{max-width:calc(var(--read) + 64px);margin-top:0!important}
.al-sec-faq{padding-top:clamp(40px,6vw,80px)}
.qcms-form-wrap .qcms-form{border:0;box-shadow:none;padding:0;background:transparent}

/* ═══ v2 (29/10) : contenus plus larges et moins encadrés ═══ */
:root{--read:1080px}
.al-prose{max-width:var(--read);font-size:1.07rem}
.al-sec>p:not(.al-wrap),.al-sec>ul:not(.al-wrap),.al-sec>ol:not(.al-steps){max-width:var(--max)}
.al-sec>.al-fig:not(.al-wrap),.al-sec>.al-table-wrap:not(.al-wrap),.al-sec>.al-callout:not(.al-wrap),.al-sec>.al-note:not(.al-wrap),.al-sec>.al-steps:not(.al-wrap),.al-sec .al-faq-list{max-width:calc(var(--max) - 64px)}
.al-sec-hd{text-align:left}
.al-sec-hd h2{margin:0;max-width:none}
.al-eyebrow::after{display:none}
/* Infographies : plus de carte, le dessin respire sur le fond */
.al-fig,.al-sec>.al-fig{background:none;border:0;box-shadow:none;padding:0;border-radius:0}
.al-fig figcaption{text-align:left;border-top:1px solid var(--line);padding-top:.6rem}
/* Chiffres clés : un filet de couleur, pas de boîte */
.al-kpis{gap:0 28px}
.al-kpi{background:none;border:0;box-shadow:none;border-radius:0;padding:.2rem 0 .2rem 1rem;border-left:4px solid var(--coral);overflow:visible}
.al-kpi:nth-child(2){border-color:var(--teal)}.al-kpi:nth-child(3){border-color:var(--saffron)}.al-kpi:nth-child(4){border-color:var(--violet)}
.al-kpi::after{display:none}
.al-kpi strong{font-size:2rem}
/* Tuiles : colonnes ouvertes séparées par un filet */
.al-tiles{gap:22px 30px}
.al-tile{background:none;border:0;box-shadow:none;border-radius:0;padding:0;border-top:2px solid var(--line);padding-top:1rem}
.al-tile:hover{transform:none;box-shadow:none}
/* Étapes, pour/contre, phrases, tableaux, encadrés : plus légers */
.al-duo>div{background:none;border:0!important;border-radius:0;padding:0 0 0 1rem}
.al-duo-a{border-left:4px solid var(--teal)!important}.al-duo-b{border-left:4px solid var(--coral)!important}
.al-phrase{background:none;border:0;box-shadow:none;border-left:3px solid var(--coral);border-radius:0!important;padding:.2rem 0 .2rem .9rem}
.al-phrase:nth-child(even){border-color:var(--teal)}
.al-phrase:hover{transform:none}
.al-table-wrap{border:0;box-shadow:none;background:none;border-radius:0}
.al-table th:first-child,.al-table th:last-child{border-radius:0}
.al-table tbody tr:nth-child(even) td{background:rgba(239,228,210,.45)}
.al-callout,.al-note{border:0;border-radius:0 14px 14px 0;padding:1.1rem 1.3rem}
.al-callout{border-left:4px solid var(--teal)}
.al-note{border-left:4px solid var(--saffron)}
.al-sec>.al-callout,.al-sec>.al-note{padding:1.1rem 1.3rem}
/* FAQ : liste à filets */
.al-faq-item{background:none;border:0;border-bottom:1px solid var(--line);border-radius:0;box-shadow:none;margin-top:0}
.al-faq-item[open]{box-shadow:none}
.al-faq-item summary{padding:1.1rem 3rem 1.1rem 0}
.al-faq-item summary::after{right:0}
.al-faq-a{padding:0 0 1.2rem}
/* En-têtes de page : visuel sans cadre */
.al-phero-art{background:none;border:0;box-shadow:none}
.al-intro{max-width:var(--read)}
/* Formulaire : une seule zone, sans double cadre */
.qcms-form-wrap{background:none;border:0;box-shadow:none;padding:0}
.al-fig svg{max-width:920px;margin:0 auto}

/* Contraste (kit DA) : texte blanc sur corail sombre, corail clair réservé aux grands éléments */
.al-btn,.qcms-submit,.qcms-form button[type=submit]{background:var(--coral-d);border-color:var(--coral-d)}
.al-btn:hover,.qcms-submit:hover,.qcms-form button[type=submit]:hover{background:#B5341A;border-color:#B5341A}
.al-btn-ghost{background:transparent;border-color:var(--ink)}
.al-btn-ghost:hover{background:var(--ink);border-color:var(--ink)}
.al-kicker-bub{background:var(--coral-d)}
