/* English version: editorial type system (Instrument Serif + Hanken Grotesk, both SIL OFL) */
@font-face { font-family: "Instrument Serif"; src: url("/fonts/InstrumentSerif-Regular.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Instrument Serif"; src: url("/fonts/InstrumentSerif-Italic.woff2") format("woff2"); font-weight: 400; font-style: italic; font-display: swap; }
@font-face { font-family: "Hanken Grotesk"; src: url("/fonts/HankenGrotesk.woff2") format("woff2"); font-weight: 100 900; font-style: normal; font-display: swap; }

html[lang="en"] {
  --dachi: "Instrument Serif", "Iowan Old Style", Georgia, serif;
  --nino: "Hanken Grotesk", "Helvetica Neue", Arial, sans-serif;
  --nums: "Instrument Serif", Georgia, serif;
  --font: "Hanken Grotesk", "Helvetica Neue", Arial, sans-serif;
}
html[lang="en"] body, html[lang="en"] button, html[lang="en"] input, html[lang="en"] select, html[lang="en"] textarea { font-family: var(--font); }

/* body copy */
html[lang="en"] p, html[lang="en"] li, html[lang="en"] span, html[lang="en"] small, html[lang="en"] label, html[lang="en"] a { font-weight: 400; }
html[lang="en"] .btn, html[lang="en"] .nav__links a, html[lang="en"] .n-tabs button, html[lang="en"] .lang { font-weight: 500; letter-spacing: .005em; }
html[lang="en"] .nav__links a { font-size: 15.5px; }
html[lang="en"] .label, html[lang="en"] .hero__eyebrow, html[lang="en"] .hero__countdown-label { font-weight: 500; letter-spacing: .08em; text-transform: uppercase; font-size: 12.5px; }
html[lang="en"] .n-tile p, html[lang="en"] .n-row span, html[lang="en"] .n-steps span, html[lang="en"] .n-journey p, html[lang="en"] .n-faq details p { font-size: 16.5px; line-height: 1.62; }
html[lang="en"] .n-lead, html[lang="en"] .hero__cta p { font-family: var(--nino); font-size: clamp(18px, 1.55vw, 22px); line-height: 1.55; }

/* display type */
html[lang="en"] .hero__title, html[lang="en"] .n-h2, html[lang="en"] .n-tile--lead h2, html[lang="en"] .n-journey h3, html[lang="en"] .h2, html[lang="en"] .s-h {
  font-family: var(--dachi); font-weight: 400; letter-spacing: -0.015em; text-transform: none;
}
html[lang="en"] .hero__title { font-size: clamp(46px, 8.4vw, 132px); line-height: .98; }
html[lang="en"] .hero__title span:last-child { font-style: italic; color: #cfe3ff; }
html[lang="en"] .n-h2 { font-size: clamp(38px, 5vw, 76px); line-height: 1.02; max-width: 16ch; }
html[lang="en"] .n-what .n-h2 { max-width: 20ch; }
html[lang="en"] .n-blue { font-style: italic; }
html[lang="en"] .n-tile h3, html[lang="en"] .pn-card__t h3, html[lang="en"] .s-tier h3, html[lang="en"] .n-steps b, html[lang="en"] .n-faq summary, html[lang="en"] .sp-card__info b, html[lang="en"] .n-row b {
  font-family: var(--dachi); font-weight: 400; letter-spacing: -0.005em; text-transform: none;
}
html[lang="en"] .n-tile h3 { font-size: clamp(24px, 2.2vw, 32px); line-height: 1.12; }
html[lang="en"] .pn-card__t h3 { font-size: clamp(28px, 2.6vw, 38px); line-height: 1.05; }
html[lang="en"] .s-tier h3 { font-size: clamp(28px, 2.7vw, 40px); line-height: 1.05; }
html[lang="en"] .s-h { font-size: clamp(26px, 2.6vw, 36px); }
html[lang="en"] .n-journey h3 { font-size: clamp(28px, 2.6vw, 38px); }
html[lang="en"] .n-steps b { font-size: 22px; }
html[lang="en"] .n-faq summary { font-size: clamp(22px, 2vw, 30px); }
html[lang="en"] .n-row b { font-family: var(--nino); font-weight: 500; font-size: 18px; }
html[lang="en"] .sp-card__info b { font-size: clamp(20px, 1.8vw, 26px); line-height: 1.1; }
html[lang="en"] .n-tile--lead h2 { font-size: clamp(34px, 3.6vw, 54px); line-height: 1.05; }

/* numerals */
html[lang="en"] .n-num b, html[lang="en"] .n-stats dd, html[lang="en"] .s-big, html[lang="en"] .countdown b, html[lang="en"] .n-row time {
  font-family: var(--nums); font-weight: 400; letter-spacing: -0.02em; font-variant-numeric: lining-nums;
}
html[lang="en"] .n-num b { font-size: clamp(56px, 6vw, 92px); }
html[lang="en"] .n-stats dd { font-size: clamp(48px, 5.4vw, 80px); }
html[lang="en"] .countdown b { font-size: 36px; }
html[lang="en"] .n-row time { font-size: clamp(26px, 2.5vw, 36px); }
html[lang="en"] .n-num span { font-size: 16px; font-weight: 500; }
html[lang="en"] .n-tabs button b { font-family: var(--nino); font-weight: 600; }

/* logo and form title keep a bold grotesk for brand consistency */
html[lang="en"] .nav__logo, html[lang="en"] .nav__logo span { font-family: "Hanken Grotesk", Arial, sans-serif; font-weight: 800; letter-spacing: -0.01em; text-transform: uppercase; }
html[lang="en"] .form__how b { font-family: var(--dachi); font-size: 22px; }
html[lang="en"] .register .h2, html[lang="en"] .h2 { font-size: clamp(44px, 5.6vw, 84px); line-height: 1; }

@media (max-width: 820px) {
  html[lang="en"] .hero__title { font-size: clamp(44px, 12.4vw, 68px); }
  html[lang="en"] .n-h2 { font-size: clamp(36px, 9.6vw, 52px); }
}
