/* Final HospitaLink type scale. Loaded last to reduce page-by-page drift. */
:root{
  --hl-font-body: 15px;
  --hl-font-card: 14px;
  --hl-font-small: 12px;
  --hl-font-button: 13px;
  --hl-font-h1: clamp(34px, 3.8vw, 48px);
  --hl-font-page-h1: 34px;
  --hl-font-h2: 26px;
  --hl-font-h3: 18px;
  --hl-font-metric: 28px;
  --hl-weight-heading: 600;
  --hl-weight-strong: 600;
  --hl-weight-ui: 600;
  --hl-weight-metric: 640;
}

html{
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body{
  font-size: var(--hl-font-body) !important;
  line-height: 1.75 !important;
  letter-spacing: 0 !important;
  font-weight: 450 !important;
}

h1,
.hero h1{
  font-size: var(--hl-font-h1) !important;
  line-height: 1.28 !important;
  letter-spacing: 0 !important;
  font-weight: var(--hl-weight-heading) !important;
}

.shell > .hero h1,
.wrap > .hero h1{
  font-size: var(--hl-font-page-h1) !important;
}

h2,
.section h2,
.center h2,
.flow h2,
.dark h2,
.cta h2,
.cta-band h2,
.main h2,
.hero h2{
  font-size: var(--hl-font-h2) !important;
  line-height: 1.35 !important;
  letter-spacing: 0 !important;
  font-weight: var(--hl-weight-heading) !important;
}

h3,
.card h3,
.feature-title h3,
.scenario h3,
.step h3,
.plan h3,
.package h3,
.guard h3,
.main h3,
.queue h3,
.feed-head h3,
.board h3,
.panel h3{
  font-size: var(--hl-font-h3) !important;
  line-height: 1.4 !important;
  letter-spacing: 0 !important;
  font-weight: var(--hl-weight-heading) !important;
}

p,
li,
td,
th,
.lead,
.sub,
.card p,
.card li,
.real-card,
.flow-note,
.source-list span,
.hub-list div,
.feed-item b,
.feed-item p,
.queue-card b,
.queue-card p,
.task,
.experiment,
.crm-flow div,
.note{
  font-size: var(--hl-font-card) !important;
  line-height: 1.75 !important;
  letter-spacing: 0 !important;
}

small,
.small,
.eyebrow,
.label,
.time,
.tag,
.pill,
.side-label,
.nav small,
.top a,
.card small,
.step small,
.score span,
.crm-list span,
.meta,
.caption{
  font-size: var(--hl-font-small) !important;
  line-height: 1.55 !important;
  letter-spacing: 0 !important;
}

button,
.button,
.btn,
.cta,
.main-btn,
.mini,
.download,
.links,
.nav a,
.side button,
.tab,
.tabs button,
.navlinks a{
  font-size: var(--hl-font-button) !important;
  letter-spacing: 0 !important;
  font-weight: var(--hl-weight-ui) !important;
}

b,
strong,
th,
.brand,
.top b,
.side b,
.card b,
.task b,
.crm-list b,
.flow-card b{
  font-weight: var(--hl-weight-strong) !important;
}

.score b,
.metric b,
.kpi b,
.stat b,
.result-list b,
.price-score b{
  font-size: var(--hl-font-metric) !important;
  line-height: 1.15 !important;
  font-weight: var(--hl-weight-metric) !important;
}

pre,
code,
.code,
.yaml,
.terminal{
  font-size: 12px !important;
  line-height: 1.65 !important;
  letter-spacing: 0 !important;
}

@media (max-width: 980px){
  :root{
    --hl-font-body: 14px;
    --hl-font-card: 13.5px;
    --hl-font-h1: 34px;
    --hl-font-page-h1: 30px;
    --hl-font-h2: 24px;
    --hl-font-h3: 17px;
    --hl-font-metric: 26px;
  }
}

@media (max-width: 640px){
  :root{
    --hl-font-body: 14px;
    --hl-font-card: 13px;
    --hl-font-small: 11.5px;
    --hl-font-button: 12.5px;
    --hl-font-h1: 30px;
    --hl-font-page-h1: 28px;
    --hl-font-h2: 22px;
    --hl-font-h3: 16px;
    --hl-font-metric: 24px;
  }

  h1,
  .hero h1{
    line-height: 1.32 !important;
  }

  p,
  li,
  td,
  th,
  .lead,
  .sub,
  .card p,
  .card li{
    line-height: 1.7 !important;
  }
}

/* Strong final pass for controls that had page-level important rules. */
body .nav a,
body .links,
body .links a,
body .navlinks a,
body .cta,
body .btn,
body .button,
body .main-btn,
body .mini,
body .download,
body .side button,
body .tabs button,
body .tab,
body .detail,
body .small,
body .filter,
body .flow-alt-tabs button{
  font-size: var(--hl-font-button) !important;
  font-weight: var(--hl-weight-ui) !important;
  letter-spacing: 0 !important;
}

body .pill,
body .tag,
body .label,
body .badge,
body .eyebrow,
body .tone-label{
  font-size: var(--hl-font-small) !important;
  font-weight: var(--hl-weight-ui) !important;
  letter-spacing: 0 !important;
}

body .nav .cta,
body .nav .btn,
body .hero .main-btn,
body .actions .btn,
body .cta-row a,
body .plan .btn,
body .package .btn,
body button.detail,
body .dashboard button.small,
body .dashboard .small,
body .flow-alt-tabs button{
  font-size: var(--hl-font-button) !important;
  font-weight: var(--hl-weight-ui) !important;
  letter-spacing: 0 !important;
}

body .diagram .saas,
body .diagram .saas.air,
body .diagram .saas.price,
body .diagram .saas.hosp,
body .diagram .saas.airbnb,
body .diagram .saas.book,
body .diagram .saas.channel{
  font-size: 17px !important;
  line-height: 1.25 !important;
  font-weight: var(--hl-weight-ui) !important;
  letter-spacing: 0 !important;
}

body .logo,
body .brand,
body .mark,
body .avatar,
body .feed-icon,
body .chain,
body .pin,
body .step-num,
body .num,
body .amount,
body .total,
body .price,
body .price-card,
body .price-score,
body .score b,
body .metric b,
body .kpi b,
body .stat b,
body .result-list b,
body .summary b,
body .case .total,
body .plan .price,
body .package .price,
body .product-card small,
body .summary small,
body .plan small,
body .card small,
body .scenario small,
body .matrix .head,
body .pref,
body .status .ok,
body .dot,
body .filter,
body .checks,
body .value div,
body .flow-card .tag,
body .source-list span,
body .hub-list div,
body .result-list span,
body .quote,
body .detail,
body .small,
body .mini,
body .tab.on,
body .tag,
body .pill,
body .badge,
body .label,
body .cat,
body .tone-label{
  font-weight: var(--hl-weight-ui) !important;
}

body h1,
body h2,
body h3,
body h4,
body h5,
body h6,
body th,
body b,
body strong{
  font-weight: var(--hl-weight-heading) !important;
}

.hl-sales-path{
  width:min(1100px, calc(100% - 48px));
  margin:44px auto 28px;
  padding:24px;
  border:1px solid #d8e8fb;
  border-radius:10px;
  background:linear-gradient(180deg,#fff,#f7fbff);
  box-shadow:0 14px 34px rgba(18,43,73,.06);
  color:#071936;
}

.hl-sales-head span{
  display:inline-flex;
  align-items:center;
  height:24px;
  padding:0 9px;
  border-radius:999px;
  background:#eaf3ff;
  color:#2362a5;
  font-size:var(--hl-font-small) !important;
  font-weight:var(--hl-weight-strong) !important;
}

.hl-sales-head h2{
  margin:10px 0 6px !important;
  font-size:var(--hl-font-h2) !important;
}

.hl-sales-head p{
  max-width:780px;
  margin:0;
  color:#52677f;
}

.hl-sales-flow{
  display:grid;
  grid-template-columns:repeat(5, minmax(0, 1fr));
  gap:10px;
  margin-top:16px;
}

.hl-sales-step{
  display:block;
  min-height:124px;
  padding:14px;
  border:1px solid #dfe8f3;
  border-radius:8px;
  background:#fff;
  color:inherit;
  text-decoration:none;
}

.hl-sales-step small{
  color:#5797eb;
  font-weight:600;
}

.hl-sales-step b{
  display:block;
  margin:4px 0 5px;
  font-size:var(--hl-font-h3) !important;
}

.hl-sales-step p{
  margin:0;
  color:#52677f;
  font-size:var(--hl-font-small) !important;
  line-height:1.65 !important;
}

.hl-sales-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:18px;
}

.hl-sales-actions a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:0 15px;
  border:1px solid #cfe0f5;
  border-radius:7px;
  background:#fff;
  color:#2362a5;
  text-decoration:none;
  font-size:var(--hl-font-button) !important;
  font-weight:var(--hl-weight-strong) !important;
}

.hl-sales-actions a.primary{
  background:#5797eb;
  border-color:#5797eb;
  color:#fff;
  box-shadow:0 12px 24px rgba(87,151,235,.22);
}

@media (max-width: 900px){
  .hl-sales-flow{
    grid-template-columns:1fr;
  }

  .hl-sales-path{
    width:calc(100% - 32px);
    padding:18px;
  }
}
