@charset "UTF-8";
.company-page {
  --co-blue: #315f8c;
  --co-deep: #1d456b;
  --co-ink: #2c4053;
  --co-muted: #607589;
  --co-line: #d7e2eb;
  color: var(--co-ink);
  background: #fbfdfe;
}
.company-page .company-hero { padding: 25px 24px 50px; background: #f1f6f9; }
.company-page__inner { width: min(1080px, 100%); margin: 0 auto; }
.company-page .company-hero__copy { padding: 28px 0 10px; }
.company-page .company-kicker { margin: 0 0 11px; color: var(--co-blue); font: 700 11px Georgia, serif; letter-spacing: .17em; }
.company-page h1 { margin: 0 0 14px; color: var(--co-deep); font-size: clamp(29px, 4vw, 43px); line-height: 1.5; letter-spacing: .04em; text-wrap: balance; }
.company-page .company-hero__copy > p:last-child { max-width: 700px; margin: 0; color: var(--co-muted); font-size: 15px; line-height: 2; }
.company-page section { scroll-margin-top: 100px; }
.company-detail-section { padding: clamp(53px, 7vw, 86px) 24px; }
.company-detail-section:nth-of-type(even) { background: #f2f6f9; }
.company-detail-section h2 { margin: 0 0 22px; color: var(--co-deep); font-size: clamp(24px, 3vw, 33px); line-height: 1.55; letter-spacing: .025em; text-wrap: balance; }
.company-detail-section h3 { color: var(--co-deep); line-height: 1.7; }
.company-detail-section p { color: var(--co-muted); font-size: 14px; line-height: 2; }
.company-detail-section .company-lead { margin: 0 0 22px; color: var(--co-blue); font-size: 20px; font-weight: 700; }
.company-detail-section .company-philosophy { max-width: 820px; margin: 0; color: var(--co-deep); font-size: clamp(22px, 3.2vw, 34px); font-weight: 700; line-height: 1.85; text-wrap: balance; }
.company-detail-section .company-list { max-width: 820px; padding-left: 1.3em; color: var(--co-muted); font-size: 14px; line-height: 2; }
.company-detail-section .company-story { max-width: 850px; }
.company-vision-images { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(150px, .65fr); gap: 25px; align-items: end; max-width: 660px; margin: 26px auto 35px; }
.company-vision-images img, .company-mind-image { display: block; width: 100%; height: auto; }
.company-mind-image { max-width: 440px; margin: 22px auto 0; }
.company-table { width: 100%; border-collapse: collapse; border-top: 1px solid var(--co-line); }
.company-table th, .company-table td { padding: 16px 18px; border-bottom: 1px solid var(--co-line); font-size: 14px; line-height: 1.9; text-align: left; vertical-align: top; }
.company-table th { width: 190px; color: var(--co-deep); font-weight: 700; }
.company-detail-section .company-banners { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.company-banners a { display: block; border: 1px solid var(--co-line); background: #fff; }
.company-banners img { display: block; width: 100%; height: auto; }
.company-video { position: relative; width: min(820px, 100%); aspect-ratio: 16 / 9; background: #e5edf3; }
.company-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.company-video-link { display: inline-block; margin-top: 18px; color: var(--co-blue); font-size: 13px; font-weight: 700; text-underline-offset: 4px; }
.company-publication { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(200px, .8fr); gap: 32px; align-items: center; }
.company-publication img { display: block; width: 100%; height: auto; }
.company-publication time { color: var(--co-blue); font: 700 12px Georgia, serif; }
.company-publication a { color: var(--co-deep); font-weight: 700; text-underline-offset: 4px; }
.company-access-note { padding: 16px 20px; border-left: 3px solid #7898b5; background: #f2f6f9; }
.company-page a:focus-visible { outline: 3px solid #c79c59; outline-offset: 4px; }
@media (max-width: 767px) {
  .company-page .company-hero { padding: 14px 20px 35px; }
  .company-page .company-hero__copy { padding-top: 21px; }
  .company-page .company-hero__copy > p:last-child { font-size: 13px; }
  .company-detail-section { padding: 45px 20px; }
  .company-detail-section .company-lead { font-size: 18px; }
  .company-table, .company-table tbody, .company-table tr, .company-table th, .company-table td { display: block; width: 100%; }
  .company-table tr { padding: 12px 0; border-bottom: 1px solid var(--co-line); }
  .company-table th { padding: 0 0 4px; border: 0; font-size: 12px; }
  .company-table td { padding: 0; border: 0; font-size: 13px; }
  .company-detail-section .company-banners, .company-publication { grid-template-columns: 1fr; }
  .company-publication { gap: 17px; }
  .company-vision-images { grid-template-columns: 1fr .72fr; gap: 12px; margin: 19px auto 26px; }
}
@media (prefers-reduced-motion: reduce) { .company-page * { scroll-behavior: auto !important; } }
