html { scroll-behavior: smooth; }
img { max-width: 100%; height: auto; }
.site-head, .hero, .features { width: calc(100% - 32px); }
.brand:focus-visible, .site-head a:focus-visible, .btn:focus-visible {
  outline: 3px solid rgba(15, 118, 110, .35);
  outline-offset: 3px;
}

@media (max-width: 900px) {
  .site-head { padding: 18px 4px; }
  .site-head nav { display: flex; align-items: center; }
  .hero { margin-top: 24px; padding: 64px 7%; }
  .features { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 700px) {
  .site-head { gap: 12px; }
  .brand { font-size: 17px; white-space: nowrap; }
  .site-head nav a { margin-left: 10px; }
  .site-head .btn { min-height: 44px; padding: 13px 15px; white-space: nowrap; }
  .hero { width: calc(100% - 24px); margin: 12px auto 28px; padding: 52px 24px; border-radius: 20px; }
  .hero h1 { font-size: clamp(38px, 13vw, 54px); }
  .hero p { font-size: 17px; }
  .hero:after { width: 230px; height: 230px; right: -100px; top: -110px; }
  .features { width: calc(100% - 24px); grid-template-columns: 1fr; margin: 0 auto 48px; }
  .feature { padding: 22px; }
}

@media (max-width: 390px) {
  .site-head { width: calc(100% - 20px); }
  .brand { font-size: 15px; }
  .site-head .btn { font-size: 13px; padding-inline: 12px; }
  .hero { padding-inline: 20px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}
