/* Web hosting subpage – builds on site.css §8 (plans) and §12 (subpage helpers) */

.hs-link { color: var(--c-mint); text-decoration: underline; text-underline-offset: 3px; }
.hs-link:hover { text-decoration-thickness: 2px; }

/* Tick list (reuses the plan check icon) */
.hs-ticks { display: grid; gap: 10px; }
.hs-ticks li { position: relative; padding-left: 32px; line-height: 1.6; }
.hs-ticks li::before {
  content: ''; position: absolute; left: 0; top: 4px;
  width: 19px; height: 18px;
  background: url(/assets/img/icons/check-19.svg) center / 19px 18px no-repeat;
}

/* HERO ------------------------------------------------------------------- */
.hs-hero__grid { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 64px; align-items: end; }
.hs-hero__price { padding: 36px; }
.hs-hero__from { color: rgba(255, 255, 255, 0.75); font-size: 14px; font-weight: 500; letter-spacing: 0.3em; text-transform: uppercase; }
.hs-hero__amount { color: var(--c-mint); font-size: var(--fs-price); font-weight: 700; line-height: 1.1; }
.hs-hero__amount span { font-size: 18px; font-weight: 500; }
.hs-hero__price .hs-ticks { margin-top: 24px; padding-top: 24px; border-top: 1px solid rgba(190, 243, 223, 0.15); font-size: 15px; }

/* PLANS ------------------------------------------------------------------ */
.hs-plans { display: flex; justify-content: center; align-items: flex-start; gap: 32px; margin-top: 72px; }
.hs-plans__tag {
  position: absolute; top: -16px; left: 50%; transform: translateX(-50%);
  padding: 2px 16px; border: 1px solid var(--c-mint); border-radius: var(--radius-pill);
  background: var(--c-bg); color: var(--c-mint);
  font-size: 12px; font-weight: 500; letter-spacing: 0.2em; text-transform: uppercase; white-space: nowrap;
}
.hs-note { max-width: 640px; margin: 72px auto 0; color: rgba(255, 255, 255, 0.75); font-size: 14px; line-height: 1.7; text-align: center; }

/* COMPARE ---------------------------------------------------------------- */
.hs-split-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 48px; }
.hs-split-head__text { max-width: 400px; color: rgba(255, 255, 255, 0.82); }
.hs-table { margin-top: 56px; }
.hs-table tbody th { font-weight: 400; }
.hs-table__price td { color: var(--c-mint); font-size: 18px; font-weight: 700; }
.hs-table tfoot td { border-bottom: 0; padding-block: 24px; }
.hs-table__btn { height: 44px; padding: 0 26px; font-size: 15px; }

/* INCLUDED --------------------------------------------------------------- */
.hs-included { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 72px; align-items: start; }
.hs-included__head { position: sticky; top: 40px; }
.hs-included__lead { margin-top: 20px; color: rgba(255, 255, 255, 0.82); }
.hs-included__cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.hs-included__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 40px; margin-top: 24px; }
.hs-included__list li { padding: 24px 0; border-bottom: 1px solid rgba(190, 243, 223, 0.15); }
.hs-included__list h3 { color: var(--c-mint); font-size: 18px; font-weight: 700; line-height: 1.4; }
.hs-included__list p { margin-top: 4px; color: rgba(255, 255, 255, 0.82); font-size: 15px; line-height: 1.7; }

/* WHERE + MIGRATION ------------------------------------------------------ */
.hs-where { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 72px; align-items: center; }
.hs-where__text { max-width: 560px; margin-top: 24px; color: rgba(255, 255, 255, 0.82); }
.hs-where__ticks { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 24px; margin-top: 28px; }
.hs-where__status { display: inline-block; margin-top: 28px; font-weight: 500; }
.hs-migrate { padding: 48px 40px; border-radius: var(--radius-panel); background: var(--c-mint); color: var(--c-bg); }
.hs-migrate .eyebrow { color: var(--c-bg); }
.hs-migrate__title { margin-top: 12px; font-size: 30px; font-weight: 700; line-height: 1.22; }
.hs-migrate p:not(.eyebrow) { margin-top: 14px; }
.hs-migrate .btn { margin-top: 28px; }

/* FAQ -------------------------------------------------------------------- */
.hs-faq { margin-top: 72px; }

/* CTA -------------------------------------------------------------------- */
.hs-cta {
  padding: 96px 64px 64px;
  border-radius: var(--radius-panel);
  background: linear-gradient(238.62deg, #063B27 1.598%, #BEF3DF 73.098%);
  color: var(--c-bg);
}
.hs-cta__kicker { font-size: 22px; font-style: italic; }
.hs-cta__title { margin-top: 12px; font-size: var(--fs-banner); font-weight: 700; line-height: 1.22; }
.hs-cta__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 32px; margin-top: 32px; }
.hs-cta__link { font-weight: 700; text-decoration: underline; text-underline-offset: 4px; }

/* RESPONSIVE ------------------------------------------------------------- */
@media (max-width: 1279px) {
  .hs-plans { flex-wrap: wrap; row-gap: 72px; }
  .hs-included { grid-template-columns: minmax(0, 1fr); gap: 48px; }
  .hs-included__head { position: static; }
}
@media (max-width: 991px) {
  .hs-hero__grid { grid-template-columns: minmax(0, 1fr); gap: 48px; }
  .hs-hero__price { max-width: 420px; }
  .hs-split-head { flex-direction: column; align-items: flex-start; gap: 20px; }
  .hs-where { grid-template-columns: minmax(0, 1fr); gap: 48px; }
  .hs-faq { margin-top: 48px; }
  .faq-item__q { font-size: 18px; line-height: 1.6; }
  .hs-cta { padding: 48px 28px 40px; }
  .hs-cta__kicker { font-size: 18px; }
}
@media (max-width: 600px) {
  .plan, .plan--featured { width: 100%; }
  .hs-included__cards, .hs-included__list, .hs-where__ticks { grid-template-columns: minmax(0, 1fr); }
  .hs-hero__price, .card { padding: 28px; }
  .hs-migrate { padding: 36px 28px; }
}

/* AI WEBSITE HOSTING PAGE (/ai-website-hosting/) -------------------------------- */
.cc-vps { margin-top: 32px; }
.cc-steps > li { counter-increment: cc-step; }
.cc-steps { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; margin-top: 56px; counter-reset: cc-step; }
.cc-steps .card__title::before { content: counter(cc-step, decimal-leading-zero); display: block; margin-bottom: 12px; color: var(--c-mint); font-size: 14px; letter-spacing: 0.2em; }
.cc-steps code, .cc-prompt code { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
.cc-steps code { color: var(--c-mint); font-size: .92em; }
.cc-prompt { margin-top: 32px; padding: 28px 32px; border-radius: var(--radius-card); background: rgba(0, 0, 0, 0.35); }
.cc-prompt__label { color: var(--c-mint); font-size: 13px; font-weight: 500; letter-spacing: 0.2em; text-transform: uppercase; }
.cc-prompt pre { margin-top: 16px; overflow-x: auto; color: rgba(255, 255, 255, 0.9); font-size: 15px; line-height: 1.7; white-space: pre-wrap; }
@media (max-width: 1279px) { .cc-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .cc-steps { grid-template-columns: minmax(0, 1fr); } .cc-prompt { padding: 24px 20px; } }
