/* =========================================================================
   WISY SAFETY — WiSy Coordination (coordination.html) — v3 « à explorer »
   -------------------------------------------------------------------------
   Retour du propriétaire sur la v2 : sections trop simples, pas assez
   d'envie d'aller plus loin ; sections « La mission », « Vue d'ensemble »
   et « Domaines d'intervention » retirées. Chaque chapitre a désormais sa
   propre interaction (jamais deux fois la même) :

     hero       loupe « inspection » (couleurs réelles sous le pointeur) + sommaire
     rail       chapitres + progression (grand écran)
     01         explorateur de piliers (onglets, survol, « Suivant »)
     02         simulateur du déclencheur légal (nombre d'entreprises × mode)
     03         panneaux de services qui s'ouvrent (survol / accordéon mobile)
     04         méthode pas à pas (frise + précédent / suivant)
     06         services cochés depuis la section 03

   Amélioration progressive : sans JavaScript, tout le contenu reste affiché
   (fiches empilées, accordéons ouverts) — les classes .is-ready posées par
   js/coordination.js activent les modes interactifs. Charte du site
   inchangée (tokens du <style> inline) ; aucune animation infinie.
   ========================================================================= */

.co-main{overflow-x:clip}
/* L'attribut hidden gagne toujours (les boutons ont un display propre : .btn, .co-next…) */
.co-main [hidden]{display:none!important}
html{scroll-padding-top:var(--header-offset,9rem)}

/* ==================== SIGNATURES : numéros fantômes, intertitres ==================== */
.co-ghost{position:absolute;top:.2em;inset-inline-end:clamp(1rem,4vw,3.5rem);font-family:var(--font-titre);font-weight:700;font-size:clamp(6rem,16vw,13rem);line-height:1;color:var(--noir-jais);opacity:.05;pointer-events:none;user-select:none;z-index:0;transform:translate3d(0,var(--gy,0px),0)}
.co-ghost--l{inset-inline-end:auto;inset-inline-start:clamp(1rem,4vw,3.5rem)}
.co-ghost--dark{color:var(--creme);opacity:.06}
.co-why,.co-legal,.co-services,.co-process,.co-team,.co-cta{position:relative;isolation:isolate}
.co-why>.container,.co-legal>.container,.co-services>.container,.co-process>.container,.co-team>.container,.co-cta>.container{position:relative;z-index:1}

.co-main ol{margin:0;padding:0;list-style:none}
.co-crumbs ol{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.86rem}
.co-crumbs li{display:flex;align-items:center;gap:.5rem}
.co-crumbs li:not(:last-child)::after{content:"/";opacity:.4}
.co-crumbs a{transition:color var(--t-fast) var(--ease)}
.co-crumbs--onhero{color:rgba(244,250,249,.65);margin-bottom:clamp(1.5rem,4vh,2.75rem)}
.co-crumbs--onhero a{color:rgba(244,250,249,.65)}
.co-crumbs--onhero a:hover{color:var(--turquoise)}
.co-crumbs--onhero li[aria-current]{color:var(--creme);font-weight:600}

.co-kicker{display:inline-flex;align-items:center;gap:.6rem;font-family:var(--font-titre);font-size:var(--fs-micro);font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--epinette);margin:0 0 .9rem}
.co-kicker::before{content:"";width:22px;height:1.5px;background:var(--turquoise)}
.co-kicker__n{color:var(--epinette)}
.co-kicker__n::after{content:"·";margin-inline-start:.6rem;color:var(--granit-clair)}
.co-kicker--light{color:var(--turquoise)}
.co-kicker--light .co-kicker__n{color:var(--creme)}
.co-sec-head{max-width:62ch;margin-bottom:clamp(2.25rem,4vw,3.25rem)}
.co-sec-head h2{font-size:clamp(2rem,4vw,3.1rem);letter-spacing:-.02em}

/* Flèches : sens de lecture (arabe = droite → gauche) */
[dir="rtl"] :is(.co-toc__go,.co-next svg,.co-steps__arrow svg){scale:-1 1}

