/* Bambi + PingPong section — image-led editorial treatment */
.about-dogs > .container > .eyebrow{
  margin-bottom:18px;
}

.dogs-intro-copy{
  width:100%;
  max-width:none;
}
.dogs-intro-copy h2{
  width:100%;
  max-width:none;
  margin-bottom:34px;
}

/* Shared photo as the main visual anchor */
.dogs-intro-photo{
  position:relative;
  width:100%;
  height:auto;
  aspect-ratio:16 / 7;
  margin:0;
  border-radius:32px;
  overflow:hidden;
  box-shadow:0 16px 38px rgba(33,19,62,.09);
  background:#eaded6;
}
.dogs-intro-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 64%;
}
.dogs-intro-photo::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(33,19,62,.58) 0%,rgba(33,19,62,.28) 34%,rgba(33,19,62,.06) 64%,rgba(33,19,62,0) 100%);
}
.dogs-intro-overlay{
  position:absolute;
  z-index:2;
  top:clamp(30px,4vw,58px);
  left:clamp(24px,4vw,56px);
  right:clamp(24px,4vw,56px);
  max-width:820px;
  margin:0;
  color:var(--cream);
  font-size:clamp(1.25rem,2.2vw,2rem);
  line-height:1.3;
  font-weight:600;
  letter-spacing:-.015em;
  text-shadow:0 2px 16px rgba(33,19,62,.30);
}

/* Full-width editorial break before Bambi */
.dogs-divider{
  width:100%;
  height:1px;
  margin:72px 0 0;
  background:rgba(33,19,62,.14);
}
.dogs-divider::after{display:none}

.about-dogs .dogs-divider + .dog-story{
  margin-top:72px;
}

/* Bambi + PingPong stories: smaller images balanced to the copy */
.about-dogs .dog-story{
  grid-template-columns:minmax(280px,.72fr) minmax(0,1fr);
  gap:68px;
  align-items:center;
}
.about-dogs .dog-story.reverse{
  grid-template-columns:minmax(0,1fr) minmax(280px,.72fr);
}
.about-dogs .dog-story .dog-photo{
  width:100%;
  height:clamp(330px,31vw,410px);
  min-height:0;
  aspect-ratio:auto;
  align-self:center;
  border-radius:28px;
  transition:transform .32s ease, box-shadow .32s ease;
  will-change:transform;
}
.about-dogs .dog-story .dog-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .45s ease;
}

@media(hover:hover){
  .about-dogs .dog-story:hover .dog-photo{
    transform:translateY(-7px) scale(1.012);
    box-shadow:0 22px 44px rgba(33,19,62,.13);
  }
  .about-dogs .dog-story:hover .dog-photo img{
    transform:scale(1.03);
  }
}

/* Remove legacy wave treatment if cached markup is ever present */
.dogs-wave{display:none!important}

@media(max-width:860px){
  .dogs-intro-copy h2{margin-bottom:28px}
  .dogs-intro-photo{
    aspect-ratio:4 / 3;
    border-radius:24px;
  }
  .dogs-intro-photo img{object-position:center 64%}
  .dogs-intro-overlay{
    top:28px;
    left:26px;
    right:26px;
    max-width:640px;
    font-size:clamp(1.15rem,4vw,1.55rem);
  }
  .dogs-divider{margin-top:54px}
  .about-dogs .dogs-divider + .dog-story{margin-top:54px}

  .about-dogs .dog-story,
  .about-dogs .dog-story.reverse{
    grid-template-columns:1fr;
    gap:30px;
    align-items:start;
  }
  .about-dogs .dog-story .dog-photo{
    width:min(100%,520px);
    height:auto;
    min-height:0;
    aspect-ratio:4 / 3;
  }
}

@media(max-width:600px){
  .dogs-intro-photo{
    aspect-ratio:4 / 3;
    border-radius:22px;
  }
  .dogs-intro-overlay{
    top:22px;
    left:20px;
    right:20px;
    font-size:1.08rem;
    line-height:1.32;
  }
  .dogs-divider{margin-top:46px}
  .about-dogs .dogs-divider + .dog-story{margin-top:46px}
  .about-dogs .dog-story .dog-photo{
    width:100%;
    aspect-ratio:4 / 3;
  }
}

@media(prefers-reduced-motion:reduce){
  .about-dogs .dog-story .dog-photo,
  .about-dogs .dog-story .dog-photo img{
    transition:none!important;
    transform:none!important;
  }
}
