/* A clear opening, one project feature, then concise service and process sections. */
.page-accueil .hero-heading{
  grid-template-columns:minmax(0,1fr) minmax(280px,.53fr);
  align-items:center;
  gap:clamp(30px,4vw,56px);
  margin-bottom:26px;
}
.page-accueil .hero h1{
  font-size:clamp(42px,4.7vw,68px);
  line-height:1.04;
  letter-spacing:-.045em;
  text-transform:none;
  margin-top:16px;
}
.page-accueil .hero h1>span{font-size:inherit}
.home-hero-services{
  margin-top:16px;
  font-size:15px;
  line-height:1.6;
  color:var(--muted);
}
.page-accueil .hero-intro{padding:4px 0 4px 26px;border:0;border-left:1px solid var(--line);border-image:none}
.home-hero-intro{max-width:34ch;font-size:15px;line-height:1.75;color:var(--muted);text-wrap:pretty}
.home-hero-cta{display:inline-flex;margin-top:20px;font-size:13px;min-height:52px;gap:20px;padding:14px 18px}
.page-accueil .hero-image-crop:after{background:linear-gradient(0deg,#06192d30,transparent 42%)}
.page-accueil .hero-photo{object-position:center 42%}
.page-accueil .need-title{white-space:normal}
/* Four visible reassurance items, including on small screens. */
.page-accueil .hero-proof{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:24px;
  padding-block:24px;
}
.page-accueil .hero-proof>.proof-item{display:flex;min-width:0;line-height:1.45}
.page-accueil .hero-proof>.proof-item>span{min-width:0}
.page-accueil .hero-proof>.proof-item>svg{flex:0 0 29px;height:29px}
.page-accueil .hero-proof>.google-mini{min-width:0;justify-self:end}
.page-accueil .hero-proof small{line-height:1.5}
@media(max-width:1100px){
  .page-accueil .hero-proof{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 28px}
  .page-accueil .hero-proof>.google-mini{justify-self:start}
}
@media(max-width:680px){
  .page-accueil .hero-proof{gap:22px 16px;padding-block:22px;align-items:start}
  .page-accueil .hero-proof>.proof-item{font-size:12px;gap:8px;align-items:flex-start}
  .page-accueil .hero-proof>.proof-item>svg{flex-basis:24px;width:24px;height:26px}
  .page-accueil .hero-proof>.google-mini{gap:8px;align-self:center}
  .page-accueil .hero-proof .google-mini-copy{grid-template-columns:minmax(0,1fr);gap:3px;min-width:0}
  .page-accueil .hero-proof small{font-size:11px;margin-top:4px}
}
.home-leak-link{
  display:grid;
  grid-template-columns:34px minmax(0,1fr) 24px;
  align-items:center;
  gap:23px;
  margin-top:24px;
  padding:24px 0 0;
  border-top:1px solid var(--line);
  color:var(--ink);
  min-height:80px;
}
.home-leak-icon{width:34px;height:34px;color:var(--blue)}
.home-leak-link strong{display:block;font:700 19px/1.4 var(--display);letter-spacing:-.025em}
.home-leak-link>span>span{display:block;margin-top:5px;font-size:14px;line-height:1.6;color:var(--muted)}
.home-leak-arrow{width:24px;height:24px;color:var(--blue);transition:transform .2s}
.home-leak-link:hover strong{text-decoration:underline;text-underline-offset:5px;color:var(--blue-dark)}
.home-leak-link:hover .home-leak-arrow{transform:translate(2px,-2px)}
.home-method-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:30px}
.home-method-heading h2{font-size:clamp(30px,2.8vw,40px);line-height:1.15;letter-spacing:-.035em;margin-top:14px;text-wrap:balance}
.home-method-heading>.text-link{font-size:13px;flex-shrink:0}
.home-method-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px;list-style:none;margin:0;padding:0}
.home-method-steps>li{border-top:1px solid var(--line);padding-top:22px;min-width:0}
.home-method-number{display:block;font:600 29px/1.2 var(--display);color:var(--blue);letter-spacing:-.035em;margin-bottom:16px}
.home-method-steps h3{font:700 19px/1.4 var(--display);letter-spacing:-.025em;margin-bottom:10px;text-wrap:balance}
.home-method-steps p{font-size:14px;line-height:1.8;color:var(--muted);text-wrap:pretty}
.page-accueil .review-band{margin-top:36px}
.page-accueil .closing-inner{padding-block:52px;gap:36px}
.page-accueil .closing h2{font-size:clamp(38px,4.2vw,58px);line-height:1.08;letter-spacing:-.04em}
.page-accueil .closing h2>span{color:#c7e2ff}
.page-accueil .closing-call{flex-shrink:0;padding-right:0}
.page-accueil :is(.home-hero-cta,.home-leak-link):focus-visible{outline:3px solid var(--blue);outline-offset:5px}

@media(min-width:681px) and (max-width:1000px){
  .page-accueil .hero-heading{grid-template-columns:minmax(0,1fr) 265px;gap:24px}
  .page-accueil .hero h1{font-size:clamp(34px,4.7vw,47px)}
  .page-accueil .hero-intro{padding-left:20px}
  .home-hero-services{font-size:13px;max-width:35ch}
  .home-hero-intro{font-size:14px}
  .home-hero-cta{font-size:12px;gap:14px;padding-inline:14px}
}
@media(max-width:800px){
  .home-method-heading{display:block;margin-bottom:24px}
  .home-method-heading>.text-link{margin-top:15px}
  .home-method-steps{grid-template-columns:1fr;gap:0}
  .home-method-steps>li{display:grid;grid-template-columns:37px minmax(0,1fr);gap:18px;padding-block:22px}
  .home-method-number{font-size:25px;margin:0}
  .home-method-steps h3{font-size:18px;margin-bottom:7px;text-wrap:initial}
  .home-method-steps p{max-width:60ch}
  .page-accueil .review-band{margin-top:10px}
}
@media(max-width:680px){
  .page-accueil:not(.home-cta-passed) .mobile-actions{visibility:hidden;opacity:0;pointer-events:none}
  .page-accueil .hero-heading{display:block;margin-bottom:20px}
  .page-accueil .hero h1{font-size:clamp(32px,8.5vw,44px);line-height:1.08;margin-top:14px}
  .home-hero-services{font-size:13px;line-height:1.6;margin-top:11px;max-width:36ch}
  .page-accueil .hero-intro{padding:0;border:0;margin-top:16px}
  .home-hero-intro{font-size:14px;line-height:1.6;max-width:45ch}
  .home-hero-cta{width:100%;margin-top:14px;font-size:13px;min-height:48px}
  .page-accueil .hero-picture{height:auto;aspect-ratio:2.05}
  .page-accueil .need-card{min-height:96px;padding:14px 12px;gap:9px}
  .page-accueil .need-title{font-size:12px;line-height:1.45}
  .home-leak-link{grid-template-columns:29px minmax(0,1fr) 20px;gap:15px;padding-top:20px;margin-top:20px}
  .home-leak-icon{width:29px;height:29px}
  .home-leak-link strong{font-size:17px}
  .home-leak-link>span>span{font-size:13px}
  .home-leak-arrow{width:20px;height:20px}
  .home-method-heading h2{font-size:clamp(28px,7.3vw,36px)}
  .page-accueil .closing-inner{padding-block:38px}
  .page-accueil .closing h2{font-size:clamp(32px,8.2vw,44px)}
  .page-accueil .closing-call{margin-top:25px}
}
