/* Company page only: wider story copy, real supporting photos and compact documents. */
.company-page { --company-measure: 980px; }
.company-page .wrap.measure > *, .company-page .measure:not(.wrap) { max-width: var(--company-measure); }
.company-page .wrap.measure > .company-story-layout, .company-page .wrap.measure > .company-philosophy-layout { max-width: none; }
.company-page .company-story-layout { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 48px; max-width: none; align-items: start; margin: 24px 0; }
.company-lead-copy { min-width: 0; }
.company-lead-copy > :first-child { margin-top: 0; }
.company-lead-copy > :last-child { margin-bottom: 0; }
.company-story-photo { margin: 0; min-width: 0; }
.company-story-photo button { display: block; width: 100%; padding: 0; border: 0; background: #efe5d5; cursor: zoom-in; }
.company-story-photo img { width: 100%; height: 240px; object-fit: contain; }
.company-candy-photo img { object-fit: cover; object-position: center 38%; }
.company-philosophy-layout { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 48px; align-items: start; }
.company-sign-photo img { height: 360px; object-fit: cover; object-position: center 48%; }
.company-story-photo figcaption { margin-top: 12px; font-size: 13px; line-height: 1.8; color: var(--muted); }
.company-photo-credit { display: block; margin-top: 3px; font-size: 11px; }
.company-photo-credit a { text-underline-offset: 3px; }
.company-records-header { margin-bottom: 32px; }
.company-record-group { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 48px; padding: 36px 0; border-top: 1px solid var(--line); align-items: start; }
.company-record-copy { min-width: 0; }
.company-record-copy h3 { margin-top: 0; }
.company-record-copy p { margin-bottom: 0; }
.company-documents { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.company-document { min-width: 0; margin: 0; }
.company-document button { display: flex; align-items: center; justify-content: center; width: 100%; height: 300px; padding: 12px; border: 1px solid var(--line); background: #fffaf3; cursor: zoom-in; box-shadow: 0 7px 18px rgba(64,43,22,.06); }
.company-document img { display: block; width: 100%; height: 100%; object-fit: contain; }
.company-document figcaption { margin-top: 12px; font-size: 13px; line-height: 1.65; }
.company-document-title { display: block; }
.company-document-open { display: block; margin-top: 4px; color: var(--gold-deep); font-size: 12px; }
.company-document button:focus-visible, .company-story-photo button:focus-visible { outline: 3px solid var(--gold); outline-offset: 4px; }
.company-registration-details { margin: 18px 0 0; }
.company-registration-details dt { margin-top: 10px; font-size: 12px; color: var(--muted); }
.company-registration-details dd { margin: 2px 0 0; font-size: 15px; }
@media (max-width: 1000px) and (min-width: 861px) {
  .company-page .company-story-layout { grid-template-columns: minmax(0, 1fr) 280px; gap: 32px; }
  .company-record-group { gap: 32px; }
  .company-documents { gap: 14px; }
}
@media (max-width: 860px) {
  .company-page .company-story-layout, .company-record-group, .company-philosophy-layout { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .company-page .company-story-layout { margin: 20px 0 28px; }
  .company-story-photo { max-width: 420px; }
  .company-story-photo img { height: 220px; }
  .company-sign-photo { width: min(100%, 320px); }
  .company-sign-photo img { height: 360px; }
  .company-records-header { margin-bottom: 24px; }
  .company-record-group { padding: 28px 0; }
  .company-documents { gap: 14px; max-width: 560px; }
  .company-document button { height: 220px; padding: 8px; }
  .company-document figcaption { font-size: 12px; margin-top: 10px; }
  .company-document-open { font-size: 11px; }
}
