/* KatalisTech v12: mobile-first polish across public pages and all role dashboards. */
:root { --kt12-ink:#132a4b; --kt12-aqua:#16b8c7; --kt12-muted:#5b6f8b; --kt12-edge:#e2eaf4; }
body { text-rendering:optimizeLegibility; }
.kt-navbar .nav-link, .kt-sidebar a { text-underline-offset:4px; }
.kt-navbar { backdrop-filter:saturate(170%) blur(14px); -webkit-backdrop-filter:saturate(170%) blur(14px); }
.kt-service-card, .kt8-case, .kt8-person, .kt8-solution, .kt8-article { transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease; }
.kt-service-card:hover, .kt8-case:hover, .kt8-person:hover, .kt8-solution:hover, .kt8-article:hover { transform:translateY(-3px); border-color:#aac4ec; box-shadow:0 16px 38px rgba(25,61,120,.10); }
.kt8-case-image { display:flex; align-items:center; justify-content:center; aspect-ratio:16/10; overflow:hidden; }
.kt8-case-image img { width:100%; height:100%; object-fit:cover; }
.kt8-person-photo { object-fit:cover; }
.kt8-gallery { overflow:hidden; background:#f2f6fb; }
.kt8-gallery img { width:100%; aspect-ratio:3/2; height:auto; object-fit:cover; }
.kt8-cover-figure img { width:100%; height:auto; display:block; }
.kt8-service-nav { position:sticky; top:78px; z-index:12; overscroll-behavior-x:contain; scroll-snap-type:x proximity; }
.kt8-service-nav a { scroll-snap-align:start; }
.kt8-section-head { gap:1rem; }
.kt8-section-head .btn { flex-shrink:0; }
.kt12-service-search { padding:1rem 1.2rem; border:1px solid var(--kt12-edge); border-radius:17px; background:#fff; }
.kt12-service-search .kt-search { max-width:600px; }
.kt12-consult-guide { border:1px solid #dce7f3; border-radius:26px; padding:clamp(1.3rem,3.2vw,2.5rem); background:linear-gradient(145deg,#f7fbff,#eef7fc 70%,#f7fcfc); }
.kt12-guide-items { display:grid; gap:.7rem; }
.kt12-guide-items > div { display:flex; align-items:flex-start; gap:.9rem; border:1px solid #e0e9f3; border-radius:15px; background:#fff; padding:.95rem 1rem; }
.kt12-guide-number { display:grid; place-items:center; flex-shrink:0; width:34px; height:34px; border-radius:12px; color:#1459aa; background:#e8f1fc; font-size:.78rem; font-weight:800; }
.kt12-guide-items strong { display:block; font-size:.94rem; color:#173a68; }
.kt12-guide-items small { display:block; color:#60758e; line-height:1.6; }
.kt12-faq { background:#fff; border:1px solid #e0e9f2; border-radius:18px; padding:clamp(1.1rem,2.4vw,1.7rem); }
.kt12-faq details { border-top:1px solid #e9eef5; padding:.95rem .2rem; }
.kt12-faq details:last-child { padding-bottom:0; }
.kt12-faq summary { cursor:pointer; color:#1b385e; font-weight:700; padding-right:.75rem; }
.kt12-faq summary:hover { color:#275acc; }
.kt12-faq details p { margin:.65rem 0 0; color:var(--kt12-muted); line-height:1.7; font-size:.93rem; }
.kt12-sidebar-search { position:relative; }
.kt12-sidebar-search i { position:absolute; left:25px; top:25px; font-size:.88rem; color:#a7c3e2; pointer-events:none; }
.kt12-sidebar-search .form-control { padding-left:2.2rem; color:#fff; background:rgba(255,255,255,.075); border:1px solid rgba(255,255,255,.15); }
.kt12-sidebar-search .form-control::placeholder { color:#c3d2e8; }
.kt12-sidebar-search .form-control:focus { border-color:#78cddf; color:#fff; background:#213f68; }
.kt12-sidebar-search #kt12-menu-empty { color:#cbd9ea; }
.kt12-nav-section { display:contents; }
.kt12-nav-section.d-none { display:none; }
.kt-page .card { border-color:#e2eaf4; }
.kt-page .card-header { font-weight:700; }
.kt-page .table-responsive { border-radius:14px; }
.kt-page .form-control, .kt-page .form-select { min-height:41px; }
.kt-page .btn:focus-visible { outline-offset:3px; }
@media (max-width:991.98px) {
  .kt8-service-nav { top:70px; }
  .kt-page { overflow-x:clip; }
  .kt8-section-head { align-items:flex-start; flex-direction:column; }
}
@media (max-width:575.98px) {
  .kt8-service-nav { margin-inline:-.75rem; border-radius:12px; padding:.28rem; top:67px; }
  .kt8-service-nav a { padding:.65rem .75rem; font-size:.81rem; }
  .kt8-service-nav .kt8-nav-cta { margin-left:.25rem; }
  .kt8-hero { border-radius:19px; }
  .kt8-hero h1 { overflow-wrap:anywhere; }
  .kt12-consult-guide { border-radius:18px; }
  .kt8-section-head h2 { font-size:clamp(1.35rem,6vw,1.9rem); }
  .kt-page .table-responsive { overflow-x:auto; }
  .kt-topbar { gap:.55rem; }
  .kt-page { padding:.85rem; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto!important; }
  .kt-service-card,.kt8-case,.kt8-person,.kt8-solution,.kt8-article { transition:none!important; }
  .kt-service-card:hover,.kt8-case:hover,.kt8-person:hover,.kt8-solution:hover,.kt8-article:hover { transform:none!important; }
}
