/* Company page only: PC 1400px and SP 375px supplied designs.
   Final assets can replace template URLs without changing layout.
   Adjust shared dimensions here; mobile layout is grouped below. */
:root { --company-width: 1000px; --company-gutter: 24px; --company-space: 80px; --company-accent: #b52c29; --company-rule: #d2d2d2; --color-accent: var(--company-accent); --color-accent-2: #942320; }
body { background: #fff; color: #111; letter-spacing: 0; }
.company-container { width: min(var(--company-width),calc(100% - var(--company-gutter) * 2)); margin-inline: auto; }
.company-section { padding-block: var(--company-space); }
.company-heading { text-align: center; margin-bottom: 64px; }
.company-heading h2 { font-size: 36px; font-weight: 500; line-height: 1.5; margin-bottom: 20px; }
.company-heading > p:last-child:not(.company-eyebrow) { font-size: 16px; line-height: 1.9; }
.company-eyebrow { position: relative; width: fit-content; font-size: 16px; padding-bottom: 18px; margin: 0 auto 24px; line-height: 1.5; }
.company-eyebrow::after { content: ''; position: absolute; bottom: 0; left: -8px; width: 112px; height: 14px; background: url('../img/decoration/eyebrow-brush.png') left center / contain no-repeat; }
.company-hero { position: relative; min-height: 538px; }
.company-hero__photo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.company-hero::after { content: none; }
.company-hero__content { position: relative; z-index: 1; padding-block: 140px 90px; text-align: center; }
.company-hero__eyebrow { font-size: 14px; letter-spacing: .04em; }
.company-hero h1 { font-size: 52px; line-height: 1.25; font-weight: 500; margin: 8px 0 24px; }
.company-hero__lead { position: relative; isolation: isolate; width: fit-content; max-width: 100%; margin-inline: auto; padding: 18px 44px; background: none; font-size: 17px; font-weight: 500; line-height: 2.05; text-shadow: none; }
.company-hero__lead::before { content: ''; position: absolute; z-index: -1; inset: -48px -150px; background: radial-gradient(ellipse at center, rgba(255,255,255,.92) 0%, rgba(255,255,255,.68) 32%, rgba(255,255,255,.14) 58%, transparent 72%); pointer-events: none; }
.company-data__grid { width: min(760px, 100%); margin-inline: auto; }
.company-table { width: 100%; border-collapse: collapse; table-layout: fixed; font-size: 16px; line-height: 1.8; }
.company-table caption { text-align: left; font-size: 22px; padding-left: 14px; position: relative; margin-bottom: 28px; }
.company-table caption::before, .company-member__role::before { content: ''; position: absolute; left: 0; top: .25em; width: 5px; height: 1.1em; border-radius: 2px; background: var(--company-accent); }
.company-table th, .company-table td { padding: 16px 0; border-bottom: 1px solid var(--company-rule); text-align: left; vertical-align: top; overflow-wrap: anywhere; }
.company-table th { width: 105px; border-bottom-color: #bd6967; font-weight: 600; }
.company-table td { padding-left: 16px; }
.company-draft-note { margin-top: 24px; font-size: 12px; line-height: 1.8; color: #6b6259; }
/* A sloping timeline on PC; normal document flow allows longer verified copy. */
.company-history { position: relative; padding-top: 30px; padding-bottom: 30px; }
.company-heading--history { position: absolute; left: 0; top: 30px; text-align: left; }
.company-heading--history .company-eyebrow { margin-left: 0; }
.company-timeline { position: relative; z-index: 1; padding-top: 50px; }
.company-timeline__item { position: relative; display: grid; grid-template-columns: 90px 290px; gap: 26px; min-height: 116px; padding-bottom: 24px; }
.company-timeline__item:nth-child(1) { margin-left: 260px; }
.company-timeline__item:nth-child(2) { margin-left: 220px; }
.company-timeline__item:nth-child(3) { margin-left: 180px; }
.company-timeline__item:nth-child(4) { margin-left: 140px; }
.company-timeline__item:nth-child(5) { margin-left: 100px; }
.company-timeline__item:nth-child(6) { margin-left: 60px; }
.company-timeline__item:nth-child(7) { margin-left: 20px; }
.company-timeline__item:not(:last-child)::before { content: ''; position: absolute; top: 40px; bottom: -42px; left: 45px; width: 2px; background: #ddd; transform-origin: top; transform: skewX(-19deg); }
.company-timeline__date { position: relative; display: grid; place-items: center; align-self: start; width: 90px; height: 90px; font-size: 16px; white-space: nowrap; background: radial-gradient(ellipse,#ffedb9 42%,#fff2ce 55%,transparent 72%); }
.company-timeline__body { padding-top: 10px; }
.company-timeline__item:first-child .company-timeline__body { display: flex; align-items: center; align-self: start; height: 90px; padding-top: 0; }
.company-timeline__body h3 { font-size: 17px; line-height: 1.7; font-weight: 600; margin-bottom: 4px; }
.company-timeline__item:first-child .company-timeline__body h3 { margin-bottom: 0; }
.company-timeline__body p { font-size: 15px; line-height: 1.9; }
.company-history__photo { position: absolute; right: 0; top: 270px; width: min(52%, 520px); aspect-ratio: 1; overflow: hidden; mask-image: radial-gradient(circle,#000 24%,rgba(0,0,0,.82) 46%,transparent 72%); opacity: .6; }
.company-history__photo img { position: absolute; left: 50%; bottom: 0; width: 180%; max-width: none; height: 180%; object-fit: cover; object-position: center bottom; transform: translateX(-50%); }
.company-members__grid { display: grid; grid-template-columns: 1fr; gap: 44px; }
.company-member { padding-bottom: 28px; border-bottom: 1px solid var(--company-rule); }
.company-member__role { position: relative; padding-left: 14px; font-size: 20px; }
.company-member h3 { font-size: 24px; font-weight: 400; line-height: 1.5; margin: 12px 0 0 14px; }
.company-location { padding-top: 10px; padding-bottom: 0; text-align: center; }
.company-location .company-heading { margin-bottom: 38px; }
.company-location address { margin-bottom: 32px; font-style: normal; font-size: 16px; line-height: 1.9; }
.company-map { width: 100%; height: 400px; background: #eef0ec; border-block: 1px solid #d6dcd4; overflow: hidden; }
.company-map iframe { display: block; width: 100%; height: 100%; border: 0; }
.company-contact { text-align: center; background: #f5f2ec; padding-block: 80px 90px; }
.company-contact .company-heading { margin-bottom: 32px; }
.company-contact > .company-container > p { font-size: 16px; line-height: 2; }
.company-contact__buttons { display: flex; justify-content: center; gap: 40px; margin-top: 40px; }
@media (max-width:1100px) {
  .company-timeline__item { grid-template-columns: 90px 260px; }
}
@media (max-width:800px) {
  :root { --company-space: 54px; --company-gutter: 20px; }
  .company-heading { margin-bottom: 40px; }
  .company-heading h2 { font-size: 28px; margin-bottom: 20px; }
  .company-heading > p:last-child:not(.company-eyebrow) { text-align: left; font-size: 14px; }
  .company-eyebrow { font-size: 14px; margin-bottom: 24px; padding-bottom: 16px; }
  .company-eyebrow::after { width: 100px; height: 12px; }
  .company-hero { min-height: 470px; }
  .company-hero__content { padding-block: 106px 48px; }
  .company-hero h1 { font-size: 36px; margin-bottom: 24px; }
  .company-hero__eyebrow { font-size: 14px; }
  .company-hero__lead { width: 100%; padding: 15px 16px; background: none; font-size: 13px; line-height: 1.9; text-align: left; }
  .company-hero__lead::before { inset: -34px -52px; background: radial-gradient(ellipse at 40% 50%, rgba(255,255,255,.94) 0%, rgba(255,255,255,.72) 34%, rgba(255,255,255,.16) 60%, transparent 74%); }
  .company-pc-break { display: none; }
  .company-data__grid { grid-template-columns: 1fr; gap: 46px; }
  .company-table { font-size: 14px; }
  .company-table caption { font-size: 18px; margin-bottom: 18px; }
  .company-table th { width: 82px; }
  .company-table td { padding-left: 12px; }
  .company-table th, .company-table td { padding-block: 13px; }
  .company-draft-note { font-size: 11px; }
  .company-history { padding-top: 0; }
  .company-heading--history { position: relative; inset: auto; text-align: center; }
  .company-heading--history .company-eyebrow { margin-inline: auto; }
  .company-timeline { padding: 0; }
  .company-timeline .company-timeline__item { margin-left: 0; grid-template-columns: 74px minmax(0,1fr); gap: 12px; min-height: 124px; padding-bottom: 28px; }
  .company-timeline__date { width: 74px; height: 74px; font-size: 13px; }
  .company-timeline__item:not(:last-child)::before { left: 37px; top: 36px; bottom: -38px; transform: none; }
  .company-timeline__body { padding-top: 8px; }
  .company-timeline__item:first-child .company-timeline__body { height: 74px; padding-top: 0; }
  .company-timeline__body h3 { font-size: 15px; }
  .company-timeline__body p { font-size: 13px; }
  .company-history__photo { top: 260px; right: -20px; width: 85%; opacity: .3; }
  .company-members { padding-top: 20px; }
  .company-members__grid { grid-template-columns: 1fr; gap: 44px; }
  .company-member__role { font-size: 17px; }
  .company-member h3 { font-size: 22px; }
  .company-location { padding-top: 0; }
  .company-location address { margin-bottom: 24px; font-size: 13px; }
  .company-map { height: 300px; }
  .company-contact { padding-block: 48px; }
  .company-contact > .company-container > p { font-size: 14px; text-align: left; }
  .company-contact__buttons { flex-direction: column; align-items: center; gap: 18px; margin-top: 28px; }
}
