/* Photography adds a distinct rhythm: home, shared time, personal planning, the advisor. */
.care-photo-stage { position: relative; height: 600px; overflow: hidden; background: var(--nude); }
.care-image-wrap .care-photo {
  position: absolute; inset: 0; width: 100%; height: 100%; max-height: none;
  object-fit: cover; opacity: 0; transform: scale(1.05);
  transition: opacity .75s ease, transform 1.4s cubic-bezier(.2,.7,.2,1);
}
.care-image-wrap .care-photo.is-active { opacity: 1; transform: scale(1); }
.care-photo[data-care-photo="1"] { object-position: 59% center; }
.care-photo[data-care-photo="2"] { object-position: 79% center; }
.care-photo-number {
  position: absolute; left: 24px; bottom: 22px; z-index: 1;
  color: var(--paper); background: #141311cc; padding: 10px 13px;
  font-size: 9px; letter-spacing: .16em; backdrop-filter: blur(8px);
}
.care .image-caption { min-height: 18px; }

.life-moment {
  position: relative; isolation: isolate; overflow: hidden;
  min-height: 550px; height: min(52vw, 760px); background: var(--accent); color: var(--paper);
  display: flex; align-items: center; padding: 80px var(--gutter);
}
.moment-photo { position: absolute; z-index: -3; inset: 0; height: 100%; width: 100%; object-fit: cover; object-position: center 65%; }
.moment-shade { position: absolute; z-index: -2; inset: 0; background: linear-gradient(90deg,#141311d9 0%,#14131170 39%,transparent 71%),linear-gradient(0deg,#1413114d,transparent 35%); }
.moment-copy { max-width: 680px; }
.moment-copy .eyebrow { color: var(--paper); font-size: 9px; letter-spacing: .19em; margin-bottom: 30px; }
.moment-copy h2 { font-size: clamp(72px, 7.6vw, 125px); line-height: .95; }
.moment-copy h2 em { color: var(--nude); }
.moment-copy > p:not(.eyebrow) { font-size: 13px; line-height: 1.9; margin-top: 25px; color: var(--paper); }
.moment-copy .text-link { margin-top: 28px; font-size: 11px; font-weight: 400; border-bottom: 1px solid #e1ded770; }
.moment-copy .text-link:hover span { transform: translateY(4px); }
.moment-caption { position: absolute; right: var(--gutter); bottom: 31px; font-size: 8px; letter-spacing: .15em; color: var(--paper); }

.plans-heading { display: grid; grid-template-columns: 1.4fr 1fr; align-items: center; gap: 8vw; margin-bottom: 58px; }
.plans-heading .plans-intro { margin-bottom: 0; }
.planning-photo { margin: 0; transform: rotate(0); }
.editorial-media { overflow: hidden; background: var(--nude); position: relative; }
.planning-photo .editorial-media { aspect-ratio: 1.33; }
.planning-photo img { width: 100%; height: 100%; object-fit: cover; object-position: 60% center; }
.planning-photo figcaption { margin-top: 16px; font-size: 10px; color: var(--muted); text-align: right; }
.journey { align-items: center; }
.journey-portrait { width: 92%; max-width: 480px; margin: 36px 0 0; }
.journey-portrait .editorial-media { aspect-ratio: 1.08; background: transparent; }
.journey-portrait img { height: 100%; width: 100%; object-fit: cover; object-position: center 9%; transform: scale(1.12); transform-origin: 50% 25%; }
.journey-quote { padding-top: 26px; }
.journey-quote blockquote { margin: 0; }
.journey-quote blockquote p { font-family: var(--serif); font-size: clamp(25px, 2.1vw, 33px); font-style: italic; line-height: 1.3; letter-spacing: -.025em; color: var(--ink); }
.journey-quote .quote-author { display: flex; flex-direction: column; gap: 8px; margin-top: 20px; }
.journey-quote .personal-signature { font-size: 29px; line-height: 1.2; margin: 0; }
.journey-quote .quote-author > span:last-child { font-size: 7px; letter-spacing: .13em; color: var(--muted); }

@media (min-width: 1700px) {
  .care-photo-stage { height: 700px; }
  .moment-copy > p:not(.eyebrow) { font-size: 16px; }
  .moment-copy .text-link { font-size: 13px; }
  .journey-portrait { max-width: 550px; }
}
@media (max-width: 1100px) {
  .care-photo-stage { height: 520px; }
  .plans-heading { gap: 5vw; grid-template-columns: 1.35fr 1fr; }
  .planning-photo .editorial-media { aspect-ratio: 1.05; }
  .journey-portrait { width: 100%; }
  .life-moment { min-height: 530px; }
}
@media (max-width: 767px) {
  .care-photo-stage { height: 400px; max-height: 110vw; }
  .care-photo-number { left: 16px; bottom: 16px; font-size: 8px; }
  .life-moment { height: 590px; min-height: 0; align-items: flex-start; padding: 48px var(--gutter); }
  .moment-photo { object-position: 76% center; }
  .moment-shade { background: linear-gradient(180deg,#141311d9 0%,#14131170 42%,transparent 74%),linear-gradient(90deg,#1413115e,transparent 80%); }
  .moment-copy .eyebrow { font-size: 7px; margin-bottom: 23px; }
  .moment-copy h2 { font-size: clamp(58px, 14vw, 85px); }
  .moment-copy > p:not(.eyebrow) { font-size: 11px; margin-top: 18px; }
  .moment-copy .text-link { font-size: 10px; margin-top: 19px; }
  .moment-caption { font-size: 7px; bottom: 21px; }
  .plans-heading { grid-template-columns: 1fr; gap: 29px; margin-bottom: 37px; }
  .planning-photo { width: 86%; justify-self: end; }
  .planning-photo .editorial-media { aspect-ratio: 1.7; }
  .planning-photo figcaption { font-size: 9px; margin-top: 12px; }
  .journey { gap: 43px; }
  .journey-portrait { width: 100%; max-width: 440px; margin-top: 29px; }
  .journey-portrait .editorial-media { aspect-ratio: 1.08; }
  .journey-quote { padding-top: 22px; }
  .journey-quote blockquote p { font-size: 26px; }
  .journey-quote .quote-author { margin-top: 17px; }
  .journey-quote .personal-signature { font-size: 27px; }
}
@media (prefers-reduced-motion: reduce) {
  [data-photo-parallax] { transform: none !important; }
  .care-image-wrap .care-photo { transition: none; transform: none; }
}
