:root { --home-header-height:106px; --home-reviews-height:76px; }
/* V56 — photo en plein bandeau, texte centré, palette P-POSE. */
body main>.home-photo-hero {
  position:relative;
  isolation:isolate;
  min-height:calc(100svh - var(--home-header-height) - var(--home-reviews-height));
  display:grid;
  align-items:center;
  overflow:hidden;
  background:#fff!important;
}
.home-photo-hero::after {
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(22,29,25,.06),rgba(22,29,25,.26) 58%,rgba(22,29,25,.18));
}
.home-photo-layout { padding:32px 0; min-width:0; }
.home-photo-copy {
  position:relative;
  z-index:2;
  width:100%;
  max-width:1050px;
  margin:0 auto;
  text-align:center;
  color:#fff;
}
body main .home-photo-copy .eyebrow { color:#fff!important; line-height:1.6; }
.home-photo-copy h1 {
  font-size:clamp(36px,6.2vw,88px);
  line-height:1.14;
  letter-spacing:-.025em;
  margin:0 0 26px;
  color:#fff;
  text-shadow:0 2px 12px rgba(0,0,0,.4);
}
.home-photo-copy>p {
  font-size:21px;
  line-height:1.65;
  color:#fff;
  margin:0 auto 30px;
  max-width:760px;
  text-shadow:0 1px 5px rgba(0,0,0,.65);
}
.home-photo-copy .actions { display:flex; justify-content:center; flex-wrap:wrap; gap:14px; margin:0; }
.home-photo-copy .actions .cta { padding:17px 26px; text-align:center; }
.home-photo-copy .quote-deadline { margin:24px auto 0; font-size:16px; line-height:1.65; }
.home-photo-picture { position:absolute; inset:0; z-index:0; }
.home-photo-picture img {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:50% 54%;
}
@media(max-width:900px) {
  .home-photo-layout { padding:28px 0; }
  .home-photo-copy { max-width:680px; }
  .home-photo-copy .eyebrow { font-size:11px; letter-spacing:.12em; margin-bottom:18px; }
  .home-photo-copy h1 { font-size:clamp(27px,6.6vw,54px); margin-bottom:22px; }
  .home-photo-copy>p { font-size:18px; line-height:1.65; margin:0 auto 26px; }
  .home-photo-copy .quote-deadline { margin:24px auto 0; font-size:15px; }
  .home-photo-picture img { object-position:48% 55%; }
}
@media(max-width:480px) {
  .home-photo-layout { padding:24px 0; }
  .home-photo-copy .actions { display:grid; grid-template-columns:minmax(0,1fr); max-width:340px; margin:0 auto; }
  .home-photo-copy .actions .cta { width:100%; min-height:54px; white-space:normal; }
  .home-photo-copy .quote-deadline { max-width:300px; }
}

/* Keep the review strip in the initial viewport, below the photo. */
.home-photo-hero + .google-proof { background:#fff!important; }
.home-photo-hero + .google-proof .google-proof-inner {
  min-height:calc(var(--home-reviews-height) - 2px);
  padding:12px 0;
  justify-content:space-between;
  align-items:center;
  flex-direction:row;
  gap:20px;
}
@media(max-width:1120px) { :root { --home-header-height:104px; } }
@media(max-width:760px) {
  :root { --home-reviews-height:96px; }
  .home-photo-hero + .google-proof .google-proof-inner {
    flex-direction:column;
    justify-content:center;
    gap:6px;
    padding:10px 0;
    text-align:center;
  }
  .home-photo-hero + .google-proof .google-proof-inner>div { justify-content:center; gap:10px; }
  .home-photo-hero + .google-proof strong { font-size:15px; }
  .home-photo-hero + .google-proof .google-stars { font-size:15px; letter-spacing:1px; }
  .home-photo-hero + .google-proof span:not(.google-stars),
  .home-photo-hero + .google-proof a { font-size:13px; }
}
@media(max-width:560px) { :root { --home-header-height:72px; } }
@media(max-width:480px) and (max-height:720px) {
  .home-photo-layout { padding:18px 0; }
  .home-photo-copy .eyebrow { margin-bottom:12px; }
  .home-photo-copy h1 { margin-bottom:16px; }
  .home-photo-copy>p { font-size:16px; line-height:1.5; margin-bottom:20px; }
  .home-photo-copy .actions { gap:10px; }
  .home-photo-copy .actions .cta { min-height:48px; padding:13px 16px; }
  .home-photo-copy .quote-deadline { font-size:14px; line-height:1.5; margin-top:18px; }
}
