/* Accueil : message lisible et photo proportionnée. */
.web-hero{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:48px;width:min(100% - 64px,1180px);margin:36px auto 44px;color:var(--navy);background:#fff;overflow:hidden;border-radius:28px;padding:40px}
.web-hero-copy{min-width:0}
.web-hero-brand{font-size:.73rem;font-weight:800;letter-spacing:.12em;color:#426271;margin:0 0 18px}
.web-hero h1{font-size:clamp(2rem,3.5vw,3.25rem);line-height:1.1;letter-spacing:-.035em;color:var(--navy);margin:0}
.web-hero-subtitle{font-size:1.05rem;line-height:1.65;color:#506272;margin:22px 0 26px;max-width:490px}
.web-hero-contact{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:48px;padding:14px 23px;border-radius:999px;background:var(--lime);color:var(--navy);font-weight:800;text-align:center}
.web-hero-contact:hover{background:#b9e747}
.web-hero-contact:focus-visible{outline:3px solid var(--navy);outline-offset:5px}
.web-hero-picture{height:390px;overflow:hidden;border-radius:22px}
.web-hero-picture img{display:block;width:100%;height:100%;object-fit:cover;object-position:58% center}
.site-header .brand img{width:180px;height:76px}
.help-widget .help-button{padding:11px 16px;font-size:.85rem;font-weight:750;box-shadow:0 5px 18px rgba(7,27,49,.16)}
@media(max-width:800px){
.web-hero{grid-template-columns:1fr;gap:28px;width:calc(100% - 32px);padding:28px;margin:24px auto 28px}
.web-hero h1{font-size:clamp(2rem,6vw,3rem);max-width:600px}
.web-hero-subtitle{max-width:580px}
.web-hero-picture{height:280px}
}
@media(max-width:640px){
.web-hero{padding:24px 20px;border-radius:22px;gap:24px}
.web-hero-brand{font-size:.65rem;letter-spacing:.08em}
.web-hero-subtitle{font-size:1rem;margin:18px 0 22px}
.web-hero-contact{font-size:.95rem;padding:13px 18px}
.web-hero-picture{height:210px;border-radius:16px}
.site-header .brand img{width:148px;height:64px}
.help-widget .help-button{width:46px;height:46px;padding:0;font-size:0}
.help-widget .help-button::before{font-size:20px}
}

/* Bandeau bleu clair uni et séparations discrètes. */
.trust-strip{background:#EDF4FA;color:#0B2540;border-top:1px solid #D5E2EE;}
.trust-grid p{color:#0B2540;border-color:#D5E2EE;}
.trust-grid p:last-child{border-color:#D5E2EE;}
.trust-grid span{color:#435667;}

/* Espacements harmonisés entre les grandes rubriques. */
main > .section{padding-top:36px;padding-bottom:36px;}
@media(max-width:640px){
  main > .section{padding-top:24px;padding-bottom:24px;}
}

/* À propos : présentation à gauche, photo et vision à droite. */
#apropos .about-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:48px;align-items:start;}
.about-side{display:grid;gap:24px;min-width:0;}
.about-photo{margin:0;overflow:hidden;border-radius:28px;}
.about-photo img{display:block;width:100%;height:auto;}
#apropos .about-panel{min-height:0;padding:32px;gap:24px;}
#apropos .about-panel h3{font-size:clamp(1.6rem,2.5vw,2.4rem);}
@media(max-width:980px){
  #apropos .about-grid{grid-template-columns:1fr;gap:32px;}
}
@media(max-width:640px){
  .about-photo{border-radius:20px;}
  #apropos .about-panel{padding:24px;}
}

/* Assistance aux particuliers et petites entreprises. */
.assistance{background:#EDF4FA;scroll-margin-top:100px}
.assistance-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.assistance-grid .add-on-card{min-width:0;padding:32px}
.assistance-description{margin-top:16px;color:#435667;line-height:1.65}
.assistance-price{margin-top:auto;margin-bottom:18px;color:#435667;font-size:.95rem;line-height:1.6}
.assistance-note{margin-top:24px;max-width:850px;color:#435667;font-size:.9rem;line-height:1.6}
@media(max-width:700px){.assistance-grid{grid-template-columns:1fr}.assistance-grid .add-on-card{padding:24px}}