/* ==================== HERO — photo duotone + loupe « inspection » + sommaire ==================== */
.co-hero{position:relative;min-height:min(94vh,940px);display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;background:var(--noir-jais);isolation:isolate}
.co-hero__visual{position:absolute;inset:0;z-index:-1;overflow:hidden}
.co-hero__visual picture,.co-hero__visual img{width:100%;height:100%;object-fit:cover}
.co-hero__visual img{filter:grayscale(1) contrast(1.12) brightness(.9)}
.co-hero__visual::before{content:"";position:absolute;inset:0;background:linear-gradient(155deg,var(--epinette) 0%,var(--sarcelle) 46%,var(--noir-jais) 100%);mix-blend-mode:color;opacity:.92}
.co-hero__visual::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,var(--noir-jais) 0%,rgba(27,45,40,.72) 26%,rgba(27,45,40,.2) 52%,rgba(27,45,40,.5) 76%,var(--noir-jais) 100%)}
[data-parallax] img,.co-hero__lens{transform:translate3d(0,var(--py,0px),0) scale(1.08)}
/* La loupe : la MÊME photo, en couleurs, révélée dans un cercle qui suit la souris (créée par le JS, souris uniquement) */
.co-hero__lens{position:absolute;inset:0;background-size:cover;background-position:center;pointer-events:none;opacity:0;transition:opacity .45s var(--ease);
  -webkit-mask-image:radial-gradient(circle var(--lr,170px) at var(--lx,50%) var(--ly,50%),#000 56%,rgba(0,0,0,.5) 80%,transparent 100%);
  mask-image:radial-gradient(circle var(--lr,170px) at var(--lx,50%) var(--ly,50%),#000 56%,rgba(0,0,0,.5) 80%,transparent 100%)}
.co-hero__ring{position:absolute;left:0;top:0;z-index:1;width:calc(var(--lr,170px) * 2.16);height:calc(var(--lr,170px) * 2.16);margin:calc(var(--lr,170px) * -1.08) 0 0 calc(var(--lr,170px) * -1.08);border-radius:50%;border:1px solid rgba(72,214,194,.6);box-shadow:inset 0 0 50px rgba(72,214,194,.12);transform:translate3d(var(--rx,-999px),var(--ry,-999px),0);opacity:0;transition:opacity .45s var(--ease);pointer-events:none}
.co-hero__ring::before{content:"";position:absolute;inset:-8px;border-radius:50%;background:
  linear-gradient(var(--turquoise),var(--turquoise)) center top/1.5px 13px no-repeat,
  linear-gradient(var(--turquoise),var(--turquoise)) center bottom/1.5px 13px no-repeat,
  linear-gradient(var(--turquoise),var(--turquoise)) left center/13px 1.5px no-repeat,
  linear-gradient(var(--turquoise),var(--turquoise)) right center/13px 1.5px no-repeat}
.co-hero.is-lens .co-hero__lens,.co-hero.is-lens .co-hero__ring{opacity:1}
.co-hero__brackets{position:absolute;inset:clamp(1.25rem,3vw,2.5rem);width:calc(100% - clamp(2.5rem,6vw,5rem));height:calc(100% - clamp(2.5rem,6vw,5rem));pointer-events:none;z-index:1}
.co-hero__bracket{fill:none;stroke:rgba(244,250,249,.55);stroke-width:.6;vector-effect:non-scaling-stroke;stroke-dasharray:40;stroke-dashoffset:40;transition:stroke-dashoffset 1.1s var(--ease-premium) .3s}
.co-hero.is-ready .co-hero__bracket{stroke-dashoffset:0}

.co-hero__inner{position:relative;padding-block:clamp(7rem,15vh,9.5rem) clamp(3.5rem,7vh,5rem)}
.co-hero__grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:clamp(2rem,5vw,5rem);align-items:end}
.co-eyebrow{display:inline-flex;align-items:center;gap:.6rem;font-family:var(--font-titre);font-size:var(--fs-small);font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--turquoise);margin:0 0 1.25rem}
.co-eyebrow__dot{width:8px;height:8px;border-radius:50%;background:var(--turquoise);box-shadow:0 0 0 5px rgba(72,214,194,.22)}
.co-hero__title{color:var(--creme);font-size:clamp(2.6rem,5.6vw,5.2rem);line-height:.98;letter-spacing:-.03em;max-width:15ch;margin-bottom:1.1rem;text-wrap:balance}
.co-hero__lead{font-size:var(--fs-lead);color:rgba(244,250,249,.8);max-width:46ch;margin:0 0 2rem}
.co-hero__actions{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:2rem}
.co-hero__actions .btn--cta{padding:1.05rem 1.9rem}
.btn--light{background:rgba(244,250,249,.08);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.co-trust{display:flex;flex-wrap:wrap;gap:.6rem 1.4rem}
.co-trust li{display:inline-flex;align-items:center;gap:.5rem;font-size:.9rem;color:rgba(244,250,249,.74);font-weight:500}
.co-trust svg{width:16px;height:16px;color:var(--turquoise);flex-shrink:0}

/* Sommaire du dossier (verre dépoli) : chaque chapitre est un lien */
.co-toc{justify-self:end;width:min(100%,370px);padding:1.2rem 1.2rem 1.05rem;border-radius:var(--radius-lg);background:rgba(27,45,40,.5);backdrop-filter:blur(16px) saturate(1.2);-webkit-backdrop-filter:blur(16px) saturate(1.2);border:1px solid rgba(244,250,249,.16);color:var(--creme);box-shadow:0 30px 60px rgba(0,0,0,.28)}
.co-toc__meta{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin:0;font-family:var(--font-titre);font-size:.66rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:rgba(244,250,249,.55)}
.co-toc__meta b{font-weight:600;letter-spacing:.06em;color:var(--turquoise);text-align:end}
.co-toc__meta--foot{margin-top:.9rem}
.co-toc__title{margin:.85rem 0 .45rem;font-family:var(--font-titre);font-weight:600;font-size:1.02rem;color:var(--creme)}
.co-toc__list{border-top:1px solid rgba(244,250,249,.12)}
.co-toc__list a{display:grid;grid-template-columns:2.1rem 1fr 18px;align-items:center;gap:.4rem;padding:.58rem .4rem;border-bottom:1px solid rgba(244,250,249,.08);border-radius:8px;font-size:.94rem;color:rgba(244,250,249,.84);transition:color var(--t-fast) var(--ease),background-color var(--t-fast) var(--ease),padding var(--motion-base) var(--ease-premium)}
.co-toc__n{font-family:var(--font-titre);font-weight:700;font-size:.74rem;color:var(--turquoise)}
.co-toc__go{width:16px;height:16px;color:var(--turquoise);opacity:0;transform:translateX(-6px);transition:opacity var(--t-fast) var(--ease),transform var(--motion-base) var(--ease-premium)}
.co-toc__list a:hover,.co-toc__list a:focus-visible{color:#fff;background:rgba(244,250,249,.07);padding-inline-start:.8rem}
.co-toc__list a:hover .co-toc__go,.co-toc__list a:focus-visible .co-toc__go{opacity:1;transform:none}

.co-hero__scroll{position:absolute;left:50%;bottom:1.25rem;margin-left:-20px;width:40px;height:40px;border-radius:50%;border:1px solid rgba(244,250,249,.3);display:grid;place-items:center;color:rgba(244,250,249,.75);transition:border-color var(--t-fast) var(--ease),color var(--t-fast) var(--ease),transform var(--motion-base) var(--ease-premium)}
.co-hero__scroll svg{width:16px;height:16px}
.co-hero__scroll:hover{border-color:var(--turquoise);color:var(--turquoise);transform:translateY(3px)}

/* ==================== RAIL DE CHAPITRES (grand écran) ==================== */
/* Posé dans la marge latérale (≥ 1200 px : marge = 48 px, rail = 42 px) : ne chevauche jamais le contenu */
.co-rail{position:fixed;inset-inline-end:6px;top:50%;z-index:900;translate:0 -50%;opacity:0;visibility:hidden;transition:opacity var(--motion-base) var(--ease),visibility 0s linear var(--motion-base)}
.co-rail.is-visible{opacity:1;visibility:visible;transition-delay:0s}
.co-rail ol{position:relative;display:flex;flex-direction:column;gap:.25rem;padding:.3rem;border-radius:var(--radius-pill);background:rgba(244,250,249,.8);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--granit-12);box-shadow:var(--shadow-sm);transition:background-color var(--motion-base) var(--ease),border-color var(--motion-base) var(--ease)}
.co-rail ol::before,.co-rail ol::after{content:"";position:absolute;left:50%;top:1.2rem;bottom:1.2rem;width:2px;margin-left:-1px;border-radius:2px;background:var(--granit-12)}
.co-rail ol::after{background:linear-gradient(var(--brume),var(--turquoise));transform:scaleY(var(--progress,0));transform-origin:top}
.co-rail a{position:relative;z-index:1;display:grid;place-items:center;width:30px;height:30px}
.co-rail__n{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--creme);border:1.5px solid var(--granit-20);font-family:var(--font-titre);font-weight:700;font-size:.62rem;color:var(--granit);transition:background-color var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease),color var(--t-fast) var(--ease),transform var(--motion-base) var(--ease-premium)}
.co-rail a:hover .co-rail__n,.co-rail a.is-past .co-rail__n{border-color:var(--brume);color:var(--epinette)}
.co-rail a.is-current .co-rail__n{background:var(--epinette);border-color:var(--epinette);color:var(--creme);transform:scale(1.14)}
.co-rail__lbl{position:absolute;inset-inline-end:calc(100% + .7rem);top:50%;margin-top:-.95rem;white-space:nowrap;padding:.4rem .8rem;border-radius:var(--radius-pill);background:var(--noir-jais);color:var(--creme);font-family:var(--font-titre);font-weight:600;font-size:.76rem;line-height:1.1rem;box-shadow:var(--shadow-md);opacity:0;transform:translateX(6px);pointer-events:none;transition:opacity var(--t-fast) var(--ease),transform var(--motion-base) var(--ease-premium)}
[dir="rtl"] .co-rail__lbl{transform:translateX(-6px)}
.co-rail a:hover .co-rail__lbl,.co-rail a.is-flash .co-rail__lbl{opacity:1;transform:none}
.co-rail.is-dark ol{background:rgba(27,45,40,.66);border-color:var(--line-strong)}
.co-rail.is-dark ol::before{background:rgba(244,250,249,.14)}
.co-rail.is-dark .co-rail__n{background:var(--noir-jais);border-color:rgba(244,250,249,.24);color:rgba(244,250,249,.75)}
.co-rail.is-dark a:hover .co-rail__n,.co-rail.is-dark a.is-past .co-rail__n{border-color:var(--turquoise);color:var(--turquoise)}
.co-rail.is-dark a.is-current .co-rail__n{background:var(--turquoise);border-color:var(--turquoise);color:var(--noir-jais)}
.co-rail.is-dark .co-rail__lbl{background:var(--creme);color:var(--noir-jais)}

