.home-page { overflow-x: hidden; }

.home-hero { position: relative; }
.home-hero-bg { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.home-hero-panel { display:flex; flex-direction:column; gap:var(--space-2); text-align:center; margin-inline:auto; }
.home-hero-cta { display:flex; gap:var(--space-2); justify-content:center; flex-wrap:wrap; }

.home-concept { background: var(--color-surface-dark); }
.home-col { max-width:65ch; }

.home-split { display:grid; grid-template-columns:1fr 1fr; gap:var(--space-4); align-items:center; }
.home-split.reverse { grid-template-columns:1fr 1fr; }
.home-text { max-width:60ch; }
.home-image { width:100%; }

.home-private { background: var(--color-surface-dark); }
.home-corporate { background: var(--color-surface-black); }

.home-gallery-intro { max-width:45ch; text-align:center; margin-inline:auto; }
.home-gallery-grid .media-frame { transition: transform var(--transition-fast); }
.home-gallery-grid .media-frame:hover { transform: scale(1.02); }

.home-steps { background: var(--color-surface-dark); text-align:center; }
.home-step { max-width:45ch; margin-inline:auto; }

.home-cta { background: var(--color-accent); color: var(--color-text-on-accent); text-align:center; }
.home-cta-inner { display:flex; flex-direction:column; gap:var(--space-3); align-items:center; }

.home-footer-lite { background: var(--color-surface-black); border-top:1px solid var(--color-border); }
.home-footer-inner { display:flex; justify-content:space-between; gap:var(--space-3); flex-wrap:wrap; }
.home-footer-nav { display:flex; flex-wrap:wrap; gap:var(--space-2); }
.home-footer-brand { max-width:50ch; }

@media (max-width:900px){
  .home-split { grid-template-columns:1fr; }
  .home-text, .home-col { max-width:100%; }
  .home-footer-inner { flex-direction:column; }
}