/* Keep every major visual section aligned to the same site grid. */
:root {
  --content-inset: clamp(22px, 2.2vw, 36px);
}

.container {
  padding-inline: var(--content-inset);
}

.hero,
.about,
.employment,
.employer-blocks,
.application {
  width: min(var(--max), calc(100% - 64px));
  margin-inline: auto;
  overflow: hidden;
  border-radius: 12px;
}

.hero,
.about,
.employment,
.application {
  border: 1px solid #171717;
}

.hero .hero-inner,
.about .about-inner,
.employment > .container,
.application > .container {
  width: 100%;
}

/* Keep section copy and actions on one shared vertical guide. */
.hero-copy,
.about-copy,
.employment-copy,
.application-head,
.application form {
  margin-left: 0;
}

/* Never let copy, controls or grid children touch or cross their section edge. */
.hero-copy,
.about-copy,
.employment-copy,
.application-head,
.application form,
.section-head,
.split-head > *,
.employment-grid > *,
.application-head > *,
.footer-grid > * {
  min-width: 0;
}

h1,
h2,
h3,
p,
li,
label,
.button {
  overflow-wrap: break-word;
}

.button {
  max-width: 100%;
  white-space: normal;
  text-align: center;
}

.hero h1 {
  font-size: clamp(46px, 4.4vw, 72px);
}

.hero-note {
  right: var(--content-inset);
}

.hero-micro {
  right: var(--content-inset);
  bottom: 24px;
}

.employer-blocks {
  border: 1px solid var(--line);
}

@media (max-width: 820px) {
  :root {
    --content-inset: 22px;
  }

  .hero,
  .about,
  .employment,
  .employer-blocks,
  .application {
    width: calc(100% - 40px);
  }
}

@media (max-width: 520px) {
  :root {
    --content-inset: 18px;
  }

  .hero,
  .about,
  .employment,
  .employer-blocks,
  .application {
    width: calc(100% - 36px);
  }
}
