/* =========================================================
   VeltrixHost R72 — FINAL TYPOGRAPHY + SECTION CONSISTENCY
   2026-09-30
   Loaded last on every public HTML page.
   Purpose: one elegant type hierarchy, clean section rhythm,
   readable cards/FAQs, consistent numeric styling, and subtle
   dividers only when light section tones actually change.
   ========================================================= */
:root{
  --vh-font:'Manrope',ui-sans-serif,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --vh-r72-ink:#101820;
  --vh-r72-text:#36414c;
  --vh-r72-muted:#64707c;
  --vh-r72-micro:#727e89;
  --vh-r72-line:#e3e7eb;
  --vh-r72-line-strong:#d5dbe1;
  --vh-r72-soft:#f6f8f9;
  --vh-r72-soft-2:#f9fafb;
  --vh-r72-dark:#080d12;
  --vh-r72-radius:14px;
  --vh-r72-shadow:0 12px 34px rgba(15,23,42,.055);
}

html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body.vh-page-body{
  font-family:var(--vh-font)!important;
  font-size:16px!important;
  line-height:1.68!important;
  font-weight:400!important;
  letter-spacing:-.006em!important;
  color:var(--vh-r72-text)!important;
  background:#fff!important;
  font-kerning:normal;
  font-feature-settings:'kern' 1,'liga' 1,'tnum' 1;
}
body.vh-page-body p,body.vh-page-body li,body.vh-page-body dd,body.vh-page-body dt,
body.vh-page-body a,body.vh-page-body button,body.vh-page-body input,body.vh-page-body select,
body.vh-page-body textarea,body.vh-page-body summary,body.vh-page-body label{
  font-family:var(--vh-font)!important;
}

/* Heading hierarchy — deliberately restrained, not oversized. */
body.vh-page-body h1,body.vh-page-body h2,body.vh-page-body h3,body.vh-page-body h4,
body.vh-page-body h5,body.vh-page-body h6{
  font-family:var(--vh-font)!important;
  color:var(--vh-r72-ink);
  text-rendering:optimizeLegibility;
}
body.vh-page-body .vh-rs-hero h1,
body.vh-page-body .vh-domain-rs-hero h1,
body.vh-page-body .vh-legal-hero h1,
body.vh-page-body .vh-review-hero__copy h1,
body.vh-page-body .vh-deals-hero__copy h1{
  font-size:clamp(42px,4.15vw,58px)!important;
  line-height:1.025!important;
  font-weight:700!important;
  letter-spacing:-.047em!important;
  text-wrap:balance!important;
  color:var(--vh-r72-ink)!important;
}
body.vh-page-body .vh-hero-title__accent{font-weight:650!important;letter-spacing:-.042em!important}
body.vh-page-body .vh-section-head,
body.vh-page-body .vh-review-section-head,
body.vh-page-body .vh-deals-section-head{
  max-width:790px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  margin-bottom:34px!important;
  text-align:center!important;
}
body.vh-page-body .vh-section-head h2,
body.vh-page-body .vh-review-section-head h2,
body.vh-page-body .vh-deals-section-head h2,
body.vh-page-body .vh-seo-intent-title h2{
  font-size:clamp(29px,2.65vw,38px)!important;
  line-height:1.12!important;
  font-weight:700!important;
  letter-spacing:-.034em!important;
  color:var(--vh-r72-ink)!important;
  text-wrap:balance!important;
}
body.vh-page-body .vh-footer-cta h2{font-size:clamp(25px,2.2vw,32px)!important;line-height:1.15!important;font-weight:700!important;letter-spacing:-.03em!important}
body.vh-page-body .vh-feature-card h3,
body.vh-page-body .vh-info-panel h3,
body.vh-page-body .vh-service-card h3,
body.vh-page-body .vh-product-story h3,
body.vh-page-body .vh-home-workload-card h3,
body.vh-page-body .vh-r45-index-card h3{
  font-size:19px!important;
  line-height:1.28!important;
  font-weight:700!important;
  letter-spacing:-.022em!important;
}

/* Kicker / eyebrow system: same font family and weight everywhere. */
body.vh-page-body .vh-section-kicker,
body.vh-page-body .vh-rs-hero__eyebrow,
body.vh-page-body .vh-domain-rs-hero__eyebrow,
body.vh-page-body .vh-footer-cta__eyebrow,
body.vh-page-body .vh-r45-service,
body.vh-page-body .vh-shared-service-label,
body.vh-page-body .vh-vps-service-label,
body.vh-page-body .vh-mail-service-label{
  font-family:var(--vh-font)!important;
  font-size:11px!important;
  line-height:1.35!important;
  font-weight:700!important;
  letter-spacing:.075em!important;
  text-transform:uppercase!important;
  color:var(--vh-orange)!important;
}
body.vh-page-body .vh-section-kicker,
body.vh-page-body .vh-rs-hero__eyebrow,
body.vh-page-body .vh-domain-rs-hero__eyebrow{margin-bottom:11px!important}
body.vh-page-body .vh-rs-hero__eyebrow{text-transform:none!important;letter-spacing:.035em!important}

