/* Solutions · engagement index. The six engagements are the navigation; the right side answers.
   Typographic: hairlines only, no card, no pills (pills return on small screens for touch). */
.firms-next .sx-uses{padding-top:var(--cf-gap,var(--pn-section-gap));scroll-margin-top:96px}
.firms-next .sx-head{max-width:860px;margin-bottom:64px}
.firms-next .sx-head h2{font-size:clamp(34px,3.9vw,60px);line-height:1.05;letter-spacing:-.045em;text-wrap:balance}
.firms-next .sx-head>p:not(.pn-eyebrow){margin-top:24px;font-size:clamp(17px,1.4vw,20px);line-height:1.55;letter-spacing:-.012em;color:#4f504b;max-width:52ch;text-wrap:pretty}
.firms-next .sx-explorer{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,6vw,104px);align-items:start}
.firms-next .sx-tabs{display:flex;flex-direction:column;counter-reset:sx}
.firms-next .sx-tabs button{counter-increment:sx;display:flex;align-items:baseline;gap:20px;min-height:40px;padding:11px 0;border:0;background:none;text-align:left;font-size:clamp(22px,2.3vw,34px);font-weight:500;line-height:1.14;letter-spacing:-.035em;color:#aeaba3;cursor:pointer;transition:color 250ms ease-out,transform 400ms cubic-bezier(.25,.46,.45,.94)}
.firms-next .sx-tabs button::before{content:counter(sx,decimal-leading-zero);flex:none;font-size:12px;font-weight:400;letter-spacing:0;font-variant-numeric:tabular-nums;color:#aeaba3;transition:color 250ms ease-out}
.firms-next .sx-tabs button[aria-selected=true]{color:var(--pn-ink);transform:translateX(8px)}
.firms-next .sx-tabs button[aria-selected=true]::before{color:var(--pn-ink)}
@media(hover:hover){.firms-next .sx-tabs button:not([aria-selected=true]):hover{color:#6c6d67}}
.firms-next .sx-stage{display:grid;padding-top:16px}
.firms-next .sx-panel{grid-area:1/1;opacity:0;visibility:hidden;transition:opacity 160ms ease-out,visibility 0s 160ms}
.firms-next .sx-panel.is-on{opacity:1;visibility:visible;transition:opacity 240ms ease-out}
.firms-next .sx-q{margin:0;padding-bottom:20px;font-size:15px;line-height:1.5;color:#6c6d67}
.firms-next .sx-panel ol{list-style:none;margin:0;padding:0}
.firms-next .sx-panel li{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:24px 0;border-top:1px solid #e4e1da}
.firms-next .sx-panel li p{margin:0;font-size:clamp(20px,1.9vw,27px);line-height:1.2;letter-spacing:-.03em;text-wrap:balance}
.firms-next .sx-panel li strong{font-weight:500;color:var(--pn-ink)}
.firms-next .sx-panel li span{color:#a09f98}
.firms-next .sx-panel li a{position:relative;display:inline-flex;align-items:center;gap:6px;font-size:13px;color:#6c6d67;transition:color 180ms ease-out,gap 250ms cubic-bezier(.25,.46,.45,.94)}
.firms-next .sx-panel li a::before{content:"";position:absolute;inset:-12px -8px}
.firms-next .sx-panel li a::after{content:"→";font-size:14px;line-height:1}
@media(hover:hover){.firms-next .sx-panel li a:hover{color:var(--pn-ink);gap:10px}}
.firms-next .sx-you{margin:0;padding-top:24px;border-top:1px solid #e4e1da;font-size:16px;line-height:1.55;color:#4f504b;max-width:46ch;text-wrap:pretty}
.firms-next .sx-more{margin-top:48px}
@keyframes sx-in{from{opacity:0;transform:translateY(8px);filter:blur(6px)}}
@media(prefers-reduced-motion:no-preference){
 .firms-next .sx-panel.is-on :is(.sx-q,li,.sx-you){animation:sx-in 600ms cubic-bezier(.25,.46,.45,.94) both;animation-delay:calc(40ms + var(--i,-.5) * 70ms)}
 .firms-next .sx-tabs button:active{scale:.98}
}
@media(max-width:900px){
 .firms-next .sx-head{margin-bottom:36px}
 .firms-next .sx-explorer{grid-template-columns:1fr;gap:20px}
 .firms-next .sx-tabs{flex-direction:row;gap:8px;overflow-x:auto;scrollbar-width:none;margin-inline:calc(-1 * var(--pn-gutter));padding:2px var(--pn-gutter)}
 .firms-next .sx-tabs::-webkit-scrollbar{display:none}
 .firms-next .sx-tabs button{flex:none;align-items:center;line-height:1;min-height:42px;padding:0 17px;border-radius:999px;box-shadow:inset 0 0 0 1px var(--pn-line);font-size:14px;letter-spacing:-.01em;color:#6c6d67;white-space:nowrap;transform:none!important}
 .firms-next .sx-tabs button::before{content:none}
 .firms-next .sx-tabs button[aria-selected=true]{background:#302e2b;box-shadow:none;color:#fff}
 .firms-next .sx-stage{padding-top:8px}
 .firms-next .sx-more{margin-top:28px}
}
@media(max-width:760px){.firms-next .sx-head h2{font-size:34px}.firms-next .sx-panel li p{font-size:21px}.firms-next .sx-you{font-size:15px}}
/* v6 · no indent on the selected engagement; no question line, the first point starts level with the list. */
.firms-next .sx-tabs button[aria-selected=true]{transform:none}
.firms-next .sx-q{display:none}
.firms-next .sx-stage{padding-top:0}
.firms-next .sx-panel li:first-child{border-top:0;padding-top:14px}

/* v7 · calmer text: one statement and its capability per row, rows aligned on pairs of engagements; no closing line */
.firms-next .sx-you{display:none}
.firms-next .sx-explorer{--sx-row:calc(clamp(22px,2.3vw,34px) * 1.14 + 22px)}
.firms-next .sx-panel li,.firms-next .sx-panel li:first-child{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;align-content:start;gap:6px 32px;min-height:calc(var(--sx-row) * 2);padding:13px 0 0;border-top:1px solid #e4e1da}
.firms-next .sx-panel li p{font-size:clamp(19px,1.75vw,25px);max-width:24ch}
.firms-next .sx-panel li a{justify-self:end;white-space:nowrap}
.firms-next .sx-panel ol{border-bottom:1px solid #e4e1da}
.firms-next .sx-tabs{border-top:1px solid transparent}
@media(max-width:900px){
 .firms-next .sx-panel li,.firms-next .sx-panel li:first-child{grid-template-columns:1fr;min-height:0;padding:20px 0}
 .firms-next .sx-panel li p{max-width:none}.firms-next .sx-panel li a{justify-self:start}
}
.firms-next .sx-panel li p{max-width:28ch;text-wrap:pretty}
