/* Homepage continuous layout — scoped to .home-page */

.home-page {
  --home-bg: #050b1d;
  --home-bg-deep: #040a18;
  --home-content-max: 1280px;
  --home-topbar-offset: 80px;
  --home-section-gap: clamp(48px, 6vw, 72px);
  --home-section-gap-sm: clamp(36px, 5vw, 56px);
  position: relative;
  background: var(--home-bg);
  overflow-x: clip;
}

html:has(.home-page),
body.arbicar-front-page,
body.path-frontpage,
body:has(.home-page) {
  background-color: var(--home-bg, #050b1d) !important;
  padding-top: 0 !important;
}

body.arbicar-front-page .ac-page-shell,
body.path-frontpage .ac-page-shell,
body:has(.home-page) .ac-page-shell {
  margin-top: 0;
  padding-top: 0;
}

html.arbicar-site-footer-space:has(.home-page) .ac-page-shell,
body.arbicar-front-page .ac-page-shell,
body.path-frontpage .ac-page-shell {
  min-height: 100vh;
  min-height: 100dvh;
}

body.arbicar-front-page main.page,
body.path-frontpage main.page,
body:has(.home-page) main.page {
  padding-top: 0 !important;
  margin-top: 0 !important;
  background: transparent;
}

.home-page > .hero.hero--home {
  margin-top: 0;
  margin-bottom: 0;
  border: none;
  border-radius: 0;
  background-color: #050b1d;
}

.home-page__bodyTypes,
.home-page .home-carousel,
.home-page__premiumFlow,
.home-page__howItWorks,
.home-page__arbiHub,
.home-page__why,
.home-page__reviews {
  position: relative;
  z-index: 2;
}

.home-page__bodyTypes {
  padding-top: clamp(28px, 4vw, 40px);
  padding-bottom: 0;
}

.home-page .home-carousel {
  padding-top: var(--home-section-gap);
  padding-bottom: 0;
}

.home-page__premiumFlow {
  padding-top: var(--home-section-gap);
  padding-bottom: 0;
  background:
    radial-gradient(circle at 18% 42%, rgba(59, 130, 246, 0.14), transparent 38%),
    linear-gradient(180deg, transparent 0%, rgba(5, 11, 26, 0.72) 100%);
}

.home-page__howItWorks {
  padding-top: 0;
  padding-bottom: clamp(24px, 3vw, 32px);
}

.home-page__why {
  padding-top: clamp(24px, 3vw, 32px);
  padding-bottom: 0;
}

.home-page__arbiHub {
  padding-top: var(--home-section-gap);
  padding-bottom: 0;
}

.home-page__reviews {
  padding-top: var(--home-section-gap);
  padding-bottom: 0;
}

.home-page__finalCta {
  position: relative;
  z-index: 2;
  padding: clamp(40px, 5vw, 64px) 0 clamp(48px, 6vw, 72px);
  background: #050b1d;
}

.home-page__finalCta::before {
  display: none !important;
}

.home-page__bodyTypes .home-body-types {
  padding-block: 0;
}

.home-page__howItWorks .how-section {
  padding-block: 0;
}

.home-page__why .home-why__band--intro {
  padding-block: 0;
  border-top: none;
}

.home-page__arbiHub .home-arbi-hub--native .home-arbi-hub__shell {
  padding-block: 0;
}

.home-page__reviews .home-reviews__shell {
  padding-block: 0;
}

.home-page .home-carousel::before,
.home-page__premiumFlow::before,
.home-page__arbiHub::before,
.home-page__reviews::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  width: min(92%, var(--home-content-max));
  height: 1px;
  transform: translateX(-50%);
  background: linear-gradient(90deg, transparent, rgba(59, 130, 246, 0.12), transparent);
  pointer-events: none;
}

[data-home-reveal] {
  opacity: 0;
  transform: translateY(14px);
  transition:
    opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
}

[data-home-reveal].is-visible {
  opacity: 1;
  transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
  [data-home-reveal] {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

@media (max-width: 768px) {
  .home-page {
    --home-topbar-offset: calc(56px + max(10px, env(safe-area-inset-top)));
    --home-section-gap: clamp(40px, 10vw, 56px);
    --home-section-gap-sm: clamp(32px, 8vw, 48px);
  }

  body.arbicar-front-page,
  body.path-frontpage,
  body:has(.home-page) {
    padding-top: 0 !important;
  }
}
