:root{--navy:#0d3359;--navy2:#082849;--green:#66b71d;--ink:#102942;--muted:#647487;--line:#dfe7ef;--soft:#f5f8fb;--white:#fff;--shadow:0 14px 40px rgba(13,51,89,.10)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#fff;line-height:1.45}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.topbar{height:88px;display:flex;align-items:center;gap:28px;padding:10px 4vw;position:sticky;top:0;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);z-index:20;border-bottom:1px solid rgba(13,51,89,.06)}.brand img{width:160px;height:68px;object-fit:contain}.nav{display:flex;gap:30px;margin-left:auto;font-size:14px;font-weight:700}.nav a:hover{color:var(--green)}.btn{border:0;border-radius:8px;padding:14px 22px;font-weight:800;display:inline-flex;align-items:center;justify-content:center}.btn-primary{background:var(--navy);color:#fff;box-shadow:0 8px 20px rgba(13,51,89,.14)}.btn-primary:hover{background:var(--navy2)}.btn-light{background:#fff;color:var(--navy);border:1px solid var(--line)}.btn-small{padding:12px 18px;font-size:14px}.menu-toggle{display:none;border:0;background:transparent;font-size:24px;color:var(--navy)}.hero{min-height:510px;display:grid;grid-template-columns:42% 58%;overflow:hidden}.hero-copy{padding:54px 3vw 36px 4vw;position:relative;z-index:2;background:linear-gradient(90deg,#fff 76%,rgba(255,255,255,.86) 92%,rgba(255,255,255,0))}.hero-copy h1{font-size:clamp(40px,5vw,72px);line-height:1.02;margin:10px 0 18px;letter-spacing:-.045em}.eyebrow{color:#5da620;font-size:13px;font-weight:900;letter-spacing:.08em;margin:0 0 10px}.lead{max-width:560px;color:#53677c;font-size:18px}.hero-media{background-image:linear-gradient(90deg,rgba(255,255,255,.28),rgba(255,255,255,0) 30%),url('../img/hero-annecy-cargo.jpg');background-size:cover;background-position:center}.audience-switch{display:flex;gap:12px;margin:26px 0}.audience{min-width:145px;border:1px solid #cad6e2;background:#fff;padding:13px 18px;border-radius:8px;color:var(--navy);font-weight:800}.audience.active{background:var(--navy);color:#fff;border-color:var(--navy)}.hero-points{display:flex;gap:42px;margin-top:32px}.hero-points div{display:flex;flex-direction:column;max-width:150px;font-size:12px}.hero-points span{font-size:26px;color:var(--navy);margin-bottom:5px}.hero-points small{color:var(--muted)}.trustbar{margin:-18px auto 0;position:relative;z-index:3;width:min(94%,1280px);background:linear-gradient(110deg,#0e3a63,#082a4d);color:#fff;display:grid;grid-template-columns:repeat(3,1fr);border-radius:10px;box-shadow:var(--shadow);overflow:hidden}.trustbar div{padding:20px 32px;border-right:1px solid rgba(255,255,255,.28);font-size:14px}.trustbar span{font-size:24px;margin-right:12px}.trustbar strong{font-weight:800}.shell{width:min(94%,1280px);margin:34px auto}.estimator{background:#fff;border:1px solid #e7edf3;border-radius:12px;box-shadow:var(--shadow);padding:24px 30px 30px}.stepper{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;margin:0 0 28px}.step{position:relative;text-align:center;color:#9caaba;font-size:12px}.step:not(:last-child):after{content:"";position:absolute;top:14px;left:55%;width:90%;height:1px;background:#d8e2eb;z-index:0}.step span{position:relative;z-index:1;width:28px;height:28px;border-radius:50%;background:#fff;border:1px solid #cbd7e2;display:grid;place-items:center;margin:0 auto 5px;font-weight:800}.step.active{color:var(--navy)}.step.active span,.step.done span{background:var(--navy);border-color:var(--navy);color:#fff}.step.done:after{background:#77ba39}.form-step{display:none}.form-step.active{display:block}.grid-two{display:grid;grid-template-columns:1.7fr .8fr;gap:42px}.form-step h2,.faq h2{font-size:30px;line-height:1.15;margin:4px 0 8px;letter-spacing:-.02em}.muted{color:var(--muted);margin-top:0}.choice-grid{display:grid;gap:14px;margin-top:24px}.choice-grid.two{grid-template-columns:repeat(2,1fr)}.services-grid{grid-template-columns:repeat(3,1fr)}.choice-card{min-height:150px;border:1px solid var(--line);background:#fff;border-radius:10px;padding:20px;text-align:center;color:var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:center;transition:.18s}.choice-card:hover{transform:translateY(-2px);box-shadow:0 10px 25px rgba(13,51,89,.08)}.choice-card.selected{border:2px solid #1d67b1;box-shadow:0 0 0 3px rgba(29,103,177,.08)}.choice-card .icon{font-size:34px;color:var(--navy);margin-bottom:9px}.choice-card strong{font-size:16px}.choice-card small{color:var(--muted);margin-top:6px}.info-card{background:linear-gradient(180deg,#f1f7fd,#edf8ef);padding:28px;border-radius:12px;min-height:360px}.info-card h3{font-size:21px;margin-top:0}.info-card p{margin:24px 0}.info-card span{color:var(--muted);font-size:13px}.actions{display:flex;justify-content:space-between;align-items:center;margin-top:26px}.actions .btn[disabled]{opacity:.45;cursor:not-allowed}.details-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px 20px;margin-top:24px}.details-grid label{font-size:13px;font-weight:800;color:#2e4256}.details-grid input,.details-grid select,.details-grid textarea{width:100%;border:1px solid #cfdbe6;border-radius:7px;padding:12px 13px;margin-top:7px;color:#17324c;background:#fff;outline:none}.details-grid input:focus,.details-grid select:focus,.details-grid textarea:focus{border-color:#3977b5;box-shadow:0 0 0 3px rgba(57,119,181,.09)}.details-grid .full{grid-column:1/-1}.optional{font-weight:500;color:#8996a2}.checkbox{display:flex;align-items:flex-start;gap:10px;font-weight:500!important}.checkbox input{width:auto;margin-top:3px}.checkbox a{text-decoration:underline}.estimate-panel{display:grid;grid-template-columns:.7fr 1.3fr;border:1px solid var(--line);border-radius:12px;overflow:hidden;margin-top:24px}.price-box{padding:30px;background:linear-gradient(145deg,#f7fbf5,#fff)}.price-box small{color:var(--muted)}.price-box div{font-size:45px;color:#66ae2d;font-weight:900;margin:8px 0}.price-box b{font-size:17px;color:var(--ink)}.price-box p{margin:0;font-weight:700}.summary-box{padding:24px 30px;background:#fff}.summary-box p{display:grid;grid-template-columns:135px 1fr;gap:10px;border-bottom:1px solid #edf1f5;padding-bottom:12px}.summary-box span{color:var(--muted)}.notice{margin-top:18px;padding:16px 18px;background:#f7fbf2;border-left:4px solid var(--green);border-radius:7px;color:#50633b}.form-message{margin-top:16px;padding:0}.form-message.error{padding:12px;background:#fff1f0;color:#932b25;border-radius:7px}.form-message.ok{padding:12px;background:#eff8e8;color:#436927;border-radius:7px}.success{text-align:center;padding:60px 20px}.success .check{width:70px;height:70px;border-radius:50%;display:grid;place-items:center;margin:auto;background:#edf8e5;color:#5ca326;font-size:38px}.success p{max-width:620px;margin:0 auto 24px;color:var(--muted)}.faq{padding:35px 0 65px}.faq details{border-bottom:1px solid var(--line);padding:18px 2px}.faq summary{font-weight:800;cursor:pointer}.faq details p{color:var(--muted);max-width:900px}footer{background:#082744;color:#fff;display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:30px;padding:35px 5vw;align-items:center}footer img{width:130px;height:75px;object-fit:contain;background:#fff;border-radius:8px;padding:4px}footer a{display:block;margin:7px 0;color:#d6e4ef}footer>div:last-child{text-align:right;color:#c4d4e1}
@media(max-width:900px){.topbar{height:74px}.brand img{width:130px;height:54px}.nav,.topbar>.btn{display:none}.menu-toggle{display:block;margin-left:auto}.nav.open{position:absolute;display:flex;flex-direction:column;left:0;right:0;top:74px;background:#fff;padding:22px 6vw;border-bottom:1px solid var(--line)}.hero{grid-template-columns:1fr;min-height:0}.hero-copy{padding:35px 6vw}.hero-media{height:360px;background-position:center}.hero-points{gap:18px;justify-content:space-between}.trustbar{grid-template-columns:1fr;margin-top:18px}.trustbar div{border-right:0;border-bottom:1px solid rgba(255,255,255,.2)}.grid-two{grid-template-columns:1fr}.services-grid{grid-template-columns:repeat(2,1fr)}.estimate-panel{grid-template-columns:1fr}.details-grid{grid-template-columns:1fr}.details-grid .full{grid-column:auto}footer{grid-template-columns:1fr;text-align:center}footer>div:last-child{text-align:center}}
@media(max-width:560px){.hero-copy h1{font-size:42px}.audience-switch{flex-direction:column}.audience{width:100%}.hero-points{flex-direction:column}.hero-media{height:250px}.estimator{padding:20px 14px}.step small{display:none}.services-grid,.choice-grid.two{grid-template-columns:1fr}.choice-card{min-height:130px}.summary-box p{grid-template-columns:1fr}.actions{gap:10px}.actions .btn{flex:1}.price-box div{font-size:38px}}
.vat-box{margin:24px 0;padding:20px 22px;border:1px solid #dce7f1;border-radius:16px;background:#f7fbff}.vat-box h3{margin:0 0 8px;color:#0f3760}.tax-warning{margin:12px 0 0;font-size:.9rem;color:#5d6d7e}.compact{margin-top:18px}.block-label{display:block;margin-top:20px}.block-label textarea{width:100%;margin-top:7px}.price-box p{margin:.45rem 0}.summary-box p strong{max-width:65%;text-align:right}.hero-points small{line-height:1.25}.choice-card small{line-height:1.35}

/* UX update - step 3 / cyclologistique / TVA */
[hidden]{display:none!important}
.field-panel{margin-top:24px;padding:24px;border:1px solid #dfe8f0;border-radius:18px;background:linear-gradient(180deg,#fff,#fbfdff);box-shadow:0 10px 28px rgba(13,51,89,.055)}
.field-panel-head{display:flex;align-items:center;gap:14px;padding-bottom:18px;border-bottom:1px solid #edf2f6}
.field-panel-head h3{margin:0 0 3px;font-size:19px;color:var(--navy)}
.field-panel-head p{margin:0;color:var(--muted);font-size:13px}
.field-icon{width:44px;height:44px;flex:0 0 44px;border-radius:13px;display:grid;place-items:center;background:#eef6ff;color:var(--navy);font-weight:900;font-size:22px}
.delivery-panel{border-color:#dcebd0;background:linear-gradient(180deg,#fff,#fbfef8)}
.delivery-panel .field-icon{background:#eff8e8;color:#5b9e27}
.delivery-note{margin-top:18px;padding:13px 15px;border-radius:10px;background:#f2f8ed;color:#4e663d;font-size:13px}
.vat-box{margin:24px 0 0;padding:20px 22px;border:1px solid #dfe8cf;border-radius:18px;background:linear-gradient(135deg,#fbfff7,#f3f9ec);box-shadow:0 8px 22px rgba(93,166,32,.06)}
.vat-title{display:flex;align-items:center;gap:14px;margin-bottom:14px}
.vat-title>span{width:52px;height:52px;flex:0 0 52px;border-radius:16px;display:grid;place-items:center;background:#66b71d;color:#fff;font-size:18px;font-weight:900}
.vat-title h3{margin:0 0 3px;font-size:18px;line-height:1.25;color:var(--navy)}
.vat-title p{margin:0;color:var(--muted);font-size:13px}
.vat-choice{padding:14px 16px;border:1px solid #d8e8c8;border-radius:12px;background:#fff;align-items:center}
.vat-choice input{width:20px;height:20px;accent-color:#5faa22;flex:0 0 auto}
.vat-choice span{display:flex;flex-direction:column;gap:3px}
.vat-choice small{font-weight:500;color:var(--muted);line-height:1.35}
.tax-warning{margin:10px 2px 0;font-size:12px;color:#61724f}
.details-note{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(220px,.5fr);gap:18px;margin-top:22px;align-items:stretch}
.block-label{margin:0;padding:18px;border:1px solid #dfe7ef;border-radius:16px;background:#fff}
.label-title{display:flex;align-items:center;justify-content:space-between;font-size:14px;font-weight:850;color:#2e4256}
.label-title small{font-size:11px;font-weight:700;color:#8a98a6;background:#f1f4f7;border-radius:999px;padding:4px 8px}
.block-label textarea{display:block;width:100%;min-height:135px;resize:vertical;margin-top:10px;border:1px solid #cfdbe6;border-radius:11px;padding:13px 14px;color:#17324c;background:#fbfdff;outline:none;line-height:1.45}
.block-label textarea:focus{border-color:#3977b5;box-shadow:0 0 0 3px rgba(57,119,181,.09);background:#fff}
.details-tip{display:flex;flex-direction:column;justify-content:center;gap:6px;padding:20px;border-radius:16px;background:#f3f7fb;color:var(--navy);font-size:13px}
.details-tip span{color:var(--muted);line-height:1.45}
@media(max-width:760px){.field-panel{padding:18px}.details-note{grid-template-columns:1fr}.vat-title{align-items:flex-start}.vat-title>span{width:44px;height:44px;flex-basis:44px;border-radius:13px;font-size:16px}}

/* V2 - estimate-first UX */
.quick-card{margin-top:24px;padding:26px;border:1px solid #dfe8f0;border-radius:20px;background:linear-gradient(180deg,#fff,#fbfdff);box-shadow:0 12px 34px rgba(13,51,89,.06)}
.quick-head{display:flex;align-items:center;gap:14px;padding-bottom:18px;border-bottom:1px solid #edf2f6}
.quick-head h3{margin:0 0 3px;font-size:20px;color:var(--navy)}
.quick-head p{margin:0;color:var(--muted);font-size:13px}
.quick-icon{width:48px;height:48px;flex:0 0 48px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(135deg,#eaf4ff,#eef8e7);color:var(--navy);font-size:23px;font-weight:900}
.quick-grid{max-width:880px}
.quick-note{margin:18px 0 0;padding:12px 14px;border-radius:11px;background:#f3f7fb;color:#65788a;font-size:13px}
.mini-details{display:block;margin-top:20px;padding:18px 20px;border:1px solid #e3eaf1;border-radius:16px;background:#fff}
.mini-details>span{display:flex;justify-content:space-between;gap:10px;font-size:14px;font-weight:850;color:#2e4256}
.mini-details small{font-weight:600;color:#8996a2}
.mini-details textarea{width:100%;min-height:88px;resize:vertical;margin-top:10px;border:1px solid #cfdbe6;border-radius:11px;padding:13px 14px;color:#17324c;background:#fbfdff;outline:none}
.mini-details textarea:focus{border-color:#3977b5;box-shadow:0 0 0 3px rgba(57,119,181,.09);background:#fff}
.contact-card{margin-top:22px;padding:24px;border:1px solid #dfe8f0;border-radius:18px;background:#fbfdff}
.followup-grid{margin-top:22px;padding-top:22px;border-top:1px solid #e7edf3}
.consent-line{display:flex;margin-top:22px;padding-top:20px;border-top:1px solid #e7edf3;font-size:13px;color:#53677c}
.vat-info{background:#f5f9ff;border-left-color:#2767a6;color:#38556f}
@media(max-width:760px){.quick-card,.contact-card{padding:18px}.quick-head{align-items:flex-start}.quick-icon{width:42px;height:42px;flex-basis:42px}.mini-details{padding:15px}}


/* V3 - evacuation dechetterie */
.waste-estimator{margin-top:18px;padding:20px;border:1px solid #dce9d1;border-radius:16px;background:linear-gradient(135deg,#fbfff8,#f4f9ef)}
.waste-title{display:flex;align-items:flex-start;gap:13px}
.waste-title h4{margin:0 0 4px;font-size:17px;color:var(--navy)}
.waste-title p{margin:0;color:var(--muted);font-size:13px}
.waste-icon{width:42px;height:42px;flex:0 0 42px;border-radius:13px;display:grid;place-items:center;background:#e7f5dc;color:#579a22;font-size:21px}
.waste-grid{grid-template-columns:1.4fr .8fr .8fr;max-width:none;margin-top:16px}
.waste-info{margin-top:15px;padding:12px 14px;border-radius:10px;background:#fff;border:1px solid #e2eadc;color:#617151;font-size:12.5px;line-height:1.45}
@media(max-width:800px){.waste-grid{grid-template-columns:1fr}.waste-estimator{padding:16px}}
