@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Outfit:wght@500;600;700;800&display=swap');:root{--ink:#192b45;--muted:#53677f;--teal:#0872b3;--pale:#eaf4fb;--bg:#f5f9fd}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font:16px/1.75 'DM Sans',Arial,sans-serif;background:white}a{color:var(--teal)}.wrap{max-width:1140px;margin:auto;padding:0 24px}header{background:#fff;border-bottom:1px solid #e5eeee;position:sticky;top:0;z-index:5}header .wrap{display:flex;align-items:center;justify-content:space-between;min-height:82px;gap:24px}.brand{font:800 24px Outfit,sans-serif;color:var(--ink);text-decoration:none;white-space:nowrap}.brand span{color:var(--teal)}nav{display:flex;flex-wrap:wrap;gap:17px}nav a{font-size:13px;font-weight:700;color:#38556a;text-decoration:none}nav a:hover{color:var(--teal)}.hero{background:linear-gradient(115deg,#182b46,#086ba9);color:white;padding:85px 0}.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.16em;font-weight:800;color:#b9e6ff}h1,h2,h3{font-family:Outfit,Arial,sans-serif;line-height:1.16}h1{font-size:clamp(38px,5vw,65px);margin:16px 0 20px;max-width:850px}h2{font-size:30px}h3{font-size:22px}.hero p{font-size:19px;max-width:690px;color:#e3f3ff}.button{display:inline-block;background:#ffffff;color:#075a93;text-decoration:none;border-radius:9px;padding:12px 21px;font-weight:800;margin-top:15px}.button.secondary{background:#eaf4fb;color:#0872b3}.section{padding:62px 0}.soft{background:var(--bg)}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.card{border:1px solid #e1ebef;background:#fff;padding:26px;border-radius:16px;box-shadow:0 8px 22px #0e344509}.card h3{margin:0 0 9px}.card p{color:var(--muted);margin:0 0 14px}.card a{font-weight:700}.page-title{background:var(--pale);padding:50px 0}.page-title h1{color:var(--ink);font-size:clamp(32px,4vw,49px);margin:8px 0}.main{padding:42px 0 75px}.prose{max-width:850px;overflow-wrap:anywhere}.prose img{max-width:100%;height:auto;border-radius:8px}.prose iframe,.prose video{max-width:100%}.prose h2,.prose h3{margin-top:1.5em}.prose a{overflow-wrap:anywhere}.prose table{display:block;overflow-x:auto}.prose p{margin:0 0 1.2em}.prose ul{padding-left:24px}.notice{border-left:4px solid var(--teal);background:#eaf4fb;padding:15px 20px;border-radius:5px;margin:24px 0}.date{font-size:13px;color:var(--muted)}footer{background:#192b45;color:#c8dce5;padding:35px 0}footer a{color:#b9e6ff}.mobile-menu{display:none}@media(max-width:900px){header .wrap{align-items:flex-start;flex-direction:column;padding-top:15px;padding-bottom:14px;gap:8px}nav{gap:9px 16px}.cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.cards{grid-template-columns:1fr}.hero{padding:60px 0}.section{padding:42px 0}nav a{font-size:12px}h2{font-size:26px}}
/* Identité visuelle KLS-France, basée sur le logo officiel */
.brand{display:flex;align-items:center;gap:10px;font-size:19px}.brand img{width:78px;height:78px;object-fit:contain;flex-shrink:0}.brand-label{color:#0872b3}.brand:hover .brand-label{color:#192b45}header .wrap{min-height:100px}.button:hover{background:#eaf4fb}.card a:hover,nav a:hover{text-decoration:underline}.prose a:focus-visible,nav a:focus-visible,.button:focus-visible{outline:3px solid #0872b3;outline-offset:3px}@media(max-width:900px){.brand img{width:64px;height:64px}header .wrap{min-height:auto}}

/* V3 : identité strictement bleu KLS, bleu encre et blanc */
:root{--ink:#192b45;--muted:#465a75;--teal:#0872b3;--pale:#eaf4fb;--bg:#f5f9fd}
header{border-bottom:1px solid #dce8f3}
header .wrap{min-height:150px;gap:26px}
.brand{display:inline-flex;align-items:center;flex-shrink:0;text-decoration:none}
.brand img{width:132px;height:132px;object-fit:contain}
nav a{color:#192b45}nav a:hover{color:#0872b3}
.hero{background:linear-gradient(115deg,#0872b3 0%,#155d94 55%,#192b45 100%)}
.hero .eyebrow{color:#fff}
.hero p{color:#f1f8ff}
.button{background:#fff;color:#075a93}
.button:hover{background:#eaf4fb}
.page-title{background:#eaf4fb}
.page-title .eyebrow{color:#0872b3}
.soft{background:#f5f9fd}
.card{border-color:#dce8f3}
footer{background:#192b45}
footer a{color:#d4ecff}
@media(max-width:900px){header .wrap{min-height:auto}.brand img{width:110px;height:110px}}
@media(max-width:620px){.brand img{width:100px;height:100px}}


/* V4 : accueil editorial et navigation repensee, palette du logo KLS */
:root{--ink:#192b45;--muted:#526780;--teal:#0872b3;--pale:#eaf4fb;--bg:#f6f9fc}
body{line-height:1.65}header{position:relative;box-shadow:0 3px 18px rgba(25,43,69,.06)}
header .wrap{min-height:112px;gap:30px}.brand img{width:105px;height:105px}
nav{gap:8px 20px;align-items:center}nav a{font-size:13px;line-height:1.3;padding:10px 0}nav a[aria-current="page"]{color:#0872b3;border-bottom:2px solid #0872b3}
nav a.nav-cta{background:#0872b3;color:white;padding:12px 17px;border-radius:100px;text-decoration:none}nav a.nav-cta:hover{background:#192b45}
.hero{background:#eaf4fb;color:#192b45;padding:82px 0 88px;position:relative;overflow:hidden}
.hero:after{content:"";position:absolute;width:410px;height:410px;right:-130px;top:-130px;border:85px solid rgba(8,114,179,.07);border-radius:50%;pointer-events:none}
.hero .eyebrow{color:#0872b3}.hero h1{font-size:clamp(39px,5.4vw,68px);max-width:780px;letter-spacing:-.035em}
.hero p{color:#465a75;max-width:650px;font-size:19px}.hero .button{background:#0872b3;color:white}.hero .button:hover{background:#192b45}
.hero .button.secondary{background:white;color:#0872b3;border:1px solid #bdd9ed}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}.hero-actions .button{margin-top:0}
.hero-note{margin-top:30px;font-size:13px;color:#526780;max-width:650px}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:28px}.section-heading h2{margin:8px 0 0;font-size:clamp(28px,3.2vw,40px)}
.section-heading .eyebrow{color:#0872b3}.section-heading p{max-width:500px;color:#526780;margin:0}
.cards{gap:20px}.card{border-radius:18px;padding:30px;box-shadow:0 8px 30px rgba(25,43,69,.045);transition:transform .2s,border-color .2s}
.card:hover{transform:translateY(-3px);border-color:#a6cde8}.card .card-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:13px;background:#eaf4fb;color:#0872b3;font-size:22px;margin-bottom:21px}
.card h3{font-size:22px}.card a{text-decoration:none}.card a:hover{text-decoration:underline}
.home-intro{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:start}.home-intro h2{font-size:clamp(28px,3.2vw,40px);margin:8px 0 16px}.home-intro p{color:#526780}.home-intro ul{padding-left:22px}.home-intro li{margin:12px 0}.home-intro .eyebrow{color:#0872b3}
.home-intro .intro-panel{border:1px solid #dce8f3;background:#f6f9fc;border-radius:20px;padding:32px}.intro-panel h3{margin-top:0}.intro-panel a{font-weight:700}
.news-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.news-cards .card{min-height:190px;display:flex;flex-direction:column}.news-cards .card a{margin-top:auto}
footer{padding:50px 0}footer .wrap{max-width:1140px}
@media(max-width:1000px){header .wrap{align-items:center;flex-direction:column;padding-top:12px;padding-bottom:14px;gap:0}nav{justify-content:center}.brand img{width:90px;height:90px}}
@media(max-width:720px){.home-intro{grid-template-columns:1fr;gap:24px}.news-cards{grid-template-columns:1fr}.section-heading{display:block}.hero{padding:54px 0 62px}.hero:after{width:210px;height:210px;border-width:45px}.brand img{width:85px;height:85px}nav{gap:4px 14px}nav a{font-size:12px}.cards{grid-template-columns:1fr}.section{padding:50px 0}}


/* V5 - coherent interior pages */
:root{--kls-primary:#0872B3;--kls-dark:#192B45;--kls-light:#EAF4FB}
.main.wrap{max-width:1120px;padding-top:3.5rem;padding-bottom:5rem}
.main.wrap>h1{font-size:clamp(2.2rem,4vw,3.5rem);line-height:1.15;color:var(--kls-dark);letter-spacing:-.035em;margin-bottom:1.1rem}
.main.wrap>.prose{background:white;border:1px solid #dae7f0;border-radius:20px;padding:clamp(1.25rem,3vw,2.7rem);box-shadow:0 12px 35px rgba(25,43,69,.045);line-height:1.85}
.prose h2,.prose h3{color:var(--kls-dark);line-height:1.3;margin-top:1.7em}
.prose a{color:#075d93;text-decoration-thickness:1px;text-underline-offset:3px;overflow-wrap:anywhere}
.prose img{max-width:100%;height:auto;border-radius:10px}
.prose ul,.prose ol{padding-left:1.5rem}
.kls-page-intro{font-size:1.06rem;color:#4a6175;max-width:760px;margin:0 0 2rem}
.kls-resource-section{margin:3rem 0 2rem}
.kls-resource-section h2{color:var(--kls-dark);font-size:1.65rem}
.kls-resource-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;margin:1.3rem 0 2rem}
.kls-resource{background:#fff;border:1px solid #d6e5ef;border-radius:16px;padding:1.25rem;display:flex;flex-direction:column;gap:.7rem;box-shadow:0 8px 25px rgba(25,43,69,.035)}
.kls-resource span{font-size:.76rem;font-weight:700;color:#0872B3;text-transform:uppercase;letter-spacing:.08em}
.kls-resource strong{color:#192B45;line-height:1.35}
.kls-resource a{margin-top:auto;display:inline-flex;align-items:center;gap:.5rem;color:#075d93;font-weight:700;text-decoration:none}
.kls-resource a:hover{text-decoration:underline}
.kls-note{background:#EAF4FB;border-left:4px solid #0872B3;padding:1rem 1.25rem;border-radius:0 12px 12px 0;color:#192B45;margin:1.2rem 0}
@media(max-width:650px){.main.wrap{padding-top:2rem}.main.wrap>.prose{padding:1.2rem}.kls-resource-grid{grid-template-columns:1fr}}

/* V8 - Formulaire de contact */
.contact-form{display:grid;gap:1.3rem;margin-top:1.5rem}.contact-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.contact-form label{display:block;font-weight:700;color:#192b45;margin-bottom:.45rem}.contact-form input:not([type=checkbox]),.contact-form textarea{display:block;width:100%;box-sizing:border-box;border:1px solid #adc7d9;border-radius:10px;padding:.85rem 1rem;background:#fff;color:#192b45;font:inherit}.contact-form input:focus-visible,.contact-form textarea:focus-visible{outline:3px solid #8bc8ed;outline-offset:2px}.contact-consent{display:flex!important;align-items:flex-start;gap:.7rem;font-weight:400!important;line-height:1.5}.contact-consent input{margin-top:.35rem;flex-shrink:0}.contact-help{font-size:.88rem;color:#526780}.contact-submit{border:0;border-radius:100px;background:#0872b3;color:#fff;padding:.9rem 1.5rem;font:inherit;font-weight:700;cursor:pointer;justify-self:start}.contact-submit:hover{background:#192b45}.contact-feedback{padding:1rem;border-radius:10px;margin:1rem 0}.contact-success{background:#e6f6ed;color:#185b38}.contact-error{background:#fff0ed;color:#8e2920}.contact-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.contact-alternative{margin-top:1.5rem}@media(max-width:680px){.contact-row{grid-template-columns:1fr}}
