/* R20: existing company/production pages only. All content works without JS. */
.mp-company-r20 .mp-catalog-main { max-width: 1440px; }
.mp-company-r20 .mp-r20-section { margin-block: clamp(56px,8vw,112px); }
.mp-company-r20 .mp-r20-section > header { display:grid; grid-template-columns: 1.1fr .9fr; gap:24px 64px; margin-bottom:32px; align-items:end; }
.mp-company-r20 .mp-r20-section > header .mp-eyebrow { grid-column:1/-1; margin:0; }
.mp-company-r20 .mp-r20-section h2 { margin:0; max-width:21ch; font-size:clamp(30px,3.5vw,52px); line-height:1.08; letter-spacing:-.035em; }
.mp-company-r20 .mp-r20-section h3 { margin:0 0 14px; font-size:clamp(22px,2vw,30px); line-height:1.18; letter-spacing:-.02em; }
.mp-company-r20 .mp-r20-section p { font-size:17px; line-height:1.6; max-width:65ch; margin:0 0 20px; color:#424940; }
.mp-company-r20 .mp-r20-section header p { margin-bottom:0; }
.mp-company-r20 .mp-r20-hero { gap:40px; grid-template-columns:1.05fr .95fr; align-items:center; padding-block:44px; min-height:0; }
.mp-company-r20 .mp-r20-hero h1 { font-size:clamp(38px,4.4vw,66px) !important; line-height:1.06 !important; }
.mp-company-r20 .mp-r20-hero .mp-catalog-lead { max-width:48ch; font-size:19px; line-height:1.5; }
.mp-company-r20 .mp-r20-hero .mp-catalog-hero-media { display:grid; height:auto; min-height:0; grid-template-rows:auto auto; align-content:start; aspect-ratio:auto; border-radius:16px; overflow:hidden; background:#e9e9e1; }
.mp-company-r20.mp-company-page .mp-r20-hero .mp-catalog-hero-media img { width:100%; height:auto; min-height:0; max-height:560px; aspect-ratio:auto; object-fit:contain !important; }
.mp-company-r20 .mp-r20-hero .mp-catalog-copy { order:0; }
.mp-company-r20 .mp-r20-hero .mp-catalog-hero-media { order:1; }
.mp-company-r20 .mp-r20-hero figcaption { padding:12px 18px; font-size:13px; color:#424940; }
.mp-company-r20 .mp-r20-direction-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.mp-company-r20 .mp-r20-direction { border-radius:16px; overflow:hidden; background:#e9eadf; }
.mp-company-r20 .mp-r20-direction:nth-child(2) { background:#e2e8e9; }
.mp-company-r20 .mp-r20-direction-media { height:300px; display:grid; place-items:center; padding:24px; }
.mp-company-r20 .mp-r20-direction-media :is(picture,img) { width:100%; height:100%; max-height:252px; object-fit:contain; display:block; }
.mp-company-r20 .mp-r20-direction-copy { padding:8px 32px 32px; }
.mp-company-r20 .mp-r20-direction-copy .mp-text-link { display:inline-flex; margin:0 16px 8px 0; }
.mp-company-r20 .mp-r20-timeline { padding:0; margin:0; list-style:none; }
.mp-company-r20 .mp-r20-timeline li { display:grid; grid-template-columns:220px 1fr; gap:40px; padding:26px 0; border-top:1px solid #b9bcb0; }
.mp-company-r20 .mp-r20-year { font-size:clamp(42px,5vw,72px); line-height:1; letter-spacing:-.06em; color:#1c4934; }
.mp-company-r20 .mp-r20-timeline li p { margin:0; }
.mp-company-r20 .mp-r20-partners ul { display:grid; grid-template-columns:repeat(6,1fr); gap:16px; list-style:none; padding:0; }
.mp-company-r20 .mp-r20-partners li { min-width:0; padding:18px 10px; border:1px solid #cbd0c1; border-radius:12px; background:#fff; text-align:center; }
.mp-company-r20 .mp-r20-partners img { display:block; width:100%; height:74px; object-fit:contain; margin-bottom:14px; }
.mp-company-r20 .mp-r20-partners span { font-size:14px; color:#424940; }
.mp-company-r20 .mp-r20-award-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
.mp-company-r20 .mp-r20-document { display:grid; place-items:center; border-radius:12px; background:#e7e7dc; padding:16px; }
.mp-company-r20 .mp-r20-document img { display:block; width:100%; height:280px; object-fit:contain; }
.mp-company-r20 .mp-r20-award-year { display:block; margin:20px 0 12px; font-size:26px; color:#1c4934; }
.mp-company-r20 .mp-r20-award-grid h3 { font-size:19px; line-height:1.3; }
.mp-company-r20 .mp-r20-archive-note { border-left:3px solid #597050; padding-left:20px; margin-top:32px; font-size:15px; }
.mp-company-r20 .mp-r20-chain { padding:40px; background:#1d342b; border-radius:16px; color:#fff; }
.mp-company-r20 .mp-r20-chain :is(h2,h3) { color:#fff; }
.mp-company-r20 .mp-r20-chain p { color:#edf0e9; }
.mp-company-r20 .mp-r20-chain ol { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(5,1fr); gap:24px; }
.mp-company-r20 .mp-r20-chain li { padding-top:24px; border-top:1px solid #607468; min-width:0; }
.mp-company-r20 .mp-r20-chain li > span { display:block; color:#c6d9a7; font-size:24px; margin-bottom:24px; }
.mp-company-r20 .mp-r20-chain h3 { font-size:21px; }
.mp-company-r20 .mp-r20-chain li p { font-size:15px; margin:0; }
.mp-company-r20 .mp-r20-printing { display:grid; grid-template-columns:1.15fr .85fr; gap:48px; align-items:center; }
.mp-company-r20 .mp-r20-printing .mp-production-detail-media { background:#e7e7dc; border-radius:16px; overflow:hidden; }
.mp-company-r20 .mp-r20-printing .mp-production-detail-media img { width:100%; height:auto; min-height:0; aspect-ratio:auto; object-fit:contain; }
.mp-company-r20 .mp-r20-printing figcaption { color:#424940; }
.mp-company-r20 .mp-r20-printing h2 { margin-bottom:24px; }
.mp-company-r20 .mp-r20-technology summary { padding:20px 0; cursor:pointer; font-size:21px; border-block:1px solid #b9bcb0; }
.mp-company-r20 .mp-r20-technology-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; padding-top:24px; }
.mp-company-r20 .mp-r20-technology .mp-catalog-detail-card { min-height:0; padding:24px; }
.mp-company-r20 .mp-r20-technology .mp-catalog-detail-card h2 { font-size:24px; }
.mp-company-r20 .mp-r20-prepare { border-top:1px solid #b9bcb0; padding-top:40px; }
.mp-company-r20 .mp-r20-prepare > div { display:grid; grid-template-columns:1fr 1fr; gap:48px; }
.mp-company-r20 .mp-r20-process { padding:40px; background:#e9eadf; border-radius:16px; }
.mp-company-r20 .mp-r20-process ol { display:grid; grid-template-columns:repeat(3,1fr); gap:32px; padding:0; list-style:none; counter-reset:step; margin:32px 0; }
.mp-company-r20 .mp-r20-process li { counter-increment:step; min-width:0; }
.mp-company-r20 .mp-r20-process li::before { content:counter(step,decimal-leading-zero); display:block; color:#1c4934; font-size:25px; margin-bottom:20px; }
.mp-company-r20 .mp-r20-process h3 { font-size:23px; }
.mp-company-r20 :is(.mp-r20-document,summary):focus-visible { outline:3px solid #265b40; outline-offset:4px; }
.mp-company-r20 .mp-catalog-contact { margin-top:64px; }
@media(max-width:1000px) {
 .mp-company-r20 .mp-r20-section > header { grid-template-columns:1fr; gap:20px; }
 .mp-company-r20 .mp-r20-hero { grid-template-columns:1fr; }
 .mp-company-r20 .mp-r20-hero .mp-catalog-hero-media { max-width:760px; }
 .mp-company-r20 .mp-r20-partners ul { grid-template-columns:repeat(3,1fr); }
 .mp-company-r20 .mp-r20-award-grid { grid-template-columns:repeat(2,1fr); }
 .mp-company-r20 .mp-r20-chain ol { grid-template-columns:1fr; }
 .mp-company-r20 .mp-r20-chain li { display:grid; grid-template-columns:40px 1fr; gap:20px; }
 .mp-company-r20 .mp-r20-chain li > span { margin:0; }
 .mp-company-r20 .mp-r20-printing { grid-template-columns:1fr; gap:28px; }
}
@media(max-width:680px) {
 .mp-company-r20 .mp-r20-hero { padding-block:24px; gap:28px; }
 .mp-company-r20 .mp-r20-hero h1 { font-size:36px !important; overflow-wrap:normal; }
 .mp-company-r20 .mp-r20-hero .mp-catalog-lead { font-size:17px; }
 .mp-company-r20 .mp-r20-direction-grid,.mp-company-r20 .mp-r20-prepare > div,.mp-company-r20 .mp-r20-technology-grid,.mp-company-r20 .mp-r20-process ol { grid-template-columns:1fr; gap:24px; }
 .mp-company-r20 .mp-r20-direction-copy { padding:8px 24px 24px; }
 .mp-company-r20 .mp-r20-direction-media { height:250px; }
 .mp-company-r20 .mp-r20-direction-media :is(picture,img) { max-height:202px; }
 .mp-company-r20 .mp-r20-timeline li { grid-template-columns:1fr; gap:18px; }
 .mp-company-r20 .mp-r20-partners ul { grid-template-columns:repeat(2,1fr); }
 .mp-company-r20 .mp-r20-award-grid { grid-template-columns:1fr; gap:36px; }
 .mp-company-r20 .mp-r20-document img { height:320px; }
 .mp-company-r20 .mp-r20-chain,.mp-company-r20 .mp-r20-process { padding:24px; }
 .mp-company-r20 .mp-r20-chain li { grid-template-columns:32px 1fr; gap:12px; }
}
