body.os-company-page {
  margin: 0;
  background: var(--os-paper);
  color: var(--os-ink);
  font-family: var(--os-sans);
  -webkit-font-smoothing: antialiased;
}

.os-company-page main { overflow: hidden; }
.os-company-page .os-header nav { gap: 22px; }
.os-company-page .os-header nav a[aria-current="page"] { color: #fff; text-decoration: underline; text-underline-offset: 6px; }

.os-company-hero {
  position: relative;
  padding: 104px max(24px, calc((100vw - 1100px) / 2)) 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 330px;
  column-gap: 80px;
  overflow: hidden;
  background:
    radial-gradient(circle at 82% 25%, #1a5c4b 0, transparent 32%),
    linear-gradient(125deg, #07130f 0%, #0b332a 58%, #0e4639 100%);
  color: #fff;
}
.os-company-hero::before {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, transparent calc(50% - .5px), #ffffff0d 50%, transparent calc(50% + .5px)),
    repeating-linear-gradient(90deg, transparent 0 159px, #ffffff08 160px);
  content: "";
  pointer-events: none;
}
.os-company-hero-copy,
.os-company-hero-mark,
.os-company-verification { position: relative; z-index: 1; }
.os-company-hero-copy { padding: 24px 0 92px; }
.os-company-hero h1 {
  margin: 0 0 28px;
  font-family: var(--os-serif);
  font-size: clamp(46px, 6vw, 76px);
  font-weight: 500;
  line-height: 1.42;
  letter-spacing: .06em;
}
.os-company-hero-copy > p:not(.os-eyebrow) {
  max-width: 680px;
  margin: 0;
  color: #dce8e3;
  font-size: 16px;
  line-height: 2.1;
}
.os-company-hero-copy > strong {
  margin-top: 34px;
  display: block;
  color: #f4e7d6;
  font-family: var(--os-serif);
  font-size: 20px;
  font-weight: 500;
  letter-spacing: .08em;
}
.os-company-hero-mark {
  align-self: center;
  display: grid;
  justify-items: center;
  gap: 18px;
}
.os-company-hero-mark .os-brand-mark {
  width: 230px;
  height: 230px;
  box-shadow: 0 25px 65px #00000035;
}
.os-company-hero-mark small {
  color: #b9cbc4;
  font-size: 11px;
  letter-spacing: .2em;
}
.os-company-verification {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid #ffffff28;
  background: #06130fa6;
  backdrop-filter: blur(12px);
}
.os-company-verification > * {
  min-width: 0;
  padding: 25px 28px 27px;
  border-right: 1px solid #ffffff1d;
  color: inherit;
  text-decoration: none;
}
.os-company-verification > *:last-child { border-right: 0; }
.os-company-verification span,
.os-company-verification small { display: block; }
.os-company-verification span {
  margin-bottom: 9px;
  color: #a9beb5;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .14em;
}
.os-company-verification b {
  display: block;
  color: #fff;
  font-family: var(--os-serif);
  font-size: 18px;
  font-weight: 600;
  letter-spacing: .04em;
}
.os-company-verification small {
  margin-top: 8px;
  color: #b9c8c2;
  font-size: 11px;
  line-height: 1.6;
}
.os-company-verification a:hover small,
.os-company-verification a:focus-visible small { color: #fff; text-decoration: underline; }

.os-company-section {
  width: min(1100px, calc(100% - 48px));
  margin: auto;
  padding: 112px 0;
}
.os-company-heading h2 {
  margin: 0;
  color: var(--os-green);
  font-family: var(--os-serif);
  font-size: clamp(36px, 4.5vw, 55px);
  font-weight: 500;
  line-height: 1.55;
  letter-spacing: .045em;
}
.os-company-heading > p:not(.os-eyebrow) {
  max-width: 620px;
  margin: 22px 0 0;
  color: #5c6762;
  font-size: 14px;
  line-height: 2;
}

.os-company-purpose {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  gap: 92px;
  border-bottom: 1px solid var(--os-line);
}
.os-company-copy {
  color: #46524d;
  font-size: 16px;
  line-height: 2.15;
}
.os-company-copy > p { margin: 0 0 24px; }
.os-company-copy blockquote {
  margin: 38px 0 0;
  padding: 26px 28px;
  border-left: 3px solid var(--os-copper);
  background: #fffaf3;
  color: var(--os-green-dark);
  font-family: var(--os-serif);
  font-size: 18px;
  line-height: 1.9;
}

.os-company-business { border-bottom: 1px solid var(--os-line); }
.os-company-business .os-company-heading { margin-bottom: 52px; }
.os-company-business-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}
.os-company-business-grid article {
  min-width: 0;
  padding: 34px 30px 36px;
  border: 1px solid var(--os-line);
  background: var(--os-white);
}
.os-company-business-grid article > span {
  color: var(--os-copper);
  font-family: var(--os-serif);
  font-size: 13px;
  letter-spacing: .12em;
}
.os-company-business-grid h3 {
  min-height: 70px;
  margin: 17px 0 16px;
  color: var(--os-green-dark);
  font-family: var(--os-serif);
  font-size: 22px;
  line-height: 1.6;
}
.os-company-business-grid p {
  margin: 0;
  color: #59645f;
  font-size: 14px;
  line-height: 2;
}

.os-company-trust {
  padding: 112px 24px;
  background: linear-gradient(125deg, #081a15, #0b3c31);
  color: #fff;
}
.os-company-trust-inner {
  width: min(1100px, 100%);
  margin: auto;
  display: grid;
  grid-template-columns: 340px 1fr;
  gap: 90px;
}
.os-company-trust .os-company-heading h2 { color: #fff; }
.os-company-trust .os-company-heading > p:not(.os-eyebrow) { color: #bdcec7; }
.os-company-principles {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  border-top: 1px solid #ffffff28;
  border-left: 1px solid #ffffff28;
}
.os-company-principles article {
  min-width: 0;
  padding: 29px 27px 31px;
  border-right: 1px solid #ffffff28;
  border-bottom: 1px solid #ffffff28;
}
.os-company-principles h3 {
  margin: 0 0 13px;
  color: #fff5e8;
  font-family: var(--os-serif);
  font-size: 19px;
  font-weight: 600;
}
.os-company-principles p {
  margin: 0;
  color: #b8cbc3;
  font-size: 13px;
  line-height: 1.95;
}

.os-company-profile {
  display: grid;
  grid-template-columns: 310px minmax(0, 1fr);
  gap: 80px;
}
.os-company-details {
  margin: 0;
  border-top: 1px solid var(--os-line);
}
.os-company-details > div {
  padding: 22px 0;
  display: grid;
  grid-template-columns: 150px 1fr;
  gap: 24px;
  border-bottom: 1px solid var(--os-line);
}
.os-company-details dt {
  color: #717b76;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .08em;
}
.os-company-details dd {
  min-width: 0;
  margin: 0;
  color: #27332e;
  font-size: 14px;
  line-height: 1.9;
  overflow-wrap: anywhere;
}
.os-company-details a {
  color: var(--os-green);
  font-weight: 700;
  text-underline-offset: 4px;
}

.os-company-disclosure {
  padding: 94px max(24px, calc((100vw - 1100px) / 2));
  display: grid;
  grid-template-columns: 330px 1fr;
  gap: 80px;
  background: #ece6da;
}
.os-company-disclosure h2 {
  margin: 0;
  color: var(--os-green);
  font-family: var(--os-serif);
  font-size: 34px;
  font-weight: 500;
  line-height: 1.6;
}
.os-company-disclosure > div > p:not(.os-eyebrow) {
  margin: 22px 0 0;
  color: #59635e;
  font-size: 14px;
  line-height: 2;
}
.os-company-disclosure nav {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  align-content: start;
  border-top: 1px solid #cfc6b7;
  border-left: 1px solid #cfc6b7;
}
.os-company-disclosure nav a {
  min-width: 0;
  min-height: 126px;
  padding: 24px;
  border-right: 1px solid #cfc6b7;
  border-bottom: 1px solid #cfc6b7;
  color: inherit;
  text-decoration: none;
}
.os-company-disclosure nav span,
.os-company-disclosure nav b { display: block; }
.os-company-disclosure nav span {
  margin-bottom: 11px;
  color: var(--os-copper);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .12em;
}
.os-company-disclosure nav b {
  color: var(--os-green-dark);
  font-family: var(--os-serif);
  font-size: 17px;
  line-height: 1.65;
}
.os-company-disclosure nav a:hover,
.os-company-disclosure nav a:focus-visible { background: #fffaf2; }

.os-company-contact {
  padding: 96px 24px;
  background: linear-gradient(120deg, #07110e, #0b352b);
  color: #fff;
  text-align: center;
}
.os-company-contact h2 {
  margin: 0 0 20px;
  font-family: var(--os-serif);
  font-size: clamp(36px, 5vw, 55px);
  font-weight: 500;
  letter-spacing: .06em;
}
.os-company-contact > p:not(.os-eyebrow) {
  margin: 0;
  color: #cad8d2;
  line-height: 2;
}
.os-company-contact > small {
  margin-top: 24px;
  display: block;
  color: #9bb0a7;
  font-size: 12px;
}

@media (max-width: 980px) {
  .os-company-page .os-header nav { gap: 14px; }
  .os-company-hero { grid-template-columns: minmax(0, 1fr) 240px; gap: 42px; }
  .os-company-hero-mark .os-brand-mark { width: 190px; height: 190px; }
  .os-company-trust-inner { grid-template-columns: 280px 1fr; gap: 55px; }
}

@media (max-width: 800px) {
  .os-company-hero {
    padding: 68px 18px 0;
    grid-template-columns: 1fr;
    gap: 0;
  }
  .os-company-hero-copy { padding: 0 0 47px; }
  .os-company-hero h1 { font-size: clamp(38px, 12vw, 50px); line-height: 1.48; }
  .os-company-hero-copy > p:not(.os-eyebrow) { font-size: 14px; }
  .os-company-hero-copy > strong { margin-top: 26px; font-size: 17px; line-height: 1.8; }
  .os-company-hero-mark { padding-bottom: 48px; }
  .os-company-hero-mark .os-brand-mark { width: 150px; height: 150px; }
  .os-company-verification { grid-template-columns: 1fr; margin: 0 -18px; }
  .os-company-verification > * { padding: 20px 18px; border-right: 0; border-bottom: 1px solid #ffffff1d; }
  .os-company-verification > *:last-child { border-bottom: 0; }

  .os-company-section { width: calc(100% - 36px); padding: 72px 0; }
  .os-company-heading h2 { font-size: 33px; }
  .os-company-purpose { grid-template-columns: 1fr; gap: 34px; }
  .os-company-copy { font-size: 15px; }
  .os-company-copy blockquote { margin-top: 28px; padding: 22px 20px; font-size: 16px; }
  .os-company-business .os-company-heading { margin-bottom: 34px; }
  .os-company-business-grid { grid-template-columns: 1fr; }
  .os-company-business-grid article { padding: 28px 23px; }
  .os-company-business-grid h3 { min-height: 0; font-size: 20px; }

  .os-company-trust { padding: 72px 18px; }
  .os-company-trust-inner { grid-template-columns: 1fr; gap: 37px; }
  .os-company-principles { grid-template-columns: 1fr; }
  .os-company-principles article { padding: 24px 21px; }

  .os-company-profile { grid-template-columns: 1fr; gap: 38px; }
  .os-company-details > div { grid-template-columns: 105px 1fr; gap: 17px; }

  .os-company-disclosure {
    padding: 70px 18px;
    grid-template-columns: 1fr;
    gap: 38px;
  }
  .os-company-disclosure h2 { font-size: 30px; }
  .os-company-disclosure nav { grid-template-columns: 1fr; }
  .os-company-disclosure nav a { min-height: 0; padding: 21px; }

  .os-company-contact { padding: 76px 18px; }
  .os-company-contact h2 { font-size: 34px; }
}
