/* Capabilities hub only; shared design tokens and components remain authoritative. */
.hk-capabilities-index .capabilities-hero { position:relative; overflow:hidden; color:var(--hk-white); background:var(--hk-navy); border-bottom:3px solid var(--hk-orange); }
.hk-capabilities-index .capabilities-hero__layout { display:grid; min-height:480px; grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr); align-items:stretch; }
.hk-capabilities-index .capabilities-hero__copy { position:relative; z-index:2; display:flex; max-width:710px; flex-direction:column; justify-content:center; padding:58px 32px 58px 0; }
.hk-capabilities-index .capabilities-hero__copy::after { position:absolute; z-index:-1; top:0; right:-170px; bottom:0; left:calc((100vw - min(calc(100vw - 40px),var(--hk-container))) / -2); background:linear-gradient(90deg,rgba(8,25,35,1) 0%,rgba(8,25,35,.98) 68%,rgba(8,25,35,0) 100%); content:""; pointer-events:none; }
.hk-capabilities-index .capabilities-hero .eyebrow { margin-bottom:16px; }
.hk-capabilities-index .capabilities-hero h1 { margin-bottom:20px; color:var(--hk-white); font-size:clamp(44px,3.7vw,56px); line-height:1.04; letter-spacing:-.035em; }
.hk-capabilities-index .capabilities-hero__copy>p { max-width:630px; margin-bottom:0; color:#d3dde3; font-size:17px; line-height:1.7; }
.hk-capabilities-index .capabilities-hero__actions { display:flex; flex-wrap:wrap; gap:13px; margin-top:26px; }
.hk-capabilities-index .capabilities-hero__media { min-width:0; margin:0 calc((100vw - min(calc(100vw - 40px),var(--hk-container))) / -2) 0 0; background:var(--hk-navy-soft); }
.hk-capabilities-index .capabilities-hero__media img { width:100%; height:100%; min-height:480px; object-fit:cover; object-position:center 72%; }
.hk-capabilities-index .capabilities-nav { padding:18px 0; border-bottom:1px solid var(--hk-line); background:var(--hk-white); }
.hk-capabilities-index .capabilities-nav__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
.hk-capabilities-index .capabilities-nav a { display:flex; min-width:0; min-height:64px; gap:20px; align-items:center; padding:4px 28px; border-right:1px solid var(--hk-line); transition:background-color .15s ease; }
.hk-capabilities-index .capabilities-nav a:last-child { border-right:0; }
.hk-capabilities-index .capabilities-nav strong { display:block; color:var(--hk-navy); font-size:16px; line-height:1.35; }
.hk-capabilities-index .capabilities-nav small { display:block; margin-top:3px; color:var(--hk-muted); font-size:13px; }
.hk-capabilities-index .capabilities-nav svg { flex:0 0 32px; width:32px; height:32px; color:var(--hk-orange-dark); }
.hk-capabilities-index .capabilities-nav__arrow { display:grid; flex:0 0 24px; width:24px; height:24px; place-items:center; margin-left:auto; color:var(--hk-orange-dark); font-size:20px; line-height:1; }
.hk-capabilities-index .capabilities-nav a:hover,
.hk-capabilities-index .capabilities-nav a:focus-visible { background:var(--hk-light); }
.hk-capabilities-index .capabilities-nav a:hover strong,
.hk-capabilities-index .capabilities-nav a:focus-visible strong { text-decoration:underline; text-underline-offset:4px; text-decoration-color:var(--hk-orange-dark); }
.hk-capabilities-index .capabilities-nav a:focus-visible { outline-offset:-3px; }
.hk-capabilities-index .capabilities-nav svg,
.hk-capabilities-index .capabilities-icon svg { fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.hk-capabilities-index .capabilities-core,
.hk-capabilities-index .capabilities-advanced,
.hk-capabilities-index .capabilities-services,
.hk-capabilities-index .capabilities-selection { padding:52px 0; }
.hk-capabilities-index .capabilities-advanced,
.hk-capabilities-index .capabilities-services { padding:48px 0; }
.hk-capabilities-index .capabilities-selection { padding:64px 0; }
.hk-capabilities-index .capabilities-core,
.hk-capabilities-index .capabilities-services { background:var(--hk-light); }
.hk-capabilities-index .capabilities-core__heading,
.hk-capabilities-index .capabilities-section-heading { margin-bottom:24px; }
.hk-capabilities-index .capabilities-core__heading .eyebrow,
.hk-capabilities-index .capabilities-section-heading .eyebrow,
.hk-capabilities-index .capabilities-selection .eyebrow { margin-bottom:9px; }
.hk-capabilities-index .capabilities-core__heading h2,
.hk-capabilities-index .capabilities-section-heading h2 { margin-bottom:10px; color:var(--hk-navy); font-size:clamp(28px,2.4vw,34px); }
.hk-capabilities-index .capabilities-core__heading p,
.hk-capabilities-index .capabilities-section-heading p { margin-bottom:0; font-size:16px; }
.hk-capabilities-index .capabilities-core__grid,
.hk-capabilities-index .capabilities-advanced__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.hk-capabilities-index .capabilities-core-card { min-width:0; display:flex; flex-direction:column; overflow:hidden; border:1px solid var(--hk-line); border-top:3px solid var(--hk-orange); border-radius:2px; background:var(--hk-white); }
.hk-capabilities-index .capabilities-core-card__media { flex:none; height:218px; overflow:hidden; margin:0; background:var(--hk-light); }
.hk-capabilities-index .capabilities-core-card__media picture { display:block; width:100%; height:100%; }
.hk-capabilities-index .capabilities-core-card__media img { width:100%; height:100%; object-fit:cover; }
.hk-capabilities-index .capabilities-core-card__body { display:flex; flex:1; flex-direction:column; padding:22px 24px 16px; }
.hk-capabilities-index .capabilities-core-card__number { margin-bottom:8px; color:var(--hk-orange-dark); font-size:13px; font-weight:800; letter-spacing:.14em; }
.hk-capabilities-index .capabilities-core-card h3 { margin-bottom:12px; color:var(--hk-navy); font-size:24px; }
.hk-capabilities-index .capabilities-core-card p { min-height:136px; margin-bottom:14px; font-size:16px; line-height:1.7; }
.hk-capabilities-index .capabilities-core-card ul { margin:0 0 14px; padding:12px 0 0; border-top:1px solid var(--hk-line); list-style:none; }
.hk-capabilities-index .capabilities-core-card li { position:relative; padding:5px 0 5px 21px; color:var(--hk-muted); font-size:15px; line-height:1.65; }
.hk-capabilities-index .capabilities-core-card li::before { position:absolute; left:0; color:var(--hk-orange-dark); content:"✓"; font-weight:800; }
.hk-capabilities-index .capabilities-core-card__link,
.hk-capabilities-index .capabilities-link { display:inline-flex; min-height:44px; align-items:center; gap:7px; color:var(--hk-orange-dark); font-size:14px; font-weight:700; line-height:1.5; }
.hk-capabilities-index .capabilities-core-card__link { margin-top:auto; }
.hk-capabilities-index .capabilities-core-card__link:hover,
.hk-capabilities-index .capabilities-link:hover { text-decoration:underline; text-underline-offset:4px; }
.hk-capabilities-index .capabilities-process-card { display:flex; min-width:0; flex-direction:column; padding:22px; border:1px solid var(--hk-line); border-radius:2px; background:var(--hk-white); }
.hk-capabilities-index .capabilities-process-card>header { display:flex; min-height:52px; align-items:flex-start; gap:13px; margin-bottom:14px; }
.hk-capabilities-index .capabilities-icon { display:flex; width:38px; height:38px; flex:0 0 38px; align-items:center; justify-content:center; color:var(--hk-orange-dark); }
.hk-capabilities-index .capabilities-icon svg { width:32px; height:32px; }
.hk-capabilities-index .capabilities-process-card h3 { margin:0 0 7px; color:var(--hk-navy); font-size:20px; }
.hk-capabilities-index .capabilities-process-card__subtitle { margin:0; font-size:14px; line-height:1.5; }
.hk-capabilities-index .capabilities-process-card>p { margin-bottom:18px; font-size:15px; line-height:1.65; }
.hk-capabilities-index .capabilities-process-card__bottom { display:grid; min-height:96px; grid-template-columns:minmax(0,1fr) 128px; align-items:end; gap:12px; margin-top:auto; }
.hk-capabilities-index .capabilities-process-card__bottom .capabilities-link { min-width:0; }
.hk-capabilities-index .capabilities-thumbnail { display:grid; width:128px; height:96px; aspect-ratio:4/3; place-items:center; overflow:hidden; border:1px solid var(--hk-line); border-radius:2px; background:var(--hk-light); }
.hk-capabilities-index .capabilities-thumbnail img { width:116px; height:87px; object-fit:contain; object-position:center; }
/* Retain subject scales and the same visible 116x87 image area inside every frame. */
.hk-capabilities-index .capabilities-thumbnail--precision img { transform:scale(1.3); clip-path:inset(11.53846%); }
.hk-capabilities-index .capabilities-thumbnail--wire img { transform:scale(1.08); clip-path:inset(3.7037%); }
.hk-capabilities-index .capabilities-services__grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.hk-capabilities-index .capabilities-service-card { display:grid; min-width:0; grid-template-columns:38px minmax(0,1fr); grid-template-rows:46.8px 1fr auto; gap:12px 10px; padding:20px 18px 14px; border:1px solid var(--hk-line); border-radius:2px; background:var(--hk-white); }
.hk-capabilities-index .capabilities-service-card h3 { align-self:start; margin:0; color:var(--hk-navy); font-size:18px; line-height:1.3; }
.hk-capabilities-index .capabilities-service-card p { grid-column:1/-1; margin:0; font-size:14px; line-height:1.65; }
.hk-capabilities-index .capabilities-service-card .capabilities-link { grid-column:1/-1; }
.hk-capabilities-index .capabilities-selection__layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.5fr) minmax(0,.8fr); gap:28px; align-items:start; }
.hk-capabilities-index .capabilities-selection h2 { margin-bottom:16px; color:var(--hk-navy); font-size:30px; line-height:1.18; }
.hk-capabilities-index .capabilities-selection__copy>p { margin-bottom:18px; font-size:16px; line-height:1.75; }
.hk-capabilities-index .capabilities-selection table { width:100%; table-layout:fixed; border-collapse:collapse; border:1px solid var(--hk-line); font-size:15px; line-height:1.6; }
.hk-capabilities-index .capabilities-selection th { width:51%; }
.hk-capabilities-index .capabilities-selection th,
.hk-capabilities-index .capabilities-selection td { padding:12px 14px; text-align:left; border-bottom:1px solid var(--hk-line); vertical-align:middle; }
.hk-capabilities-index .capabilities-selection thead { color:var(--hk-navy); background:var(--hk-light); font-size:14px; }
.hk-capabilities-index .capabilities-selection thead th { padding-block:10px; border-bottom:2px solid var(--hk-line); font-weight:750; }
.hk-capabilities-index .capabilities-selection tbody th { color:var(--hk-muted); font-weight:400; }
.hk-capabilities-index .capabilities-selection td { padding:0 14px; }
.hk-capabilities-index .capabilities-selection td a { display:flex; min-height:54px; align-items:center; justify-content:space-between; gap:8px; color:var(--hk-navy); font-weight:750; }
.hk-capabilities-index .capabilities-selection td a>span { flex:none; color:var(--hk-muted); font-size:12px; opacity:.75; }
.hk-capabilities-index .capabilities-selection td a:hover { color:var(--hk-orange-dark); text-decoration:underline; text-underline-offset:3px; }
.hk-capabilities-index #process-selection-note { margin:4px 0 0; font-size:13px; line-height:1.6; }
.hk-capabilities-index .capabilities-advice { padding:24px; border:1px solid var(--hk-line); border-left:2px solid var(--hk-orange); background:var(--hk-light); }
.hk-capabilities-index .capabilities-advice .capabilities-icon { margin-bottom:14px; }
.hk-capabilities-index .capabilities-advice h3 { margin-bottom:12px; color:var(--hk-navy); font-size:20px; }
.hk-capabilities-index .capabilities-advice p { margin-bottom:14px; font-size:15px; line-height:1.75; }
@media (max-width:1200px) {
 .hk-capabilities-index .site-quick-actions { position:static; display:flex; justify-content:flex-end; gap:10px; padding:12px 20px 20px; background:var(--hk-navy); }
 .hk-capabilities-index .site-quick-action__label { display:none; }
 .hk-capabilities-index .capabilities-hero__copy { padding-right:20px; }
 .hk-capabilities-index .capabilities-nav a { padding-inline:16px; gap:14px; }
 .hk-capabilities-index .capabilities-core-card__media { height:195px; }
 .hk-capabilities-index .capabilities-core-card__body { padding-inline:20px; }
 .hk-capabilities-index .capabilities-core-card p { min-height:163.2px; }
 .hk-capabilities-index .capabilities-process-card { padding:20px; }
 .hk-capabilities-index .capabilities-advanced__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .hk-capabilities-index .capabilities-services__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .hk-capabilities-index .capabilities-selection__layout { grid-template-columns:minmax(0,1fr) minmax(0,1.35fr); }
 .hk-capabilities-index .capabilities-advice { display:grid; grid-column:1/-1; grid-template-columns:38px 1fr auto; gap:0 16px; align-items:center; }
 .hk-capabilities-index .capabilities-advice .capabilities-icon { grid-row:1/3; margin:0; }
 .hk-capabilities-index .capabilities-advice h3 { margin:0 0 5px; }
 .hk-capabilities-index .capabilities-advice p { grid-column:2; margin:0; }
 .hk-capabilities-index .capabilities-advice .capabilities-link { grid-column:3; grid-row:1/3; }
}
@media (max-width:990px) {
 .hk-capabilities-index .capabilities-hero__layout { grid-template-columns:minmax(0,1.2fr) minmax(250px,.8fr); }
 .hk-capabilities-index .capabilities-core__grid,
 .hk-capabilities-index .capabilities-advanced__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .hk-capabilities-index .capabilities-core-card__media { height:220px; }
 .hk-capabilities-index .capabilities-core-card p { min-height:136px; }
 .hk-capabilities-index .capabilities-nav strong { font-size:15px; }
 .hk-capabilities-index .capabilities-nav svg { flex-basis:28px; width:28px; height:28px; }
 .hk-capabilities-index .capabilities-core,
 .hk-capabilities-index .capabilities-advanced,
 .hk-capabilities-index .capabilities-services,
 .hk-capabilities-index .capabilities-selection { padding:42px 0; }
 .hk-capabilities-index .capabilities-selection { padding:48px 0; }
}
@media (max-width:768px) {
 .hk-capabilities-index .capabilities-hero__layout { position:relative; min-height:480px; display:flex; }
 .hk-capabilities-index .capabilities-hero__copy { width:100%; max-width:650px; padding:50px 0; }
 .hk-capabilities-index .capabilities-hero__copy::after { right:calc((100vw - min(calc(100vw - 40px),var(--hk-container))) / -2); background:rgba(8,25,35,.84); }
 .hk-capabilities-index .capabilities-hero__copy>p { font-size:16px; }
 .hk-capabilities-index .capabilities-hero__media { position:absolute; inset:0 calc((100vw - min(calc(100vw - 40px),var(--hk-container))) / -2); margin:0; }
 .hk-capabilities-index .capabilities-hero__media img { min-height:0; }
 .hk-capabilities-index .capabilities-nav a { padding-inline:12px; gap:10px; }
 .hk-capabilities-index .capabilities-nav svg { flex-basis:24px; width:24px; height:24px; }
 .hk-capabilities-index .capabilities-core-card__media { height:195px; }
 .hk-capabilities-index .capabilities-core-card p { min-height:163.2px; }
 .hk-capabilities-index .capabilities-selection__layout { grid-template-columns:1fr; row-gap:24px; }
 .hk-capabilities-index .capabilities-selection__copy { max-width:640px; }
}
@media (max-width:680px) {
 .hk-capabilities-index .capabilities-nav { padding:8px 0; }
 .hk-capabilities-index .capabilities-nav__grid { grid-template-columns:1fr; }
 .hk-capabilities-index .capabilities-nav a { min-height:58px; padding:8px 12px; border-right:0; border-bottom:1px solid var(--hk-line); }
 .hk-capabilities-index .capabilities-nav a:last-child { border-bottom:0; }
 .hk-capabilities-index .capabilities-nav a>span:not(.capabilities-nav__arrow) { flex:1; }
 .hk-capabilities-index .capabilities-nav small { margin:2px 0 0; white-space:nowrap; }
 .hk-capabilities-index .capabilities-core__grid,
 .hk-capabilities-index .capabilities-advanced__grid,
 .hk-capabilities-index .capabilities-services__grid { grid-template-columns:1fr; gap:16px; }
 .hk-capabilities-index .capabilities-core-card__media { height:260px; }
 .hk-capabilities-index .capabilities-core-card p { min-height:0; }
 .hk-capabilities-index .capabilities-service-card { grid-template-rows:auto 1fr auto; padding:18px 20px 12px; }
 .hk-capabilities-index .capabilities-service-card h3 { align-self:center; }
 .hk-capabilities-index .capabilities-advice { display:block; }
 .hk-capabilities-index .capabilities-advice .capabilities-icon { margin-bottom:12px; }
 .hk-capabilities-index .capabilities-advice p { margin:10px 0; }
}
@media (max-width:480px) {
 .hk-capabilities-index .capabilities-hero h1 { font-size:36px; }
 .hk-capabilities-index .capabilities-hero__actions { display:grid; gap:12px; }
 .hk-capabilities-index .capabilities-hero__actions .btn { width:100%; }
 .hk-capabilities-index .capabilities-core,
 .hk-capabilities-index .capabilities-advanced,
 .hk-capabilities-index .capabilities-services,
 .hk-capabilities-index .capabilities-selection { padding:34px 0; }
 .hk-capabilities-index .capabilities-selection { padding:40px 0; }
 .hk-capabilities-index .capabilities-core-card__media { height:210px; }
 .hk-capabilities-index .capabilities-core__heading,
 .hk-capabilities-index .capabilities-section-heading { margin-bottom:22px; }
 .hk-capabilities-index .capabilities-selection h2 { font-size:28px; }
 .hk-capabilities-index .capabilities-selection th,
 .hk-capabilities-index .capabilities-selection td { padding-inline:9px; }
 .hk-capabilities-index .capabilities-selection table { font-size:14px; }
 .hk-capabilities-index .capabilities-selection td a { min-height:58px; }
}
