/* Home의 구성. 글꼴·색상·컴포넌트는 common.css를 공유합니다. */
.home-screen .ui-section-head {
  margin-bottom: var(--space-6);
}
.home-screen .ui-section-head .section-kicker {
  margin-bottom: var(--space-4);
}
.home-reasons .ui-card {
  padding: var(--space-6);
  display: flex;
  flex-direction: column;
}
.home-reasons .ui-card .ui-caption {
  margin-bottom: var(--space-3);
}
.home-reasons .ui-card-link {
  margin-top: auto;
  padding-top: var(--space-4);
}
.hero-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
  gap: var(--space-12);
  align-items: center;
}
.hero-layout > div { min-width: 0; }
.hero-layout .ui-display { text-wrap: balance; }
.hero-figure figcaption {
  margin-top: var(--space-2);
}
.home-case-preview {
  align-items: center;
}
.home-coverage .home-coverage-head {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, .9fr);
  align-items: end;
  gap: var(--space-8);
  max-width: none;
  margin-bottom: var(--space-2);
}
.home-coverage-head > .ui-copy { margin: 0 0 var(--space-2); }
@media (min-width: 901px) {
  .home-coverage .ui-coverage-map { max-width: min(100%, max(600px, calc((100svh - 440px) * 2))); }
}
@media (max-width: 900px) {
  .home-coverage .home-coverage-head { grid-template-columns: 1fr; gap: var(--space-4); margin-bottom: var(--space-6); }
  .home-coverage-head > .ui-copy { margin: 0; }
}
.home-data-scope .ui-section-head {
  max-width: none;
}
.home-data-scope .ui-data-card:first-child .ui-data-image img {
  object-position: 50% 32%;
}
@media (min-width: 901px) {
  .home-data-scope { padding-block: var(--space-6); }
  .home-data-scope .ui-section-head { margin-bottom: var(--space-4); }
  .home-data-scope .ui-data-image img { aspect-ratio: 2 / 1; }
  .home-data-scope .ui-data-card-heading { padding-top: var(--space-4); }
  .home-data-scope .ui-data-fields { padding-block: var(--space-3) var(--space-4); }
}
@media (min-width: 901px) and (max-height: 760px) {
  .home-data-scope {
    padding-block: var(--space-4);
  }
  .home-data-scope .ui-data-image img { aspect-ratio: 11 / 4; }
  .home-data-scope .ui-section-head {
    margin-bottom: var(--space-4);
  }
}
.home-faq-section {
  padding-top: clamp(var(--space-12), 10svh, calc(var(--space-16) + var(--space-8)));
}
.home-faq {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
  gap: var(--space-16);
}
@media (max-width: 900px) {
  .home-faq-section { padding-top: var(--space-12); }
  .home-faq {
    grid-template-columns: 1fr;
    gap: var(--space-8);
  }
  .home-faq .ui-section-head {
    margin-bottom: var(--space-4);
  }
}
@media (min-width: 901px) and (max-height: 760px) {
  .home-faq-section { padding-top: var(--space-12); }
}
@media (max-width: 1100px) {
  .home-hero .hero-layout {
    grid-template-columns: 1fr;
    width: min(var(--layout-narrow), 100% - var(--page-gutter) * 2);
    gap: var(--space-8);
  }
}
/* Stacked or short viewports prioritize uninterrupted reading. */
@media (max-width: 1100px), (max-height: 700px) {
  .home-page {
    scroll-snap-type: none;
  }
}
