/* Residential page: restore missing component styles and contain every illustration. */
.residential156 .top{height:auto;min-height:38px;font-size:12px;line-height:1.5;padding:8px 0}
.residential156 .top>.wrap{display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:flex-start}
.residential156 .top a{white-space:nowrap;color:#fff}.residential156 .top span{margin-left:auto;color:#d3dceb}
.residential156 .r156-skip{position:absolute;left:16px;top:-100px;background:white;color:#16243f;padding:12px;z-index:12000}.residential156 .r156-skip:focus{top:12px}
.residential156 #header .nav{height:auto;position:static;border:0;background:transparent}
.residential156 main [id]{scroll-margin-top:100px}
.residential156 .heroGrid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:0;align-items:stretch}
.residential156 .heroCopy{padding:56px 40px 48px max(26px,calc((100vw - 1180px)/2));min-width:0}
.residential156 .hero h1{font-size:clamp(32px,3.3vw,48px);line-height:1.13;letter-spacing:-.035em;font-weight:700;margin:16px 0 24px;text-wrap:balance}
.residential156 .hero h1 em{color:#f09da5}.residential156 .hero .lead{font-size:16px;line-height:1.75}
.residential156 .heroPhoto{min-height:420px;max-height:720px;order:0}
.residential156 .heroPhoto>img:first-child{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.residential156 .camBadge{width:96px;right:22px;top:22px;padding:12px;background:#fff;border-radius:8px;filter:none;border:1px solid #dce2ea}
.residential156 .heroNote{left:24px;right:auto;bottom:24px;background:#16243fd9;padding:16px 20px;border-radius:6px;font-style:normal;font-size:16px;line-height:1.45}
.residential156 .heroNote:after{display:none}
.residential156 .actions{flex-wrap:wrap;gap:12px;margin:26px 0}
.residential156 .btn{min-height:46px;padding:12px 18px;font-family:var(--font-body);font-weight:700;font-size:13px;line-height:1.5;letter-spacing:0;text-transform:none;white-space:normal;text-align:center}
.residential156 .trust{grid-template-columns:1fr 1fr;gap:18px}.residential156 .trust div{line-height:1.6;font-size:12px}
.residential156 .type{padding:22px 16px;min-width:0}.residential156 .type img{height:130px;object-fit:cover}.residential156 .type b{font-size:15px}.residential156 .type p{font-size:13px;line-height:1.5}
.residential156 .section,.residential156 .steps,.residential156 .legalNote,.residential156 .faq{padding:64px 0}
.residential156 .section h2,.residential156 .steps h2,.residential156 .legalNote h2,.residential156 .faq h2,.residential156 .devis h2{font-size:clamp(27px,2.8vw,38px);line-height:1.2;text-wrap:balance;letter-spacing:-.025em}
.residential156 .section p,.residential156 .legalNote p,.residential156 .faq details p{font-size:15px;line-height:1.8}
.residential156 .checks li{font-size:14px;line-height:1.65}
.residential156 .productStage{display:grid;grid-template-columns:minmax(0,1fr) 130px;gap:22px;min-height:0;padding:26px;background:#f5f7fa;border:1px solid #e1e7ef;border-radius:10px;align-items:center}
.residential156 .productStage>img.products{max-width:100%;width:100%;height:250px;max-height:none;object-fit:contain}
.residential156 .phone{position:relative;inset:auto;width:130px;height:auto;min-height:260px;margin:0;padding:10px;border:7px solid #16243f;box-shadow:none}
.residential156 .features{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:24px}.residential156 .feature{min-width:0;line-height:1.5;font-size:12px}.residential156 .feature strong{font-size:14px}
.residential156 .alarm .grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:36px}.residential156 .budget{grid-column:1/-1;padding:28px}.residential156 .budget .checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 24px}.residential156 .aritechVisual img{display:block;width:100%;height:310px;max-height:none;object-fit:contain}
.residential156 .esfield input,.residential156 .esfield select,.residential156 .esfield textarea{font-size:16px;min-width:0}.residential156 .esrow>*{min-width:0}
/* The shared footer HTML previously had no matching grid or SVG sizing here. */
.residential156 .footer{padding:64px 0 24px;background:#16243f;color:#d0d8e5}
.residential156 .footer-grid{display:grid;grid-template-columns:1.3fr repeat(4,minmax(0,1fr));gap:28px;padding-bottom:36px}
.residential156 .footer-grid>div{min-width:0}.residential156 .footer .logo{display:flex;align-items:center;gap:10px;margin-bottom:20px}
.residential156 .footer .logo-mark{width:40px;height:40px;flex:0 0 40px}
.residential156 .footer .logo-text{display:flex;flex-direction:column;gap:5px}.residential156 .footer .logo-text b{font-size:17px;font-weight:800;color:white}.residential156 .footer .logo-text b span{color:#ee9099}.residential156 .footer .logo-text small{font-size:10px;color:#c6d0df}
.residential156 .footer h3{font-size:14px;line-height:1.5;margin:0 0 16px;color:#fff}.residential156 .footer p,.residential156 .footer li a{font-size:13px;line-height:1.75}
.residential156 .footer ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:9px}
.residential156 .footer .socials{display:flex;gap:10px;margin-top:20px}.residential156 .footer .socials a{width:38px;height:38px;border:1px solid #ffffff40;border-radius:5px;display:flex;align-items:center;justify-content:center}.residential156 .footer .socials svg{width:18px;height:18px;flex:0 0 18px}
.residential156 .footer-bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #ffffff30;padding:24px 0;font-size:12px;line-height:1.6}.residential156 .footer-bottom nav{display:flex;flex-wrap:wrap;gap:16px}
.residential156 .footer a{overflow-wrap:anywhere}.residential156 .footer [aria-label="Partenariats et régions"]{display:flex;flex-wrap:wrap;gap:12px 24px;padding-top:16px}
@media(max-width:1000px){.residential156 .heroCopy{padding:36px 26px}.residential156 .heroGrid{grid-template-columns:1fr}.residential156 .heroPhoto{height:320px;min-height:0;max-height:none}.residential156 .heroPhoto>img:first-child{object-position:50% 55%}.residential156 .heroCopy{order:0}.residential156 .heroPhoto{order:1}.residential156 .hero .lead{max-width:680px}.residential156 .footer-grid{grid-template-columns:1fr 1fr}.residential156 .footer-grid>div:first-child{grid-column:1/-1;max-width:520px}}
@media(max-width:650px){.residential156 .top{font-size:11px}.residential156 .top>.wrap{gap:6px 18px}.residential156 .top span{display:none}.residential156 .hero h1{font-size:34px;line-height:1.15}.residential156 .heroCopy{padding:30px 22px}.residential156 .heroPhoto{height:250px}.residential156 .camBadge{width:78px;padding:9px;right:16px;top:16px}.residential156 .heroNote{left:16px;bottom:16px;font-size:14px;padding:12px}.residential156 .types{grid-template-columns:1fr 1fr}.residential156 .type{padding:16px 12px}.residential156 .type:last-child{grid-column:1/-1;max-width:100%}.residential156 .type:last-child img{max-width:320px;height:140px}.residential156 .section,.residential156 .steps,.residential156 .legalNote,.residential156 .faq{padding:44px 0}.residential156 .section .grid,.residential156 .alarm .grid{grid-template-columns:1fr;gap:28px}.residential156 .productStage{padding:18px;gap:14px;grid-template-columns:minmax(0,1fr) 112px}.residential156 .phone{width:112px;min-height:245px;padding:6px}.residential156 .productStage>img.products{height:200px}.residential156 .features{gap:16px 10px}.residential156 .budget{padding:24px}.residential156 .budget .checks{grid-template-columns:1fr}.residential156 .footer{padding-top:44px}.residential156 .footer-grid{grid-template-columns:1fr 1fr;gap:28px 20px}.residential156 .footer-grid>div:last-child{grid-column:1/-1}.residential156 .footer-bottom{align-items:flex-start;flex-direction:column}.residential156 .devis{padding-bottom:80px}}
@media(max-width:360px){.residential156 .hero h1{font-size:30px}.residential156 .actions .btn{width:100%}.residential156 .footer-grid{grid-template-columns:1fr}.residential156 .trust{grid-template-columns:1fr}}
