/* Luxury typography system — detail pages only. */
@font-face {
  font-family:'Impressed Web';
  src:url('public/fonts/Impressed-Web.ttf') format('truetype');
  font-style:normal;
  font-weight:400;
  font-display:swap;
}

@font-face {
  font-family:'TT Neoris Trial';
  src:url('public/fonts/TT-Neoris-Trial-Bold.ttf') format('truetype');
  font-style:normal;
  font-weight:700;
  font-display:swap;
}

.site-header,
#detailApp { font-family:var(--font-body); }

.detail-scene :is(h1,h2),
.about-page::before,
.certificates-backdrop span,
.stk-page::before,
.about-orbit,
.credential-card p,
.credential-card__seal,
.stk-quote,
.career-caption,
.trainer-visual figcaption,
.consulting-visual figcaption,
.world-copy blockquote,
.contact-quote {
  font-family:var(--font-display);
  font-optical-sizing:auto;
}

.brand span {
  font-family:var(--font-brand);
  font-optical-sizing:auto;
}

.detail-scene :is(h1,h2) {
  font-weight:400;
  letter-spacing:-.025em;
  line-height:.86;
  font-kerning:normal;
  font-feature-settings:'kern' 1,'liga' 1;
}

/* Match the bold editorial title used by the homepage certificate scene.
   Scope this to each detail page's single primary heading so supporting cards
   and quotations keep their existing typographic hierarchy. */
.detail-scene h1 {
  font-family:'TT Neoris Trial',Montserrat,Arial,sans-serif;
  font-weight:700;
  line-height:.84;
  letter-spacing:-.052em;
  font-optical-sizing:auto;
}

.brand span { font-weight:500; letter-spacing:-.075em; }
.brand strong { font-weight:500; letter-spacing:.115em; }
.main-nav a { font-weight:600; letter-spacing:.025em; }
.about-orbit small { font-family:var(--font-body); }

.about-signature {
  font-family:var(--font-signature);
  font-weight:400;
  letter-spacing:.012em;
}

.detail-scene :is(.about-metrics,.certificate-ledger,.stk-impact,.career-route,.career-outcomes,.trainer-method,.trainer-metrics,.consulting-framework) b,
.detail-scene :is([class$='-previous'],[class$='-index'],[class$='-next']) b {
  font-family:var(--font-display);
  font-optical-sizing:auto;
  font-weight:500;
  letter-spacing:-.035em;
}

.detail-scene :is(.about-intro,.certificate-lede,.stk-lede,.career-lede,.trainer-lede,.consulting-lede,.world-lede,.contact-lede) {
  font-family:var(--font-body);
  font-weight:400;
  letter-spacing:-.012em;
  line-height:1.78;
}

.detail-scene :is(.about-kicker,.certificate-kicker,.stk-kicker,.career-kicker,.trainer-kicker,.consulting-kicker,.world-kicker,.contact-kicker),
.detail-scene :is(.about-count,.certificate-count,.stk-count,.career-count,.trainer-count,.consulting-count,.world-count,.contact-count) {
  font-family:var(--font-body);
  font-weight:600;
  letter-spacing:.18em;
}

.detail-scene :is(.stk-quote,.career-caption,.trainer-visual figcaption,.consulting-visual figcaption,.world-copy blockquote,.contact-quote) {
  font-weight:500;
  letter-spacing:-.025em;
  line-height:1.2;
}

@media(max-width:780px) {
  .detail-scene :is(h1,h2) { letter-spacing:-.02em; line-height:.88; }
  .detail-scene h1 { letter-spacing:-.045em; line-height:.86; }
  .brand strong { letter-spacing:.085em; }
}
