/* ==========================================================================
   alsago.fr — page d'accueil 2026 — « Lumière suisse, la goutte dans la grille »
   Tout est scopé sous .alsago-home (intégration Avada : Code Block unique).
   ========================================================================== */
body { margin: 0; background: #F5F4EF; }

@font-face { font-family: "Archivo Fallback"; src: local("Arial"); size-adjust: 105%; ascent-override: 88%; descent-override: 22%; line-gap-override: 0%; }
@font-face { font-family: "Schibsted Fallback"; src: local("Arial"); size-adjust: 100.5%; ascent-override: 92%; descent-override: 24%; line-gap-override: 0%; }

.alsago-home {
  --encre: #1C1D1B; --encre-2: #26271F; --papier: #F5F4EF; --blanc: #FFFFFF;
  --graphite: #4F504A; --cendre: #B9BAB3; --filet: #CBCAC5; --filet-encre: #3F3F3D; --voile: #ECEBE6;
  --cyan: #009EE2; --cyan-profond: #005F94;
  --ff-display: "Archivo", "Archivo Fallback", Arial, sans-serif;
  --ff-text: "Schibsted Grotesk", "Schibsted Fallback", Arial, sans-serif;
  --fs-h1: clamp(2.125rem, 1rem + 3.6vw, 4rem);
  --fs-h2: clamp(1.75rem, 1.2rem + 2.2vw, 2.75rem);
  --fs-h3: clamp(1.125rem, 1rem + .4vw, 1.375rem);
  --fs-lead: clamp(1.125rem, 1.05rem + .35vw, 1.25rem);
  --fs-body: 1.0625rem; --fs-ui: .9375rem; --fs-eyebrow: .8125rem; --fs-meta: .8125rem; --fs-label: .6875rem;
  --fs-signature: clamp(2rem, 1.2rem + 3vw, 4.25rem);
  --fs-num: clamp(2.5rem, 1.5rem + 2.6vw, 4rem);
  --fs-tel: clamp(2.25rem, 5.2vw, 4.75rem);
  --pad-x: clamp(16px, 4vw, 48px); --pad-section: clamp(56px, 7vw, 112px); --header-h: 64px;
  --s-2: 8px; --s-3: 12px; --s-4: 16px; --s-6: 24px; --s-8: 32px; --s-12: 48px; --s-16: 64px; --s-24: 96px;
  font-family: var(--ff-text); font-size: var(--fs-body); line-height: 1.55; color: var(--encre); background: var(--papier);
  -webkit-font-smoothing: antialiased; color-scheme: light; font-synthesis: none; -webkit-text-size-adjust: 100%;
  position: relative;
}
.alsago-home *, .alsago-home *::before, .alsago-home *::after { box-sizing: border-box; }
.alsago-home :is(h1, h2, h3, p, ul, ol, dl, dd, figure, address, table) { margin: 0; }
.alsago-home :is(ul, ol) { padding: 0; }
.alsago-home a { color: inherit; }
.alsago-home img { max-width: 100%; height: auto; display: block; }
.alsago-home address { font-style: normal; }
.alsago-home p { max-width: 62ch; }
.alsago-home h3 { font: 600 var(--fs-h3)/1.2 var(--ff-display); letter-spacing: -.01em; text-wrap: balance; }
.alsago-home [hidden] { display: none !important; }
.alsago-home :focus-visible { outline: 2px solid var(--cyan-profond); outline-offset: 3px; }
.alsago-home .encart-cyan :focus-visible, .alsago-home .bandeau :focus-visible { outline-color: var(--encre); }
.alsago-home .sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.alsago-home .skip-link { position: absolute; left: -9999px; top: 8px; z-index: 100; background: var(--encre); color: var(--papier); padding: 12px 16px; font: 500 var(--fs-ui) var(--ff-text); text-decoration: none; }
.alsago-home .skip-link:focus { left: 8px; }

/* ---------- Grille & containers ---------- */
.alsago-home .container { max-width: 1440px; margin-inline: auto; padding-inline: var(--pad-x); }
.alsago-home .grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); }
.alsago-home .col-1-6 { grid-column: 1 / 6; }
.alsago-home .col-1-7 { grid-column: 1 / 7; }
.alsago-home .col-1-9 { grid-column: 1 / 9; }
.alsago-home .col-7-10 { grid-column: 7 / 10; }
.alsago-home .col-7-13 { grid-column: 7 / 13; }
.alsago-home .col-9-13 { grid-column: 9 / 13; }
.alsago-home .col-10-13 { grid-column: 10 / 13; }

