:root { --ifrawin-ink:#11253f; --ifrawin-muted:#5c6b7a; --ifrawin-green:#0aae70; --ifrawin-green-dark:#078658; --ifrawin-mist:#eff8f4; --ifrawin-line:#dce8e2; --ifrawin-sand:#faf9f6; }
.if-home { color:var(--ifrawin-ink); font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; } .if-home h1,.if-home h2,.if-home h3,.if-home p { margin-top:0; } .if-home a { text-decoration:none; } .if-shell { width:min(1160px,calc(100% - 40px)); margin:0 auto; }
.if-eyebrow { display:inline-flex; align-items:center; gap:8px; padding:8px 12px; border:1px solid rgba(10,174,112,.22); border-radius:999px; color:var(--ifrawin-green-dark); background:rgba(255,255,255,.7); font-size:.82rem; font-weight:700; } .if-eyebrow::before { content:""; width:8px; height:8px; border-radius:100%; background:var(--ifrawin-green); }
.if-hero { overflow:hidden; padding:clamp(58px,8vw,110px) 0 74px; background:radial-gradient(circle at 85% 20%,#d9f2e5 0,transparent 26rem),linear-gradient(120deg,#f8fbfa 0%,#fff 55%,#f4faf7 100%); } .if-hero-grid { display:grid; grid-template-columns:1.08fr .92fr; align-items:center; gap:clamp(36px,7vw,92px); } .if-hero h1 { max-width:760px; margin:18px 0; color:var(--ifrawin-ink); font-size:clamp(2.65rem,5.3vw,5.05rem); font-weight:780; letter-spacing:-.065em; line-height:.99; } .if-hero h1 em { color:var(--ifrawin-green-dark); font-style:normal; } .if-lead { max-width:610px; margin-bottom:30px; color:var(--ifrawin-muted); font-size:clamp(1.06rem,1.55vw,1.25rem); line-height:1.65; }
.if-actions { display:flex; flex-wrap:wrap; gap:12px; align-items:center; } .if-button { display:inline-flex; min-height:50px; align-items:center; justify-content:center; padding:0 21px; border:1px solid transparent; border-radius:12px; font-size:.98rem; font-weight:750; transition:transform .2s ease,background .2s ease,border-color .2s ease; } .if-button:hover { color:inherit; transform:translateY(-2px); } .if-button-primary { color:#fff; background:var(--ifrawin-green); box-shadow:0 10px 22px rgba(10,174,112,.2); } .if-button-primary:hover { color:#fff; background:var(--ifrawin-green-dark); } .if-button-secondary { color:var(--ifrawin-ink); border-color:var(--ifrawin-line); background:#fff; } .if-button-secondary:hover { color:var(--ifrawin-ink); border-color:#afcbbd; } .if-hero-note { margin:18px 0 0; color:#718072; font-size:.86rem; }
.if-visual { position:relative; min-height:410px; } .if-visual-orb { position:absolute; width:92%; aspect-ratio:1; top:2%; right:0; border-radius:42% 58% 56% 44% / 46% 39% 61% 54%; background:#d9f1e3; transform:rotate(-9deg); } .if-impact-card { position:absolute; inset:42px 0 0 40px; display:flex; flex-direction:column; justify-content:flex-end; min-height:360px; padding:30px; overflow:hidden; border:1px solid rgba(255,255,255,.7); border-radius:28px; background:linear-gradient(145deg,#153752,#11253f 64%); box-shadow:0 25px 50px rgba(17,37,63,.18); } .if-impact-card::before { content:""; position:absolute; width:260px; height:260px; right:-80px; top:-92px; border:36px solid rgba(255,255,255,.07); border-radius:50%; } .if-impact-card>* { position:relative; } .if-impact-kicker { margin-bottom:10px; color:#9ce8c1; font-size:.85rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase; } .if-impact-card h2 { max-width:360px; margin-bottom:12px; color:#fff; font-size:clamp(1.8rem,3vw,2.5rem); font-weight:750; line-height:1.05; letter-spacing:-.04em; } .if-impact-card p { max-width:330px; margin:0; color:#cbdbe4; font-size:1rem; line-height:1.55; } .if-spark { position:absolute; right:-4px; bottom:13px; width:142px; padding:16px; border:1px solid rgba(255,255,255,.75); border-radius:16px; background:rgba(255,255,255,.92); box-shadow:0 12px 35px rgba(17,37,63,.17); color:var(--ifrawin-ink); font-size:.85rem; font-weight:700; } .if-spark strong { display:block; margin-bottom:2px; color:var(--ifrawin-green-dark); font-size:1.4rem; }
.if-section { padding:clamp(62px,9vw,112px) 0; } .if-section-soft { background:var(--ifrawin-sand); } .if-section-heading { max-width:650px; margin-bottom:40px; } .if-section-heading.center { margin-right:auto; margin-left:auto; text-align:center; } .if-section-title { margin-bottom:14px; color:var(--ifrawin-ink); font-size:clamp(2rem,3.8vw,3.25rem); font-weight:760; letter-spacing:-.052em; line-height:1.08; } .if-section-copy { margin:0; color:var(--ifrawin-muted); font-size:1.06rem; line-height:1.7; }
.if-steps { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; } .if-step { position:relative; min-height:245px; padding:28px; border:1px solid var(--ifrawin-line); border-radius:18px; background:#fff; transition:transform .2s ease,box-shadow .2s ease; } .if-step:hover { transform:translateY(-4px); box-shadow:0 16px 30px rgba(17,37,63,.08); } .if-step-number { display:flex; width:38px; height:38px; align-items:center; justify-content:center; margin-bottom:42px; border-radius:10px; background:var(--ifrawin-mist); color:var(--ifrawin-green-dark); font-weight:800; } .if-step h3 { margin-bottom:9px; font-size:1.25rem; font-weight:760; } .if-step p { margin-bottom:0; color:var(--ifrawin-muted); line-height:1.58; }
.if-cause-layout { display:grid; grid-template-columns:.82fr 1.18fr; align-items:start; gap:clamp(30px,6vw,80px); } .if-cause-list { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; } .if-cause { display:flex; min-height:105px; flex-direction:column; justify-content:space-between; padding:18px; border:1px solid var(--ifrawin-line); border-radius:16px; background:#fff; color:var(--ifrawin-ink); font-weight:720; transition:border-color .2s ease,transform .2s ease; } .if-cause:hover { color:var(--ifrawin-ink); border-color:var(--ifrawin-green); transform:translateY(-2px); } .if-cause i { color:var(--ifrawin-green-dark); font-size:1.25rem; } .if-community { margin-top:64px; padding:clamp(28px,5vw,58px); border-radius:24px; background:var(--ifrawin-ink); color:#fff; } .if-community-grid { display:grid; grid-template-columns:1fr auto; gap:32px; align-items:center; } .if-community h2 { margin-bottom:10px; color:#fff; font-size:clamp(1.85rem,3vw,2.7rem); font-weight:750; letter-spacing:-.045em; } .if-community p { max-width:640px; margin:0; color:#c8d6df; font-size:1.05rem; line-height:1.65; } .if-community .if-button-secondary { color:#fff; border-color:rgba(255,255,255,.35); background:transparent; } .if-community .if-button-secondary:hover { border-color:#fff; } .if-map { overflow:hidden; margin:42px 0 0; border:1px solid var(--ifrawin-line); border-radius:22px; box-shadow:0 16px 35px rgba(17,37,63,.09); } .if-map iframe { display:block; width:100%; min-height:480px; border:0; }
@media (max-width:991px) { .if-hero-grid,.if-cause-layout { grid-template-columns:1fr; } .if-visual { max-width:620px; width:100%; margin:0 auto; } .if-steps { grid-template-columns:1fr; } .if-step { min-height:auto; } .if-step-number { margin-bottom:25px; } } @media (max-width:640px) { .if-shell { width:min(100% - 28px,1160px); } .if-hero { padding-top:48px; } .if-actions,.if-actions .if-button { width:100%; } .if-visual { min-height:330px; } .if-impact-card { inset:24px 8px 0; min-height:290px; padding:24px; } .if-spark { right:4px; bottom:4px; } .if-cause-list { grid-template-columns:1fr; } .if-community-grid { grid-template-columns:1fr; gap:22px; } .if-community .if-button { width:100%; } .if-map iframe { min-height:350px; } }

/* Direction artistique de la landing : une image réelle, une hiérarchie éditoriale et moins d'effet "template". */
body:has(.if-home) .header-area .header-bottom { background:rgba(255,255,255,.92); border-bottom:1px solid rgba(17,37,63,.08); box-shadow:none; }
body:has(.if-home) .header-area .header-bottom.header-sticky { box-shadow:0 10px 30px rgba(17,37,63,.06); }
body:has(.if-home) .main-menu ul li a { color:var(--ifrawin-ink); font-weight:650; letter-spacing:-.01em; }
body:has(.if-home) .main-menu ul li a:hover { color:var(--ifrawin-green-dark); }
body:has(.if-home) .logo img { max-height:43px; width:auto; }
.if-hero { position:relative; border-bottom:1px solid var(--ifrawin-line); }
.if-hero::after { content:""; position:absolute; right:7%; bottom:24px; width:64px; height:2px; background:var(--ifrawin-green); }
.if-impact-card { background:linear-gradient(180deg,rgba(8,25,43,.08) 4%,rgba(8,25,43,.94) 88%),url("../img/hero/h1_hero.png") center / cover no-repeat; }
.if-impact-card::before { border-color:rgba(255,255,255,.16); }
.if-impact-card h2 { max-width:310px; font-size:clamp(2rem,3.2vw,2.75rem); }
.if-impact-card p { max-width:300px; color:#e6eef2; }
.if-spark { width:164px; padding:15px 17px; border-radius:12px; border-left:4px solid var(--ifrawin-green); font-size:.82rem; line-height:1.4; }
.if-spark strong { font-size:.95rem; text-transform:uppercase; letter-spacing:.06em; }
.if-steps { gap:20px; }
.if-step { border-top:3px solid transparent; border-radius:14px; box-shadow:0 3px 0 rgba(17,37,63,.02); }
.if-step:hover { border-top-color:var(--ifrawin-green); box-shadow:0 18px 36px rgba(17,37,63,.11); }
.if-step-number { width:44px; height:44px; margin-bottom:34px; background:var(--ifrawin-ink); color:#fff; border-radius:50%; font-size:.84rem; }
.if-step:nth-child(2) .if-step-number { background:var(--ifrawin-green-dark); }
.if-step:nth-child(3) .if-step-number { background:#d79b43; }
.if-cause { min-height:130px; padding:22px; border-radius:12px; box-shadow:0 5px 18px rgba(17,37,63,.035); }
.if-cause i { font-size:1.45rem; }
.if-community { position:relative; overflow:hidden; border:1px solid rgba(255,255,255,.08); box-shadow:0 24px 42px rgba(17,37,63,.14); }
.if-community::after { content:""; position:absolute; top:-100px; right:-70px; width:260px; height:260px; border:42px solid rgba(10,174,112,.16); border-radius:50%; }
.if-community-grid { position:relative; z-index:1; }

/* Fiches association : le contenu et la confiance passent avant les effets de template. */
.if-association { color:var(--ifrawin-ink); font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; background:#fff; }
.if-association a { text-decoration:none; }
.if-association-shell { width:min(1160px,calc(100% - 40px)); margin:0 auto; }
.if-association-hero { position:relative; min-height:520px; display:flex; align-items:flex-end; overflow:hidden; background:var(--ifrawin-ink); }
.if-association-hero-media { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.82; }
.if-association-hero-overlay { position:absolute; inset:0; background:linear-gradient(90deg,rgba(9,25,43,.94) 0%,rgba(9,25,43,.68) 43%,rgba(9,25,43,.18) 100%),linear-gradient(0deg,rgba(9,25,43,.8) 0%,transparent 55%); }
.if-association-hero-content { position:relative; z-index:1; width:100%; padding:56px 0 60px; color:#fff; }
.if-association-back { display:inline-flex; align-items:center; gap:8px; margin-bottom:70px; color:#d8e5ec; font-size:.92rem; font-weight:650; } .if-association-back:hover { color:#fff; }
.if-association-logo { display:block; width:76px; height:76px; margin:0 0 18px; padding:8px; border:1px solid rgba(255,255,255,.45); border-radius:14px; background:rgba(255,255,255,.94); box-shadow:0 10px 24px rgba(0,0,0,.18); object-fit:contain; }
.if-association-kicker { margin-bottom:15px; color:#9ce8c1; font-size:.78rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.if-association-title { max-width:800px; margin:0 0 19px; color:#fff; font-size:clamp(2.7rem,6vw,5.4rem); font-weight:780; letter-spacing:-.067em; line-height:.96; }
.if-association-tags { display:flex; flex-wrap:wrap; gap:8px; max-width:650px; }
.if-association-tag { padding:7px 11px; border:1px solid rgba(255,255,255,.36); border-radius:999px; background:rgba(255,255,255,.1); color:#fff; font-size:.83rem; font-weight:650; backdrop-filter:blur(8px); }
.if-association-body { display:grid; grid-template-columns:minmax(0,1fr) 330px; gap:clamp(38px,7vw,90px); padding:clamp(58px,8vw,100px) 0; }
.if-association-intro { margin:0 0 28px; color:var(--ifrawin-muted); font-size:1.17rem; line-height:1.8; }
.if-association-intro p { margin:0 0 1.2em; } .if-association-intro h2,.if-association-intro h3 { margin:1.8em 0 .55em; color:var(--ifrawin-ink); font-weight:750; letter-spacing:-.035em; } .if-association-intro a { color:var(--ifrawin-green-dark); text-decoration:underline; }
.if-association-section-title { margin:0 0 16px; color:var(--ifrawin-ink); font-size:1.22rem; font-weight:760; letter-spacing:-.025em; }
.if-location-list { display:flex; flex-wrap:wrap; gap:10px; }
.if-location { display:inline-flex; align-items:center; gap:8px; padding:10px 12px; border:1px solid var(--ifrawin-line); border-radius:10px; color:#405367; background:#f9fcfa; font-size:.9rem; font-weight:650; } .if-location i { color:var(--ifrawin-green-dark); }
.if-association-aside { position:relative; }
.if-association-action-card { position:sticky; top:116px; padding:30px; border:1px solid var(--ifrawin-line); border-radius:18px; background:var(--ifrawin-sand); box-shadow:0 16px 38px rgba(17,37,63,.07); }
.if-association-action-card h2 { margin:0 0 10px; font-size:1.55rem; font-weight:760; letter-spacing:-.04em; } .if-association-action-card p { margin:0 0 24px; color:var(--ifrawin-muted); line-height:1.6; }
.if-association-action { display:flex; width:100%; min-height:50px; align-items:center; justify-content:center; gap:9px; margin-top:10px; padding:0 15px; border:1px solid transparent; border-radius:11px; font-size:.94rem; font-weight:750; transition:transform .2s ease,background .2s ease; } .if-association-action:hover { transform:translateY(-2px); }
.if-association-action-primary { color:#fff; background:var(--ifrawin-green); box-shadow:0 9px 18px rgba(10,174,112,.18); } .if-association-action-primary:hover { color:#fff; background:var(--ifrawin-green-dark); }
.if-association-action-secondary { color:var(--ifrawin-ink); border-color:var(--ifrawin-line); background:#fff; } .if-association-action-secondary:hover { color:var(--ifrawin-ink); border-color:#b7d5c5; }
.if-association-note { margin-top:18px !important; color:#7b8a94 !important; font-size:.8rem; text-align:center; }
@media (max-width:991px) { .if-association-body { grid-template-columns:1fr; } .if-association-action-card { position:static; } }
@media (max-width:640px) { .if-association-shell { width:min(100% - 28px,1160px); } .if-association-hero { min-height:480px; } .if-association-hero-content { padding:36px 0; } .if-association-back { margin-bottom:58px; } .if-association-title { font-size:clamp(2.55rem,13vw,4rem); } .if-association-body { padding:54px 0; } }

/* Version éditoriale : pas de sidebar, un seul logo et l'action principale au-dessus de la ligne de flottaison. */
.if-association-v2 .if-association-hero { min-height:0; overflow:visible; background:linear-gradient(115deg,#102c45 0%,#173b57 57%,#0b7452 155%); }
.if-association-v2 .if-association-hero::before { content:""; position:absolute; width:460px; height:460px; top:-260px; right:6%; border:1px solid rgba(255,255,255,.12); border-radius:50%; box-shadow:0 0 0 54px rgba(255,255,255,.035),0 0 0 108px rgba(255,255,255,.025); }
.if-association-v2 .if-association-hero::after { width:100%; height:4px; right:auto; bottom:0; background:linear-gradient(90deg,var(--ifrawin-green),#a7ecc8); }
.if-association-hero-layout { position:relative; z-index:1; display:grid; grid-template-columns:150px minmax(0,1fr); gap:36px; align-items:center; padding:clamp(48px,7vw,86px) 0; }
.if-association-brand { display:grid; width:150px; height:150px; place-items:center; overflow:hidden; border:1px solid rgba(255,255,255,.36); border-radius:22px; background:#fff; box-shadow:0 22px 45px rgba(0,0,0,.2); }
.if-association-brand img { width:100%; height:100%; padding:15px; object-fit:contain; } .if-association-brand span { color:var(--ifrawin-ink); font-size:4rem; font-weight:800; }
.if-association-v2 .if-association-kicker { margin:0 0 12px; color:#b5efcf; }
.if-association-v2 .if-association-title { max-width:900px; margin-bottom:18px; font-size:clamp(2.5rem,5.4vw,5rem); }
.if-association-v2 .if-association-tags { margin-bottom:28px; } .if-association-v2 .if-association-tag { padding:8px 12px; color:#e9f3f5; }
.if-association-hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:10px; }
.if-association-v2 .if-association-action { width:auto; min-width:205px; margin:0; padding:0 19px; }
.if-association-v2 .if-association-action-primary { background:#fff; color:var(--ifrawin-ink); box-shadow:none; } .if-association-v2 .if-association-action-primary:hover { background:#e9f8ef; color:var(--ifrawin-ink); }
.if-association-social { display:grid; width:50px; height:50px; place-items:center; border:1px solid rgba(255,255,255,.42); border-radius:11px; color:#fff; font-size:1.1rem; transition:background .2s ease,transform .2s ease; } .if-association-social:hover { color:#fff; background:rgba(255,255,255,.16); transform:translateY(-2px); }
.if-association-content { display:block; max-width:920px; padding:clamp(66px,9vw,116px) 0; }
.if-association-story { max-width:800px; } .if-association-overline { margin:0 0 11px; color:var(--ifrawin-green-dark); font-size:.78rem; font-weight:800; letter-spacing:.11em; text-transform:uppercase; }
.if-association-story h2,.if-association-footprint h2 { margin:0 0 22px; color:var(--ifrawin-ink); font-size:clamp(2rem,3.7vw,3.1rem); font-weight:760; letter-spacing:-.055em; line-height:1.05; }
.if-association-v2 .if-association-intro { max-width:760px; margin:0; color:#455a6d; font-size:clamp(1.1rem,1.45vw,1.25rem); line-height:1.82; }
.if-association-v2 .if-association-intro p { margin-bottom:1.35em; }
/* Keep Markdown lists intact while making their copy match the body text exactly. */
.if-association-v2 .if-association-intro ul,.if-association-v2 .if-association-intro ol { margin:0 0 1.35em; padding-left:1.3em; color:inherit; font-size:inherit; line-height:inherit; }
.if-association-v2 .if-association-intro li { margin:0; padding:0; color:inherit; font-size:inherit; font-weight:inherit; line-height:inherit; }
.if-association-footprint { display:grid; grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr); gap:42px; margin-top:70px; padding:36px 0 0; border-top:1px solid var(--ifrawin-line); }
.if-association-footprint h2 { font-size:clamp(1.65rem,2.6vw,2.15rem); }
.if-association-v2 .if-location-list { gap:12px; align-content:start; }
.if-association-v2 .if-location { min-height:55px; padding:13px 16px; border-radius:12px; background:#fff; box-shadow:0 6px 16px rgba(17,37,63,.05); color:#294357; font-size:1rem; }
@media (max-width:720px) { .if-association-hero-layout { grid-template-columns:1fr; gap:25px; padding:46px 0; } .if-association-brand { width:98px; height:98px; border-radius:17px; } .if-association-v2 .if-association-title { font-size:clamp(2.45rem,12vw,3.65rem); } .if-association-v2 .if-association-action { width:100%; } .if-association-social { width:48px; } .if-association-footprint { grid-template-columns:1fr; gap:20px; margin-top:52px; } }
