/* Shared paper, type and motion come from site.css and site.js. */
:is(body.page-about, body.page-service, body.page-contact) .inner-intro {
  padding-block: 64px 58px;
}
:is(body.page-about, body.page-service, body.page-contact) .intro-heading {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(0, .85fr);
  gap: 72px;
  align-items: end;
}
:is(body.page-about, body.page-service, body.page-contact) .intro-heading h1 {
  font-size: clamp(54px, 5.6vw, 80px);
  line-height: 1.16;
  letter-spacing: -.065em;
}
:is(body.page-about, body.page-service, body.page-contact) .intro-aside {
  max-width: 390px;
  padding-bottom: 8px;
}
:is(body.page-about, body.page-service, body.page-contact) .intro-aside p {
  font-size: 18px;
  color: var(--soft-ink);
}
:is(body.page-about, body.page-service, body.page-contact) .intro-aside .text-link {
  margin-top: 22px;
}
:is(body.page-about, body.page-service, body.page-contact) .hero-canvas {
  margin-top: 20px;
}
:is(body.page-about, body.page-service, body.page-contact) .inner-art {
  display: block;
  width: 100%;
  max-width: none;
  height: auto;
  overflow: hidden;
}
:is(body.page-about, body.page-service, body.page-contact) .scene-small {
  display: none;
}
:is(body.page-about, body.page-service, body.page-contact) .route-base {
  opacity: .5;
  stroke-width: 10;
}
:is(body.page-about, body.page-service, body.page-contact) .route-line {
  stroke-width: 9;
}
:is(body.page-about, body.page-service, body.page-contact) .scene-caption {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px 28px;
  font-size: 13px;
  color: var(--soft-ink);
  margin-top: 12px;
}
:is(body.page-about, body.page-service, body.page-contact) .scene-caption a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  gap: 20px;
  color: var(--ink);
  text-decoration: none;
}
:is(body.page-about, body.page-service, body.page-contact) .scene-caption a:hover {
  text-decoration: underline;
}
:is(body.page-about, body.page-service, body.page-contact) .paper-section {
  padding-block: 100px;
  border-top: 1px solid var(--rule);
}
:is(body.page-about, body.page-service, body.page-contact) .split-section {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 64px;
  align-items: center;
}
:is(body.page-about, body.page-service, body.page-contact) .section-copy {
  max-width: 510px;
}
:is(body.page-about, body.page-service, body.page-contact) .section-copy > p:not(.eyebrow),
:is(body.page-about, body.page-service, body.page-contact) .section-heading > p:not(.eyebrow) {
  margin-top: 23px;
  color: var(--soft-ink);
}
:is(body.page-about, body.page-service, body.page-contact) .section-copy .text-link {
  margin-top: 27px;
}
:is(body.page-about, body.page-service, body.page-contact) .section-heading {
  max-width: 700px;
}
:is(body.page-about, body.page-service, body.page-contact) .stroke-word {
  position: relative;
  display: inline-block;
  isolation: isolate;
}
:is(body.page-about, body.page-service, body.page-contact) .word-stroke {
  position: absolute;
  inset: auto 0 -9px;
  width: 100%;
  height: 17px;
  z-index: -1;
  fill: none;
  stroke: var(--yellow);
  stroke-width: 9;
  stroke-linecap: round;
}
:is(body.page-about, body.page-service, body.page-contact) .plain-list {
  margin-top: 42px;
}
:is(body.page-about, body.page-service, body.page-contact) .plain-list > div {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr);
  gap: 64px;
  padding-block: 30px;
}
:is(body.page-about, body.page-service, body.page-contact) .page-end {
  padding-block: 50px 80px;
}
body.page-about .companions-copy {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 64px;
  align-items: start;
}
body.page-about .companions-copy .reading-copy {
  padding-top: 44px;
}
body.page-about .companions-canvas {
  margin-top: 30px;
}
body.page-about .help-copy {
  margin-top: 55px;
  padding-top: 45px;
  border-top: 1px solid var(--rule);
}
body.page-service .journey-caption {
  display: flex;
  justify-content: space-around;
  gap: 20px;
  font-size: 14px;
  font-weight: 570;
  margin-top: 8px;
}
body.page-service .journey-caption span:last-child {
  color: var(--soft-ink);
}
body.page-service .participant-layout {
  align-items: start;
}
body.page-service .participant-layout .section-heading {
  padding-bottom: 25px;
}
body.page-service .steps {
  display: block;
  margin: 0;
}
body.page-service .steps li {
  position: relative;
  padding: 0 0 38px 68px;
  border: 0;
}
body.page-service .steps li + li {
  padding-top: 34px;
  border-top: 1px solid var(--rule);
}
body.page-service .step-label {
  margin-bottom: 14px;
  color: var(--soft-ink);
}
body.page-service .step-label::before {
  content: counter(step, decimal-leading-zero);
  position: absolute;
  left: 0;
  color: var(--blue);
  font-size: 25px;
  font-weight: 500;
  line-height: 1;
}
body.page-service .reference-note {
  margin-top: 42px;
  max-width: 520px;
}
body.page-service .organization-art {
  max-width: 550px;
  justify-self: end;
}
body.page-service .question-section .small-copy {
  max-width: 490px;
}
body.page-service .question-section h2 {
  font-size: clamp(38px, 4.3vw, 62px);
}
body.page-contact .intro-heading {
  grid-template-columns: minmax(0, 1.4fr) minmax(0, .8fr);
}
body.page-contact .contact-caption {
  justify-content: center;
}
body.page-contact .inquiry-layout {
  align-items: start;
}
body.page-contact .inquiry-art {
  width: min(100%, 420px);
  margin-top: 30px;
}
body.page-contact .inquiry-list {
  margin: 0;
}
body.page-contact .inquiry-list > div {
  padding-block: 0 28px;
  margin-bottom: 28px;
}
body.page-contact .inquiry-list dt {
  font-size: 25px;
}
body.page-contact .contact-availability {
  align-items: start;
  padding-bottom: 100px;
}
body.page-contact .contact-availability h2 {
  font-size: clamp(38px, 4.2vw, 60px);
}
body.page-contact .contact-links {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  margin-top: 22px;
}
body.page-contact .contact-links .text-link {
  margin: 0;
}
@media (min-width: 761px) and (max-width: 1100px) {
  :is(body.page-about, body.page-service, body.page-contact) .intro-heading,
  :is(body.page-about, body.page-service, body.page-contact) .split-section,
  body.page-about .companions-copy {
    gap: 36px;
  }
  :is(body.page-about, body.page-service, body.page-contact) .intro-heading h1 {
    font-size: 57px;
  }
  :is(body.page-about, body.page-service, body.page-contact) .intro-aside p {
    font-size: 16px;
  }
}
@media (min-width: 761px) and (max-height: 720px) {
  :is(body.page-about, body.page-service, body.page-contact) .inner-intro {
    padding-top: 34px;
  }
  :is(body.page-about, body.page-service, body.page-contact) .intro-heading h1 {
    font-size: clamp(52px, 5vw, 70px);
  }
}
@media (max-width: 760px) {
  :is(body.page-about, body.page-service, body.page-contact) .inner-intro {
    padding-block: 32px 42px;
  }
  :is(body.page-about, body.page-service, body.page-contact) .intro-heading,
  :is(body.page-about, body.page-service, body.page-contact) .split-section,
  body.page-about .companions-copy {
    grid-template-columns: minmax(0, 1fr);
    gap: 30px;
  }
  :is(body.page-about, body.page-service, body.page-contact) .intro-heading h1 {
    font-size: clamp(42px, 11.3vw, 66px);
    line-height: 1.2;
  }
  :is(body.page-about, body.page-service, body.page-contact) .intro-aside {
    max-width: 470px;
    padding: 0;
  }
  :is(body.page-about, body.page-service, body.page-contact) .intro-aside p {
    font-size: 16px;
    line-height: 1.8;
  }
  :is(body.page-about, body.page-service, body.page-contact) .intro-aside .text-link {
    margin-top: 14px;
  }
  :is(body.page-about, body.page-service, body.page-contact) .scene-wide {
    display: none;
  }
  :is(body.page-about, body.page-service, body.page-contact) .scene-small {
    display: block;
  }
  :is(body.page-about, body.page-service, body.page-contact) .hero-canvas {
    margin-top: 12px;
  }
  :is(body.page-about, body.page-service, body.page-contact) .scene-caption {
    font-size: 12px;
    gap: 6px 20px;
  }
  :is(body.page-about, body.page-service, body.page-contact) .paper-section {
    padding-block: 64px;
  }
  :is(body.page-about, body.page-service, body.page-contact) .plain-list > div {
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
    padding-block: 25px;
  }
  :is(body.page-about, body.page-service, body.page-contact) .page-end {
    padding-block: 25px 60px;
  }
  body.page-about .companions-copy .reading-copy {
    padding-top: 0;
  }
  body.page-about .help-copy {
    margin-top: 30px;
    padding-top: 30px;
  }
  body.page-service .journey-caption {
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 9px 18px;
    font-size: 12px;
  }
  body.page-service .jump-links {
    margin-top: 18px;
  }
  body.page-service .steps li {
    padding-left: 48px;
  }
  body.page-service .organization-art {
    justify-self: center;
  }
  body.page-contact .inquiry-art {
    width: min(80%, 300px);
    margin-top: 15px;
  }
  body.page-contact .inquiry-list dt {
    font-size: 22px;
  }
  body.page-contact .contact-availability {
    padding-bottom: 70px;
  }
}