/* ---------- Typographie ---------- */
.alsago-home .h2 { font: 700 var(--fs-h2)/1.05 var(--ff-display); letter-spacing: -.025em; text-wrap: balance; max-width: 26ch; margin-bottom: var(--s-12); }
.alsago-home .h2 + .lead, .alsago-home .h2 + p { margin-top: calc(18px - var(--s-12)); margin-bottom: var(--s-12); }
.alsago-home .eyebrow { font: 700 var(--fs-eyebrow)/1 var(--ff-display); font-stretch: 75%; letter-spacing: .16em; text-transform: uppercase; margin-bottom: var(--s-4); }
.alsago-home .eyebrow-cyan { color: var(--cyan-profond); }
.alsago-home .label { font: 600 var(--fs-label)/1.3 var(--ff-display); font-stretch: 80%; letter-spacing: .12em; text-transform: uppercase; color: var(--graphite); font-variant-numeric: tabular-nums; }
.alsago-home .meta { font: 400 var(--fs-meta)/1.45 var(--ff-text); color: var(--graphite); }
.alsago-home .lead { font-size: var(--fs-lead); line-height: 1.45; max-width: 48ch; }
.alsago-home .strong { font-weight: 600; }
.alsago-home p a { color: var(--cyan-profond); text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.alsago-home p a:hover { text-decoration-thickness: 2px; }

/* ---------- Icônes ---------- */
.alsago-home .ico { width: 18px; height: 18px; flex: none; }
.alsago-home .ico-lg { width: 24px; height: 24px; }
.alsago-home .puce { width: 12px; height: 6.25px; color: var(--cyan); flex: none; }

/* ---------- Boutons & liens ---------- */
.alsago-home .btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; height: 48px; padding: 0 22px; font: 500 var(--fs-ui)/1 var(--ff-text); text-decoration: none; border: 2px solid transparent; cursor: pointer; white-space: nowrap; border-radius: 0; transition: background .15s, color .15s; }
.alsago-home .btn:active { transform: translateY(1px); }
.alsago-home .btn-primary { background: var(--encre); color: var(--papier); border-color: var(--encre); }
.alsago-home .btn-primary:hover { background: var(--encre-2); }
.alsago-home .btn-outline { background: transparent; color: var(--encre); border-color: var(--encre); }
.alsago-home .btn-outline:hover { background: var(--voile); }
.alsago-home .btn-inverse { background: var(--papier); color: var(--encre); border-color: var(--papier); }
.alsago-home .btn-inverse:hover { background: var(--blanc); }
.alsago-home .btn-outline-light { background: transparent; color: var(--papier); border-color: var(--papier); }
.alsago-home .btn-outline-light:hover { background: rgba(245, 244, 239, .1); }
.alsago-home .btn-sm { height: 40px; padding: 0 16px; }
.alsago-home .btn-block { width: 100%; }
.alsago-home .btn[disabled] { opacity: .6; cursor: progress; }
.alsago-home .link-arrow { display: inline-flex; align-items: center; gap: 8px; font: 500 var(--fs-ui)/1.3 var(--ff-text); color: var(--encre); text-decoration: underline; text-decoration-color: var(--cyan-profond); text-decoration-thickness: 1px; text-underline-offset: 5px; }
.alsago-home .link-arrow:hover { text-decoration-thickness: 2px; }
.alsago-home .link-arrow .ico { width: 16px; height: 16px; transition: transform .15s; }
.alsago-home .link-arrow:hover .ico { transform: translateX(4px); }
.alsago-home .link-light { color: var(--papier); text-decoration-color: var(--cyan); }
.alsago-home .icon-btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-width: 44px; height: 44px; padding: 0 6px; background: none; border: 0; color: var(--encre); font: 600 13px/1 var(--ff-display); letter-spacing: .06em; text-transform: uppercase; cursor: pointer; text-decoration: none; }
.alsago-home .icon-btn .ico { width: 22px; height: 22px; }
.alsago-home .cta-row { display: flex; align-items: center; gap: var(--s-6); flex-wrap: wrap; }
.alsago-home .sec-foot { margin-top: var(--s-6); }

/* ---------- Bandeau desktop ---------- */
.alsago-home .bandeau { display: none; background: var(--cyan); color: var(--encre); height: 40px; }
.alsago-home .bandeau .container { display: flex; align-items: center; justify-content: space-between; height: 40px; gap: 16px; }
.alsago-home .bandeau a { display: inline-flex; align-items: center; gap: 10px; font: 500 var(--fs-ui)/1 var(--ff-text); color: var(--encre); text-decoration: none; }
.alsago-home .bandeau a:hover { text-decoration: underline; text-underline-offset: 3px; }
.alsago-home .bandeau-close { width: 40px; height: 40px; display: inline-flex; align-items: center; justify-content: center; background: none; border: 0; color: var(--encre); cursor: pointer; }
.alsago-home.no-bandeau .bandeau { display: none !important; }

/* ---------- En-tête ---------- */
.alsago-home .site-header { position: sticky; top: 0; z-index: 50; background: var(--papier); border-bottom: 1px solid var(--filet); height: var(--header-h); }
.alsago-home .site-header > .container { display: flex; align-items: center; gap: 28px; height: var(--header-h); }
.alsago-home .brand { display: block; flex: none; }
.alsago-home .brand img { height: 32px; width: auto; }
.alsago-home .nav-main { display: none; }
.alsago-home .nav-main ul { display: flex; gap: 24px; list-style: none; }
.alsago-home .nav-main a, .alsago-home .nav-main button { display: inline-flex; align-items: center; gap: 4px; white-space: nowrap; font: 500 var(--fs-ui)/1 var(--ff-text); color: var(--encre); background: none; border: 0; padding: 10px 0; cursor: pointer; text-decoration: none; background-image: linear-gradient(var(--cyan-profond), var(--cyan-profond)); background-size: 0 2px; background-repeat: no-repeat; background-position: 0 100%; transition: background-size .15s; }
.alsago-home .nav-main .ico { width: 14px; height: 14px; }
.alsago-home .nav-main a:hover, .alsago-home .nav-main button:hover, .alsago-home .nav-main a:focus-visible, .alsago-home .nav-main button:focus-visible, .alsago-home .nav-main [aria-expanded="true"], .alsago-home .nav-main [aria-current="page"] { background-size: 100% 2px; }
.alsago-home .header-tel { display: none; flex: none; white-space: nowrap; margin-left: auto; text-align: right; text-decoration: none; color: var(--encre); }
.alsago-home .header-cta { flex: none; margin-left: auto; }
.alsago-home .header-tel b { display: block; font: 700 15px/1 var(--ff-display); font-stretch: 80%; font-variant-numeric: tabular-nums; }
.alsago-home .header-tel small { display: block; margin-top: 4px; font: 600 var(--fs-label)/1 var(--ff-display); font-stretch: 80%; letter-spacing: .12em; text-transform: uppercase; color: var(--graphite); }
.alsago-home .header-cta { display: none; }
.alsago-home .header-tel-m { margin-left: auto; }
.alsago-home .progress { position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; background: var(--cyan); transform-origin: left; transform: scaleX(0); animation: ah-progress linear both; animation-timeline: scroll(root); }
@keyframes ah-progress { to { transform: scaleX(1); } }
@supports not (animation-timeline: scroll()) { .alsago-home .progress { display: none; } }
.alsago-home .mega { position: absolute; left: 0; right: 0; top: 100%; background: var(--papier); border-bottom: 1px solid var(--filet); box-shadow: 0 16px 24px -20px rgba(28, 29, 27, .28); padding-block: 24px 28px; }
.alsago-home .mega[hidden] { display: none; }
.alsago-home .mega-list { list-style: none; padding-right: 40px; }
.alsago-home .mega-list a { display: grid; grid-template-columns: 1fr auto; column-gap: 24px; padding: 12px 12px; border-top: 1px solid var(--filet); text-decoration: none; color: inherit; transition: background .15s; }
.alsago-home .mega-list li:last-child a { border-bottom: 1px solid var(--filet); }
.alsago-home .mega-list a:hover, .alsago-home .mega-list a:focus-visible { background: var(--voile); }
.alsago-home .mega-title { font: 600 1.0625rem/1.2 var(--ff-display); }
.alsago-home .mega-desc { grid-column: 1; font: 400 var(--fs-ui)/1.4 var(--ff-text); color: var(--graphite); }
.alsago-home .mega-list .label { grid-column: 2; grid-row: 1 / 3; align-self: center; }
.alsago-home .mega-aside { border-left: 1px solid var(--filet); padding-left: 32px; display: flex; flex-direction: column; justify-content: space-between; gap: 24px; }
.alsago-home .mega-all { display: inline-flex; align-items: center; gap: 10px; font: 600 1.0625rem/1.3 var(--ff-display); text-decoration: none; padding: 14px 0; border-top: 1px solid var(--filet); border-bottom: 1px solid var(--filet); }
.alsago-home .mega-all:hover { color: var(--cyan-profond); }

