/* Portable practice rail: the home page Expertise carousel (css/styles.css .practice-*) on internal pages.
   Cards use the shared .ml-practice-card recipe from design-system/components.css. */
.expertise-section .section-heading{align-items:end}
.expertise-section .section-heading>div{max-width:620px}
.ml-rail{position:relative;margin-right:calc(50% - 50vw);--rail-gap:20px}
.rail-viewport{overflow:hidden;touch-action:pan-y;cursor:grab}
.rail-viewport.is-dragging{cursor:grabbing}
.rail-track{display:flex;gap:var(--rail-gap);will-change:transform}
.rail-card{flex:0 0 var(--ml-practice-width,700px);width:auto;height:var(--ml-practice-height,410px);user-select:none}
.rail-card .ml-practice-link{display:block;width:100%;height:100%}
.rail-tabs{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:10px;margin-top:50px;width:min(1200px,100%)}
.rail-tabs button{border-top:.5px solid var(--ml-rule,#060e1533);text-align:left;padding:19px 15px 0;font-size:16px;line-height:24px;position:relative;min-height:68px;color:inherit}
.rail-tabs button::before{content:"";position:absolute;left:0;right:0;top:-1px;height:1px;background:var(--ml-text,#060e15);transform:scaleX(0);transform-origin:left;transition:transform .6s var(--ml-ease-editorial,cubic-bezier(.22,1,.36,1))}
.rail-tabs button[aria-selected=true]::before,.rail-tabs button:hover::before{transform:scaleX(1)}
.rail-tabs button[aria-selected=false]{opacity:.65}
.rail-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.page-motion .scroll-canvas .rail-tabs button{border-color:color-mix(in srgb,var(--page-ink) 20%,transparent)}
.page-motion .scroll-canvas .rail-tabs button::before{background:var(--page-ink)}
@media(max-width:1199px){.rail-tabs button{font-size:14px;padding-inline:8px}}
@media(max-width:959px){.rail-tabs{overflow:auto;grid-auto-columns:minmax(160px,1fr);margin-top:30px;padding-bottom:8px;scrollbar-width:thin}}
@media(max-width:639px){.ml-rail{margin-right:0;--rail-gap:12px}.rail-card{flex-basis:100%}.rail-tabs{grid-auto-columns:minmax(145px,1fr);gap:12px;margin-top:30px;width:auto}.rail-tabs button{font-size:13px;line-height:20px;padding-top:14px}}
/* One area: a plain card, not a carousel (28 Sep 2026). */
.ml-rail.is-single .rail-viewport{cursor:auto;touch-action:auto}
@media(prefers-reduced-motion:reduce){.rail-track{transition:none!important}}
