/*!
 * Optimum Frontend — Typography Scale (DALGA D.1+)
 * Soft hierarchy: display → title → body → meta
 * Loaded after frontend.css; theme.css may still set font-family.
 */

:root {
  --opt-weight-regular: 400;
  --opt-weight-medium: 500;
  --opt-weight-semibold: 600;
  --opt-weight-strong: 650;

  --opt-tracking-display: -0.028em;
  --opt-tracking-title: -0.018em;
  --opt-tracking-body: 0;
  --opt-tracking-label: 0.06em;
  --opt-tracking-brand: 0.1em;
  --opt-tracking-eyebrow: 0.14em;

  --opt-leading-display: 1.12;
  --opt-leading-title: 1.25;
  --opt-leading-body: 1.65;
}

body {
  font-weight: var(--opt-weight-regular);
  letter-spacing: var(--opt-tracking-body);
  line-height: var(--opt-leading-body);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

/* ── Brand ───────────────────────────────────────────────── */
.brand-main-title {
  font-weight: var(--opt-weight-semibold);
  letter-spacing: 0.02em;
  line-height: 1.2;
  text-transform: none;
}

.brand-sub-title {
  font-weight: var(--opt-weight-medium);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  opacity: 0.9;
  line-height: 1.35;
}

/* ── Navigation / CTA ────────────────────────────────────── */
.nav-link {
  font-weight: var(--opt-weight-medium);
  letter-spacing: 0.01em;
}

.btn-support,
.btn-hero-primary,
.btn-hero-secondary,
.btn-all-services {
  font-weight: var(--opt-weight-medium);
  letter-spacing: 0.02em;
}

.lang-selector {
  font-weight: var(--opt-weight-medium);
  letter-spacing: 0.04em;
}

/* ── Display / Section titles ────────────────────────────── */
.hero-title {
  font-weight: var(--opt-weight-semibold);
  letter-spacing: var(--opt-tracking-display);
  line-height: var(--opt-leading-display);
}

.hero-description,
.services-description,
.process-sub,
.step-desc,
.service-card-text,
.footer-col-desc {
  font-weight: var(--opt-weight-regular);
  letter-spacing: var(--opt-tracking-body);
  line-height: var(--opt-leading-body);
}

.services-tag,
.process-tag {
  font-weight: var(--opt-weight-medium);
  letter-spacing: var(--opt-tracking-eyebrow);
  text-transform: uppercase;
}

.services-main-title,
.process-title {
  font-weight: var(--opt-weight-semibold);
  letter-spacing: var(--opt-tracking-title);
  line-height: var(--opt-leading-title);
}

.service-card-title,
.step-title,
.pin-label,
.stat-title,
.dark-stat-lbl {
  font-weight: var(--opt-weight-medium);
  letter-spacing: var(--opt-tracking-label);
}

.stat-number,
.dark-stat-num,
.step-number {
  font-weight: var(--opt-weight-semibold);
  letter-spacing: var(--opt-tracking-display);
  font-variant-numeric: tabular-nums;
}

.service-link {
  font-weight: var(--opt-weight-medium);
  letter-spacing: 0.02em;
}

/* ── Content pages (blog/services/pages) ─────────────────── */
.page-hero h1,
.content-page h1,
.blog-detail-title,
.service-detail-title,
.section-page-title,
article h1,
.main-content h1 {
  font-weight: var(--opt-weight-semibold);
  letter-spacing: var(--opt-tracking-display);
  line-height: var(--opt-leading-display);
}

.main-content h2,
article h2,
.content-page h2 {
  font-weight: var(--opt-weight-semibold);
  letter-spacing: var(--opt-tracking-title);
  line-height: var(--opt-leading-title);
}

.main-content h3,
article h3,
.content-page h3 {
  font-weight: var(--opt-weight-medium);
  letter-spacing: -0.01em;
  line-height: 1.35;
}

.main-content p,
article p,
.content-page p {
  font-weight: var(--opt-weight-regular);
  line-height: var(--opt-leading-body);
}

/* Footer */
.site-footer .brand-main-title {
  font-weight: var(--opt-weight-semibold);
}

.footer-col h4,
.footer-heading,
.footer-title {
  font-weight: var(--opt-weight-medium);
  letter-spacing: var(--opt-tracking-label);
  text-transform: uppercase;
  font-size: 0.8rem;
}

.footer-links a,
.footer-menu a {
  font-weight: var(--opt-weight-regular);
  letter-spacing: 0.01em;
}