/* ---------- Hero ---------- */
.alsago-home .hero { position: relative; overflow-x: clip; background: var(--papier); }
.alsago-home .hero > .container { position: relative; min-height: clamp(560px, calc(100svh - var(--header-h)), 900px); display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); align-items: center; padding-block: clamp(40px, 6vw, 72px) 76px; }
.alsago-home .hero-rules { position: absolute; top: 0; bottom: 0; left: var(--pad-x); right: var(--pad-x); pointer-events: none; }
.alsago-home .hero-rules i { position: absolute; top: 0; bottom: 0; width: 1px; background: var(--filet); left: calc(100% * var(--i) / 12); transform: scaleY(0); transform-origin: top; transition: transform .5s cubic-bezier(.2, .7, .2, 1); transition-delay: calc(var(--i) * 40ms); }
.alsago-home.no-js .hero-rules i, .alsago-home .hero.is-ready .hero-rules i { transform: scaleY(1); }
.alsago-home .hero-text { grid-column: 1 / 7; position: relative; z-index: 1; padding-right: clamp(24px, 4vw, 64px); }
.alsago-home .hero .eyebrow { color: var(--graphite); }
.alsago-home .hero-title { font: 700 var(--fs-h1)/.96 var(--ff-display); letter-spacing: -.035em; margin-bottom: 24px; text-wrap: balance; }
.alsago-home .hero-title-em { font-style: italic; font-weight: 800; letter-spacing: -.03em; }
@media (min-width: 1200px) { .alsago-home .hero-title-em { white-space: nowrap; } }
.alsago-home .dot { color: var(--cyan); }
.alsago-home .hero .lead { margin-bottom: 32px; }
.alsago-home .hero-cta { display: flex; align-items: center; gap: var(--s-6); flex-wrap: wrap; margin-bottom: 14px; }
.alsago-home .hero-side { grid-column: 7 / 13; position: relative; z-index: 1; }
.alsago-home .signature-line { font: 700 italic var(--fs-eyebrow)/1 var(--ff-display); font-stretch: 75%; letter-spacing: .16em; text-transform: uppercase; margin-bottom: 14px; max-width: none; }
.alsago-home .signature-line .s1 { color: var(--cyan-profond); }
.alsago-home .hero-media-wrap { position: relative; width: calc(100% + var(--pad-x)); aspect-ratio: 435 / 226; }
.alsago-home .hero-media { position: absolute; inset: 0; background: var(--encre); overflow: hidden; isolation: isolate; transform: translateZ(0); clip-path: url(#goutte); -webkit-clip-path: url(#goutte); }
.alsago-home .hero-poster, .alsago-home .hero-canvas, .alsago-home .hero-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.alsago-home .hero-canvas { opacity: 0; transition: opacity .8s; }
.alsago-home .hero.canvas-on .hero-canvas { opacity: 1; }
.alsago-home .hero-video { opacity: 0; transition: opacity .3s; }
.alsago-home .hero-video.is-playing { opacity: 1; }
.alsago-home .hero.video-on .hero-canvas { display: none; }
.alsago-home .hero-media .grain { opacity: .07; }
.alsago-home .hero.is-ready.fade .hero-media { animation: ah-fade .45s .3s both; }
@keyframes ah-fade { from { opacity: 0; } to { opacity: 1; } }
.alsago-home .hero-lisere { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; overflow: visible; }
.alsago-home .hero-lisere path { stroke-dasharray: 1; stroke-dashoffset: 1; transition: stroke-dashoffset .7s cubic-bezier(.2, .7, .2, 1) .1s; }
.alsago-home.no-js .hero-lisere path, .alsago-home .hero.is-ready .hero-lisere path { stroke-dashoffset: 0; }
.alsago-home .hero-caption-row { display: flex; justify-content: space-between; align-items: center; gap: 16px; width: calc(100% + var(--pad-x)); margin-top: 18px; padding-top: 12px; border-top: 1px solid var(--filet); }
.alsago-home .media-toggle { width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--encre); background: var(--papier); color: var(--encre); cursor: pointer; flex: none; padding: 0; }
.alsago-home .media-toggle:hover { background: var(--voile); }
.alsago-home .media-toggle .ico { width: 20px; height: 20px; }
.alsago-home .media-toggle .ico-play { display: none; }
.alsago-home .media-toggle.is-paused .ico-play { display: block; }
.alsago-home .media-toggle.is-paused .ico-pause { display: none; }
.alsago-home .hero-corner { position: absolute; bottom: 22px; font: 600 var(--fs-label)/1 var(--ff-display); font-stretch: 80%; letter-spacing: .12em; text-transform: uppercase; color: var(--graphite); text-decoration: none; font-variant-numeric: tabular-nums; max-width: none; }
.alsago-home .hero-corner-l { left: var(--pad-x); }
.alsago-home .hero-corner-r { right: var(--pad-x); }
.alsago-home a.hero-corner:hover { color: var(--encre); }
.alsago-home .grain { position: absolute; inset: 0; background: url(assets/grain.png) repeat; background-size: 128px 128px; opacity: .05; mix-blend-mode: overlay; pointer-events: none; }
.alsago-home .grain-light { opacity: .035; mix-blend-mode: multiply; }

/* ---------- Routeur de besoin ---------- */
.alsago-home .routeur ul { list-style: none; display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--filet); border-bottom: 1px solid var(--filet); }
.alsago-home .routeur li + li { border-left: 1px solid var(--filet); }
.alsago-home .routeur a { display: flex; justify-content: space-between; align-items: center; gap: 12px; min-height: 64px; padding: 12px 24px; font: 500 1.0625rem/1.25 var(--ff-text); text-decoration: none; color: var(--encre); transition: background .15s; }
.alsago-home .routeur a:hover, .alsago-home .routeur a:focus-visible { background: var(--voile); }
.alsago-home .routeur .ico { transition: transform .15s; }
.alsago-home .routeur a:hover .ico { transform: translate(2px, -2px); }

