:root{
 --navy:#16233b;--navy2:#22334f;--gold:#b89152;--ink:#232a33;--muted:#6b7480;
 --line:#eceef2;--bg:#fafbfc;--white:#fff;
}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--ink);line-height:1.7;font-size:16px;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-weight:600;letter-spacing:-.018em;line-height:1.2;color:var(--navy)}
.wrap{max-width:1080px;margin:0 auto;padding:0 28px}a{text-decoration:none;color:inherit}

/* header */
header{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.86);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;height:72px;gap:18px}
.brand{color:var(--navy);font-weight:700;letter-spacing:.04em;font-size:1.05rem}.brand b{color:var(--gold);font-weight:700}
.menu{display:flex;gap:30px}.menu a{color:var(--muted);font-size:.9rem;font-weight:500;padding:4px 0;border-bottom:1px solid transparent}
.menu a:hover{color:var(--navy)}.menu a.active{color:var(--navy);border-bottom-color:var(--gold)}
.nr{display:flex;align-items:center;gap:18px}
.langs{display:flex;gap:1px}.langs button{background:none;border:none;color:#aab1bb;font-size:.74rem;font-weight:600;padding:4px 6px;cursor:pointer;letter-spacing:.03em}
.langs button.on{color:var(--navy)}
.cta{border:1px solid var(--navy);color:var(--navy);font-weight:600;padding:9px 18px;border-radius:2px;font-size:.84rem;white-space:nowrap;transition:.15s}
.cta:hover{background:var(--navy);color:#fff}
.login{background:var(--navy);border:1px solid var(--navy);color:#fff;font-weight:600;padding:9px 18px;border-radius:2px;font-size:.84rem;white-space:nowrap;transition:.15s}
.login:hover{background:#0f1a2c;border-color:#0f1a2c}
@media(max-width:900px){.menu{display:none}}
@media(max-width:560px){.cta{display:none}}

/* hero */
.hero{background:var(--navy);color:#fff;position:relative;overflow:hidden}
.hero::after{content:"";position:absolute;inset:0;background:radial-gradient(1000px 460px at 88% -30%,rgba(184,145,82,.16),transparent 62%)}
.hero .wrap{position:relative;padding:120px 28px 128px}
.hero.lite .wrap{padding:74px 28px 76px}
.eyebrow{color:var(--gold);font-weight:600;letter-spacing:.24em;text-transform:uppercase;font-size:.72rem;margin-bottom:24px}
.hero h1{color:#fff;font-size:2.9rem;font-weight:500;max-width:19ch;margin-bottom:22px;letter-spacing:-.02em}
.hero.lite h1{font-size:2.2rem}
.hero p{font-size:1.12rem;color:#c3ccd8;max-width:54ch;margin-bottom:34px;font-weight:400}
.hero.lite p{margin-bottom:0}
.btns{display:flex;gap:16px;flex-wrap:wrap}
.bg{background:var(--gold);color:#fff;font-weight:600;padding:13px 26px;border-radius:2px;font-size:.92rem;transition:.15s}.bg:hover{background:#a67f43}
.bgh{border:1px solid rgba(255,255,255,.3);color:#fff;font-weight:500;padding:13px 24px;border-radius:2px;font-size:.92rem}.bgh:hover{background:rgba(255,255,255,.07)}
@media(max-width:640px){.hero h1{font-size:2rem}.hero .wrap{padding:72px 28px}}

/* sections */
section{padding:96px 0}
.sh{max-width:60ch;margin:0 auto 56px}
.sh.center{text-align:center}
.sh .eyebrow{color:var(--gold)}
.sh h2{font-size:1.9rem;font-weight:500;margin-bottom:14px;letter-spacing:-.02em}
.sh p{color:var(--muted);font-size:1.05rem}
.rule{width:40px;height:1px;background:var(--gold);margin:0 auto 24px}
.sh:not(.center) .rule{margin-left:0}

.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--line);border:1px solid var(--line)}
@media(max-width:820px){.grid3{grid-template-columns:1fr 1fr}}@media(max-width:560px){.grid3{grid-template-columns:1fr}}
.card{background:var(--white);padding:34px 30px;transition:.18s}
.card:hover{background:#fcfcfa}
.card .ic{font-size:1.15rem;color:var(--gold);margin-bottom:18px}
.card h3{font-size:1.05rem;font-weight:600;margin-bottom:8px}
.card p{color:var(--muted);font-size:.92rem;line-height:1.65}

.alt{background:var(--bg)}
.evm{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}@media(max-width:820px){.evm{grid-template-columns:1fr;gap:32px}}
.ev{border-top:1px solid var(--gold);padding-top:20px}
.ev h3{font-size:1.05rem;font-weight:600;margin-bottom:10px}.ev p{color:var(--muted);font-size:.95rem}

.band{background:var(--navy);color:#fff}.band section,.band{padding:0}
.band .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:36px;text-align:center;padding-top:66px;padding-bottom:66px}
@media(max-width:700px){.band .wrap{grid-template-columns:1fr 1fr;gap:32px}}
.stat .n{font-size:2.2rem;font-weight:500;color:#fff;letter-spacing:-.02em}.stat .l{color:#96a2b3;font-size:.85rem;margin-top:6px}
.stat .n em{color:var(--gold);font-style:normal}

.prose{max-width:64ch;margin:0 auto}.prose p{color:var(--muted);margin-bottom:18px;font-size:1.05rem}

.checks{max-width:680px;margin:0 auto;display:grid;gap:0;border-top:1px solid var(--line)}
.check{display:flex;gap:16px;align-items:flex-start;padding:18px 4px;border-bottom:1px solid var(--line)}
.check .tick{flex:0 0 auto;color:var(--gold);font-size:.95rem;margin-top:2px}
.check span.txt{color:var(--ink);font-size:1rem}

.contact{display:grid;grid-template-columns:1fr 1fr;gap:56px}@media(max-width:820px){.contact{grid-template-columns:1fr;gap:36px}}
.info p{margin-bottom:12px;color:var(--muted)}.info b{color:var(--ink);font-weight:600}
form{display:grid;gap:16px}
input,textarea{padding:14px;border:1px solid var(--line);border-radius:2px;font:inherit;background:var(--white)}
input:focus,textarea:focus{outline:none;border-color:var(--navy)}
form button{background:var(--navy);color:#fff;border:none;padding:15px;border-radius:2px;font-weight:600;cursor:pointer;letter-spacing:.02em}
form button:hover{background:#0f1a2c}

.ctaband{background:var(--bg);text-align:center}
.ctaband h2{font-size:1.7rem;font-weight:500;margin-bottom:10px}
.ctaband p{color:var(--muted);margin-bottom:26px}

footer{background:var(--navy);color:#8b97a8;padding:44px 0;font-size:.88rem}
.fwrap{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.fwrap b{color:#fff;font-weight:600;letter-spacing:.04em}
.imgph{background:var(--bg);border:1px solid var(--line);border-radius:2px;min-height:300px;display:flex;align-items:center;justify-content:center;color:#aab2bd;font-size:.82rem;letter-spacing:.02em}
.more{display:inline-block;margin-top:34px;color:var(--navy);font-weight:600;border-bottom:1px solid var(--gold);padding-bottom:2px}

/* pages d'entrée de l'application (connexion / inscription) */
.auth-body{min-height:100vh;display:flex;flex-direction:column;background:linear-gradient(160deg,var(--navy) 0%,var(--navy2) 55%,#2b3d5c 100%);position:relative;overflow:hidden}
.auth-body::after{content:"";position:absolute;inset:0;background:radial-gradient(900px 420px at 85% -20%,rgba(184,145,82,.18),transparent 60%);pointer-events:none}
.auth-head{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:22px 28px}
.auth-head .brand{color:#fff}
.auth-head .langs button{color:#8fa0b8}.auth-head .langs button.on{color:#fff}
.auth-main{position:relative;z-index:2;flex:1;display:flex;align-items:center;justify-content:center;padding:36px 20px 64px}
.auth-card{background:var(--white);width:100%;max-width:420px;border-radius:4px;padding:38px 34px;box-shadow:0 24px 60px rgba(8,14,26,.35)}
.auth-card h1{font-size:1.45rem;font-weight:600;margin-bottom:6px}
.auth-card .sub{color:var(--muted);font-size:.92rem;margin-bottom:26px}
.auth-card form{display:grid;gap:14px}
.auth-card label{font-size:.78rem;font-weight:600;color:var(--ink);letter-spacing:.02em;display:block;margin-bottom:5px}
.auth-card input,.auth-card select{width:100%;padding:12px 13px;border:1px solid var(--line);border-radius:2px;font:inherit;background:var(--white)}
.auth-card input:focus,.auth-card select:focus{outline:none;border-color:var(--navy)}
.auth-card .row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:420px){.auth-card .row2{grid-template-columns:1fr}}
.auth-card .gdpr{display:flex;gap:10px;align-items:flex-start;font-size:.82rem;color:var(--muted)}
.auth-card .gdpr input{width:auto;margin-top:3px}
.auth-card button{background:var(--navy);color:#fff;border:none;padding:14px;border-radius:2px;font-weight:600;cursor:pointer;letter-spacing:.02em;font-size:.95rem}
.auth-card button:hover{background:#0f1a2c}
.auth-links{display:grid;gap:8px;margin-top:20px;text-align:center}
.auth-links a{font-size:.86rem;color:var(--muted)}
.auth-links a:hover{color:var(--navy)}
.auth-links a.strong{color:var(--navy);font-weight:600}
.auth-forgot{text-align:right;margin-top:-6px}
.auth-forgot a{font-size:.8rem;color:var(--muted)}.auth-forgot a:hover{color:var(--navy)}
.auth-note{display:none;background:#f6f1e7;border:1px solid var(--gold);color:#6e5626;padding:12px 14px;border-radius:2px;font-size:.88rem}
.auth-note.on{display:block}
.auth-back{position:relative;z-index:2;text-align:center;padding-bottom:34px}
.auth-back a{color:#9fb0c7;font-size:.86rem}.auth-back a:hover{color:#fff}

/* Page Services — blocs détaillés (sommaire à ancres + 9 services) */
.svcnav{display:flex;flex-wrap:wrap;gap:10px;margin-top:34px}
.svcnav a{border:1px solid rgba(255,255,255,.28);color:#c3ccd8;font-size:.8rem;font-weight:500;padding:7px 14px;border-radius:999px;transition:.15s}
.svcnav a:hover,.svcnav a:focus-visible{border-color:var(--gold);color:#fff}
section.svc{scroll-margin-top:88px;padding:72px 0}
.svchead{display:flex;gap:20px;align-items:flex-start;margin-bottom:28px}
.svchead svg{flex:none;margin-top:2px}
.svchead h2{font-size:1.45rem;font-weight:600;margin-bottom:6px}
.svchead .tag{color:var(--muted);font-size:1.02rem}
.svccols{display:grid;grid-template-columns:1.1fr .9fr;gap:44px}
@media(max-width:820px){.svccols{grid-template-columns:1fr;gap:26px}}
.svccols h4{font-size:.76rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin:20px 0 9px}
.svccols h4:first-child{margin-top:0}
.svccols ul{list-style:none}
.svccols li{position:relative;padding-left:18px;color:var(--muted);font-size:.95rem;margin-bottom:8px}
.svccols li::before{content:"";position:absolute;left:0;top:.66em;width:8px;height:1px;background:var(--gold)}
.svccols p{color:var(--muted);font-size:.95rem}
.svccta{display:inline-block;margin-top:30px}
a:focus-visible,button:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
