/* Shared reading typography for the homepage, retained pages and project pages. */
@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('/assets/fonts/dbb4c50049c7f460.woff2') format('woff2');
}
:root {
  --cb-type-reading: Inter, Arial, sans-serif;
  --cb-type-display: var(--font-brand, CrownByte), Arial, sans-serif;
}
html body {
  font-family: var(--cb-type-reading) !important;
  font-size: 1rem;
  line-height: 1.75;
}
/* Headings must remain distinct from prose, including headings without utility classes. */
html :is(h1,h2,h3,h4,h5,h6,.font-heading,.font-display) {
  font-family: var(--cb-type-reading) !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  line-height: 1.35 !important;
  text-wrap: pretty;
}
html main h1 {
  font-family: var(--cb-type-display) !important;
  letter-spacing: -.02em !important;
  line-height: 1.16 !important;
}
/* Retain the large title roles, with open letter spacing and complete glyphs. */
html main :is(.hero-title,.display,.problem-heading,.service-copy h2,.service-card .service-copy h3,.contact h2,.brand-statement h2,.about-copy h2,.services-heading h2) {
  font-family: var(--cb-type-display) !important;
  letter-spacing: -.02em !important;
  line-height: 1.12 !important;
}
html main .hero-title { line-height: 1.04 !important; }
html main .hero-line { padding-bottom: .1em; }
html main .lead { letter-spacing: 0; line-height: 1.45; }
/* Paragraphs and list text use the reading face; labels keep their existing size. */
html main :is(p,li,blockquote,dd,dt) {
  font-family: var(--cb-type-reading);
  letter-spacing: normal;
}
html main :is(
  .intro-copy p:not(.lead),.service-copy p,.project-caption p,
  .process-step p:last-child,.brand-copy p,.about-copy p,
  .problem-bottom>p:not(.lead),.concept-title>p,
  .case-context p:not(.case-kicker),.case-functions p,.case-boundary p,
  .case-contact>p:not(.case-kicker),.cb-info p,.cb-decision-info p,
  p.text-white-muted:not(.uppercase):not([class*="tracking-"]),
  p.text-white-dim:not(.uppercase):not([class*="tracking-"])
) {
  font-size: 1.0625rem !important;
  line-height: 1.8 !important;
  letter-spacing: normal !important;
  color: #c5d2e5;
}
html main :is(p,li)[class*="text-sm"]:not(.uppercase):not([class*="tracking-"]) {
  font-size: 1rem;
  line-height: 1.75;
}
html main :is(.cb-info,.cb-decision-info) {
  text-align: left;
}
html main :is(.cb-info,.cb-decision-info) h2 {
  font-size: clamp(1.5rem,2.6vw,2.125rem) !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
  color: #f4f7ff;
  margin-bottom: 1.5rem;
}
html main :is(.cb-info,.cb-decision-info) h3 {
  font-size: 1.25rem !important;
  font-weight: 600 !important;
  line-height: 1.45 !important;
  letter-spacing: 0 !important;
  color: #edf3ff;
  margin: 1.75rem 0 .75rem;
}
html main :is(.cb-info,.cb-decision-info) p {
  max-width: 68ch;
  margin-bottom: 1rem;
}
html main .cb-decision-info > div { padding-block: 1.5rem; }
html[data-cb-legal] main h3 {
  font-size: 1.25rem !important;
  line-height: 1.45 !important;
}
html main .cb-wizard h2 { font-size: clamp(1.5rem,4vw,2rem); }
html main .cb-wizard-hint { font-size: 1rem; line-height: 1.75; }
html .mobile-menu nav a { letter-spacing: -.01em; }
/* Original logo lettering is part of the established brand. */
html .brand-name { font-family: var(--cb-type-display); }
@media(max-width:760px) {
  html main :is(
    .intro-copy p:not(.lead),.service-copy p,.project-caption p,
    .process-step p:last-child,.brand-copy p,.about-copy p,
    .problem-bottom>p:not(.lead),.concept-title>p,
    .case-context p:not(.case-kicker),.case-functions p,.case-boundary p,
    .case-contact>p:not(.case-kicker),.cb-info p,.cb-decision-info p,
    p.text-white-muted:not(.uppercase):not([class*="tracking-"]),
    p.text-white-dim:not(.uppercase):not([class*="tracking-"])
  ) { font-size: 1rem !important; line-height: 1.75 !important; }
  html main :is(.cb-info,.cb-decision-info) h3 { font-size: 1.125rem !important; }
  html[data-cb-legal] main h3 { font-size: 1.125rem !important; }
}
