/* HEADER */
.site-header { position: sticky; top: 0; z-index: 50; background: rgba(255,255,255,.97); border-bottom: 1px solid #E7EFED; }
.site-header__inner { min-height: 69px; width: calc(100% - 60px); margin: 0 auto; display: flex; align-items: center; gap: 22px; }
.site-header__brand { flex: 0 0 auto; }
.site-header__logo { width: 190px; max-width: 19vw; }
.site-nav { margin-left: auto; display: flex; align-items: center; gap: 25px; color: var(--ink-dark); font-size: 13px; font-weight: 800; }
.site-nav a { transition: opacity .2s ease; white-space: nowrap; }
.site-nav a:hover { opacity: .62; }
.site-nav__support { color: var(--white); background: var(--kairos-green-dark); padding: 10px 21px; border-radius: 999px; }
.search-toggle { width: 30px; height: 30px; padding: 5px; border: 0; background: transparent; color: var(--ink-dark); }
.search-toggle svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.nav-toggle { display: none; border: 0; background: transparent; padding: 8px; }
.nav-toggle span { display: block; width: 23px; height: 2px; margin: 4px 0; background: var(--kairos-green-dark); }
.search-panel { display: none; padding: 15px max(30px, calc((100% - var(--container)) / 2)); background: var(--cream-blue); border-top: 1px solid var(--line); }
.search-panel.is-open { display: block; }
.search-panel label { display: block; margin-bottom: 6px; font-size: 12px; font-weight: 800; }
.search-panel__field { display: flex; gap: 8px; }
.search-panel input { flex: 1; min-width: 0; border: 1px solid var(--line); border-radius: 999px; padding: 9px 14px; background: var(--white); color: var(--ink-dark); }
.search-panel button { border: 0; border-radius: 999px; padding: 0 18px; background: var(--kairos-green-dark); color: var(--white); font-size: 12px; font-weight: 800; }

/* HERO */
.hero-home { position: relative; height: 420px; overflow: hidden; color: var(--ink-dark); }
.hero-home__image { position: absolute; inset: 0; background-image: url("../assets/images/accueil/hero-lac.png"); background-size: cover; background-position: 56% center; }
.hero-home__overlay { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(255,255,255,.95) 0%, rgba(255,255,255,.78) 35%, rgba(255,255,255,.05) 68%, rgba(0,48,39,.22) 100%); }
.hero-home__content { position: relative; z-index: 2; width: min(48%, 390px); margin-left: max(40px, calc((100% - 742px) / 2)); padding-top: 58px; }
.hero-home__eyebrow { margin-bottom: 12px; font-size: 11px; font-weight: 800; letter-spacing: .09em; color: var(--ink); }
.hero-home h1 { margin-bottom: 7px; font-size: 31px; letter-spacing: -.035em; }
.hero-home h2 { margin-bottom: 11px; font-size: 18px; letter-spacing: -.02em; }
.hero-home__rule { width: 38px; height: 4px; margin-bottom: 12px; background: var(--kairos-green-dark); }
.hero-home__intro { width: 275px; margin-bottom: 15px; font-size: 15px; font-weight: 600; line-height: 1.5; }
.hero-home__claim { position: absolute; z-index: 2; right: max(26px, calc((100% - 742px) / 2)); bottom: 58px; width: 150px; padding-left: 14px; border-left: 1px solid rgba(255,255,255,.8); color: var(--white); font-size: 13px; line-height: 1.45; }
.hero-home__claim i { display: block; width: 29px; height: 3px; margin-top: 10px; background: var(--kairos-blue); }
.hero-home__curve { position: absolute; z-index: 3; left: -3%; right: -3%; bottom: -27px; height: 57px; background: var(--white); border-radius: 50% 50% 0 0 / 65% 65% 0 0; }

