:root{
  --ink:#173d67; --ink2:#315777; --green:#4c9985; --green-dark:#267661;
  --mint:#e8f5f1; --sky:#edf6fc; --cream:#fffaf4; --peach:#fff0e7;
  --line:#dce8eb; --white:#fff; --text:#3d5568; --shadow:0 20px 50px rgba(26,67,91,.11);
  --ease:cubic-bezier(.22,.61,.36,1);
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'Nunito Sans',Arial,sans-serif;color:var(--text);background:#fff;font-size:17px;line-height:1.65}a{color:inherit}.shell{width:min(1780px,calc(100% - 72px));margin:auto}.site-header{background:rgba(255,255,255,.96);position:sticky;top:0;z-index:100;border-bottom:1px solid rgba(31,90,110,.08);backdrop-filter:blur(16px)}.nav-wrap{min-height:118px;display:flex;align-items:center;gap:42px}.brand{display:flex;align-items:center;margin-right:auto}.brand img{width:300px;max-height:90px;object-fit:contain;object-position:left center}.main-nav{display:flex;align-items:center;gap:34px;font-weight:700;color:var(--ink)}.main-nav a{text-decoration:none;position:relative;padding:18px 0;white-space:nowrap}.main-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:9px;height:3px;border-radius:3px;background:var(--green);transition:.25s}.main-nav a:hover:after,.main-nav a.active:after{right:0}.main-nav .contact-link{padding:12px 20px;border-radius:999px;background:var(--green);color:#fff}.main-nav .contact-link:after{display:none}.nav-toggle{display:none;border:0;background:none;padding:10px}.nav-toggle span{display:block;width:29px;height:3px;background:var(--ink);margin:5px;border-radius:2px;transition:.28s var(--ease)}
.hero{min-height:630px;display:grid;grid-template-columns:minmax(500px,.9fr) minmax(650px,1.25fr);align-items:stretch;background:linear-gradient(105deg,#f1fbfa 0%,#f8fcfc 41%,#fff 62%);overflow:hidden}.hero-copy{padding:95px max(56px,calc((100vw - 1780px)/2));padding-right:70px;display:flex;flex-direction:column;justify-content:center}.eyebrow{text-transform:uppercase;letter-spacing:.22em;font-weight:900;color:var(--green-dark);font-size:.82rem}.hero h1,.page-hero h1{color:var(--ink);font-size:clamp(3.1rem,4.5vw,6rem);line-height:1.02;letter-spacing:-.045em;margin:18px 0 24px;font-weight:900}.hero p{font-size:1.3rem;max-width:700px}.hero-media{position:relative;min-height:630px;background:url('../../images/hero-hands.jpg') center/cover no-repeat}.hero-media:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#f7fcfb 0%,rgba(247,252,251,.35) 16%,rgba(255,255,255,0) 42%)}.hero-media:after{content:"";position:absolute;right:-80px;bottom:-145px;width:360px;height:360px;border-radius:46% 54% 35% 65%;background:rgba(76,153,133,.19);transform:rotate(25deg)}.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:25px}.btn{display:inline-flex;align-items:center;gap:12px;text-decoration:none;border-radius:999px;padding:16px 25px;font-weight:800;transition:.2s}.btn-primary{background:var(--green);color:#fff;box-shadow:0 12px 26px rgba(76,153,133,.22)}.btn-primary:hover{background:var(--green-dark);transform:translateY(-2px)}.btn-secondary{border:2px solid #c8ddd8;color:var(--ink);background:#fff}.btn-secondary:hover{border-color:var(--green);transform:translateY(-2px)}
.section{padding:82px 0}.section-soft{background:linear-gradient(180deg,#fbfefe,#f4faf8)}.section-title{color:var(--ink);font-size:clamp(2rem,3vw,3.15rem);margin:0 0 12px;line-height:1.1}.section-lead{font-size:1.15rem;max-width:900px;margin:0 0 40px}.title-line{width:54px;height:4px;background:var(--green);border-radius:4px;margin:15px 0 26px}.disciplines{display:grid;grid-template-columns:minmax(330px,1.4fr) repeat(6,1fr);gap:22px;align-items:stretch}.discipline-intro{padding:10px 30px 10px 0}.discipline-card{border-radius:24px;background:#fff;min-height:190px;padding:28px 18px;text-align:center;display:flex;align-items:center;justify-content:center;flex-direction:column;box-shadow:0 8px 24px rgba(33,77,96,.07);border:1px solid #edf2f3}.discipline-card img,.info-icon{width:62px;height:62px;object-fit:contain;margin-bottom:14px}.discipline-card:nth-child(2){background:#eefaf7}.discipline-card:nth-child(3){background:#eef7fd}.discipline-card:nth-child(4){background:#fff5eb}.discipline-card:nth-child(5){background:#f8effd}.discipline-card:nth-child(6){background:#f0faef}.discipline-card:nth-child(7){background:#eff6fd}.discipline-card strong{color:var(--ink);font-size:1rem}
.info-row{display:grid;grid-template-columns:repeat(3,1fr);border-radius:28px;overflow:hidden;background:#f5fbf9;border:1px solid #e6f1ee}.info-card{padding:38px 44px;min-height:270px}.info-card+ .info-card{border-left:1px solid #d6e6e2}.info-card h3{color:var(--ink);margin:4px 0 10px;font-size:1.35rem}.info-card p{margin:0}.quick-grid{display:grid;grid-template-columns:1.1fr 1fr 1.15fr;gap:26px}.quick-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:32px;box-shadow:0 8px 26px rgba(28,77,97,.06)}.quick-card h3{color:var(--ink);margin:0 0 8px}.quote{font-style:italic;color:var(--ink2);font-size:1.07rem}.page-hero{padding:80px 0 70px;background:radial-gradient(circle at 80% 20%,#e4f6ef 0,transparent 34%),linear-gradient(135deg,#f4fbfa,#f7fbff)}.page-hero h1{font-size:clamp(3rem,4vw,5rem);max-width:1100px}.page-hero p{font-size:1.2rem;max-width:950px}.breadcrumb{font-size:.9rem;color:#628199}.content-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:54px;align-items:start}.prose h2{color:var(--ink);font-size:2rem;line-height:1.2;margin:36px 0 12px}.prose h2:first-child{margin-top:0}.prose h3{color:var(--ink)}.feature-panel{background:linear-gradient(145deg,#edf8f5,#f6fbff);padding:34px;border-radius:28px;position:sticky;top:150px}.feature-panel h3{color:var(--ink);margin-top:0}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;counter-reset:step}.step{background:#fff;border:1px solid var(--line);border-radius:24px;padding:28px;position:relative;box-shadow:0 10px 28px rgba(32,70,86,.06)}.step:before{counter-increment:step;content:counter(step);width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:#fff;font-weight:900;margin-bottom:18px}.step h3{color:var(--ink);margin:0 0 7px}.audience-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.audience-card{border-radius:26px;padding:30px;background:#fff;border:1px solid var(--line);min-height:290px}.audience-card:nth-child(1){background:#effaf7}.audience-card:nth-child(2){background:#eef7fd}.audience-card:nth-child(3){background:#fff6ed}.audience-card:nth-child(4){background:#f8f1fb}.audience-card h3{color:var(--ink);font-size:1.35rem}.audience-card ul{padding-left:20px;margin-bottom:0}.team-groups{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.team-group{border-radius:26px;padding:30px;background:#fff;border:1px solid var(--line);box-shadow:0 10px 30px rgba(30,76,98,.06)}.team-group h3{color:var(--ink);margin:0 0 14px}.team-group ul{list-style:none;padding:0;margin:0}.team-group li{padding:7px 0;border-bottom:1px dashed #dfe8ea}.team-group li:last-child{border:0}.philo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.philo-card{padding:34px;border-radius:26px;background:#fff;border:1px solid var(--line)}.philo-card h3{color:var(--ink)}.practical-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.practical-card{background:#fff;border:1px solid var(--line);border-radius:26px;padding:34px}.practical-card h3{color:var(--ink);font-size:1.45rem;margin-top:0}.map-card img{width:100%;border-radius:18px;display:block}.contact-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.contact-card{padding:34px;border-radius:25px;background:#fff;border:1px solid var(--line);text-align:center}.contact-card img{width:58px;height:58px}.contact-card h3{color:var(--ink)}
.site-footer{background:linear-gradient(135deg,#edf7f5,#e9f4fa);padding:58px 0 20px;margin-top:0}.footer-grid{display:grid;grid-template-columns:1.2fr .9fr .9fr .8fr;gap:45px}.footer-grid h3{color:var(--ink);margin-top:0}.footer-grid a{text-decoration:none;color:var(--ink)}.footer-brand img{width:250px;max-height:78px;object-fit:contain;object-position:left}.footer-brand p{max-width:440px}.footer-aviq img{width:150px;display:block;margin:8px 0 16px}.footer-bottom{margin-top:34px;padding-top:20px;border-top:1px solid #cadae0;display:flex;justify-content:space-between;font-size:.92rem}.note{background:#fff8e8;border-left:4px solid #e4b24e;padding:18px 20px;border-radius:0 15px 15px 0}.price-highlight{font-size:2.6rem;color:var(--green-dark);font-weight:900;line-height:1}.list-clean{padding-left:1.2rem}.muted{color:#5f7688}.center{text-align:center}

/* =========================================================
   COUCHE D'AMÉLIORATION — mouvement doux, accessibilité, finitions
   Tout le mouvement est désactivé si l'utilisateur a demandé
   « réduire les animations » (voir le bloc prefers-reduced-motion).
   ========================================================= */

/* Accessibilité : lien d'évitement + focus visible net */
.skip-link{position:fixed;left:-999px;top:0;background:var(--green-dark);color:#fff;padding:12px 20px;border-radius:0 0 14px 0;z-index:300;font-weight:800;text-decoration:none}
.skip-link:focus{left:0}
a:focus-visible,button:focus-visible,.btn:focus-visible,.main-nav a:focus-visible{outline:3px solid var(--green-dark);outline-offset:3px;border-radius:8px}
.nav-toggle:focus-visible{outline-offset:5px}

/* Barre de progression de lecture (discrète) */
.scroll-progress{position:fixed;inset:0 auto auto 0;height:3px;width:0;background:linear-gradient(90deg,var(--green),var(--green-dark));z-index:200;transition:width .12s linear;pointer-events:none}

/* En-tête : ombre + légère réduction au défilement */
.site-header{transition:box-shadow .3s var(--ease),background .3s}
.site-header.scrolled{box-shadow:0 10px 34px rgba(23,61,103,.09);background:rgba(255,255,255,.98)}
.site-header.scrolled .nav-wrap{min-height:96px}
.nav-wrap{transition:min-height .3s var(--ease)}
.brand img{transition:width .3s var(--ease)}
.site-header.scrolled .brand img{width:250px}

/* Croix animée du menu mobile quand ouvert */
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}

/* Révélations au défilement (activées uniquement quand le JS tourne : .js)
   On masque par sélecteur — pas via une classe ajoutée par le JS — pour
   éviter tout clignotement au chargement (FOUC). */
.js :is(.discipline-card,.quick-card,.info-card,.audience-card,.team-group,.philo-card,.practical-card,.contact-card,.step,.feature-panel,.prose,.map-card,.section-title,.section-lead,.discipline-intro){opacity:0;transform:translateY(20px);transition:opacity .7s var(--ease) var(--rd,0s),transform .7s var(--ease) var(--rd,0s);will-change:opacity,transform}
.js :is(.discipline-card,.quick-card,.info-card,.audience-card,.team-group,.philo-card,.practical-card,.contact-card,.step,.feature-panel,.prose,.map-card,.section-title,.section-lead,.discipline-intro).in{opacity:1;transform:none;will-change:auto}

/* Entrée douce du héros au chargement */
@keyframes ox-rise{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
.js .hero-copy>*{opacity:0;animation:ox-rise .8s var(--ease) forwards}
.js .hero-copy>*:nth-child(1){animation-delay:.05s}
.js .hero-copy>*:nth-child(2){animation-delay:.15s}
.js .hero-copy>*:nth-child(3){animation-delay:.25s}
.js .hero-copy>*:nth-child(4){animation-delay:.35s}

/* Héros qui « respire » : le décor bouge très légèrement */
@keyframes ox-float{0%,100%{transform:rotate(25deg) translateY(0)}50%{transform:rotate(25deg) translateY(-20px)}}
@keyframes ox-grad{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
.hero-media:after{animation:ox-float 9s ease-in-out infinite}
.hero{background-size:180% 180%;animation:ox-grad 20s ease-in-out infinite}

/* Micro-interactions : les cartes se soulèvent légèrement */
.quick-card,.info-card,.audience-card,.team-group,.philo-card,.practical-card,.contact-card,.discipline-card,.step,.feature-panel{transition:transform .3s var(--ease),box-shadow .3s var(--ease)}
.quick-card:hover,.audience-card:hover,.team-group:hover,.philo-card:hover,.practical-card:hover,.contact-card:hover,.discipline-card:hover,.step:hover{transform:translateY(-5px);box-shadow:0 22px 46px rgba(28,77,97,.13)}
.contact-card img,.discipline-card img{transition:transform .35s var(--ease)}
.contact-card:hover img,.discipline-card:hover img{transform:scale(1.08)}

/* Liens texte du contenu : soulignement doux */
.prose a,.note a{color:var(--green-dark);text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:3px;text-decoration-color:rgba(38,118,97,.4);transition:text-decoration-color .2s}
.prose a:hover,.note a:hover{text-decoration-color:var(--green-dark)}

/* Bouton « retour en haut » */
.to-top{position:fixed;right:22px;bottom:22px;width:52px;height:52px;border-radius:50%;background:var(--green);color:#fff;border:0;display:grid;place-items:center;cursor:pointer;opacity:0;visibility:hidden;transform:translateY(14px);transition:opacity .3s var(--ease),transform .3s var(--ease),background .2s,visibility .3s;box-shadow:0 12px 28px rgba(76,153,133,.4);z-index:120}
.to-top.show{opacity:1;visibility:visible;transform:none}
.to-top:hover{background:var(--green-dark);transform:translateY(-3px)}

/* Confort : la sélection de texte reprend la couleur de marque */
::selection{background:rgba(76,153,133,.22);color:var(--ink)}

/* --- Préférence « réduire les animations » : on coupe tout le mouvement --- */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  .js :is(.discipline-card,.quick-card,.info-card,.audience-card,.team-group,.philo-card,.practical-card,.contact-card,.step,.feature-panel,.prose,.map-card,.section-title,.section-lead,.discipline-intro){opacity:1!important;transform:none!important}
  .js .hero-copy>*{opacity:1!important;animation:none!important}
  .to-top{transition:opacity .2s,visibility .2s}
}
@media(max-width:1450px){.shell{width:min(1320px,calc(100% - 56px))}.nav-wrap{min-height:104px}.brand img{width:245px}.main-nav{gap:19px;font-size:.94rem}.hero{grid-template-columns:.9fr 1.1fr}.disciplines{grid-template-columns:repeat(3,1fr)}.discipline-intro{grid-column:1/-1}.team-groups{grid-template-columns:repeat(2,1fr)}}
@media(max-width:1080px){body{font-size:16px}.shell{width:min(100% - 36px,920px)}.nav-wrap{min-height:90px}.brand img{width:220px}.nav-toggle{display:block}.main-nav{display:none;position:absolute;top:90px;left:0;right:0;background:#fff;padding:20px 28px 30px;flex-direction:column;align-items:stretch;gap:0;box-shadow:0 18px 35px rgba(22,58,78,.12)}.main-nav.open{display:flex;animation:ox-menu .28s var(--ease)}@keyframes ox-menu{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}.main-nav a{padding:12px 4px}.main-nav .contact-link{text-align:center;margin-top:8px}.hero{grid-template-columns:1fr;min-height:auto}.hero-copy{padding:70px 36px}.hero-media{min-height:440px}.disciplines{grid-template-columns:repeat(2,1fr)}.info-row,.quick-grid,.content-grid,.steps,.audience-grid,.philo-grid,.practical-grid,.contact-cards{grid-template-columns:1fr 1fr}.feature-panel{position:static}.footer-grid{grid-template-columns:1fr 1fr}.page-hero{padding:60px 0}.site-header.scrolled .brand img{width:200px}}
@media(max-width:680px){.shell{width:calc(100% - 28px)}.brand img{width:180px}.hero-copy{padding:55px 22px}.hero h1{font-size:2.75rem}.page-hero h1{font-size:clamp(2rem,10vw,2.65rem);line-height:1.08;letter-spacing:-.035em;overflow-wrap:anywhere;hyphens:auto}.hero p{font-size:1.08rem}.hero-media{min-height:300px}.section{padding:58px 0}.disciplines,.info-row,.quick-grid,.content-grid,.steps,.audience-grid,.team-groups,.philo-grid,.practical-grid,.contact-cards,.footer-grid{grid-template-columns:1fr}.info-card+ .info-card{border-left:0;border-top:1px solid #d6e6e2}.discipline-card{min-height:160px}.footer-bottom{flex-direction:column;gap:6px}.main-nav{top:90px}.actions{flex-direction:column;align-items:stretch}.btn{justify-content:center}.page-hero{padding:48px 0}.feature-panel{padding:26px}.team-group,.practical-card,.contact-card{padding:26px}.to-top{right:16px;bottom:16px;width:48px;height:48px}}

@media(max-width:390px){.page-hero h1{font-size:1.9rem}.page-hero p{font-size:1.05rem}.breadcrumb{font-size:.82rem}}

/* =========================================================
   AMÉLIORATIONS v2 — plus de couleur/profondeur, motifs végétaux
   (corrige l'aspect « trop clair » ; décorations statiques)
   ========================================================= */

/* Fonds doux un peu plus soutenus */
.section-soft{background:linear-gradient(180deg,#f1f9f6,#e6f2ec)}
.hero{background:linear-gradient(105deg,#e8f7f4 0%,#f3fbfa 44%,#fff 68%)}

/* Accent végétal + halo dans les en-têtes de page */
.page-hero{position:relative;overflow:hidden;background:radial-gradient(circle at 82% 12%,#dcf3ea 0,transparent 40%),linear-gradient(135deg,#eef8f6,#eef6fc)}
.page-hero .shell{position:relative;z-index:1}
.page-hero:after{content:"";position:absolute;pointer-events:none;right:-30px;top:-20px;width:260px;height:260px;background:url('../../images/leaf-cluster.svg') center/contain no-repeat;opacity:.18;transform:rotate(10deg)}

/* Halo coloré discret dans les sections claires */
.section-soft{position:relative;overflow:hidden}
.section-soft:before{content:"";position:absolute;pointer-events:none;left:-120px;bottom:-140px;width:340px;height:340px;border-radius:50%;background:radial-gradient(circle,rgba(76,153,133,.16),transparent 70%)}
.section-soft>.shell{position:relative;z-index:1}

/* Cartes : bordures/ombres légèrement plus présentes (moins « plates ») */
:root{--line:#cfe1e4}
.quick-card,.team-group,.step{box-shadow:0 10px 30px rgba(28,77,97,.09)}
.discipline-card{box-shadow:0 10px 26px rgba(33,77,96,.09)}

/* Petit repère végétal devant les titres de section */
.section-title{position:relative}

/* --- Bande d'appel à l'action (CTA) : point focal coloré --- */
.cta-band{position:relative;overflow:hidden;color:#eafaf5;padding:74px 0;background:linear-gradient(135deg,#2f8168 0%,#1f6151 72%)}
.cta-band:before{content:"";position:absolute;pointer-events:none;right:-70px;top:-70px;width:340px;height:340px;background:url('../../images/leaf-cluster.svg') center/contain no-repeat;opacity:.15;transform:rotate(-10deg)}
.cta-band:after{content:"";position:absolute;pointer-events:none;left:-90px;bottom:-120px;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.10),transparent 70%)}
.cta-inner{position:relative;z-index:1;display:grid;grid-template-columns:1.5fr .6fr;gap:44px;align-items:center}
.cta-text h2{color:#fff;font-size:clamp(1.9rem,3vw,2.9rem);line-height:1.12;margin:0 0 14px}
.cta-text p{color:#d7f0e8;font-size:1.16rem;max-width:660px;margin:0 0 24px}
.cta-art{display:flex;justify-content:center}
.cta-art img{width:min(230px,62%);filter:drop-shadow(0 16px 32px rgba(0,0,0,.22))}
.btn-light{background:#fff;color:var(--green-dark)}
.btn-light:hover{background:#f1fbf8;color:var(--green-dark);transform:translateY(-2px)}

/* Accent végétal dans le pied de page */
.site-footer{position:relative;overflow:hidden;background:linear-gradient(135deg,#e6f3f0,#e3f0f7)}
.site-footer:before{content:"";position:absolute;pointer-events:none;right:-40px;top:-50px;width:230px;height:230px;background:url('../../images/leaf-cluster.svg') center/contain no-repeat;opacity:.10;transform:rotate(-6deg)}
.footer-grid,.footer-bottom{position:relative;z-index:1}
.footer-aviq img{width:150px}

@media(max-width:820px){
  .cta-inner{grid-template-columns:1fr;text-align:center}
  .cta-art{order:-1}.cta-art img{width:150px}
  .cta-text p{margin-inline:auto}
  .cta-band .actions{justify-content:center}
}
@media(max-width:680px){
  .cta-band{padding:56px 0}
  .page-hero:after{width:170px;height:170px;opacity:.14}
}

/* =========================================================
   PAGE ÉQUIPE — blocs teintés par discipline + icône filigrane
   (l'icône et la couleur sont liées au bloc via data-service,
   pas à sa position : réordonner les blocs ne casse rien.)
   ========================================================= */
.team-group{position:relative;overflow:hidden}
.team-group h3{padding-right:46px}                 /* place pour l'icône du coin */
.team-group:after{content:"";position:absolute;right:15px;top:15px;width:38px;height:38px;
  background:center/contain no-repeat;opacity:.15;pointer-events:none}
.team-group li{border-bottom-color:rgba(23,61,103,.10)}

.team-group[data-service="pedopsy"]{background:#eef6fd}
.team-group[data-service="pedopsy"]:after{background-image:url('../../icons/pedopsy.svg')}
.team-group[data-service="psy"]{background:#edf9f5}
.team-group[data-service="psy"]:after{background-image:url('../../icons/psychologue.svg')}
.team-group[data-service="social"]{background:#f5f0fb}
.team-group[data-service="social"]:after{background-image:url('../../icons/social.svg')}
.team-group[data-service="ergo"]{background:#fff4ec}
.team-group[data-service="ergo"]:after{background-image:url('../../icons/ergo.svg')}
.team-group[data-service="logo"]{background:#eef7fd}
.team-group[data-service="logo"]:after{background-image:url('../../icons/logopede.svg')}
.team-group[data-service="secretariat"]{background:#f0faef}
.team-group[data-service="secretariat"]:after{background-image:url('../../icons/secretariat.svg')}
