/* 4B42-TYPOGRAPHY-SYSTEM-V1
   4b42 production readability layer. Tenant-owned and brand-neutral. */
.nova-theme{
  --tc-typography-type-caption:12px;
  --tc-typography-type-ui:13px;
  --tc-typography-type-small:14px;
  --tc-typography-type-body:16px;
  --tc-typography-type-lead:18px;
  --tc-typography-line-tight:1.12;
  --tc-typography-line-heading:1.22;
  --tc-typography-line-body:1.65;
  font-size:var(--tc-typography-type-body);
  line-height:var(--tc-typography-line-body);
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}
.nova-theme :where(h1,h2,h3,h4,h5,h6){line-height:var(--tc-typography-line-heading);text-wrap:balance}
.nova-theme :where(p,li){line-height:var(--tc-typography-line-body)}
.nova-theme :where(small){font-size:var(--tc-typography-type-caption)!important;line-height:1.45!important}
.nova-theme :where(input,select,textarea){font-size:15px;line-height:1.45}
.nova-theme :where(form label){font-size:var(--tc-typography-type-ui);line-height:1.45}
.nova-theme :where(form p){font-size:var(--tc-typography-type-ui);line-height:1.55}
.nova-theme [class~="text-[8px]"],
.nova-theme [class~="text-[9px]"],
.nova-theme [class~="text-[10px]"],
.nova-theme [class~="text-[11px]"]{font-size:var(--tc-typography-type-caption)!important;line-height:1.45!important}

/* Header and navigation */
.nova-theme .tc-nav-links>a,
.nova-theme .tc-nav-links>button,
.nova-theme .tc-nav-trigger{font-size:var(--tc-typography-type-ui);line-height:1.35}
.nova-theme .tc-nav-dropdown-menu strong{font-size:var(--tc-typography-type-ui);line-height:1.3}
.nova-theme .tc-nav-dropdown-menu small{font-size:var(--tc-typography-type-caption)!important;line-height:1.4!important}
.nova-theme .tc-login{font-size:var(--tc-typography-type-ui);line-height:1.35}
.nova-theme .tc-nav-cta{font-size:var(--tc-typography-type-caption);line-height:1.35;letter-spacing:.01em}
.nova-theme .tc-account>button,
.nova-theme .tc-account>div{font-size:var(--tc-typography-type-ui)}
.nova-theme .tc-mobile .tc-mobile-title{font-size:var(--tc-typography-type-caption);line-height:1.4}
.nova-theme .tc-mobile-group summary{font-size:14px;line-height:1.35}
.nova-theme .tc-mobile-group a,
.nova-theme .tc-mobile-account{font-size:14px;line-height:1.45}

/* Minimal footer */
.nova-theme .tc-fm-main p,
.nova-theme .tc-fm-main nav a{font-size:14px;line-height:1.55}
.nova-theme .tc-fm-cta{font-size:var(--tc-typography-type-ui);line-height:1.4}
.nova-theme .tc-fm-legal,
.nova-theme .tc-fm-legal :where(a,span){font-size:var(--tc-typography-type-caption);line-height:1.5}

/* Legacy/home utility typography */
.nova-theme main h1.text-5xl{font-size:clamp(2.5rem,4.2vw,3.5rem);line-height:1.06;overflow-wrap:break-word;hyphens:auto}
.nova-theme main h2.text-3xl{font-size:clamp(1.75rem,3vw,2.25rem);line-height:1.16}
.nova-theme main h3.text-2xl,
.nova-theme main .card-title.text-2xl{font-size:22px;line-height:1.25}
.nova-theme main h3.text-lg{font-size:20px;line-height:1.3}
.nova-theme main h4{font-size:17px;line-height:1.35}
.nova-theme main :where(p.text-lg){font-size:var(--tc-typography-type-lead);line-height:1.65}
.nova-theme main :where(p:not([class*="text-"])) {font-size:var(--tc-typography-type-body);line-height:1.65}

