/* AFI Courtage — 3e pilier — feuille de style */
:root{
  --ink:#2f3a45; --ink-2:#4f5b66; --muted:#817E83;
  --cyan:#0096CC; --cyan-deep:#007aa8; --cyan-soft:#e6f5fb; --cyan-mist:#f3fafd;
  --blue:#0096CC; --blue-deep:#007aa8; --blue-soft:#e6f5fb;
  --grey:#817E83;
  --mint:#2bb3a3; --mint-soft:#e5f6f3;
  --sun:#0096CC; --sun-deep:#007aa8;
  --bg:#ffffff; --bg-alt:#f3fafd; --line:#dceef6;
  --r:18px; --r-lg:28px;
  --shadow:0 10px 30px -14px rgba(0,110,150,.25);
  --shadow-lg:0 30px 60px -28px rgba(0,110,150,.35);
  --font:"Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--font);color:var(--ink);background:var(--bg);line-height:1.6;font-size:17px}
img{max-width:100%;display:block}
a{color:var(--blue);text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3{line-height:1.12;letter-spacing:-.02em;margin:0 0 .5em}
h1{font-size:clamp(2.1rem,5.2vw,3.9rem);font-weight:800}
h2{font-size:clamp(1.65rem,3.4vw,2.5rem);font-weight:800}
h3{font-size:1.2rem;font-weight:700}
p{margin:0 0 1em}
.wrap{width:min(1180px,92vw);margin:0 auto}
.narrow{width:min(820px,92vw);margin:0 auto}
.eyebrow{display:inline-flex;align-items:center;gap:.5em;font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--blue);background:var(--blue-soft);padding:.4em .9em;border-radius:99px;margin-bottom:1.1em}
.eyebrow.sun{background:#fff4d6;color:#8a5a00}
.lead{font-size:1.18rem;color:var(--ink-2)}
.muted{color:var(--muted)}
.small{font-size:.86rem}

/* Bandeau campagne */
.promo{background:var(--cyan);color:#fff;font-size:.92rem}
.promo .wrap{display:flex;gap:1em;align-items:center;justify-content:center;padding:.6em 0;flex-wrap:wrap;text-align:center}
.promo b{color:#fff;text-decoration:underline;text-underline-offset:3px}
.promo a{color:#fff;font-weight:700;text-decoration:underline}

/* En-tête */
header.site{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.88);backdrop-filter:saturate(1.6) blur(14px);-webkit-backdrop-filter:saturate(1.6) blur(14px);border-bottom:1px solid var(--line)}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;height:112px;gap:1rem}
.brand{display:flex;align-items:center;gap:.6rem;color:var(--ink);font-weight:800}
.brand:hover{text-decoration:none}
.brand img{height:84px;width:auto}
footer.site .brand img{height:96px}
.brand span{white-space:nowrap}
.brand small{display:block;font-size:.68rem;font-weight:600;color:var(--muted);letter-spacing:.04em}
nav.main{display:flex;gap:1.3rem;align-items:center}
nav.main a{color:var(--ink);font-weight:600;font-size:.93rem;white-space:nowrap}
nav.main a[aria-current="page"]{color:var(--blue)}
.burger{display:none;background:none;border:0;padding:.4rem;cursor:pointer}
.burger span{display:block;width:24px;height:2px;background:var(--ink);margin:5px 0;border-radius:2px}
@media (max-width:1160px){
  nav.main{position:fixed;inset:112px 0 auto 0;background:#fff;flex-direction:column;align-items:flex-start;padding:1.2rem 4vw 1.6rem;gap:1rem;border-bottom:1px solid var(--line);box-shadow:var(--shadow);transform:translateY(-12px);opacity:0;visibility:hidden;transition:.25s}
  nav.main.open{transform:none;opacity:1;visibility:visible}
  .burger{display:block}
  header.site .btn-head{display:none}
}

/* Boutons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;font-weight:700;border-radius:99px;padding:.95em 1.6em;font-size:1rem;border:2px solid transparent;cursor:pointer;transition:transform .15s,box-shadow .15s,background .15s;font-family:inherit}
.btn:hover{text-decoration:none;transform:translateY(-2px)}
.btn-sun{background:var(--cyan);color:#fff;box-shadow:0 10px 24px -10px rgba(0,150,204,.7)}
.btn-sun:hover{background:var(--cyan-deep)}
.btn-blue{background:#fff;color:var(--cyan);border-color:var(--cyan)}
.btn-blue:hover{background:var(--cyan-soft)}
.btn-ghost{border-color:currentColor;color:inherit;background:transparent}
.btn-sm{padding:.6em 1.1em;font-size:.9rem}
.cta-row{display:flex;gap:.8rem;flex-wrap:wrap;align-items:center}

/* Hero */
.hero{position:relative;color:var(--ink);overflow:hidden;background:var(--cyan-mist)}
.hero .bg{position:absolute;inset:0;background-size:cover;background-position:right center}
.hero .bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.97) 0%,rgba(255,255,255,.9) 40%,rgba(255,255,255,.35) 68%,rgba(255,255,255,0) 100%)}
.hero .wrap{position:relative;padding:clamp(4rem,9vw,7.5rem) 0 clamp(4rem,8vw,6.5rem)}
.hero-inner{max-width:640px}
.hero .eyebrow{background:var(--cyan-soft);color:var(--cyan-deep)}
.hero h1 em{font-style:normal;color:var(--cyan)}
.hero .lead{color:var(--ink-2)}
.hero-facts{display:flex;gap:1.6rem;margin-top:2.2rem;flex-wrap:wrap}
.hero-facts div{border-left:3px solid var(--cyan);padding-left:.8rem}
.hero-facts b{display:block;font-size:1.5rem;color:var(--cyan)}
.hero-facts span{font-size:.85rem;color:var(--ink-2)}
@media (max-width:700px){.hero .bg::after{background:linear-gradient(180deg,rgba(255,255,255,.86),rgba(255,255,255,.95))}}
.hero.page .wrap{padding:clamp(3rem,7vw,5rem) 0}

/* Compte à rebours */
.countdown{display:inline-flex;gap:.5rem;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:16px;padding:.7rem 1rem;margin:0 0 1.6rem;align-items:center;flex-wrap:wrap}
.countdown .n{font-size:1.6rem;font-weight:800;color:var(--cyan);font-variant-numeric:tabular-nums}
.countdown .l{font-size:.8rem;color:var(--muted);margin-right:.6rem}
.countdown.light{background:#fff;border-color:var(--line)}
.countdown.light .l{color:var(--muted)}
.countdown.light .n{color:var(--blue)}

/* Sections */
section.block{padding:clamp(3.5rem,8vw,6rem) 0}
section.alt{background:var(--bg-alt)}
section.dark{background:linear-gradient(135deg,var(--cyan-soft),#fff);color:var(--ink)}
section.dark .lead,section.dark p{color:var(--ink-2)}
section.dark h2{color:var(--ink)!important}
section.dark .eyebrow{background:#fff!important;color:var(--cyan-deep)!important}
.section-head{max-width:760px;margin-bottom:2.6rem}
.center{text-align:center;margin-left:auto;margin-right:auto}

/* Grilles & cartes */
.grid{display:grid;gap:1.4rem}
.g2{grid-template-columns:repeat(2,1fr)}
.g3{grid-template-columns:repeat(3,1fr)}
.g4{grid-template-columns:repeat(4,1fr)}
@media (max-width:980px){.g3,.g4{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.g2,.g3,.g4{grid-template-columns:1fr}}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:1.7rem;box-shadow:0 1px 0 rgba(11,27,51,.03);transition:transform .2s,box-shadow .2s}
a.card{color:inherit;display:block}
a.card:hover{text-decoration:none;transform:translateY(-4px);box-shadow:var(--shadow)}
.card .ico{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:var(--blue-soft);color:var(--blue);margin-bottom:1rem;font-size:1.4rem}
.card .more{font-weight:700;color:var(--blue);font-size:.92rem}
.card.photo{padding:0;overflow:hidden}
.card.photo img{aspect-ratio:4/3;object-fit:cover;width:100%}
.card.photo .body{padding:1.4rem 1.5rem 1.6rem}

/* Chiffres clés */
.stat{background:#fff;border-radius:var(--r);padding:1.6rem;border:1px solid var(--line)}
.stat b{display:block;font-size:clamp(1.8rem,3.5vw,2.6rem);font-weight:800;color:var(--cyan);letter-spacing:-.02em}
.stat span{color:var(--ink-2);font-size:.95rem}

/* Split image/texte */
.split{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}
.split.rev .media{order:2}
.split .media img{border-radius:var(--r-lg);box-shadow:var(--shadow-lg);aspect-ratio:1/1;object-fit:cover;width:100%}
@media (max-width:860px){.split{grid-template-columns:1fr}.split.rev .media{order:0}}

/* Listes */
ul.check{list-style:none;padding:0;margin:0 0 1.2em}
ul.check li{position:relative;padding-left:2rem;margin-bottom:.7em}
ul.check li::before{content:"";position:absolute;left:0;top:.25em;width:1.25rem;height:1.25rem;border-radius:50%;background:var(--cyan-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 10.5l3 3 7-7' fill='none' stroke='%230096CC' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/80% no-repeat}

/* Étapes */
.steps{counter-reset:s;display:grid;gap:1.2rem;grid-template-columns:repeat(4,1fr)}
@media (max-width:900px){.steps{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.steps{grid-template-columns:1fr}}
.steps li{list-style:none;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:1.5rem;position:relative}
.steps li::before{counter-increment:s;content:counter(s);display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--blue);color:#fff;font-weight:800;margin-bottom:.8rem}
.steps{padding:0;margin:0}

/* Tableau */
.table-wrap{overflow-x:auto;border-radius:var(--r);border:1px solid var(--line);background:#fff}
table{width:100%;border-collapse:collapse;font-size:.96rem}
th,td{text-align:left;padding:.95rem 1.1rem;border-bottom:1px solid var(--line);vertical-align:top}
th{background:var(--bg-alt);font-weight:700}
tr:last-child td{border-bottom:0}

/* Encadrés */
.note{border-radius:var(--r);padding:1.2rem 1.4rem;background:var(--blue-soft);border-left:4px solid var(--blue);margin:1.4rem 0}
.note.warn{background:#fff8ea;border-left-color:#e3a33a}
.note.ok{background:var(--mint-soft);border-left-color:var(--mint)}

/* Article */
.prose h2{margin-top:2.2em}
.prose h3{margin-top:1.6em}
.prose ul{padding-left:1.2em}
.prose li{margin-bottom:.4em}
.toc{background:var(--bg-alt);border-radius:var(--r);padding:1.2rem 1.4rem;margin:0 0 2rem}
.toc ol{margin:.4rem 0 0;padding-left:1.2rem}
.updated{font-size:.85rem;color:var(--muted);margin-bottom:1.6rem}

/* FAQ */
.faq details{border:1px solid var(--line);border-radius:14px;background:#fff;margin-bottom:.8rem;overflow:hidden}
.faq summary{cursor:pointer;padding:1.1rem 3rem 1.1rem 1.3rem;font-weight:700;position:relative;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:1.2rem;top:50%;transform:translateY(-50%);font-size:1.5rem;color:var(--blue);font-weight:500}
.faq details[open] summary::after{content:"–"}
.faq .a{padding:0 1.3rem 1.2rem;color:var(--ink-2)}

/* Calculateur */
.calc{display:grid;grid-template-columns:1fr 1fr;gap:0;background:#fff;border-radius:var(--r-lg);box-shadow:var(--shadow-lg);overflow:hidden;border:1px solid var(--line)}
@media (max-width:860px){.calc{grid-template-columns:1fr}}
.calc .in{padding:2rem}
.calc .out{padding:2rem;background:linear-gradient(160deg,#18aee0,var(--cyan-deep));color:#fff}
.field{margin-bottom:1.3rem}
.field label{display:flex;justify-content:space-between;font-weight:700;font-size:.95rem;margin-bottom:.45rem}
.field label output{color:var(--blue)}
.field input[type=range]{width:100%;accent-color:var(--blue)}
.field input[type=number],.field select,.form input,.form select,.form textarea{width:100%;padding:.8rem .95rem;border:1.5px solid var(--line);border-radius:12px;font:inherit;background:#fff;color:var(--ink)}
.field input:focus,.form input:focus,.form textarea:focus,.form select:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 4px var(--blue-soft)}
.seg{display:grid;grid-template-columns:1fr 1fr;gap:.4rem;background:var(--bg-alt);padding:.3rem;border-radius:12px}
.seg button{border:0;background:transparent;padding:.7rem;border-radius:9px;font:inherit;font-weight:700;font-size:.9rem;cursor:pointer;color:var(--ink-2)}
.seg button.on{background:#fff;color:var(--blue);box-shadow:0 2px 8px rgba(11,27,51,.1)}
.big{font-size:clamp(2.4rem,5vw,3.4rem);font-weight:800;color:#fff;letter-spacing:-.03em;line-height:1}
.out .row{display:flex;justify-content:space-between;padding:.7rem 0;border-bottom:1px solid rgba(255,255,255,.14)}
.out .row b{color:#fff}

/* Formulaire */
.form{display:grid;gap:1rem}
.form .two{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
@media (max-width:600px){.form .two{grid-template-columns:1fr}}
.form label{font-weight:700;font-size:.92rem;display:block;margin-bottom:.35rem}
.form-ok{display:none}

/* Logos partenaires */
.logos{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1rem}
.logos div{background:#fff;border:1px solid var(--line);border-radius:14px;padding:.8rem;display:grid;place-items:center}
.logos img{filter:grayscale(1) contrast(1.05);opacity:.8;transition:.25s;max-height:70px;width:auto}
.logos div:hover img{filter:none;opacity:1}

/* Bandeau CTA */
.cta-band{background:linear-gradient(120deg,#22b3e3 0%,var(--cyan) 60%,var(--cyan-deep) 100%);border-radius:var(--r-lg);color:#fff;padding:clamp(2rem,5vw,3.5rem);display:grid;grid-template-columns:1.4fr 1fr;gap:2rem;align-items:center;position:relative;overflow:hidden}
.cta-band::after{content:"";position:absolute;right:-80px;top:-80px;width:280px;height:280px;border-radius:50%;background:rgba(255,255,255,.14)}
.cta-band .btn-sun{background:#fff;color:var(--cyan-deep)}
.cta-band p{color:#eaf7fd}
@media (max-width:820px){.cta-band{grid-template-columns:1fr}}
.cta-band .tel{font-size:1.6rem;font-weight:800;color:#fff}

/* Fil d'Ariane */
.crumbs{font-size:.85rem;color:var(--muted);margin-bottom:1rem}
.crumbs a{color:var(--cyan-deep)}

/* Pied de page */
footer.site{background:var(--cyan-mist);border-top:1px solid var(--line);color:var(--ink-2);padding:4rem 0 2rem;font-size:.95rem}
footer.site a{color:var(--ink)}
footer.site .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:2rem}
@media (max-width:860px){footer.site .cols{grid-template-columns:1fr 1fr}}
@media (max-width:520px){footer.site .cols{grid-template-columns:1fr}}
footer.site h4{color:var(--cyan-deep);margin:0 0 .9rem;font-size:1rem}
footer.site ul{list-style:none;padding:0;margin:0}
footer.site li{margin-bottom:.45rem}
footer.site .legal{border-top:1px solid var(--line);margin-top:2.6rem;padding-top:1.4rem;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.85rem}

/* Bouton flottant mobile */
.float-cta{position:fixed;bottom:16px;left:50%;transform:translate(-50%,120px);z-index:60;display:none;box-shadow:var(--shadow-lg);white-space:nowrap;transition:transform .3s}
.float-cta.show{transform:translate(-50%,0)}
@media (max-width:700px){.float-cta{display:inline-flex}}

/* Apparition */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s,transform .6s}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}html{scroll-behavior:auto}}

h1,h2,h3{color:var(--ink)}
.hero h1{color:var(--ink)}
.btn-ghost{color:var(--cyan-deep)}
.cta-band h2{color:#fff}
.hero-logo{width:min(420px,80%);height:auto;margin:0 0 1.6rem;filter:drop-shadow(0 6px 18px rgba(255,255,255,.9))}
@media (max-width:700px){.brand img{height:64px}header.site .wrap{height:88px}nav.main{inset:88px 0 auto 0}.hero-logo{width:72%}}
sup{font-size:.58em;line-height:0;vertical-align:.62em;letter-spacing:0;font-weight:inherit}
.eyebrow sup{text-transform:none;letter-spacing:0;margin-left:-.06em}