/* ---------- Cartouche de preuves ---------- */
.alsago-home .preuves { border-top: 0; padding-block: var(--s-12) var(--s-16); }
.alsago-home .cartouche { display: grid; grid-template-columns: repeat(6, 1fr); border: 1px solid var(--filet); }
.alsago-home .cell { padding: 18px 22px 22px; min-height: 176px; }
.alsago-home .cell + .cell { border-left: 1px solid var(--filet); }
.alsago-home .cell dt { font: 600 var(--fs-label)/1.3 var(--ff-display); font-stretch: 80%; letter-spacing: .12em; text-transform: uppercase; color: var(--graphite); margin-bottom: 14px; }
.alsago-home .num { display: block; font: 800 var(--fs-num)/.9 var(--ff-display); letter-spacing: -.03em; font-variant-numeric: tabular-nums; min-width: 4ch; }
.alsago-home .unit { display: block; margin-top: 10px; font: 400 13px/1.4 var(--ff-text); color: var(--graphite); }
.alsago-home .cert { display: block; text-decoration: none; color: inherit; }
.alsago-home .cert img { width: 96px; height: auto; margin-bottom: 10px; }
.alsago-home .cert span { display: block; font: 400 13px/1.4 var(--ff-text); color: var(--graphite); }
.alsago-home .partners { list-style: none; display: grid; grid-template-columns: 1fr 1fr; gap: 10px 14px; align-items: center; }
.alsago-home .partners img { height: 36px; width: auto; filter: grayscale(1); opacity: .85; transition: filter .15s, opacity .15s; }
.alsago-home .partners a:hover img, .alsago-home .partners a:focus-visible img { filter: none; opacity: 1; }
.alsago-home .source { margin-top: 12px; }

/* ---------- Sections ---------- */
.alsago-home main > section { padding-block: var(--pad-section); border-top: 1px solid var(--filet); }
.alsago-home .hero { border-top: 0; padding: 0; }
/* Révélation des sections : animation CSS pilotée par le défilement ; sans support navigateur, le contenu est simplement visible */
@supports (animation-timeline: view()) {
  .alsago-home .reveal { animation: ah-reveal linear both; animation-timeline: view(); animation-range: entry 0% entry 18%; }
  @keyframes ah-reveal { from { opacity: .001; transform: translateY(12px); } to { opacity: 1; transform: none; } }
}

/* Trois pôles */
.alsago-home .poles-grid { display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid var(--filet); }
.alsago-home .pole { padding: 32px 28px 36px; display: flex; flex-direction: column; gap: 14px; min-height: 380px; transition: background .15s; }
.alsago-home .pole + .pole { border-left: 1px solid var(--filet); }
.alsago-home .pole:hover { background: var(--voile); }
.alsago-home .pole p { flex: 1; }
.alsago-home .pole .link-arrow { align-self: flex-start; }
.alsago-home .pole-encre { background: var(--encre); color: var(--papier); }
.alsago-home .pole-encre:hover { background: var(--encre-2); }
.alsago-home .pole-encre .link-arrow { color: var(--papier); text-decoration-color: var(--cyan); }
.alsago-home .pole-encre :focus-visible { outline-color: var(--cyan); }
.alsago-home .signature { display: block; font: 700 var(--fs-signature)/1 var(--ff-display); font-stretch: 75%; letter-spacing: .06em; text-transform: uppercase; margin-bottom: 8px; }
.alsago-home .s-cyan { color: var(--cyan); }

/* Formation IA */
.alsago-home .fia-left { padding-right: clamp(24px, 4vw, 64px); }
.alsago-home .fia-prix { margin: 20px 0 18px; max-width: none; font-size: var(--fs-ui); }
.alsago-home .fia-prix strong { color: var(--encre); font-weight: 600; }
.alsago-home .resultats { list-style: none; margin-bottom: 28px; border-bottom: 1px solid var(--filet); }
.alsago-home .resultats li { display: flex; gap: 12px; align-items: flex-start; padding: 12px 0; border-top: 1px solid var(--filet); }
.alsago-home .resultats .puce { margin-top: 9px; }
.alsago-home .tableau .row { display: grid; grid-template-columns: 5fr 7fr; gap: 8px 32px; padding: 26px 0; border-top: 1px solid var(--filet); }
.alsago-home .tableau .row:last-child { border-bottom: 1px solid var(--filet); }
.alsago-home .tableau h3 { font-size: 1.125rem; }