/* Enterprise catalog */
.nova-theme .ec-catalog-hero h1{font-size:clamp(3rem,5.6vw,4.75rem);line-height:1.02;letter-spacing:-.045em}
.nova-theme .ec-catalog-hero p{font-size:17px;line-height:1.65}
.nova-theme .ec-kicker{font-size:var(--tc-typography-type-caption);line-height:1.4;letter-spacing:.14em}
.nova-theme .ec-actions a{font-size:var(--tc-typography-type-ui);line-height:1.4}
.nova-theme .ec-brief :where(span,small){font-size:var(--tc-typography-type-caption)!important;line-height:1.4!important}
.nova-theme .ec-brief :where(strong,b){font-size:15px;line-height:1.35}
.nova-theme .ec-catalog-nav span{font-size:11px;line-height:1.4}
.nova-theme .ec-catalog-nav a{font-size:var(--tc-typography-type-ui);line-height:1.4}
.nova-theme .ec-section-head h2,
.nova-theme .ec-assurance h2{font-size:clamp(2.25rem,4vw,3.25rem);line-height:1.08;letter-spacing:-.035em}
.nova-theme .ec-section-head p,
.nova-theme .ec-assurance p{font-size:var(--tc-typography-type-body);line-height:1.65}
.nova-theme .ec-directory-toolbar h2{font-size:24px;line-height:1.25}
.nova-theme .ec-directory-toolbar label{font-size:var(--tc-typography-type-caption)}
.nova-theme .ec-product-search :where(input,button){font-size:var(--tc-typography-type-ui);line-height:1.4}
.nova-theme .ec-product-table th{font-size:var(--tc-typography-type-caption);line-height:1.35;letter-spacing:.055em}
.nova-theme .ec-product-table td{font-size:var(--tc-typography-type-ui);line-height:1.5}
.nova-theme .ec-product-name{font-size:14px;line-height:1.4}
.nova-theme .ec-product-name small,
.nova-theme .ec-product-category,
.nova-theme .ec-product-specs span,
.nova-theme .ec-product-price small,
.nova-theme .ec-product-state,
.nova-theme .ec-product-open{font-size:var(--tc-typography-type-caption)!important;line-height:1.4}
.nova-theme .ec-product-price{font-size:15px;line-height:1.35}
.nova-theme .ec-assurance :where(small,span){font-size:var(--tc-typography-type-caption);line-height:1.45}
.nova-theme .ec-assurance :where(strong,b){font-size:15px;line-height:1.4}

/* Document, product and legal master */
.nova-theme .tc-doc-hero nav :where(a,span){font-size:var(--tc-typography-type-caption);line-height:1.45}
.nova-theme .tc-doc-eyebrow{font-size:var(--tc-typography-type-caption);line-height:1.4;letter-spacing:.14em}
.nova-theme .tc-doc-hero h1{font-size:clamp(2.4rem,4vw,3.5rem);line-height:1.04;letter-spacing:-.035em;overflow-wrap:anywhere}
.nova-theme .tc-doc-hero p{font-size:var(--tc-typography-type-body);line-height:1.65}
.nova-theme .tc-doc-asset-card :where(strong,span){font-size:var(--tc-typography-type-ui);line-height:1.4}
.nova-theme .tc-doc-asset-card small{font-size:var(--tc-typography-type-caption)!important}
.nova-theme .tc-doc-intro h2{font-size:28px;line-height:1.2}
.nova-theme .tc-doc-intro :where(p,li){font-size:var(--tc-typography-type-body);line-height:1.7}
.nova-theme .tc-doc-intro small,
.nova-theme .tc-legal-facts small{font-size:var(--tc-typography-type-caption)!important;line-height:1.4!important}
.nova-theme .tc-legal-facts h3{font-size:20px;line-height:1.3}
.nova-theme .tc-legal-facts :where(p,a,span){font-size:14px;line-height:1.6}
.nova-theme .tc-doc-section>header>span,
.nova-theme .tc-doc-section>header small{font-size:var(--tc-typography-type-caption)!important;line-height:1.4!important}
.nova-theme .tc-doc-section h2{font-size:26px;line-height:1.22}
.nova-theme .tc-doc-copy :where(p,li){font-size:var(--tc-typography-type-body);line-height:1.75}
.nova-theme .tc-doc-bottom-meta :where(span,small){font-size:var(--tc-typography-type-caption)!important;line-height:1.45!important}
.nova-theme .tc-doc-side-card>span,
.nova-theme .tc-doc-side-card>header span{font-size:var(--tc-typography-type-caption);line-height:1.4}
.nova-theme .tc-doc-side-card :where(a,p,li){font-size:var(--tc-typography-type-ui);line-height:1.55}
.nova-theme .tc-doc-side-card small{font-size:var(--tc-typography-type-caption)!important}

