@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Outfit:wght@400;500;600;700;800;900&display=swap');

:root {
  --ink:#073a3e; --ink-2:#17494c; --teal:#00ab9b; --jade:#007e72;
  --mint:#00d9a1; --coral:#ff785d; --amber:#ffc35c;
  --paper:#f5fffc; --white:#fff; --line:rgba(4,83,79,.12);
  --radius:24px; --shadow:0 18px 50px rgba(0,83,75,.1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#f6fbf8;color:var(--ink);font-family:"DM Sans",system-ui,sans-serif;line-height:1.55}
a{color:inherit}
a:focus-visible{outline:3px solid var(--coral);outline-offset:5px;border-radius:4px}
.site-shell{overflow:hidden}
.skip-link{position:absolute;left:15px;top:-70px;padding:12px 16px;background:white;z-index:100}
.skip-link:focus{top:12px}
.site-header{max-width:1280px;margin:auto;padding:22px 42px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand{display:block;flex:0 1 270px}
.brand img{display:block;max-width:100%;width:270px;height:auto;max-height:86px;object-fit:contain;object-position:left}
.top-nav{display:flex;align-items:center;gap:32px;font-weight:800;font-size:.92rem}
.top-nav a{text-decoration:none;transition:opacity .2s}
.top-nav a:hover{opacity:.7}
.top-nav .nav-highlight{padding:12px 18px;border:2px solid var(--ink);border-radius:100px}
.top-nav .nav-highlight span,.button span,.card-link span,.source-link span,.auth-link span{margin-left:8px}
main{max-width:1280px;margin:auto;padding:0 26px}
.hero{min-height:575px;position:relative;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.75fr);align-items:center;gap:48px;padding:64px 64px 70px;background:linear-gradient(118deg,#005f63 0%,#008e83 45%,#00b891 100%);border-radius:32px;overflow:hidden;color:white}
.hero-glow{position:absolute;width:750px;height:750px;border-radius:50%;top:-450px;right:-180px;background:radial-gradient(circle,rgba(119,255,215,.5),rgba(119,255,215,0) 70%);pointer-events:none}
.hero-copy,.hero-forum{position:relative;z-index:2}
.eyebrow{display:inline-flex;align-items:center;gap:9px;color:#eaffec;text-transform:uppercase;letter-spacing:.12em;font-weight:800;font-size:.72rem}
.status-dot{width:9px;height:9px;border-radius:50%;background:var(--amber);box-shadow:0 0 0 5px rgba(255,195,92,.15)}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{font-family:Outfit,"DM Sans",system-ui,sans-serif;line-height:1.08}
.hero h1{margin:22px 0 22px;font-size:clamp(3.5rem,6.1vw,6.8rem);letter-spacing:-.052em;font-weight:800}
.hero h1 em{font-style:normal;color:var(--amber)}
.hero-lead{max-width:600px;font-size:clamp(1.1rem,1.65vw,1.45rem);font-weight:700;line-height:1.38}
.hero-support{max-width:545px;color:#dcfff3;font-size:1rem}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.button{display:inline-flex;align-items:center;justify-content:center;border-radius:100px;padding:14px 22px;min-height:50px;text-decoration:none;font-weight:800;transition:transform .2s,background .2s}
.button:hover{transform:translateY(-3px)}
.button-primary{background:var(--amber);color:#143d3e;box-shadow:0 10px 25px rgba(9,61,63,.18)}
.button-primary:hover{background:#ffda8a}
.button-ghost{border:1px solid rgba(255,255,255,.65);color:white}
.button-ghost:hover{background:rgba(255,255,255,.12)}
.hero-forum{max-width:355px;justify-self:center;text-align:center;padding:29px 28px 25px;border:1px solid rgba(255,255,255,.35);border-radius:27px;background:linear-gradient(165deg,rgba(255,255,255,.22),rgba(0,70,77,.32));box-shadow:0 25px 60px rgba(0,45,48,.22);backdrop-filter:blur(12px)}
.forum-halo{position:absolute;border-radius:50%;width:260px;height:260px;top:-32px;left:50%;transform:translateX(-50%);background:radial-gradient(circle,rgba(255,195,92,.35),transparent 72%);z-index:-1}
.forum-logo{height:142px;width:142px;object-fit:cover;border-radius:50%;border:5px solid rgba(255,255,255,.85);box-shadow:0 14px 38px rgba(0,43,43,.25);display:block;margin:0 auto 22px}
.hero-forum-kicker{display:block;color:#fff0c5;letter-spacing:.14em;font-size:.68rem;font-weight:800}
.hero-forum strong{display:block;font:800 1.88rem/1.12 Outfit,sans-serif;margin:9px 0}
.hero-forum p{color:#e1fff5;font-size:.91rem}
.hero-forum a{color:var(--amber);font-weight:800;text-decoration:none;border-bottom:1px solid var(--amber);padding-bottom:3px}
.hero-decoration{position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.15);pointer-events:none}
.decor-one{width:470px;height:470px;left:-200px;bottom:-340px}
.decor-two{width:220px;height:220px;right:-70px;bottom:-110px}
.mission{display:grid;grid-template-columns:280px 1fr;gap:50px;padding:102px 42px 105px}
.section-number,.mission-label{font-weight:800;letter-spacing:.09em;text-transform:uppercase;font-size:.78rem;color:var(--jade)}
.mission-label{padding-top:14px}
.mission h2{font-size:clamp(2.45rem,4.4vw,4.35rem);letter-spacing:-.045em;margin:0 0 25px}
.mission h2 span{color:var(--teal)}
.mission-body p{max-width:770px;font-size:1.07rem;line-height:1.75;color:#31585a}
.mission-body p a{color:var(--jade);font-weight:800}
.source-link{display:inline-flex;align-items:center;max-width:750px;margin-top:12px;padding:16px 19px;border:1px solid rgba(0,127,114,.19);border-radius:14px;background:#e5f9f1;color:#006e67;text-decoration:none;font-weight:800;font-size:.92rem}
.source-link:hover{background:#d5f6e9}
.tools-section{padding:75px 42px 95px;background:#e9faf3;border-radius:32px}
.section-heading{display:flex;justify-content:space-between;align-items:end;gap:32px;margin-bottom:33px}
.section-heading h2{margin:12px 0 0;font-size:clamp(2.5rem,4.5vw,4.5rem);letter-spacing:-.045em}
.section-heading h2 span{color:var(--teal)}
.section-heading p{max-width:325px;margin-bottom:5px;color:#4b6c6a}
.tools-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.tool-card{min-height:295px;border:1px solid var(--line);border-radius:24px;background:white;padding:26px 29px 29px;display:flex;flex-direction:column;transition:transform .24s,box-shadow .24s}
.tool-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.card-top{display:flex;align-items:center;justify-content:space-between;min-height:47px;margin-bottom:28px}
.card-label{color:var(--jade);font-weight:900;letter-spacing:.13em;font-size:.73rem}
.icon-container{width:48px;height:48px;display:grid;place-items:center;border-radius:14px;background:#dffaf0;color:#008f7b}
.icon-container svg{width:29px;height:29px}
.tool-card h3{font-size:1.7rem;letter-spacing:-.035em;margin:0 0 12px}
.tool-card p{color:#4b6667;max-width:460px;font-size:.97rem;line-height:1.65;margin-bottom:25px}
.card-link{margin-top:auto;display:inline-flex;align-items:center;align-self:flex-start;text-decoration:none;color:#00796f;font-weight:900;border-bottom:2px solid currentColor;padding-bottom:3px}
.card-link:hover{color:#e26049}
.card-featured{grid-column:1/-1;min-height:240px;background:linear-gradient(105deg,#006b68,#009d88 80%,#00b595);color:#fff;border:none;padding:28px 35px}
.card-featured .card-label{color:#fff1c4}
.pill{background:var(--amber);color:#174546;padding:5px 13px;border-radius:100px;font-size:.76rem;font-weight:900}
.card-featured .card-top{margin-bottom:10px}
.featured-layout{display:flex;align-items:center;gap:30px;max-width:860px}
.featured-icon img{height:110px;width:110px;object-fit:cover;border-radius:50%;border:4px solid rgba(255,255,255,.9)}
.card-featured h3{font-size:2.4rem}
.card-featured p{color:#edfff5;max-width:690px;margin-bottom:14px}
.card-featured .card-link{color:var(--amber)}
.card-save .icon-container{background:#fff0db;color:#ed8056}
.card-docs .icon-container{background:#daf7f8;color:#008e9e}
.card-abba .icon-container{background:#e6f7c8;color:#648c13}
.card-code .icon-container{background:#ffe5dc;color:#dd664e}
.auth-panel{display:grid;grid-template-columns:76px 1fr auto;gap:30px;align-items:center;margin:80px 42px 100px;padding:30px 36px;border-radius:22px;border:1px solid rgba(0,126,114,.19);background:linear-gradient(112deg,#fffef9,#e8fbf4)}
.auth-symbol{height:72px;width:72px;display:grid;place-items:center;border-radius:20px;color:#006f6b;background:#c7f7e8}
.auth-symbol svg{height:41px;width:41px}
.auth-content h2{margin:8px 0;font-size:1.75rem}
.auth-content p{margin:0;max-width:690px;color:#4b6667;font-size:.95rem}
.auth-link{white-space:nowrap;text-decoration:none;font-weight:900;color:#007d72;padding:12px 16px;border:2px solid #00a78f;border-radius:100px}
.auth-link:hover{background:#d5faed}
.footer{background:#053e42;color:white;padding:52px max(40px,calc((100vw - 1190px)/2));display:grid;grid-template-columns:1fr auto;gap:28px}
.footer-name{font:800 2.2rem Outfit,sans-serif;letter-spacing:-.04em}
.spark{color:var(--amber)}
.footer-brand p{color:#cceae3;margin:3px 0}
.footer-links{display:flex;gap:25px;align-items:center;font-weight:700}
.footer-links a{text-decoration:none}
.footer-links a:hover{color:var(--amber)}
.footer small{grid-column:1/-1;color:#bedbd6;border-top:1px solid rgba(255,255,255,.2);padding-top:20px}
@media(max-width:960px){
.site-header{padding:20px 28px}.top-nav{gap:14px}.hero{grid-template-columns:1fr;padding:65px 45px 60px;gap:45px}.hero-forum{max-width:520px;width:100%;justify-self:start}.mission{grid-template-columns:1fr;gap:16px}.auth-panel{grid-template-columns:65px 1fr}.auth-link{grid-column:2;justify-self:start}
}
@media(max-width:650px){
.site-header{flex-wrap:wrap;padding:16px 18px 23px}.brand{flex-basis:220px}.top-nav{width:100%;gap:10px;flex-wrap:wrap;font-size:.85rem}.top-nav a:not(.nav-highlight){padding:7px 0}.top-nav .nav-highlight{padding:8px 13px}
main{padding:0 12px}.hero{padding:47px 25px 40px;border-radius:22px;gap:35px}.hero h1{font-size:clamp(3.25rem,13vw,5rem)}.hero-forum{padding:27px 22px}.mission{padding:70px 19px}.mission h2{font-size:2.6rem}.tools-section{padding:54px 18px 55px;border-radius:22px}.section-heading{display:block}.section-heading p{margin-top:16px}.tools-grid{grid-template-columns:1fr;gap:14px}.tool-card{padding:24px}.card-featured{grid-column:auto}.featured-layout{display:block}.featured-icon{margin-bottom:20px}.card-featured h3{font-size:2rem}.auth-panel{margin:55px 5px 75px;padding:25px;grid-template-columns:1fr;gap:14px}.auth-link{grid-column:auto}.footer{grid-template-columns:1fr;padding:40px 25px}.footer-links{gap:17px;flex-wrap:wrap}.footer small{grid-column:auto}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

/* Accueil compact : les outils d'abord, sans grand discours d'ouverture */
.tools-section{margin-top:16px;background:linear-gradient(125deg,#d6fff1 0%,#e9fdf8 51%,#d6f5ef 100%);padding-top:58px}
.section-heading{align-items:center}
.section-heading h1{font-family:Outfit,"DM Sans",system-ui,sans-serif;font-size:clamp(2.7rem,5vw,5rem);letter-spacing:-.055em;line-height:1.06;margin:10px 0 0}
.section-heading h1 span{color:#009c88}
.card-featured{background:linear-gradient(105deg,#005c66,#009c82 75%,#00c095)}
.context-panel{margin:50px 42px 0;padding:36px 40px;border-radius:22px;background:#fff;border-left:7px solid #ff785d;box-shadow:0 7px 30px rgba(0,83,75,.06)}
.context-panel h2{font-size:clamp(1.65rem,2.7vw,2.5rem);letter-spacing:-.035em;margin:12px 0}
.context-panel p{font-size:1.02rem;line-height:1.7;max-width:900px;color:#31585a}
.context-panel a{font-weight:800;color:#007d72;text-decoration-thickness:2px;text-underline-offset:4px}
.auth-panel{margin-top:35px}
@media(max-width:650px){.tools-section{margin-top:8px}.context-panel{margin:30px 5px 0;padding:28px 24px}.section-heading h1{font-size:3rem}}