/* Index des formations */
.alsago-home .index { border-bottom: 1px solid var(--filet); }
.alsago-home .index-row { display: grid; grid-template-columns: 4fr 5fr 2fr 24px; align-items: center; gap: 12px 24px; min-height: 64px; padding: 14px 16px; margin-inline: -16px; border-top: 1px solid var(--filet); text-decoration: none; color: inherit; transition: background .15s; }
.alsago-home .index-row:hover, .alsago-home .index-row:focus-visible { background: var(--voile); }
.alsago-home .index-row .ico { justify-self: end; transition: transform .15s; }
.alsago-home .index-row:hover .ico { transform: translateX(4px); }
.alsago-home .index-row-lg { min-height: 96px; }
.alsago-home .index-title { font: 600 var(--fs-h3)/1.2 var(--ff-display); letter-spacing: -.01em; }
.alsago-home .index-row:not(.index-row-lg) .index-title { font-size: 1.0625rem; }
.alsago-home .index-desc { font: 400 var(--fs-ui)/1.4 var(--ff-text); color: var(--graphite); }
.alsago-home .index-group { font: 600 1.125rem/1.3 var(--ff-display); letter-spacing: -.01em; padding: 24px 0 12px; border-top: 1px solid var(--filet); }
.alsago-home .index-foot { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 16px 0; border-top: 1px solid var(--filet); flex-wrap: wrap; }

/* Services */
.alsago-home .services { overflow-x: clip; }
.alsago-home .services .col-1-9 { padding-right: clamp(24px, 4vw, 64px); }
.alsago-home .cells-2x2 { display: grid; grid-template-columns: 1fr 1fr; border: 1px solid var(--filet); }
.alsago-home .cell-s { padding: 28px 28px 32px; display: flex; flex-direction: column; gap: 12px; }
.alsago-home .cell-s:nth-child(even) { border-left: 1px solid var(--filet); }
.alsago-home .cell-s:nth-child(n+3) { border-top: 1px solid var(--filet); }
.alsago-home .cell-s p { flex: 1; }
.alsago-home .cell-s .ico-lg { margin-bottom: 4px; }
.alsago-home .services-sticky { position: sticky; top: calc(var(--header-h) + 24px); align-self: start; display: flex; flex-direction: column; gap: 12px; }
.alsago-home .tel-hours { margin-bottom: 12px; }
.alsago-home .encart-cyan { background: var(--cyan); color: var(--encre); padding: 24px; position: relative; }
.alsago-home .encart-goutte { position: absolute; top: 18px; right: 18px; width: 30px; height: 15.6px; color: var(--encre); }
.alsago-home .encart-cyan h3 { font-size: 1.125rem; margin-bottom: 10px; padding-right: 44px; }
.alsago-home .encart-cyan p { font-size: var(--fs-ui); margin-bottom: 14px; }
.alsago-home .encart-cyan > a { color: var(--encre); font-weight: 600; text-decoration: underline; text-underline-offset: 4px; }

/* IA & automatisation */
.alsago-home .ia-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--filet); border-bottom: 1px solid var(--filet); margin-top: 40px; }
.alsago-home .ia-col { padding: 28px 28px 32px 0; display: flex; flex-direction: column; gap: 12px; }
.alsago-home .ia-col + .ia-col { border-left: 1px solid var(--filet); padding-left: 28px; }
.alsago-home .ia-col p { flex: 1; }
.alsago-home .links-meta { flex: 0 0 auto; }

/* Pourquoi */
.alsago-home .pourquoi .col-1-6 { padding-right: clamp(24px, 4vw, 64px); }
.alsago-home .rows { border-bottom: 1px solid var(--filet); }
.alsago-home .row-h3 { padding: 22px 0; border-top: 1px solid var(--filet); display: flex; flex-direction: column; gap: 10px; }
.alsago-home .row-h3 .link-arrow { align-self: flex-start; margin-top: 4px; }
.alsago-home .figure { border: 1px solid var(--filet); margin-bottom: 16px; }
.alsago-home .figure img { aspect-ratio: 3 / 2; object-fit: cover; width: 100%; }
.alsago-home .figure figcaption { padding: 10px 12px; border-top: 1px solid var(--filet); }
.alsago-home .pourquoi .strong { margin-bottom: 36px; }
.alsago-home .etapes { list-style: none; margin-bottom: 28px; border-bottom: 1px solid var(--filet); }
.alsago-home .etapes li { display: grid; grid-template-columns: 56px 1fr; gap: 16px; align-items: baseline; padding: 14px 0; border-top: 1px solid var(--filet); }
.alsago-home .etape-num { font: 800 2.5rem/1 var(--ff-display); letter-spacing: -.03em; }

/* Financer */
.alsago-home .aides { width: 100%; border-collapse: collapse; border-top: 1px solid var(--filet); border-bottom: 1px solid var(--filet); }
.alsago-home .aides th, .alsago-home .aides td { text-align: left; vertical-align: top; padding: 22px 32px 22px 0; border-top: 1px solid var(--filet); font-weight: 400; }
.alsago-home .aides thead th { font: 600 var(--fs-label)/1.3 var(--ff-display); font-stretch: 80%; letter-spacing: .12em; text-transform: uppercase; color: var(--graphite); padding: 12px 32px 12px 0; border-top: 0; }
.alsago-home .aides th[scope="row"] { width: 32%; font: 600 1.0625rem/1.3 var(--ff-display); letter-spacing: -.01em; }
.alsago-home .aides td:nth-child(2) { width: 24%; color: var(--graphite); }
.alsago-home .aides td a { color: var(--cyan-profond); text-decoration: underline; text-underline-offset: 3px; }

/* Groupe */
.alsago-home .groupe .col-1-7 { padding-right: clamp(24px, 4vw, 64px); }
.alsago-home .gcell { border: 1px solid var(--filet); padding: 24px; display: flex; flex-direction: column; gap: 10px; }
.alsago-home .gcell + .gcell { border-left: 0; }
.alsago-home .gcell p { flex: 1; }
.alsago-home .glogo { height: 26px; width: auto; filter: invert(1); opacity: .85; margin-bottom: 6px; }

