/* Evidence-led capability pages: inspection practice and the actual workshop. */
.kv-refresh .kv-capability-page { overflow:clip; padding:27px 0 0; }
.kirision-about-detail-page.kv-refresh .kv-brand { flex-direction:row!important; align-items:center!important; }
.kv-capability-page figure { margin:0; min-width:0; }
.kv-capability-hero { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:clamp(40px,7vw,110px); align-items:center; padding-block:16px 68px; }
.kv-capability-hero-copy { min-width:0; }
.kv-refresh .kv-capability-page h1 { font-size:clamp(40px,4.2vw,65px)!important; margin:0 0 24px!important; line-height:1.04!important; font-weight:600; }
.kv-refresh .kv-capability-page .kv-capability-lead { font-size:clamp(23px,2.05vw,31px); line-height:1.35; color:#304e65; margin:0 0 24px; max-width:600px; font-weight:500; }
.kv-capability-page .kv-capability-hero-copy>p:not(.kv-capability-lead) { font-size:18px; line-height:1.8; color:#5b7384; margin:0 0 18px; max-width:620px; }
.kv-capability-hero-image { height:490px; background:#edf2f5; }
.kv-capability-hero-image img { display:block; width:100%; height:100%; object-fit:cover; }
.kv-quality-people img { object-position:50% 59%; }
.kv-production-workshop img { object-position:center 56%; }
.kv-capability-iso { margin:29px 0 20px; padding:0 0 0 19px; border-left:2px solid #c82d32; }
.kv-capability-iso>strong { display:block; color:#234a8d; font:600 25px/1.25 Barlow,sans-serif; margin-bottom:7px; }
.kv-capability-iso>span { display:block; font-size:16px; line-height:1.5; color:#627d8e; }
.kv-quality-management { display:flex; justify-content:space-between; align-items:center; gap:24px; border-top:1px solid #cedbe4; margin-top:34px; padding-top:27px; }
.kv-quality-management .kv-capability-iso { margin:0; }
.kv-quality-management>p { max-width:850px; margin:0; font-size:17px; line-height:1.8; color:#5b7384; }
.kv-quality-management>.kv-capability-text-link { flex:0 0 auto; }
.kv-capability-text-link { display:inline-flex; align-items:center; gap:22px; color:#ae272e; font-size:16px; line-height:1.5; font-weight:600; text-decoration:none; min-height:44px; }
.kv-capability-text-link:hover { text-decoration:underline; }
.kv-capability-test-focus { background:#f3f6f8; padding-block:65px; }
.kv-capability-focus-row { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,.9fr); gap:clamp(35px,5vw,80px); align-items:center; }
.kv-capability-focus-image img { display:block; width:100%; height:auto; }
.kv-refresh .kv-capability-page h2 { font-size:clamp(29px,2.6vw,43px)!important; margin:0 0 22px!important; line-height:1.12!important; font-weight:600; letter-spacing:-.02em; }
.kv-capability-focus-copy p { font-size:17px; line-height:1.8; color:#607888; margin:0 0 17px; }
.kv-capability-equipment-section { padding-block:72px; }
.kv-capability-section-heading { max-width:760px; margin:0 0 34px; }
.kv-capability-section-heading>p { font-size:18px; line-height:1.75; color:#607888; margin:0; }
.kv-capability-equipment-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.kv-capability-equipment-card>div { overflow:hidden; background:#edf2f5; }
.kv-capability-equipment-card img { display:block; width:100%; height:230px; object-fit:cover; }
.kv-capability-equipment-card figcaption { padding-top:20px; }
.kv-refresh .kv-capability-page h3 { color:#2a475d; font-size:23px!important; line-height:1.25!important; margin:0 0 13px!important; font-weight:600; }
.kv-capability-page .kv-capability-equipment-card p { font-size:16px; line-height:1.75; color:#667f8f; margin:0; }
.kv-capability-requirements { background:#f3f6f8; padding-block:61px; }
.kv-capability-requirements ul { list-style:none; padding:0; margin:35px 0 0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:35px; }
.kv-capability-requirements li { border-top:1px solid #cbd8e2; padding-top:22px; }
.kv-capability-requirements strong { display:block; color:#304f66; font-size:20px; line-height:1.4; margin-bottom:14px; font-weight:600; }
.kv-capability-requirements span { display:block; color:#667e8f; font-size:17px; line-height:1.75; }
.kv-capability-production-equipment { background:#f4f7f9; padding-block:65px 12px; }
.kv-capability-machine-row { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(40px,7vw,110px); align-items:center; padding-bottom:60px; }
.kv-capability-machine-image { height:470px; }
.kv-capability-machine-image img { display:block; height:100%; width:100%; object-fit:cover; object-position:center 55%; }
.kv-capability-machine-copy p { color:#60798b; font-size:18px; line-height:1.8; margin:0 0 20px; }
.kv-capability-machine-row--reverse .kv-capability-machine-image { grid-column:2; grid-row:1; }
.kv-capability-machine-row--reverse .kv-capability-machine-copy { grid-column:1; grid-row:1; }
.kv-capability-machine-row--reverse>.kv-enter:has(>.kv-capability-machine-image) { grid-column:2; grid-row:1; }
.kv-capability-machine-row--reverse>.kv-enter:has(>.kv-capability-machine-copy) { grid-column:1; grid-row:1; }
.kv-capability-production-route { padding-block:70px; }
.kv-capability-route { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); list-style:none; padding:0; margin:0 0 29px; gap:28px; }
.kv-capability-route li { border-top:1px solid #cedbe4; padding-top:22px; }
.kv-capability-route li>span { display:block; color:#234a8d; font:500 29px/1.2 Barlow,sans-serif; margin-bottom:15px; }
.kv-capability-contact { padding-block:55px; background:#fff; }
.kv-capability-contact-inner { display:flex; justify-content:space-between; align-items:center; gap:35px; }
.kv-capability-contact-inner>div:first-child { min-width:0; max-width:730px; }
.kv-capability-contact p { color:#627c8d; font-size:17px; line-height:1.75; margin:0; }
.kv-capability-contact .kv-about-detail-actions { flex-direction:column; flex:0 0 auto; gap:14px; margin:0; align-items:flex-start; }
@media (max-width:1199px) {
 .kv-capability-hero { gap:35px; }
 .kv-capability-hero-image { height:445px; }
 .kv-capability-equipment-card img { height:200px; }
 .kv-capability-machine-image { height:400px; }
 .kv-capability-machine-row { gap:40px; }
}
@media (min-width:768px) and (max-width:1023px) {
 .kv-capability-hero { gap:26px; }
 .kv-capability-focus-row { grid-template-columns:1fr; gap:28px; }
 .kv-capability-focus-image { max-width:750px; }
 .kv-capability-equipment-grid { gap:20px; }
 .kv-capability-equipment-card img { height:160px; }
 .kv-capability-requirements ul { gap:23px; }
 .kv-capability-contact-inner { flex-direction:column; align-items:flex-start; }
 .kv-capability-route { gap:20px; }
}
@media (max-width:767px) {
 .kv-quality-management { align-items:flex-start; flex-direction:column; gap:17px; }
 .kv-refresh .kv-capability-page { padding-top:23px; }
 .kv-capability-hero { grid-template-columns:1fr; gap:29px; padding-block:10px 45px; }
 .kv-refresh .kv-capability-page h1 { font-size:40px!important; }
 .kv-capability-page .kv-capability-hero-copy>p:not(.kv-capability-lead) { font-size:17px; }
 .kv-capability-hero-image { height:400px; }
 .kv-capability-test-focus { padding-block:45px; }
 .kv-capability-focus-row { grid-template-columns:1fr; gap:27px; }
 .kv-capability-equipment-section,.kv-capability-production-route { padding-block:48px; }
 .kv-capability-equipment-grid { grid-template-columns:1fr; gap:32px; }
 .kv-capability-equipment-card img { height:auto; aspect-ratio:1.45; }
 .kv-capability-requirements { padding-block:45px; }
 .kv-capability-requirements ul { grid-template-columns:1fr; gap:24px; margin-top:26px; }
 .kv-capability-requirements strong { margin-bottom:9px; }
 .kv-capability-production-equipment { padding-block:45px 0; }
 .kv-capability-machine-row { display:flex; flex-direction:column; gap:24px; align-items:stretch; padding-bottom:43px; }
 .kv-capability-machine-image { height:400px; }
 .kv-capability-machine-copy p { font-size:17px; }
 .kv-capability-route { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
 .kv-capability-route h3 { font-size:20px!important; }
 .kv-capability-contact { padding-block:40px; }
 .kv-capability-contact-inner { flex-direction:column; align-items:flex-start; gap:24px; }
}
