/* iXnote — central type scale. Single source of truth for text sizes site-wide.
   Change a number here and it updates every page.

   Four roles only (the demo's node styles are intentionally exempt):
     T1   - hero title        ("Context", hero "iXnote")
     T2   - headline          (beat lines, taglines, content page titles)
     T3   - subhead           (content section headings)
     body - regular text      (paragraphs, small UI chrome)

   Every size scales linearly on ONE shared window: 400px viewport (min) -> 1280px (max),
   so all text grows and shrinks in lockstep and never drifts out of proportion. */

:root{
  --t1:   clamp(85px, calc(85px + (100vw - 400px) * 45 / 880), 130px);
  --t2:   clamp(39px, calc(39px + (100vw - 400px) * 31 / 880),  70px);
  --t3:   clamp(24px, calc(24px + (100vw - 400px) * 10 / 880),  34px);
  --body: clamp(17px, calc(17px + (100vw - 400px) *  2 / 880),  19px);
}

/* Apply a role by adding the class, or reference the token (var(--t2)) from any rule. */
.t1{ font-size:var(--t1); font-weight:700; letter-spacing:-.045em; line-height:1.02 }
.t2{ font-size:var(--t2); font-weight:700; letter-spacing:-.03em;  line-height:1.05 }
.t3{ font-size:var(--t3); font-weight:600; letter-spacing:-.02em;  line-height:1.25 }
.body-text{ font-size:var(--body); font-weight:400; line-height:1.6 }
