/* Company directory, aligned with the homepage editorial layout. */
.page-companies .page-hero{min-height:400px}
.page-companies .page-hero .container{padding-block:42px 58px}
.page-companies .page-hero:after{inset-inline-start:58%;background-position:center}
.page-companies .crumbs{font-size:12px;margin-bottom:48px}
.page-companies .page-hero h1{font-size:clamp(42px,4.8vw,70px);max-width:52%;line-height:1.15}
.page-companies .company-page-intro{max-width:45%;font-size:16px;line-height:1.9;margin-top:24px}
.page-companies .kicker{font-size:11px;letter-spacing:.12em}
.page-companies .section--flush-top{padding-block:64px 36px}
.company-directory-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:32px}
.company-directory-heading h2{font-size:clamp(30px,3vw,44px);line-height:1.25;max-width:22ch}
.company-directory-heading>p{font-size:14px;line-height:1.8;color:var(--muted);max-width:340px}
.page-companies .company-toolbar{display:block;border:0;padding:0;margin-bottom:32px}
.page-companies .filter-bar{display:flex;flex-wrap:wrap;gap:10px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.page-companies .filter-bar button{font-size:13px;font-weight:600;min-height:46px;padding:12px 20px;background:#eeeee6;border:1px solid #d8dbce;color:var(--ink);transform:none}
.page-companies .filter-bar button:hover{border-color:var(--red);color:var(--red);transform:none}
.page-companies .filter-bar button.is-active{background:var(--ink);border-color:var(--ink);color:white}
.page-companies .filter-bar button:focus-visible{outline:2px solid var(--red);outline-offset:3px}
.company-filter-status{display:block;font-size:12px;color:var(--muted);padding-top:16px}
.page-companies .grid-3{gap:32px;align-items:stretch}
.page-companies .company-card{border:1px solid #dbded2;background:#fafaf6;padding:0;scroll-margin-top:136px;transition:border-color .2s,box-shadow .2s}
.page-companies .company-card:hover{border-color:#a8af9e;box-shadow:0 8px 24px #24262308;transform:none}
.page-companies .company-card:target{border-color:var(--red);box-shadow:0 0 0 2px #c8233320}
.page-companies .company-card-media{aspect-ratio:1.9}
.page-companies .company-card-media img{transition:transform .6s}
.page-companies .company-card:hover .company-card-media img{transform:scale(1.025)}
.page-companies .company-card-est{top:18px;inset-inline-start:18px;font-size:10px;letter-spacing:.06em;padding:9px 12px;background:#fafaf7f2}
.page-companies .company-card-body{padding:28px 30px 24px}
.page-companies .company-card h3{font-size:30px;line-height:1.25;letter-spacing:-.035em}
.page-companies .company-card-sector{font-size:11px;line-height:1.7;margin-top:12px;letter-spacing:.04em}
.page-companies .company-card p{font-size:15px;line-height:1.85;margin-top:18px;margin-bottom:24px;max-width:52ch}
.page-companies .company-card-meta{font-size:12px;font-weight:400;line-height:1.85;border-top:1px solid #dfe2d7;padding-top:20px;margin-top:0;gap:10px}
.page-companies .company-card-meta svg{width:17px;height:17px;flex:none;margin-top:3px}
.page-companies .company-card-actions{margin-top:18px;display:flex}
.page-companies .company-card-actions .text-link{font-size:13px;min-height:44px;gap:22px}
.page-companies .company-image-note{font-size:11px;line-height:1.8;padding-block:0 56px}
.page-companies .value-chain-section{padding-block:80px;background:#eaece3;border-top:1px solid #d4d9cb}
.page-companies .value-chain-section .section-head{margin-bottom:40px;gap:30px}
.page-companies .value-chain-section h2{font-size:clamp(32px,3.5vw,48px);line-height:1.25;max-width:22ch}
.page-companies .value-chain-section .text-link{font-size:13px;min-height:44px;flex-shrink:0}
.page-companies .chain-flow{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.page-companies .chain-arrow{display:none}
.page-companies .chain-step{padding:30px;background:#f7f8f2;border:1px solid #d4d9cb;border-top:2px solid #87947a;display:flex;flex-direction:column;transform:none;box-shadow:none}
.page-companies .chain-step-num{font-size:11px;letter-spacing:.08em;margin-bottom:26px}
.page-companies .chain-step h3{font-size:27px;line-height:1.3;margin-bottom:16px}
.page-companies .chain-step p{font-size:14px;line-height:1.85;margin-bottom:24px}
.page-companies .chain-companies{margin-top:auto;gap:8px}
.page-companies .chain-companies a{font-size:11px;min-height:40px;padding:9px 12px;background:#eeeee5;border-color:#d0d6c5}
.page-companies .chain-companies a:hover{background:white;color:var(--red);border-color:var(--red)}
@media(max-width:1000px){
 .page-companies .company-card-body{padding:24px}
 .page-companies .company-card h3{font-size:26px}
 .page-companies .chain-flow{gap:16px}
 .page-companies .chain-step{padding:24px 20px}
 .page-companies .chain-step h3{font-size:23px}
}
@media(max-width:760px){
 .page-companies .page-hero{min-height:0;padding-bottom:170px}
 .page-companies .page-hero:after{inset-block-start:auto;inset-block-end:0;inset-inline:0;height:170px;background-position:center 48%}
 .page-companies .page-hero .container{padding-block:28px 34px}
 .page-companies .crumbs{margin-bottom:28px;font-size:11px}
 .page-companies .page-hero h1{font-size:44px;max-width:100%}
 .page-companies .company-page-intro{max-width:100%;font-size:14px;margin-top:20px}
 .page-companies .section--flush-top{padding-block:44px 28px}
 .company-directory-heading{flex-direction:column;align-items:flex-start;gap:18px;margin-bottom:26px}
 .company-directory-heading h2{font-size:31px}
 .company-directory-heading>p{font-size:13px;max-width:none}
 .page-companies .filter-bar{gap:8px}
 .page-companies .filter-bar button{font-size:12px;padding:11px 14px;min-height:44px}
 .page-companies .grid-3{grid-template-columns:1fr;gap:26px}
 .page-companies .company-card{scroll-margin-top:110px}
 .page-companies .company-card-media{aspect-ratio:1.55}
 .page-companies .company-card-body{padding:24px 22px}
 .page-companies .company-card h3{font-size:27px}
 .page-companies .company-card p{font-size:14px}
 .page-companies .company-image-note{padding-bottom:40px}
 .page-companies .value-chain-section{padding-block:56px}
 .page-companies .value-chain-section .section-head{flex-direction:column;align-items:flex-start;gap:24px}
 .page-companies .chain-flow{grid-template-columns:1fr;gap:20px}
 .page-companies .chain-step{padding:28px}
 .page-companies .chain-step h3{font-size:28px}
 .page-companies .chain-step-num{margin-bottom:18px}
 .page-companies .chain-companies a{min-height:44px}
}
@media(prefers-reduced-motion:reduce){.page-companies .company-card,.page-companies .company-card-media img{transition:none}.page-companies .company-card:hover .company-card-media img{transform:none}}
