/* Polices auto-hébergées (fichiers variables Google Fonts, sous-ensemble latin) — plus aucune requête vers fonts.googleapis / fonts.gstatic. */
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:500 700;font-display:swap;src:url('fonts/playfair-display-latin.woff2') format('woff2-variations'),url('fonts/playfair-display-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Playfair Display';font-style:italic;font-weight:500 600;font-display:swap;src:url('fonts/playfair-display-italic-latin.woff2') format('woff2-variations'),url('fonts/playfair-display-italic-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Source Sans 3';font-style:normal;font-weight:400 700;font-display:swap;src:url('fonts/source-sans-3-latin.woff2') format('woff2-variations'),url('fonts/source-sans-3-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Roboto';font-style:normal;font-weight:400 700;font-display:swap;src:url('fonts/roboto-latin.woff2') format('woff2-variations'),url('fonts/roboto-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}

:root{--ink:#191a18;--muted:#60615b;--gold:#c9a84c;--deep-gold:#806422;--gain:#bfe0c4;--deep-gain:#2f6b45;--ivory:#f6f3ec;--line:#deddd6;--white:#fff;--serif:'Playfair Display',Georgia,serif;--body:'Source Sans 3',Helvetica,sans-serif;--numeric:'Roboto',Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:108px}body{margin:0;color:var(--ink);background:#fff;font:16px/1.65 var(--body)}h1,h2,h3,p{margin:0}h1,h2{font-family:var(--serif);font-weight:500;letter-spacing:-.035em;line-height:1.13}h1{font-size:clamp(40px,4.15vw,60px)}h2{font-size:clamp(34px,3.2vw,46px)}h3{font-size:20px;line-height:1.35;font-weight:500}p{color:var(--muted)}em{font-weight:500;color:var(--deep-gold)}a{color:inherit;text-underline-offset:4px}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default}a,button,input,select,textarea,summary{outline-offset:5px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #9c7518}button{border:0}img{display:block;max-width:100%;height:auto}[hidden]{display:none!important}.wrap{width:min(1180px,calc(100% - 96px));margin-inline:auto}.section{padding:90px 16px}.eyebrow{font-size:12px;letter-spacing:.04em;line-height:1.5;font-weight:700;color:var(--deep-gold);margin-bottom:21px}.button{display:inline-flex;align-items:center;justify-content:center;gap:30px;padding:17px 25px;background:var(--ink);border:1px solid var(--ink);color:white;font-size:14px;font-weight:600;line-height:1.5;text-decoration:none;border-radius:4px;min-height:52px;transition:background .18s,transform .18s}.button span{font-size:20px;line-height:1}.button:hover{background:#363a32;transform:translateY(-1px)}.button.small{font-size:12px;min-height:44px;padding:11px 18px;gap:22px}.button.gold{background:#d5b665;color:#171914;border-color:#d5b665}.button.gold:hover{background:#e2c985}.button.outline{color:var(--ink);background:transparent;border-color:#aaa99e;white-space:nowrap}.button.outline:hover{background:#e9e5dc}.full{width:100%;justify-content:space-between}.micro{font-size:12px;line-height:1.6;margin-top:12px}.skip{position:fixed;z-index:20;left:16px;top:-80px;padding:12px;background:white}.skip:focus{top:12px}.header{padding:12px 48px;max-width:1600px;margin:auto;display:flex;justify-content:space-between;align-items:center;background:#fff;position:sticky;top:0;z-index:10;border-bottom:1px solid #efefea}.header img{width:160px;height:65px;object-fit:contain}.header nav{display:flex;align-items:center;gap:32px}.header nav>a:not(.button){font-size:12px;text-decoration:none}.header nav>a:hover{text-decoration:underline}.hero{display:grid;gap:40px;padding-top:55px;padding-bottom:32px}.hero-copy{padding-block:24px 0;max-width:640px}.hero-checks{list-style:none;margin:26px 0 30px;padding:0}.hero-checks li{display:flex;gap:12px;align-items:flex-start;font-size:15px;line-height:1.55;color:var(--ink)}.hero-checks li+li{margin-top:14px}.hero-checks .icon-tabler{width:20px;height:20px;flex-shrink:0;color:var(--deep-gold);margin-top:3px}.hero-proof{display:grid;grid-template-columns:1fr 1fr;align-items:center;justify-items:center;margin-top:22px}.hero-proof-years{font-size:13px;color:var(--muted);text-align:center}.hero-proof-years strong{display:block;font:600 20px var(--serif);color:var(--ink);margin-bottom:2px}.hero-proof-reviews{display:flex;align-items:center;gap:7px;text-decoration:none;font-size:14px;line-height:1;padding-left:20px;border-left:1px solid var(--line)}.stars{color:var(--gold);font-size:15px;letter-spacing:1px}.hero-proof-main{font:600 19px var(--serif);color:var(--ink)}.hero-proof-sub{color:var(--muted);font-size:13px}.google-wordmark{display:block;height:18px;width:auto}.hero-copy .eyebrow{display:flex;align-items:center;gap:12px}.tiny-line{height:1px;width:25px;background:var(--deep-gold)}.intro{font-size:17px;line-height:1.8}.hero .intro{max-width:510px;margin:25px 0 27px}.trust{display:grid;grid-template-columns:1fr 1fr 1fr;border-block:1px solid var(--line);padding:24px 0;gap:24px}.trust>div{display:flex;gap:15px;align-items:center}.trust-icon{font-size:26px;color:#8a7132}.trust p{font-size:12px}.trust strong{font-weight:500;color:var(--ink);display:block}.trust p span{font-size:12px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:80px;margin-bottom:38px}.section-heading>p{max-width:375px;font-size:14px}.simulator-section{background:linear-gradient(#fff 0,#fff 130px,#faf9f5 130px)}.sim-shell{display:grid;grid-template-columns:1.06fr 1fr;border:1px solid var(--line);border-radius:10px;overflow:hidden;box-shadow:0 12px 38px #1b22150a;background:white}
.text-button-light{background:transparent;padding:10px 0;color:var(--deep-gold);text-decoration:underline;text-underline-offset:4px;font-size:12px;min-height:44px}
.gate-back{margin-bottom:6px;display:inline-block;padding:4px 0;min-height:auto}
.gate-cards{display:grid;gap:14px;margin-top:18px}
.gate-card{background:var(--ivory);border:1px solid var(--line);border-radius:10px;display:flex;align-items:stretch;overflow:hidden}
.gate-card-body{flex:1;min-width:0;padding:16px 18px}
.gate-card h2{font:17px var(--serif);margin-bottom:4px;line-height:1.25}
.gate-card p{font-size:12px;line-height:1.5;margin-bottom:12px}
.gate-card .button{border-radius:999px;min-height:38px;padding:9px 18px;gap:8px;font-size:12px}
.gate-card .button svg{width:15px;height:15px}
.gate-card-media{width:88px;flex-shrink:0}
.gate-card-media img{width:100%;height:100%;object-fit:cover}
.gate-card-icon{display:grid;place-items:center;background:#eee6d1;color:#a2874a}
.gate-card-icon svg{width:34px;height:34px}
.gate-card-advisor{background:#fcfaf4;border-color:#d8ccac}
#le-per-en-clair{background-color:var(--ivory)}
.per-intro{max-width:560px;font-size:16px;line-height:1.7;margin-top:0}
.per-benefit-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:28px 0 36px}
.per-benefit-card{display:flex;flex-direction:column;gap:12px;padding:20px 18px;background:var(--white);border:1px solid var(--line);border-radius:8px}
.per-benefit-card svg{width:26px;height:26px;color:var(--deep-gold)}
.per-benefit-card span{font-family:var(--body);font-size:13px;font-weight:600;color:var(--ink);line-height:1.4}
@media(max-width:760px){.per-benefit-cards{grid-template-columns:1fr}}
.idees-recues{margin-top:8px}
.idees-recues h3{font:22px var(--serif);margin-bottom:18px}
.checkpoints article>span.prejuge-x{width:20px;height:20px;flex-shrink:0;color:#ad2419}
.checkpoints article>span.prejuge-x svg{width:20px;height:20px}
.per-next-step{margin-top:48px;padding:34px 38px;background:var(--surface-dark,#20251f);color:var(--white);display:flex;align-items:center;justify-content:space-between;gap:32px;border-radius:10px}
.per-next-step-copy{max-width:580px}
.per-next-step h3{font:500 clamp(27px,2.5vw,36px)/1.2 var(--serif);letter-spacing:-.025em;margin:0 0 10px}
.per-next-step p{color:#e1e5d9;font-size:15px;line-height:1.6}
.per-next-step .button{flex-shrink:0;gap:18px;white-space:nowrap}
.per-next-step .button svg{width:18px;height:18px}
@media(max-width:760px){.per-next-step{margin-top:38px;padding:28px 24px;display:block}.per-next-step h3{font-size:29px}.per-next-step p{font-size:14px}.per-next-step .button{margin-top:24px;width:100%;justify-content:space-between;white-space:normal}}
@media(max-width:760px){#simulateur .wrap{width:calc(100% - 24px)}}
.section.commencer-section{padding:28px 16px 56px}
.commencer-wrap{max-width:520px;margin-inline:auto;width:calc(100% - 32px)}
.commencer-heading{display:block;margin:14px 0 6px}
.commencer-heading h1{font-size:clamp(26px,7vw,32px)}
.commencer-heading p{margin-top:10px;font-size:13px}
.commencer-micro{text-align:center;margin-top:20px}
@media(max-width:760px){.section.commencer-section{padding:14px 16px 40px}}.sim-input{padding:32px 38px}.panel-heading{display:flex;align-items:center;gap:11px}.panel-heading h3{font-size:16px;font-weight:600}.step-dot{width:26px;height:26px;border:1px solid #c9c9bb;border-radius:50%;display:grid;place-items:center;font-size:12px;flex-shrink:0}.year{margin-left:auto;font-size:12px;letter-spacing:.04em;color:#77766f}.small-copy{font-size:12px;margin:12px 0 24px}label{display:block;font-size:12px;font-weight:600;margin:19px 0 8px;line-height:1.5}input:not([type=checkbox]),select,textarea{width:100%;padding:14px 16px;min-height:52px;border:1px solid var(--line);border-radius:12px;background:white;color:var(--ink);font-size:16px;font-weight:500;line-height:1.4;transition:border-color .2s ease,box-shadow .2s ease}select{padding-right:22px}input::placeholder,textarea::placeholder{color:#818379}input:not([type=checkbox]):focus,select:focus,textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 4px rgba(201,168,76,.14)}.amount-input{display:flex;align-items:center;border:1px solid #bdbeb5;border-radius:4px}.amount-input input{border:0;background:transparent;font-size:30px;font-family:var(--serif);padding:9px 14px;outline-offset:1px}.amount-input>span{padding-right:20px;color:#787768;font:24px var(--serif)}.amount-input.compact input{font-size:20px}.field-help{font-size:12px;line-height:1.65;margin-top:7px}.presets{display:flex;gap:7px;margin-top:12px}.presets button{padding:7px 15px;min-height:36px;border:1px solid #d9d6cc;background:#f8f6f1;border-radius:3px;font-size:12px;color:#4d4e45}.presets button:hover{border-color:#8a7132;background:#f0e8d6}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.sim-input>.button{margin-top:25px}.sim-output{background:#20251f;color:#fff;padding:32px 38px}.sim-output p{color:#c4c9bd}.sim-output .eyebrow{color:#d6bd80}.light{border-color:#6a7361}#empty-result{padding-top:70px}#empty-result h3{font:28px/1.4 var(--serif);margin-bottom:22px}#empty-result>p{font-size:13px}.empty-symbol{font:52px var(--serif);color:#d2b367;border:1px solid #5a624f;width:86px;height:86px;display:grid;place-items:center;border-radius:50%;margin-bottom:32px}.empty-list{border-block:1px solid #434b3e;margin:35px 0;padding:22px 0}.empty-list p{margin:8px 0;font-size:12px}.empty-list span{color:#d2b367;margin-right:12px}#result{padding-top:42px;outline:none}#result-title{font:28px/1.3 var(--serif)}#result-values{margin:18px 0}.impact-number{font:58px/1.2 var(--serif);letter-spacing:-.03em;color:#e3cc94}.impact-caption{font-size:12px}.scenario-table{width:100%;border-collapse:collapse;font-size:13px;margin:20px 0}.scenario-table td,.scenario-table th{padding:9px 0;border-bottom:1px solid #434b3e;text-align:left}.scenario-table th{font-weight:400;font-size:12px;color:#bcc2b6}.scenario-table td:last-child,.scenario-table th:last-child{text-align:right}.scenario-table td:last-child{color:#e3cc94}#result-explanation{font-size:13px}.result-note{padding:16px;border:1px solid #68705c;background:#30372a;border-radius:4px;margin:20px 0;font-size:12px;color:#e4e8de}.result-note p+p{margin-top:8px}.result-limit{font-size:12px;line-height:1.7}.text-button{background:transparent;padding:10px 0;color:#e3cc94;text-decoration:underline;text-underline-offset:4px;font-size:12px;min-height:44px;margin-top:10px}.result-next{margin-top:25px;border-top:1px solid #434b3e;padding-top:25px}.result-next h3{font:23px var(--serif)}.result-next p{font-size:12px;margin:12px 0 18px}.result-next p.micro{font-size:12px;margin-bottom:0}.method{margin-top:18px;font-size:12px}.method summary{padding:14px 0;cursor:pointer;color:#565b4e}.method>div{padding:16px 20px;background:white;border:1px solid var(--line);border-radius:4px}.method p+p{margin-top:12px}.mechanism-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin-top:40px}.number{font:31px var(--serif);color:#a2874a;border-bottom:1px solid #d9d4c4;padding-bottom:17px;display:block;margin-bottom:22px}.mechanism-grid h3{margin-bottom:12px}.mechanism-grid p{font-size:14px}.callout{border-left:2px solid #b39754;background:var(--ivory);padding:19px 26px;font-size:13px;margin-top:36px;color:#595343}.vigilance{background:var(--ivory)}.split{display:grid;grid-template-columns:.9fr 1.2fr;gap:95px}.vigilance .split>div>p:last-child{margin-top:24px;font-size:14px;max-width:350px}.checkpoints article{display:flex;gap:25px;border-bottom:1px solid #d9d4c8;padding:24px 0}.checkpoints article:first-child{padding-top:0}.checkpoints article>span{font:18px var(--serif);color:var(--deep-gold)}.checkpoints h3{font-size:17px;margin-bottom:10px}.checkpoints p{font-size:13px}.identity-card{background:#eeeee8;border-radius:4px;padding:32px;text-align:center;align-self:start}.identity-mark{font:145px/1.5 var(--serif);letter-spacing:-.1em}.identity-mark span{color:var(--gold)}.identity-card h3{font-family:var(--serif);font-size:30px}.identity-card p{font-size:13px}.identity-divider{width:50px;height:1px;background:#bdaa75;margin:23px auto}.identity-card a{font-size:12px;display:inline-block;margin-top:20px}.team-photo{width:100%;aspect-ratio:1.5;object-fit:cover;border-radius:3px;margin-bottom:20px}.team-caption{font-size:12px!important;margin-bottom:22px}.advisor-layout .intro{margin-top:22px}.meeting-steps{list-style:none;counter-reset:steps;padding:0;margin:28px 0}.meeting-steps li{counter-increment:steps;position:relative;padding-left:40px;margin:22px 0}.meeting-steps li:before{content:counter(steps);position:absolute;left:0;top:0;border:1px solid #d7d4c7;border-radius:50%;width:24px;height:24px;display:grid;place-items:center;color:#877238;font-size:12px}.meeting-steps strong{font-size:14px;font-weight:600}.meeting-steps p{font-size:13px;margin-top:5px}.offer{border:1px solid #d8ccac;background:#fcfaf4;display:flex;gap:30px;margin-top:70px;padding:28px 32px;border-radius:4px}.offer-tag{font-size:12px;color:#81682b;letter-spacing:.1em;white-space:nowrap;padding-top:5px}.offer h3{font:23px var(--serif);margin-bottom:8px}.offer p{font-size:13px}.offer .field-help{font-size:12px}.existing{display:flex;align-items:center;gap:40px;justify-content:space-between;padding:36px 0 0;margin-top:36px;border-top:1px solid var(--line)}.existing .eyebrow{margin-bottom:10px}.existing h3{font:24px/1.4 var(--serif);margin-bottom:10px}.existing p:not(.eyebrow){font-size:13px;max-width:600px}.faq-section{background:#faf9f5}.faq-layout{display:grid;grid-template-columns:.75fr 1.4fr;gap:90px}.faq-layout>div>p:last-child{font-size:14px;margin-top:24px;max-width:290px}.faq details{border-bottom:1px solid var(--line)}.faq details:first-child{border-top:1px solid var(--line)}.faq summary{font-size:14px;padding:21px 30px 21px 0;position:relative;cursor:pointer;list-style:none;line-height:1.55}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:'+';position:absolute;right:0;top:17px;font-size:23px;color:#8d7a45}.faq details[open] summary:after{content:'−'}.faq details p{font-size:13px;padding-bottom:23px}.final-cta{padding-block:75px;text-align:center}.final-cta .button{margin-top:28px}footer{background:#1d201b;padding:45px 0 24px;color:#eeeee7}.footer-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:40px}.footer-grid p{font-size:12px;color:#b7bdb0;margin-top:14px}.footer-brand{font-size:23px;letter-spacing:.09em;font-weight:400}.footer-brand span{font-family:var(--serif);font-size:20px;display:block;letter-spacing:0;color:#cbb171}.footer-grid a,.footer-link{font-size:12px;color:#d4d7ce;display:block;margin:13px 0;background:none;padding:0;text-align:left;text-decoration:underline}.footer-note{font-size:12px;color:#acb4a5;border-top:1px solid #41473b;margin-top:35px;padding-top:22px}dialog{width:min(620px,calc(100% - 24px));max-height:90dvh;border:0;border-radius:10px;padding:36px;color:var(--ink);box-shadow:0 18px 64px rgba(17,20,19,.22)}dialog::backdrop{background:#12190ecc;backdrop-filter:blur(4px)}dialog h2{font-size:35px}dialog p{font-size:13px;margin-top:15px}dialog .eyebrow{margin-top:0}.dialog-close{position:absolute;right:15px;top:10px;background:transparent;font-size:28px;min-height:44px;min-width:44px;color:#5b5d54}.contact-summary{font-size:12px;background:#f5f5f1;padding:12px 15px;margin:15px 0}.optional{font-size:12px;font-weight:400;color:#74766d}.consent{display:flex;gap:12px;font-size:12px;font-weight:400;align-items:start;margin:22px 0 12px}.consent input{width:18px;height:18px;flex-shrink:0;accent-color:var(--ink);margin:2px 0 0}dialog .button{margin-top:20px}#confirmation details{margin-top:22px;font-size:12px}#confirmation summary{cursor:pointer;padding:10px 0}.confirmation-icon{display:grid;place-items:center;border:1px solid #b3b88e;border-radius:50%;height:55px;width:55px;color:#737c43;font-size:25px;margin:25px 0}.error{color:#ad2419;font-size:12px;padding-top:15px}#request-recap dl{display:grid;grid-template-columns:1fr 1.5fr;gap:5px 16px;background:#f5f5ef;padding:15px}#request-recap dt{color:#656951}#request-recap dd{margin:0;overflow-wrap:anywhere}
@media(min-width:1500px){.hero{padding-top:70px}}
@media(max-width:1050px){.wrap{width:calc(100% - 56px)}.header{padding-inline:28px}.hero{gap:30px}.hero h1{font-size:43px}.sim-input,.sim-output{padding:28px}.split{gap:50px}.faq-layout{gap:50px}.year{display:none}.field-grid{gap:10px}.section-heading{gap:40px}}
@media(max-width:760px){html{scroll-padding-top:85px}.hero-proof{grid-template-columns:1fr 1fr;justify-items:center;align-items:center}.hero-proof-reviews{flex-wrap:wrap;justify-content:center;gap:4px 7px;border-left:1px solid var(--line);padding-left:14px}.hero-proof-main{font-size:17px}.google-wordmark{height:15px}.wrap{width:calc(100% - 40px)}.header{padding:8px 20px}.header img{width:130px;height:54px}.header nav>a:not(.button){display:none}.header .button.small{font-size:12px;gap:12px;padding:10px 12px}.header nav{gap:0}.hero{grid-template-columns:1fr;padding-top:26px;gap:26px}.hero-copy{padding:0}.hero h1{font-size:44px;max-width:560px}.eyebrow{font-size:12px;margin-bottom:17px}.hero .intro{font-size:16px;margin:23px 0}.hero-copy>.button{width:100%;justify-content:space-between}.hero-copy>.micro{text-align:center}.trust{gap:16px;padding-block:20px;grid-template-columns:1fr}.trust>div{gap:16px}.trust p{font-size:12px}.trust p span{font-size:12px}.trust-icon{width:26px}.section{padding:56px 16px}.section-heading{display:block;margin-bottom:28px}.section-heading>p{font-size:13px;margin-top:20px;max-width:480px}.sim-shell{grid-template-columns:1fr}.sim-input,.sim-output{padding:25px 22px}.sim-input label{font-size:12px}.field-grid{grid-template-columns:1fr 1fr}.field-grid select{font-size:12px}.sim-output{min-height:360px}#empty-result{padding-top:30px}.empty-symbol{display:none}#empty-result h3{font-size:25px;margin-bottom:15px}.empty-list{margin:22px 0;padding:14px 0}#result{padding-top:26px}.impact-number{font-size:51px}.mechanism-grid{grid-template-columns:1fr;gap:26px;margin-top:30px}.mechanism-grid article{position:relative;padding-left:50px}.number{position:absolute;left:0;top:0;border:0;font-size:25px}.mechanism-grid h3{font-size:19px}.mechanism-grid p{font-size:13px}.callout{padding:18px;font-size:12px;margin-top:27px}.split{grid-template-columns:1fr;gap:35px}.vigilance .split>div>p:last-child{max-width:100%}.vigilance h2 br:nth-child(2){display:none}.checkpoints article{gap:18px}.identity-card{padding:22px;order:2}.advisor-layout{gap:40px}.advisor-layout>div:last-child{order:1}.identity-mark{font-size:90px;line-height:1.2}.advisor-layout .intro{font-size:15px}.offer{display:block;padding:23px;margin-top:40px}.offer-tag{margin-bottom:12px}.offer h3{font-size:22px}.existing{display:block;margin-top:25px;padding-top:30px}.existing .button{margin-top:22px;white-space:normal;width:100%;justify-content:space-between}.faq-layout{grid-template-columns:1fr;gap:30px}.faq-layout>div>p:last-child{max-width:100%;margin-top:18px}.faq-layout h2 br{display:none}.final-cta{padding-block:55px}.final-cta h2{font-size:33px}.footer-grid{grid-template-columns:1fr;gap:16px}footer{padding-top:32px}.footer-note{margin-top:22px}dialog{padding:30px 23px}dialog h2{font-size:30px}.sim-input .button{font-size:13px}.method{font-size:12px}}
@media(max-width:370px){.wrap{width:calc(100% - 28px)}.header{padding-inline:14px}.hero h1{font-size:38px}.field-grid{grid-template-columns:1fr}.header img{width:110px}.sim-input,.sim-output{padding:23px 17px}.presets button{padding:7px 12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}


@media(max-width:760px){.trust{grid-template-columns:1fr 1fr;gap:14px}.trust>div:last-child{grid-column:1/-1}.trust-icon{font-size:22px}.hero{padding-bottom:24px}}

/* Rôles et états de composants : palette Meristem, comportement cohérent sur mobile et clavier. */
:root{
  --surface:var(--white);
  --surface-container:var(--ivory);
  --surface-dark:#20251f;
  --on-surface:var(--ink);
  --on-dark:#fff;
  --outline:var(--line);
  --accent:var(--gold);
  --on-accent:#171914;
  --error:#a5291e;
  --success:#4d6238;
  --focus:#9c7518;
  --elev-card:0 12px 38px rgba(27,34,21,.06);
  --elev-dialog:0 25px 100px rgba(0,0,0,.25);
  --motion-fast:120ms;
  --motion-base:180ms;
}
.sim-shell{background:var(--surface);border-color:var(--outline);box-shadow:var(--elev-card)}
.sim-output{background:var(--surface-dark);color:var(--on-dark)}
dialog{box-shadow:var(--elev-dialog)}
.step-caption{display:block;font-size:12px;line-height:1.3;letter-spacing:.04em;font-weight:700;color:var(--deep-gold);margin-bottom:3px}
.sim-output .step-caption{color:#d6bd80}
#sim-progress{display:block;width:100%;height:6px;margin:15px 0 6px;appearance:none;border:0;border-radius:6px;overflow:hidden;background:#e9e6dc}
#sim-progress::-webkit-progress-bar{background:#e9e6dc;border-radius:6px}
#sim-progress::-webkit-progress-value{background:var(--deep-gold);border-radius:6px;transition:width var(--motion-base) ease}
#sim-progress::-moz-progress-bar{background:var(--deep-gold);border-radius:6px}
.progress-text{font-size:12px;line-height:1.5;margin-bottom:18px}
.advanced-intro{border-top:1px solid var(--outline);padding-top:18px;margin-top:22px;font-size:12px;color:var(--on-surface)}
.preview-scenario{background:var(--surface-container);border:1px solid #d6c9a6;border-left:3px solid var(--deep-gold);padding:15px 17px;margin-top:20px;border-radius:4px}
.preview-scenario p:nth-child(2){font:18px/1.45 var(--serif);color:var(--on-surface)}
.preview-scenario .field-help{font-size:12px}
.field-error{font-size:12px;line-height:1.5;color:var(--error);margin-top:6px}
.sim-input [aria-invalid="true"],#contact-form [aria-invalid="true"]{border-color:var(--error);box-shadow:0 0 0 1px var(--error)}
.amount-input:has([aria-invalid="true"]){border-color:var(--error);box-shadow:0 0 0 1px var(--error)}
.amount-input [aria-invalid="true"]{box-shadow:none}
.sim-input select:valid,#contact-form select:valid{border-color:#aaa181;background-color:#fffefa}
.presets button{min-height:44px;transition:background var(--motion-fast),border-color var(--motion-fast),box-shadow var(--motion-fast)}
.presets button[aria-pressed="true"]{background:#ece1bf;border-color:var(--deep-gold);font-weight:700;box-shadow:inset 0 0 0 1px var(--deep-gold)}
.presets button:active{background:#e5d4a2}
.button{transition:background var(--motion-base),border-color var(--motion-base),color var(--motion-base),box-shadow var(--motion-base),transform var(--motion-fast)}
.button .button-label{font-size:inherit;line-height:inherit}
.button:active:not(:disabled){transform:scale(.985);box-shadow:inset 0 2px 7px rgba(0,0,0,.16)}
.button:disabled{background:#e3e1da;border-color:#e3e1da;color:#666961;transform:none;box-shadow:none;cursor:not-allowed}
.button[aria-busy="true"]{background:#4b5047;color:#fff;cursor:progress}
.button.gold[aria-busy="true"]{background:#c7a75d;color:var(--on-accent)}
.action-status{min-height:17px;margin-top:8px;font-size:12px;line-height:1.5;color:var(--success)}
.action-status.is-error{color:var(--error);font-weight:600}
.honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.sim-input .action-status{margin-top:8px}
.sim-input .button:disabled{margin-top:25px}
.sim-output .step-dot{border-color:#8a947f}
.sim-output #result{scroll-margin-top:100px}
.dialog-close{transition:background var(--motion-fast),color var(--motion-fast);border-radius:4px}
.dialog-close:hover{background:var(--surface-container);color:var(--on-surface)}
.dialog-close:active{background:#e6dfcc}
@media(max-width:760px){.sim-output #result{scroll-margin-top:82px}.sim-input input:not([type="checkbox"]),.sim-input select,#contact-form input:not([type="checkbox"]),#contact-form select,#contact-form textarea{font-size:16px}.presets{gap:6px}.presets button{flex:1;padding-inline:6px}.preview-scenario p:nth-child(2){font-size:17px}}
@media(prefers-reduced-motion:reduce){#sim-progress::-webkit-progress-value{transition:none}.button,.presets button,.dialog-close{transition:none!important}}

/* Parcours d'essai unifié desktop/mobile : choix avant simulation, puis page dédiée. */
.simulator-page main>section:not(#simulateur){display:none}
.simulator-page .header nav{display:none}
.simulator-back{display:block;width:min(1180px,calc(100% - 96px));margin:20px auto 0}
.simulator-page .simulator-section{padding-top:34px}
body:not(.simulator-page) #simulateur{display:none}
@media(max-width:760px){
  /* Le lien de retour s'assoit sur l'ivoire de la section, collé au header : pas de bande blanche avant le titre. */
  .simulator-back{width:100%;margin:0;padding:10px 16px 0;min-height:0;box-sizing:border-box;background:var(--ivory)}
  .simulator-page .simulator-section{padding-top:14px}
  /* Le titre garde ses deux lignes (coupure forcée) même sur 320 px : 34 px dès 340 px de large, 32 px en dessous. */
  .simulator-section .section-heading h2{font-size:min(34px,10vw)}
}

/* Raffinement Impeccable : priorité à la lisibilité et aux parcours mobiles. */
:root{--text-support:13px;--text-meta:12px;--text-label:13px}
.field-help,.result-limit,.micro,.footer-note,.footer-grid p,.footer-grid a,.footer-link{font-size:var(--text-support)}
.small-copy,label{font-size:var(--text-label)}
.header nav>a:not(.button),.team-caption,.identity-card a,.offer .field-help,.method,.optional,.action-status{font-size:var(--text-meta)}
.header nav{gap:clamp(16px,2.2vw,32px)}
.header nav>a:not(.button){white-space:nowrap}
@media (min-width:761px) and (max-width:1050px){.header nav>a[data-nav-priority="secondary"]{display:none}}
@media (min-width:761px){.header nav{width:min(680px,calc(100vw - 272px));gap:0}.header nav>a:not(.button){flex:1;text-align:center}.header nav>.button{flex:0 0 auto;margin-left:24px}}
.presets button,.step-caption,.impact-caption,.scenario-table th{font-size:var(--text-meta)}
.result-next p.micro{font-size:var(--text-meta)}
.field-label-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.field-label-row label{margin-right:0}
.field-action{min-height:44px;padding:8px 0;background:transparent;border:0;color:var(--deep-gold);font-size:var(--text-meta);font-weight:700;line-height:1.4;text-align:right;text-decoration:underline;text-underline-offset:4px}
.field-action:hover{color:var(--ink)}
.field-why{margin-top:10px;color:var(--muted)}
.field-why summary{padding:4px 0;cursor:pointer;font-size:var(--text-meta);font-weight:600;color:var(--deep-gold);text-decoration:underline;text-underline-offset:4px}
.field-why p{margin-top:7px;font-size:var(--text-meta);line-height:1.55}
.final-cta>p:not(.eyebrow):not(.micro){max-width:560px;margin:18px auto 0}
.final-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:28px}
.final-actions .button{margin-top:0}
@media(max-width:760px){
  .hero{gap:20px;padding-bottom:22px}
  .trust p span{font-size:var(--text-meta)}
  .field-label-row{align-items:flex-start;flex-direction:column;gap:0}
  .field-action{min-height:36px;padding:0 0 8px;text-align:left}
  .field-why summary,.field-why p{font-size:var(--text-support)}
  .final-actions{display:grid;grid-template-columns:1fr;margin-top:24px}.final-actions .button{width:100%;justify-content:space-between}
}
@media(max-width:370px){.field-action{font-size:12px}}

/* Pictogrammes Tabler : un seul langage d'icônes, à la place des glyphes typographiques. */
.icon-tabler{display:inline-block;width:1em;height:1em;flex:none;vertical-align:-.14em}
.button .icon-tabler,.identity-card a .icon-tabler,.footer-grid a .icon-tabler{width:18px;height:18px;margin-left:5px;vertical-align:-.2em}
.trust-icon .icon-tabler{width:26px;height:26px;vertical-align:middle}
.empty-symbol .icon-tabler{width:52px;height:52px;vertical-align:middle}
.empty-list .icon-tabler{width:17px;height:17px;vertical-align:-.18em}
.confirmation-icon .icon-tabler{width:25px;height:25px;vertical-align:middle}
.dialog-close .icon-tabler{width:21px;height:21px;vertical-align:middle}
.faq summary{display:flex;align-items:center;gap:14px}
.faq summary:after{content:none}
.faq-toggle{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;margin-left:auto;flex:0 0 24px;color:#8d7a45}
.faq-toggle .icon-tabler{width:20px;height:20px;vertical-align:middle}
.faq-toggle .icon-minus{display:none}
.faq details[open] .faq-toggle .icon-plus{display:none}
.faq details[open] .faq-toggle .icon-minus{display:inline-block}
.simulator-section{background:var(--ivory)}
.footer-logo{display:block;width:176px;height:auto;padding:8px 12px;background:var(--white);border-radius:2px}
dialog{border:0;box-shadow:0 18px 64px rgba(17,20,19,.22)}

:root{--body:'Source Sans 3',Helvetica,sans-serif}
.hero-proof{display:grid;grid-template-columns:1fr 1fr;align-items:center;justify-items:center}
.office-photo{aspect-ratio:4/3}
.identity-card .identity-reviews{display:inline-flex;align-items:center;justify-content:center;gap:7px;margin-top:20px;padding-left:0;border-left:0;line-height:1;text-decoration:none}
@media(max-width:760px){.footer-grid{justify-items:center;text-align:center}.footer-logo{margin-inline:auto}.footer-grid a,.footer-link{margin-inline:auto;text-align:center}.footer-note{text-align:center}}

/* Number inputs styled as amount/versement fields: hide native spinner arrows (they break the box layout). */
input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
input[type=number]{-moz-appearance:textfield;appearance:textfield}

/* Simulateur « avant / après » : comparaison impôt avec/sans versement, plafond reportable. */
.cp-shell{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start;margin-top:24px}
.cp-panel{border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 38px #1b22150a;background:#fff;padding:30px 34px}
.cp-panel h2,.cp-panel h3.cp-panel-title{font-size:20px}
.cp-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:22px}
.cp-label{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;margin-bottom:8px}
.cp-info{display:inline-flex;width:15px;height:15px;border-radius:50%;border:1px solid #9c9a8e;color:#77766f;font-size:10px;align-items:center;justify-content:center;cursor:help;flex-shrink:0}
.cp-box{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px 16px;min-height:56px;font:500 18px var(--numeric);display:flex;align-items:center;justify-content:space-between;transition:border-color .2s ease,box-shadow .2s ease}.cp-box:focus-within{border-color:var(--gold);box-shadow:0 0 0 4px rgba(201,168,76,.14)}.cp-box:has(input[readonly]){background:var(--ivory);border-color:#e4dfd0}.cp-box:has(input[readonly]):focus-within{border-color:#e4dfd0;box-shadow:none}
.cp-box input{border:0;background:transparent;width:100%;min-height:0;padding:0;border-radius:0;font:500 18px var(--numeric);color:var(--ink)}.cp-box input:focus{box-shadow:none;border:0}
.cp-box input[readonly]{color:var(--muted)}
.cp-box span{color:#9c9a8e;font-size:15px;font-weight:500}
.cp-parts-stepper{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:8px;min-height:56px;transition:border-color .2s ease,box-shadow .2s ease}.cp-parts-stepper:focus-within{border-color:var(--gold);box-shadow:0 0 0 4px rgba(201,168,76,.14)}.cp-parts-stepper button:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.cp-parts-stepper button{width:38px;height:38px;border-radius:50%;background:var(--ink);color:#fff;font-size:16px;line-height:1;flex-shrink:0;transition:background .18s}.cp-parts-stepper button:hover{background:#363a32}
.cp-parts-stepper input{flex:1;text-align:center;border:0;background:transparent;min-height:0;padding:0;border-radius:0;font:500 18px var(--numeric)}.cp-parts-stepper input:focus{box-shadow:none;border:0}
.cp-versement{margin-top:30px;padding-top:24px;border-top:1px solid var(--line)}
.cp-versement-row{display:flex;justify-content:space-between;align-items:baseline}
.cp-versement-row h3{font-size:16px}
.cp-versement-value{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-width:112px;padding:8px 14px;border:1px solid transparent;border-radius:999px;background:rgba(201,168,76,.14);color:var(--deep-gold);font:700 16px var(--numeric);transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.cp-versement-value:focus-within{background:#fff;border-color:var(--gold);box-shadow:0 0 0 4px rgba(201,168,76,.14)}.cp-versement-value span{color:inherit}
.cp-versement-value input{border:0;background:transparent;width:72px;min-height:0;padding:0;border-radius:0;text-align:right;color:inherit;font:700 16px var(--numeric)}.cp-versement-value input:focus{box-shadow:none;border:0}
input[type=range].cp-range{-webkit-appearance:none;appearance:none;display:block;width:100%;height:6px;min-height:0;padding:0;border:0;border-radius:99px;background:linear-gradient(to right,var(--gold) var(--pct,0%),#e8e4d9 var(--pct,0%));cursor:pointer;box-shadow:none}
input[type=range].cp-range::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;border-radius:50%;background:#fff;border:2px solid var(--gold);cursor:pointer;box-shadow:0 2px 8px rgba(25,26,24,.18);transition:transform var(--motion-fast),box-shadow var(--motion-fast)}
input[type=range].cp-range::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:#fff;border:2px solid var(--gold);cursor:pointer;box-shadow:0 2px 8px rgba(25,26,24,.18);transition:transform var(--motion-fast),box-shadow var(--motion-fast)}
input[type=range].cp-range:hover::-webkit-slider-thumb,input[type=range].cp-range:active::-webkit-slider-thumb{transform:scale(1.12)}
input[type=range].cp-range:hover::-moz-range-thumb,input[type=range].cp-range:active::-moz-range-thumb{transform:scale(1.12)}
input[type=range].cp-range:active::-webkit-slider-thumb{box-shadow:0 0 0 4px rgba(201,168,76,.18),0 3px 10px rgba(25,26,24,.22)}
input[type=range].cp-range:active::-moz-range-thumb{box-shadow:0 0 0 4px rgba(201,168,76,.18),0 3px 10px rgba(25,26,24,.22)}
input[type=range].cp-range:focus,input[type=range].cp-range:focus-visible{outline:none;box-shadow:none}
input[type=range].cp-range:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 4px rgba(201,168,76,.22);outline:2px solid var(--focus);outline-offset:2px}
input[type=range].cp-range:focus-visible::-moz-range-thumb{box-shadow:0 0 0 4px rgba(201,168,76,.22);outline:2px solid var(--focus);outline-offset:2px}
.cp-range-wrap{position:relative;margin-top:52px;padding-block:8px}
.cp-range-tooltip{position:absolute;top:8px;left:0;transform:translate(-50%,calc(-100% - 18px));background:var(--ink);color:#fff;font:700 12px/1 var(--numeric);padding:6px 10px;border-radius:8px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--motion-fast)}
.cp-range-tooltip::after{content:'';position:absolute;top:100%;left:50%;transform:translateX(-50%);border:5px solid transparent;border-top-color:var(--ink)}
.cp-range-wrap.is-dragging .cp-range-tooltip{opacity:1}
@media(prefers-reduced-motion:reduce){.cp-range-tooltip{transition:none}}
.cp-plafond-note{font-size:12px;color:#77766f;margin-top:8px}
.cp-bar-row{margin-top:22px}
.cp-bar-row:first-child{margin-top:0}
.cp-bar-label{display:flex;justify-content:space-between;font-size:13px;font-weight:600;margin-bottom:8px}
.cp-bar-track{display:flex;position:relative;height:34px;border-radius:6px;overflow:hidden;background:#f1efe8}
/* Chaque segment est au moins aussi large que son chiffre (min-width:max-content) ; le bleu absorbe la différence. */
.cp-bar-fill{display:flex;flex:0 1 auto;min-width:max-content;align-items:center;justify-content:flex-start;padding:0 10px;font-size:13px;font-weight:700;color:var(--ink);white-space:nowrap;transition:width .18s}
.cp-bar-sans{background:#e3cccb}
.cp-bar-avec{background:#b9d6f2}
.cp-bar-eco{background:var(--gain);justify-content:flex-end;color:var(--deep-gain)}


.cp-results{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:30px}
.cp-result-card{background:var(--ivory);border-radius:8px;padding:18px;text-align:center}
.cp-result-card .cp-label{justify-content:center}
.cp-result-value{font:700 26px var(--numeric);color:var(--deep-gold)}
.cp-result-unit{font:400 13px var(--body);color:var(--deep-gold);margin-left:2px}
.cp-result-card--gain{background:var(--deep-gain)}
.cp-result-card--gain .cp-label{color:#fff}
.cp-result-card--gain .cp-info{border-color:rgba(255,255,255,.7);color:#fff}
#cp-reduction-max{color:#fff}
.cp-result-sub{font-size:12px;color:#6b6a63;margin-top:4px}
@media(max-width:760px){.cp-shell{grid-template-columns:1fr}.cp-panel{padding:22px}.cp-field-grid{grid-template-columns:1fr}.cp-results{grid-template-columns:1fr}}

/* Le gain reste identifiable, avec une surface plus douce et lisible. */
.cp-result-card--gain{background:#d5e6d8}
.cp-result-card--gain .cp-label,.cp-result-card--gain .cp-info,#cp-reduction-max{color:var(--deep-gain)}
.cp-result-card--gain .cp-info{border-color:currentColor}

/* Sous les cartes de résultat : limites du calcul propres à la situation saisie, puis passage vers l’étude offerte. */
.cp-next{margin-top:28px;padding:20px 22px;border:1px solid var(--line);border-left:2px solid var(--gold);border-radius:8px;background:#fff}
.cp-next-title{font-size:12px;font-weight:700;letter-spacing:.04em;color:var(--deep-gold);margin-bottom:10px}
.cp-next-list{list-style:none;margin:0;padding:0}
.cp-next-list li{position:relative;padding-left:18px;font-size:14px;line-height:1.55;color:var(--ink)}
.cp-next-list li+li{margin-top:8px}
.cp-next-list li::before{content:'';position:absolute;left:0;top:.62em;width:8px;height:1px;background:var(--deep-gold)}
.cp-next-bridge{font-size:13px;margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}
.cp-next-bridge strong{color:var(--ink);font-weight:600}
#open-simulation-contact{margin-top:20px}
.contact-next{font-size:13px;margin-top:12px;padding:12px 15px;background:var(--ivory);border-left:2px solid var(--gold)}
@media(max-width:760px){.cp-next{padding:16px 18px}}
