/* Department-first services presentation; shared header keeps its original geometry. */
.ki-page.page-services main .services-hero { min-height:min(820px,86svh); }
.services-hero__department-layout { display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; }
.ki-page.page-services main .services-hero h1 { font-size:clamp(2.8rem,4.8vw,4.6rem)!important; max-width:650px; }
.services-hero__department-copy>p { max-width:550px; color:#dbe9f1; line-height:1.85; font-size:1.05rem; }
.ki-page.page-services main .services-hero__actions { justify-content:flex-start; }
.department-picker { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.department-choice { position:relative; display:flex; flex-direction:column; min-height:195px; padding:22px; border:1px solid #d1ecff40; border-radius:22px; background:linear-gradient(130deg,#132f4ce8,#0b233dd4); color:white; backdrop-filter:blur(14px); transition:border-color .25s,background .25s,transform .25s; }
.department-choice:hover,.department-choice:focus-visible { background:#153c5beb; border-color:#79d2f3; transform:translateY(-4px); }
.department-choice__top { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:18px; }
.department-choice__top>.material-icons { width:38px; height:38px; display:grid; place-items:center; border-radius:11px; background:#b8e4ff15; color:#92d5f8; }
.department-choice__top small { color:#9ab6c8; font-size:10px; font-variant-numeric:tabular-nums; }
.department-choice>strong { font-size:21px; line-height:1.25; letter-spacing:-.025em; }
.department-choice__tag { font-size:11px; color:#b6cbdc; margin:9px 0 16px; }
.department-choice__bottom { display:flex; align-items:center; justify-content:space-between; font-size:10px; color:#bce7ff; margin-top:auto; gap:8px; }
.department-choice__bottom>span { font-size:23px; }
.ki-page main .department-section { border-top:3px solid var(--department-color); }
.ki-page main .department-heading { position:relative; max-width:1000px; }
.department-heading__symbol { position:absolute; top:-50px; right:-120px; pointer-events:none; font-size:170px; line-height:1; opacity:.05; color:var(--department-color); }
.ki-page main .department-heading .jp-head__kicker { color:var(--department-color); }
.ki-page main .department-heading .jp-head__desc { margin:0; max-width:800px; }
.department-products-head { margin:42px 0 24px; }
.department-products-head h3,.department-dx-services>h3 { color:#17354e; font-size:clamp(1.6rem,2.4vw,2rem); letter-spacing:-.025em; }
.department-products-head p { margin-top:12px; max-width:740px; font-size:14px; line-height:1.8; color:#64768b; }
.department-products { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.department-product { min-width:0; display:flex; flex-direction:column; padding:28px; gap:24px; border:1px solid #dce6ef; background:#fff; border-radius:24px; box-shadow:0 12px 40px #15384906; }
.department-product__icon { object-fit:contain; border-radius:15px; }
.department-product__body { flex:1; min-width:0; }
.department-product__tag { font-size:10px; letter-spacing:.02em; color:#64768b; }
.department-product h4 { font-size:25px; line-height:1.2; margin:10px 0 16px; letter-spacing:-.025em; color:#15354e; }
.department-product p { color:#60748a; font-size:14px; line-height:1.85; }
.department-product__link { display:flex; align-items:center; justify-content:space-between; gap:16px; border-top:1px solid #e3eaf0; padding-top:19px; margin-top:auto; font-size:12px; font-weight:650; color:#096591; }
.department-product__link:hover { color:#079fdb; }
.department-product__link>span[aria-hidden] { font-size:23px; }
.department-products--single { grid-template-columns:1fr; }
.department-products--single .department-product { display:grid; grid-template-columns:80px 1fr auto; align-items:center; gap:30px; }
.department-products--single .department-product__link { border:0; margin:0; padding:16px; }
.department-service-tags { display:flex; gap:12px; flex-wrap:wrap; margin:28px 0; padding:0; }
.department-service-tags li { border:1px solid #c7dedb; border-radius:999px; background:#eef8f5; color:#246c63; font-size:12px; padding:10px 17px; }
.department-dx-services { margin-top:60px; }
.department-dx-services>h3 { margin-bottom:24px; }
.department-dx-services h4 { font-size:20px; margin:0 0 16px; line-height:1.35; }
.department-legacy-anchor { scroll-margin-top:var(--ki-offset,112px); }
.department-sr-only { position:absolute; width:1px; height:1px; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
.ki-page main .department-choice:focus-visible,.ki-page main .department-product a:focus-visible { outline:3px solid #38bdf8; outline-offset:4px; }
@media(max-width:1000px) { .services-hero__department-layout { gap:28px; } .department-choice { padding:18px; } .department-products { grid-template-columns:repeat(2,minmax(0,1fr)); } .department-products--single { grid-template-columns:1fr; } .department-products--single .department-product { grid-template-columns:64px 1fr; } .department-products--single .department-product__link { grid-column:2; padding:0; justify-content:flex-start; } }
@media(max-width:800px) {
 .services-hero__department-layout { grid-template-columns:1fr; gap:24px; }
 .ki-page.page-services main .services-hero { padding-top:24px!important; padding-bottom:100px!important; }
 .ki-page.page-services main .services-hero__inner { padding-block:0; }
 .ki-page.page-services main .services-hero h1 { font-size:clamp(2rem,7.4vw,3rem)!important; margin:12px 0 18px; }
 .ki-page.page-services main .services-hero__kicker { margin-bottom:0; }
 .ki-page.page-services main .services-hero__department-copy>p { font-size:14px; line-height:1.65; margin:0; }
 .ki-page.page-services main .services-hero__actions { margin-top:16px; }
 .ki-page.page-services main .services-hero__actions .btn { width:auto; min-height:38px; padding:9px 18px; font-size:12px; }
 .department-choice { min-height:146px; padding:14px; }
 .department-choice__top { margin-bottom:10px; }
 .department-choice__top>.material-icons { width:30px; height:30px; font-size:20px; }
 .department-choice>strong { font-size:17px; line-height:1.2; }
 .department-choice__tag { font-size:10px; line-height:1.4; margin:7px 0 10px; }
 .department-choice__bottom { font-size:9px; line-height:1.4; }
 .department-heading__symbol { right:0; font-size:110px; }
 .department-products { grid-template-columns:1fr; }
 .department-products--single .department-product { display:flex; gap:20px; align-items:start; }
 .department-products--single .department-product__link { width:100%; justify-content:space-between; border-top:1px solid #e3eaf0; padding-top:18px; }
}
@media(max-width:360px) { .department-choice { padding:15px; border-radius:18px; } .department-choice>strong { font-size:16px; } .department-picker { gap:10px; } .department-choice__bottom { font-size:9px; } }
@media(prefers-reduced-motion:reduce) { .department-choice { transition:none; } .department-choice:hover { transform:none; } }

/* Root entry: departments precede individual products. */
.km-department-portal { width:100%; position:relative; }
.km-entry .km-department-portal__label { display:flex; justify-content:space-between; gap:20px; margin:0 0 24px; font-size:10px; color:#b9d8ed; letter-spacing:.12em; text-transform:uppercase; }
.km-department-portal .department-choice { min-height:218px; padding:26px; border-color:#b5dfff38; box-shadow:0 16px 45px #00132725; background:linear-gradient(135deg,#163954d9,#071e37c9); }
.km-department-portal .department-choice:hover { border-color:var(--department-color); background:#163d59e8; }
.km-department-portal .department-choice__top>.material-icons { color:var(--department-color); background:#e1f5ffed; }
.km-department-portal .department-choice>strong { font-size:24px; }
.km-department-portal .department-choice__tag { font-size:12px; line-height:1.5; }
.km-department-portal .department-choice__bottom { font-size:11px; }
.km-entry .km-department-portal__caption { margin:24px 0 0; font-size:12px; color:#b8d3e7; text-align:right; }
/* Dedicated pages retain the public shell and show only one department. */
.ki-page.page-department main .department-hero__inner { padding-block:0; }
.ki-page.page-department main .department-hero h1 { font-size:clamp(3.2rem,6vw,6rem)!important; max-width:850px; }
.department-back { display:inline-flex; gap:10px; align-items:center; color:#c8e8fa; font-size:12px; margin-bottom:42px; }
.department-hero__inner>.services-hero__kicker { display:block; }
.ki-page.page-department main .department-hero__lead { max-width:720px; margin:0; font-size:clamp(1rem,1.7vw,1.25rem); line-height:1.85; }
.department-hero__symbol { position:absolute; right:40px; top:50%; transform:translateY(-50%); font-size:300px; opacity:.07; pointer-events:none; }
@media(max-width:1024px) {
 .km-department-portal { max-width:600px; margin:0 auto; text-align:left; }
 .km-entry .km-department-portal__caption { text-align:center; }
}
@media(max-width:700px) {
 .km-hero .km-hero-grid { padding-top:32px; gap:28px; }
 .km-hero .km-hero-copy>.km-eyebrow { margin-bottom:18px; }
 .km-hero .km-hero-copy h1 { font-size:38px; }
 .km-hero .km-hero-description { margin-top:18px!important; font-size:13px; line-height:1.7; }
 .km-hero .km-hero-note { display:none; }
 .km-hero .km-actions { margin-top:22px; }
 .km-entry .km-department-portal__label { font-size:9px; margin-bottom:14px; }
 .km-department-portal .department-choice { min-height:154px; padding:14px; }
 .km-department-portal .department-choice>strong { font-size:17px; }
 .km-department-portal .department-choice__tag { font-size:10px; }
 .km-department-portal .department-choice__bottom { font-size:9px; }
 .km-entry .km-department-portal__caption { font-size:10px; margin-top:16px; }
 .department-back { margin-bottom:28px; }
 .ki-page.page-department main .department-hero h1 { font-size:clamp(2.5rem,10vw,3.5rem)!important; }
 .department-hero__symbol { right:20px; top:45%; font-size:160px; }
}
.ki-page.page-department main .department-hero__inner>.services-hero__kicker { display:block; font-size:11px; line-height:1.5; margin:0 0 18px; }
@media(max-width:700px) {
 .km-hero .km-hero-grid { gap:18px; }
 .km-hero-copy { display:contents; }
 .km-hero .km-hero-copy>.km-eyebrow { order:0; margin:0; justify-content:center; }
 .km-hero .km-hero-copy h1 { order:1; font-size:32px; margin:0 auto; }
 .km-hero .km-hero-description { order:2; margin:0 auto!important; max-width:38ch; }
 .km-department-portal { order:3; }
 .km-hero .km-actions { order:4; margin:4px 0 0; }
}