/* VALUES */
.values-strip { position: relative; z-index: 4; display: grid; grid-template-columns: repeat(3, 1fr); width: 100%; min-height: 145px; padding: 14px max(40px, calc((100% - 742px) / 2)); background: var(--white); text-align: center; }
.values-strip__item { position: relative; padding: 3px 30px 8px; }
.values-strip__item + .values-strip__item::before { content: ""; position: absolute; left: 0; top: 18px; bottom: 12px; width: 1px; background: #BFD8D5; }
.values-strip svg { width: 37px; height: 37px; margin: 0 auto 5px; fill: none; stroke: var(--ink); stroke-width: 2.5; }
.values-strip__item:nth-child(3) svg { stroke-width: 2; }
.values-strip h2 { margin-bottom: 5px; font-size: 15px; }
.values-strip p { margin: 0; font-size: 13px; line-height: 1.55; }

/* 45 */
.engagement-count { display: grid; grid-template-columns: 1.02fr .98fr; min-height: 255px; background: var(--cream-blue); overflow: hidden; }
.engagement-count__image { min-height: 255px; background-image: url("../assets/images/accueil/engagements-paris.png"); background-size: cover; background-position: center; clip-path: polygon(0 0, 100% 0, 85% 100%, 0 100%); }
.engagement-count__content { display: flex; align-items: center; gap: 15px; padding: 30px 40px 30px 10px; }
.engagement-count__number { flex: 0 0 auto; font-size: 54px; line-height: .85; font-weight: 800; letter-spacing: -.06em; color: var(--ink-dark); }
.engagement-count__content h2 { margin-bottom: 9px; font-size: 22px; }
.engagement-count__content p { max-width: 300px; margin-bottom: 13px; font-size: 14px; line-height: 1.55; }

/* PILLARS */
.pillars-home { background: var(--white); }
.section-heading--home { margin-bottom: 16px; }
.section-heading--home h2 { margin-bottom: 3px; font-size: 21px; letter-spacing: -.035em; }
.section-heading--home p { margin: 0; font-size: 13px; }
.outline-link { display: inline-flex; align-items: center; gap: 9px; padding: 8px 17px; border: 1px solid #55BCA0; border-radius: 999px; font-size: 12px; font-weight: 800; color: var(--ink); white-space: nowrap; }
.pillar-grid-home { display: grid; grid-template-columns: repeat(5, 1fr); gap: 9px; }
.pillar-home-card { min-height: 112px; padding: 12px 7px 10px; border-radius: 6px; background: #EEF7F5; text-align: center; color: var(--ink); display: flex; flex-direction: column; align-items: center; transition: transform .2s ease, box-shadow .2s ease; }
.pillar-home-card:hover { transform: translateY(-2px); box-shadow: var(--shadow); }
.pillar-icon { height: 39px; display: flex; align-items: center; font-size: 27px; line-height: 1; font-weight: 400; }
.pillar-home-card b { display: block; margin: 2px 0 7px; font-size: 11px; }
.pillar-home-card strong { font-size: 11px; line-height: 1.45; font-weight: 700; }

/* FEATURED */
.featured { padding-top: 20px; padding-bottom: 24px; }
.section-heading--compact { margin-bottom: 14px; }
.section-heading--compact h2 { margin: 0; font-size: 20px; letter-spacing: -.035em; }
.section-heading--compact .text-link { color: var(--ink); }
.featured-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.featured-card { overflow: hidden; border: 1px solid #D6E5E2; border-radius: 5px; background: var(--white); }
.featured-card > img { width: 100%; height: 116px; object-fit: cover; }
.featured-card__body { padding: 9px 11px 12px; }
.featured-card__tag { display: block; margin-bottom: 3px; color: #1B9C78; font-size: 10px; font-weight: 800; }
.featured-card h3 { margin-bottom: 6px; font-size: 13px; line-height: 1.2; }
.featured-card p { margin-bottom: 8px; color: var(--muted); font-size: 12px; line-height: 1.5; }
.featured-card a { color: #168C73; font-size: 11px; font-weight: 800; }

/* JOIN */
.join-home { position: relative; min-height: 132px; overflow: hidden; color: var(--white); }
.join-home__image { position: absolute; inset: 0; background-image: url("../assets/images/accueil/cta-rassemblement.png"); background-size: cover; background-position: 72% center; }
.join-home__overlay { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0,39,31,.88), rgba(0,48,39,.45) 58%, rgba(0,0,0,.15)); }
.join-home__content { position: relative; z-index: 2; padding-top: 19px; }
.join-home h2 { margin-bottom: 2px; font-size: 19px; color: var(--white); }
.join-home p { margin-bottom: 10px; font-size: 13px; font-weight: 700; }
.join-home__actions { display: flex; gap: 10px; }
.join-home .button { min-height: 29px; padding: 0 17px; font-size: 12px; }

/* FOOTER */
.site-footer-home { padding: 20px 0 15px; background: #00564F; color: var(--white); }
.footer-home__top { display: grid; grid-template-columns: 1.35fr 1fr auto; align-items: center; gap: 25px; }
.footer-home__brand { display: flex; align-items: center; gap: 10px; }
.footer-home__logo { width: 112px; }
.footer-home__brand p { margin: 0; font-size: 10px; line-height: 1.45; font-weight: 700; }
.footer-home__nav { display: flex; justify-content: center; gap: 14px; font-size: 10px; font-weight: 700; }
.footer-home__social { display: flex; gap: 7px; }
.footer-home__social a { width: 17px; height: 17px; border: 1px solid rgba(255,255,255,.75); border-radius: 50%; display: grid; place-items: center; font-size: 9px; font-weight: 800; }
.footer-home__bottom { display: flex; justify-content: space-between; gap: 20px; align-items: center; margin-top: 22px; padding-top: 11px; border-top: 1px solid rgba(255,255,255,.17); font-size: 10px; }
.footer-home__bottom > div { display: flex; gap: 10px; align-items: center; }
.footer-home__bottom p { margin: 0; }

/* KAIROS — SVG des 10 piliers : zone et taille standardisées */
.pillar-icon { width:42px; height:39px; display:flex; align-items:center; justify-content:center; }
.pillar-icon img { width:32px; height:32px; display:block; object-fit:contain; }

/* Menu principal complet, adapté aux écrans intermédiaires */
@media(min-width:761px){.site-header__inner{width:calc(100% - 36px);gap:14px}.site-header__logo{width:clamp(118px,12vw,175px)}.site-nav{gap:clamp(8px,1.05vw,18px);font-size:clamp(10px,.85vw,12px)}.site-nav a{white-space:nowrap}}
@media(min-width:761px) and (max-width:1150px){.site-header__inner{flex-wrap:wrap;justify-content:center;padding:10px 0}.site-nav{margin-left:0;justify-content:center;flex-wrap:wrap;row-gap:7px}}
.site-nav a.is-active{color:#187763;text-decoration:underline;text-underline-offset:5px}
