/* Homepage photograph layer; navigation and all other pages keep shared styles. */
.page-home .home-hero {
  isolation: isolate;
  background: #13201d;
  padding-bottom: 100px;
}
.home-hero-images,
.home-hero-overlay {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.home-hero-images { z-index: -2; overflow: hidden; }
.home-hero-slide {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  opacity: 0;
  transform: scale(1.04);
  transition: opacity 1100ms ease-in-out;
}
.home-hero-slide.is-active { opacity: 1; }
.home-hero.is-animated .home-hero-slide.is-active { animation: home-hero-zoom 5500ms linear both; }
.home-hero.is-paused .home-hero-slide { animation-play-state: paused; }
.home-hero-overlay {
  z-index: -1;
  background: linear-gradient(90deg, rgba(8, 18, 17, .645) 0%, rgba(8, 18, 17, .518) 45%, rgba(8, 18, 17, .248) 100%),
    linear-gradient(0deg, rgba(8, 18, 17, .36), transparent 55%);
}
.page-home .home-hero h1 { color: #fff; text-shadow: 0 2px 18px #0003; }
.page-home .home-hero h1 em { color: #65d1bf; }
.page-home .home-hero p { color: #edf3f0; }
.home-hero .hero-badge { color: #b7f0df; background: #0c211bc4; border-color: #6dcab775; }
.home-hero .hero-badge::before { background: #83ddc7; }
.home-hero .btn-outline { color: #fff; border-color: #b5cbc2b3; background: #12241f80; }
.home-hero .btn-outline:hover { border-color: #b7f0df; background: #1c3b32d9; }
.home-hero-toggle {
  position: absolute;
  right: max(24px, calc((100vw - 1200px) / 2));
  bottom: 22px;
  z-index: 2;
  min-height: 44px;
  padding: 9px 14px;
  border: 1px solid #a5bdb580;
  border-radius: 7px;
  background: #10251fd9;
  color: #edf3f0;
  font: inherit;
  font-size: .75rem;
  cursor: pointer;
}
.home-hero-toggle[hidden] { display: none; }
.home-hero-toggle:hover { background: #21473bd9; }
.home-hero-toggle:focus-visible { outline: 3px solid #83ddc7; outline-offset: 3px; }
@keyframes home-hero-zoom { from { transform: scale(1); } to { transform: scale(1.04); } }
@media (max-width: 700px) {
  .page-home .home-hero { min-height: 640px; padding-top: 54px; padding-bottom: 98px; }
  .home-hero-overlay { background: linear-gradient(90deg, rgba(8, 18, 17, .638), rgba(8, 18, 17, .488)), linear-gradient(0deg, rgba(8, 18, 17, .375), transparent); }
  .home-hero-toggle { right: 20px; bottom: 20px; }
}
@media (prefers-reduced-motion: reduce) {
  .home-hero-slide { transition: none; transform: none; }
  .home-hero.is-animated .home-hero-slide.is-active { animation: none; }
}

/* HOME light surfaces, matching the public offers palette; shared navigation stays dark. */
.page-home main { background: #f7f7f2; }
.page-home main > .section { color: #24352d; background: #f7f7f2; }
.page-home main > .section-alt { background: #edf0e8; }
.page-home main > .home-calc { background: #f7f7f2; }
.page-home .section .section-label { color: #176e60; }
.page-home .section .section-lead,
.page-home .section .direction-card p { color: #59695e; }
.page-home .section .direction-card { background: #fff; border-color: #d7dfd4; }
.page-home .section .direction-card:hover { border-color: #82aa96; box-shadow: 0 12px 30px #28413412; }
.page-home .section .direction-links a { color: #176e60; }
.page-home .section .direction-links a:hover { color: #104e43; }
.page-home .section .btn-outline { color: #176e60; border-color: #83a996; background: transparent; }
.page-home .section .btn-outline:hover { color: #104e43; background: #e3ede3; border-color: #176e60; }
.page-home .home-hero p { text-shadow: 0 1px 6px #0007; }
@media (max-width: 700px) {
  .home-hero-slide { object-position: 76% center; }
}
