.hosting-hero { padding: 3rem 0 2rem; }
.hosting-promise { font-size: clamp(1.3rem, 3vw, 2rem); color: #e8eddf; margin: 1rem 0; }
.hosting-plans { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1rem; border: 0; padding: 0; margin: 1rem 0; }
.hosting-plan { display: flex; flex-direction: column; gap: 1.25rem; padding: 1.5rem; border: 1px solid #394536; border-radius: 1rem; background: #151e18; cursor: pointer; }
.hosting-plan:has(input:checked) { border-color: #b6d68d; box-shadow: 0 0 0 2px #b6d68d; background: #233021; }
.hosting-plan input { accent-color: #b6d68d; width: 1.2rem; height: 1.2rem; }
.hosting-capacity { font-size: 1.1rem; font-weight: 600; }
.hosting-price { font-size: 2.4rem; font-weight: 700; color: #eaf2df; }
.hosting-price small { font-size: .85rem; font-weight: 400; padding-left: .25rem; }
.hosting-pricing, .hosting-notice { font-size: .85rem; margin: 1rem 0; }
.hosting-action { display: flex; align-items: end; gap: 1rem; margin-top: 2rem; }
.hosting-region { display: flex; flex-direction: column; gap: .6rem; max-width: 26rem; flex: 1; }
.hosting-region select, .hosting-region input { padding: .8rem 1rem; border: 1px solid #4c5944; border-radius: .6rem; background: #172019; color: #f0f4eb; width: 100%; }
.hosting-result { padding: 2rem; border: 1px solid #4c5944; border-radius: 1rem; background: #172019; }
.hosting-result p { margin: 1rem 0; line-height: 1.7; }
.hosting-selection { font-weight: 700; color: #b6d68d; }
.hosting-consent { display: block; margin: 1.2rem 0; }
.hosting-result a { margin-left: 1rem; text-decoration: underline; }
.hosting-faq { margin: 3rem 0; max-width: 48rem; line-height: 1.8; }
.hosting-faq h2, .hosting-result h2 { font-size: 1.5rem; font-weight: 700; }
.hosting-faq h3 { margin-top: 1rem; font-weight: 600; }
[data-hosting-error] { color: #ffb6a5; padding: 1rem 0; }
.hosting-sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
[data-hosting] [hidden] { display: none; }
@media (max-width: 850px) { .hosting-plans { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 480px) { .hosting-action { flex-direction: column; align-items: stretch; } .hosting-plan { padding: 1rem; } .hosting-price { font-size: 1.8rem; } .hosting-result { padding: 1.25rem; } }

.hosting-benefits { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1rem; margin: 1.5rem 0 2rem; }
.hosting-benefits article { border-left: 3px solid #b6d68d; padding: .5rem 1rem; }
.hosting-benefits h2 { color: #eaf2df; font-size: 1.05rem; font-weight: 700; margin-bottom: .5rem; }
.hosting-benefits p { color: #a0aaa3; font-size: .95rem; line-height: 1.6; }
@media (max-width: 480px) { .hosting-benefits { grid-template-columns: 1fr; } }

.hosting-change-plan { margin-top: 1.5rem; }

.hosting-guide { margin: 2.5rem 0; line-height: 1.8; }
.hosting-guide h2 { font-size: 1.5rem; font-weight: 700; line-height: 1.4; }
.hosting-guide h3 { font-size: 1.1rem; font-weight: 600; }
.hosting-guide p { margin: 1rem 0; }
.hosting-guide a { color: #b6d68d; text-decoration: underline; text-underline-offset: .2em; }
.hosting-guides { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem; }
.hosting-guides > .hosting-guide { border-top: 1px solid #394536; padding-top: 1.5rem; }
@media (max-width: 700px) { .hosting-guides { grid-template-columns: 1fr; gap: 1rem; } .hosting-guides > .hosting-guide { margin: 1rem 0; } }

.hosting-article { max-width: 58rem; margin: 0 auto 3rem; line-height: 1.8; }
.hosting-article h2 { font-size: 1.5rem; font-weight: 700; line-height: 1.4; margin: 2.5rem 0 1rem; }
.hosting-article h3 { font-size: 1.2rem; font-weight: 700; }
.hosting-article p { margin: 1rem 0; }
.hosting-article ol { list-style: decimal; padding-left: 1.5rem; }
.hosting-article li { margin: .75rem 0; }
.hosting-article a:not(.primary-button) { color: #b6d68d; text-decoration: underline; text-underline-offset: .2em; }
.hosting-table-scroll { overflow-x: auto; }
.hosting-article table { width: 100%; border-collapse: collapse; margin: 1rem 0; }
.hosting-article caption { text-align: left; color: #a0aaa3; }
.hosting-article th, .hosting-article td { padding: .8rem; border-bottom: 1px solid #394536; text-align: left; vertical-align: top; }
.hosting-article th { font-weight: 600; }
.hosting-guide-callout { background: #172019; border: 1px solid #4c5944; border-radius: 1rem; padding: 1.5rem; margin: 2rem 0; }

.hosting-article-header { padding: 2rem 0 1.5rem; border-bottom: 1px solid #394536; margin-bottom: 1.5rem; }
.hosting-article-header .page-title { max-width: 48rem; line-height: 1.2; }
.hosting-article-header .muted-text { margin: 1rem 0 0; font-size: .9rem; }
.hosting-article ul { list-style: disc; padding-left: 1.5rem; }
