/* Company: the same quiet, white editorial style as the renewed main pages. */
.company-study { background: #fff; }
.company-study .company-main { padding-bottom: 0; }
.company-study :is(.company-breadcrumbs,.company-hero,.company-local-nav,.company-section,.company-access) { width: min(1200px, calc(100% - 80px)); }
.company-study .company-breadcrumbs { padding-top: 24px; font-size: 11px; }
.company-study .company-hero { min-height: 0; grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); gap: 56px; padding: 48px 0 64px; }
.company-study .company-hero__copy > p, .company-study .company-heading > p { margin-bottom: 16px; color: #647460; font-size: 11px; letter-spacing: .15em; font-weight: 600; }
.company-study .company-hero h1 { margin-bottom: 24px; font-size: clamp(32px,4.1vw,48px); line-height: 1.7; letter-spacing: .02em; }
.company-study .company-hero__copy > span { color: #596158; font: 15px/2 var(--sans); }
.company-study .company-hero figure::before { content: none; }
.company-study .company-hero img { display: block; height: auto; aspect-ratio: 4 / 3; object-position: 55% center; }
.company-study .company-hero figcaption { padding-top: 12px; color: #677061; font-size: 11px; letter-spacing: .04em; }
.company-study .company-local-nav { grid-template-columns: repeat(3,minmax(0,1fr)); border-color: #dce1da; }
.company-study .company-local-nav a { justify-content: space-between; min-height: 58px; padding: 14px 24px; border-color: #dce1da; border-bottom: 0; font-size: 14px; font-weight: 400; }
.company-study .company-local-nav a { border: 0; }
.company-study .company-local-nav a + a { border-left: 1px solid #dce1da; }
.company-study .company-local-nav span { color: #647460; font-size: 14px; }
.company-study .company-local-nav a:hover { background: #f5f7f2; }
.company-study .company-section { padding-top: 72px; scroll-margin-top: calc(var(--header-height) + 24px); }
.company-study .company-heading { margin-bottom: 30px; }
.company-study .company-heading h2 { font-size: clamp(25px,2.8vw,34px); line-height: 1.7; letter-spacing: .02em; }
.company-study .company-heading > span { margin-top: 18px; color: #596158; font-size: 15px; line-height: 1.95; }
.company-study .company-message__grid { grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); gap: 56px; }
.company-study .company-message aside { padding: 20px 0 0; background: none; border-top: 1px solid #dce1da; }
.company-study .company-message aside p { font-size: 23px; line-height: 1.9; }
.company-study .company-message aside span { font-size: 13px; }
.company-study .company-message__body > p { margin-bottom: 18px; color: #596158; font-size: 15px; line-height: 2; }
.company-study .company-signature { margin-top: 28px; }
.company-study .company-signature span { font-size: 12px; }
.company-study .company-signature strong { font-size: 24px; letter-spacing: .06em; }
.company-study .company-strengths__grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 32px; border: 0; }
.company-study .company-strengths article { min-height: 0; padding: 22px 0 0; background: none; border: 0; border-top: 1px solid #dce1da; }
.company-study .company-strengths article:last-child { grid-column: auto; }
.company-study .company-strengths article > span { margin: 0 0 18px; color: #7b896f; font-size: 12px; }
.company-study .company-strengths h3 { margin: 0 0 16px; font: 400 23px/1.7 var(--serif); }
.company-study .company-strengths article p { margin: 0; color: #596158; font: 15px/1.95 var(--sans); }
.company-related-links { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; margin-top: 34px; scroll-margin-top: calc(var(--header-height) + 24px); }
.company-related-links a { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 20px 0; border-block: 1px solid #dce1da; font-size: 16px; scroll-margin-top: calc(var(--header-height) + 24px); }
.company-related-links small { display: block; margin-top: 9px; color: #596158; font-size: 12px; line-height: 1.8; }
.company-study .company-honesty { margin-top: 0; padding-right: 0; padding-bottom: 0; padding-left: 0; background: none; }
.company-study .company-honesty__list { border-top: 1px solid #dce1da; }
.company-study .company-honesty details { border-bottom: 1px solid #dce1da; }
.company-study .company-honesty details[open] { background: none; }
.company-study .company-honesty summary { display: flex; justify-content: space-between; gap: 24px; padding: 22px 0; font-size: 16px; line-height: 1.9; cursor: pointer; list-style: none; }
.company-study .company-honesty summary::after { content: '+'; flex: none; color: #647460; }
.company-study .company-honesty details[open] summary::after { content: '−'; }
.company-study .company-honesty details p { max-width: 860px; margin: 0; padding: 0 0 24px; color: #596158; font-size: 15px; line-height: 2; }
.company-study .company-philosophy { margin-top: 72px; padding: 50px 40px; color: #293e30; background: #f5f7f2; scroll-margin-top: calc(var(--header-height) + 24px); }
.company-study .company-philosophy > * { width: min(1200px,100%); }
.company-study .company-philosophy .company-heading { margin-bottom: 30px; }
.company-study .company-philosophy .company-heading h2 { font-size: clamp(25px,2.8vw,34px); }
.company-study .company-values { gap: 50px; }
.company-study .company-values section, .company-study .company-values section + section { padding: 0; background: none; border: 0; }
.company-study .company-values h3 { color: #293e30; font-size: 23px; }
.company-study .company-values li { min-height: 0; padding: 0 0 0 18px; margin-bottom: 16px; border: 0; color: #596158; font: 15px/1.95 var(--sans); }
.company-study .company-values li::before { background: #7b896f; }
.company-study .company-profile dl, .company-study .company-profile dl > div { border-color: #dce1da; }
.company-study .company-profile dl > div { grid-template-columns: 210px minmax(0,1fr); }
.company-study .company-profile dt, .company-study .company-profile dd { padding: 22px 0; background: none; font-size: 15px; }
.company-study .company-profile dt { color: #647460; font-weight: 400; }
.company-study .company-profile dd { color: #3d493d; }
.company-study .company-history { padding-bottom: 72px; }
.company-study .company-history ol { --history-axis: 116px; max-width: 100%; }
.company-study .company-history ol::before { content: none; }
.company-study .company-history li { min-height: 112px; grid-template-columns: var(--history-axis) minmax(0,1fr); gap: 35px; padding-bottom: 28px; }
.company-study .company-history li::before { z-index: 1; top: 14px; left: calc(var(--history-axis) - 5px); width: 11px; height: 11px; box-sizing: border-box; background: #7b896f; border: 2px solid #fff; }
.company-study .company-history li::after { position: absolute; top: 19px; left: var(--history-axis); width: 1px; height: 100%; content: ""; background: #dce1da linear-gradient(#7b896f,#7b896f) no-repeat; background-size: 100% 0; }
.company-study .company-history li:last-child { min-height: 0; padding-bottom: 0; }
.company-study .company-history li:last-child::after { content: none; }
.company-study .company-history time { display: grid; align-content: start; gap: 7px; padding-top: 0; }
.company-study .company-history time strong { font: 400 32px/1.25 var(--serif); letter-spacing: .025em; }
.company-study .company-history time span { color: #677061; font: 11px/1.5 var(--sans); letter-spacing: .04em; }
.company-study .company-history h3 { font-size: 17px; line-height: 1.8; }
.company-study .company-history li p { font-size: 14px; line-height: 1.9; }
.company-study .company-history__more { display: flex; align-items: center; justify-content: space-between; gap: 24px; width: fit-content; margin: 30px 0 0 151px; padding-block: 12px; border-bottom: 1px solid #b5bfb0; font-size: 14px; }
/* Text is visible by default: the one-time entrance only runs after observation. */
.company-study .history-motion .is-history-visible > time,
.company-study .history-motion .is-history-visible > div { animation: company-history-enter .6s cubic-bezier(.2,.65,.3,1) both; animation-delay: var(--history-delay,0ms); }
.company-study .history-motion .is-history-visible::after { background-size: 100% 100%; transition: background-size .75s ease var(--history-delay,0ms); }
.company-study .history-motion .is-history-visible::before { animation: company-history-marker .65s ease both; animation-delay: var(--history-delay,0ms); }
@keyframes company-history-enter { from { opacity: .4; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }
@keyframes company-history-marker { from { box-shadow: 0 0 0 0 rgba(123,137,111,0); } 55% { box-shadow: 0 0 0 5px rgba(123,137,111,.13); } to { box-shadow: 0 0 0 0 rgba(123,137,111,0); } }
.company-study .company-access { grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 56px; padding: 52px 0; margin-bottom: 56px; background: none; border-block: 1px solid #dce1da; scroll-margin-top: calc(var(--header-height) + 24px); }
.company-study .company-access > div { padding: 0; }
.company-study .company-access address { font-size: 15px; line-height: 1.95; }
.company-study .company-access address strong { font-size: 24px; }
.company-study .company-access__links { gap: 12px; margin-top: 24px; }
.company-study .company-access__links a { padding: 14px 20px; font-size: 14px; font-weight: 400; border-color: #dce1da; }
.company-study main a:focus-visible, .company-study summary:focus-visible { outline: 2px solid #476750; outline-offset: 4px; }
@media (max-width: 767px) {
  .company-study :is(.company-breadcrumbs,.company-hero,.company-local-nav,.company-section,.company-access) { width: calc(100% - 44px); }
  .company-study .company-breadcrumbs { font-size: 10px; }
  .company-study .company-hero { grid-template-columns: minmax(0,1fr); gap: 28px; padding: 30px 0 36px; }
  .company-study .company-hero h1 { margin-bottom: 18px; font-size: 34px; }
  .company-study .company-hero__copy > span { font-size: 15px; }
  .company-study .company-hero img { aspect-ratio: 3 / 2; }
  .company-study .company-hero figcaption { font-size: 10px; text-align: left; }
  .company-study .company-local-nav { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); }
  .company-study .company-local-nav a { min-height: 52px; padding: 12px 10px; gap: 5px; font-size: 12px; }
  .company-study .company-section { padding-top: 42px; }
  .company-study .company-heading { margin-bottom: 24px; }
  .company-study .company-heading h2 { font-size: 26px; }
  .company-study .company-heading > span { font-size: 14px; }
  .company-study .company-hero__copy > p, .company-study .company-heading > p { font-size: 10px; margin-bottom: 12px; }
  .company-study .company-message__grid { grid-template-columns: minmax(0,1fr); gap: 24px; }
  .company-study .company-message aside { padding-top: 16px; }
  .company-study .company-message aside p { font-size: 22px; margin-bottom: 12px; }
  .company-study .company-message__body > p { font-size: 15px; line-height: 1.95; }
  .company-study .company-strengths__grid { grid-template-columns: minmax(0,1fr); gap: 28px; }
  .company-study .company-strengths article > span { margin-bottom: 12px; }
  .company-study .company-strengths h3 { font-size: 23px; margin-bottom: 12px; }
  .company-related-links { grid-template-columns: minmax(0,1fr); gap: 0; margin-top: 28px; }
  .company-related-links a { min-height: 86px; }
  .company-related-links a + a { border-top: 0; }
  .company-study .company-honesty summary { font-size: 15px; padding: 20px 0; gap: 16px; }
  .company-study .company-honesty details p { font-size: 14px; line-height: 1.95; }
  .company-study .company-philosophy { padding: 34px 22px; margin-top: 42px; }
  .company-study .company-philosophy .company-heading h2 { font-size: 26px; }
  .company-study .company-values { grid-template-columns: minmax(0,1fr); gap: 26px; }
  .company-study .company-values h3 { margin-bottom: 16px; font-size: 22px; }
  .company-study .company-values li { font-size: 14px; border: 0; }
  .company-study .company-profile dl > div { grid-template-columns: minmax(0,1fr); padding: 18px 0; gap: 7px; }
  .company-study .company-profile dt, .company-study .company-profile dd { padding: 0; font-size: 14px; }
  .company-study .company-history { padding-bottom: 42px; }
  .company-study .company-history ol { --history-axis: 77px; }
  .company-study .company-history li { min-height: 108px; gap: 22px; padding-bottom: 26px; }
  .company-study .company-history time strong { font-size: 26px; }
  .company-study .company-history time span { font-size: 10px; }
  .company-study .company-history h3 { font-size: 15px; }
  .company-study .company-history li p { font-size: 13px; }
  .company-study .company-history__more { margin-left: 99px; font-size: 13px; gap: 16px; }
  .company-study .company-access { grid-template-columns: minmax(0,1fr); gap: 24px; padding: 34px 0; margin-bottom: 34px; }
  .company-study .company-access .company-heading { margin-bottom: 0; }
  .company-study .company-access address { font-size: 14px; }
  .company-study .company-access address strong { font-size: 22px; }
}
@media (prefers-reduced-motion: reduce) {
  .company-study .history-motion .is-history-visible > time,
  .company-study .history-motion .is-history-visible > div,
  .company-study .history-motion .is-history-visible::before { animation: none; }
  .company-study .company-history li::after { transition: none; background-size: 100% 100%; }
}
@media print {
  .company-study .history-motion .is-history-visible > time,
  .company-study .history-motion .is-history-visible > div,
  .company-study .history-motion .is-history-visible::before { animation: none; }
}
@media (max-width: 359px) {
  .company-study .company-hero h1 { font-size: 30px; }
  .company-study .company-heading h2 { font-size: 24px; }
  .company-study .company-local-nav a { font-size: 11px; padding-inline: 8px; }
}
