/* teamFIT typography: one role system, shared by every page.
   Component CSS owns layout/color only. All sizes use rem and fluid scales. */

/* Body */
@media(max-width:600px){.equipment-card,.cardio-card{--type-card:clamp(1.125rem,4.8vw,1.375rem);--type-h3:var(--type-card)}}
@media(max-width:600px){.price-card{--type-price:clamp(1.75rem,8vw,2.5rem)}.price-card .price-value small{font-size:var(--type-meta)}}
body {
  font-family: var(--font-body); font-size: var(--type-body);
  font-weight: var(--weight-regular); line-height: 1.65;
  letter-spacing: 0; text-transform: none;
}
button,input,select,textarea { font: inherit; letter-spacing: inherit; text-transform: none; }
strong,b { font-weight: var(--weight-bold); }
/* Semantic headings */
h1,h2,h3,h4,h5,h6 {
  font-family: var(--font-heading); font-weight: var(--weight-bold);
  line-height: 1.1; letter-spacing: 0; text-transform: none;
}
h1 { font-size: var(--type-h1); }
h2 { font-size: var(--type-h2); }
h3 { font-size: var(--type-h3); line-height: 1.15; }
h4,h5,h6 { font-size: var(--type-card); line-height: 1.2; }
h1 a,h2 a,h3 a,h4 a { font: inherit; letter-spacing: inherit; text-transform: inherit; }
/* Display: a deliberate role, never a page-specific font */
.type-display,.hero h1,.trial h2 {
  font-family: var(--font-heading); font-size: var(--type-display);
  font-weight: var(--weight-bold); line-height: 1.02;
  letter-spacing: 0; text-transform: uppercase;
}
/* Cards: program, equipment, recipe, training, and habit cards share a scale */
.type-card,.programs h3,.cardio-card h3,.equipment-card h4,
.equipment-card .equipment-model-title,.personal-card h2,.recipe h3,
.habit-grid h3,.anatomy-options h3,.food-feature h3,.muscle-plan-card h3 {
  font-family: var(--font-heading); font-size: var(--type-card);
  font-weight: var(--weight-bold); line-height: 1.2;
  letter-spacing: 0; text-transform: none;
}
/* Body paragraphs and lists inherit, regardless of their section */
p,li { line-height: inherit; }
/* Small text */
small,.type-small,.price-card p,.equipment-card-group,.cardio-card p,
.personal-more,.footer-main,.footer-equipment li,.booking-help,.price-note,
.content-note,.recipe-note,.workout-intro,.plan-context,.supplement-note,
.hero-note,.anatomy-options>p:not(.eyebrow),.body-guide figcaption {
  font-family: var(--font-body); font-size: var(--type-small);
  font-weight: var(--weight-regular); line-height: 1.6;
  letter-spacing: 0; text-transform: none;
}
/* Navigation */
nav a,.type-navigation {
  font-family: var(--font-body); font-size: var(--type-small);
  font-weight: var(--weight-medium); line-height: 1.4;
  letter-spacing: 0; text-transform: none;
}
/* Buttons and interactive labels */
button,.button,.text-link,.equipment-training,.anatomy-choice,.type-button,
.programs article>a,.personal-end a,.muscle-day-links a,.workout-muscles a {
  font-family: var(--font-body); font-size: var(--type-small);
  font-weight: var(--weight-medium); line-height: 1.4;
  letter-spacing: 0; text-transform: none;
}
input,select,textarea { font-size: var(--type-body); line-height: 1.5; font-weight: var(--weight-regular); }
label,summary,.footer-main h3,.personal-copy h3,.price-card h3 {
  font-family: var(--font-body); font-size: var(--type-body);
  font-weight: var(--weight-medium); line-height: 1.5;
  letter-spacing: 0; text-transform: none;
}
/* Prices and numerical highlights */
.price-value,.type-price,.stats strong,.nutrition-stats strong,.functional-hall>strong {
  font-family: var(--font-heading); font-size: var(--type-price);
  font-weight: var(--weight-bold); line-height: 1.1;
  letter-spacing: 0; text-transform: none; font-variant-numeric: tabular-nums;
}
.price-value small,.functional-hall>strong small { font-family: var(--font-body); font-size: var(--type-small); font-weight: var(--weight-medium); line-height: 1.4; }
/* Metadata: quiet supporting information, never a decorative third font */
.type-metadata,.recipe small,.recipe-no,.personal-number,.equipment-number,
.month-picker span,.nutrition-art figcaption,.nutrition-sources,.footer-bottom,
.space-label,.nutrition-stats span,#recipe-count,.anatomy-tooltip {
  font-family: var(--font-body); font-size: var(--type-meta);
  font-weight: var(--weight-regular); line-height: 1.5;
  letter-spacing: 0; text-transform: none;
}
/* Eyebrow: the only tracked uppercase text role */
.type-eyebrow,.eyebrow,.tag,.equipment-brand,.cardio-model,
.supplement-program-label,.supplement-brand>span,.anatomy-view-label,
.day-heading>span,.meal-panel li>span,.day-toolbar>p,.hero-bottom {
  font-family: var(--font-body); font-size: var(--type-eyebrow);
  font-weight: var(--weight-bold); line-height: 1.5;
  letter-spacing: var(--tracking-label); text-transform: uppercase;
}
/* Text glyphs used as UI icons use the same font, with a single icon scale */
.social-letter,.expand,.personal-more b,.footer-equipment-toggle::before {
  font-family: var(--font-body); font-size: 1.5rem;
  font-weight: var(--weight-medium); line-height: 1;
  letter-spacing: 0; text-transform: none;
}
