:root{--forest:#123657;--deep:#0e253c;--lime:#f4b832;--ink:#172c3e;--muted:#5e6a76;--line:#cbd2d8;--paper:#eef1f4;--blue:#087cce;--yellow:#f4b832}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:20px}body{margin:0;font:16px/1.65 Arial,Helvetica,sans-serif;background:#fff;color:var(--ink)}a{color:inherit;text-underline-offset:4px}a:hover{color:#087cce}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #087cce;outline-offset:3px}.wrap{width:min(1400px,calc(100% - 64px));margin:auto}.topline{background:var(--deep);color:#fff;font-size:11px;letter-spacing:1px;padding:8px 0}.topline .wrap{display:flex;justify-content:space-between;gap:15px}.topline a{text-decoration:none;color:#fff;letter-spacing:.2px}.header{border-bottom:1px solid var(--line);background:white}.nav{min-height:95px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:13px;font-weight:800;text-decoration:none;font-size:17px;line-height:1.2;max-width:390px}.brand small{display:block;font-size:11px;font-weight:400;letter-spacing:.2px;margin-top:8px;color:var(--muted)}.brand-mark{background:var(--yellow);color:var(--deep);font-size:27px;letter-spacing:-2px;min-width:55px;height:55px;display:flex;align-items:center;justify-content:center;transform:skew(-5deg);position:relative;border-bottom:4px solid var(--deep)}.brand-mark span{position:absolute;right:3px;top:1px;font-size:8px;letter-spacing:0}nav{display:flex;gap:22px;align-items:center}nav a{font-size:13px;font-weight:700;text-decoration:none}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:13px 22px;background:var(--forest);color:white;border:0;border-radius:0;font-size:14px;font-weight:700;text-decoration:none;line-height:1.4}.button:hover{background:#1d507e;color:#fff}.button.yellow{background:var(--yellow);color:var(--deep)}.button.secondary{background:white;border:1px solid var(--forest);color:var(--forest)}.button.compact{min-height:43px;padding:12px 17px}.menu-toggle{display:none;min-height:44px;padding:9px 14px;background:white;color:var(--ink);border:1px solid var(--line)}.eyebrow{font-size:10px;letter-spacing:1.6px;font-weight:800;color:var(--forest);margin:0 0 14px;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Arial,Helvetica,sans-serif;font-weight:800;font-style:normal;line-height:1.07;letter-spacing:-1.4px}h1{font-size:clamp(34px,4.4vw,60px);margin-bottom:22px}h2{font-size:clamp(29px,3.1vw,45px);margin-bottom:25px}h3{font-size:24px;letter-spacing:-.6px}h1 em,h2 em{font-style:normal}.section{padding-block:72px}.artisan-intro{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.artisan-intro p,.contact-grid p{color:var(--muted)}.artisan-intro h2{margin:0}.services-band{background:var(--forest);color:white}.services-band .eyebrow{color:var(--yellow)}.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.services-band .cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;margin-top:44px}.service-card{border-top:3px solid var(--yellow);padding-top:25px;display:flex;flex-direction:column;min-width:0}.service-card h3{font-size:23px;line-height:1.15}.service-card h3 a{text-decoration:none}.service-card p{font-size:14px;opacity:.8}.number{font-size:12px;color:var(--yellow);font-weight:700;letter-spacing:2px;margin-bottom:35px}.service-action{margin-top:auto;font-size:13px;font-weight:bold;color:#fff;padding-top:15px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:110px;align-items:start}.contact-phone{font-size:32px;font-weight:800;letter-spacing:-1px;text-decoration:none}.note{background:var(--paper);border-left:4px solid var(--yellow);padding:30px}.note hr{border:0;border-top:1px solid var(--line);margin-block:25px}.note ul{padding-left:20px}.faq{display:grid;grid-template-columns:1fr 1.4fr;gap:70px;border-top:1px solid var(--line)}details{padding:18px 0;border-bottom:1px solid var(--line)}summary{font-weight:700;cursor:pointer}details p{margin:15px 0 0;color:var(--muted)}.footer{background:var(--deep);color:white;padding:45px 0 20px;font-size:13px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px}.footer-brand{font-size:18px;font-weight:800;text-decoration:none}.footer p{color:#bac8d3;margin-top:14px}.footer a{line-height:2}.footer a:hover{color:var(--yellow)}.footer-services{margin-top:20px}.footer-services nav{display:flex;flex-wrap:wrap;gap:10px 25px}.footer-services address{font-style:normal;margin-top:18px;color:#bac8d3}.copyright{border-top:1px solid #3c5266;padding-top:20px;margin-top:28px;font-size:11px;color:#bac8d3}.page-intro{max-width:700px;margin-bottom:40px}.page-intro p:last-child{color:var(--muted)}.form-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:60px;align-items:start}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.quote-form label{display:block;font-size:14px;font-weight:700;margin-bottom:22px}.quote-form input:not([type=checkbox]),select,textarea{display:block;width:100%;min-width:0;max-width:100%;margin-top:7px;border:1px solid #a6b3be;padding:12px;background:#fff;color:var(--ink);min-height:48px;border-radius:0;font-size:16px}.quote-form textarea{resize:vertical}.quote-form>.form-grid{margin-bottom:23px}.quote-form label.checkbox{display:flex;gap:12px;align-items:start;font-weight:400}.checkbox input{width:19px;height:19px;flex-shrink:0;margin:4px 0 0}.form-note{font-size:12px;color:var(--muted);margin-top:15px}.alert{background:#fff4d8;border-left:4px solid var(--yellow);padding:15px 20px;margin-bottom:24px;font-size:13px}.alert.error{background:#ffefed;border-color:#b13e31}.alert ul{padding-left:20px;margin-bottom:0}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.narrow{max-width:900px}.legal h2{font-size:26px;margin-top:38px;letter-spacing:-.5px}.legal dl{display:grid;grid-template-columns:1fr 2fr;gap:12px 25px}.legal dt{font-weight:700}.legal dd{margin:0;overflow-wrap:anywhere}.summary{border:1px solid var(--line);padding:25px;background:var(--paper);overflow-wrap:anywhere}.summary p{overflow-wrap:anywhere}.skip{position:absolute;top:-100px;left:20px;z-index:1000;background:#fff;padding:12px}.skip:focus{top:10px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.breadcrumbs{display:block;font-size:13px;color:var(--muted);margin-bottom:35px}.service-intro{max-width:850px}.service-intro>p:last-of-type{font-size:18px;color:var(--muted)}.actions{display:flex;gap:20px;align-items:center;flex-wrap:wrap;margin-top:25px}.service-content-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr);gap:60px;margin-top:60px;align-items:start}.service-content-grid article h2{font-size:29px;margin-top:32px}.service-content-grid .note h2{font-size:28px}.related-services{border-top:1px solid var(--line);margin-top:50px;padding-top:30px}.related-services h2{font-size:25px}.related-services ul{display:flex;gap:25px;flex-wrap:wrap;list-style:none;padding:0}.status-pill{display:inline-block;background:#dceaf5;color:#123657;padding:5px 12px;font-size:11px;font-weight:700;margin-bottom:18px}.message{padding:18px;border:1px solid var(--line);margin:12px 0;background:#fff;overflow-wrap:anywhere}.message small{display:block;font-size:11px;color:var(--muted)}.message p{margin:10px 0 0;white-space:normal}.conversation-title{margin-top:40px}.tracking-code{overflow-wrap:anywhere;font:15px/1.6 monospace;user-select:all}form+form{margin-top:22px}.small-button{border:1px solid #aab6c0;min-height:42px;padding:7px 13px;background:white;font-size:12px;color:var(--ink)}.estimate-entry{margin-bottom:30px}fieldset{min-width:0}main{overflow-wrap:break-word}
@media(max-width:1150px){.wrap{width:calc(100% - 40px)}.nav{min-height:83px;flex-wrap:wrap;padding-block:15px}.menu-toggle{display:block}.header nav{display:none;width:100%;flex-wrap:wrap;gap:15px;padding:12px 0}.header nav.open{display:flex}.brand{max-width:calc(100% - 90px)}.services-band .cards{grid-template-columns:repeat(2,minmax(0,1fr))}.artisan-intro,.contact-grid{gap:50px}}
@media(max-width:760px){.wrap{width:calc(100% - 32px)}.topline{font-size:9px}.topline .wrap{justify-content:center}.topline .wrap>span{display:none}.brand{font-size:14px;gap:10px}.brand small{font-size:10px;margin-top:6px}.brand-mark{min-width:43px;height:43px;font-size:22px}.nav{gap:10px;min-height:78px}.header nav.open{display:flex;flex-direction:column;align-items:stretch}.header nav a{padding:10px;font-size:14px}.section{padding-block:45px}.artisan-intro,.contact-grid,.faq,.form-layout,.service-content-grid{grid-template-columns:1fr;gap:28px}.artisan-intro h2{font-size:35px}.services-band .cards,.cards{grid-template-columns:1fr;gap:30px}.services-band .cards{margin-top:30px}.number{margin-bottom:18px}.service-card h3{font-size:26px}.service-card p{font-size:15px}.footer-grid{grid-template-columns:1fr;gap:20px}.footer-services nav{display:flex;padding:0}.form-grid{grid-template-columns:1fr}.note{padding:22px}.legal dl{grid-template-columns:1fr;gap:4px}.legal dd{margin-bottom:14px}.actions .button{width:100%}.related-services ul{display:grid;gap:15px}h1{font-size:40px}.service-intro h1{font-size:38px}.contact-phone{font-size:28px}.quote-form button{max-width:100%}.tracking-code{font-size:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media print{.header,.footer,.topline,.skip,.actions{display:none}.wrap{width:100%}.section{padding-block:0}.summary{border:0;background:white}}

/* Espace professionnel */
#tarifs,#entreprise,#emails,#securite {scroll-margin-top:100px;margin-top:3rem;}
.settings-table{overflow-x:auto;margin:1.5rem 0;}
.settings-table table{width:100%;border-collapse:collapse;}
.settings-table th,.settings-table td{text-align:left;padding:.8rem;border-bottom:1px solid currentColor;}
.quote-form fieldset{min-width:0;}.quote-form legend{padding:0 .5rem;}