/* ==================== ÉLÉMENTS PARTAGÉS ==================== */
/* Liste « cochée » (le coche est dessiné en CSS : aucune image) */
.co-checks{display:grid;gap:.65rem;margin:1.3rem 0 1.7rem}
.co-checks li{position:relative;padding-inline-start:2rem;font-size:.97rem;line-height:1.5}
.co-checks li::before{content:"";position:absolute;inset-inline-start:0;top:.1em;width:1.3rem;height:1.3rem;border-radius:50%;background:var(--turquoise)}
.co-checks li::after{content:"";position:absolute;inset-inline-start:.46rem;top:.33em;width:.34rem;height:.62rem;border:solid var(--noir-jais);border-width:0 2px 2px 0;transform:rotate(45deg)}
@keyframes co-rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

/* Halo qui suit la souris sur les cartes (souris uniquement, voir initSpotlight) */
[data-spot]::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;background:radial-gradient(380px circle at var(--mx,50%) var(--my,50%),rgba(72,214,194,.14),transparent 62%);transition:opacity var(--motion-base) var(--ease)}
[data-spot]:hover::after{opacity:1}

/* Bouton « Suivant » (fiches sombres) */
.co-next{display:inline-flex;align-items:center;gap:.5rem;min-height:48px;padding:.75rem 1.15rem;border-radius:var(--radius-btn);border:1.5px solid rgba(244,250,249,.3);font-family:var(--font-titre);font-weight:600;font-size:.95rem;color:var(--creme);transition:border-color var(--t-fast) var(--ease),color var(--t-fast) var(--ease),background-color var(--t-fast) var(--ease)}
.co-next svg{width:16px;height:16px;transition:transform var(--motion-base) var(--ease-premium)}
.co-next:hover,.co-next:focus-visible{border-color:var(--turquoise);color:var(--turquoise);background:rgba(72,214,194,.08)}
.co-next:hover svg,.co-next:focus-visible svg{transform:translateX(3px)}

