@font-face{font-family:"Fraunces";src:url(/public/fonts/fraunces.woff2) format("woff2");font-weight:400 700;font-display:swap}
@font-face{font-family:"Nunito";src:url(/public/fonts/nunito.woff2) format("woff2");font-weight:300 900;font-display:swap}
:root{--creme:#FAF3EA;--lin:#F1E6D8;--terre:#C96F4A;--terre-fonce:#A8553A;--abricot:#E39A72;--sauge:#8FA98B;--sauge-clair:#D7E3D0;--miel:#E9B96A;--prune:#7E5A70;--encre:#3B2F2A;--brun:#7A6459}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--creme);color:var(--encre);font:18px/1.6 "Nunito",system-ui,sans-serif}
a{color:var(--terre-fonce);text-underline-offset:3px}
a:focus-visible,.cta:focus-visible{outline:3px solid var(--prune);outline-offset:3px}
h1,h2,h3{font-family:"Fraunces",Georgia,serif;font-weight:600;line-height:1.2;color:var(--encre)}
h1{font-size:clamp(2rem,5vw,3.1rem);margin:.2em 0 .4em}
h2{font-size:clamp(1.5rem,3.4vw,2.1rem);margin:0 0 .6em}
h3{font-size:1.2rem;margin:1.2em 0 .3em}
.wrap{max-width:1040px;margin:0 auto;padding:0 22px}
.narrow{max-width:760px}
header.top{padding:18px 0}
header.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:10px;font-family:"Fraunces",Georgia,serif;font-size:1.35rem;font-weight:600;color:var(--encre);text-decoration:none}
.brand img{width:40px;height:40px}
nav ul{display:flex;gap:18px;list-style:none;margin:0;padding:0;flex-wrap:wrap}
nav a{color:var(--brun);text-decoration:none;font-weight:600}
nav a:hover{color:var(--terre-fonce)}
.hero{padding:36px 0 56px}
.hero .wrap{display:grid;grid-template-columns:1.25fr 1fr;gap:40px;align-items:center}
.lead{font-size:1.2rem;color:var(--encre)}
.kicker{color:var(--terre-fonce);font-weight:800;letter-spacing:.02em;margin:0}
.ctas{display:flex;gap:14px;flex-wrap:wrap;align-items:center;margin:26px 0 10px}
.cta{display:inline-flex;align-items:center;gap:10px;min-height:56px;padding:0 26px;border-radius:999px;font-weight:800;text-decoration:none;font-size:1.05rem}
.cta.soon{background:var(--lin);color:var(--brun);border:2px dashed var(--abricot);cursor:not-allowed}
.cta.soon svg{width:22px;height:22px;fill:currentColor}
.cta.ghost{color:var(--encre);background:transparent;border:2px solid var(--lin)}
.cta.ghost:hover{border-color:var(--sauge)}
.note{font-size:.95rem;color:var(--brun);margin:0}
.card{background:#fff;border-radius:28px;padding:26px;box-shadow:0 10px 30px rgba(59,47,42,.08)}
.phone{background:var(--lin);border-radius:36px;padding:22px}
.phone .card{padding:20px}
.phone .tag{display:inline-block;background:var(--sauge-clair);color:var(--encre);border-radius:999px;padding:2px 12px;font-size:.85rem;font-weight:700}
.phone h3{margin:.5em 0 .4em;font-size:1.25rem}
.phone ul{margin:.4em 0 1em;padding-left:1.1em;color:var(--brun);font-size:.95rem}
.phone .btn{display:block;background:var(--terre);color:var(--creme);text-align:center;border-radius:18px;padding:12px;font-weight:800}
.phone .msg{margin-top:14px;background:var(--sauge);color:var(--creme);border-radius:18px 18px 18px 4px;padding:12px 16px;font-weight:600}
section{padding:56px 0}
section.alt{background:var(--lin)}
.answer{font-size:1.12rem;background:#fff;border-left:6px solid var(--miel);border-radius:0 20px 20px 0;padding:16px 20px;margin:0 0 1.2em}
.alt .answer{background:var(--creme)}
.bref{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px;margin:0}
.bref li{background:#fff;border-radius:22px;padding:18px 20px}
.bref strong{display:block;font-family:"Fraunces",Georgia,serif;font-size:1.1rem;margin-bottom:4px}
.steps{list-style:none;counter-reset:s;padding:0;display:grid;gap:16px}
.steps li{counter-increment:s;position:relative;background:#fff;border-radius:22px;padding:18px 20px 18px 74px}
.alt .steps li{background:var(--creme)}
.steps li::before{content:counter(s);position:absolute;left:20px;top:18px;width:38px;height:38px;border-radius:50%;background:var(--terre);color:var(--creme);display:grid;place-items:center;font-weight:800}
.steps li:nth-child(even)::before{background:var(--sauge)}
.steps strong{display:block}
table{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border-radius:20px;overflow:hidden;font-size:.98rem}
.alt table{background:var(--creme)}
th,td{text-align:left;padding:12px 16px;vertical-align:top;border-bottom:1px solid var(--lin)}
th{background:var(--sauge-clair);font-weight:800}
tr:last-child td{border-bottom:0}
.table-scroll{overflow-x:auto;border-radius:20px}
.quiz{columns:2 300px;column-gap:28px;padding-left:1.2em}
.quiz li{margin:0 0 .5em;break-inside:avoid}
.no{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
.no li{background:#fff;border-radius:22px;padding:16px 20px}
.no li strong{color:var(--prune)}
details{background:#fff;border-radius:20px;padding:4px 20px;margin:0 0 12px}
details summary{cursor:pointer;font-weight:800;padding:14px 0;list-style-position:outside}
details p{margin:0 0 16px}
.final{text-align:center}
.final .ctas{justify-content:center}
.sources{font-size:.92rem;color:var(--brun)}
.sources li{margin-bottom:.4em}
footer{background:var(--encre);color:var(--lin);padding:36px 0;font-size:.95rem}
footer a{color:var(--creme)}
footer .wrap{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
footer ul{list-style:none;margin:0;padding:0;display:flex;gap:18px;flex-wrap:wrap}
.legal h1{font-size:2.2rem}
.legal main{padding-bottom:60px}
@media (max-width:820px){.hero .wrap{grid-template-columns:1fr}.hero{padding-top:12px}nav ul{gap:12px;font-size:.95rem}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.flat{padding:0}
caption{caption-side:bottom;padding-top:8px;text-align:left}
