body{background:radial-gradient(ellipse at 12% 0%,rgba(224,153,59,.065),transparent 55%),linear-gradient(145deg,rgba(66,93,106,.025),transparent 60%),var(--paper);background-attachment:fixed}
[data-theme=dark] body{background:radial-gradient(ellipse at 15% 0%,rgba(220,145,64,.065),transparent 55%),linear-gradient(135deg,rgba(54,85,105,.10),transparent 65%),var(--paper);background-attachment:fixed}
[data-theme=light] .identity-back{background:#fff}
[data-theme=light] .identity-back img{filter:invert(1)}
[data-icon]{display:inline-flex;vertical-align:middle;flex-shrink:0}
[data-icon] svg{width:21px;height:21px}
.practice h2{display:flex;align-items:center;gap:.65rem}
.research-toc{display:block}.research-toc ol{display:flex;flex-wrap:wrap;gap:.75rem}.research-toc .section-label{margin-bottom:1rem}.research-toc a{border:1px solid var(--line);padding:.6rem 1rem;border-radius:6px;gap:.65rem;transition:background .2s,color .2s}.research-toc a:hover{background:var(--raised)}
/* Keep the active-link scale/glow out of a scroll container. */
.research-rail{position:fixed!important;top:50%!important;transform:translateY(-50%);width:170px;padding:.5rem!important;max-height:none;overflow:visible}
.research-rail[hidden]{display:none!important}
.research-rail a{transition:color .2s,transform .2s,text-shadow .2s}
.research-rail a[aria-current=location]{transform:scale(1.045);transform-origin:left center;color:var(--accent);text-shadow:0 0 16px color-mix(in srgb,var(--accent) 55%,transparent);border-left-color:var(--accent);background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 8%,transparent),transparent)}
.project-path{margin-top:3rem;padding-top:2rem;border-top:1px solid var(--line)}
.stage-layout{display:grid;grid-template-columns:190px minmax(0,1fr);gap:2rem}
.stage-picker{display:flex;flex-direction:column;gap:.5rem}
.stage-picker button{font:inherit;text-align:left;min-height:44px;background:transparent;color:var(--soft);border:1px solid var(--line);border-radius:5px;padding:.6rem;cursor:pointer}
.stage-picker button[aria-pressed=true]{color:var(--ink);border-color:var(--accent);background:var(--raised)}
.stage-timeline{list-style:none;padding:0 0 0 1rem}
.stage-timeline li{position:relative;border-left:2px solid var(--line);padding:0 0 1.5rem 1.25rem;color:var(--soft)}
.stage-timeline li:before{content:'';position:absolute;left:-6px;top:5px;width:10px;height:10px;background:var(--line);border-radius:50%}
.stage-timeline li.is-current{color:var(--accent);font-weight:600}.stage-timeline li.is-current:before{background:var(--accent);box-shadow:0 0 14px var(--accent)}
.stage-detail h4{margin:0}.stage-detail{padding:1rem;border-top:1px solid var(--line)}
.results-layout{display:grid;grid-template-columns:minmax(140px,.6fr) minmax(0,1.4fr);gap:2rem;align-items:center}
.results-layout figure{margin:0}.results-layout img{width:100%;height:auto;display:block}
.company-logo-link{display:inline-flex;align-items:center;justify-content:center;padding:1rem;border:1px solid var(--line);border-radius:8px;transition:transform .2s,box-shadow .2s;min-width:180px}
.company-logo-link:hover,.company-logo-link:focus-visible{transform:scale(1.04);box-shadow:0 0 24px color-mix(in srgb,var(--accent) 25%,transparent)}
.company-logo-link img{max-width:220px;max-height:100px;object-fit:contain}
.company-media{margin:1.5rem 0 0;min-height:160px;border:1px dashed var(--line);display:grid;place-items:center;padding:1rem;grid-column:1/-1}
.company-media img,.company-media video{max-width:100%;height:auto;max-height:440px;object-fit:contain}.company-media:has(img:not([hidden]),video:not([hidden])){border:0}
@media(max-width:1000px){.research-rail{width:150px}}
@media(max-width:650px){.stage-layout,.results-layout{grid-template-columns:1fr}.stage-picker{flex-direction:row;flex-wrap:wrap}.stage-picker button{flex:1 1 45%}.research-rail-track{position:static}.research-rail{position:fixed!important;top:auto!important;bottom:0;left:0;width:100%;transform:none;background:var(--paper);border-top:1px solid var(--line);padding:.5rem 1rem!important;z-index:10}.research-rail ol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.25rem .75rem;overflow:visible}.research-rail p{margin:0}.research-rail a[aria-current=location]{transform:none}.research-page{padding-bottom:10rem}}
/* Short desktop windows use the document's scroll, never a nested scrollbar. */
@media(min-width:651px) and (max-height:480px){.research-rail{position:sticky!important;top:1rem!important;transform:none}}
@media(prefers-reduced-motion:reduce){.company-logo-link:hover,.research-rail a[aria-current=location]{transform:none}}
