/* Complete company photograph, full introduction and two focused capability areas. */
.kv-refresh .kv-about-page { width:100%!important; max-width:none!important; margin:0!important; overflow:clip; background:#fff; color:#1f2d3a; }
.kv-about-page * { box-sizing:border-box; }
.kv-about-wrap { width:calc(100% - 128px); max-width:1320px; margin-inline:auto; }
.kv-about-reception { padding-top:22px; }
.kv-about-reception img { display:block; width:100%; height:auto; aspect-ratio:768/428; object-fit:contain; }
.kv-about-section { padding-block:70px; scroll-margin-top:105px; }
.kv-about-introduction { padding-top:46px; }
.kv-refresh .kv-about-introduction h1 { font-size:clamp(34px,3.3vw,50px)!important; line-height:1.12!important; text-align:center; margin:0 0 32px!important; font-weight:600; }
.kv-about-introduction-text { max-width:1040px; margin-inline:auto; }
.kv-about-introduction-text p { font-size:18px; line-height:1.9; color:#526c7e; margin:0 0 19px; }

/* Whole-row links: an image and a quiet title, alternating sides. */
.kv-about-capabilities { padding:0 0 70px; }
.kv-about-capability-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); position:relative; min-height:390px; color:#1f2d3a; background:#f7f9fb; text-decoration:none; isolation:isolate; }
.kv-about-capability-media { min-width:0; height:390px; overflow:hidden; grid-column:1; grid-row:1; }
.kv-about-capability-media img { display:block; width:100%; height:100%; object-fit:cover; transition:transform 550ms cubic-bezier(.22,1,.36,1),filter 300ms; }
.kv-about-quality-row .kv-about-capability-media img { object-position:50% 56%; }
.kv-about-capability-copy { display:grid; place-items:center; padding:38px; grid-column:2; grid-row:1; }
.kv-refresh .kv-about-capability-copy h2 { font-size:clamp(29px,2.6vw,40px)!important; line-height:1.2!important; margin:0!important; font-weight:600; color:#263d50; text-align:center; transition:color 200ms; }
.kv-about-production-row .kv-about-capability-media { grid-column:2; }
.kv-about-production-row .kv-about-capability-copy { grid-column:1; }
.kv-about-enter { position:absolute; left:calc(75% - 25px); top:calc(50% + 47px); width:50px; height:50px; display:grid; place-items:center; border:1px solid #c82d32; border-radius:50%; background:#c82d32; color:#fff; opacity:0; transform:translateX(-8px); pointer-events:none; transition:opacity 220ms,transform 300ms cubic-bezier(.22,1,.36,1); z-index:1; }
.kv-about-enter svg { width:25px; height:25px; }
.kv-about-production-row .kv-about-enter { left:calc(25% - 25px); }
.kv-about-capability-row:hover .kv-about-enter,.kv-about-capability-row:focus-visible .kv-about-enter { opacity:1; transform:translateX(0); }
.kv-refresh .kv-about-capability-row:hover h2,.kv-refresh .kv-about-capability-row:focus-visible h2 { color:#c82d32; }
.kv-about-capability-row:hover .kv-about-capability-media img { transform:scale(1.035); }
.kv-about-capability-row:focus-visible { outline:3px solid #c82d32; outline-offset:4px; z-index:2; }
.kv-refresh .kv-about-page .kv-about-certificates h2 { font-size:clamp(30px,2.8vw,44px)!important; }
.kv-about-detail { background:#fff; color:#263d50; padding:35px 0 70px; }
.kv-about-detail-breadcrumb { display:flex; flex-wrap:wrap; gap:10px; color:#708492; font-size:14px; margin-bottom:28px; }
.kv-about-detail-breadcrumb a { text-decoration:none; color:#647b8c; }
.kv-refresh .kv-about-detail h1 { font-size:clamp(36px,3.5vw,52px)!important; line-height:1.1!important; margin:0 0 28px!important; font-weight:600; }
.kv-about-detail-intro { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.9fr); gap:50px; align-items:center; margin-bottom:45px; }
.kv-about-detail p { color:#596f80; font-size:18px; line-height:1.85; margin:0 0 19px; }
.kv-about-detail-feature { min-width:0; }
.kv-about-detail-feature img { display:block; width:100%; height:350px; object-fit:cover; object-position:50% 56%; }
.kv-about-detail-iso { display:inline-block; color:#234a8d; font:600 24px/1.3 Barlow,sans-serif; border-bottom:2px solid #c82d32; padding-bottom:11px; margin-bottom:22px; }
.kv-about-detail-equipment { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:35px 28px; }
.kv-about-detail-equipment figure { margin:0; min-width:0; }
.kv-about-detail-equipment img { display:block; width:100%; height:280px; object-fit:cover; object-position:50% 58%; }
.kv-about-detail-equipment figcaption { font-size:18px; font-weight:600; line-height:1.5; padding-top:16px; }
.kv-about-detail-production-image img { display:block; width:100%; height:auto; margin-bottom:30px; }
.kv-about-detail-stages { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; list-style:none; padding:0; margin:30px 0; }
.kv-about-detail-stages li { padding-top:18px; border-top:1px solid #cbd8e2; font-size:18px; font-weight:600; }
.kv-about-detail-actions { display:flex; gap:20px; flex-wrap:wrap; margin-top:35px; }
.kv-about-detail-actions a { display:inline-flex; align-items:center; min-height:47px; padding:13px 20px; background:#c82d32; color:#fff; text-decoration:none; font-weight:600; font-size:16px; }
.kv-about-detail-actions a:last-child { background:#f3f6f8; color:#234a8d; }
@media (max-width:1023px) {
 .kv-about-capability-row { min-height:310px; }
 .kv-about-capability-media { height:310px; }
 .kv-about-detail-intro { gap:30px; }
}
@media (max-width:767px) {
 .kv-about-wrap { width:calc(100% - 36px); }
 .kv-about-reception { padding-top:18px; }
 .kv-about-section { padding-block:45px; scroll-margin-top:85px; }
 .kv-about-introduction { padding-top:30px; }
 .kv-refresh .kv-about-introduction h1 { margin-bottom:25px!important; }
 .kv-about-introduction-text p { font-size:17px; line-height:1.8; }
 .kv-about-capabilities { padding-bottom:45px; }
 .kv-about-capability-row { display:flex; flex-direction:column; min-height:0; }
 .kv-about-capability-media { height:auto; width:100%; aspect-ratio:1.35; }
 .kv-about-capability-copy { min-height:140px; padding:24px 20px 52px; }
 .kv-about-enter,.kv-about-production-row .kv-about-enter { left:calc(50% - 19px); top:auto; bottom:14px; width:38px; height:38px; opacity:1; transform:none; }
 .kv-about-enter svg { width:21px; height:21px; }
 .kv-about-detail { padding-top:25px; }
 .kv-about-detail-intro { grid-template-columns:1fr; gap:25px; margin-bottom:30px; }
 .kv-about-detail p { font-size:17px; }
 .kv-about-detail-feature img { height:300px; }
 .kv-about-detail-equipment { grid-template-columns:1fr; gap:28px; }
 .kv-about-detail-equipment img { height:auto; aspect-ratio:1.35; }
 .kv-about-detail-stages { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (hover:none) { .kv-about-enter { opacity:1; transform:none; } }
@media (prefers-reduced-motion:reduce) {
 .kv-about-capability-media img,.kv-about-enter,.kv-about-capability-copy h2 { transition:none!important; }
 .kv-about-capability-row:hover .kv-about-capability-media img { transform:none; }
}
