/* Homepage editorial treatment, using the shared vpsonClick palette. */
.home-page { --guide-wash: #f1eddf; --guide-text: #46433b; }
.home-page p { text-wrap: pretty; }
.home-page h1, .home-page h2, .home-page h3 { text-wrap: balance; }
.home-page .home-hero { gap: 48px; padding: 64px 0 48px; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.home-page .home-hero h1 { font-size: clamp(42px, 5.4vw, 66px); line-height: 1.04; letter-spacing: -.02em; }
.home-page .hero-copy { color: var(--guide-text); font-size: 17px; line-height: 1.75; }
.home-page .hero-note { color: var(--muted); font-size: 12px; line-height: 1.7; }
.home-text-link { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; color: var(--ink); font-size: 14px; font-weight: 750; text-decoration: underline; text-underline-offset: 5px; transition: color 180ms ease; }
.home-text-link:hover { color: var(--accent-dark); }
.home-text-link:active { text-decoration-thickness: 2px; }
.home-hosting-art { margin: 0; min-width: 0; align-self: center; }
.home-hosting-visual { display: block; overflow: hidden; border-radius: 20px; background: var(--guide-wash); border: 1px solid var(--line); }
.home-hosting-art img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; }
.home-page .section { padding: 64px 0; }
.home-plan-section { margin-top: 8px; overflow: hidden; border: 1px solid var(--line); border-radius: 20px; background: var(--white); }
.home-plan-intro { grid-column: 1 / 3; min-width: 0; padding: 32px; background: var(--guide-wash); }
.home-plan-intro h2 { font-size: clamp(28px, 3.5vw, 40px); line-height: 1.15; letter-spacing: -.02em; overflow-wrap: anywhere; }
.home-plan-intro > p:not(.eyebrow) { max-width: 520px; color: var(--guide-text); font-size: 15px; line-height: 1.75; margin: 12px 0 0; overflow-wrap: anywhere; }
.home-plan-preview { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); align-items: stretch; }
.home-plan-offer { grid-column: 3 / -1; min-width: 0; padding: 32px; border-left: 1px solid var(--line); }
.home-plan-price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px; margin: 0; }
.home-plan-price strong { font-size: clamp(36px, 4vw, 48px); font-weight: 750; letter-spacing: -.04em; line-height: 1; }
.home-plan-price span { color: var(--muted); font-size: 14px; }
.home-plan-term { margin: 12px 0 20px; font-size: 13px; line-height: 1.7; color: var(--guide-text); }
.home-plan-offer .button { min-height: 48px; box-shadow: none; }
.home-plan-specs { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; border-top: 1px solid var(--line); }
.home-plan-specs > div { min-width: 0; padding: 24px 32px; }
.home-plan-specs > div + div { border-left: 1px solid var(--line); }
.home-plan-specs dt { color: var(--muted); font-size: 12px; margin-bottom: 8px; }
.home-plan-specs dd { margin: 0; font-size: 16px; font-weight: 650; overflow-wrap: anywhere; }
.home-plan-empty { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 32px; background: var(--guide-wash); }
.home-plan-empty .home-plan-intro { padding: 0; }
.home-plan-empty .home-text-link { flex: 0 0 auto; }
.home-journey { list-style: none; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; margin: 0; padding: 0; }
.home-journey li { display: flex; flex-direction: column; align-items: flex-start; min-width: 0; padding-top: 24px; border-top: 1px solid var(--line); }
.home-step { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 12px; background: var(--ink); color: var(--accent); font-size: 13px; font-weight: 750; margin-bottom: 24px; }
.home-journey h3 { font-size: 22px; line-height: 1.25; letter-spacing: -.025em; }
.home-journey p { color: var(--guide-text); font-size: 15px; line-height: 1.75; margin: 12px 0 18px; }
.home-journey .home-text-link { margin-top: auto; }
.home-page .home-guide-section { border-top: 1px solid var(--line); }
.home-page .home-guide-section .guide-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px; }
.home-page .guide-card-link { display: grid; grid-template-columns: .9fr 1.1fr; }
.home-page .guide-card-art { display: grid; align-items: center; border-bottom: 0; border-right: 1px solid var(--line); }
.home-page .guide-card h3 { font-size: 20px; }
.home-page .guide-card-copy { padding: 22px; }
.home-page .guide-card-copy > p:not(.guide-meta) { font-size: 13px; }
.home-page .guide-section-heading h2 { font-size: clamp(30px, 4vw, 48px); }
@media (max-width: 960px) {
  .home-page .home-hero { gap: 28px; }
  .home-page .guide-card-link { display: flex; }
  .home-page .guide-card-art { border-right: 0; border-bottom: 1px solid var(--line); }
}
@media (max-width: 820px) {
  .home-page .home-hero { grid-template-columns: 1fr; padding: 40px 0; }
  .home-hosting-art { width: 100%; max-width: 620px; }
  .home-plan-preview { grid-template-columns: 1fr; }
  .home-plan-intro, .home-plan-offer { grid-column: auto; }
  .home-plan-intro, .home-plan-offer { padding: 28px; }
  .home-plan-offer { border-left: 0; border-top: 1px solid var(--line); }
  .home-plan-specs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-plan-specs > div { padding: 24px 28px; }
  .home-plan-specs > div:nth-child(odd) { border-left: 0; }
  .home-plan-specs > div:nth-child(n + 3) { border-top: 1px solid var(--line); }
  .home-journey { grid-template-columns: 1fr; gap: 24px; }
  .home-step { margin-bottom: 16px; }
  .home-page .section { padding: 48px 0; }
}
@media (max-width: 520px) {
  .home-page .home-guide-section .guide-grid { grid-template-columns: 1fr; }
  .home-page .home-hero h1 { font-size: clamp(38px, 9vw, 46px); }
  .home-plan-intro, .home-plan-offer { padding: 24px; }
  .home-plan-specs > div { padding: 20px 24px; }
  .home-plan-empty { align-items: flex-start; flex-direction: column; padding: 24px; }
  .home-plan-offer .button { width: 100%; justify-content: center; }
}
@media (prefers-reduced-motion: reduce) {
  .home-text-link { transition: none; }
}
