/*
 * TurbineWeb typography layer
 * Keeps display type expressive while making everyday interface copy calm,
 * readable, and consistent across the public site and both portals.
 */
body{
    font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
    font-size:16px;
    line-height:1.65;
    font-weight:400;
    letter-spacing:0;
    text-rendering:optimizeLegibility;
    -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4,h5,h6{font-weight:700}
strong,b{font-weight:650}
button,input,textarea,select{font-weight:400}

/* Navigation, buttons, and recurring labels */
.site-nav{font-size:14px;font-weight:500}
.link-button{font-weight:500}
.nav-cta{font-weight:650}
.nav-toggle{font-size:14px;font-weight:600}
.button{font-size:14px;font-weight:650;letter-spacing:0}
.eyebrow,.kicker,.mini-label,.form-step{
    font-size:11px;
    font-weight:700;
    letter-spacing:.11em;
}
.text-link{font-size:14px;font-weight:650}
.breadcrumbs{font-size:13px;font-weight:500}

/* Public website */
.hero-lede,.network-intro p,.inner-hero p,.location-copy>p{font-size:18px;line-height:1.7}
.trust-line{font-size:14px}
.ticker div{font-size:12px;font-weight:600;letter-spacing:.08em}
.core small,.metric-card span{font-size:11px;letter-spacing:.1em}
.node{font-size:13px;font-weight:600}
.node small{font-size:11px;font-weight:400}
.solution-card p,.region-card-copy p,.location-story p{font-size:15px;line-height:1.7}
.solution-link,.region-card-copy>strong{font-size:14px;font-weight:600}
.region-card-copy>span{font-size:11px;font-weight:650;letter-spacing:.1em}
.map-node strong{font-size:13px;font-weight:600}
.map-node span{font-size:11px}
.region-art figcaption{font-size:10px;letter-spacing:.1em}
.performance-copy p,.centered p,.split-heading p,.final-cta p{line-height:1.7}
.performance-stats span{font-size:15px;font-weight:600}
.performance-stats small{font-size:13px}
.region strong{font-size:15px;font-weight:600}
.region small{font-size:13px}
.footer-links{font-size:14px;font-weight:500}
.site-footer p{font-size:14px}
.contact-aside a{font-weight:650}
.contact-aside p{font-size:15px;line-height:1.7}
.availability strong{font-size:14px}
.availability span{font-size:13px}
.best-for li{font-size:15px;font-weight:500}
.best-for a{font-size:14px;font-weight:650}
.region-selector strong{font-size:13px;font-weight:600}
.region-selector small{font-size:12px}
.location-strip span{font-size:10px;font-weight:650;letter-spacing:.09em}
.location-strip strong{font-size:14px;font-weight:600}
.legal-hero>p{font-size:13px;letter-spacing:.04em}
.legal-index a{font-size:13px;font-weight:500}
.legal-copy p,.legal-copy li{font-size:16px}
.legal-copy a{font-weight:600}

/* Forms and authentication */
label{font-size:13px;font-weight:600;letter-spacing:.01em}
label span{font-weight:400}
input,textarea,select{font-size:15px;line-height:1.45}
.auth-aside>p{font-size:17px;line-height:1.7}
.auth-quote span{font-size:12px}
.auth-card>p{font-size:14px;line-height:1.6}
.form-note{font-size:13px}
.form-help-link,.secondary-auth-action .link-button{font-size:13px;font-weight:600}
.google-auth-button{font-size:15px;font-weight:500}
.auth-divider span{font-size:12px;font-weight:400}
.auth-page .auth-aside>p{font-size:14px;line-height:1.45}
.auth-page label{font-size:12px}
.auth-page input{font-size:14px;line-height:1.35}
.auth-page .google-auth-button{font-size:14px}
.auth-page .form-note{font-size:12px}
.check-row span{font-size:14px;font-weight:500}
.back-link{font-size:13px;font-weight:600}

/* Customer and administrator portals */
.portal-heading p{font-size:16px;line-height:1.6}
.portal-tabs a{font-size:13px;font-weight:600}
.stat-strip span,.admin-stats span,.mail-stat-strip span{
    font-size:11px;
    font-weight:650;
    letter-spacing:.09em;
}
.stat-strip .small-stat{font-size:15px;font-weight:600}
.admin-stats small{font-size:13px;line-height:1.45}
.admin-nav a{font-size:14px;font-weight:500}
.admin-user strong{font-size:13px;font-weight:600}
.admin-user small{font-size:12px}
.panel-heading h2{font-size:23px;font-weight:700}
.account-state-notice strong{font-size:14px;font-weight:650}
.account-state-notice span{font-size:13px}

/* Data tables */
table{font-size:14px;line-height:1.5}
th{
    font-size:11px;
    line-height:1.35;
    font-weight:650;
    letter-spacing:.055em;
    text-transform:uppercase;
}
td{font-weight:400}
td strong{font-weight:650}
table code{font-size:13px}
.subline{font-size:12px;line-height:1.4;margin-top:4px}
.table-link{font-size:13px;font-weight:650}
.badge{
    font-size:11px;
    line-height:1.2;
    font-weight:650;
    letter-spacing:.035em;
    text-transform:capitalize;
}
.priority{font-size:11px;font-weight:650;letter-spacing:.025em;text-transform:capitalize}
.status-select{font-size:13px;font-weight:500}
.list-filters label{font-size:12px;font-weight:600}
.list-filters input,.list-filters select{font-size:13px}
.filter-reset{font-size:13px;font-weight:600}
.table-footer{font-size:13px;font-weight:500}
.pagination a,.pagination span{font-size:13px;font-weight:600}
.list-count{font-size:13px;font-weight:500}
.contact-row td:nth-child(2) p{font-size:13px;line-height:1.55}
.empty-state h3{font-size:20px}
.empty-state p{font-size:15px}

/* Services and helpdesk */
.service-card>p{font-size:14px}
.service-card dl{font-size:13px;line-height:1.5}
.service-card dd{font-weight:600}
.service-open{font-size:13px;font-weight:650}
.ticket-heading p{font-size:14px}
.service-facts dt{font-size:11px;font-weight:650;letter-spacing:.055em}
.service-facts dd{font-size:14px;font-weight:500}
.rich-content{font-size:15px;line-height:1.75}
.quill-editor .ql-editor{font-size:15px;font-weight:400}
.message header strong{font-size:14px;font-weight:650}
.message header small{font-size:12px}
.reply-email-note{font-size:13px;line-height:1.55}
.ticket-status-actions select{font-size:13px}

/* Email delivery and invoice UI */
.mail-sent,.mail-unsent,.warning-text{font-size:12px;font-weight:650}
.mail-error summary{font-size:12px;font-weight:600}
.mail-error p{font-size:12px}
.mail-cron-note strong{font-size:13px;font-weight:650}
.mail-cron-note span{font-size:12px}
.mail-cron-note code{font-size:11px}
.account-security-note{font-size:14px}
.profile-overview p{font-size:14px}.profile-overview dt{font-size:11px;font-weight:650}.profile-overview dd{font-size:14px;font-weight:600}.managed-identity strong{font-size:15px;font-weight:600}.managed-identity span{font-size:12px}.managed-identity-note{font-size:14px}
.invoice-email-state>span{font-size:11px;font-weight:650;letter-spacing:.08em}
.invoice-email-state strong{font-size:13px;font-weight:600}
.invoice-email-state small{font-size:12px}
.invoice-profile-preview p{font-size:14px}
.invoice-profile-preview>small{font-size:12px}
.invoice-company-name{font-size:14px}
.oauth-guide label{font-size:13px;font-weight:600}
.oauth-guide code{font-size:13px;font-weight:400}
.oauth-guide p{font-size:14px;line-height:1.65}
.invoice-head p{font-size:13px}
.invoice-title strong{font-size:13px;font-weight:500}
.invoice-meta>div>span,.invoice-notes>span,.invoice-line.header{font-size:11px;font-weight:650;letter-spacing:.08em}
.invoice-meta p,.invoice-notes p{font-size:14px;line-height:1.65}
.invoice-meta dl{font-size:13px}
.invoice-meta dd{font-weight:600}
.invoice-total span{font-size:14px}
.invoice-breakdown>div:not(.invoice-total){font-size:13px}

/* Dedicated server catalogue */
.dedicated-cpu{font-size:12px;font-weight:650;letter-spacing:.055em}
.dedicated-cores{font-size:11px;font-weight:600;letter-spacing:.03em}
.dedicated-desc{font-size:14px;line-height:1.7}
.dedicated-specs li{font-size:13px;line-height:1.55}
.dedicated-delivery{font-size:12px}
.dedicated-note p,.dedicated-extra li{font-size:14px}
.dedicated-extra strong{font-size:14px;font-weight:650}

/* Alerts */
.flash{font-size:14px;font-weight:500;line-height:1.5}
.setup-notice strong{font-size:14px;font-weight:650}
.setup-notice span{font-size:13px;line-height:1.5}
.setup-notice small{font-size:12px;line-height:1.5}

@media(max-width:620px){
    body{font-size:15px}
    .site-nav{font-size:15px}
    table{font-size:13px}
    th{font-size:10px}
    .portal-heading p{font-size:15px}
}