/* Actualités */
.alsago-home .sec-head-row { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; flex-wrap: wrap; margin-bottom: var(--s-8); }
.alsago-home .sec-head-row .h2 { margin-bottom: 0; }
.alsago-home .actu-list { border-bottom: 1px solid var(--filet); }
.alsago-home .actu-row { display: grid; grid-template-columns: 120px 1fr 150px 24px; gap: 8px 24px; align-items: center; padding: 20px 16px; margin-inline: -16px; transition: background .15s; border-top: 1px solid var(--filet); text-decoration: none; color: inherit; }
.alsago-home .actu-row h3 { font-size: 1.125rem; }
.alsago-home .actu-row:hover, .alsago-home .actu-row:focus-visible { background: var(--voile); }
.alsago-home .actu-row .ico { justify-self: end; transition: transform .15s; }
.alsago-home .actu-row:hover .ico { transform: translateX(4px); }

/* FAQ */
.alsago-home .faq-h2 { position: sticky; top: calc(var(--header-h) + 24px); }
.alsago-home .faq-list { border-bottom: 1px solid var(--filet); }
.alsago-home .faq-item { border-top: 1px solid var(--filet); }
.alsago-home .faq-item button { width: 100%; display: flex; justify-content: space-between; align-items: center; gap: 16px; text-align: left; background: none; border: 0; padding: 18px 0; min-height: 56px; font: 600 var(--fs-h3)/1.25 var(--ff-display); letter-spacing: -.01em; color: var(--encre); cursor: pointer; }
.alsago-home .faq-marker { width: 24px; height: 12.5px; color: var(--encre); flex: none; transition: transform .15s; transform: rotate(14deg); }
.alsago-home .faq-item button[aria-expanded="true"] .faq-marker { transform: rotate(0); }
.alsago-home .faq-item [role="region"] { padding: 0 48px 22px 0; }
.alsago-home .faq-item [role="region"][hidden] { display: none; }

/* CTA final */
.alsago-home .cta-final { background: var(--encre); color: var(--papier); position: relative; padding-block: var(--s-24); border-top: 0; }
.alsago-home .cta-final > .grain { opacity: .06; }
.alsago-home .cta-grid { position: relative; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); }
.alsago-home .cta-grid::before { content: ""; position: absolute; inset: -32px 0; background-image: repeating-linear-gradient(90deg, var(--filet-encre) 0 1px, transparent 1px calc(100% / 12)); pointer-events: none; }
.alsago-home .cta-left { grid-column: 1 / 7; position: relative; padding-right: clamp(24px, 4vw, 64px); }
.alsago-home .cta-right { grid-column: 8 / 13; position: relative; display: flex; flex-direction: column; justify-content: flex-end; align-items: flex-end; gap: 10px; text-align: right; }
.alsago-home .cta-final .h2 { color: var(--papier); }
.alsago-home .cyan { color: var(--cyan); }
.alsago-home .cta-lead { color: var(--cendre); font-size: var(--fs-lead); line-height: 1.45; max-width: 46ch; margin-bottom: 36px; }
.alsago-home .rappel { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 20px; margin-bottom: 36px; background: rgba(245, 244, 239, .03); padding: 24px; border: 1px solid var(--filet-encre); }
.alsago-home .rappel h3 { grid-column: 1 / -1; color: var(--papier); font-size: 1.125rem; }
.alsago-home .hp { position: absolute; left: -9999px; }
.alsago-home .field { display: flex; flex-direction: column; gap: 6px; }
.alsago-home .field label { font: 500 var(--fs-ui)/1.2 var(--ff-text); color: var(--papier); }
.alsago-home .field input, .alsago-home .field select { height: 48px; width: 100%; background: var(--blanc); border: 1px solid var(--encre); padding: 0 12px; font: 400 1rem/1 var(--ff-text); color: var(--encre); border-radius: 0; appearance: none; -webkit-appearance: none; }
.alsago-home .field input::placeholder { color: var(--graphite); }
.alsago-home .select-wrap { position: relative; display: block; }
.alsago-home .select-wrap .ico { position: absolute; right: 12px; top: 15px; pointer-events: none; color: var(--encre); }
.alsago-home .field select { padding-right: 40px; }
.alsago-home .field [aria-invalid="true"] { outline: 2px solid var(--papier); outline-offset: 2px; }
.alsago-home .err { font: 400 13px/1.3 var(--ff-text); color: var(--papier); }
.alsago-home .err:empty { display: none; }
.alsago-home .rgpd { grid-column: 1 / -1; color: var(--cendre); max-width: none; }
.alsago-home .rgpd a { color: var(--papier); }
.alsago-home .rappel .btn { grid-column: 1 / -1; justify-self: start; }
.alsago-home .form-status { grid-column: 1 / -1; color: var(--papier); font-weight: 600; max-width: none; }
.alsago-home .form-status:empty { display: none; }
.alsago-home .cta-row-dark { margin-top: 4px; }
.alsago-home .tel-geant { display: block; font: 800 italic var(--fs-tel)/.95 var(--ff-display); letter-spacing: -.03em; font-variant-numeric: tabular-nums; white-space: nowrap; color: var(--papier); text-decoration: none; user-select: text; transition: color .15s; }
.alsago-home .tel-geant:hover { text-decoration: underline; text-decoration-color: var(--cyan); text-decoration-thickness: 3px; text-underline-offset: .08em; }
.alsago-home .meta-dark { color: var(--cendre); }
.alsago-home .cta-logo { width: 240px; height: auto; margin-top: 28px; }
.alsago-home .cta-final :focus-visible { outline-color: var(--cyan); }

