/* Desktop: the page reveals a photograph fixed to the viewport. */
:is(.home-heart-parallax,.page-photo-parallax) {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: 90px 0;
  background-color: #241b20;
  background-image: var(--photo-wash,linear-gradient(90deg,rgba(37,12,25,.55),rgba(37,12,25,.18) 58%,rgba(37,12,25,0))),var(--section-photo,url('heart-couple-background.webp'));
  background-size: cover;
  background-position: var(--photo-position,center);
  background-attachment: fixed;
}
:is(.home-heart-parallax,.page-photo-parallax) .heart-photo-background { display: none; }
:is(.home-heart-parallax,.page-photo-parallax) .wrap { position: relative; z-index: 1; }
:is(.home-heart-parallax,.page-photo-parallax) h2 { max-width: 800px; text-shadow: 0 2px 14px #0004; }
:is(.home-heart-parallax,.page-photo-parallax) .lead { max-width: 620px; color: #fff4ef; }
:is(.home-heart-parallax,.page-photo-parallax) .eyebrow { color: #f1d3a5; }
:is(.home-heart-parallax,.page-photo-parallax) .button { background: rgba(42,17,29,.65); }
:is(.home-heart-parallax,.page-photo-parallax) .button:hover { background: #641934; }
/* Touch browsers use a translated photo instead of unreliable fixed attachment. */
@media (max-width: 800px), (pointer: coarse) {
  :is(.home-heart-parallax,.page-photo-parallax) { background-image: none; background-attachment: scroll; }
  :is(.home-heart-parallax,.page-photo-parallax) .heart-photo-background {
    display: block;
    position: absolute;
    inset: -160px 0;
    z-index: 0;
    pointer-events: none;
    background-image: var(--photo-wash,linear-gradient(90deg,rgba(37,12,25,.55),rgba(37,12,25,.18) 58%,rgba(37,12,25,0))),var(--section-photo,url('heart-couple-background.webp'));
    background-size: cover;
    background-position: var(--photo-mobile-position,57% center);
    transform: translate3d(0,var(--heart-shift,0px),0);
  }
}
@media (max-width: 800px) { :is(.home-heart-parallax,.page-photo-parallax) { padding: 65px 0; } }
@media (prefers-reduced-motion: reduce) {
  :is(.home-heart-parallax,.page-photo-parallax) { background-attachment: scroll; }
  :is(.home-heart-parallax,.page-photo-parallax) .heart-photo-background { transform: none !important; }
}
@media print {
  :is(.home-heart-parallax,.page-photo-parallax) { background: #fff; color: #000; }
  :is(.home-heart-parallax,.page-photo-parallax) .heart-photo-background { display: none; }
  :is(.home-heart-parallax,.page-photo-parallax) .lead, :is(.home-heart-parallax,.page-photo-parallax) .eyebrow { color: #000; }
}

/* Each sister page supplies its own photograph to the shared parallax section. */
.coaching-photo { --section-photo: url('coaching-couple-background.webp'); --photo-mobile-position: 20% center; }
.radio-photo { --section-photo: url('radio-couple-background.webp'); --photo-wash: linear-gradient(90deg,rgba(20,10,23,.35),rgba(20,10,23,.08)); --photo-position: center 38%; --photo-mobile-position: 72% center; }
.catalog-photo { --section-photo: url('catalog-couple-background.webp'); --photo-mobile-position: 52% center; }
.page-photo-parallax { color: #fff2e8; }
.page-photo-parallax p:not(.eyebrow) { color: #fff4ef; }
.page-photo-parallax a:not(.button) { color: #fff4ef; }
.radio-photo .narrow { max-width: 740px; margin-left: 0; }
@media print { .page-photo-parallax, .page-photo-parallax p:not(.eyebrow), .page-photo-parallax a:not(.button) { color: #000; } }
