.hosting-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(230px, 0.45fr);
  align-items: center;
  gap: clamp(2rem, 5vw, 5rem);
}

.hosting-hero-grid h1 { max-width: 22ch; }
.hosting-hero-aside { display: grid; gap: 1rem; justify-items: start; }
.hosting-hero-aside p { font-size: 0.85rem; line-height: 1.65; max-width: 38ch; color: var(--color-muted); }
.hosting-hero-aside .text-link { font-size: 0.9rem; }
.hosting-content { max-width: 78ch; }
.hosting-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.5rem; padding-left: 1.25rem; }
.hosting-steps li { padding-inline: 0.5rem; }
.hosting-steps strong { display: block; margin-bottom: 0.6rem; }
.hosting-faq { max-width: 850px; }
.hosting-faq details { border-bottom: 1px solid var(--color-border); padding-block: 1.25rem; }
.hosting-faq summary { cursor: pointer; font-weight: 700; line-height: 1.5; }
.hosting-faq details p { margin-top: 1rem; }
.hosting-form-section { scroll-margin-top: 7rem; }
.hosting-services, .hosting-email { margin: 0; border: 1px solid var(--color-border); border-radius: var(--radius-sm); padding: 1rem; min-width: 0; }
.hosting-services legend, .hosting-email legend { font-weight: 700; padding-inline: 0.3rem; }
.hosting-services legend span { font-size: 0.8rem; font-weight: 400; }
.contact-form .hosting-service-choice { display: flex; align-items: center; gap: 0.7rem; padding-block: 0.45rem; font-weight: 400; }
.contact-form .hosting-service-choice input { width: 1.15rem; height: 1.15rem; accent-color: var(--color-brand); flex-shrink: 0; }
.contact-form [hidden] { display: none; }

@media (max-width: 900px) {
  .hosting-hero-grid { grid-template-columns: minmax(0, 1fr); }
  .hosting-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 540px) {
  .hosting-steps { grid-template-columns: minmax(0, 1fr); }
}
