
.section { padding: var(--section-pad) var(--gutter); }
.section__inner {
  width: 100%;
  max-width: var(--content-max);
  margin-inline: auto;
}
.section--grey { background: var(--color-grey); }
.section--light { background: var(--color-light-grey); }
.section--dark-red { background: var(--color-dark-red); color: var(--color-white); }
.section--ink { background: var(--color-text); color: var(--color-white); }
.on-dark h2 { color: var(--color-white); }
.section__head {
  display: grid;
  justify-items: center;
  gap: 16px;
  text-align: center;
  margin-bottom: var(--gap-section);
}
.section__head p { max-width: 640px; }
h2 { font-size: var(--fs-h2); line-height: 1.15; }
.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: var(--color-white);
  box-shadow: 0 1px 0 rgb(0 0 0 / .08);
  transition: box-shadow var(--ease);
}
.site-header.is-scrolled { box-shadow: 0 4px 20px rgb(0 0 0 / .10); }
.site-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  min-height: var(--header-h);
  max-width: var(--content-max);
  margin-inline: auto;
  padding: 6px var(--gutter);
}
.brand img { width: auto; height: calc(var(--header-h) - 12px); }
.nav-toggle {
  display: none;
  width: 48px; height: 48px;
  padding: 0;
  background: transparent;
  border: 1px solid var(--color-grey);
  border-radius: var(--radius-ui);
  color: var(--color-text);
  cursor: pointer;
}
.nav-toggle__bars, .nav-toggle__bars::before, .nav-toggle__bars::after {
  display: block;
  width: 22px; height: 2px;
  margin: auto;
  background: currentColor;
  transition: transform var(--ease), opacity var(--ease);
}
.nav-toggle__bars { position: relative; }
.nav-toggle__bars::before, .nav-toggle__bars::after { content: ""; position: absolute; left: 0; }
.nav-toggle__bars::before { top: -7px; }
.nav-toggle__bars::after { top: 7px; }
.nav-toggle[aria-expanded="true"] .nav-toggle__bars { background: transparent; }
.nav-toggle[aria-expanded="true"] .nav-toggle__bars::before { top: 0; transform: rotate(45deg); }
.nav-toggle[aria-expanded="true"] .nav-toggle__bars::after { top: 0; transform: rotate(-45deg); }
.nav__list { display: flex; gap: 8px; }
.nav__list a {
  display: block;
  padding: 12px 14px;
  font-weight: 500;
  text-decoration: none;
  color: var(--color-text);
  transition: color var(--ease);
}
.nav__list a:hover { color: var(--color-primary); }
@media (max-width: 900px) {
  .nav-toggle { display: block; }
  .nav {
    position: absolute;
    left: 0; right: 0; top: 100%;
    background: var(--color-white);
    box-shadow: 0 12px 24px rgb(0 0 0 / .12);
    padding: 8px var(--gutter) 16px;
  }
  .nav[hidden] { display: none; }
  .nav__list { flex-direction: column; gap: 0; }
  .nav__list a { padding: 14px 4px; border-bottom: 1px solid var(--color-line); }
}
@media (min-width: 901px) {
  .nav[hidden] { display: block; }  
}
.hero {
  min-height: 600px;
  display: flex;
  align-items: center;
  background: var(--color-dark-red);
  color: var(--color-white);
}
.hero__inner {
  display: flex;
  align-items: center;
  gap: var(--gap-section);
}
.hero__text { flex: 1 1 55%; display: grid; gap: 24px; justify-items: start; }
.hero__text .eyebrow { color: var(--color-white); }
.hero h1 { font-size: var(--fs-h1); line-height: var(--lh-heading); }
.hero__lead { font-size: var(--fs-body-big); line-height: 1.5; max-width: 52ch; }
.hero__actions { display: flex; flex-wrap: wrap; gap: 16px; align-items: center; margin-top: 8px; }
.hero__media { flex: 1 1 45%; }
.hero__media .media { aspect-ratio: 4 / 3; max-height: 480px; width: 100%; }
@media (max-width: 899px) {
  .hero { min-height: 0; }
  .hero__inner { flex-direction: column; align-items: stretch; }
  .hero__media .media { max-height: none; aspect-ratio: 16 / 11; }
}
@media (max-width: 480px) {
  .hero__actions .btn { width: 100%; }
}
.cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; }
.card {
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding: 32px;
  background: var(--color-white);
  border-radius: var(--radius-img);
  box-shadow: 0 2px 16px rgb(0 0 0 / .07);
}
.card .media { height: 200px; border-radius: var(--radius-ui); }
.card h3 { font-size: var(--fs-h3-card); line-height: 1.2; }
@media (max-width: 959px) {
  .cards { grid-template-columns: 1fr; gap: 24px; }
  .card { padding: 24px; }
  .card .media { height: auto; aspect-ratio: 16 / 9; }
}
.split {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--gap-section);
}
.split > * { flex: 1 1 360px; min-width: 0; }
.split__text { display: grid; gap: 24px; justify-items: start; }
.split .media { height: 400px; max-height: 480px; }
@media (max-width: 859px) {
  .split { flex-direction: column; align-items: stretch; }
  .split > * { flex: 0 0 auto; }  
  .split .media { height: auto; aspect-ratio: 4 / 3; }
  .split--media-first .split__media { order: 2; }
}
.career .section__head { margin-bottom: 40px; }
.career__list { max-width: 820px; margin-inline: auto; }
.todo { background: #fff3a8; color: #1a1a1a; padding: 0 3px; }
.job-form { margin-top: 24px; max-width: 560px; }
.partners .section__head { margin-bottom: 0; }
.faq__list { max-width: 820px; margin-inline: auto; }
.contact__inner {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: var(--gap-section);
}
.contact__info { flex: 1 1 320px; display: grid; gap: 24px; }
.contact__form { flex: 1 1 360px; min-width: 0; }
.contact__info h2 { text-align: start; }
.address { font-style: normal; }
.address strong { display: block; }
.address a { text-underline-offset: 3px; }
.site-footer {
  background: var(--color-footer);
  color: var(--color-white);
  padding: 48px var(--gutter) 32px;
}
.site-footer__inner { display: grid; gap: 32px; }
.site-footer__top { display: flex; flex-wrap: wrap; gap: 32px; align-items: center; justify-content: space-between; }
.site-footer__top img { width: 250px; height: auto; }
.footer-nav { display: flex; flex-wrap: wrap; gap: 4px 24px; }
.footer-nav a, .legal a { color: var(--color-on-dark-muted); text-decoration: none; padding: 8px 0; display: inline-block; }
.footer-nav a:hover, .legal a:hover { color: var(--color-white); text-decoration: underline; text-underline-offset: 4px; }
.site-footer__bottom {
  display: flex; flex-wrap: wrap; gap: 16px; justify-content: space-between; align-items: center;
  padding-top: 24px;
  border-top: 1px solid rgb(255 255 255 / .15);
  font-size: var(--fs-small);
  color: var(--color-on-dark-muted);
}
.legal { display: flex; gap: 20px; }
@media (max-width: 480px) {
  .site-footer__top img { width: 200px; }
}
.legal-page { max-width: 760px; margin: 0 auto; padding: 64px var(--gutter) 96px; }
.legal-page h1 { font-size: clamp(2rem, 1.4rem + 2vw, 2.75rem); margin-bottom: 24px; }
.legal-page > * + * { margin-top: 1em; }
.notice { padding: 16px 20px; background: #fff3a8; border-left: 4px solid #c8a400; }
.legal-page h2 { font-size: 1.375rem; line-height: 1.25; margin-top: 1.9em; }
