/* Name-led capability groups. Original vendor marks retain their colors. */
.cap-page{padding-bottom:80px}
.cap-hero{padding:78px 0 45px;border-bottom:1px solid var(--line,#20303b)}
.cap-hero h1{font-size:clamp(42px,5.5vw,76px);line-height:1.06;letter-spacing:-.04em;max-width:900px;margin:18px 0 25px}
.cap-hero h1 em{color:var(--accent,#dfb572);font-style:normal}
.cap-hero .lead{max-width:860px}
.cap-nav{display:flex;flex-wrap:wrap;gap:12px 28px;margin-top:30px}
.cap-nav a{padding:7px 0;border-bottom:1px solid #987a4f55;font-size:14px;color:var(--dim,#acb7c3);line-height:1.5;transition:color .15s,border-color .15s}
.cap-nav a:hover{color:var(--accent,#dfb572);border-color:var(--accent,#dfb572)}
.cap-group{padding:52px 0 0;scroll-margin-top:125px}
.cap-group-head{display:flex;gap:28px;justify-content:space-between;align-items:end;margin-bottom:8px}
.cap-group-head h2{font-size:clamp(25px,3vw,36px);margin:0;letter-spacing:-.02em}
.cap-group-head p{max-width:560px;margin:0;color:var(--dim,#acb7c3);font-size:15px;line-height:1.7}
.cap-tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:44px;row-gap:0;list-style:none;margin:0;padding:0}
.cap-tool{min-width:0;min-height:0;padding:22px 0 21px;background:none;border:0;border-bottom:1px solid #9bb5c41f;border-radius:0}
.cap-tool-head{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:44px}
.cap-tool-head>div{order:1;min-width:0}
.cap-tool h3{font-size:19px;font-weight:600;line-height:1.35;margin:0 0 4px;color:var(--text,#f1f4f7);overflow-wrap:break-word}
.cap-tool p{font-size:14px;line-height:1.6;color:var(--dim,#acb7c3);margin:10px 0 0;max-width:530px}
.cap-experience{font-size:12px;line-height:1.5;text-transform:none;letter-spacing:.015em;color:var(--accent,#dfb572)}
.cap-tool .cap-source{font-size:11px;margin-top:8px}.cap-source a{color:#96b9cd;text-decoration:underline;text-underline-offset:3px}
.cap-tool-head .tool-logo-holder{order:2;display:flex;align-items:center;justify-content:center;width:34px;height:30px;padding:0;margin-right:2px;flex:0 0 34px;border:0;border-radius:0;background:none}
.cap-tool-head .tool-logo-holder:has(img[src$="okta.svg"]),.cap-tool-head .tool-logo-holder:has(img[src$="auth0-white.svg"]),.cap-tool-head .tool-logo-holder:has(img[src$="fastly-white.svg"]){width:64px;flex-basis:64px}
.cap-tool-head .tool-logo-holder.logo-light,.cap-tool-head .tool-logo-holder.logo-dark{background:none;border:0}
.cap-tool-head .tool-logo-holder img{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain}.cap-practice-head{margin:34px 0 8px}
.cap-practice-head h3{font-size:22px;font-weight:500;margin:0 0 8px}
.cap-practice-head p{margin:0;color:var(--dim,#acb7c3);font-size:14px;line-height:1.6}
.cap-legend{border-top:1px solid var(--line,#20303b);margin-top:55px;padding-top:30px}
.cap-legend h2{font-size:24px;margin:0 0 22px}
.cap-legend dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 44px;margin:0}
.cap-legend dt{font-size:15px;font-weight:600;color:var(--text,#f1f4f7)}
.cap-legend dd{margin:7px 0 0;color:var(--dim,#acb7c3);font-size:14px;line-height:1.6}
.cap-cta{margin-top:48px;padding:28px 0;border-top:1px solid var(--line,#20303b);display:flex;align-items:center;justify-content:space-between;gap:24px}
.cap-cta h2{font-size:26px;line-height:1.3;margin:0 0 9px}
.cap-cta p{color:var(--dim,#acb7c3);margin:0;font-size:15px}
.cap-work-link{margin-top:24px;font-size:14px}
.tooling-strip{padding:30px 0;border-top:1px solid var(--line,#20303b);border-bottom:1px solid var(--line,#20303b)}
.tooling-strip-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:17px}
.tooling-strip-head p{margin:0;color:var(--dim,#acb7c3);font-size:13px}
.tooling-strip-head a{font-size:13px;white-space:nowrap;color:var(--accent,#dfb572)}
.tooling-chips{list-style:none;display:flex;flex-wrap:wrap;gap:16px 28px;margin:0;padding:0}
.tool-chip{display:inline-flex;align-items:center;gap:9px;padding:10px 0;border:0;border-bottom:1px solid #9bb5c41f;background:none;border-radius:0;color:var(--text,#f1f4f7);font-size:14px}
.tool-chip .tool-logo-holder{width:26px;height:24px;flex:0 0 26px;padding:0;background:none!important;border:0}
.tool-chip .tool-logo-holder img{width:100%;height:100%;object-fit:contain}
.cap-nav a:focus-visible,.tooling-strip a:focus-visible{outline:2px solid var(--accent,#dfb572);outline-offset:4px}
@media(max-width:950px){
  .cap-group-head{display:block}.cap-group-head p{margin-top:12px;max-width:700px}.cap-tools{column-gap:32px}
}
@media(max-width:650px){
  .cap-tools{grid-template-columns:1fr}.cap-tool{padding:20px 0}.cap-tool-head{gap:14px}.cap-tool h3{font-size:18px}
  .cap-legend dl{grid-template-columns:1fr}.cap-cta{display:block}.cap-cta .btn{margin-top:21px}
}
@media(max-width:580px){
  .cap-hero{padding:48px 0 30px}.cap-group{padding-top:38px}.cap-nav{gap:9px 18px}.cap-nav a{font-size:13px}
  .tooling-strip-head{display:block}.tooling-strip-head a{display:inline-block;margin-top:12px}.tooling-chips{gap:9px 20px}
}
