/* One readable type system across every LordPixel page. */
:root {
  --font: Arial, Helvetica, sans-serif;
  --serif: var(--font);
  --mono: var(--font);
  --mut: #595959;
  --body-size: 18px;
  --heading-size: clamp(36px, 5.2vw, 72px);
}

body {
  font-family: var(--font);
  font-size: var(--body-size);
  line-height: 1.65;
  letter-spacing: 0;
}

input, select, textarea, button { font-family: var(--font); }
h1, h2, h3 { font-family: var(--font); font-style: normal; font-weight: 600; }
h1 { font-size: var(--heading-size); line-height: 1.1; letter-spacing: -.025em; text-indent: 0; }
h2 { font-size: clamp(28px, 3.2vw, 40px); line-height: 1.2; letter-spacing: -.02em; }
h3 { font-size: 24px; line-height: 1.3; letter-spacing: -.01em; }

.standard-page main { max-width: 1120px; padding: 144px 40px 80px; }
.contact-page main { max-width: 800px; }
.standard-page main h1 { font-size: var(--heading-size); line-height: 1.1; margin-bottom: 24px; text-indent: 0; }
.standard-page main h2 { font-size: clamp(28px, 3.2vw, 40px); line-height: 1.2; margin-bottom: 20px; }
.standard-page p, .standard-page li {
  font-family: var(--font);
  font-size: var(--body-size);
  line-height: 1.7;
  letter-spacing: 0;
  color: #333;
}
.standard-page main > p { max-width: 66ch; margin-bottom: 24px; }
.standard-page .lede, .standard-page .sub {
  font-size: clamp(20px, 2vw, 24px);
  line-height: 1.5;
  max-width: 58ch;
  letter-spacing: 0;
  margin-bottom: 28px;
}
.standard-page .partnership-intro { margin: 0 0 40px; }
.standard-page .step { padding: 28px 24px; }
.standard-page .step h3 { font-size: 24px; line-height: 1.3; font-weight: 600; }
.standard-page .step p { font-size: var(--body-size); line-height: 1.65; }
.standard-page .step .n, .lbl, .spots, .upd, .note {
  font-family: var(--font);
  font-size: 14px;
  line-height: 1.6;
  letter-spacing: .02em;
  text-transform: none;
  color: #595959;
}
.standard-page .offer p { max-width: 70ch; }
.offer .programme-note, .package-card .payment-detail, .standard-page .note, .standard-page .upd {
  font-size: 16px;
  line-height: 1.65;
}
.package-card h3 { font: 600 26px/1.3 var(--font); }
.package-card .price { font: 600 clamp(36px, 4vw, 48px)/1.2 var(--font); color: var(--org); }
.package-card ul, .package-card li { font-size: var(--body-size); line-height: 1.65; }
.programme-faq summary { font-size: var(--body-size); font-weight: 600; line-height: 1.5; }
.programme-faq details p { font-size: var(--body-size); line-height: 1.7; }

.standard-page .cta, .standard-page .back, #applyForm button {
  font-family: var(--font);
  font-size: 16px;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0;
  text-transform: none;
  min-height: 48px;
}
#applyForm > label, #applyForm legend, #applyForm .package-option, #applyForm .check-option {
  font-family: var(--font);
  font-size: 16px;
  line-height: 1.65;
  letter-spacing: 0;
}
#applyForm input, #applyForm select { font-family: var(--font); font-size: 16px; line-height: 1.5; }
#applyForm legend, #applyForm > label { font-weight: 600; }
#applyForm .package-option { padding: 18px 0; }
#applyForm .check-option { margin: 18px 0; }
.standard-page footer, .standard-page footer .cr, .standard-page footer a {
  font-family: var(--font);
  font-size: 14px;
  line-height: 1.65;
  letter-spacing: 0;
  text-transform: none;
}

.bar .b, .pill .top .b { font-family: var(--font); font-size: 16px; font-weight: 600; letter-spacing: 0; }
.bar nav a { font-family: var(--font); font-size: 16px; letter-spacing: 0; text-transform: none; }
.menu a.m { font-family: var(--font); font-size: 24px; font-weight: 500; line-height: 1.6; }
.menu .legal a { font-family: var(--font); font-size: 14px; letter-spacing: 0; text-transform: none; }
.mobile-menu a { font-family: var(--font); font-size: 20px; line-height: 1.4; }
.mobile-menu-toggle { font-family: var(--font); }
.tile.page .pn { font-family: var(--font); font-size: 28px; line-height: 1.25; }
.tile.page .pl { font-size: 14px; line-height: 1.5; letter-spacing: 0; text-transform: none; }

.stage .bigword h1 { font-family: var(--font); font-size: var(--heading-size); font-weight: 600; line-height: 1.1; letter-spacing: -.025em; }
body:not(.standard-page) .bigword { bottom: 22%; }
#tagline {
  top: 54%;
  width: min(760px, calc(100vw - 40px));
  font-family: var(--font);
  font-size: var(--body-size);
  line-height: 1.65;
  letter-spacing: 0;
  text-transform: none;
}
#tagline b { font-weight: 600; }
.bigword .eyebrow { font-family: var(--font); font-size: 16px; line-height: 1.5; letter-spacing: 0; text-transform: none; }
.bigword .proof-note { font: 16px/1.6 var(--font); width: min(520px, calc(100vw - 40px)); max-width: 52ch; }
button.cue { font-family: var(--font); font-size: 14px; line-height: 1.5; letter-spacing: 0; }
.clabel { display: none; }

@media(max-width: 700px) {
  :root { --body-size: 16px; }
  .standard-page main { padding: 112px 24px 64px; }
  .standard-page .step h3 { font-size: 22px; }
  .standard-page .step { padding: 26px 24px; }
  .package-card h3 { font-size: 24px; }
  .package-card .price { font-size: 38px; }
  .standard-page .lede, .standard-page .sub { font-size: 20px; }
  .standard-page main h1 { overflow-wrap: normal; }
  .tile.page .pn { font-size: 22px; }
  .tile.page .pl { font-size: 12px; }
  button.cue { font-size: 14px; }
}

@media(max-width: 420px) {
  .standard-page main { padding-left: 20px; padding-right: 20px; }
}

.nav .pill, .nav .pill.open { background: #141414; }

.standard-page main > ul, .standard-page .offer > ul { padding-left: 22px; max-width: 66ch; margin: 16px 0 24px; }