/* Product, WHOIS and technical panels */
.nova-theme .sv-section-heading>span,
.nova-theme .sv-section-heading small{font-size:var(--tc-typography-type-caption)!important;line-height:1.4!important}
.nova-theme .sv-section-heading h2{font-size:28px;line-height:1.2}
.nova-theme .sv-section-heading p{font-size:14px;line-height:1.6}
.nova-theme .sv-panel small{font-size:var(--tc-typography-type-caption)!important;line-height:1.4!important}
.nova-theme .sv-panel :where(p,li){font-size:14px;line-height:1.65}
.nova-theme .sv-panel h3{font-size:18px;line-height:1.3}
.nova-theme .sv-panel table th{font-size:var(--tc-typography-type-caption);line-height:1.4}
.nova-theme .sv-panel table td{font-size:var(--tc-typography-type-ui);line-height:1.5}
.nova-theme .sv-range span,
.nova-theme .sv-capacity span,
.nova-theme .sv-identifiers span,
.nova-theme .sv-dual-title span,
.nova-theme .sv-geo-overview span,
.nova-theme .sv-geo-distribution header span,
.nova-theme .sv-geo-providers header span{font-size:var(--tc-typography-type-ui);line-height:1.45}
.nova-theme .product-resource-grid small{font-size:var(--tc-typography-type-caption)!important}
.nova-theme .product-resource-grid span{font-size:14px;line-height:1.5}
.nova-theme .product-sidebar-price>span,
.nova-theme .product-sidebar-price small{font-size:var(--tc-typography-type-caption)!important}
.nova-theme .product-sidebar-submit{font-size:var(--tc-typography-type-ui);line-height:1.35}
.nova-theme .product-sidebar-submit-copy{font-size:var(--tc-typography-type-ui);line-height:1.35}
.nova-theme .product-sidebar-submit-copy small{font-size:11px!important;line-height:1.35!important}
.nova-theme .product-sidebar-stock,
.nova-theme .product-sidebar-hint{font-size:var(--tc-typography-type-ui);line-height:1.55}

/* Authentication and forms */
.nova-theme form h2.text-5xl,
.nova-theme .overlay h3.text-5xl{font-size:clamp(2.25rem,4vw,2.75rem);line-height:1.06;letter-spacing:-.035em}
.nova-theme form :where(input,select,textarea){font-size:15px}
.nova-theme form :where(button[type="submit"],button.btn){font-size:var(--tc-typography-type-ui);line-height:1.4}
.nova-theme form [class~="text-[10px]"]{font-size:var(--tc-typography-type-caption)!important;line-height:1.5!important}

/* Cart and checkout */
.nova-theme .hc-summary-master,
.nova-theme .tc-cart-sidebar{font-size:var(--tc-typography-type-small);line-height:1.6}
.nova-theme .hc-summary-master :where(h2){font-size:24px;line-height:1.25}
.nova-theme .hc-summary-master :where(h3){font-size:18px;line-height:1.3}
.nova-theme .hc-summary-master :where(label,button),
.nova-theme .tc-cart-sidebar :where(label,button){font-size:var(--tc-typography-type-ui);line-height:1.45}
.nova-theme .hc-summary-master small,
.nova-theme .tc-cart-sidebar small{font-size:var(--tc-typography-type-caption)!important}

@media(max-width:760px){
  .nova-theme{font-size:16px}
  .nova-theme main h1.text-5xl{font-size:38px;line-height:1.08}
  .nova-theme main h2.text-3xl{font-size:28px;line-height:1.18}
  .nova-theme .ec-catalog-hero h1{font-size:42px;line-height:1.04}
  .nova-theme .ec-catalog-hero p{font-size:16px}
  .nova-theme .ec-section-head h2,
  .nova-theme .ec-assurance h2{font-size:34px;line-height:1.1}
  .nova-theme .tc-doc-hero h1{font-size:36px;line-height:1.08}
  .nova-theme .tc-doc-intro h2{font-size:24px}
  .nova-theme .tc-doc-section h2{font-size:22px;line-height:1.25}
  .nova-theme .sv-section-heading h2{font-size:24px}
  .nova-theme form h2.text-5xl,
  .nova-theme .overlay h3.text-5xl{font-size:34px;line-height:1.08}
  .nova-theme .ec-product-table td{font-size:13px}
}


/* Targeted specificity corrections found by browser audit */
.nova-theme .ec-catalog-nav>div>span{font-size:var(--tc-typography-type-caption)!important;line-height:1.4!important}
.nova-theme .product-sidebar-submit strong,
.nova-theme .product-sidebar-submit span,
.nova-theme .product-sidebar-stock,
.nova-theme .product-sidebar-stock span,
.nova-theme .product-sidebar-hint,
.nova-theme .product-sidebar-hint span{font-size:var(--tc-typography-type-ui)!important;line-height:1.5!important}
.nova-theme .product-sidebar-submit-copy small{font-size:var(--tc-typography-type-caption)!important}
.nova-theme .sv-content table th{font-size:var(--tc-typography-type-caption)!important;line-height:1.4!important}
.nova-theme .sv-content table td,
.nova-theme .sv-content table td strong,
.nova-theme .sv-content table td span{font-size:var(--tc-typography-type-ui)!important;line-height:1.5!important}
.nova-theme .sv-panel strong,
.nova-theme .sv-geo-country-name,
.nova-theme .sv-geo-type,
.nova-theme .sv-history-badge{font-size:var(--tc-typography-type-caption)!important;line-height:1.4!important}
.nova-theme form button[type="submit"],
.nova-theme form button[type="submit"] *,
.nova-theme .overlay button,
.nova-theme .overlay button *{font-size:var(--tc-typography-type-ui)!important;line-height:1.4!important}
@media(max-width:760px){
  .nova-theme main header .container.grid>*{min-width:0}
  .nova-theme main header .flex.gap-4{flex-wrap:wrap}
}