/* ---------- Footer ---------- */
.alsago-home .site-footer { border-top: 1px solid var(--filet); padding-block: var(--s-16) var(--s-8); }
.alsago-home .footer-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 32px; }
.alsago-home .footer-title { font: 600 var(--fs-label)/1.3 var(--ff-display); font-stretch: 80%; letter-spacing: .12em; text-transform: uppercase; color: var(--graphite); margin-bottom: 16px; }
.alsago-home .fcol ul { list-style: none; }
.alsago-home .fcol li { margin: 8px 0; }
.alsago-home .fcol a { text-decoration: none; font-size: var(--fs-ui); }
.alsago-home .fcol a:hover { text-decoration: underline; text-decoration-color: var(--cyan-profond); text-underline-offset: 3px; }
.alsago-home .fcol address { font-size: var(--fs-ui); line-height: 1.65; }
.alsago-home .footer-logo { width: 96px; margin-top: 20px; }
.alsago-home .footer-bottom { margin-top: var(--s-12); padding-top: 20px; border-top: 1px solid var(--filet); display: flex; flex-direction: column; gap: 12px; }
.alsago-home .footer-bottom .meta { max-width: none; }
.alsago-home .footer-legal { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; }
.alsago-home .footer-legal .meta a { color: var(--graphite); }
.alsago-home .linkbtn { background: none; border: 0; padding: 0; font: inherit; color: var(--graphite); text-decoration: underline; cursor: pointer; }
.alsago-home .social { list-style: none; display: flex; gap: 8px; }
.alsago-home .social a { width: 40px; height: 40px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--filet); color: var(--encre); }
.alsago-home .social a:hover { background: var(--voile); }

/* ---------- Barre collante mobile ---------- */
.alsago-home .stickybar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 60; display: none; grid-template-columns: 1fr 1fr; gap: 8px; padding: 4px 8px calc(4px + env(safe-area-inset-bottom)); background: var(--papier); border-top: 1px solid var(--filet); }

