/* One company dossier: shared frame and stable height across all four views. */
#about.company-section {
  --company-quiet: var(--quiet);
  padding-block: 110px 80px;
  background: var(--paper);
  background-image: linear-gradient(#f3f0e8c9, #f3f0e8c9), var(--reference-light);
  background-size: 500px;
}
.is-active > .factory-reveal-stage > #about.company-section { padding-block: 100px 70px; }
.is-active > .factory-reveal-stage > #about > .company-shell,
#about > .company-shell { width: 90%; max-width: 1800px; margin-inline: auto; }
.company-heading { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 42px; }
.company-heading h2 { font: 350 clamp(60px, 6.6vw, 112px)/1.05 'Reference Lausanne', Arial, sans-serif; letter-spacing: -.065em; }
.company-heading > p { font-size: 14px; color: var(--muted); padding-bottom: 6px; }
.company-tabs { display: flex; gap: 8px; padding-bottom: 18px; flex-wrap: wrap; }
.company-tabs button { display: flex; align-items: center; gap: 16px; min-height: 48px; padding: 12px 25px; color: var(--muted); background: transparent; border: 1px solid var(--line); border-radius: 4px; }
.company-tabs button span { font-size: 11px; opacity: .7; }
.company-tabs button:hover { border-color: var(--ink); color: var(--ink); }
.company-tabs button[aria-selected="true"] { background: var(--ink); color: var(--paper); border-color: var(--ink); }
.company-tabs button[aria-selected="true"]::before { content: ''; width: 6px; height: 6px; flex: 0 0 6px; background: var(--green); border-radius: 50%; }
.company-panels { display: grid; background: var(--ink); background-image: linear-gradient(#242c28e3, #242c28e3), var(--reference-dark); background-size: 400px; color: var(--paper); border-radius: 8px; }
.company-panel { grid-area: 1 / 1; min-width: 0; padding: clamp(26px, 3vw, 54px); visibility: hidden; opacity: 0; pointer-events: none; }
.company-panel.is-selected { visibility: visible; opacity: 1; pointer-events: auto; animation: company-panel-in .3s ease-out; }
@keyframes company-panel-in { from { opacity: .25; } to { opacity: 1; } }
.company-panel:focus-visible, .company-panel :focus-visible { outline-color: var(--green); }
.company-panel p { color: var(--company-quiet); font-size: 15px; line-height: 1.65; }
.company-panel h3 { font-family: 'Reference Lausanne', Arial, sans-serif; font-weight: 350; }
.company-story { display: grid; grid-template-columns: .95fr 1.05fr; gap: 34px 6%; }
.company-story-copy h3 { font: 300 clamp(58px, 5.5vw, 90px)/1.06 'Reference Editorial', Georgia, serif; letter-spacing: -.05em; margin-bottom: 24px; }
.company-panel .company-lead { font-size: 22px; line-height: 1.3; color: var(--paper); margin-bottom: 18px; }
.company-story-copy > p:last-child { max-width: 46ch; }
.company-photo { align-self: stretch; display: flex; flex-direction: column; min-width: 0; }
.company-photo img { width: 100%; height: 340px; flex: 1; min-height: 0; object-fit: cover; filter: none; border-radius: 4px; }
.company-photo figcaption { padding-top: 12px; font-size: 12px; color: var(--company-quiet); }
.company-story-notes { grid-column: 1 / -1; display: grid; grid-template-columns: .95fr 1.05fr; gap: 6%; padding-top: 26px; border-top: 1px solid var(--line-dark); }
.company-panel-heading { display: flex; justify-content: space-between; align-items: end; gap: 35px; margin-bottom: 36px; }
.company-panel-heading h3, .company-document-copy h3 { font-size: clamp(34px, 3.4vw, 58px); line-height: 1.08; letter-spacing: -.05em; }
.company-panel-heading > p { max-width: 32ch; }
.company-panel .partnership-grid { gap: 6%; }
.company-panel .partnership-grid article { border-color: var(--line-dark); padding-top: 24px; }
.company-panel .partnership-grid .tag { color: var(--company-quiet); }
.company-panel .partnership-grid h3 { font-size: clamp(26px, 2.5vw, 40px); max-width: 470px; }
.company-panel .partnership-grid p { color: var(--company-quiet); }
.company-panel .button-secondary { border-color: var(--quiet); color: var(--paper); background: transparent; }
.company-panel .button-secondary:hover { background: var(--paper); color: var(--ink); }
.company-documents { display: grid; grid-template-columns: minmax(0, min(40%, 480px)) minmax(0, 1fr); gap: clamp(28px, 3vw, 72px); }
.company-documents > *, .company-story > *, .company-document { min-width: 0; }
.company-document-copy h3 { margin-bottom: 30px; }
.company-document-copy > p { max-width: 42ch; }
.company-panel .company-document-note { font-size: 12px; margin-top: 30px; }
.company-document-shelf { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; align-items: start; }
.company-paper { padding: 22px; background: var(--surface-dark); border-radius: 4px; transition: background .2s; }
.company-document:hover .company-paper { background: var(--pine); }
.company-paper img { width: 100%; height: clamp(290px, 20vw, 410px); object-fit: contain; }
.company-document > span { display: flex; justify-content: space-between; gap: 10px; margin-top: 17px; font-size: 18px; }
.company-document b { color: var(--green); font-weight: 400; }
.company-document small { display: block; margin-top: 7px; font-size: 12px; color: var(--company-quiet); }
.company-letters-heading h3 { margin-bottom: 13px; }
.company-panel .slider-button { border-color: var(--muted); color: var(--paper); background: transparent; }
.company-panel .slider-button:hover:not(:disabled) { background: var(--green); color: var(--ink); }
.company-panel .letters-track { grid-auto-columns: calc((100% - 48px) / 3); column-gap: 24px; padding-bottom: 18px; scrollbar-color: var(--quiet) var(--surface-dark); scroll-snap-type: none; }
.company-panel .letter-preview { height: 225px; background: var(--surface-dark); border-radius: 4px; padding: 18px; }
.company-panel .letter-zoom { background: var(--green); color: var(--ink); font-size: 11px; }
.company-panel .letter-copy { padding: 12px 0 0; }
.company-panel .letter-year { color: var(--company-quiet); }
.company-panel .letter-copy h3 { font: 350 19px/1.25 'Reference Lausanne', Arial, sans-serif; margin: 9px 0; }
.company-panel .letter-copy p { font-size: 13px; }
@media (min-width: 1900px) {
  .company-panels { min-height: 610px; }
  .company-panel { align-content: center; }
  .company-photo img { height: 370px; }
}
@media (max-width: 900px) {
  .company-heading { align-items: start; }
  .company-heading h2 { font-size: 64px; }
  .company-tabs button { padding: 12px 17px; gap: 8px; }
  .company-story { gap: 28px; }
  .company-story-copy h3 { font-size: 60px; }
  .company-photo img { height: 320px; }
  .company-panel .letters-track { grid-auto-columns: calc((100% - 24px) / 2); }
  .company-documents { grid-template-columns: 1fr; gap: 26px; }
  .company-document-copy h3 br { display: none; }
  .company-document-copy > p { max-width: 65ch; }
  .company-document-copy h3 { margin-bottom: 18px; }
  .company-panel .company-document-note { margin-top: 14px; }
  .company-paper img { height: 230px; }
}
@media (max-width: 600px) {
  #about.company-section, .is-active > .factory-reveal-stage > #about.company-section { padding-block: 86px 40px; }
  .company-heading { display: block; margin-bottom: 26px; }
  .company-heading h2 { font-size: 52px; }
  .company-heading > p { margin-top: 16px; font-size: 13px; }
  .company-tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }
  .company-tabs button { padding: 10px 12px; min-height: 45px; font-size: 13px; justify-content: center; }
  .company-panel { padding: 24px 20px; }
  .company-story { grid-template-columns: 1fr; gap: 24px; }
  .company-story-copy h3 { font-size: 58px; }
  .company-photo img { height: 190px; flex: auto; }
  .company-story-notes { grid-template-columns: 1fr; gap: 18px; padding-top: 20px; }
  .company-panel p { font-size: 14px; }
  .company-panel .company-lead { font-size: 20px; }
  .company-panel-heading { display: block; margin-bottom: 26px; }
  .company-panel-heading h3, .company-document-copy h3 { font-size: 32px; overflow-wrap: anywhere; }
  .company-panel-heading > p { margin-top: 18px; }
  .company-panel .partnership-grid { gap: 30px; }
  .company-panel .partnership-grid h3 { margin-top: 18px; }
  .company-document-shelf { gap: 13px; }
  .company-paper { padding: 10px; }
  .company-paper img { height: 175px; }
  .company-document > span { font-size: 15px; }
  .company-panel .letters-track { grid-auto-columns: 88%; }
  .company-panel .letter-preview { height: 290px; }
  .company-letters-heading .slider-controls { margin-top: 18px; }
  .company-letters-heading br { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .company-panel.is-selected { animation: none; }
}

.company-section .dossier-production { display:grid;grid-template-columns:.8fr 1.2fr;gap:6%;align-items:stretch; }
.company-section .dossier-production-copy h3 { font:300 clamp(54px,5.5vw,84px)/1.05 'Reference Editorial',Georgia,serif;letter-spacing:-.05em;margin-bottom:20px; }
.company-section .company-panel .dossier-intro { font-size:19px;line-height:1.4;color:var(--company-quiet);margin-bottom:26px; }
.company-section .dossier-stages { border-top:1px solid var(--line-dark); }
.company-section .dossier-stages button { display:grid;grid-template-columns:24px minmax(0,1fr) 22px;gap:12px;align-items:start;width:100%;padding:17px 0;border:0;border-bottom:1px solid var(--line-dark);background:transparent;color:var(--company-quiet);text-align:left; }
.company-section .dossier-stage-number { font-size:11px;padding-top:5px; }
.company-section .dossier-stages strong { display:block;font:350 24px/1.2 'Reference Lausanne',Arial,sans-serif;letter-spacing:-.025em; }
.company-section .dossier-stages small { display:block;max-width:32ch;font-size:13px;line-height:1.5;margin-top:7px; }
.company-section .dossier-stage-arrow { font-size:23px;opacity:0; }
.company-section .dossier-stages button[aria-pressed="true"] strong { color:var(--paper); }
.company-section .dossier-stages button[aria-pressed="true"] .dossier-stage-number,
.company-section .dossier-stages button[aria-pressed="true"] .dossier-stage-arrow { color:var(--green);opacity:1; }
.company-section .dossier-stages button:hover strong { color:var(--green); }
.company-section .dossier-production-visual { display:flex;flex-direction:column;min-width:0; }
.company-section .dossier-photo-frame { position:relative;flex:1;min-height:410px;overflow:hidden;border-radius:4px;background:var(--surface-dark); }
.company-section .dossier-photo-frame img { position:absolute;width:100%;height:100%;inset:0;object-fit:cover;filter:none;opacity:0;transition:opacity .45s ease; }
.company-section .dossier-photo-frame img.is-current { opacity:1; }
.company-section .dossier-production-visual figcaption { display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-top:16px;color:var(--company-quiet);font-size:13px; }
.company-section .dossier-photo-count { color:var(--green);font-size:11px;white-space:nowrap; }
.company-section .dossier-partnership-heading { display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:30px; }
.company-section .dossier-partnership-heading h3 { font-size:clamp(34px,3.1vw,52px);line-height:1.07;letter-spacing:-.045em; }
.company-section .dossier-partnership-heading p { font-size:14px; }
.company-section .dossier-partner-grid { display:grid;grid-template-columns:1fr 1fr;gap:32px; }
.company-section .dossier-partner-grid article { display:flex;flex-direction:column;align-items:start;min-width:0; }
.company-section .dossier-partner-photo { position:relative;width:100%;height:220px;margin-bottom:21px;border-radius:4px;overflow:hidden; }
.company-section .dossier-partner-photo img { width:100%;height:100%;object-fit:cover;filter:none; }
.company-section .dossier-partner-photo span { position:absolute;bottom:14px;left:14px;background:var(--paper);color:var(--ink);font-size:12px;padding:7px 12px;border-radius:3px; }
.company-section .dossier-partner-grid h4 { font:350 clamp(25px,2.2vw,34px)/1.12 'Reference Lausanne',Arial,sans-serif;letter-spacing:-.035em;margin:0 0 12px; }
.company-section .dossier-partner-grid p { font-size:14px;margin-bottom:23px; }
.company-section .dossier-partner-grid .button { margin-top:auto;min-height:46px;font-size:13px; }
@media (min-width:1900px) {
  .company-section .dossier-photo-frame { min-height:510px; }
  .company-section .dossier-partner-photo { height:250px; }
}
@media (max-width:900px) {
  .company-section .dossier-production { grid-template-columns:1fr 1fr;gap:30px; }
  .company-section .dossier-partner-photo { height:180px; }
  .company-section .dossier-partner-grid p br { display:none; }
}
@media (max-width:600px) {
  .company-section .dossier-production { grid-template-columns:1fr;gap:24px; }
  .company-section .dossier-production-copy h3 { font-size:54px; }
  .company-section .dossier-stages button { padding:14px 0;grid-template-columns:24px minmax(0,1fr); }
  .company-section .dossier-stage-arrow,
  .company-section .company-document b { display:none; }
  .company-section .dossier-stages strong { font-size:22px; }
  .company-section .dossier-photo-frame { min-height:240px; }
  .company-section .dossier-production-visual figcaption { font-size:12px;gap:12px; }
  .company-section .dossier-partnership-heading { display:block; }
  .company-section .dossier-partnership-heading h3 { font-size:32px; }
  .company-section .dossier-partnership-heading p { margin-top:17px; }
  .company-section .dossier-partner-grid { grid-template-columns:1fr;gap:36px; }
  .company-section .dossier-partner-photo { height:185px; }
}
@media (prefers-reduced-motion:reduce) { .company-section .dossier-photo-frame img { transition:none; } }
