/* Homepage finishing layer: a single rhythm for the native-material palette. */
.home-page { --home-space: clamp(64px, 7vw, 100px); overflow: clip; }
.home-page .container { max-width: 1240px; padding-inline: clamp(20px, 3vw, 40px); }
.home-page .section { padding-block: var(--home-space); }
.home-page .section--soft { background: #F5F0E6; }
.home-page .section-head { max-width: none; margin: 0 0 clamp(28px, 3.5vw, 44px); text-align: left; }
.home-page .section-title { max-width: 23ch; margin: 0 0 12px; font-size: clamp(1.85rem, 2.8vw, 2.65rem); line-height: 1.15; letter-spacing: -.03em; text-wrap: balance; }
.home-page .section-subtitle { max-width: 70ch; color: var(--gp-text-secondary); font-size: clamp(1rem, 1.2vw, 1.0625rem); line-height: 1.65; }

/* Main content controls can grow without changing the shared site header. */
.home-page .btn { min-width: 0; max-width: 100%; min-height: 44px; height: auto; padding: 11px 18px; white-space: normal; text-align: center; line-height: 1.25; }
.home-page .btn--sm { min-height: 40px; padding: 9px 14px; font-size: .8125rem; }
.home-page .btn--lg { min-height: 48px; padding: 12px 20px; font-size: .9375rem; }

.home-page .hero { padding: clamp(68px, 8vw, 120px) 0 clamp(60px, 7vw, 88px); background: linear-gradient(180deg, #F5F0E6 0%, #fff 72%); }
.home-page .hero__inner { max-width: 960px; }
.home-page .hero__title { max-width: 18ch; margin: 0 auto 20px; font-size: clamp(2.4rem, 4.8vw, 4.5rem); line-height: 1.06; letter-spacing: -.04em; text-wrap: balance; overflow-wrap: normal; }
.home-page .hero__lead { max-width: 64ch; margin: 0 auto 28px; font-size: clamp(1.05rem, 1.5vw, 1.2rem); line-height: 1.65; }
.home-page .hero__actions { gap: 10px; margin-bottom: clamp(52px, 6vw, 80px); }
.home-page .hero__actions .btn { overflow-wrap: anywhere; }
.home-page .hero__stats { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; border: 0; border-top: 1px solid var(--gp-border-strong); border-radius: 0; background: transparent; overflow: visible; }
.home-page .hero__stat-item { padding: 24px 18px 0; background: transparent; }
.home-page .hero__stat-item + .hero__stat-item { border-left: 1px solid var(--gp-border); }
.home-page .hero__stat-num { font-size: clamp(1.5rem, 2.1vw, 2rem); line-height: 1.1; color: var(--gp-primary-active); }
.home-page .hero__stat-label { max-width: 22ch; margin: 7px auto 0; font-size: .8125rem; line-height: 1.4; color: var(--gp-text-secondary); }

/* Shared card surface and spacing across all home sections. */
.home-page :is(.category-card, .product-card, .workflow-card, .platform-card) { min-width: 0; border: 1px solid var(--gp-border); border-radius: 12px; background: var(--gp-surface); box-shadow: none; }
.home-page :is(.category-card, .product-card):hover { border-color: var(--gp-primary-border); background: var(--gp-surface); box-shadow: 0 8px 22px rgba(33, 25, 20, .07); transform: translateY(-2px); }
.home-page #categories { padding-block: clamp(40px, 4.5vw, 60px); }
.home-page #categories .section-head { margin-bottom: 22px; }
.home-page .category-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.home-page .category-grid[data-count="5"] { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.home-page .category-grid[data-count="5"] .category-card { grid-column: span 2; }
.home-page .category-grid[data-count="5"] .category-card:nth-child(n+4) { grid-column: span 3; }
.home-page .category-grid[data-count="4"] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.home-page .category-card { min-height: 88px; padding: 18px 20px; align-items: center; justify-content: space-between; gap: 16px; }
.home-page .category-card__icon { width: 38px; height: 38px; min-width: 38px; color: var(--gp-primary); background: var(--gp-primary-light); }
.home-page .category-card__info { min-width: 0; }
.home-page .category-card__name { white-space: normal; overflow: visible; text-overflow: clip; font-size: 1rem; line-height: 1.35; }
.home-page .category-card__count { margin-top: 6px; font-size: .8125rem; line-height: 1.4; color: var(--gp-text-secondary); }
.home-page .category-card__arrow { width: 20px; height: 20px; flex: none; color: var(--gp-primary); transition: transform var(--gp-transition-fast); }
.home-page .category-card:hover .category-card__arrow { transform: translateX(4px); }
.home-page .category-card:focus-visible { outline: 3px solid var(--gp-primary); outline-offset: 3px; }

.home-page .product-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.home-page .product-card__thumb { aspect-ratio: 4 / 3; }
.home-page .product-card__body { padding: 20px; gap: 8px; }
.home-page .product-card__supplier { font-size: .75rem; line-height: 1.4; color: var(--gp-text-secondary); }
.home-page .product-card__title { font-size: 1rem; line-height: 1.4; }
.home-page .product-card__price-row { flex-wrap: wrap; margin-top: auto; padding-top: 6px; }
.home-page .product-card__price { font-size: 1.25rem; }
.home-page .product-card__meta { gap: 8px; flex-wrap: wrap; margin-top: 8px; padding-top: 12px; }
.home-page .product-card__body > .btn { margin-top: 0; }
.home-page .product-card__body > div:last-child .btn { width: 100%; }
.home-page .section-action { display: flex; justify-content: center; margin-top: 36px; }

.home-page .workflow-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.home-page .workflow-card { padding: clamp(20px, 2.2vw, 28px); gap: 12px; }
.home-page .workflow-card__step { width: 32px; height: 32px; font-size: .875rem; }
.home-page .workflow-card__title { font-size: 1.0625rem; line-height: 1.35; }
.home-page .workflow-card__desc { font-size: .875rem; line-height: 1.6; }

.home-page .platform-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.home-page .platform-card { padding: clamp(20px, 2.2vw, 28px); gap: 16px; }
.home-page .platform-card__header { min-width: 0; flex-wrap: wrap; align-items: flex-start; gap: 8px 16px; }
.home-page .platform-card__title { font-size: 1.1875rem; line-height: 1.35; }
.home-page .platform-card__domain { max-width: 100%; overflow-wrap: anywhere; font-family: var(--gp-font-sans); font-size: .75rem; }
.home-page .platform-card__desc { font-size: .9375rem; line-height: 1.6; }
.home-page .platform-card__features { gap: 10px; font-size: .875rem; line-height: 1.5; color: var(--gp-text-secondary); }
.home-page .platform-card__features li { align-items: flex-start; gap: 10px; }
.home-page .platform-card__features svg { margin-top: 2px; }
.home-page .platform-card__action { margin-top: auto; padding-top: 12px; }

.home-page #diagnostic-teaser { background: #F5E9D4; border-block: 1px solid var(--gp-primary-border); }
.home-page .diagnostic-teaser__inner { max-width: 780px; text-align: center; }
.home-page .diagnostic-teaser__inner .section-title { max-width: none; margin-inline: auto; }
.home-page .diagnostic-teaser__inner .section-subtitle { max-width: 65ch; margin: 0 auto 28px; }

@media (max-width: 1100px) {
  .home-page .category-grid, .home-page .product-grid, .home-page .workflow-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-page .category-grid[data-count="5"] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-page .category-grid[data-count="5"] .category-card:nth-child(n) { grid-column: auto; }
  .home-page .category-grid[data-count="5"] .category-card:last-child { grid-column: 1 / -1; }
}
@media (max-width: 700px) {
  .home-page { --home-space: 56px; }
  .home-page .hero { padding-block: 64px 52px; }
  .home-page .hero__title { font-size: clamp(2.2rem, 9vw, 3.3rem); }
  .home-page .hero__actions { flex-direction: column; align-items: stretch; gap: 10px; margin-bottom: 44px; }
  .home-page .hero__actions .btn { width: 100%; }
  .home-page .hero__stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-page .hero__stat-item { padding: 18px 10px; }
  .home-page .hero__stat-item:nth-child(3) { border-left: 0; }
  .home-page .hero__stat-item:nth-child(n+3) { border-top: 1px solid var(--gp-border); }
  .home-page .category-grid, .home-page .product-grid, .home-page .workflow-grid, .home-page .platform-grid { grid-template-columns: 1fr; }
  .home-page .category-grid[data-count="4"], .home-page .category-grid[data-count="5"] { grid-template-columns: 1fr; }
  .home-page .category-grid[data-count="5"] .category-card:last-child { grid-column: auto; }
  .home-page .category-card { min-height: 0; flex-direction: row; gap: 14px; padding: 16px 18px; }
  .home-page .section-action .btn { width: 100%; }
}
@media (max-width: 480px) {
  .home-page .container { padding-inline: 16px; }
  .home-page .hero__title { overflow-wrap: anywhere; }
}
