:root{--red:#d7192d;--ink:#111215;--muted:#575b63;--line:#dedfe3;--paper:#f4f5f6;--white:#fff;--width:1200px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--white);font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid var(--red);outline-offset:5px}p{margin:0 0 1.5rem}h1,h2,h3{line-height:1.08;letter-spacing:-.045em;margin:0}h1{font-size:clamp(3rem,5.8vw,5.3rem);font-weight:750}h2{font-size:clamp(2.1rem,3.5vw,3.25rem)}h3{font-size:1.55rem;letter-spacing:-.03em}.container{width:min(var(--width),calc(100% - 80px));margin-inline:auto}.red{color:var(--red)}.topbar{background:var(--ink);color:#fff;font-size:.875rem;padding:9px 0}.topbar .container{display:flex;justify-content:space-between;gap:20px}.topbar a:hover{text-decoration:underline}.header{position:sticky;top:0;z-index:10;background:#fff;border-bottom:1px solid var(--line)}.nav{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:19px}.brand{display:flex;align-items:center;gap:15px;flex-shrink:0}.brand-square{background:var(--ink);color:#fff;width:68px;height:68px;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1}.brand-square b{font-size:36px;letter-spacing:-3px}.brand-square b span{color:var(--red)}.brand-square small{font-size:14px;letter-spacing:5px;padding-left:5px;margin-top:3px}.brand-caption{font-size:.75rem;line-height:1.5;letter-spacing:.1em;font-weight:700}nav#navigation{display:flex;align-items:center;gap:30px;font-size:.875rem;font-weight:600}nav#navigation>a:not(.button):hover{color:var(--red)}.button{display:inline-flex;align-items:center;justify-content:center;gap:25px;background:var(--red);color:white;padding:17px 23px;font-size:1rem;font-weight:700;line-height:1.5;border:1px solid var(--red);transition:background .2s}.button:hover{background:#ae1022;border-color:#ae1022}.button.compact{font-size:.875rem;padding:13px 18px;gap:16px}.button span{font-size:1.2em}.hero{display:grid;grid-template-columns:1.25fr 1fr;gap:65px;padding-block:76px 72px;align-items:center}.eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.13em;line-height:1.6;margin-bottom:24px}.hero .eyebrow{display:flex;align-items:center;gap:11px}.red-line{width:28px;height:3px;background:var(--red)}.hero-intro{font-size:1.15rem;color:var(--muted);max-width:480px;margin-top:26px;line-height:1.7}.actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap;margin-top:32px}.quiet-link{font-size:.9375rem;font-weight:700;display:inline-block;padding-block:8px;text-decoration:underline;text-underline-offset:6px;text-decoration-color:#b6b7bb}.quiet-link:hover{text-decoration-color:var(--red);color:var(--red)}.audience{font-size:.75rem;font-weight:600;letter-spacing:.04em;margin:38px 0 0;color:var(--muted)}.audience span{margin-inline:8px;color:#999}.experience-panel{background:var(--ink);color:#fff;padding:28px 32px 0;position:relative;border-top:5px solid var(--red);min-height:418px;display:flex;flex-direction:column;justify-content:space-between}.panel-top{display:flex;justify-content:space-between;gap:16px;font-size:.75rem;letter-spacing:.1em}.panel-top span:last-child{color:#bfc1c7}.experience-number{font-size:clamp(7rem,12.5vw,11rem);letter-spacing:-.085em;font-weight:700;line-height:1.05;padding-top:14px}.experience-number span{font-size:.48em;color:#ef3348;vertical-align:top;display:inline-block;margin-top:14px;margin-left:10px}.experience-label{font-size:1.7rem;line-height:1.22;letter-spacing:-.025em;margin:10px 0 28px}.panel-bottom{border-top:1px solid #414248;display:flex;justify-content:space-between;gap:12px;padding:20px 0;font-size:.75rem;color:#d8d9de}.panel-bottom>span:last-child{color:#ef3348;font-size:1.4rem;line-height:1}.service-strip{background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.service-strip .container{display:flex;justify-content:space-between;gap:20px;padding-block:20px;flex-wrap:wrap;font-size:.875rem;font-weight:600}.section{padding-block:92px}.section-heading{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:42px}.section-heading>p{color:var(--muted);max-width:370px;margin-bottom:4px}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service-card,.service-note{padding:28px;min-height:292px;border:1px solid var(--line);display:flex;flex-direction:column;transition:border-color .2s,background .2s}.service-card:hover{border-color:var(--red);background:#fcfcfc}.service-top{display:flex;align-items:center;gap:13px;margin-bottom:34px}.number{color:var(--red);font-size:.875rem;font-weight:700}.service-tag{font-size:.75rem;letter-spacing:.06em;color:var(--muted)}.card-arrow{margin-left:auto;font-size:1.4rem}.service-card h3{margin-bottom:15px}.service-card p,.service-note p:not(.eyebrow){font-size:1rem;color:var(--muted);margin-bottom:25px}.text-link{font-size:.875rem;font-weight:700;display:inline-block;margin-top:auto;text-decoration:underline;text-decoration-color:#babcc1;text-underline-offset:5px}.service-card:hover .text-link{color:var(--red)}.service-note{background:var(--paper);border-color:var(--paper);justify-content:center}.service-note h3{margin-bottom:15px}.service-note .eyebrow{margin-bottom:18px}.service-note .text-link{margin-top:0}.experience-section{background:var(--paper);padding-block:85px;border-block:1px solid var(--line)}.experience-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px}.experience-grid>div>p:not(.eyebrow){color:var(--muted)}.experience-grid .large-copy{font-size:1.5rem!important;color:var(--ink)!important;line-height:1.4;letter-spacing:-.02em}.principles>div{display:flex;gap:22px;border-top:1px solid var(--line);padding:19px 0}.principles>div>span{color:var(--red);font-weight:bold;font-size:.875rem}.principles p{margin:0;color:var(--muted);font-size:.9375rem}.principles strong{display:block;color:var(--ink);font-size:1rem;margin-bottom:3px}.sector-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:80px;align-items:center}.sector-grid h2{margin-bottom:24px}.sector-grid>div>p:not(.eyebrow){max-width:500px;color:var(--muted)}.locations{border-left:3px solid var(--red);padding-left:32px}.locations>div+div{margin-top:30px}.locations .eyebrow{color:var(--muted)}.locations p{font-size:1.15rem;margin:10px 0 0}.contact{background:var(--ink);color:#fff;padding-block:76px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px}.contact h2{font-size:clamp(2.5rem,4.4vw,4rem);margin-bottom:25px}.contact p:not(.eyebrow){color:#c4c7ce}.contact .eyebrow{color:#c4c7ce}.contact .button{margin-top:8px}.contact-details>div{display:flex;flex-direction:column;gap:3px;margin-bottom:19px}.contact-details>div>span{color:#bfc1c7;font-size:.875rem}.contact-details a{width:fit-content}.contact-details a:hover{text-decoration:underline;text-underline-offset:5px}.phone{font-size:2rem;line-height:1.3;letter-spacing:-.03em;font-weight:700}address{font-style:normal;color:#bfc1c7;font-size:.9375rem;border-top:1px solid #414248;padding-top:22px;margin-top:25px}address strong{color:#fff;font-weight:500}footer{border-top:1px solid var(--line);padding-block:30px}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:25px}.footer-inner .brand-square{width:48px;height:48px}.footer-inner .brand-square b{font-size:25px}.footer-inner .brand-square small{font-size:10px;letter-spacing:3px;padding-left:3px}.footer-inner .brand-caption{font-size:.75rem}.footer-inner p{font-size:.875rem;color:var(--muted);margin:0}.footer-inner>div{display:flex;gap:20px;font-size:.875rem;color:var(--muted)}footer a:hover{text-decoration:underline}.skip{position:fixed;left:16px;top:-100px;background:#fff;color:#111;padding:10px 20px;z-index:100}.skip:focus{top:10px}.menu-toggle{display:none}.breadcrumbs{display:flex;flex-wrap:wrap;gap:14px;padding-block:30px;font-size:.875rem;color:var(--muted)}.breadcrumbs a{text-decoration:underline}.detail-hero{padding-block:40px 70px;max-width:950px}.detail-hero h1{font-size:clamp(2.7rem,5.4vw,4.8rem)}.detail-subtitle{font-size:1.65rem;line-height:1.3;margin:25px 0 0;letter-spacing:-.025em}.detail-hero .hero-intro{max-width:700px}.detail-content{display:grid;grid-template-columns:1fr 1.3fr;gap:70px;border-top:1px solid var(--line);padding-block:65px}.service-list{padding:0;list-style:none;margin:0 0 25px}.service-list li{padding:13px 0 13px 23px;position:relative;border-bottom:1px solid var(--line)}.service-list li:before{content:'—';position:absolute;left:0;color:var(--red)}.detail-content p{color:var(--muted)}.detail-area{padding:35px;background:var(--paper)}.detail-area h2{font-size:1.7rem;margin-bottom:18px}.detail-area p{max-width:800px;margin:0;color:var(--muted)}.back-services{padding-block:35px 65px}@media(min-width:901px){#navigation{display:flex!important}}@media(max-width:1100px){nav#navigation{gap:18px}.brand-caption{display:none}.hero{gap:35px}.actions{gap:15px}.experience-panel{padding-inline:25px}.service-card,.service-note{padding:23px}.service-tag{font-size:.75rem}.contact-grid,.experience-grid{gap:50px}}@media(max-width:900px){.container{width:calc(100% - 40px)}.nav{flex-wrap:wrap;padding-block:13px}.brand-caption{display:block}.js .menu-toggle{display:flex;align-items:center;gap:15px;padding:10px 14px;background:#fff;border:1px solid var(--line);cursor:pointer}.js nav#navigation{display:none}.js nav#navigation.is-open{display:flex}nav#navigation{width:100%;align-items:stretch;gap:0;flex-direction:column}nav#navigation>a{padding:14px 10px}nav#navigation>.button{margin-top:8px}.hero{padding-block:48px;gap:30px;grid-template-columns:1fr 0.85fr}h1{font-size:3.2rem}.experience-panel{min-height:380px;padding-inline:22px}.panel-top{flex-direction:column;gap:3px}.experience-number{font-size:8rem}.experience-label{font-size:1.4rem}.panel-bottom{font-size:.75rem}.services-grid{grid-template-columns:repeat(2,1fr)}.section{padding-block:65px}.section-heading{align-items:start;flex-direction:column;gap:25px}.section-heading>p{max-width:100%}.experience-grid,.sector-grid,.contact-grid{gap:35px}.experience-section{padding-block:60px}.footer-inner{flex-wrap:wrap}.footer-inner>div{flex-wrap:wrap}.phone{font-size:1.7rem}}@media(max-width:650px){.topbar .container{justify-content:center}.topbar .container>span{font-size:.75rem}.topbar a{display:none}.brand-square{width:55px;height:55px}.brand-square b{font-size:29px}.brand-square small{font-size:12px;letter-spacing:4px}.hero{grid-template-columns:1fr;gap:35px;padding-block:35px 40px}h1{font-size:clamp(2.7rem,10.5vw,4rem)}.eyebrow{margin-bottom:19px}.hero-intro{font-size:1.0625rem;margin-top:22px}.audience{font-size:.75rem;margin-top:25px;line-height:1.9}.audience span{margin-inline:3px}.experience-panel{min-height:310px;padding:22px 25px 0}.panel-top{flex-direction:row}.experience-number{font-size:7.5rem}.experience-label{font-size:1.4rem;margin-bottom:24px}.panel-bottom{padding-block:16px}.service-strip .container{justify-content:center;column-gap:22px;row-gap:9px;font-size:.75rem}.services-grid{grid-template-columns:1fr}.service-card,.service-note{min-height:265px;padding:25px}.service-top{margin-bottom:25px}.section,.experience-section{padding-block:48px}.section-heading{margin-bottom:28px}.experience-grid,.sector-grid,.contact-grid,.detail-content{grid-template-columns:1fr;gap:32px}.contact{padding-block:48px}.locations{padding-left:22px}.footer-inner{align-items:flex-start;gap:22px}.footer-inner>div{flex-direction:column;gap:10px;width:100%}.footer-inner .brand-caption{display:none}.detail-hero{padding-block:20px 45px}.detail-content{padding-block:40px}.detail-area{padding:25px}.phone{font-size:2rem}.button{max-width:100%}.contact-details a{overflow-wrap:anywhere}.back-services{padding-bottom:45px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}@media print{.topbar,.menu-toggle,nav#navigation,.actions,.button,footer{display:none!important}.header{position:static}.container{width:100%}.hero,.section,.contact,.experience-section{padding-block:25px}.experience-panel,.contact{color:#111;background:#fff;border:1px solid #ccc}.contact p:not(.eyebrow),.contact .eyebrow,address,address strong{color:#333}.services-grid{grid-template-columns:repeat(2,1fr)}a{text-decoration:underline}}
/* Photographies issues des sites CD TECH */
.hero-visual{margin:0;position:relative;align-self:stretch;min-height:440px;background:var(--ink);display:flex;flex-direction:column;border-top:5px solid var(--red)}
.hero-photo{display:block;width:100%;height:330px;object-fit:cover;object-position:68% center;flex:1;min-height:0}
.photo-experience{display:flex;align-items:center;gap:24px;padding:20px 26px;background:var(--ink);color:white}
.photo-experience strong{font-size:4.5rem;letter-spacing:-.075em;line-height:1}
.photo-experience strong span{color:#ef3348;font-size:.65em;vertical-align:top}
.photo-experience p{font-size:1.05rem;line-height:1.4;margin:0}
.service-card.has-photo,.service-note.has-photo{padding:0 28px 28px;overflow:hidden}
.service-photo{display:block;width:calc(100% + 56px);max-width:none;height:190px;object-fit:cover;margin:0 -28px 25px;background:#f4f5f6}
.service-photo.product-photo{object-fit:contain;background:#fff}
.service-note.has-photo{justify-content:flex-start}
.service-note.has-photo .text-link{margin-top:auto}
.service-card:not(.has-photo){background:var(--paper);justify-content:center}
.detail-photo-wrap{margin:0 0 48px;background:var(--paper)}
.detail-photo{display:block;width:100%;height:auto;max-height:500px;object-fit:cover}
.detail-photo.product-photo{object-fit:contain}
@media(max-width:1100px){.service-card.has-photo,.service-note.has-photo{padding:0 23px 23px}.service-photo{width:calc(100% + 46px);margin-inline:-23px}.photo-experience{gap:16px;padding:20px}.photo-experience strong{font-size:3.6rem}.photo-experience p{font-size:.9375rem}}
@media(max-width:650px){.hero-visual{min-height:0}.hero-photo{height:260px;flex:none}.photo-experience{padding:20px 25px;gap:25px}.photo-experience strong{font-size:4rem}.service-card.has-photo,.service-note.has-photo{padding:0 25px 25px}.service-photo{width:calc(100% + 50px);margin-inline:-25px;height:210px}.detail-photo-wrap{margin-bottom:30px}.detail-photo{max-height:320px}}
/* Logo original fourni par CD TECH */
.brand-logo{display:block;width:68px;height:68px;object-fit:contain;flex-shrink:0}
.brand-name{font-size:1.3rem;font-weight:750;letter-spacing:.03em;white-space:nowrap}
.footer-inner .brand-logo{width:48px;height:48px}
.footer-inner .brand-name{font-size:1rem}
@media(max-width:650px){.brand-logo{width:55px;height:55px}.brand-name{font-size:1.15rem}}
/* Identité et slogan de la signature Outlook */
.brand-wordmark{display:flex;flex-direction:column;gap:4px}
.brand-wordmark .brand-name{font-size:1.65rem;line-height:1.05;font-weight:800;letter-spacing:-.025em}
.brand-descriptor{font-size:.75rem;letter-spacing:.08em;line-height:1.4;color:var(--muted)}
.hero h1{font-size:clamp(2.6rem,4.5vw,4.1rem);line-height:1.12}
.signature-emphasis{display:block;font-family:'Segoe Print','Bradley Hand',cursive;font-weight:500;font-size:.73em;line-height:1.5;letter-spacing:-.025em;margin-top:15px;text-decoration:underline;text-decoration-color:var(--red);text-decoration-thickness:2px;text-underline-offset:8px}
.footer-slogan{font-family:'Segoe Print','Bradley Hand',cursive;font-size:1.35rem;line-height:1.5;margin-bottom:28px;padding-bottom:22px;border-bottom:1px solid var(--line)}
.footer-inner .brand-wordmark .brand-name{font-size:1.35rem}
@media(max-width:1100px) and (min-width:901px){nav#navigation{gap:14px}nav#navigation>.button{gap:8px;padding-inline:12px}.brand-descriptor{letter-spacing:0}}
@media(max-width:650px){.hero h1{font-size:2.8rem}.brand-wordmark .brand-name{font-size:1.45rem}.brand-descriptor{font-size:.75rem;letter-spacing:0}.brand{gap:10px}.footer-slogan{font-size:1.15rem}}
a[href="controle-acces.html"] .service-photo{object-position:65% center}
/* Pages légales */
.legal-heading{padding:25px 0 50px;border-bottom:1px solid var(--line)}
.legal-heading h1{font-size:clamp(2.5rem,4.5vw,4rem)}
.legal-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:65px;padding:45px 0 80px;align-items:start}
.legal-toc{position:sticky;top:130px;max-height:calc(100vh - 160px);overflow-y:auto;border-left:3px solid var(--red);padding:0 18px}
.legal-toc a{display:block;font-size:.875rem;line-height:1.45;padding:8px 0;color:var(--muted)}
.legal-toc a:hover{color:var(--red);text-decoration:underline}
.legal-copy{max-width:800px;overflow-wrap:anywhere}
.legal-copy h2{font-size:1.5rem;line-height:1.3;margin:40px 0 20px;letter-spacing:-.02em;padding-top:20px;border-top:1px solid var(--line);scroll-margin-top:130px}
.legal-copy h2:first-child{margin-top:0;padding-top:0;border:0}
.legal-copy p{font-size:1rem;line-height:1.8;margin-bottom:16px;color:#373a40}
.legal-contact{margin-top:40px;padding:25px;background:var(--paper);border-left:3px solid var(--red)}
.legal-contact p{margin:8px 0 0}.legal-contact a{text-decoration:underline;text-underline-offset:4px}
@media(max-width:900px){.legal-layout{grid-template-columns:1fr;gap:35px}.legal-toc{position:static;max-height:none}.legal-toc nav{columns:2}.legal-toc a{break-inside:avoid}.legal-toc .eyebrow{column-span:all}.legal-heading{padding-bottom:30px}}
@media(max-width:650px){.legal-toc nav{columns:1}.legal-copy h2{font-size:1.35rem}.legal-layout{padding-bottom:45px}}
@media print{.legal-toc{display:none}.legal-layout{display:block}.legal-copy{max-width:none}.legal-copy h2{break-after:avoid}}
/* Bandeau des services inspiré de la signature Outlook */
.signature-services{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.signature-services .container{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;padding-block:25px}
.signature-service{display:flex;align-items:center;gap:12px;padding:12px 18px;border-right:1px solid var(--line);min-width:0;transition:background .2s}
.signature-service:first-child{padding-left:0}.signature-service:last-child{border-right:0;padding-right:0}
.signature-service:hover{background:var(--paper)}
.signature-service-icon{font-family:'Segoe UI Emoji','Apple Color Emoji',sans-serif;font-size:2.15rem;line-height:1.2;flex-shrink:0}
.signature-service-copy{display:flex;flex-direction:column;gap:7px;min-width:0}
.signature-service-copy strong{font-size:.875rem;font-weight:800;line-height:1.3;letter-spacing:0;overflow-wrap:normal}
.signature-service-copy small{font-size:.875rem;line-height:1.4;font-weight:400;color:var(--muted)}
.signature-service:hover strong{color:var(--red)}
@media(max-width:1100px){.signature-services .container{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.signature-service,.signature-service:first-child,.signature-service:last-child{padding:16px;border:0;border-left:2px solid var(--red)}}
@media(max-width:650px){.signature-services .container{grid-template-columns:1fr;gap:0;padding-block:12px}.signature-service,.signature-service:first-child,.signature-service:last-child{padding:18px 8px;border:0;border-bottom:1px solid var(--line);gap:20px}.signature-service:last-child{border-bottom:0}.signature-service-icon{font-size:2.5rem;width:52px;text-align:center}.signature-service-copy strong{font-size:1rem}.signature-service-copy small{font-size:.9375rem}.signature-service-copy{gap:4px}}
/* Expérience de terrain */
.hero-photo{object-position:center 72%}
/* Vue d’ensemble des cinq activités CD TECH */
.activities-overview{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:190px 160px;gap:4px;background:var(--ink);flex:1}
.activity-tile{position:relative;grid-column:span 2;overflow:hidden;min-width:0}
.activity-tile:nth-child(-n+2){grid-column:span 3}
.activity-photo{display:block;width:100%;height:100%;object-fit:cover}
.activity-tile span{position:absolute;inset:auto 0 0;padding:28px 12px 10px;background:linear-gradient(transparent,rgba(0,0,0,.9));color:white;font-size:.875rem;line-height:1.3;font-weight:700}
.activity-videosurveillance .activity-photo{object-position:48% center}
.activity-controle-acces .activity-photo{object-position:66% center}
.activity-installation-starlink .activity-photo{object-position:70% center}
.activity-reseaux-wifi .activity-photo{object-position:65% center}
@media(max-width:900px) and (min-width:651px){.activities-overview{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(3,140px)}.activity-tile,.activity-tile:nth-child(-n+2){grid-column:span 1}.activity-tile:last-child{grid-column:span 2}}
@media(max-width:650px){.activities-overview{grid-template-rows:160px 145px}.activity-tile span{font-size:.75rem;padding-inline:8px}}
/* Liste des villes d’intervention */
.locations h3{margin:0 0 25px;font-size:1.5rem}
.locations h4{margin:0 0 12px}
.city-list{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px;padding:0;margin:0}
.city-list li{font-size:1rem;line-height:1.5;padding:8px 0;border-bottom:1px solid var(--line)}
@media(max-width:360px){.city-list{grid-template-columns:1fr}}
/* Communes reprises de CD TECH Air */
.sector-grid:has(.full-city-list){grid-template-columns:1fr;gap:32px}
.full-city-list{border:1px solid var(--line);border-top:3px solid var(--red);padding:28px;background:#fff}
.cities-intro{color:var(--muted);font-size:.9375rem}
.intervention-sector{border-top:1px solid var(--line)}
.intervention-sector summary{display:flex;align-items:center;gap:20px;padding:20px 4px;cursor:pointer;font-weight:700;list-style:none}
.intervention-sector summary::-webkit-details-marker{display:none}
.intervention-sector summary small{margin-left:auto;white-space:nowrap;font-size:.875rem;color:var(--muted);font-weight:400}
.intervention-sector summary:after{content:'+';color:var(--red);font-size:1.5rem;font-weight:700}
.intervention-sector[open] summary:after{content:'−'}
.intervention-sector summary:focus-visible{outline:3px solid var(--red);outline-offset:2px}
.sector-cities{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:0 0 24px;margin:0}
.sector-cities a{display:flex;flex-direction:column;padding:12px 15px;background:var(--paper);height:100%;border:1px solid transparent}
.sector-cities a:hover{border-color:var(--red)}
.sector-cities strong{font-size:.9375rem;font-weight:600}.sector-cities small{font-size:.875rem;color:var(--muted)}
@media(max-width:900px){.sector-cities{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:650px){.full-city-list{padding:20px 15px}.sector-cities{grid-template-columns:repeat(2,minmax(0,1fr))}.intervention-sector summary{gap:10px}.intervention-sector summary small{font-size:.75rem}.intervention-sector summary>span{font-size:.9375rem}}
/* Pages locales CD TECH */
.city-hero{padding:30px 0 60px;max-width:950px}.city-hero h1{font-size:clamp(2.5rem,5vw,4.5rem)}.city-hero .hero-intro{max-width:750px}.city-contact-note{margin:18px 0 0;font-size:.9375rem;color:var(--muted)}.city-contact-note a{text-decoration:underline}
.city-services{border-top:1px solid var(--line);padding:50px 0}.city-services>p:not(.eyebrow){max-width:850px;margin-top:22px;color:var(--muted)}.city-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:30px}.city-service-grid article{padding:25px;border:1px solid var(--line);display:flex;flex-direction:column}.city-service-grid h3{font-size:1.45rem;margin:18px 0}.city-service-grid h3 a:hover{color:var(--red)}.city-service-grid p{color:var(--muted)}.city-help{font-size:.9375rem;border-top:1px solid var(--line);padding-top:18px}.city-help strong{display:block;color:var(--ink);margin-bottom:8px}.city-service-grid .quiet-link{margin-top:auto}.city-alarm{background:var(--paper)}
.city-request{display:grid;grid-template-columns:1.5fr 1fr;gap:50px;padding:45px;background:var(--paper);margin:15px 0 60px}.city-request h2{margin-bottom:25px}.city-request aside{border-left:3px solid var(--red);padding-left:28px}.city-request aside>strong{font-size:1.4rem;line-height:1.4;display:block;margin-bottom:25px}.city-request aside a{text-decoration:underline;overflow-wrap:anywhere}.city-request aside p{margin-top:20px}.city-neighbours{padding-bottom:60px}.city-neighbours h2{font-size:1.8rem;line-height:1.3}.city-neighbours ul{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;padding:0;gap:12px;margin:28px 0}.city-neighbours li a{display:block;background:var(--paper);padding:12px;font-size:.9375rem}.city-neighbours li a:hover{color:var(--red)}.city-neighbours li span{display:block;color:var(--muted);font-size:.875rem}
@media(max-width:900px){.city-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.city-request{padding:30px;gap:30px}.city-neighbours ul{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:650px){.city-service-grid,.city-request{grid-template-columns:1fr}.city-request{padding:25px 20px}.city-hero{padding-bottom:35px}.city-neighbours ul{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Coordonnées France et Belgique */
.topbar .container{flex-wrap:wrap;align-items:center;gap:8px 20px}.topbar-phones{display:flex;flex-wrap:wrap;gap:8px 24px;align-items:center}.topbar .topbar-phones a{display:inline-block;white-space:nowrap}@media(max-width:650px){.topbar-phones{justify-content:center;gap:6px 18px;font-size:.75rem}}

/* Six activités, avec alarme intrusion */
.activities-overview{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(3,150px)}.activity-tile,.activity-tile:nth-child(-n+2),.activity-tile:last-child{grid-column:span 1}.activity-tile span{overflow-wrap:anywhere}.activity-alarme .activity-photo{object-fit:contain;background:#fff}.signature-services .container{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.signature-service,.signature-service:first-child,.signature-service:last-child{padding:16px;border:0;border-left:2px solid var(--red)}@media(max-width:650px){.signature-services .container{grid-template-columns:1fr;gap:0}.activities-overview{grid-template-rows:repeat(3,150px)}}

/* Compact sectors and contact confirmation */
.sector-scroll{max-height:360px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding-right:10px}.sector-scroll:focus-visible{outline:2px solid var(--red);outline-offset:4px}.sector-scroll .intervention-sector summary{padding-block:14px}.confirmation-card{max-width:760px;margin:0 auto;border:1px solid var(--line);padding:40px;border-radius:16px;box-shadow:0 12px 40px #1112150a}.confirmation-card h1{font-size:clamp(2rem,5vw,3.3rem);margin-bottom:24px}.confirmation-card p{line-height:1.7}.confirmation-check{width:64px;height:64px;border-radius:50%;background:#ecf8f0;color:#207044;display:grid;place-items:center;font-size:36px;margin-bottom:24px}.confirmation-contact{margin-top:28px;font-size:.875rem}@media(max-width:650px){.sector-scroll{max-height:300px}.confirmation-card{padding:24px}}@media print{.sector-scroll{max-height:none;overflow:visible}}
