/* Readable body copy and secondary text across desktop and mobile. */
:root {
  --on-dark-mut: #c5d3da;
}

body { font-size: 1.125rem; }
section[id] { scroll-margin-top: 7.5rem; }

.hero-sub,
.sec-lead,
.quote-block .qcap,
.pillar p,
.holdco .desc,
.group-dark .subco p,
.biz-lead p,
.vent p,
.story-panel p,
.prow dd,
.foot-brand p {
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 2;
}

.hero-sub { max-width: 36rem; }
.quote-block .qcap { max-width: 52rem; }
.story-panel p { max-width: 33rem; }
.pillar p { color: var(--on-dark-mut); }
.group-dark .subco p { color: var(--on-dark-mut); }
.holdco .desc { color: #d5e0e5; }
.group-dark .holdco { max-width: 38rem; }

.sec-latin,
.hero-eyebrow,
.cta .eyebrow,
.holdco .role,
.subco .tag,
.subco .sub,
.subco .link,
.vent .tag,
.vent-label span,
.ci-role,
.field label,
.form-note,
.form-msg,
.access-head p,
.foot-brand .jp,
.foot-col h4,
.foot-col a,
.foot-col span {
  font-size: 1rem;
  line-height: 1.85;
}

.subco .link { display: inline-flex; align-items: center; gap: .75rem; min-height: 2.75rem; }
.form-note, .foot-col a, .foot-col span { font-weight: 400; }
.foot-brand p { max-width: 24rem; }
.foot-col a { padding-block: .5rem; }
.prow dt { font-size: 1.0625rem; }
.pillar h3, .biz-lead h3, .vent h4 { font-size: 1.25rem; line-height: 1.7; }

.brand .mk { font-size: 1.125rem; }
.brand .jp { font-size: .875rem; line-height: 1.6; letter-spacing: .015em; color: #d5e0e5; }
.menu a, .menu .pill, .btn, .ci-cta .btn, .motion-toggle { font-size: 1rem; line-height: 1.6; }
.btn, .motion-toggle { min-height: 3rem; }
.menu a { letter-spacing: .03em; }
.field input, .field select, .field textarea { font-size: 1.0625rem; line-height: 1.7; }
.field input::placeholder, .field textarea::placeholder { color: #a7bdc8; opacity: 1; }
.field label .req { font-size: .875rem; }
#contact .ci-line { font-size: 1.125rem; font-weight: 400; }
#contact .ci-line .k { flex-basis: 4.5rem; }
#contact .ci-name { font-size: 1.25rem; }

.hero-bottom .origin, .scroll-link, .story-number, .foot-bottom, .foot-bottom .lat, .media-credit {
  font-size: .875rem;
  font-weight: 400;
  line-height: 1.85;
}
.story-number, .media-credit { color: #b5c9d2; }
.media-credit { flex-wrap: wrap; }
.hero { height: auto; min-height: 100svh; max-height: none; }
.hero-inner { padding-bottom: 10rem; }

@media (max-width: 1080px) {
  .brand { max-width: calc(100% - 4rem); }
  .menu a { font-size: 1.125rem; }
}

@media (max-width: 820px) {
  .story-panel p { max-width: 31rem; }
  .hero-bottom .origin { display: none; }
  .vent .body, .subco .body { min-width: 0; }
}

@media (max-width: 600px) {
  section[id] { scroll-margin-top: 8rem; }
  .brand .mk { font-size: 1.0625rem; letter-spacing: .05em; }
  .hero-sub, .story-panel p { max-width: 100%; }
  .hero-inner { padding-bottom: 10rem; }
  .hero-bottom .wrap { gap: .75rem; flex-wrap: wrap; }
  .scroll-link { gap: .625rem; letter-spacing: .04em; }
  .motion-toggle { padding: .625rem .75rem; gap: .5rem; }
  .story-number { left: 1.5rem; right: 1.5rem; text-align: right; letter-spacing: .06em; }
  .foot-top { grid-template-columns: 1fr; }
  .foot-brand, .foot-col { min-width: 0; }
  .foot-bottom { gap: 1rem; }
}
