:root{--navy:#05305a;--blue:#1769a8;--sky:#35a4e6;--ice:#eaf5fd;--ink:#16222e;--paper:#ffffff;--line:#cfe2f1;--white:#fff}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font:17px/1.65 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--ink);background:var(--paper)}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;line-height:1.2;color:var(--navy);margin:0 0 .6em}
h1{font-size:clamp(2rem,5vw,3.2rem)}h2{font-size:1.7rem}h3{font-size:1.2rem}
a{color:var(--blue)}a:focus-visible,.btn:focus-visible{outline:3px solid var(--sky);outline-offset:3px}
.wrap{max-width:1040px;margin:0 auto;padding:0 1.25rem}
header.top{background:var(--white);border-bottom:4px solid var(--sky);position:sticky;top:0;z-index:5}
header.top .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem 1.5rem;padding-top:.6rem;padding-bottom:.6rem}
.brand img{display:block;height:54px;width:auto}
nav a{margin-right:1.1rem;color:var(--navy);text-decoration:none;font-size:.95rem;font-weight:500;padding-bottom:3px}
nav a:hover{color:var(--blue)}
nav a[aria-current]{color:var(--blue);font-weight:700;border-bottom:3px solid var(--sky)}
.hero{background:linear-gradient(120deg,var(--navy) 0%,#0c4a82 60%,var(--blue) 100%);color:var(--white);padding:4.2rem 0 3.8rem;position:relative;overflow:hidden}
.hero::after{content:"";position:absolute;right:-5%;bottom:-30%;width:70%;height:120%;background:radial-gradient(ellipse at 30% 60%,rgba(53,164,230,.55),rgba(53,164,230,0) 65%);pointer-events:none}
.hero .wrap{position:relative;z-index:1}
.hero h1{color:var(--white);max-width:20em}.hero p{max-width:40em;color:#d9eafa;font-size:1.1rem}
.btn{display:inline-block;background:var(--sky);color:#04223f;padding:.8rem 1.4rem;border-radius:6px;font-weight:700;text-decoration:none;margin:.4rem .6rem .4rem 0}
.btn:hover{background:#5bb9ee}
.btn.alt{background:transparent;color:var(--white);border:2px solid var(--sky)}
.btn.alt:hover{background:rgba(53,164,230,.2)}
.btn.dark{background:var(--blue);color:var(--white)}.btn.dark:hover{background:var(--navy)}
section{padding:3.2rem 0}
section:nth-of-type(even){background:var(--ice)}
.grid{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.grid>div{background:var(--white);border:1px solid var(--line);border-top:5px solid var(--sky);border-radius:8px;padding:1.2rem 1.3rem}
.grid>div:nth-child(2n){border-top-color:var(--blue)}.grid>div:nth-child(3n){border-top-color:var(--navy)}
ul.plain{padding-left:1.2rem}ul.plain li{margin:.4rem 0}ul.plain li::marker{color:var(--sky)}
ol.steps{padding-left:1.2rem}ol.steps li{margin:.6rem 0}ol.steps li::marker{color:var(--blue);font-weight:700}
.box{background:var(--white);border:1px solid var(--line);border-left:5px solid var(--sky);border-radius:8px;padding:1.4rem}
footer{background:var(--navy);color:#cfe2f4;padding:2.5rem 0;font-size:.95rem;border-top:4px solid var(--sky)}
footer a{color:#fff}footer strong{color:var(--sky)}footer .wrap{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Formulaire de contact */
form label{display:block;margin-bottom:.35rem}
form input:not([type="checkbox"]),form select,form textarea{width:100%;font:inherit;padding:.75rem;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink)}
form textarea{resize:vertical}
form input:focus,form select:focus,form textarea:focus{outline:3px solid rgba(53,164,230,.3);border-color:var(--blue)}
form input[type="checkbox"]{width:auto;margin-right:.45rem}
form .grid>div{border:0;padding:.25rem;background:transparent}
form .small{font-size:.9rem;color:#536575}