/* ==================== 01 · APPROCHE — explorateur des piliers ==================== */
.co-why{padding:clamp(4.5rem,9vw,7.5rem) 0}
.co-explore{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(1.5rem,3vw,3rem);align-items:stretch}
.co-explore__tabs{display:none;flex-direction:column;gap:.45rem}
.co-explore.is-ready .co-explore__tabs{display:flex}
.co-explore__tab{position:relative;display:grid;grid-template-columns:1.9rem 3rem minmax(0,1fr);align-items:center;gap:1rem;width:100%;padding:1.15rem 1.3rem;border-radius:var(--radius);border:1px solid transparent;text-align:start;color:var(--noir-jais);transition:background-color var(--motion-base) var(--ease),border-color var(--motion-base) var(--ease),box-shadow var(--motion-base) var(--ease)}
.co-explore__tab:hover{background:rgba(255,255,255,.65);border-color:var(--granit-12)}
.co-explore__tab[aria-selected="true"]{background:#fff;border-color:var(--granit-12);box-shadow:var(--shadow-md)}
.co-explore__num{font-family:var(--font-titre);font-weight:700;font-size:.9rem;color:var(--granit);transition:color var(--motion-base) var(--ease)}
.co-explore__tab[aria-selected="true"] .co-explore__num{color:var(--epinette)}
.co-explore__ic{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:var(--brume-14);color:var(--epinette);transition:background-color var(--motion-base) var(--ease),color var(--motion-base) var(--ease),transform var(--motion-slow) var(--ease-premium)}
.co-explore__ic svg{width:23px;height:23px}
.co-explore__tab:hover .co-explore__ic{transform:translateY(-2px)}
.co-explore__tab[aria-selected="true"] .co-explore__ic{background:var(--epinette);color:var(--creme);transform:rotate(-6deg) scale(1.05)}
.co-explore__tt{display:block;font-family:var(--font-titre);font-weight:700;font-size:clamp(1.1rem,1.6vw,1.35rem);line-height:1.2}
.co-explore__sub{display:block;margin-top:.3rem;font-size:.9rem;line-height:1.5;color:var(--granit)}
.co-explore__meter{position:absolute;inset-inline-start:0;top:14px;bottom:14px;width:3px;border-radius:3px;background:var(--turquoise);transform:scaleY(0);transform-origin:top;transition:transform var(--motion-slow) var(--ease-premium)}
.co-explore__tab[aria-selected="true"] .co-explore__meter{transform:scaleY(1)}

.co-explore__stage{position:relative;display:grid;gap:1.25rem;grid-column:1/-1}
.co-explore.is-ready .co-explore__stage{grid-column:auto;gap:0}
.co-explore__panel{position:relative;overflow:hidden;isolation:isolate;border-radius:var(--radius-lg);padding:clamp(1.75rem,3.5vw,3rem);background:linear-gradient(150deg,var(--epinette) 0%,#174a40 55%,var(--noir-jais) 100%);color:var(--creme);box-shadow:var(--shadow-card)}
.co-explore__panel::before{content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(rgba(244,250,249,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(244,250,249,.05) 1px,transparent 1px);background-size:32px 32px;-webkit-mask-image:radial-gradient(ellipse at 100% 100%,#000 0%,transparent 70%);mask-image:radial-gradient(ellipse at 100% 100%,#000 0%,transparent 70%)}
.co-explore.is-ready .co-explore__panel{grid-area:1/1;opacity:0;visibility:hidden;transform:translateY(14px);transition:opacity .45s var(--ease-premium),transform .6s var(--ease-premium),visibility 0s linear .45s}
.co-explore.is-ready .co-explore__panel.is-active{opacity:1;visibility:visible;transform:none;transition-delay:0s}
.co-explore__art{position:absolute;z-index:-1;inset-inline-end:-2.5rem;bottom:-2.5rem;width:clamp(11rem,19vw,16rem);height:clamp(11rem,19vw,16rem);color:rgba(72,214,194,.1);transform:rotate(-14deg) scale(.88);transition:transform 1s var(--ease-premium)}
.co-explore__panel.is-active .co-explore__art{transform:rotate(0deg) scale(1)}
.co-explore__chip{display:inline-block;font-family:var(--font-titre);font-size:var(--fs-micro);font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--turquoise);background:rgba(72,214,194,.12);border:1px solid rgba(72,214,194,.3);border-radius:var(--radius-pill);padding:.35rem .85rem;margin-bottom:1.1rem}
.co-explore__panel h3{color:var(--creme);font-size:clamp(1.6rem,2.6vw,2.2rem);margin-bottom:.7rem}
.co-explore__panel>p{color:rgba(244,250,249,.82);font-size:1rem;line-height:1.7;max-width:56ch;margin:0}
.co-explore__panel .co-checks li{color:var(--creme)}
.co-explore.is-ready .co-explore__panel.is-active .co-checks li{animation:co-rise .55s var(--ease-premium) both}
.co-explore.is-ready .co-explore__panel.is-active .co-checks li:nth-child(1){animation-delay:.12s}
.co-explore.is-ready .co-explore__panel.is-active .co-checks li:nth-child(2){animation-delay:.2s}
.co-explore.is-ready .co-explore__panel.is-active .co-checks li:nth-child(3){animation-delay:.28s}
.co-explore__foot{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}

/* ==================== 02 · CADRE RÉGLEMENTAIRE + SIMULATEUR ==================== */
.co-legal{padding:clamp(4.5rem,9vw,7.5rem) 0;background:var(--noir-jais);color:var(--creme);overflow:hidden}
.co-legal::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(244,250,249,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(244,250,249,.05) 1px,transparent 1px);background-size:42px 42px;-webkit-mask-image:radial-gradient(ellipse at 30% 0%,#000 0%,transparent 70%);mask-image:radial-gradient(ellipse at 30% 0%,#000 0%,transparent 70%);pointer-events:none;z-index:0}
.co-legal__top{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(1.5rem,4vw,4rem);align-items:end;margin-bottom:clamp(2.5rem,5vw,3.5rem)}
.co-legal .co-sec-head{margin-bottom:0}
.co-legal .co-sec-head h2{color:var(--creme);max-width:22ch}
.co-legal__quote{font-family:var(--font-titre);font-weight:600;font-size:clamp(1.2rem,2vw,1.55rem);line-height:1.35;color:rgba(244,250,249,.9);max-width:30ch;padding-inline-start:1.4rem;border-inline-start:3px solid var(--turquoise);margin:0}
.co-legal__grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:1.25rem;margin-bottom:2rem}
.co-legal__card--sim{grid-row:span 2}
.co-legal__card{position:relative;overflow:hidden;background:rgba(244,250,249,.045);border:1px solid var(--line-strong);border-radius:var(--radius-lg);padding:clamp(1.4rem,2.5vw,2rem);transition:border-color var(--motion-base) var(--ease),background-color var(--motion-base) var(--ease)}
.co-legal__card:hover{border-color:rgba(72,214,194,.45);background:rgba(244,250,249,.06)}
.co-legal__card>:not(.co-legal__art){position:relative;z-index:1}
.co-legal__cardhead{display:flex;align-items:baseline;gap:.85rem;margin-bottom:.65rem}
.co-legal__cardnum{font-family:var(--font-titre);font-weight:700;font-size:2rem;line-height:1;color:rgba(244,250,249,.2);transition:color var(--motion-base) var(--ease)}
.co-legal__card:hover .co-legal__cardnum{color:var(--turquoise)}
.co-legal__card h3{color:var(--turquoise);font-size:1.12rem;margin:0}
.co-legal__card>p{color:rgba(244,250,249,.84);font-size:.96rem;line-height:1.65;margin:0;max-width:60ch}
.co-legal__art{position:absolute;z-index:0;inset-inline-end:-1.4rem;bottom:-1.6rem;width:8.5rem;height:8.5rem;color:rgba(72,214,194,.09);transform:rotate(-10deg);transition:transform var(--motion-slow) var(--ease-premium),color var(--motion-base) var(--ease)}
.co-legal__card:hover .co-legal__art{transform:rotate(0deg) scale(1.06);color:rgba(72,214,194,.16)}
.co-legal__sources{position:relative;z-index:1;font-size:.86rem;color:var(--granit-clair);max-width:70ch;line-height:1.8;margin:0}
.co-legal__sources a{display:inline-flex;align-items:center;gap:.35rem;color:var(--turquoise);text-decoration:underline;text-underline-offset:2px}
.co-legal__sources a svg{width:13px;height:13px}

/* Simulateur « le déclencheur » : illustration du principe général, jamais un avis juridique */
.co-sim{margin-top:1.4rem;padding-top:1.35rem;border-top:1px dashed var(--line-strong)}
.co-sim__title{display:inline-flex;align-items:center;gap:.5rem;margin:0;font-family:var(--font-titre);font-size:var(--fs-micro);font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--turquoise)}
.co-sim__title svg{width:16px;height:16px}
.co-sim__controls{display:flex;flex-wrap:wrap;align-items:flex-end;gap:1rem 1.75rem;margin:1rem 0 1.2rem}
.co-sim__label{display:block;margin-bottom:.45rem;font-size:.8rem;color:var(--granit-clair)}
.co-sim__stepper,.co-sim__seg{display:inline-flex;align-items:center;padding:.25rem;border-radius:var(--radius-pill);border:1px solid var(--line-strong);background:rgba(244,250,249,.04)}
.co-sim__btn{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;color:var(--creme);transition:background-color var(--t-fast) var(--ease),color var(--t-fast) var(--ease)}
.co-sim__btn svg{width:16px;height:16px}
.co-sim__btn:hover:not(:disabled){background:rgba(244,250,249,.12);color:var(--turquoise)}
.co-sim__btn:disabled{opacity:.3;cursor:not-allowed}
.co-sim__count{min-width:2.8rem;text-align:center;font-family:var(--font-titre);font-weight:700;font-size:1.35rem;color:var(--turquoise);font-variant-numeric:tabular-nums}
.co-sim__count.is-bump{animation:co-bump .35s var(--ease-premium)}
@keyframes co-bump{40%{transform:scale(1.25)}}
.co-sim__seg button{min-height:40px;padding:.5rem 1rem;border-radius:var(--radius-pill);font-family:var(--font-titre);font-weight:600;font-size:.86rem;color:rgba(244,250,249,.72);transition:background-color var(--motion-base) var(--ease),color var(--motion-base) var(--ease)}
.co-sim__seg button:hover{color:var(--creme)}
.co-sim__seg button[aria-checked="true"]{background:var(--turquoise);color:var(--noir-jais)}
.co-sim__chart{border-radius:var(--radius);background:rgba(0,0,0,.2);border:1px solid var(--line);padding:1rem 1rem .8rem}
.co-sim__coord{display:flex;align-items:center;gap:.5rem;height:32px;margin-bottom:.7rem;padding:0 .8rem;border-radius:8px;border:1px solid rgba(72,214,194,.5);background:linear-gradient(90deg,rgba(72,214,194,.24),rgba(72,214,194,.08));color:var(--turquoise);font-family:var(--font-titre);font-weight:600;font-size:.78rem;white-space:nowrap;overflow:hidden;transform-origin:left center;transition:transform .7s var(--ease-premium),opacity .45s var(--ease)}
[dir="rtl"] .co-sim__coord{transform-origin:right center}
.co-sim__coord svg{width:16px;height:16px;flex-shrink:0}
.co-sim[data-state="one"] .co-sim__coord{transform:scaleX(.06);opacity:0}
.co-sim__row{display:grid;grid-template-columns:1.6rem minmax(0,1fr);align-items:center;gap:.65rem;height:24px;margin-bottom:7px;overflow:hidden;transition:height .5s var(--ease-premium),margin .5s var(--ease-premium),opacity .35s var(--ease)}
.co-sim__row.is-off{height:0;margin-bottom:0;opacity:0}
.co-sim__who{display:grid;place-items:center;width:22px;height:22px;border-radius:6px;background:rgba(244,250,249,.1);font-family:var(--font-titre);font-weight:700;font-size:.68rem;color:var(--creme)}
.co-sim__track{position:relative;height:12px;border-radius:6px;background:rgba(244,250,249,.05)}
.co-sim__bar{position:absolute;top:0;bottom:0;inset-inline-start:var(--s,0%);width:var(--w,0%);border-radius:6px;background:linear-gradient(90deg,var(--sarcelle),var(--brume));transition:inset-inline-start .7s var(--ease-premium),width .7s var(--ease-premium)}
.co-sim__row:nth-child(2) .co-sim__bar{background:linear-gradient(90deg,var(--brume),var(--turquoise))}
.co-sim__row:nth-child(3) .co-sim__bar{background:linear-gradient(90deg,#3b8f9e,#63c7d6)}
.co-sim__row:nth-child(4) .co-sim__bar{background:linear-gradient(90deg,var(--epinette),var(--brume))}
.co-sim__row:nth-child(5) .co-sim__bar{background:linear-gradient(90deg,#2b6a78,var(--sarcelle))}
.co-sim__row:nth-child(6) .co-sim__bar{background:linear-gradient(90deg,var(--turquoise),#9be8dc)}
.co-sim__axis{display:flex;align-items:center;gap:.6rem;margin-top:.35rem;padding-inline-start:2.25rem;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--granit-clair)}
.co-sim__axis::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--line-strong),transparent)}
.co-sim__result{display:flex;flex-wrap:wrap;align-items:center;gap:.55rem .8rem;margin:1.1rem 0 .55rem}
.co-sim__badge{display:inline-flex;align-items:center;padding:.35rem .8rem;border-radius:var(--radius-pill);background:var(--turquoise);color:var(--noir-jais);font-family:var(--font-titre);font-weight:700;font-size:.72rem;letter-spacing:.07em;text-transform:uppercase;transition:background-color var(--motion-base) var(--ease),color var(--motion-base) var(--ease)}
.co-sim[data-state="one"] .co-sim__badge{background:rgba(244,250,249,.14);color:var(--creme)}
.co-sim__text{flex:1 1 18rem;font-size:.95rem;line-height:1.5;color:var(--creme)}
.co-sim__note{margin:0;font-size:.8rem;font-style:italic;color:var(--granit-clair)}

/* ==================== 03 · SERVICES — panneaux qui s'ouvrent ==================== */
.co-services{padding:clamp(4.5rem,9vw,7.5rem) 0}
.co-svc{display:flex;flex-direction:column;gap:.85rem}
.co-svc__item{position:relative;overflow:hidden;isolation:isolate;border-radius:var(--radius-lg);background:#fff;border:1px solid var(--granit-20);transition:border-color var(--motion-base) var(--ease),box-shadow var(--motion-base) var(--ease)}
.co-svc__item:hover{border-color:var(--brume)}
.co-svc__item::before{content:"";position:absolute;inset:0;z-index:-1;opacity:0;background:linear-gradient(155deg,var(--epinette) 0%,#174a40 58%,var(--noir-jais) 100%);transition:opacity var(--motion-slow) var(--ease)}
.co-svc__h{position:relative;z-index:1;margin:0;font-size:inherit;font-weight:inherit;line-height:inherit;letter-spacing:normal;color:inherit}
.co-svc__head{position:relative;width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"ic tt plus" "ic tx plus";align-items:center;column-gap:1rem;row-gap:.2rem;padding:1.2rem 1.35rem;text-align:start;color:inherit}
.co-svc__num{display:none}
.co-svc__ic{grid-area:ic;width:46px;height:46px;border-radius:13px;display:grid;place-items:center;background:var(--epinette);color:var(--creme);transition:background-color var(--motion-base) var(--ease),color var(--motion-base) var(--ease),transform var(--motion-slow) var(--ease-premium)}
.co-svc__ic svg{width:22px;height:22px}
.co-svc__tt{grid-area:tt;font-family:var(--font-titre);font-weight:700;font-size:1.08rem;line-height:1.3;overflow-wrap:break-word}
/* Césure automatique seulement pour les langues à longs mots composés (« Gesundheitskoordination ») */
:is(:lang(de),:lang(nl),:lang(af),:lang(sl)) .co-svc__tt{hyphens:auto}
.co-svc__tx{grid-area:tx;font-size:.9rem;line-height:1.5;color:var(--granit);transition:color var(--motion-base) var(--ease)}
.co-svc__plus{grid-area:plus;width:18px;height:18px;color:var(--epinette);transition:transform var(--motion-base) var(--ease-premium),color var(--motion-base) var(--ease)}
.co-svc__body{position:relative;z-index:1;display:grid;grid-template-rows:1fr}
.co-svc__bodyin{overflow:hidden;padding-inline:1.35rem}
.co-svc__bodyin>p{margin:.25rem 0 0;font-size:.96rem;line-height:1.65;color:var(--granit)}
.co-svc__cta{margin-bottom:1.5rem}
.co-svc.is-ready .co-svc__body{grid-template-rows:0fr;transition:grid-template-rows var(--motion-slow) var(--ease-premium)}
.co-svc.is-ready .co-svc__bodyin{opacity:0;transition:opacity .2s var(--ease)}
/* Ouvert : fond sombre de la charte, textes clairs */
.co-svc.is-ready .co-svc__item.is-open{border-color:transparent;box-shadow:var(--shadow-card);color:var(--creme)}
.co-svc.is-ready .co-svc__item.is-open::before{opacity:1}
.co-svc.is-ready .co-svc__item.is-open .co-svc__body{grid-template-rows:1fr}
.co-svc.is-ready .co-svc__item.is-open .co-svc__bodyin{opacity:1;transition:opacity .45s var(--ease) .22s}
.co-svc.is-ready .co-svc__item.is-open .co-svc__ic{background:rgba(244,250,249,.14);color:var(--turquoise);transform:rotate(-6deg)}
.co-svc.is-ready .co-svc__item.is-open .co-svc__tx{color:rgba(244,250,249,.75)}
.co-svc.is-ready .co-svc__item.is-open .co-svc__plus{transform:rotate(135deg);color:var(--turquoise)}
.co-svc.is-ready .co-svc__item.is-open .co-svc__bodyin>p{color:rgba(244,250,249,.84)}
.co-svc.is-ready .co-svc__item.is-open .co-checks li{color:var(--creme);animation:co-rise .5s var(--ease-premium) both}
.co-svc.is-ready .co-svc__item.is-open .co-checks li:nth-child(1){animation-delay:.28s}
.co-svc.is-ready .co-svc__item.is-open .co-checks li:nth-child(2){animation-delay:.36s}
.co-svc.is-ready .co-svc__item.is-open .co-checks li:nth-child(3){animation-delay:.44s}

/* Grand écran : 4 panneaux côte à côte, celui qui est ouvert s'élargit (survol, clic, clavier) */
@media (min-width:1100px){
  .co-svc.is-ready{flex-direction:row;align-items:stretch;min-height:520px;gap:1rem;container-type:inline-size}
  .co-svc.is-ready .co-svc__item{flex:1 1 0;min-width:0;display:flex;flex-direction:column;cursor:pointer;transition:flex-grow .8s var(--ease-premium),border-color var(--motion-base) var(--ease),box-shadow var(--motion-base) var(--ease)}
  .co-svc.is-ready .co-svc__item.is-open{flex-grow:2.7;cursor:auto}
  .co-svc.is-ready .co-svc__h{flex:1 0 auto;display:flex}
  .co-svc.is-ready .co-svc__item.is-open .co-svc__h{flex-grow:0}
  .co-svc.is-ready .co-svc__head{display:flex;flex-direction:column;align-items:flex-start;gap:.9rem;padding:1.7rem 1.6rem 1.1rem}
  .co-svc.is-ready .co-svc__num{display:block;position:absolute;inset-inline-start:1.45rem;bottom:.9rem;font-family:var(--font-titre);font-weight:700;font-size:4.6rem;line-height:1;color:transparent;-webkit-text-stroke:1.5px var(--granit-20);transition:opacity var(--motion-base) var(--ease),transform var(--motion-slow) var(--ease-premium)}
  .co-svc.is-ready .co-svc__item:hover .co-svc__num{-webkit-text-stroke-color:var(--brume);transform:translateY(-4px)}
  .co-svc.is-ready .co-svc__item.is-open .co-svc__num{opacity:0}
  .co-svc.is-ready .co-svc__tt{font-size:clamp(1.05rem,1.3vw,1.28rem)}
  .co-svc.is-ready .co-svc__item.is-open .co-svc__tt{font-size:clamp(1.35rem,2vw,1.85rem)}
  .co-svc.is-ready .co-svc__item.is-open .co-svc__tx{display:none}
  .co-svc.is-ready .co-svc__plus{position:absolute;inset-inline-end:1.45rem;bottom:1.6rem}
  .co-svc.is-ready .co-svc__item.is-open .co-svc__plus{opacity:0}
  /* Largeur FIXE du contenu ouvert (celle du panneau ouvert) : le texte ne se recompose pas pendant l'animation */
  .co-svc.is-ready .co-svc__bodyin{width:calc((100cqw - 3rem) * .4737 - 2px);padding-inline:1.6rem}
}
/* 1100–1299 px : panneau ouvert un peu moins large → colonnes repliées lisibles (≈ 185 px) */
@media (min-width:1100px) and (max-width:1299px){
  .co-svc.is-ready .co-svc__item.is-open{flex-grow:2.2}
  .co-svc.is-ready .co-svc__bodyin{width:calc((100cqw - 3rem) * .4231 - 2px)}
}

/* ==================== 04 · MÉTHODE — pas à pas ==================== */
.co-process{padding:clamp(4.5rem,9vw,7.5rem) 0;background:var(--brume-08)}
.co-steps__track{display:none;position:relative;grid-template-columns:repeat(5,minmax(0,1fr));gap:.5rem;margin-bottom:1.75rem}
.co-steps.is-ready .co-steps__track{display:grid}
.co-steps__line{position:absolute;top:25px;inset-inline:10%;height:2px;border-radius:2px;background:var(--granit-20)}
.co-steps__fill{display:block;height:100%;border-radius:2px;background:linear-gradient(90deg,var(--epinette),var(--turquoise));transform:scaleX(var(--p,0));transform-origin:left center;transition:transform .7s var(--ease-premium)}
[dir="rtl"] .co-steps__fill{transform-origin:right center;background:linear-gradient(270deg,var(--epinette),var(--turquoise))}
.co-steps__node{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:0 .25rem;text-align:center}
.co-steps__dot{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--creme);border:2px solid var(--granit-20);font-family:var(--font-titre);font-weight:700;font-size:.95rem;color:var(--granit);transition:background-color var(--motion-base) var(--ease),border-color var(--motion-base) var(--ease),color var(--motion-base) var(--ease),box-shadow var(--motion-base) var(--ease),transform var(--motion-slow) var(--ease-premium)}
.co-steps__node:hover .co-steps__dot{border-color:var(--brume);color:var(--epinette)}
.co-steps__node.is-done .co-steps__dot{background:#fff;border-color:var(--brume);color:var(--epinette)}
.co-steps__node[aria-selected="true"] .co-steps__dot{background:var(--turquoise);border-color:var(--turquoise);color:var(--noir-jais);box-shadow:0 0 0 7px rgba(72,214,194,.2);transform:scale(1.08)}
.co-steps__lbl{font-family:var(--font-titre);font-weight:600;font-size:.88rem;line-height:1.3;color:var(--granit);transition:color var(--motion-base) var(--ease)}
.co-steps__node[aria-selected="true"] .co-steps__lbl,.co-steps__node:hover .co-steps__lbl{color:var(--noir-jais)}

.co-steps__stage{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1rem}
.co-steps__panel{position:relative;overflow:hidden;background:#fff;border:1px solid var(--granit-20);border-top:3px solid var(--turquoise);border-radius:var(--radius-sm) var(--radius-sm) var(--radius) var(--radius);padding:1.5rem 1.3rem}
.co-steps__big{display:block;font-family:var(--font-titre);font-weight:700;font-size:1.5rem;line-height:1;color:var(--granit-20);margin-bottom:.6rem}
.co-steps__ic{display:none}
.co-steps__copy h3{font-size:1rem;margin-bottom:.4rem}
.co-steps__copy p{margin:0;font-size:.9rem;line-height:1.55;color:var(--granit)}
.co-steps.is-ready .co-steps__stage{position:relative;display:grid;grid-template-columns:1fr;gap:0;overflow:hidden;background:#fff;border:1px solid var(--granit-20);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}
.co-steps.is-ready .co-steps__panel{grid-area:1/1;display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:1.25rem clamp(1.5rem,3vw,2.5rem);border:0;border-radius:0;background:none;padding:clamp(1.75rem,3.5vw,2.75rem) clamp(1.5rem,4vw,3.25rem) 5.75rem;opacity:0;visibility:hidden;transform:translateX(calc(var(--dir,1) * 28px));transition:opacity .4s var(--ease-premium),transform .55s var(--ease-premium),visibility 0s linear .4s}
.co-steps.is-ready .co-steps__panel.is-leaving{transform:translateX(calc(var(--dir,1) * -28px))}
.co-steps.is-ready .co-steps__panel.is-active{opacity:1;visibility:visible;transform:none;transition-delay:0s}
.co-steps.is-ready .co-steps__big{margin:0;font-size:clamp(4rem,9vw,6.75rem);color:transparent;-webkit-text-stroke:1.5px var(--brume)}
.co-steps.is-ready .co-steps__ic{display:grid;place-items:center;width:64px;height:64px;border-radius:18px;background:var(--epinette);color:var(--creme);box-shadow:0 12px 26px rgba(31,111,100,.28)}
.co-steps.is-ready .co-steps__ic svg{width:28px;height:28px}
.co-steps.is-ready .co-steps__copy h3{font-size:clamp(1.3rem,2.2vw,1.75rem);margin-bottom:.5rem}
.co-steps.is-ready .co-steps__copy p{font-size:1.02rem;line-height:1.65;max-width:52ch}
.co-steps.is-ready .co-steps__panel.is-active .co-steps__ic{animation:co-rise .6s var(--ease-premium) .1s both}
.co-steps__nav{position:absolute;z-index:2;inset-inline:clamp(1.5rem,4vw,3.25rem);bottom:1.25rem;display:flex;align-items:center;gap:1rem}
.co-steps__count{margin-inline-end:auto;font-family:var(--font-titre);font-weight:600;font-size:.9rem;color:var(--granit-clair);font-variant-numeric:tabular-nums}
.co-steps__count b{color:var(--noir-jais)}
.co-steps__arrow{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-width:48px;min-height:48px;padding:.6rem 1rem;border-radius:var(--radius-btn);border:1.5px solid var(--granit-20);font-family:var(--font-titre);font-weight:600;font-size:.95rem;color:var(--epinette);transition:border-color var(--t-fast) var(--ease),background-color var(--t-fast) var(--ease),color var(--t-fast) var(--ease)}
.co-steps__arrow svg{width:17px;height:17px;transition:transform var(--motion-base) var(--ease-premium)}
.co-steps__arrow--prev{order:-1;padding:.6rem}
.co-steps__arrow--prev svg{rotate:180deg}
.co-steps__arrow:hover:not(:disabled){border-color:var(--brume);background:var(--brume-14)}
.co-steps__arrow--next:hover svg{transform:translateX(3px)}
.co-steps__arrow:disabled{opacity:.35;cursor:not-allowed}
.co-steps__arrow--next{background:var(--epinette);border-color:var(--epinette);color:var(--creme)}
.co-steps__arrow--next:hover:not(:disabled){background:var(--noir-jais);border-color:var(--noir-jais);color:var(--creme)}

/* ==================== 05 · ÉQUIPE — état vide assumé ==================== */
.co-team{padding:clamp(4rem,8vw,6rem) 0}
.co-team__grid-wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(1.5rem,5vw,5rem);align-items:end}
.co-team__lead h2{font-size:clamp(1.9rem,3.4vw,2.6rem);margin:0;max-width:20ch}
.co-team__empty{padding-inline-start:clamp(1rem,2.5vw,2rem);border-inline-start:3px solid var(--turquoise)}
.co-team__empty-sub{font-family:var(--font-titre);font-weight:600;color:var(--epinette);font-size:1.05rem;margin-bottom:.5rem}
.co-team__empty p{color:var(--granit);font-size:1.02rem;margin-bottom:1.5rem}
.co-team__grid{grid-column:1/-1;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1.25rem}
.co-team__card{background:#fff;border:1px solid var(--granit-20);border-radius:var(--radius);padding:1.5rem;text-align:center}
.co-team__card img{width:96px;height:96px;border-radius:50%;object-fit:cover;margin:0 auto 1rem}
.co-team__card h3{font-size:1.02rem;margin-bottom:.2rem}
.co-team__card p{color:var(--epinette);font-weight:600;font-size:.88rem;margin-bottom:.7rem}
.co-team__quals{display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem}
.co-team__quals li{font-size:.76rem;color:var(--granit);background:var(--brume-08);border-radius:var(--radius-pill);padding:.25rem .65rem}

/* ==================== 06 · CONTACT + FORMULAIRE ==================== */
.co-cta{padding:clamp(4.5rem,9vw,7.5rem) 0;background:var(--noir-jais);color:var(--creme)}
.co-cta__grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(2.5rem,5vw,4rem);align-items:start}
.co-cta .co-sec-head{margin-bottom:1.25rem}
.co-cta .co-sec-head h2{color:var(--creme);max-width:18ch;font-size:clamp(2.1rem,4.2vw,3rem)}
.co-cta__lead{color:rgba(244,250,249,.82);max-width:44ch}
.co-cta__contacts{display:flex;flex-direction:column;gap:.75rem;margin-top:1.5rem}
.co-cta__contacts a{display:inline-flex;align-items:center;gap:.65rem;font-family:var(--font-titre);font-weight:600;color:var(--creme);transition:color var(--t-fast) var(--ease)}
.co-cta__contacts a:hover{color:var(--turquoise)}
.co-cta__contacts svg{width:18px;height:18px;color:var(--turquoise)}

.co-form{background:var(--creme);color:var(--noir-jais);border-radius:var(--radius-lg);padding:clamp(1.75rem,3vw,2.5rem);box-shadow:var(--shadow-drop)}
.co-form__row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.co-field{margin-bottom:1rem;display:flex;flex-direction:column;gap:.4rem}
.co-field label{font-family:var(--font-titre);font-weight:600;font-size:.86rem;color:var(--granit)}
.co-field input,.co-field select,.co-field textarea{font:inherit;font-size:.96rem;padding:.75rem .9rem;border:1.5px solid var(--granit-20);border-radius:var(--radius-sm);background:#fff;color:var(--noir-jais);transition:border-color var(--t-fast) var(--ease),box-shadow var(--t-fast) var(--ease)}
.co-field input:focus,.co-field select:focus,.co-field textarea:focus{border-color:var(--brume);outline:none;box-shadow:0 0 0 4px var(--brume-14)}
.co-field textarea{resize:vertical;min-height:100px}
/* Services souhaités : pastilles à cocher (cochées aussi depuis « Demander ce service ») */
.co-picks{border:0;margin:0 0 1.1rem;padding:0;min-width:0}
.co-picks legend{padding:0;margin-bottom:.55rem;font-family:var(--font-titre);font-weight:600;font-size:.86rem;color:var(--granit)}
.co-picks__row{display:flex;flex-wrap:wrap;gap:.5rem}
.co-pick{position:relative;display:inline-flex;align-items:center;gap:.55rem;min-height:44px;padding:.5rem .95rem;border:1.5px solid var(--granit-20);border-radius:var(--radius-btn);background:#fff;font-size:.88rem;line-height:1.3;cursor:pointer;transition:border-color var(--t-fast) var(--ease),background-color var(--t-fast) var(--ease),box-shadow var(--t-fast) var(--ease)}
.co-pick:hover{border-color:var(--brume)}
.co-pick input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.co-pick__box{display:grid;place-items:center;flex-shrink:0;width:18px;height:18px;border-radius:5px;border:1.5px solid var(--granit-clair);color:var(--creme);transition:background-color var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease)}
.co-pick__box svg{width:12px;height:12px;opacity:0;transform:scale(.4);transition:opacity var(--t-fast) var(--ease),transform var(--motion-base) var(--ease-premium)}
.co-pick input:checked+.co-pick__box{background:var(--epinette);border-color:var(--epinette)}
.co-pick input:checked+.co-pick__box svg{opacity:1;transform:none}
.co-pick:has(input:checked){border-color:var(--epinette);background:var(--brume-14)}
.co-pick:has(input:focus-visible){outline:3px solid var(--brume);outline-offset:2px}
.co-pick.is-flash{animation:co-flash 1.3s var(--ease-premium)}
@keyframes co-flash{0%{box-shadow:0 0 0 0 rgba(72,214,194,.7)}100%{box-shadow:0 0 0 14px rgba(72,214,194,0)}}
.co-hp{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.co-consent{display:flex;align-items:flex-start;gap:.65rem;font-size:.86rem;color:var(--granit);margin:.5rem 0 1.4rem;cursor:pointer}
.co-consent input{margin-top:.2rem;flex-shrink:0}
.co-form__submit{width:100%}
.co-form__status{margin:1rem 0 0;font-size:.9rem;padding:.75rem 1rem;border-radius:var(--radius-sm);background:var(--brume-14);color:var(--epinette)}
.co-form__status[data-state="error"]{background:rgba(200,70,60,.12);color:#9a3226}

/* ==================== RESPONSIVE ==================== */
@media (max-width:1199px){.co-rail{display:none}}
@media (max-width:1180px){
  .co-legal__grid{grid-template-columns:1fr 1fr}
  .co-legal__card--sim{grid-column:1/-1;grid-row:auto}
}
@media (max-width:980px){
  .co-hero{min-height:auto}
  .co-hero__inner{padding-block:clamp(5rem,16vh,7rem) 3rem}
  .co-hero__grid{grid-template-columns:1fr}
  .co-toc{justify-self:stretch;width:100%;max-width:560px}
  .co-hero__scroll{display:none}
  .co-legal__top,.co-team__grid-wrap,.co-cta__grid{grid-template-columns:1fr}
  .co-team__grid-wrap{align-items:start}
  /* Explorateur : onglets en ruban horizontal défilant, fiche en dessous */
  .co-explore{grid-template-columns:1fr}
  .co-explore.is-ready .co-explore__tabs{flex-direction:row;gap:.5rem;overflow-x:auto;scroll-snap-type:x proximity;scroll-padding-inline:var(--pad-x);margin-inline:calc(var(--pad-x) * -1);padding:.25rem var(--pad-x) .5rem;scrollbar-width:none}
  .co-explore.is-ready .co-explore__tabs::-webkit-scrollbar{display:none}
  .co-explore.is-ready .co-explore__tab{flex:0 0 auto;width:auto;grid-template-columns:auto auto;gap:.65rem;padding:.6rem 1rem .6rem .6rem;border-radius:var(--radius-pill);border-color:var(--granit-20);background:#fff;scroll-snap-align:start}
  .co-explore.is-ready .co-explore__num,.co-explore.is-ready .co-explore__sub,.co-explore.is-ready .co-explore__meter{display:none}
  .co-explore.is-ready .co-explore__ic{width:36px;height:36px;border-radius:50%}
  .co-explore.is-ready .co-explore__ic svg{width:18px;height:18px}
  .co-explore.is-ready .co-explore__tt{font-size:1rem}
  .co-explore.is-ready .co-explore__tab[aria-selected="true"]{border-color:var(--epinette);box-shadow:var(--shadow-sm)}
  /* Méthode : libellés masqués sous les pastilles (seul le titre de l'étape active s'affiche, dans la fiche) */
  .co-steps__lbl{display:none}
  .co-steps.is-ready .co-steps__panel{grid-template-columns:auto minmax(0,1fr);padding-bottom:6rem}
  .co-steps.is-ready .co-steps__big{display:none}
}
@media (max-width:760px){
  .co-hero__brackets{display:none}
  .co-legal__grid{grid-template-columns:1fr}
  .co-form__row{grid-template-columns:1fr}
  .co-steps__dot{width:44px;height:44px;font-size:.85rem}
  .co-steps__line{top:21px}
  .co-steps.is-ready .co-steps__panel{grid-template-columns:1fr}
  .co-steps.is-ready .co-steps__ic{width:52px;height:52px;border-radius:15px}
  /* libellé masqué visuellement mais conservé comme nom accessible du bouton */
  .co-steps__arrow--next span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
  .co-steps__arrow--next{padding:.6rem}
  .co-sim__controls{gap:1rem}
}
@media (max-width:480px){
  .co-toc{padding:1rem}
  .co-sim__seg button{padding:.5rem .75rem;font-size:.8rem}
  .co-steps.is-ready .co-steps__done{padding:.8rem 1rem;font-size:.9rem}
}
@media (prefers-reduced-motion:reduce){
  .co-hero__bracket{stroke-dashoffset:0;transition:none}
  [data-parallax] img{transform:scale(1.08)!important}
  .co-ghost{transform:none!important}
}
