/* Penyesuaian khusus halaman depan. */
.landing-hero { min-height: min(100vh, 820px); }
.landing-hero .container { width: 100%; }
.hero-content { padding: 112px 0 56px; }
.section { scroll-margin-top: 80px; }

@media (max-width: 768px) {
  .landing-hero { min-height: auto; }
  .hero-content { padding: 112px 0 44px; }
  .hero-buttons { flex-direction: row; align-items: stretch; gap: 10px; }
  .hero-buttons .btn { justify-content: center; padding: 13px 20px; font-size: .95rem; }
  .stats-row { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-top: 32px; }
  .stat-card { min-width: 0; padding: 15px 6px; }
  .stat-card .number { font-size: 1.65rem; }
  .stat-card .label { font-size: .75rem; line-height: 1.35; }
  .section { padding: 52px 0; }
  .section-title { margin-bottom: 10px; }
  .section-subtitle { margin-bottom: 28px; line-height: 1.5; }
  .features-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
  .feature-card { padding: 22px; }
  .feature-icon { width: 46px; height: 46px; font-size: 1.2rem; margin-bottom: 14px; }
  .feature-card h3 { margin-bottom: 8px; }
  .flow-steps { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; align-items: stretch; }
  .flow-step { min-width: 0; max-width: none; padding: 16px 12px; }
  .flow-step .step-num { margin-bottom: 10px; width: 40px; height: 40px; }
  .flow-step p { line-height: 1.5; }
}
@media (max-width: 600px) {
  .landing-hero .container, .section .container { padding-left: 18px; padding-right: 18px; }
  .hero-content { padding: 105px 0 38px; }
  .hero-badge { padding: 7px 13px; margin-bottom: 16px; font-size: .75rem; }
  h1.hero-title { font-size: clamp(2rem, 9vw, 2.7rem); margin-bottom: 14px; }
  .hero-subtitle { font-size: .93rem; line-height: 1.55; margin-bottom: 22px; }
  .stats-row { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 24px; }
  .stat-card { padding: 10px 8px; }
  .stat-card .number { font-size: 1.5rem; line-height: 1.15; }
  .stat-card .label { margin-top: 3px; }
  .section { padding: 42px 0; }
  .section-subtitle { font-size: .9rem; margin-bottom: 24px; }
  .features-grid { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .feature-card { display: grid; grid-template-columns: 42px minmax(0, 1fr); column-gap: 13px; align-content: start; padding: 16px; }
  .feature-icon { grid-row: 1 / span 2; width: 42px; height: 42px; margin: 0; font-size: 1.1rem; }
  .feature-card h3 { font-size: 1.05rem; margin: 0 0 5px; }
  .feature-card p { font-size: .85rem; line-height: 1.5; }
  .flow-steps { gap: 4px; }
  .flow-step { padding: 12px 6px; }
  .flow-step h4 { margin-bottom: 5px; }
  .flow-step p { font-size: .8rem; }
}
@media (max-width: 360px) {
  .hero-buttons .btn { flex: 1 1 100%; }
  .hero-badge { font-size: .7rem; }
}
@media (prefers-reduced-motion: reduce) {
  .landing-hero::before, .landing-hero::after, .hero-badge .dot { animation: none; }
}
