/* Finition de la page d’accueil. */
.home-page{--home-soft:#aebfc9;--home-border:#29363e;background:#050709}
.home-page .home-services{padding:54px 0 40px;background:radial-gradient(ellipse at 75% 0,rgba(19,239,245,.06),transparent 55%),#050709}
.home-page .home-welcome{padding:8px 0 42px;gap:0}
.home-page .home-welcome .kicker{font-size:11px;line-height:1.6;letter-spacing:2px;color:var(--cyan);margin:0 0 20px}
.home-page .home-welcome h1{font-size:clamp(40px,5.2vw,68px);line-height:1.06;letter-spacing:-2.7px;max-width:1000px;margin:0 0 24px}
.home-page .home-welcome h1 span{color:var(--cyan)}
.home-page .home-welcome-copy>p:not(.kicker){max-width:690px;font-size:17px;line-height:1.85;color:var(--home-soft);margin:0 0 28px}
.home-page .welcome-cta{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;min-height:52px;padding:16px 23px;background:var(--cyan);color:#031315;border:1px solid var(--cyan);border-radius:8px;font-size:14px;font-weight:700}
.home-page .welcome-cta:hover{background:#8bfbff;transform:translateY(-2px)}
.home-page .service-grid{gap:16px}
.home-page .service-photo-card{border:1px solid var(--home-border);border-radius:12px;overflow:hidden;background:#0b1015;min-width:0;transition:border-color .2s,transform .2s}
.home-page .service-photo-card:hover{border-color:#45828c;transform:translateY(-3px)}
.home-page .home-services .service-card-body{padding:22px 20px 24px}
.home-page .home-services .service-card-body h3{font-size:21px;line-height:1.25;margin:0 0 12px;letter-spacing:-.5px}
.home-page .home-services .service-card-body p{font-size:13px;line-height:1.8;color:var(--home-soft)}
.home-page .home-service-promises{padding-top:26px;margin-top:28px;border-top:1px solid var(--home-border);gap:14px 32px;font-size:12px;line-height:1.6}
.home-page #contact.contact{padding:64px 0;background:#0a1014;border-color:var(--home-border)}
.home-page #contact .contact-head{gap:28px;margin-bottom:28px}
.home-page #contact .contact-head>div:first-child>p:not(.kicker){font-size:16px;line-height:1.8;max-width:650px;color:var(--home-soft)}
.home-page #contact .contact-head h2{font-size:clamp(32px,3.8vw,46px);line-height:1.15;margin-bottom:16px}
.home-page .contact-details-row{grid-template-columns:minmax(0,1.4fr) minmax(220px,1fr);gap:36px;padding:28px;border:1px solid var(--home-border);border-radius:14px;background:#0d151b}
.home-page .contact-details-row .business-hours{padding:0 0 0 30px;border:0;border-left:1px solid var(--home-border);border-radius:0;background:transparent;align-self:stretch}
.home-page .contact-details-row .business-hours .kicker{font-size:11px;letter-spacing:1.4px;color:var(--home-soft);margin:0 0 14px}
.home-page .contact-details-row .business-hours .opening-hours{font-size:17px;line-height:1.8;color:#f4f8fb;max-width:240px}
.home-page .contact-direct>span{font-size:11px;letter-spacing:1.4px;color:var(--home-soft)}
.home-page .contact-direct .phone-contact{font-size:clamp(24px,3vw,32px);line-height:1.3;letter-spacing:-.6px}
.home-page .socials{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.home-page .socials a{padding:9px 12px;min-height:44px;border:1px solid #34424d;border-radius:8px;background:#f5f7fa;color:#111c25;font-size:12px;font-weight:600;gap:8px}
.home-page .socials a:hover{background:white;border-color:var(--cyan)}
.home-page .socials a svg{width:21px;height:21px;flex:0 0 21px}
.home-page .socials a>span:last-child{font-size:11px;opacity:.55}
.home-page .contact-form-entry{margin:0 0 18px}
.home-page .contact-form-entry .home-contact-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px 28px;padding:28px 30px;border:1px solid #13eff5;background:linear-gradient(115deg,#123238,#0b1c22);box-shadow:0 8px 28px #0002}
.home-page .home-contact-card strong{font-size:27px;letter-spacing:-.7px;line-height:1.25}
.home-page .home-contact-card>span:not(.home-contact-label){grid-column:1;color:#c1d3da;font-size:14px;line-height:1.7}
.home-page .home-contact-card .home-contact-label{grid-column:2;grid-row:1/3;margin:0;padding:12px 16px;background:var(--cyan);color:#042226;border-radius:7px;font-size:13px;font-weight:700;white-space:nowrap}
.home-page .contact-zone.intervention-clickable{padding:0;margin:0;border:1px solid var(--home-border);border-radius:14px;background:#0d151b}
.home-page .intervention-open{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px 28px;padding:26px 30px}
.home-page .intervention-open .kicker{grid-column:1;font-size:10px;line-height:1.6;letter-spacing:1.6px;color:var(--home-soft)}
.home-page .intervention-card-title{grid-column:1;font-size:25px;line-height:1.3;letter-spacing:-.6px}
.home-page .intervention-card-title>span{color:#a9bdc8;font-size:19px;font-weight:400;letter-spacing:0}
.home-page .intervention-card-link{grid-column:2;grid-row:1/3;font-size:13px;color:var(--cyan);max-width:200px;line-height:1.7}
.home-page .contact-modal{border-color:#40545f;box-shadow:0 30px 100px #0009}
.home-page .contact-modal .contact-modal-head{position:sticky;top:0;z-index:2;padding-bottom:18px;background:#090b13;border-bottom:1px solid var(--home-border)}
.home-page .contact-modal .contact-form{background:transparent}
.home-page .contact-modal .form-grid{gap:22px}
.home-page .contact-modal .contact-consent{font-size:12px}
.home-page .contact-modal .form-bottom>p{font-size:12px;line-height:1.7}
.home-page .section.about{padding:70px 0}
.home-page .about-copy p{max-width:680px}
.home-page .section.qualifications{padding-top:65px;padding-bottom:65px}
.home-page .certification-intro{margin:24px 0 30px;gap:28px}
.home-page .certification-intro p{line-height:1.8}
@media(min-width:761px) and (max-width:1199px){.home-page .home-services .service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-page .home-services .service-card:last-child{grid-column:1/-1;max-width:calc(50% - 8px)}}
@media(max-width:760px){
 .home-page .home-services{padding:30px 0}.home-page .home-welcome{padding:0 0 30px}
 .home-page .home-welcome h1{font-size:clamp(36px,8.5vw,56px);letter-spacing:-1.6px;margin-bottom:20px}
 .home-page .home-welcome .kicker{font-size:10px;letter-spacing:1.5px;margin-bottom:16px}
 .home-page .home-welcome-copy>p:not(.kicker){font-size:15px;line-height:1.8;margin-bottom:22px}
 .home-page .welcome-cta{width:100%;max-width:390px;font-size:13px}
 .home-page .home-services .service-grid{grid-template-columns:1fr;gap:18px}
 .home-page .home-services .service-visual{aspect-ratio:1.9}
 .home-page .home-services .service-card-body{padding:22px}
 .home-page .home-service-promises{justify-content:flex-start;font-size:11px;gap:10px 20px;margin-top:22px;padding-top:20px}
 .home-page #contact.contact{padding:44px 0}
 .home-page .contact-details-row{grid-template-columns:1fr;padding:22px;gap:24px}
 .home-page .contact-details-row .business-hours{padding:22px 0 0;border:0;border-top:1px solid var(--home-border)}
 .home-page .contact-details-row .business-hours .opening-hours{max-width:none;font-size:15px}
 .home-page .contact-details-row .business-hours .kicker{margin-bottom:8px}
 .home-page .socials{gap:8px}.home-page .socials a{font-size:12px}
 .home-page .contact-form-entry .home-contact-card{grid-template-columns:1fr;padding:23px;gap:12px}
 .home-page .home-contact-card strong{font-size:25px}
 .home-page .home-contact-card .home-contact-label{grid-column:1;grid-row:auto;justify-self:start;margin-top:4px}
 .home-page .intervention-open{grid-template-columns:1fr;padding:23px;gap:12px}
 .home-page .intervention-card-title{font-size:24px}.home-page .intervention-card-title>span{font-size:17px}
 .home-page .intervention-card-link{grid-column:1;grid-row:auto;max-width:none;font-size:12px}
 .home-page .contact-modal-head h2{font-size:27px;line-height:1.2}.home-page .contact-modal .contact-modal-head{padding-bottom:15px}
 .home-page .contact-modal .form-grid{gap:18px}.home-page .contact-modal .form-bottom{align-items:stretch}.home-page .contact-modal .form-bottom .btn{width:100%}
 .home-page .section.about,.home-page .section.qualifications{padding-block:48px}
}
@media(prefers-reduced-motion:reduce){.home-page .home-contact-card:hover,.home-page .service-photo-card:hover,.home-page .welcome-cta:hover{transform:none}}
/* Même bouton d’accès pour le formulaire et la zone d’intervention. */
.home-page .intervention-card-link{display:inline-flex;align-items:center;justify-content:space-between;gap:18px;max-width:none;margin:0;padding:12px 16px;background:var(--cyan);color:#042226;border:1px solid var(--cyan);border-radius:7px;font-size:13px;font-weight:700;line-height:1.6;white-space:nowrap}
.home-page .intervention-open:hover .intervention-card-link{background:#8bfbff;border-color:#8bfbff}
@media(max-width:760px){.home-page .intervention-card-link{justify-self:start;white-space:normal;max-width:100%;margin-top:4px}}
/* Une seule rangée pour les réseaux et les avis Google. */
.home-page .contact-details-row{grid-template-columns:minmax(0,1fr) 245px;gap:28px}
.home-page .socials{flex-wrap:nowrap;max-width:100%;overflow-x:auto;gap:8px;padding:4px 2px 10px;scrollbar-width:thin;scrollbar-color:#526975 transparent}
.home-page .socials a{flex:0 0 auto;white-space:nowrap}
@media(max-width:1000px){.home-page .contact-details-row{grid-template-columns:1fr}.home-page .contact-details-row .business-hours{padding:22px 0 0;border:0;border-top:1px solid var(--home-border)}}
/* Garder la phrase des horaires sur une seule ligne. */
.home-page .contact-details-row{grid-template-columns:minmax(0,1fr) max-content}
.home-page .contact-details-row .business-hours .opening-hours{max-width:none;white-space:nowrap}
@media(max-width:1000px){.home-page .contact-details-row{grid-template-columns:minmax(0,1fr)}}
@media(max-width:760px){.home-page .contact-details-row .business-hours .opening-hours{font-size:clamp(11px,3.25vw,15px);letter-spacing:-.15px}}
/* Horaires sur une ligne et précision SMS juste en dessous. */
.home-page .contact-details-row .business-hours{max-width:360px}
.home-page .contact-details-row .business-hours .opening-hours{max-width:none;white-space:nowrap;font-size:17px;line-height:1.8;margin:0 0 12px}
.home-page .contact-details-row .business-hours .after-hours-note{max-width:330px;white-space:normal;font-size:13px;font-weight:400;line-height:1.75;color:var(--home-soft);margin:0}
@media(max-width:1000px){.home-page .contact-details-row .business-hours{max-width:none}}
@media(max-width:760px){.home-page .contact-details-row .business-hours .opening-hours{font-size:clamp(11px,3.25vw,15px);letter-spacing:-.15px}.home-page .contact-details-row .business-hours .after-hours-note{font-size:13px;letter-spacing:normal}}
/* Éviter tout débordement du bloc horaires et SMS. */
.home-page .contact-details-row{grid-template-columns:minmax(0,1fr) minmax(300px,360px);gap:28px}
.home-page .contact-details-row .business-hours{min-width:0;width:100%;max-width:100%;box-sizing:border-box;padding-left:24px}
.home-page .contact-details-row .business-hours .opening-hours{max-width:100%;font-size:15px;white-space:nowrap;letter-spacing:-.25px}
.home-page .contact-details-row .business-hours .after-hours-note{display:block;width:auto;max-width:100%;white-space:normal;overflow-wrap:anywhere;word-break:normal;font-size:13px;line-height:1.75;letter-spacing:normal}
@media(max-width:1100px){.home-page .contact-details-row{grid-template-columns:minmax(0,1fr)}.home-page .contact-details-row .business-hours{padding:22px 0 0;border:0;border-top:1px solid var(--home-border)}}
@media(max-width:760px){.home-page .contact-details-row .business-hours .opening-hours{font-size:clamp(10px,3.05vw,15px);letter-spacing:-.2px}.home-page .contact-details-row .business-hours .after-hours-note{max-width:100%;font-size:13px}}
/* Liens des cinq activités sur une seule ligne. */
.home-page .home-services .service-card-body .service-open{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;font-size:12px;letter-spacing:0}
@media(min-width:1200px){.home-page .home-services .service-card-body .service-open{font-size:11px;gap:6px}}

/* Réseaux sociaux et avis Google : boutons plus discrets. */
.home-page .socials{gap:6px}
.home-page .socials a{padding:6px 9px;min-height:34px;gap:6px;font-size:11px;border-radius:6px}
.home-page .socials a svg{width:16px;height:16px;flex:0 0 16px}
.home-page .socials a>span:last-child{font-size:9px}

/* Identité de l’entreprise plus visible dans l’en-tête. */
.home-page .header .logo{gap:15px;align-items:center}
.home-page .header .brand-logo{width:110px;height:auto;flex-shrink:0}
.home-page .header .logo-name{font-size:23px;line-height:1.2;letter-spacing:1px}
.home-page .header .logo-name small{display:block;font-size:8px;line-height:1.7;letter-spacing:1.5px;margin-top:7px}
.home-page .header .nav-wrap{min-height:116px;padding-block:14px}
@media(min-width:901px){.home-page .header .nav{padding-top:12px}}
@media(max-width:900px){.home-page .header .brand-logo{width:64px}.home-page .header .logo{gap:8px}.home-page .header .logo-name{font-size:15px;letter-spacing:.4px}.home-page .header .logo-name small{font-size:5px;letter-spacing:.5px;margin-top:4px}.home-page .header .nav-wrap{min-height:90px;padding-block:8px}}
@media(max-width:480px){.home-page .header .brand-logo{width:44px}.home-page .header .logo-name{font-size:12px}.home-page .header .logo-name small{font-size:4px;letter-spacing:.2px}.home-page .header-phone{font-size:13px}.home-page .header-no-subscription{font-size:10px}.home-page .header .nav-wrap{column-gap:6px}}
