/* Pages expertise : lumière, détails mécaniques et accueil humain. */
.service-page{background:#f4f1e5;color:#182024}
.service-page .service-hero{position:relative;isolation:isolate;background:#f4f1e5;color:#182024;border:0;min-height:610px;padding:0;overflow:hidden}
.service-hero .page-hero-image{position:absolute;inset:0 0 0 53%;z-index:-1;opacity:1;clip-path:polygon(14% 0,100% 0,100% 100%,0 100%)}
.service-hero .page-hero-image:after{background:linear-gradient(90deg,#10171915,#10171900)!important}
.service-hero .page-hero-image img{width:100%;height:100%;object-fit:cover;filter:none;opacity:1}
.service-hero>.wrap{padding-block:28px 58px;position:relative}
.service-hero .breadcrumb{margin:0 0 58px;color:#68665e;font-size:12px;max-width:52%;flex-wrap:wrap}
.service-hero .breadcrumb a{color:#7e151e}
.service-hero .eyebrow{color:#9c0811;font-size:11px;letter-spacing:2px;max-width:50%;margin-bottom:20px}
.service-page .service-hero h1{font-size:clamp(44px,4.6vw,70px);line-height:1.02;letter-spacing:-1.5px;max-width:53%;color:#182024}
.service-page .service-hero h1 em{color:#a10d1b;display:block}
.service-page .service-hero .hero-subtitle{color:#555b59;max-width:43%;font-size:17px;line-height:1.7;margin-top:22px}
.service-actions{display:flex;align-items:flex-start;flex-direction:column;gap:22px;margin-top:28px;max-width:48%}
.service-actions .button{margin:0;font-size:16px;min-height:56px;padding:16px 24px}
.service-call{font-size:13px;display:flex;gap:10px;flex-wrap:wrap;color:#5b605e;align-items:center}
.service-call strong{font-size:16px;color:#9c0811;border-bottom:1px solid #9c081150;padding-bottom:3px}
.service-hint{font-size:12px!important;color:#686b64!important;margin-top:22px!important;max-width:45%}
.service-page .service-overview{padding-block:72px;gap:7%;grid-template-columns:1fr 1.2fr}
.service-page .service-overview .eyebrow{color:#9c0811}
.service-page .service-overview h2{font-size:clamp(32px,3.1vw,46px);line-height:1.1;letter-spacing:-.7px;color:#182024}
.service-page .service-overview .lead{font-size:20px;line-height:1.65;color:#313b3c}
.service-page .service-overview p+p{font-size:15px;line-height:1.8;color:#626862;margin-top:20px}
.service-page .prepare{background:#eae7dc;padding-block:64px 72px;border-block:1px solid #dcd8cc}
.service-page .prepare h2{font-size:clamp(34px,3.4vw,50px);line-height:1.05;letter-spacing:-1px}
.service-page .prepare h2 em{color:#9c0811}
.service-page .prepare-grid{gap:20px;margin-top:34px}
.service-page .prepare-grid article{padding:28px;border:1px solid #d8d3c6;border-top:3px solid #a10d1b;background:#f9f7ef;border-radius:4px;box-shadow:0 6px 16px #27271805}
.service-page .prepare-grid h3{font-size:27px;line-height:1.1;color:#9c0811}
.service-page .prepare-grid p{font-size:15px;line-height:1.75;color:#5b625e;margin-top:16px}
.service-page .questions{background:#f4f1e5;color:#182024;padding-block:72px;border:0;grid-template-columns:1fr 1.5fr;gap:8%}
.service-page .questions h2{font-size:44px;line-height:1.05;color:#182024}
.service-page .questions h2 em{color:#9c0811;display:block;font:inherit;letter-spacing:inherit;margin:0}
.service-page .questions .section-lead{display:block;color:#626862;font-size:15px;line-height:1.75;max-width:300px}
.service-page .faq-list details{border:1px solid #d9d4c7;background:#faf8f1;border-radius:4px;margin-bottom:12px}
.service-page .faq-list summary{padding:20px;color:#182024;font-size:15px;line-height:1.5}
.service-page .faq-list .answer{padding:0 20px 22px;color:#59615c;line-height:1.8}
.service-page .faq-list details[open]{border-color:#9c0811}
.service-page .service-next{background:#182024;padding-block:26px}
.service-page .service-next p{color:#bbbdb6;letter-spacing:1.5px}
.service-page .service-next a{color:#ffe329;font:600 26px/1.3 'Barlow Condensed',sans-serif}
body:has(.service-page) .site-footer{background:#101719;color:#eee}
body:has(.service-page) .footer-bottom{color:#b6bbb7;border-color:#ffffff20}
@media(max-width:900px){.service-actions{max-width:50%}.service-page .service-hero h1{font-size:46px}.service-page .service-overview{gap:35px}.service-page .prepare-grid article{padding:22px}}
@media(max-width:760px){
.service-page .service-hero{min-height:0;padding-bottom:250px}
.service-hero .page-hero-image{inset:auto 0 0;height:250px;clip-path:none}
.service-hero .page-hero-image img{object-position:center 55%}
.service-hero>.wrap{padding-block:22px 34px}
.service-hero .breadcrumb{max-width:100%;margin-bottom:30px;font-size:11px}
.service-hero .eyebrow,.service-page .service-hero h1,.service-page .service-hero .hero-subtitle,.service-actions,.service-hint{max-width:100%}
.service-page .service-hero h1{font-size:44px;letter-spacing:-1px}
.service-page .service-hero .hero-subtitle{font-size:16px;margin-top:18px}
.service-actions{gap:20px;margin-top:24px}.service-actions .button{font-size:15px}
.service-hint{margin-top:18px!important}.service-page .service-overview{grid-template-columns:1fr;padding-block:42px;gap:24px}
.service-page .service-overview h2{font-size:34px}.service-page .service-overview .lead{font-size:18px}
.service-page .prepare{padding-block:42px}.service-page .prepare h2{font-size:38px}.service-page .prepare-grid{grid-template-columns:1fr;gap:14px;margin-top:26px}.service-page .prepare-grid article{padding:23px}.service-page .prepare-grid h3{font-size:26px}
.service-page .questions{grid-template-columns:1fr;padding-block:44px;gap:28px}.service-page .questions h2{font-size:38px}.service-page .questions .section-lead{max-width:100%;margin-top:18px}.service-page .service-next a{font-size:24px}
}

.service-page .service-hero:after{display:none}

/* Formulaire : une conversation, avec des champs faciles à parcourir. */
body[data-page=contact] .contact-layout{grid-template-columns:minmax(0,.75fr) minmax(0,1.35fr);gap:6%;align-items:start;padding-block:80px}
body[data-page=contact] .contact-info{padding-top:30px}
body[data-page=contact] .contact-info section{padding:28px 0;border-bottom:1px solid #ffffff20}
body[data-page=contact] .contact-info .eyebrow{font-size:11px;letter-spacing:1.6px}
body[data-page=contact] .contact-info p:not(.eyebrow){font-size:16px;line-height:1.7;color:#c3c8c5}
body[data-page=contact] .contact-info .big-phone{font-size:clamp(28px,3vw,42px);color:#ffe329}
body[data-page=contact] .contact-form{padding:42px;background:#f6f3e9;border:1px solid #e0dacb;border-top:5px solid #a10d1b;border-radius:8px;box-shadow:0 20px 55px #0003;min-width:0}
body[data-page=contact] .contact-form>.eyebrow{color:#a10d1b;font-size:11px;letter-spacing:1.8px;margin-bottom:16px}
body[data-page=contact] .contact-form h2{font-size:clamp(34px,3.4vw,48px);line-height:1.04;letter-spacing:-.8px;color:#182024}
body[data-page=contact] .contact-form h2 em{color:#a10d1b}
body[data-page=contact] .form-intro{font-size:16px;line-height:1.7;color:#5c635f;margin:20px 0 32px}
.form-group{min-width:0;margin:0 0 28px;padding:0;border:0}
.form-group legend{width:100%;font:600 21px/1.3 'Barlow Condensed',sans-serif;color:#9c0811;border-bottom:1px solid #ddd6c8;padding-bottom:12px;margin-bottom:20px}
body[data-page=contact] .form-grid{gap:20px}
body[data-page=contact] .contact-form label>span{font-size:13px;font-weight:600;color:#303a3b;margin-bottom:9px;display:block}
body[data-page=contact] .contact-form .optional{font-weight:400;color:#70766e}
body[data-page=contact] .contact-form :is(input,select,textarea){width:100%;min-width:0;background:#fffef9;border:1px solid #cfc9bc;border-radius:5px;color:#182024;padding:15px 16px;min-height:52px;font-size:16px;line-height:1.45;box-shadow:inset 0 2px 3px #24242403;transition:border-color .18s,box-shadow .18s}
body[data-page=contact] .contact-form textarea{min-height:135px;resize:vertical}
body[data-page=contact] .contact-form ::placeholder{color:#777d76;opacity:1}
body[data-page=contact] .contact-form :is(input,select,textarea):hover{border-color:#9b968a}
body[data-page=contact] .contact-form :is(input,select,textarea):focus-visible{outline:2px solid #a10d1b;outline-offset:2px;border-color:#a10d1b;box-shadow:0 0 0 5px #a10d1b0b}
body[data-page=contact] .contact-form .form-note{font-size:12px;line-height:1.65;color:#696e66;margin:4px 0 22px}
body[data-page=contact] #contact-form>.button{width:100%;justify-content:space-between;font-size:17px;padding:18px 22px;min-height:58px}
.form-reassurance{font-size:12px;line-height:1.5;text-align:center;color:#696e66;margin-top:17px}
body[data-page=contact] .form-result{background:#fffef9;border:1px solid #d6cfbf;border-left:4px solid #a10d1b;border-radius:5px;padding:24px;margin-top:30px;color:#182024}
body[data-page=contact] .form-result h3{font-size:27px;line-height:1.2;color:#9c0811}
body[data-page=contact] .form-result p{font-size:14px;line-height:1.7}
body[data-page=contact] .form-result pre{white-space:pre-wrap;overflow-wrap:anywhere;font:14px/1.7 'DM Sans',sans-serif;background:#eeeade;color:#263132;padding:18px;border-radius:4px}
@media(max-width:760px){body[data-page=contact] .contact-layout{grid-template-columns:1fr;padding-block:40px;gap:28px}body[data-page=contact] .contact-info{padding:0;order:2}body[data-page=contact] .contact-form{padding:28px 20px;margin:0;border-radius:6px}body[data-page=contact] .contact-form h2{font-size:36px}body[data-page=contact] .form-grid{grid-template-columns:1fr;gap:18px}body[data-page=contact] .form-result{padding:18px}.form-group{margin-bottom:25px}}
@media(prefers-reduced-motion:reduce){body[data-page=contact] .contact-form :is(input,select,textarea){transition:none}}
