/* Editorial company pages share the catalogue palette, with their own content grid. */
body.contacts-view .company-site-header>.shell { min-height:100px; gap:24px; }
body.contacts-view .company-site-header nav { gap:12px 24px; }
body.contacts-view .company-site-header nav a { font-size:14px; line-height:1.4; }
body.contacts-view .company-site-header nav a[aria-current] { font-weight:600; }
body.contacts-view .company-brand { width:180px; }
.cp-page { padding-top:22px; padding-bottom:40px; }
.cp-page *, .cp-page *::before { box-sizing:border-box; }
.cp-page [hidden] { display:none !important; }
.cp-breadcrumb { display:flex; flex-wrap:wrap; gap:8px; color:#919aa2; font-size:12px; margin:4px 0 32px; }
.cp-breadcrumb a { color:#737f88; text-decoration:none; }
.cp-hero { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(260px,1fr); gap:60px; align-items:center; padding:26px 0 54px; border-bottom:1px solid #e7eaed; }
.cp-page h1 { font-size:clamp(34px,3.9vw,54px); letter-spacing:-.035em; line-height:1.12; font-weight:650; margin:14px 0 22px; }
.cp-hero>div>p,.cp-page-intro>p { font-size:17px; line-height:1.65; max-width:660px; color:#72808a; margin:0 0 26px; }
.cp-actions { display:flex; flex-wrap:wrap; gap:10px; }
body .cp-button { display:inline-flex; align-items:center; justify-content:center; gap:20px; padding:12px 16px; border:1px solid #dfe5e9; border-radius:6px; background:#fff; color:#4b5964; text-decoration:none; font:inherit; font-size:14px; font-weight:500; line-height:1.4; cursor:pointer; transition:background 160ms,border-color 160ms; }
body .cp-button:hover { background:#fafbfc; border-color:#bec8cf; }
body .cp-button.cp-primary { border-color:#e5bd7d; color:#72572e; background:#fff8eb; }
body .cp-button.cp-primary:hover { background:#fff2dc; }
.cp-hero-facts { border-left:1px solid #e5d4b9; padding:12px 0 12px 30px; }
.cp-hero-facts>div { display:grid; gap:7px; padding:0 0 22px; }.cp-hero-facts>div+div { border-top:1px solid #e3e7ea; padding-top:22px; }
.cp-hero-facts strong { font-size:34px; font-weight:550; letter-spacing:-.03em; }.cp-hero-facts span { font-size:13px; color:#859099; line-height:1.5; }
.cp-hero-facts>a { display:flex; align-items:center; justify-content:space-between; gap:12px; border-top:1px solid #e3e7ea; padding-top:18px; color:#79603a; font-size:13px; text-decoration:none; }
.cp-section { padding:46px 0; border-bottom:1px solid #e7eaed; }
.cp-section-title { margin-bottom:24px; }.cp-section-title h2,.cp-team-heading h2 { font-size:28px; letter-spacing:-.025em; font-weight:600; line-height:1.2; margin:10px 0 12px; }
.cp-section-title p { max-width:720px; font-size:15px; color:#7d8992; line-height:1.6; margin:0; }
.cp-story { display:grid; grid-template-columns:1fr 1fr; gap:40px; margin-bottom:26px; }.cp-story p { font-size:15px; line-height:1.8; color:#687680; margin:0; }
.cp-photo-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; margin-top:30px; counter-reset:photo; }
.cp-photo { margin:0; min-width:0; counter-increment:photo; }
.cp-photo-frame { display:block; overflow:hidden; border-radius:6px; aspect-ratio:4/3; background:#f5f6f7; }
.cp-photo img { display:block; width:100%; height:100%; object-fit:cover; transition:transform 350ms cubic-bezier(.2,.6,.3,1); }
@media(hover:hover) and (prefers-reduced-motion:no-preference) { .cp-photo:hover img { transform:scale(1.025); } }
.cp-photo figcaption { display:flex; gap:12px; margin-top:13px; font-size:13px; color:#697984; line-height:1.45; }
.cp-photo figcaption::before { content:counter(photo,decimal-leading-zero); color:#b49a74; font-size:11px; padding-top:2px; }
.cp-service-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.cp-service { display:flex; flex-direction:column; padding:24px; border:1px solid #e2e7ea; border-radius:7px; text-decoration:none; color:inherit; min-width:0; }
.cp-number { font-size:11px; letter-spacing:.05em; color:#ad956e; }
.cp-service h3 { font-size:19px; letter-spacing:-.02em; font-weight:550; margin:24px 0 12px; line-height:1.25; }
.cp-service p { margin:0 0 24px; font-size:14px; line-height:1.65; color:#7b8891; }
a.cp-service { transition:border-color 180ms,background 180ms; }a.cp-service:hover { border-color:#e4c590; background:#fffdf8; }
.cp-service>.cp-text-link { margin-top:auto; }
.cp-text-link { color:#8a6a38; font-size:13px; text-decoration:none; }
.cp-text-link:hover { color:#5d4521; text-decoration:underline; text-underline-offset:3px; }
.cp-industry-list { display:flex; flex-wrap:wrap; gap:8px; }
.cp-industry-list span { padding:11px 15px; background:#fafbfc; border:1px solid #e5e9ec; border-radius:5px; font-size:14px; color:#6e7b85; }
.cp-title-row { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; }
.cp-title-row>.cp-text-link { flex:none; margin-bottom:3px; }
.cp-documents { display:grid; gap:10px; }
.cp-document { display:flex; align-items:center; gap:18px; min-width:0; padding:20px; border:1px solid #e2e7eb; border-radius:7px; background:#fff; text-decoration:none; color:inherit; }
.cp-file-icon { display:grid; place-items:center; width:42px; height:50px; border:1px solid #e3d4bd; border-radius:4px; flex:none; color:#9a7a49; background:#fffaf2; font-size:10px; letter-spacing:.03em; }
.cp-document>div { min-width:0; }.cp-document h3 { margin:0 0 6px; font-size:16px; font-weight:550; line-height:1.3; }.cp-document p { font-size:12px; color:#8b969e; margin:0; }
.cp-document-actions { display:flex; flex-wrap:wrap; gap:8px; margin-left:auto; }
.cp-document-actions a { display:inline-flex; align-items:center; justify-content:center; padding:9px 12px; border:1px solid #e2e7ea; border-radius:5px; font-size:12px; color:#667681; text-decoration:none; white-space:nowrap; }
.cp-document-actions a:hover { border-color:#e0bd86; background:#fffaf2; }
.cp-document>.cp-text-link { margin-left:auto; white-space:nowrap; }
.cp-bottom-cta { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:24px; padding:28px; margin-top:40px; background:#fffbf3; border:1px solid #ead6b5; border-radius:7px; }
.cp-bottom-cta h2 { margin:6px 0 10px; font-size:24px; font-weight:550; line-height:1.25; letter-spacing:-.02em; }.cp-bottom-cta p { margin:0; color:#91806a; font-size:14px; line-height:1.6; }
.cp-source { color:#9aa3aa; font-size:11px; line-height:1.6; margin:24px 0 0; }.cp-source a { color:#8b949c; }
body.contacts-view .company-footer { display:flex; align-items:flex-start; justify-content:space-between; flex-wrap:wrap; gap:20px 40px; padding-block:26px 88px; }
body.contacts-view .company-footer>div { display:grid; gap:6px; }.company-footer strong { color:#606e79; font-size:13px; font-weight:550; }.company-footer span { font-size:11px; color:#98a2aa; }
body.contacts-view .company-footer nav { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:12px 20px; max-width:800px; }
body.contacts-view .company-footer nav a { font-size:12px; color:#7c8892; }.company-footer .cp-legacy { color:#937343; }
.cp-quality-sign { display:flex; align-items:center; justify-content:center; flex-direction:column; gap:12px; padding:30px 16px; border:1px solid #e6eaed; border-radius:8px; background:#fafbfc; text-align:center; }
.cp-quality-sign img { width:100px; height:100px; mix-blend-mode:multiply; margin-bottom:4px; }.cp-quality-sign strong { font-size:15px; font-weight:550; }.cp-quality-sign>span { font-size:12px; color:#8b969e; }
.cp-certificate-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.cp-certificate { display:flex; align-items:flex-start; gap:24px; padding:24px; border:1px solid #e2e7eb; border-radius:7px; min-width:0; }.cp-certificate img { width:72px; height:72px; flex:none; }.cp-certificate h3 { margin:0 0 10px; font-size:18px; font-weight:550; }.cp-certificate p { color:#7c8993; font-size:14px; line-height:1.6; margin:0 0 18px; }
.cp-public-docs { margin-top:16px; }.cp-disclosure { border:1px solid #e2e7eb; border-radius:7px; margin-top:16px; font-size:13px; color:#7d8993; }.cp-disclosure summary { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:18px 20px; cursor:pointer; list-style:none; }.cp-disclosure summary::-webkit-details-marker { display:none; }.cp-disclosure summary>span { font-size:20px; font-weight:300; }.cp-disclosure[open] summary>span { transform:rotate(45deg); }.cp-disclosure>div { padding:0 20px 20px; }.cp-disclosure p { line-height:1.65; margin:0 0 14px; }
@media(max-width:1100px) { .cp-hero { gap:30px; grid-template-columns:minmax(0,1.5fr) minmax(220px,1fr); }.cp-service,.cp-certificate { padding:20px; }.cp-certificate { gap:16px; }.cp-person { padding:18px; } }
@media(max-width:900px) {
  body.contacts-view .company-site-header>.shell { min-height:0; padding-block:20px 16px; gap:16px; }
  body.contacts-view .company-site-header nav { gap:8px 20px; }body.contacts-view .company-site-header nav a { font-size:13px; }
  .cp-hero { grid-template-columns:1fr; gap:26px; padding:10px 0 32px; }.cp-page h1 { font-size:38px; }.cp-hero-facts { display:grid; grid-template-columns:1fr 1fr; gap:16px; padding:0 0 0 20px; }.cp-hero-facts>div,.cp-hero-facts>div+div { padding:0; border:0; }.cp-hero-facts>a { grid-column:1/-1; }.cp-quality-sign { flex-direction:row; flex-wrap:wrap; gap:12px; padding:20px; justify-content:flex-start; text-align:left; }.cp-quality-sign img { width:54px; height:54px; margin:0; }.cp-quality-sign span { margin-left:auto; }
  .cp-section { padding:32px 0; }.cp-section-title h2 { font-size:25px; }.cp-story { gap:24px; }.cp-service-grid { gap:10px; }.cp-service { padding:18px; }.cp-service h3 { font-size:17px; }.cp-service p { font-size:13px; }
  .cp-team-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.cp-photo-grid { gap:10px; }.cp-photo figcaption { font-size:11px; }.cp-certificate-grid { grid-template-columns:1fr; }.cp-title-row { flex-direction:column; align-items:flex-start; gap:16px; }
}
@media(max-width:600px) {
  .cp-breadcrumb { margin-bottom:22px; font-size:11px; }.cp-page h1 { font-size:34px; }.cp-hero>div>p,.cp-page-intro>p { font-size:16px; }.cp-actions { gap:8px; }body .cp-button { font-size:13px; gap:12px; }
  .cp-hero-facts strong { font-size:28px; }.cp-hero-facts span { font-size:12px; }.cp-story { grid-template-columns:1fr; gap:14px; }.cp-photo-grid { grid-template-columns:1fr; gap:24px; }.cp-photo figcaption { font-size:12px; }.cp-service-grid { grid-template-columns:1fr; }.cp-service h3 { margin-top:14px; font-size:20px; }.cp-service p { font-size:14px; margin-bottom:18px; }.cp-industry-list span { font-size:12px; padding:9px 11px; }
  .cp-document { flex-wrap:wrap; padding:16px; gap:12px; }.cp-document>div:not(.cp-document-actions) { flex:1; }.cp-document h3 { font-size:15px; }.cp-document-actions { width:100%; margin-left:54px; }.cp-document>.cp-text-link { margin-left:54px; }
  .cp-bottom-cta { padding:22px; margin-top:28px; }.cp-bottom-cta h2 { font-size:23px; }.cp-bottom-cta p { font-size:13px; }.cp-quality-sign { align-items:center; }.cp-quality-sign strong { font-size:13px; }.cp-quality-sign>span { width:100%; margin-left:66px; }.cp-certificate { padding:18px; gap:14px; }.cp-certificate img { width:52px; height:52px; }.cp-certificate h3 { font-size:17px; }.cp-certificate p { font-size:13px; }
  .cp-team-tools { padding:12px; gap:12px; }.cp-city-tabs { gap:4px; }.cp-city-tabs button { padding:8px 10px; font-size:12px; }.cp-team-search { grid-template-columns:1fr; gap:8px; }.cp-team-search input,.cp-team-search select { font-size:16px; }.cp-team-search>span { padding:3px; }.cp-team-grid { grid-template-columns:1fr; }.cp-person { padding:20px; }.cp-person-role { min-height:0; }.cp-person h3 { font-size:19px; margin-bottom:20px; }.cp-person-links a { font-size:14px; }.cp-team-heading { flex-wrap:wrap; gap:4px; margin-bottom:18px; }.cp-team-heading h2 { margin-bottom:2px; }
  body.contacts-view .company-footer nav { justify-content:flex-start; gap:12px 18px; }
}

.cp-quality-contact { font-size:14px; color:#7b8993; margin:22px 0 0; line-height:1.65; }.cp-quality-contact a { color:#8a6a38; text-decoration:none; }.cp-section[id],.cp-certificate[id] { scroll-margin-top:24px; }
