@font-face {
  font-family: 'Unbounded';
  src: url('/assets/Unbounded-Variable.woff2') format('woff2');
  font-weight: 200 900;
  font-style: normal;
  font-display: swap;
}
@font-face { font-family: 'DINish'; src: url('/assets/DINish-Regular.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'DINish'; src: url('/assets/DINish-Medium.woff2') format('woff2'); font-weight: 500; font-style: normal; font-display: swap; }
@font-face { font-family: 'DINish'; src: url('/assets/DINish-SemiBold.woff2') format('woff2'); font-weight: 600; font-style: normal; font-display: swap; }
@font-face { font-family: 'DINish'; src: url('/assets/DINish-Bold.woff2') format('woff2'); font-weight: 700; font-style: normal; font-display: swap; }
:root { --font: 'DINish', Arial, sans-serif; --font-display: 'DINish', Arial, sans-serif; --font-accent: 'Unbounded', Arial, sans-serif; }
h1,h2,h3,.brand { font-family: var(--font-display); font-synthesis: none; }
h1,h2 { font-weight: 700; letter-spacing: -.025em; line-height: 1.12; }
.eyebrow,.portal-brand-sub,.portal-nav-label { font-family: var(--font-accent); font-weight: 500; }
.eyebrow { letter-spacing: .9px; }
.brand { font-size: 30px; font-weight: 700; letter-spacing: -.025em; gap: 11px; }
.brand-symbol { width: 31px; height: 36px; }
.hero-content { max-width: 1020px; }
.hero h1 { font-size: clamp(70px,8vw,118px); font-weight: 700; line-height: 1.02; letter-spacing: -.025em; }
.hero-content > p { font-size: 17px; }
.section-head h2 { font-size: clamp(36px,4.2vw,61px); line-height: 1.1; }
.product-proof h2 { font-size: clamp(31px,3.15vw,46px); line-height: 1.18; }
.cta-block h2 { font-size: clamp(30px,3.7vw,54px); line-height: 1.16; }
.page-heading h1 { font-size: clamp(38px,5vw,68px); line-height: 1.14; }
.feature-copy h2 { font-size: 32px; line-height: 1.2; }
.editorial-split h2 { font-size: 35px; line-height: 1.18; }
.access-story h2,.login-art h2 { font-size: 40px; line-height: 1.2; }
.access-form h1,.login-form-wrap h1 { font-size: 34px; line-height: 1.2; }
.roadmap-column h2 { font-size: 16px; line-height: 1.45; letter-spacing: -.025em; }
.portal h1 { font-size: 32px; line-height: 1.2; }
.portal h2 { font-size: 19px; line-height: 1.4; letter-spacing: -.025em; }
.modal-content h2 { font-size: 25px; line-height: 1.3; }
@media(max-width:1100px) {
  .brand { font-size: 28px; gap: 9px; }
  .hero h1 { font-size: clamp(60px,8vw,88px); }
  .section-head h2 { font-size: 46px; }
}
@media(max-width:720px) {
  .brand { font-size: 27px; gap: 8px; letter-spacing: -.025em; }
  .brand-symbol { width: 26px; height: 30px; }
  .header-inner { gap: 12px; }
  .header-actions { gap: 12px; }
  .hero-content { max-width: 100%; }
  .hero h1 { font-size: clamp(42px,11vw,72px); line-height: 1.04; letter-spacing: -.025em; }
  .hero-content > p { font-size: 16px; }
  .hero .eyebrow { letter-spacing: .6px; }
  .disciplines { flex-wrap: wrap; gap: 14px 20px; }
  .section-head h2 { font-size: clamp(31px,8.5vw,46px); line-height: 1.12; }
  .product-proof h2 { font-size: clamp(26px,7vw,37px); }
  .cta-block h2 { font-size: clamp(25px,6.8vw,37px); }
  .page-heading h1 { font-size: clamp(28px,8vw,43px); }
  .feature-copy h2,.editorial-split h2 { font-size: 27px; line-height: 1.24; }
  .access-form h1,.login-form-wrap h1 { font-size: 29px; }
  .access-story h2,.login-art h2 { font-size: 33px; }
  .portal h1 { font-size: 27px; }
  .portal h2 { font-size: 17px; }
}
@media(max-width:374px) {
  .header-inner { width: calc(100% - 24px); }
  .brand { font-size: 24px; gap: 6px; }
  .brand-symbol { width: 23px; }
  .header-actions { gap: 8px; }
  .header-actions .button.small { padding: 11px 10px; gap: 8px; font-size: 9px; }
  .hero h1 { font-size: clamp(36px,11vw,42px); }
}