/* ---------- Menu mobile ---------- */
.alsago-home .menu-mobile { position: fixed; inset: 0; z-index: 70; background: var(--papier); overflow: auto; overscroll-behavior: contain; padding: 0 var(--pad-x) 32px; }
.alsago-home .menu-mobile[hidden] { display: none; }
.alsago-home .menu-mobile-head { height: var(--header-h); display: flex; align-items: center; justify-content: space-between; }
.alsago-home .menu-logo { height: 28px; width: auto; }
.alsago-home .menu-mobile-top { display: flex; flex-direction: column; gap: 16px; padding: 16px 0 24px; border-bottom: 1px solid var(--filet); }
.alsago-home .menu-tel { font: 700 20px/1.2 var(--ff-display); font-stretch: 80%; text-decoration: none; font-variant-numeric: tabular-nums; }
.alsago-home .menu-tel small { display: block; margin-top: 4px; font: 600 var(--fs-label)/1.3 var(--ff-display); letter-spacing: .12em; text-transform: uppercase; color: var(--graphite); }
.alsago-home .menu-mobile-list { list-style: none; }
.alsago-home .menu-mobile-list > li { border-bottom: 1px solid var(--filet); }
.alsago-home .menu-mobile-list > li > a, .alsago-home .menu-mobile-list summary { display: flex; justify-content: space-between; align-items: center; min-height: 56px; padding: 8px 0; font: 500 1.0625rem/1.3 var(--ff-text); text-decoration: none; color: var(--encre); cursor: pointer; list-style: none; }
.alsago-home .menu-mobile-list summary::-webkit-details-marker { display: none; }
.alsago-home .menu-mobile-list details[open] summary .ico { transform: rotate(180deg); }
.alsago-home .menu-mobile-list details ul { list-style: none; padding: 0 0 12px 16px; }
.alsago-home .menu-mobile-list details ul a { display: block; padding: 10px 0; text-decoration: none; color: var(--graphite); }
.alsago-home .menu-mobile-foot { margin-top: 24px; }
.alsago-home .menu-mobile-foot a { color: var(--graphite); }

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (min-width: 1024px) {
  .alsago-home .bandeau { display: block; }
  .alsago-home .nav-main { display: block; }
  .alsago-home .header-cta { display: inline-flex; }
  .alsago-home .header-tel-m, .alsago-home .header-menu { display: none; }
}
@media (min-width: 1280px) {
  .alsago-home .header-tel { display: block; }
  .alsago-home .header-tel + .header-cta { margin-left: 0; }
}
.alsago-home .header-cta .lbl-short { display: none; }
@media (min-width: 1024px) and (max-width: 1279.98px) {
  .alsago-home .site-header > .container { gap: 16px; }
  .alsago-home .nav-main ul { gap: 14px; }
  .alsago-home .nav-main a, .alsago-home .nav-main button { font-size: .875rem; }
  .alsago-home .brand img { height: 28px; }
  .alsago-home .header-cta { padding: 0 14px; }
  .alsago-home .header-cta .puce { display: none; }
  .alsago-home .header-cta .lbl-long { display: none; }
  .alsago-home .header-cta .lbl-short { display: inline; }
  .alsago-home .cartouche { grid-template-columns: repeat(3, 1fr); }
  .alsago-home .cell:nth-child(3n+1) { border-left: 0; }
  .alsago-home .cell:nth-child(n+4) { border-top: 1px solid var(--filet); }
}
@media (max-width: 1023.98px) {
  .alsago-home [class*="col-"] { grid-column: 1 / -1; }
  .alsago-home .hero-text { grid-column: 1 / 7; }
  .alsago-home .hero-side { grid-column: 7 / 13; }
  .alsago-home .hero > .container { min-height: 0; padding-block: 48px 72px; }
  .alsago-home .cartouche { grid-template-columns: repeat(3, 1fr); }
  .alsago-home .cell + .cell { border-left: 1px solid var(--filet); }
  .alsago-home .cell:nth-child(3n+1) { border-left: 0; }
  .alsago-home .cell:nth-child(n+4) { border-top: 1px solid var(--filet); }
  .alsago-home .poles-grid { grid-template-columns: 1fr; }
  .alsago-home .pole { min-height: 0; }
  .alsago-home .pole + .pole { border-left: 0; border-top: 1px solid var(--filet); }
  .alsago-home .signature { letter-spacing: .04em; }
  .alsago-home .fia-left { padding-right: 0; }
  .alsago-home .fia-right { margin-top: 40px; }
  .alsago-home .tableau .row { grid-template-columns: 1fr; }
  .alsago-home .services .col-1-9 { padding-right: 0; }
  .alsago-home .services-sticky { position: static; margin-top: 32px; max-width: 480px; }
  .alsago-home .ia-grid { grid-template-columns: 1fr; }
  .alsago-home .ia-col { padding-right: 0; }
  .alsago-home .ia-col + .ia-col { border-left: 0; border-top: 1px solid var(--filet); padding-left: 0; }
  .alsago-home .pourquoi .col-1-6 { padding-right: 0; }
  .alsago-home .pourquoi .col-7-13 { margin-top: 40px; }
  .alsago-home .groupe .col-1-7 { padding-right: 0; margin-bottom: 24px; }
  .alsago-home .gcell + .gcell { border-left: 1px solid var(--filet); border-top: 0; }
  .alsago-home .faq-h2 { position: static; }
  .alsago-home .faq .col-7-13 { margin-top: 8px; }
  .alsago-home .cta-left, .alsago-home .cta-right { grid-column: 1 / -1; }
  .alsago-home .cta-left { padding-right: 0; }
  .alsago-home .cta-right { align-items: flex-start; text-align: left; margin-top: 40px; }
  .alsago-home .cta-grid::before { display: none; }
  .alsago-home .footer-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 767.98px) {
  .alsago-home .hero > .container { grid-template-columns: 1fr; padding-block: 36px 56px; }
  .alsago-home .hero-rules { display: none; }
  .alsago-home .hero-text { grid-column: 1; padding-right: 0; }
  .alsago-home .hero-side { grid-column: 1; margin-top: 36px; width: 82%; margin-left: auto; }
  .alsago-home .hero-media-wrap { width: calc(100% + var(--pad-x)); }
  .alsago-home .hero-corner-r { display: none; }
  .alsago-home .hero-corner-l { position: static; margin-top: 28px; }
  .alsago-home .hero .lead { margin-bottom: 24px; }
  .alsago-home .routeur ul { grid-template-columns: 1fr 1fr; }
  .alsago-home .routeur li + li { border-left: 1px solid var(--filet); }
  .alsago-home .routeur li:nth-child(3) { border-left: 0; }
  .alsago-home .routeur li:nth-child(n+3) { border-top: 1px solid var(--filet); }
  .alsago-home .routeur a { min-height: 56px; font-size: var(--fs-ui); padding: 12px 16px; }
  .alsago-home .cartouche { grid-template-columns: 1fr 1fr; }
  .alsago-home .cell, .alsago-home .cell + .cell { border-left: 0; min-height: 0; padding: 16px; }
  .alsago-home .cell:nth-child(even) { border-left: 1px solid var(--filet); }
  .alsago-home .cell:nth-child(n+3) { border-top: 1px solid var(--filet); }
  .alsago-home .cell.cell-partners { grid-column: 1 / -1; border-left: 0; }
  .alsago-home .partners { grid-template-columns: repeat(4, auto); justify-content: start; gap: 12px 20px; }
  .alsago-home .partners img { height: 30px; }
  .alsago-home .index-row { grid-template-columns: 1fr 24px; padding: 14px 16px; min-height: 56px; gap: 4px 12px; }
  .alsago-home .index-row .ico { grid-column: 2; grid-row: 1 / 4; }
  .alsago-home .index-group, .alsago-home .index-foot { padding-inline: 16px; }
  .alsago-home .cells-2x2 { grid-template-columns: 1fr; }
  .alsago-home .cell-s:nth-child(even) { border-left: 0; }
  .alsago-home .cell-s:nth-child(n+2) { border-top: 1px solid var(--filet); }
  .alsago-home .cell-s { padding: 22px 20px 26px; }
  .alsago-home .pole { padding: 26px 20px 30px; }
  .alsago-home .aides thead { position: absolute; left: -9999px; }
  .alsago-home .aides, .alsago-home .aides tbody, .alsago-home .aides tr { display: block; width: 100%; }
  .alsago-home .aides tr { padding: 16px 0; border-top: 1px solid var(--filet); }
  .alsago-home .aides th, .alsago-home .aides td, .alsago-home .aides th[scope="row"], .alsago-home .aides td:nth-child(2) { display: block; width: auto; padding: 4px 0; border: 0; }
  .alsago-home .aides td:nth-child(2)::before { content: "Pour qui — "; font-weight: 600; color: var(--encre); }
  .alsago-home .actu-row { grid-template-columns: 1fr 24px; gap: 4px 12px; }
  .alsago-home .actu-row .ico { grid-column: 2; grid-row: 1 / 4; }
  .alsago-home .rappel { grid-template-columns: 1fr; padding: 20px 16px; }
  .alsago-home .rappel .btn { width: 100%; }
  .alsago-home .tel-geant { font-size: clamp(2rem, 10vw, 2.75rem); }
  .alsago-home .cta-logo { width: 160px; }
  .alsago-home .stickybar:not([hidden]) { display: grid; }
  .alsago-home.has-stickybar { padding-bottom: calc(56px + env(safe-area-inset-bottom)); }
  .alsago-home.has-stickybar ~ #alsago-cc-reopen { bottom: calc(68px + env(safe-area-inset-bottom)); }
  .alsago-home .cta-row .btn, .alsago-home .hero-cta .btn { width: 100%; }
}
@media (max-width: 479.98px) {
  .alsago-home .footer-grid { grid-template-columns: 1fr; }
  .alsago-home .hero-side { width: 100%; }
  .alsago-home .gcell + .gcell { border-top: 0; }
}

/* ---------- Mouvement réduit ---------- */
@media (prefers-reduced-motion: reduce) {
  .alsago-home *, .alsago-home *::before, .alsago-home *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  .alsago-home .hero-rules i { transform: scaleY(1); }
  .alsago-home .hero-lisere path { stroke-dashoffset: 0; }
  .alsago-home .reveal { animation: none !important; opacity: 1 !important; transform: none !important; }
  .alsago-home .progress { display: none; }
}