/* Body/readability — paragraphs never become tiny or too wide. */
body.vh-page-body .vh-rs-hero__lead,
body.vh-page-body .vh-domain-rs-hero__lead,
body.vh-page-body .vh-section-head p,
body.vh-page-body .vh-review-section-head p,
body.vh-page-body .vh-deals-section-head p,
body.vh-page-body .vh-feature-card p,
body.vh-page-body .vh-info-panel p,
body.vh-page-body .vh-service-card p,
body.vh-page-body .vh-product-story p,
body.vh-page-body .vh-seo-intent-copy p{
  font-size:15px!important;
  line-height:1.72!important;
  font-weight:400!important;
  letter-spacing:-.004em!important;
  color:var(--vh-r72-muted)!important;
}
body.vh-page-body .vh-rs-hero__lead{max-width:700px!important;font-size:16px!important;line-height:1.7!important;color:#55616d!important}
body.vh-page-body .vh-section-head p{max-width:670px!important;margin-top:11px!important}
body.vh-page-body small{font-weight:500}

/* Prices/spec numbers — elegant and aligned. */
body.vh-page-body [class*='price'],
body.vh-page-body [data-vh-starting-price],
body.vh-page-body .vh-rs-stat strong,
body.vh-page-body .vh-spec-list dd,
body.vh-page-body .vh-home-workload-copy dd{
  font-variant-numeric:tabular-nums lining-nums!important;
  font-feature-settings:'tnum' 1,'lnum' 1!important;
}
body.vh-page-body .vh-plan-price strong,
body.vh-page-body .vh-sale-price strong,
body.vh-page-body .vh-r45-index-price strong{
  font-family:var(--vh-font)!important;
  font-weight:700!important;
  letter-spacing:-.045em!important;
}

/* Cards and surfaces: one radius/border language, restrained motion. */
body.vh-page-body .vh-feature-card,
body.vh-page-body .vh-info-panel,
body.vh-page-body .vh-home-workload-card,
body.vh-page-body .vh-r45-index-card,
body.vh-page-body .vh-plan-card,
body.vh-page-body .vh-vps-card,
body.vh-page-body .vh-mail-plan,
body.vh-page-body .vh-location-card,
body.vh-page-body .vh-quote-card{
  border-color:var(--vh-r72-line)!important;
  border-radius:var(--vh-r72-radius)!important;
  box-shadow:none!important;
}
body.vh-page-body .vh-feature-card:hover,
body.vh-page-body .vh-home-workload-card:hover,
body.vh-page-body .vh-r45-index-card:hover,
body.vh-page-body .vh-plan-card:hover,
body.vh-page-body .vh-vps-card:hover,
body.vh-page-body .vh-mail-plan:hover{
  border-color:var(--vh-r72-line-strong)!important;
  box-shadow:var(--vh-r72-shadow)!important;
  transform:translateY(-2px)!important;
}

/* Section rhythm. Existing dark sections stay dark. Light section borders are
   removed here; the tiny R72 JS adds one only for white<->soft transitions. */
body.vh-page-body .vh-content-section{
  padding-top:74px!important;
  padding-bottom:74px!important;
  border-top:0!important;
  border-bottom:0!important;
}
body.vh-page-body .vh-content-section--soft{background:var(--vh-r72-soft)!important}
body.vh-page-body .vh-content-section--cta{background:var(--vh-r72-soft)!important}
body.vh-page-body .vh-seo-intent-section{border-top:0!important;border-bottom:0!important}
body.vh-page-body .vh-r72-tone-divider{border-top:1px solid var(--vh-r72-line)!important}
body.vh-page-body .vh-home-standard,
body.vh-page-body .vh-tone-dark,
body.vh-page-body .vh-review-cta,
body.vh-page-body .vh-ded-includes{
  background:var(--vh-r72-dark)!important;
}
body.vh-page-body .vh-home-standard h2,
body.vh-page-body .vh-home-standard h3,
body.vh-page-body .vh-tone-dark h2,
body.vh-page-body .vh-tone-dark h3,
body.vh-page-body .vh-review-cta h2,
body.vh-page-body .vh-review-cta h3,
body.vh-page-body .vh-ded-includes h2,
body.vh-page-body .vh-ded-includes h3{color:#fff!important}
body.vh-page-body .vh-home-standard p,
body.vh-page-body .vh-tone-dark p,
body.vh-page-body .vh-review-cta p,
body.vh-page-body .vh-ded-includes p{color:#b3bdc6!important}

/* FAQ: readable, compact and consistent — no oversized accordion text. */
body.vh-page-body .vh-faq-list{max-width:1040px!important;margin:0 auto!important;border-top:1px solid var(--vh-r72-line)!important}
body.vh-page-body .vh-faq-list details{border-bottom:1px solid var(--vh-r72-line)!important}
body.vh-page-body .vh-faq-list summary{
  padding:21px 48px 21px 4px!important;
  font-family:var(--vh-font)!important;
  font-size:15.5px!important;
  line-height:1.48!important;
  font-weight:650!important;
  letter-spacing:-.012em!important;
  color:#1d2731!important;
  background:transparent!important;
}
body.vh-page-body .vh-faq-list summary:hover{padding-left:4px!important;color:#0d151d!important;background:transparent!important}
body.vh-page-body .vh-faq-list summary::after{right:7px!important;top:18px!important;font-size:21px!important;color:#6d7883!important}
body.vh-page-body .vh-faq-list details>p,
body.vh-page-body .vh-faq-list details>div{
  padding:0 54px 22px 4px!important;
  font-size:14.5px!important;
  line-height:1.78!important;
  color:#596672!important;
}
body.vh-page-body .vh-faq-list details>div p{font-size:14.5px!important;line-height:1.78!important;color:#596672!important}

/* Legal pages get the same body typography without changing their structure. */
body.vh-page-body .vh-legal-section h2{font-size:clamp(24px,2vw,30px)!important;line-height:1.18!important;font-weight:700!important;letter-spacing:-.026em!important}
body.vh-page-body .vh-legal-section h3{font-size:18px!important;line-height:1.35!important;font-weight:700!important}
body.vh-page-body .vh-legal-section p,
body.vh-page-body .vh-legal-section li{font-size:15px!important;line-height:1.78!important;color:#4f5c68!important}

/* Navigation and footer type are aligned with the public site system. */
body.vh-page-body .vh-nav-link{font-family:var(--vh-font)!important;font-size:13.5px!important;font-weight:650!important;letter-spacing:-.01em!important}
body.vh-page-body .vh-menu-copy strong{font-family:var(--vh-font)!important;font-weight:700!important}
body.vh-page-body .vh-menu-copy small{font-family:var(--vh-font)!important}
body.vh-page-body .vh-footer,body.vh-page-body .vh-footer *{font-family:var(--vh-font)}

/* Only genuine terminal/console visuals retain monospace. */
body.vh-page-body code,
body.vh-page-body pre,
body.vh-page-body .vh-terminal-lines,
body.vh-page-body .vh-home-terminal-mini,
body.vh-page-body .vh-code-console,
body.vh-page-body .vh-linux-terminal__body,
body.vh-page-body .vh-smtp-console,
body.vh-page-body .vh-real-windowbar{font-family:var(--vh-mono)!important}

/* SEO-intent copy stays visible and useful, never hidden for crawlers. */
body.vh-page-body .vh-seo-intent-copy{max-width:760px}
body.vh-page-body .vh-seo-intent-copy a{
  color:#1f2a34!important;
  font-weight:650!important;
  text-decoration:underline!important;
  text-decoration-color:#c6cdd3!important;
  text-underline-offset:4px!important;
}
body.vh-page-body .vh-seo-intent-copy a:hover{color:var(--vh-orange-strong)!important;text-decoration-color:rgba(217,122,22,.45)!important}

@media(max-width:980px){
  body.vh-page-body .vh-rs-hero h1,
  body.vh-page-body .vh-domain-rs-hero h1,
  body.vh-page-body .vh-legal-hero h1,
  body.vh-page-body .vh-review-hero__copy h1{font-size:clamp(38px,7vw,50px)!important}
  body.vh-page-body .vh-content-section{padding-top:62px!important;padding-bottom:62px!important}
}
@media(max-width:640px){
  body.vh-page-body{font-size:15.5px!important}
  body.vh-page-body .vh-rs-hero h1,
  body.vh-page-body .vh-domain-rs-hero h1,
  body.vh-page-body .vh-legal-hero h1,
  body.vh-page-body .vh-review-hero__copy h1{font-size:clamp(34px,10vw,42px)!important;line-height:1.04!important;letter-spacing:-.04em!important}
  body.vh-page-body .vh-section-head h2,
  body.vh-page-body .vh-review-section-head h2,
  body.vh-page-body .vh-deals-section-head h2,
  body.vh-page-body .vh-seo-intent-title h2{font-size:27px!important;line-height:1.16!important}
  body.vh-page-body .vh-content-section{padding-top:52px!important;padding-bottom:52px!important}
  body.vh-page-body .vh-faq-list summary{font-size:15px!important;padding:19px 42px 19px 0!important}
  body.vh-page-body .vh-faq-list details>p,
  body.vh-page-body .vh-faq-list details>div{padding:0 22px 20px 0!important;font-size:14px!important}
}
@media(prefers-reduced-motion:reduce){
  body.vh-page-body *,body.vh-page-body *::before,body.vh-page-body *::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
}
