:root{--bg:#fbf9f4;--surf:#fff;--ink:#2a1f14;--mut:#6b5e50;--blue:#0a8bc2;--brown:#54391f;--gold:#e8c97a;--line:#e6dfd2;--hero:#54391f;--herotx:#fff;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#17110b;--surf:#221a12;--ink:#f3ebdd;--mut:#b5a894;--line:#3a2e22;--blue:#4cb8e6;--hero:#2c1e11}}
:root[data-theme=dark]{--bg:#17110b;--surf:#221a12;--ink:#f3ebdd;--mut:#b5a894;--line:#3a2e22;--blue:#4cb8e6;--hero:#2c1e11}
*{box-sizing:border-box}html{scroll-padding-top:env(safe-area-inset-top,0px)}
body{margin:0;background:var(--bg);color:var(--ink);font:400 16px/1.65 Montserrat,system-ui,sans-serif}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);background:var(--surf);z-index:30}
header{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:var(--surf);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:16px;padding:8px 20px;flex-wrap:wrap}
header img{height:46px;width:auto;border-radius:4px;background:#fff}
nav{display:flex;gap:4px;flex-wrap:wrap;margin-left:auto}
nav a{color:var(--ink);text-decoration:none;font-weight:600;font-size:14px;padding:8px 12px;border-radius:6px}
nav a:hover{background:var(--line)}nav a.on{background:var(--brown);color:#fff}
main{max-width:1080px;margin:0 auto;padding:0 20px 60px}
h1,h2,h3{line-height:1.2;margin:0 0 .5em}h1{font-size:clamp(30px,5vw,52px);font-weight:800}h2{font-size:clamp(22px,3vw,30px);font-weight:800;margin-top:2em}h3{font-size:18px}
p{max-width:70ch}.mut{color:var(--mut)}
.slider{position:relative;margin:24px 0;border-radius:14px;overflow:hidden;background:var(--hero);color:var(--herotx)}
.track{display:flex;transition:transform .6s ease}
.slide{min-width:100%;padding:clamp(28px,6vw,64px) clamp(24px,6vw,64px) 72px;min-height:340px;display:flex;flex-direction:column;justify-content:center}
.slide:nth-child(3n+2){background:linear-gradient(135deg,#0a6f9c,#1a4d6b)}.slide:nth-child(3n){background:linear-gradient(135deg,#8a6a2f,#54391f)}
.slide .big{font-size:clamp(44px,9vw,96px);font-weight:800;line-height:1;color:var(--gold)}
.slide h2,.slide h1{margin-top:0}.slide p{max-width:60ch;opacity:.95}
.ctrl{position:absolute;bottom:16px;left:0;right:0;display:flex;justify-content:center;align-items:center;gap:10px}
.ctrl button{border:0;cursor:pointer;color:#fff;background:rgba(255,255,255,.2);width:36px;height:36px;border-radius:50%;font-size:18px}
.dot{width:10px!important;height:10px!important;padding:0;background:rgba(255,255,255,.4)!important}.dot.on{background:var(--gold)!important}
button:focus-visible,a:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px}
.card{background:var(--surf);border:1px solid var(--line);border-radius:10px;padding:20px}
.card b.n{display:block;font-size:34px;font-weight:800;color:var(--blue)}
.btn{display:inline-block;background:var(--gold);color:#2a1f14;font-weight:700;padding:12px 22px;border-radius:8px;text-decoration:none;margin-top:8px}
.steps{counter-reset:s;list-style:none;padding:0;display:grid;gap:12px}
.steps li{counter-increment:s;background:var(--surf);border-left:5px solid var(--blue);padding:14px 18px;border-radius:0 8px 8px 0}
.steps li::before{content:"Étape " counter(s) " — ";font-weight:800;color:var(--blue)}
.tw{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:520px;background:var(--surf)}
th,td{border:1px solid var(--line);padding:9px 12px;text-align:right}th:first-child,td:first-child{text-align:left}th{background:var(--brown);color:#fff}tr.t td{font-weight:800;background:var(--line)}
.banner{background:var(--surf);border:1px solid var(--line);border-radius:10px;padding:16px 20px;margin:24px 0;font-weight:600}
footer{border-top:1px solid var(--line);background:var(--surf);padding:28px 20px;text-align:center;font-size:14px;color:var(--mut)}
footer img{height:70px;border-radius:4px;background:#fff;margin-bottom:8px}
@media(prefers-reduced-motion:reduce){.track{transition:none}}
