/* Asantap Home v2 base composition. Every selector remains page-scoped. */
.as-home {
  background: var(--as-bg);
  color: var(--as-ink);
  font-family: var(--as-font-body);
}

.as-home :where(h1, h2, h3) {
  color: var(--as-ink);
  font-family: var(--as-font-heading);
  font-weight: 700;
  letter-spacing: -0.025em;
}

.as-home :where(a, button, input, select, textarea):focus-visible {
  outline: 3px solid color-mix(in srgb, var(--as-accent) 42%, transparent);
  outline-offset: 3px;
}

.as-home .as-home__section {
  padding-block: var(--as-section-space);
}

.as-home .as-home__container {
  margin-inline: auto;
  max-width: var(--as-container);
  padding-inline: clamp(20px, 4vw, 32px);
  width: 100%;
}

.as-home .as-home__hero {
  align-items: center;
  display: grid;
  gap: clamp(32px, 5vw, 72px);
  grid-template-areas:
    "title visual"
    "lead visual"
    "search visual";
  grid-template-columns: minmax(0, 1.02fr) minmax(360px, 0.98fr);
  min-height: min(760px, calc(100svh - 80px));
  overflow: clip;
  padding-block: clamp(48px, 7vw, 88px);
}

.as-home .as-home__title {
  align-self: end;
  grid-area: title;
  margin: 0;
  text-align: start !important;
}

.as-home .as-home__title .elementor-heading-title {
  color: var(--as-ink) !important;
  font-size: clamp(2.5rem, 5vw, 4.75rem) !important;
  line-height: 1.06 !important;
  margin: 0;
  max-width: 12ch;
}

.as-home .as-home__lead {
  align-self: start;
  color: var(--as-muted);
  grid-area: lead;
  margin-block: var(--as-space-4) 0;
  max-width: 58ch;
  text-align: start !important;
}

.as-home .as-home__lead .elementor-heading-title {
  color: var(--as-muted) !important;
  font-size: clamp(1rem, 1.4vw, 1.125rem) !important;
  font-weight: 400 !important;
  line-height: 1.6 !important;
}

.as-home .as-home__hero::after {
  align-self: stretch;
  background-image: var(--as-hero-image);
  background-position: center;
  background-size: cover;
  border-radius: clamp(20px, 3vw, 36px);
  box-shadow: var(--as-shadow-card);
  content: "";
  grid-area: visual;
  min-height: 520px;
}

.as-home .as-home__search-shell {
  background: var(--as-surface);
  border: 1px solid var(--as-border);
  border-radius: var(--as-radius-card);
  box-shadow: 0 22px 55px rgb(44 74 128 / 12%);
  grid-area: search;
  margin-block-start: var(--as-space-5);
  margin-inline: 0 !important;
  padding: var(--as-space-3);
  width: 100% !important;
}

.as-home .as-home__quick-filters {
  display: flex;
  gap: var(--as-space-2);
  margin-block-start: var(--as-space-3);
  overflow-x: auto;
  padding-block: 2px var(--as-space-2);
  scrollbar-width: thin;
}
.as-home .as-home__quick-filter {
  align-items: center;
  background: var(--as-surface);
  border: 1px solid var(--as-border);
  border-radius: var(--as-radius-pill);
  color: var(--as-ink);
  display: inline-flex;
  flex: 0 0 auto;
  min-height: var(--as-touch-target);
  padding-inline: var(--as-space-3);
  text-decoration: none;
}

.as-home .as-home__quick-filter:hover,
.as-home .as-home__quick-filter[aria-current="true"] {
  background: color-mix(in srgb, var(--as-accent) 10%, var(--as-surface));
  border-color: var(--as-accent);
  color: var(--as-accent-hover);
}

@media (max-width: 767px) {
  .as-home .as-home__section {
    padding-block: clamp(40px, 12vw, 64px);
  }

  .as-home .as-home__hero {
    gap: var(--as-space-5);
    grid-template-areas:
      "title"
      "lead"
      "search"
      "visual";
    grid-template-columns: minmax(0, 1fr);
    min-height: auto;
    padding-block: var(--as-space-5);
  }

  .as-home .as-home__title .elementor-heading-title {
    font-size: clamp(2.15rem, 11vw, 3.4rem) !important;
    max-width: 11ch;
  }

  .as-home .as-home__hero::after {
    min-height: clamp(260px, 75vw, 390px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .as-home *,
  .as-home *::before,
  .as-home *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}