/* Final WHOIS/sidebar readability floor */
.nova-theme .sv-geo-providers tbody .sv-geo-country-name,
.nova-theme .sv-geo-providers tbody .sv-geo-type{font-size:var(--tc-typography-type-caption)!important;line-height:1.4!important}
.nova-theme .tc-doc-side-card :where(a,p,span,input){font-size:var(--tc-typography-type-ui)!important;line-height:1.5!important}


/* Checkout flow */
.nova-theme .hc-summary-scope .hc-flow-step>span{font-size:var(--tc-typography-type-caption)!important;line-height:1!important}
.nova-theme .hc-summary-scope .hc-flow-step p{font-size:14px!important;line-height:1.55!important}


/* Header cart counter follows the same readable caption floor */
.nova-theme .tc-cart>span{min-width:18px;height:18px;padding:0 4px;font-size:var(--tc-typography-type-caption)!important;line-height:18px!important}

/* Catalog metadata floor */
.nova-theme .ec-brief dt{font-size:var(--tc-typography-type-caption)!important;line-height:1.4!important}

/* Final document metadata readability floor */
.nova-theme .tc-doc-bottom-meta :where(.stat-title,.stat-desc),
.nova-theme .tc-doc-side-card nav a>b{font-size:var(--tc-typography-type-caption)!important;line-height:1.4!important}

/* Match document-theme specificity while keeping the 12px floor */
.nova-theme .tc-doc-bottom-meta .stat-title,
.nova-theme .tc-doc-bottom-meta .stat-desc{font-size:var(--tc-typography-type-caption)!important;line-height:1.4!important}

/* Neutral default-master pagehead width and type scale */
.nova-theme.tc-default-master .tc-doc-hero h1{max-width:none;font-size:clamp(32px,calc(5vw - 16px),46px)}
@media(min-width:981px){
  .nova-theme.tc-default-master .tc-doc-hero-row>div:first-child{flex:1 1 0;min-width:0;max-width:none}
}

/* Complete WHOIS data readability floor */
.nova-theme .sv-whois-main .sv-identifiers code,
.nova-theme .sv-whois-main .sv-dual :where(dt,dd),
.nova-theme .sv-whois-main .sv-geo-bar-label :where(em,b),
.nova-theme .sv-whois-main .sv-geo-providers .sv-geo-provider-table tbody :where(.sv-geo-country-name,.sv-geo-type),
.nova-theme .sv-whois-main .sv-history-panel .sv-history-table tbody :where(a,span),
.nova-theme .sv-whois-main .sv-cache-refresh :where(span,a){font-size:var(--tc-typography-type-caption)!important;line-height:1.4!important}

/* VPS, ASN landing, and product-detail readability floor */
.nova-theme :where(.ec-vps-landing,.ec-asn-landing) .pl-eyebrow,
.nova-theme :where(.ec-compute-dossier,.ec-network-dossier) header :where(span,b),
.nova-theme :where(.ec-compute-dossier,.ec-network-dossier) dt,
.nova-theme .ec-vps-landing .pl-plan-top em,
.nova-theme .ec-vps-landing .pl-plan dl dt,
.nova-theme .ec-vps-landing .pl-review dt,
.nova-theme .ec-vps-landing .pl-inventory .offline,
.nova-theme .ec-asn-landing .asn-offer-top :where(span,em),
.nova-theme .product-commerce-main .product-scope-note p,
.nova-theme .product-commerce-main .product-os-stage-heading span,
.nova-theme .product-commerce-main .product-os-empty b,
.nova-theme .product-commerce-main .product-key-field label,
.nova-theme .product-commerce-main .product-details>summary,
.nova-theme .product-commerce-main .asn-process-grid article :where(b,span),
.nova-theme .product-commerce-main .asn-handoff-notice p,
.nova-theme .product-commerce-main .asn-handoff-steps article :where(b,span),
.nova-theme .product-commerce-main .asn-hub-link span{font-size:var(--tc-typography-type-caption)!important;line-height:1.4!important}
