/* Final shared type scale. Repeated class intentionally outranks legacy page variants. */
.abs-site {
  --type-title: clamp(42px, 4.5vw, 64px);
  --type-section: clamp(30px, 3.2vw, 44px);
  --type-intro: 17px;
  --type-body: 16px;
  --type-nav: 14px;
  --header-height: 84px;
  --header-gap: 24px;
}
.abs-site.abs-site {
  font-family: Arial, Helvetica, sans-serif;
  font-size: var(--type-body);
  font-weight: 400;
}
.abs-site.abs-site h1,
.abs-site.abs-site h2,
.abs-site.abs-site h3 {
  font-family: inherit;
}
.abs-site.abs-site .hero h1,
.abs-site.abs-site main.wrap > h1 {
  font-size: var(--type-title);
  font-weight: 600;
  line-height: 1.08;
  letter-spacing: -0.055em;
}
.abs-site.abs-site .hero .intro,
.abs-site.abs-site main.wrap > .intro {
  font-size: var(--type-intro);
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: normal;
}
.abs-site.abs-site .section-heading h2,
.abs-site.abs-site .workspace-split h2,
.abs-site.abs-site .included-panel h2 {
  font-size: var(--type-section);
  font-weight: 500;
  line-height: 1.18;
  letter-spacing: -0.045em;
}
.abs-site.abs-site .section-heading > p,
.abs-site.abs-site .workspace-split > div > p:not(.eyebrow) {
  font-size: var(--type-body);
  font-weight: 400;
  line-height: 1.8;
}
.abs-site.abs-site .header .nav {
  height: var(--header-height);
  gap: var(--header-gap);
}
.abs-site.abs-site .header .nav nav {
  font-size: var(--type-nav);
  font-weight: 500;
  line-height: 1.5;
  gap: var(--header-gap);
}
.abs-site.abs-site .header .nav nav > a {
  font: inherit;
  letter-spacing: normal;
  padding-block: 12px;
}
.abs-site.abs-site .header .nav-tools {
  gap: 22px;
}
.abs-site.abs-site .header .language-switch {
  font-size: 12px;
  line-height: 1.5;
  gap: 6px;
}
.abs-site.abs-site .header .language-switch a {
  min-height: 40px;
  min-width: 28px;
  padding: 7px 3px;
}
.abs-site.abs-site .header .bridge-logo {
  width: 38px;
  height: 38px;
}
.abs-site.abs-site .header .abs-brand {
  font-size: 21px !important;
  font-weight: 700;
  line-height: 1 !important;
  letter-spacing: -0.8px !important;
  gap: 10px;
}
.abs-site.abs-site .btn {
  font-size: 14px;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: normal;
  min-height: 50px;
  padding: 14px 22px;
  gap: 20px;
}
.abs-site.abs-site .btn.small {
  font-size: 12px;
  min-height: 44px;
  padding: 12px 16px;
  gap: 12px;
}
.abs-site.abs-site .hero .project-window-brand {
  font-size: 12px;
  font-weight: 600;
  line-height: 1.5;
}
.abs-site.abs-site .hero .project-content h3 {
  font-size: 25px;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: -0.6px;
}
.abs-site.abs-site .hero .project-meta {
  font-size: 10px;
  line-height: 1.6;
}
.abs-site.abs-site .hero .preview-demo {
  font-size: 9px;
  line-height: 1.5;
}
.abs-site.abs-site .hero .live-tasks > div {
  font-size: 12px;
  line-height: 1.7;
}
.abs-site.abs-site .hero .project-dates,
.abs-site.abs-site .hero .project-bottom,
.abs-site.abs-site .hero .status {
  font-size: 10px;
  line-height: 1.6;
}
.abs-site.abs-site .hero .decision-note b {
  font-size: 12px;
  line-height: 1.6;
}
.abs-site.abs-site .hero .decision-note p {
  font-size: 11px;
  line-height: 1.8;
}
.abs-site.abs-site .hero .review-ticket b {
  font-size: 12px;
  line-height: 1.5;
}
.abs-site.abs-site .hero .review-ticket small {
  font-size: 11px;
  line-height: 1.5;
}
@media (max-width: 1200px) {
  .abs-site {
    --type-nav: 12px;
    --header-gap: 17px;
  }
  .abs-site.abs-site .header .nav-access {
    display: none;
  }
}
@media (max-width: 960px) {
  .abs-site {
    --type-title: 52px;
  }
}
@media (max-width: 700px) {
  .abs-site {
    --type-title: clamp(38px, 10.7vw, 50px);
    --type-section: 30px;
    --type-intro: 16px;
    --type-body: 15px;
    --type-nav: 16px;
    --header-height: 74px;
    --header-gap: 12px;
  }
  .abs-site.abs-site .header .nav-tools {
    gap: 10px;
  }
  .abs-site.abs-site .header .abs-brand {
    font-size: 19px !important;
    gap: 6px;
  }
  .abs-site.abs-site .header .bridge-logo {
    width: 30px;
    height: 30px;
  }
  .abs-site.abs-site .header .language-switch {
    font-size: 11px;
    gap: 4px;
  }
  .abs-site.abs-site .hero .project-window-brand {
    font-size: 10px;
  }
  .abs-site.abs-site .hero .preview-demo {
    font-size: 8px;
  }
  .abs-site.abs-site .hero .live-tasks > div {
    font-size: 11px;
  }
}
