/* A compact category index and clearly grouped, individually readable skills. */
.skills-section { --skills-rule:#b9c4ca; --skills-muted:#4c6070; padding:78px 4.2% 84px; color:#172c3d; background:#eef0ed; border-top:1px solid #c0ced9; }
.skills-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:36px; margin-bottom:35px; }
.skills-heading .section-marker { color:var(--skills-muted); font-size:12px; }
.skills-heading h2 { margin-top:22px; font-size:clamp(43px,5.7vw,78px); font-weight:500; line-height:1.04; letter-spacing:-.05em; }
.skills-heading > p { max-width:30ch; color:var(--skills-muted); font-size:15px; line-height:1.6; padding-bottom:4px; }
.skills-navigation { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-bottom:22px; }
.skills-navigation > a { display:grid; grid-template-columns:28px minmax(0,1fr) auto; align-items:center; gap:15px; padding:19px 20px; color:#243f55; background:#e2e7e5; border:1px solid #b7c5cb; border-radius:4px; min-width:0; transition:background .18s,color .18s,border-color .18s; }
.skills-navigation svg { width:26px; height:26px; fill:none; stroke:currentColor; stroke-width:1.35; stroke-linecap:round; stroke-linejoin:round; }
.skills-navigation strong { display:block; font-size:19px; font-weight:500; letter-spacing:-.02em; line-height:1.3; }
.skills-navigation small { display:block; margin-top:6px; font-size:12px; line-height:1.5; color:var(--skills-muted); }
.skills-category-count { display:grid; place-items:center; min-width:29px; min-height:29px; padding:3px 6px; background:#f1f4f1; border-radius:3px; color:#3e586a; font:12px/1.5 var(--mono); }
.skills-navigation > a:hover { background:#d6e0e3; border-color:#718da1; }
.skills-navigation > a[aria-pressed=true] { background:#193d60; border-color:#193d60; color:#fff; }
.skills-navigation > a[aria-pressed=true] small { color:#d8e5ee; }
.skills-navigation > a[aria-pressed=true] .skills-category-count { background:#365a79; color:#fff; }
.skills-section a:focus-visible,.skills-section button:focus-visible,.skills-panel:focus-visible { outline:2px solid #345f83; outline-offset:5px; }
.skills-status { min-height:22px; margin-bottom:16px; color:var(--skills-muted); font-size:13px; line-height:1.6; }
.skills-workspace,.skills-panels { min-width:0; }
.skills-panel { min-width:0; }
.skills-panel + .skills-panel { margin-top:35px; }
.skills-panel-title { font-size:21px; font-weight:500; line-height:1.4; letter-spacing:-.02em; margin:0 0 18px; }
.skills-enhanced .skills-panels { display:grid; }
.skills-enhanced .skills-panel { grid-area:1 / 1; align-self:start; margin-top:0; }
/* Reserve the largest category's natural height without scrollable panels. */
.skills-enhanced .skills-panel[hidden] { display:block!important; visibility:hidden; pointer-events:none; }
.skills-enhanced .skills-panel-title { display:none; }
.skills-groups,.skill-items { padding:0; margin:0; list-style:none; }
.skills-group { display:grid; grid-template-columns:185px minmax(0,1fr); gap:22px; align-items:start; padding:20px 0; border-top:1px solid var(--skills-rule); }
.skills-group h4 { margin:6px 0 0; font-size:15px; font-weight:550; line-height:1.5; }
.skill-items { display:flex; flex-wrap:wrap; gap:8px; min-width:0; }
.skill-items > li { max-width:100%; padding:7px 11px; background:#fafbf8; border:1px solid #d0d9d9; border-radius:3px; color:#304c60; font-size:15px; line-height:1.5; overflow-wrap:anywhere; }
.skills-related { display:flex; flex-wrap:wrap; align-items:baseline; gap:10px 25px; margin-top:6px; padding:18px 0 0; border-top:1px solid var(--skills-rule); }
.skills-related > span { color:var(--skills-muted); font:11px/1.6 var(--mono); letter-spacing:.4px; }
.skills-related a { display:inline-flex; gap:14px; align-items:center; font-size:14px; min-height:44px; padding:8px 0; }
.skills-related a:hover { color:#345f83; text-decoration:underline; text-underline-offset:5px; }
.skills-related a > span { font-size:20px; }
@media (max-width:1100px) {
  .skills-navigation > a { padding:17px 14px; gap:11px; grid-template-columns:24px minmax(0,1fr) auto; }
  .skills-navigation svg { width:23px; height:23px; }
  .skills-navigation strong { font-size:17px; }
  .skills-navigation small { display:none; }
}
@media (max-width:760px) {
  .skills-section { padding:53px 6% 58px; }
  .skills-heading { display:block; margin-bottom:26px; }
  .skills-heading h2 { margin-top:18px; font-size:49px; }
  .skills-heading > p { margin-top:18px; padding:0; }
  .skills-navigation { gap:8px; margin-bottom:17px; }
  .skills-navigation > a { display:flex; flex-direction:column; align-items:flex-start; gap:10px; padding:15px 12px; position:relative; }
  .skills-navigation strong { font-size:16px; }
  .skills-category-count { position:absolute; top:12px; right:9px; min-width:24px; min-height:24px; padding:2px 4px; font-size:11px; }
  .skills-navigation svg { width:23px; height:23px; }
  .skills-group { grid-template-columns:minmax(0,1fr); gap:12px; padding:19px 0; }
  .skills-group h4 { margin:0; font-size:15px; }
  .skill-items { gap:7px; }
  .skill-items > li { font-size:14px; padding:6px 9px; }
  .skills-related { gap:4px 22px; }
  .skills-related > span { flex-basis:100%; }
}
@media (max-width:520px) {
  .skills-navigation { grid-template-columns:minmax(0,1fr); }
  .skills-navigation > a { display:grid; grid-template-columns:24px minmax(0,1fr) auto; align-items:center; padding:13px 14px; }
  .skills-navigation strong { font-size:16px; }
  .skills-category-count { position:static; min-width:29px; min-height:27px; font-size:12px; }
}

@media (prefers-reduced-motion:reduce) { .skills-navigation > a { transition:none; } }
@media print {
  .skills-navigation,.skills-status { display:none!important; }
  .skills-workspace,.skills-enhanced .skills-panels,.skills-panels[hidden] { display:block!important; }
  .skills-enhanced .skills-panel[hidden] { display:block!important; visibility:visible; }
  .skills-enhanced .skills-panel-title { display:block; }
  .skills-panel { break-inside:avoid; margin-bottom:30px!important; }
}
