/* Calcul Rattraper Marches – V2 · 2026 · sans dépendances externes */
:root{--ink:#1b3441;--dark:#102f37;--muted:#617681;--teal:#077d6c;--teal-dark:#056a5a;--mint:#dff8ed;--cream:#f7f8f5;--paper:#fff;--line:#dce5e3;--orange:#e8a66c;--shadow:0 18px 55px rgba(19,58,66,.07);--r:18px;--container:1190px;font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Arial,sans-serif;color:var(--ink);background:var(--cream);font-synthesis:none}
*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:34px}body{margin:0;min-width:320px;font-size:15px;line-height:1.65;-webkit-font-smoothing:antialiased}a{color:var(--teal);text-decoration-thickness:1px;text-underline-offset:3px}a:hover{color:var(--teal-dark)}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}button,input,summary{accent-color:var(--teal)}:focus-visible{outline:3px solid #71d9bc;outline-offset:3px}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3,h4{line-height:1.13;letter-spacing:-.04em;color:var(--ink)}h1{font-size:clamp(2.65rem,5vw,4.7rem);letter-spacing:-.065em}h2{font-size:clamp(2rem,3.4vw,3.05rem)}h3{font-size:1.27rem}h4{font-size:1.06rem}p{color:#536a75}ul,ol{padding-left:1.3rem}small{font-size:.83rem}.container{width:min(calc(100% - 72px),var(--container));margin-inline:auto}.site-shell{overflow:hidden}.skip-link{position:absolute;z-index:100;top:-100px;left:20px;padding:12px;background:#fff}.skip-link:focus{top:12px}
.header{height:100px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:inline-flex;align-items:center;gap:12px;color:var(--ink);font-weight:850;font-size:1.11rem;letter-spacing:-.06em;text-decoration:none;white-space:nowrap}.brand:hover{color:var(--ink)}.brand-icon{display:inline-flex;flex:none}.brand-name>span:first-child{color:var(--teal)}.brand-domain{color:var(--muted);font-size:.9em}.nav{display:flex;gap:8px;align-items:center}.nav a{padding:10px 16px;border-radius:10px;color:#536b73;text-decoration:none;font-weight:650;font-size:.91rem}.nav a:hover,.nav a.active{background:#e5f2ec;color:var(--teal-dark)}
.hero{display:grid;grid-template-columns:1.04fr .96fr;align-items:center;gap:45px;padding-block:62px 92px}.hero-copy{max-width:620px}.eyebrow,.kicker{color:var(--teal);font-size:.77rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase}.eyebrow{display:inline-flex;align-items:center;gap:10px;background:#e5f2eb;border:1px solid #cee9dc;padding:8px 15px;border-radius:100px;margin-bottom:25px}.eyebrow-dot{height:7px;width:7px;background:#10a382;border-radius:50%;box-shadow:0 0 0 4px #c7eedb}.hero h1{max-width:660px;margin-bottom:23px}.hero h1 em,.guide-hero h1 em{color:var(--teal);font-style:normal}.hero-copy>p{font-size:1.12rem;max-width:540px;color:#526873;line-height:1.8}.hero-copy>p strong{color:#274a53}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:25px;margin-top:30px}.button{display:inline-flex;justify-content:center;align-items:center;gap:16px;min-height:50px;padding:13px 24px;border-radius:10px;border:1px solid transparent;cursor:pointer;font-weight:750;text-decoration:none;font-size:.93rem;white-space:normal;line-height:1.35;transition:transform .15s,background .15s,box-shadow .15s}.button:hover{transform:translateY(-1px);text-decoration:none}.button-primary{background:var(--teal);color:#fff;box-shadow:0 8px 17px #077d6c25}.button-primary:hover{color:#fff;background:var(--teal-dark);box-shadow:0 12px 22px #077d6c35}.button-outline{border-color:#b9d0ca;background:transparent;color:var(--teal-dark)}.button-outline:hover{color:var(--teal-dark);background:#e8f3ef}.button-ghost{color:var(--teal);background:#e9f5ef}.button-ghost:hover{color:var(--teal);background:#d9f1e8}.button-small{font-size:.82rem;min-height:38px;padding:8px 14px;border-radius:8px}.button-full{width:100%}.text-link{color:var(--ink);font-size:.92rem;font-weight:750;text-decoration:none}.text-link:hover{color:var(--teal)}.hero-proof{margin-top:30px;display:flex;flex-wrap:wrap;gap:10px 23px;color:#6c8086;font-size:.79rem;font-weight:650}.hero-art{position:relative;min-height:400px;display:flex;align-items:center;padding:22px;background:linear-gradient(145deg,#194851,#102f3a);border-radius:24px;box-shadow:0 28px 58px #0d333b20;isolation:isolate;overflow:hidden}.hero-art-grid{position:absolute;inset:0;z-index:-1;background-image:linear-gradient(#ffffff0a 1px,transparent 1px),linear-gradient(90deg,#ffffff0a 1px,transparent 1px);background-size:34px 34px;mask-image:linear-gradient(130deg,transparent,#000)}.hero-art svg{display:block;width:100%;height:auto}.hero-art-tag{position:absolute;bottom:23px;left:24px;color:#defaed;font-size:.82rem;font-weight:700;display:flex;align-items:center;gap:8px}.sparkle{font-size:1.4rem;color:#83e4c6}
.section{padding-block:86px}.calculator-section{background:#eef3f0;border-block:1px solid #e2ebe5}.section-intro{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:37px}.section-intro h2{margin:9px 0 0;max-width:740px}.section-intro>p{max-width:355px;margin-bottom:0;font-size:.91rem}.calculator-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;gap:22px}.calculator-grid:not(.has-results){grid-template-columns:minmax(0,680px);justify-content:center}.card{background:var(--paper);border:1px solid #e3ebe7;border-radius:var(--r);box-shadow:var(--shadow);min-width:0}.form-card,.result-card{padding:31px}.card-heading{display:flex;gap:14px;align-items:start;padding-bottom:23px;border-bottom:1px solid #e8eeeb;margin-bottom:24px}.card-heading h3{margin:2px 0 4px}.card-heading p{font-size:.84rem;margin:0}.step-number{display:grid;place-items:center;flex:none;width:35px;height:35px;border-radius:10px;color:#087b6e;background:#e4f5ed;font-weight:800}.field label{display:block;font-size:.84rem;font-weight:750;margin-bottom:8px;color:#37525d}.field input,.measure-input input,.input-unit input{width:100%;background:white;border:1px solid #cfdcd8;border-radius:9px;padding:11px 12px;color:#203b42;font-size:1rem;font-weight:650;min-height:45px}.field input:focus,.measure-input input:focus,.input-unit input:focus{border-color:#1eaf90;outline:3px solid #1eaf9027}.help{display:inline-grid;place-items:center;width:17px;height:17px;border-radius:50%;font-size:.68rem;color:#6a8990;background:#e5eff0}.field-hint{font-size:.76rem;color:#829298;margin-top:8px;margin-bottom:7px}.field-count{padding-bottom:20px}.count-controls{display:flex;align-items:stretch;gap:7px}.count-controls input{width:83px;text-align:center;appearance:textfield}.count-controls input::-webkit-inner-spin-button{appearance:none}.count-button{width:47px;border-radius:8px;background:#eef4f1;border:1px solid #dbe8e2;color:#176e60;font-size:1.6rem;line-height:1}.count-button:hover{background:#dff2e8}.button-inline{border:none;background:none;color:var(--teal);font-size:.76rem;text-decoration:underline;text-underline-offset:3px;padding:0}.measure-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:11px;padding-right:9px;color:#2a434c;font-size:.82rem}.measure-head span{color:#8d9fa3;font-weight:750}.measure-list{max-height:520px;overflow-y:auto;scrollbar-color:#bdd2cb transparent;padding-right:5px;margin-bottom:18px}.measure-row{display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid #e6ece9;border-radius:9px;padding:8px 10px 8px 12px;margin-bottom:7px;font-size:.87rem;color:#344b55;cursor:text}.measure-row:hover{border-color:#c4dbd1;background:#fbfefd}.measure-row>span:first-child{display:flex;align-items:center;gap:9px}.measure-row small{display:grid;place-items:center;background:#edf2f1;color:#748c8c;border-radius:6px;width:27px;height:26px;font-weight:750}.measure-input{display:flex;align-items:center;gap:5px;flex:none}.measure-input input{width:88px;padding:7px 8px;text-align:right;min-height:39px;font-size:.91rem}.measure-input>span{color:#93a2a2;font-size:.8rem}.advanced{margin:21px 0 24px;border-top:1px solid #edf0ee;border-bottom:1px solid #edf0ee;padding:15px 0}.advanced summary{cursor:pointer;color:#2a4d50;font-weight:800;font-size:.86rem}.advanced-sub{font-weight:500;color:#7b9195;margin-left:6px}.advanced>p{font-size:.8rem;margin:12px 0}.advanced-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.input-unit{position:relative}.input-unit input{padding-right:39px}.input-unit>span{position:absolute;right:13px;top:11px;color:#91a3a6}.privacy-note{text-align:center;font-size:.73rem;color:#84989a;margin:13px 0 0}.demo-label{background:#e7f5ed;color:#087966;font-size:.68rem;font-weight:900;letter-spacing:.08em;display:inline-flex;padding:6px 10px;border-radius:7px;margin:0 0 12px}.results-main{background:#103740;border-radius:12px;padding:24px;color:#fff;display:flex;flex-direction:column;gap:2px}.results-caption{color:#bfd7d4;font-size:.83rem;font-weight:600}.results-big{font-size:clamp(3.6rem,5.5vw,5.4rem);font-weight:850;line-height:1.2;letter-spacing:-.07em;color:#a9efd6}.results-big span{font-size:1.5rem;letter-spacing:0;font-weight:550;color:white}.results-explain{color:#c2d7d3;font-size:.77rem}.metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:13px 0}.metric-grid>div{background:#f4f8f5;border:1px solid #e9f0ed;border-radius:10px;padding:13px 15px;display:flex;flex-direction:column;gap:4px}.metric-grid small{color:#768b90;font-size:.75rem}.metric-grid strong{font-size:1.25rem;color:#25424a}.status{display:flex;align-items:start;gap:13px;padding:13px 14px;margin:16px 0;border-radius:10px}.status.positive{background:#e9f7ee;color:#156649}.status.negative{background:#fff0e8;color:#9d4926}.status-icon{height:23px;min-width:23px;border-radius:50%;display:grid;place-items:center;background:#fff;font-weight:850}.status strong{font-size:.84rem;display:block;line-height:1.4}.status p{margin:3px 0 0;color:inherit;opacity:.85;font-size:.79rem;line-height:1.5}.notice{margin:15px 0;padding:15px 17px;border-radius:10px;font-size:.82rem}.notice strong{display:block;margin-bottom:7px}.notice ul{margin:0;padding-left:18px}.notice li+li{margin-top:5px}.notice p{margin:0;font-size:.82rem}.notice-warning{background:#fff5e8;border:1px solid #f8e2c1;color:#81592b}.notice-danger{background:#fff0eb;border:1px solid #f5ccc4;color:#933b28}.summary-heading{display:flex;align-items:center;justify-content:space-between;margin:25px 0 12px}.summary-heading h4{margin:0}.summary-heading span{color:#91a3a5;font-size:.76rem;font-weight:800}.table-overflow{overflow-x:auto}.data-table{border-collapse:collapse;min-width:470px;width:100%;text-align:right;font-variant-numeric:tabular-nums;font-size:.82rem}.data-table th,.data-table td{padding:11px 8px;border-bottom:1px solid #e9eeed}.data-table tr>*:first-child{text-align:left}.data-table thead{background:#f5f8f6}.data-table thead th{font-size:.73rem;color:#637780;line-height:1.3}.data-table tbody th{font-weight:700;color:#2b4954}.data-table tbody tr:hover{background:#f8fcf9}.data-table .last-row{background:#f2f8f5}.val-positive{color:#138566;font-weight:800}.val-negative{color:#c06039;font-weight:800}.tiny{font-size:.69rem;color:#728388}.table-note{font-size:.73rem;margin:10px 0 0;color:#7e9096}.empty-result{text-align:center;padding:80px 14px}.empty-result>span{font-size:4rem;color:#b4cbc3}.empty-result h4{margin:10px 0}.empty-result p{font-size:.87rem}
.diagram-section{background:#f8faf8}.diagram-card{padding:24px}.diagram-top{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:15px}.legend,.diagram-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px 19px}.legend>span{font-size:.76rem;color:#58737d;display:inline-flex;align-items:center;gap:7px}.legend-line{display:inline-block;width:26px;border-top:3px solid #067e6b}.legend-old{border-color:#8d9da6;border-top-style:dashed}.legend-fill{height:11px;width:18px;background:#84d7c1;display:inline-block;border-radius:2px}.legend-remove{background:#ffbe99}.svg-scroll{overflow:auto;border-radius:12px;border:1px solid #e6ece8;background:#f8faf9;scrollbar-color:#bdd2ca transparent}.svg-scroll svg{display:block;min-width:700px;max-width:none;height:auto}.diagram-foot{margin:12px 2px 0;font-size:.77rem;color:#738790}.three-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:30px 0}.mini-card{background:#fff;border:1px solid #e5ece8;border-radius:15px;padding:30px}.mini-index{color:#10856e;font-size:.72rem;font-weight:900;letter-spacing:.12em}.mini-card h3{margin:25px 0 10px;font-size:1.46rem}.mini-card p{margin:0;font-size:.91rem}.about-section .button{margin-top:7px}.faq-section{background:#eef4f1}.faq-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:60px}.faq-grid h2{margin:15px 0}.faq-items details,.guide-faq{border-bottom:1px solid #ccdcd5;padding:20px 2px}.faq-items summary,.guide-faq summary{cursor:pointer;font-weight:750;color:#2a4a52;list-style-position:inside}.faq-items p,.guide-faq p{font-size:.87rem;margin:12px 0 0;padding-left:17px}.footer{border-top:1px solid #dae6de;padding-block:46px 60px;display:flex;justify-content:space-between;gap:32px}.footer strong{font-size:1rem;color:var(--dark)}.footer p{max-width:340px;font-size:.8rem;margin:8px 0 0}.footer-right{display:flex;align-items:end;flex-wrap:wrap;gap:11px 18px;justify-content:flex-end;max-width:450px;font-size:.82rem}.footer-right a{font-weight:650;color:#3e6468;text-decoration:none}.footer-right span{width:100%;text-align:right;color:#8aa09f;font-size:.74rem}
/* Page guide */
.guide-hero{padding-block:72px 92px;max-width:1000px}.guide-hero h1{max-width:920px;margin:0 0 20px}.guide-hero>p{max-width:740px;font-size:1.14rem}.guide-hero .button{margin-top:12px}.guide-layout{display:grid;grid-template-columns:260px minmax(0,760px);gap:80px;align-items:start;padding-bottom:100px}.guide-nav{position:sticky;top:30px;border:1px solid #e4eae7;background:#fff;border-radius:14px;padding:20px;display:flex;flex-direction:column;gap:10px}.guide-nav strong{font-size:.8rem;color:#2b4d55;padding-bottom:9px;margin-bottom:4px;border-bottom:1px solid #e9efec}.guide-nav a{font-size:.83rem;color:#657983;text-decoration:none;border-radius:7px;padding:5px 9px}.guide-nav a:hover{color:var(--teal);background:#e7f4ed}.guide-content>section{padding-block:34px 47px;border-bottom:1px solid #dce7e1}.guide-content>section:first-child{padding-top:0}.guide-content h2{margin:14px 0 22px;font-size:clamp(1.75rem,3vw,2.5rem)}.guide-content p,.guide-content li{font-size:.99rem;line-height:1.85}.guide-content a{font-weight:650}.guide-callout{background:#e6f5ee;border-left:4px solid var(--teal);border-radius:0 11px 11px 0;padding:19px 22px;margin:24px 0}.guide-callout strong{color:#156858}.guide-callout p{font-size:.9rem;margin:7px 0 0}.guide-callout-neutral{background:#eef3f2;border-left-color:#678b90}.guide-callout-neutral strong{color:#28505a}.rich-list{padding-left:25px}.rich-list li{padding-left:7px;margin-bottom:11px}.formula{background:#123741;color:#fff;padding:23px;border-radius:12px;margin:23px 0;display:flex;flex-direction:column;gap:10px}.formula span{color:#abd8cf;font-size:.77rem;text-transform:uppercase;letter-spacing:.08em}.formula strong{font-size:1.1rem;line-height:1.55}.guide-figures{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:27px 0}.guide-figures>div{display:flex;flex-direction:column;gap:8px;background:white;border:1px solid #e1eae5;border-radius:10px;padding:17px}.guide-figures small{color:#728790;font-size:.75rem}.guide-figures strong{font-size:1.35rem;color:#0d7563;letter-spacing:-.03em}.example-list{display:flex;flex-wrap:wrap;gap:9px;margin:18px 0 25px}.example-list span{border-radius:8px;background:#e5f5ee;color:#375b57;padding:7px 10px;font-size:.8rem}.example-list b{color:#087c6b}.check-list{list-style:none;margin:22px 0;padding:0}.check-list li{position:relative;margin:10px 0;padding-left:31px}.check-list li:before{content:'✓';position:absolute;left:0;top:0;color:#129473;font-weight:850}.guide-end{margin:45px 0 10px;padding:35px;border-radius:16px;background:#123740}.guide-end h2{color:#fff;margin:0 0 9px}.guide-end p{color:#d5e7df}.guide-end .button{margin-top:8px}
@media(max-width:1050px){.hero{gap:22px}.hero-art{min-height:340px}.calculator-grid{grid-template-columns:1fr 1fr;gap:15px}.form-card,.result-card{padding:22px}.results-big{font-size:3.9rem}.guide-layout{gap:40px;grid-template-columns:215px minmax(0,1fr)}}
@media(max-width:820px){.container{width:min(calc(100% - 38px),var(--container))}.header{height:auto;min-height:82px;padding-block:16px;flex-wrap:wrap;gap:12px}.nav{margin-left:auto}.hero{padding-block:32px 62px;grid-template-columns:1fr}.hero-copy{max-width:740px}.hero h1{max-width:720px}.hero-art{min-height:320px;max-width:700px;width:100%;justify-self:center}.section{padding-block:65px}.section-intro{align-items:start;display:block}.section-intro>p{max-width:700px;margin-top:15px}.calculator-grid{grid-template-columns:1fr}.result-card{max-width:none}.faq-grid{grid-template-columns:1fr;gap:12px}.guide-layout{grid-template-columns:1fr;gap:20px}.guide-nav{position:static;display:flex;flex-direction:row;flex-wrap:wrap}.guide-nav strong{flex-basis:100%}.guide-hero{padding-block:35px 50px}}
@media(max-width:540px){.container{width:calc(100% - 28px)}.header{gap:12px}.brand{font-size:.89rem;gap:8px}.brand-icon svg{width:35px;height:35px}.nav{width:100%;display:grid;grid-template-columns:1fr 1fr;text-align:center}.nav a{font-size:.77rem;padding:7px}.hero{padding-block:34px 50px}.hero h1,.guide-hero h1{font-size:clamp(2.45rem,10vw,3.4rem)}.hero-copy>p{font-size:1rem}.hero-actions{gap:18px}.hero-art{min-height:260px;padding:10px;border-radius:17px}.hero-art-tag{bottom:14px;left:15px;font-size:.7rem}.hero-proof{gap:8px 15px;font-size:.7rem}.section{padding-block:51px}.section-intro h2{font-size:2rem}.form-card,.result-card{padding:19px 15px}.card-heading{gap:9px}.card-heading h3{font-size:1.16rem}.measure-row{padding:7px;gap:4px;font-size:.74rem}.measure-row small{height:22px;width:22px;font-size:.65rem}.measure-row>span:first-child{gap:5px}.measure-input input{width:69px;padding:6px 4px;font-size:.85rem}.advanced-grid{gap:8px}.results-big{font-size:3.6rem}.metric-grid{grid-template-columns:1fr}.diagram-card{padding:13px}.three-cards{grid-template-columns:1fr}.mini-card{padding:23px}.mini-card h3{margin-top:14px}.footer{display:block}.footer-right{margin-top:24px;justify-content:flex-start}.footer-right span{text-align:left}.guide-hero{padding-block:32px 40px}.guide-layout{padding-bottom:50px}.guide-nav{gap:3px}.guide-nav a{font-size:.72rem}.guide-content p,.guide-content li{font-size:.92rem}.guide-figures{grid-template-columns:1fr;gap:7px}.guide-figures>div{flex-direction:row;align-items:center;justify-content:space-between}.guide-content h2{font-size:1.8rem}.guide-end{padding:22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
@media print{@page{size:A4;margin:12mm}html{background:#fff}body{background:#fff;color:#000;font-size:10pt}.container{width:100%}.header,.hero,.form-card,.about-section,.faq-section,.footer,.diagram-actions,.nav,.guide-nav,.guide-hero .button,.button,.eyebrow{display:none!important}.section{padding:10px 0}.calculator-section,.diagram-section{background:#fff;border:0}.section-intro{margin:0 0 10px}.section-intro h2{font-size:16pt}.section-intro>p{display:none}.calculator-grid{display:block}.result-card,.diagram-card{box-shadow:none;border:0;padding:0}.card-heading{margin-bottom:10px}.card-heading h3{font-size:13pt}.results-main{print-color-adjust:exact;-webkit-print-color-adjust:exact;padding:10px}.results-big{font-size:25pt}.metric-grid{display:flex}.status,.notice{break-inside:avoid}.diagram-top{margin:0}.svg-scroll{overflow:visible;border:0}.svg-scroll svg{width:100%;min-width:0!important;height:auto}.data-table th,.data-table td{padding:5px;font-size:8pt}.diagram-foot{font-size:8pt}.guide-layout{display:block}.guide-content>section{break-inside:avoid}}

/* Export PDF */
.pdf-download-form{display:inline-flex;margin:0}
.pdf-download-form button{white-space:nowrap}

/* Formulaire : valeurs lisibles et centrées */
.measure-input input,.count-controls input,.input-unit input{text-align:center;font-variant-numeric:tabular-nums}
.result-pdf-download{display:block;margin:22px 0 0}
.result-pdf-download button{width:100%;justify-content:center}
.legal-page{max-width:900px;padding-top:58px;padding-bottom:90px}
.legal-page h1{margin:10px 0 22px}
.legal-page h2{font-size:1.45rem;color:#153d47;margin-top:30px}
.legal-page p,.legal-page li{line-height:1.7}
.legal-warning{background:#fff5e8;border:1px solid #f0d9b1;border-radius:12px;padding:16px 19px;color:#734e20}
.legal-details{background:#fff;border:1px solid #dce9e4;border-radius:14px;padding:25px 28px;margin-top:24px}
.legal-details dl{display:grid;grid-template-columns:190px minmax(0,1fr);row-gap:12px;column-gap:22px;margin:0}
.legal-details dt{font-weight:700;color:#2c5c60}
.legal-details dd{margin:0;overflow-wrap:anywhere}
.legal-missing{font-style:italic;color:#9d602f}
@media(max-width:540px){.legal-details dl{grid-template-columns:1fr;row-gap:4px}.legal-details dd{margin-bottom:14px}}

/* Mise en garde clairement identifiable pour toute utilisation du calculateur */
.safety-disclaimer{margin:15px 0 14px;padding:14px 16px;border-left:4px solid #b07834;background:#fff8ec;border-radius:0 9px 9px 0;color:#644b2c;font-size:.83rem;line-height:1.6}
.safety-disclaimer strong{color:#714516}
.result-disclaimer{margin-top:20px;margin-bottom:6px}
.footer-disclaimer{max-width:400px!important;font-size:.76rem!important;color:#697c7b!important;margin-top:10px!important}
.legal-pending{font-size:.86rem;color:#865b27;background:#fff9eb;border-radius:8px;padding:11px 15px}

/* Valeurs des contremarches centrées réellement, y compris sous Firefox :
   les flèches natives de input[type=number] déséquilibrent le centrage.
   Les flèches haut/bas du clavier restent fonctionnelles. */
.measure-input input[type="number"]{appearance:textfield;-moz-appearance:textfield;text-align:center;padding-inline:7px;font-variant-numeric:tabular-nums}
.measure-input input[type="number"]::-webkit-inner-spin-button,
.measure-input input[type="number"]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.example-launch-form{margin:18px 0 0}

/* V2.1 — Expérience smartphone : lisibilité, champs tactiles et résultats sans défilement horizontal.
   Les styles de bureau et la mise en page PDF ne sont pas modifiés. */
@media screen and (max-width: 640px) {
  html { scroll-padding-top: 12px; }
  body { font-size: 15.5px; line-height: 1.55; }
  .container { width: calc(100% - 28px); }
  .header { min-height: 0; padding-block: 14px 10px; gap: 12px; }
  .brand { font-size: .94rem; letter-spacing: -.055em; }
  .brand-icon svg { width: 36px; height: 36px; }
  .nav { width: 100%; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 5px; border-radius: 12px; padding: 4px; background: #e7eeeb; text-align: center; }
  .nav a { font-size: .83rem; line-height: 1.3; padding: 12px 7px; border-radius: 9px; }
  .nav a.active { background: #fff; box-shadow: 0 1px 5px #163e4314; }
  .hero { padding-block: 20px 25px; gap: 15px; }
  .eyebrow { font-size: .64rem; letter-spacing: .10em; line-height: 1.4; padding: 7px 11px; margin-bottom: 15px; }
  .hero h1 { font-size: clamp(2.1rem, 8.3vw, 2.7rem); line-height: 1.09; margin-bottom: 12px; letter-spacing: -.055em; }
  .hero-copy > p { font-size: .93rem; line-height: 1.58; margin-bottom: 0; }
  .hero-actions { margin-top: 17px; display: grid; gap: 11px; }
  .hero-actions .button { width: 100%; min-height: 50px; }
  .hero-actions .text-link { text-align: center; font-size: .87rem; padding: 4px 0; }
  .hero-proof { margin-top: 11px; font-size: .75rem; line-height: 1.4; }
  .hero-art { width: 100%; min-height: 0; height: 146px; border-radius: 15px; padding: 5px 18px 5px 12px; overflow: hidden; justify-content: center; }
  .hero-art svg { width: min(100%, 230px); max-height: 142px; }
  .hero-art-tag { font-size: .62rem; bottom: 8px; left: 12px; }
  .hero-art-tag .sparkle { font-size: .84rem; }
  .section { padding-block: 37px; }
  .calculator-section { padding-top: 30px; }
  .section-intro { margin-bottom: 19px; }
  .kicker { font-size: .68rem; }
  .section-intro h2 { font-size: clamp(1.55rem, 6vw, 1.98rem); line-height: 1.15; margin-top: 6px; }
  .section-intro > p { font-size: .84rem; line-height: 1.55; margin-top: 9px; }
  .calculator-grid { gap: 17px; }
  .card { border-radius: 16px; }
  .form-card, .result-card { padding: 20px 15px; }
  .card-heading { padding-bottom: 15px; margin-bottom: 17px; gap: 11px; }
  .card-heading h3 { font-size: 1.15rem; line-height: 1.25; }
  .card-heading p { font-size: .81rem; }
  .step-number { width: 34px; height: 34px; }
  .field-count { padding-bottom: 13px; }
  .count-controls { gap: 8px; }
  .count-controls input { width: 77px; min-height: 49px; font-size: 1.05rem; }
  .count-button { min-width: 50px; min-height: 49px; font-size: 1.6rem; }
  .field-hint { font-size: .78rem; }
  .measure-head { padding-right: 0; margin: 8px 0 11px; }
  .measure-list { max-height: none; overflow: visible; padding-right: 0; margin-bottom: 10px; }
  .measure-row { min-height: 63px; padding: 8px 10px; margin-bottom: 8px; gap: 9px; font-size: .87rem; line-height: 1.25; background: #fff; }
  .measure-row > span:first-child { gap: 8px; min-width: 0; flex: 1; }
  .measure-row small { width: 28px; height: 29px; flex: 0 0 28px; font-size: .74rem; }
  .measure-row:focus-within { border-color: #168e78; background: #f6fdf9; box-shadow: 0 0 0 3px #077d6c13; }
  .measure-input { flex: 0 0 auto; gap: 5px; }
  .measure-input input[type="number"] { width: 88px; min-height: 46px; font-size: 1rem; padding-inline: 6px; border-radius: 10px; }
  .measure-input > span { font-size: .77rem; }
  .advanced { margin: 16px 0 18px; padding: 13px 0; }
  .advanced summary { font-size: .87rem; line-height: 1.65; }
  .advanced-sub { display: block; margin-left: 18px; font-size: .76rem; }
  .field input, .input-unit input { font-size: 1rem; min-height: 48px; }
  .safety-disclaimer { padding: 12px 14px; font-size: .8rem; }
  .button { min-height: 50px; padding-inline: 14px; }
  .privacy-note { font-size: .73rem; line-height: 1.5; }

  /* Cartes de résultats adaptées à la largeur du téléphone. */
  .results-main { padding: 20px 18px; }
  .results-big { font-size: clamp(3rem, 13vw, 4.2rem); }
  .results-explain { font-size: .79rem; }
  .metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .metric-grid > div { padding: 12px 10px; }
  .metric-grid small { font-size: .73rem; line-height: 1.35; }
  .metric-grid strong { font-size: 1.12rem; }
  .status { padding: 13px; }
  .table-overflow { overflow: visible; }
  .data-table { display: block; min-width: 0; width: 100%; text-align: left; }
  .data-table thead { display: none; }
  .data-table tbody { display: grid; gap: 9px; }
  .data-table tbody tr { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; border: 1px solid #e0eae5; border-radius: 11px; padding: 11px 10px; background: #fff; }
  .data-table tbody tr:hover { background: #f8fcf9; }
  .data-table tbody tr.last-row { background: #f0f8f4; }
  .data-table tbody th { grid-column: 1 / -1; border: 0; border-bottom: 1px solid #e8efec; padding: 0 0 8px; font-size: .88rem; }
  .data-table tbody td { display: flex; flex-direction: column; align-items: flex-start; gap: 5px; border: 0; padding: 0 1px; font-size: .95rem; font-weight: 700; overflow-wrap: anywhere; }
  .data-table tbody td::before { display: block; font-size: .67rem; line-height: 1.2; font-weight: 600; color: #708690; }
  .data-table tbody td:nth-child(2)::before { content: "Existante"; }
  .data-table tbody td:nth-child(3)::before { content: "Correction"; }
  .data-table tbody td:nth-child(4)::before { content: "Finale"; }
  .data-table tbody td .tiny { font-size: .72rem; }
  .summary-heading { margin-top: 26px; }
  .table-note { font-size: .78rem; }
  .result-pdf-download { margin-top: 14px; }
  .diagram-card { padding: 12px; }
  .diagram-top { gap: 12px; }
  .legend { gap: 6px 12px; font-size: .75rem; }
  .diagram-actions { width: 100%; }
  .diagram-actions .button { width: 100%; }
  .svg-scroll { max-width: 100%; }
  .diagram-foot { font-size: .78rem; }
  .mini-card { padding: 22px; }
  .faq-items summary, .guide-faq summary { padding-block: 4px; }
  .footer { padding-block: 28px 35px; }
  .guide-hero { padding-block: 25px 30px; }
  .guide-nav { gap: 4px; padding: 14px; }
  .guide-nav a { font-size: .81rem; padding: 7px 9px; }
  .guide-content > section { padding-block: 25px 32px; }
  .guide-content h2 { font-size: 1.63rem; }
  .guide-figures > div { gap: 15px; }
  .guide-callout { padding: 15px; }
  .legal-page { padding-top: 30px; padding-bottom: 45px; }
  .legal-details { padding: 18px; }
}
@media screen and (max-width: 355px) {
  .brand { font-size: .80rem; }
  .hero h1 { font-size: 2.02rem; }
  .measure-row { font-size: .80rem; padding-inline: 7px; gap: 6px; }
  .measure-input input[type="number"] { width: 72px; }
  .measure-input { gap: 3px; }
  .measure-row > span:first-child { gap: 5px; }
  .metric-grid { grid-template-columns: 1fr; }
}
