/* Preserve the original layout and palette; add depth to existing surfaces. */
html { scroll-behavior: smooth; scroll-padding-top: 100px; }
body { font-size: 1rem; }
.primary-cta, .nav-cta, .mobile-nav .mobile-line-link {
  background: linear-gradient(145deg, #ffe3d4 0%, #f8b9a5 32%, #ed957e 68%, #d87561 100%);
  box-shadow: inset 0 2px 1px #ffffffa6, inset 0 -3px 5px #9b43382e, 0 10px 25px #10202f3d;
  border: 1px solid #ffe7d4a3;
  transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}
.line-cta, .line-main-cta, .mobile-nav .mobile-line-link {
  background: linear-gradient(145deg, #edf6c7 0%, #cde38f 28%, #aac958 63%, #89ab3e 100%);
  box-shadow: inset 0 2px 1px #ffffffb0, inset 0 -3px 5px #45611938, 0 10px 25px #10202f3d;
  border-color: #e4f1bba3;
}
.primary-cta:hover, .nav-cta:hover, .mobile-nav .mobile-line-link:hover {
  background: linear-gradient(145deg, #ffe3d4 0%, #f8b9a5 32%, #ed957e 68%, #d87561 100%);
  filter: brightness(1.06); transform: translateY(-2px);
  box-shadow: inset 0 2px 1px #ffffffb0, inset 0 -3px 5px #9b43382e, 0 14px 28px #10202f47;
}
.line-cta:hover, .line-main-cta:hover, .mobile-nav .mobile-line-link:hover {
  background: linear-gradient(145deg, #edf6c7 0%, #cde38f 28%, #aac958 63%, #89ab3e 100%);
}
.primary-cta:active, .nav-cta:active, .mobile-nav .mobile-line-link:active { transform: translateY(1px); }
.pulse-cta { animation: none; }
.menu-button { background: linear-gradient(145deg, #ffffff45, #ffffff0d); box-shadow: inset 0 1px #ffffff70, 0 5px 15px #10202f26; }
.site-header.is-scrolled { background: linear-gradient(115deg, #fcf8f1f5 0%, #f8e3dceF 72%, #eef0d9ee 100%); }
.is-scrolled .menu-button { background: linear-gradient(145deg, #fff9f3, #e0d2c8); }
.mobile-nav { background: linear-gradient(145deg, #fcf8f1, #f2d8cf 75%, #e9edcf); }
.hero-facts, .photo-caption {
  background: linear-gradient(135deg, #3e5363e6, #232e3df2 55%, #172432f5);
  box-shadow: inset 0 1px #ffffff26, 0 18px 44px #101b3033;
}
.feature-strip, .price-panel, .after-card {
  background: radial-gradient(ellipse at 100% 0%, #9b78644d, transparent 60%), linear-gradient(135deg, #41566b, #263446 55%, #17212e);
  box-shadow: inset 0 1px #ffffff38, 0 22px 55px #18243133;
}
.site-footer { background: radial-gradient(ellipse at 8% 0%, #8f756440, transparent 60%), linear-gradient(125deg, #283a4a, #182431 70%, #101a27); }
.lime-mist { background: radial-gradient(ellipse at 95% 12%, #eea18b85, transparent 55%), linear-gradient(130deg, #fbf5ed, #f5ddd2 60%, #f0c9bd); }
.people-paper { background: radial-gradient(ellipse at 95% 3%, #e6a08d80, transparent 55%), linear-gradient(135deg, #fbf4ec, #f1d2c6 70%, #e8c6b8); }
.lime-paper { background: radial-gradient(ellipse at 8% 0%, #ecb08b85, transparent 55%), linear-gradient(150deg, #faf4e9, #f2d6ca 65%, #e4e2cd); }
.sea-glass { background: radial-gradient(ellipse at 90% 30%, #ebb09b73, transparent 55%), linear-gradient(125deg, #e5edf2, #f5ece5 60%, #eacec3); }
.warm-current { background: radial-gradient(ellipse at 92% 90%, #e9a58678, transparent 50%), linear-gradient(125deg, #f6eee7, #f1d1c4 65%, #e5ddc6); }
.concern-list > div, .rental-note, .before-card { background: linear-gradient(125deg, #ffffffd9, #f9e6db99); box-shadow: inset 0 1px #ffffffb3, 0 10px 26px #232e3d12; }
.story-inset-photo figcaption, .memory-photo-collage figcaption { background: linear-gradient(120deg, #fffaf4, #f3e5db); }
.desktop-nav { font-size: .875rem; }
.eyebrow, .price-label, .price-rule span, .rental-note span { font-size: .875rem; }
.wordmark small, .hero-facts span, .image-label, .story-inset-photo small, .memory-photo-collage small, .people-card figcaption small, .gallery-card figcaption small { font-size: .75rem; }
.story-inset-photo small, .memory-photo-collage small { color: #566257; }
.concern-list p, .feature-item p, .rental-note p, .clear-facts li, .price-note, .small-note { font-size: 1rem; }
.reveal { opacity: 1; transform: none; }
/* Give lazy-loaded photos a definite frame, independent of intrinsic height. */
.story-main-photo { height: 440px; }
.story-main-photo > img { display: block; height: 100%; width: 100%; object-fit: cover; }
.people-card figure, .gallery-card figure { position: relative; }
.people-card img, .gallery-card img { display: block; }
:focus-visible { outline: 3px solid #b9d56c; outline-offset: 5px; }
.skip-link { position: fixed; top: -100px; left: 16px; z-index: 100; background: #fff; color: #182431; padding: 12px 20px; }
.skip-link:focus { top: 12px; }
@media (min-width: 740px) {
  .story-main-photo { height: 620px; }
  .memory-photo-collage figure { display: flex; flex-direction: column; }
  .memory-photo-collage img, .memory-photo-primary img { flex: 1 1 0; min-height: 0; height: 0; object-fit: cover; }
  .memory-photo-collage figcaption { flex: 0 0 auto; }
  .people-card img, .gallery-card img { position: absolute; inset: 0; width: 100%; height: 100%; min-height: 0; }
}
@media (max-width: 739px) {
  .people-card, .gallery-card { height: auto; }
  .people-card figure, .gallery-card figure { height: auto; aspect-ratio: 4 / 3; }
  .people-card img, .gallery-card img { position: absolute; inset: 0; width: 100%; height: 100%; min-height: 0; object-fit: cover; }
  .people-card figcaption, .gallery-card figcaption { padding: 38px 12px 12px; }
  .memory-photo-collage img { height: auto; }
  .story-main-photo { height: clamp(360px, 105vw, 520px); min-height: 0; }
}
@media (max-width: 480px) {
  .people-album, .facility-gallery { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .people-card figure, .gallery-card figure { aspect-ratio: auto; }
  .people-card img, .gallery-card img { position: static; width: 100%; height: auto; min-height: 0; }
  .people-card figcaption, .gallery-card figcaption { position: static; background: linear-gradient(120deg, #344656, #182431); padding: 12px 16px; }
}
@media (max-width: 420px) {
  .wordmark span { font-size: 1rem; }
  .wordmark small { letter-spacing: .12em; }
  .hero-facts span { display: block; font-size: .75rem; line-height: 1.4; }
  .hero-facts > div { min-height: 125px; padding-inline: 7px; }
  .hero > .image-label { bottom: 140px; }
  .hero-content { padding-bottom: 225px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
}

/* Preserve both people in the edited kitchen photograph on phones. */
@media (max-width: 739px) {
  .memory-photo-primary img { aspect-ratio: 3 / 2; object-position: center; }
}
