/* v6: a quiet, connected practice map and compact people cards. */
.orbit-section{padding-block:64px;background:#f1f4ed}
.practice-layout{display:grid;grid-template-columns:17.5rem minmax(0,1fr);gap:0 34px;align-items:center}
.practice-intro{align-self:center;padding-bottom:22px}
.practice-intro .eyebrow{font-size:.75rem;letter-spacing:.12em;margin-bottom:22px}
.practice-intro h2{font-size:clamp(2.1rem,2.7vw,2.8rem);line-height:1.12;margin-bottom:24px}
.practice-intro p{font-size:1rem;color:var(--muted);max-width:390px;line-height:1.75}
.practice-layout>.practice-disclaimer{grid-column:1/-1;max-width:860px;margin-top:16px;line-height:1.7}
.orbit-stage{width:100%;max-width:760px;margin-inline:auto;position:relative;isolation:isolate}
.orbit-items{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:start}
.orbit-item{min-width:0;border:1px solid #cbd5c6;border-radius:14px;background:#fffdf8;box-shadow:0 6px 20px #133b2410}
.practice-tile{display:flex;flex-direction:column;justify-content:space-between;gap:12px;aspect-ratio:1;padding:18px;list-style:none;cursor:pointer;border-radius:13px;transition:background .2s,color .2s,box-shadow .2s}
.practice-tile::-webkit-details-marker{display:none}
.practice-tile::marker{content:""}
.orbit-kicker{display:flex;align-items:center;gap:12px;font-size:.75rem;line-height:1;color:var(--bronze);font-variant-numeric:tabular-nums}
.orbit-kicker>span:last-child{height:1px;width:26px;background:#baaa85}
.orbit-name{font-family:var(--sans);font-size:1.0625rem;font-weight:500;line-height:1.35;letter-spacing:-.025em}
.orbit-action{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:.875rem;line-height:1.2;color:var(--bronze)}
.control-glyph{box-sizing:border-box;display:grid;place-items:center;flex:0 0 auto;width:34px;height:34px;padding:0;border:1px solid #b9bba3;border-radius:50%;background:transparent;color:var(--ink);line-height:0;transition:background .2s,color .2s,border-color .2s,transform .2s}
.control-glyph svg,.bio-arrow svg{display:block;flex:none;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.practice-tile:hover,.practice-tile:focus-visible,.orbit-item[open]>.practice-tile{background:#123c2d;color:#fffdf8;box-shadow:0 10px 26px #123c2d1f}
.practice-tile:hover .orbit-kicker,.practice-tile:hover .orbit-action,.practice-tile:focus-visible .orbit-kicker,.practice-tile:focus-visible .orbit-action,.orbit-item[open] .orbit-action,.orbit-item[open] .orbit-kicker{color:#e4c79a}
.practice-tile:hover .control-glyph,.practice-tile:focus-visible .control-glyph,.orbit-item[open] .control-glyph{border-color:#c6b48d;color:#e4c79a;background:#ffffff09}
.orbit-connections,.orbit-hub{display:none}
.orbit-stage.is-orbit{aspect-ratio:1}
.is-orbit .orbit-items{display:contents}
.is-orbit .orbit-item{position:absolute;left:50%;top:50%;width:9.5rem;transform:translate(-50%,-50%);z-index:2}
.is-orbit .practice-tile{padding:15px;gap:10px}
.is-orbit .orbit-name{font-size:1rem;line-height:1.35}
.is-orbit .control-glyph{width:30px;height:30px}
.is-orbit .control-glyph svg{width:16px;height:16px}
.is-orbit .orbit-connections{display:block;position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;fill:none;stroke:#a89169;stroke-width:.85}
.orbit-connections line{opacity:.37}
.orbit-track-line{stroke-dasharray:2 9;stroke-width:1;opacity:.4}
.is-orbit .orbit-hub{display:flex;position:absolute;left:50%;top:50%;width:10.5rem;height:10.5rem;border:1px solid #b5a17e;border-radius:50%;transform:translate(-50%,-50%);z-index:1;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;color:#123c2d;background:#f1f4ed;box-shadow:0 0 0 9px #f1f4ed,0 0 0 10px #c9c6af75}
.orbit-hub img{width:46px;height:46px;border-radius:9px}
.orbit-hub>span{font-family:var(--serif);font-size:1.35rem;line-height:1.2}
.orbit-motion{display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:8px 0;border:0;border-bottom:1px solid #b6bea8;color:var(--ink);background:transparent;font-size:.875rem}
.orbit-motion svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linejoin:round;stroke-linecap:round}
.orbit-motion .motion-play{display:none}
.orbit-motion[aria-pressed="true"] .motion-play{display:block}
.orbit-motion[aria-pressed="true"] .motion-pause{display:none}
.practice-inline{padding:8px 20px 20px;font-size:1rem;line-height:1.75;overflow-wrap:anywhere}
.practice-inline h4,.practice-dialog-body h4{font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:.09em;color:var(--bronze);margin:24px 0 14px}
.orbit-item[open]{grid-column:1/-1}
.orbit-item[open]>.practice-tile{aspect-ratio:auto;min-height:140px}
.orbit-topic{font-size:.875rem;color:var(--bronze);margin-bottom:18px;line-height:1.6}
.orbit-lead{font-family:var(--serif);font-size:1.4rem;line-height:1.5;color:var(--ink)}
.practice-inline ul,.practice-dialog-body ul{padding-left:22px;margin:22px 0 12px}
.practice-inline li,.practice-dialog-body li{padding-left:4px;margin-block:10px}
html.has-practice-dialog{overflow:hidden;scrollbar-gutter:stable}
.practice-dialog{padding:0;width:min(680px,calc(100% - 32px));max-width:none;max-height:calc(100dvh - 48px);border:1px solid #c5b28d;border-radius:18px;color:var(--ink);background:#fffdf8;box-shadow:0 30px 100px #041c1566;overflow:auto;overscroll-behavior:contain}
.practice-dialog:not([open]){display:none}
.practice-dialog::backdrop{background:#071e18ad;backdrop-filter:blur(5px)}
.practice-dialog[open]{animation:practice-appear .22s ease-out}
.practice-dialog-shell{padding:26px 34px 30px}
.practice-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}
.practice-dialog-header .eyebrow{font-size:.75rem;letter-spacing:.11em;margin:0}
.dialog-close{width:44px;height:44px;background:#f0f3ea}
.dialog-close:hover{color:#fffdf8;background:#123c2d;border-color:#123c2d}
.practice-dialog h2{font-size:clamp(1.9rem,4vw,2.8rem);margin-bottom:20px;line-height:1.15}
.practice-dialog h2:focus{outline:none}
.practice-dialog-body{font-size:1rem;color:var(--muted);line-height:1.8}
.practice-dialog-body .law-source{font-size:.875rem;line-height:1.65;overflow-wrap:anywhere}
@keyframes practice-appear{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}

/* Shared, centered disclosure and gallery controls. */
.people-section{padding:46px 0 18px}
.people-section+.people-section{padding-top:42px}
.people-heading{margin-bottom:14px}
.people-heading h2{font-size:2.15rem}
.people-heading .eyebrow{margin-bottom:10px}
.team-coverflow{--card-width:300px}
.coverflow-track{max-width:660px;gap:20px;padding-block:14px 26px}
.team-coverflow.is-enhanced .coverflow-track{max-width:none;gap:20px;padding-block:14px 30px}
.team-coverflow.is-enhanced .person{transform:scale(.9);opacity:.76}
.team-coverflow.is-enhanced .person:hover{transform:scale(.9)}
.team-coverflow.is-enhanced .person.is-centered,.team-coverflow.is-enhanced .person.is-centered:hover{transform:scale(1);box-shadow:0 12px 28px #123c2d16}
.team-coverflow .person{border-radius:14px}
.team-coverflow .person-photo{aspect-ratio:auto;height:132px;background:#eef0e9;border-bottom:1px solid #dde3d7}
.team-coverflow .person-photo img{height:100%;width:100%;object-fit:contain}
.team-coverflow .person-content{padding:20px 22px 16px}
.team-coverflow .person-heading{margin-bottom:12px;min-height:0}
.team-coverflow .person h3{font-size:1.35rem;line-height:1.25;margin-bottom:8px;letter-spacing:-.025em}
.team-coverflow .person-role{font-size:.875rem;line-height:1.5;letter-spacing:0;margin-bottom:12px}
.team-coverflow .person-summary{font-size:1rem;line-height:1.65;margin-bottom:12px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.team-coverflow .person:has(.person-bio[open]) .person-summary{-webkit-line-clamp:unset;display:block}
.team-coverflow .person-experience{font-size:.875rem;line-height:1.6}
.team-coverflow .person-bio summary{min-height:54px;padding:9px 0;font-size:.875rem;gap:12px}
.team-coverflow .bio-arrow{box-sizing:border-box;display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;padding:0;line-height:0;border:1px solid #b1bea8;border-radius:50%;color:#123c2d;background:#f1f5ec;transition:transform .25s,background .25s,color .25s}
.team-coverflow .person-bio summary:hover .bio-arrow,.team-coverflow .person-bio[open] .bio-arrow{color:#e6c99d;background:#123c2d;border-color:#123c2d}
.team-coverflow .person-bio[open] .bio-arrow{transform:rotate(180deg)}
.team-coverflow .bio-full p{font-size:1rem;line-height:1.75;margin-block:10px 16px}
.team-coverflow .person-contact{padding-top:12px;gap:6px 20px}
.team-coverflow .person-contact a{font-size:.875rem;min-height:32px}
.coverflow-controls .round-button{box-sizing:border-box;display:grid;place-items:center;width:42px;height:42px;padding:0;line-height:0;background:#f9fbf6;border:1px solid #aab99f;color:#123c2d}
.coverflow-controls .round-button svg{display:block;width:18px;height:18px;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;fill:none}
.coverflow-controls .round-button:hover:not(:disabled){background:#123c2d;color:#e4c79a}
.coverflow-controls .round-button:disabled{cursor:default}
@media(max-width:1199px){.practice-layout{grid-template-columns:1fr}.practice-intro{padding:0;margin-bottom:12px;max-width:660px}.practice-intro h2{font-size:2.5rem;margin-bottom:18px}.practice-intro p{max-width:620px;margin-bottom:12px}.practice-intro .eyebrow{margin-bottom:18px}.practice-layout>.practice-disclaimer{margin-top:24px}}
@media(max-width:800px){.orbit-section{padding-block:48px}.orbit-items{gap:14px}.practice-tile{padding:18px}.practice-intro{margin-bottom:26px}.team-coverflow{--card-width:285px}.people-heading h2{font-size:1.9rem}}
@media(max-width:600px){.orbit-items{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.practice-tile{padding:16px;min-height:158px}.orbit-name{font-size:1rem;letter-spacing:-.025em}.orbit-action{font-size:.875rem}.orbit-action .control-glyph{width:30px;height:30px}.practice-intro h2{font-size:2.15rem}.practice-dialog-shell{padding:22px}.practice-dialog{max-height:calc(100dvh - 24px);border-radius:14px}.practice-dialog-header{gap:12px;margin-bottom:18px}.practice-dialog-body{line-height:1.75}.orbit-lead{font-size:1.25rem}.people-section{padding-top:34px}.people-section+.people-section{padding-top:30px}.people-heading h2{font-size:1.75rem}.people-heading .eyebrow{max-width:200px;font-size:.75rem;letter-spacing:.07em}.team-coverflow{--card-width:min(78vw,290px)}.team-coverflow.is-enhanced .coverflow-track{gap:16px;padding-bottom:24px}.team-coverflow .person-photo{height:116px}.team-coverflow .person-content{padding:18px}.team-coverflow .person h3{font-size:1.3rem}.coverflow-controls{gap:8px}}
@media(max-width:370px){.practice-tile{padding:13px;gap:9px}.orbit-name{font-size:1rem}.orbit-action .control-glyph{width:28px;height:28px}.people-heading{gap:12px}.people-heading .eyebrow{max-width:160px}.people-heading h2{font-size:1.6rem}.coverflow-controls{gap:6px}.coverflow-controls .round-button{width:40px;height:40px}}
@media(prefers-reduced-motion:reduce){.practice-dialog[open]{animation:none}.practice-tile,.control-glyph,.team-coverflow .bio-arrow{transition:none}.orbit-motion{display:none}}
@media print{.orbit-section{padding:20px 0}.practice-layout{display:block}.orbit-items,.is-orbit .orbit-items{display:block}.orbit-stage.is-orbit{aspect-ratio:auto}.is-orbit .orbit-item{position:static;transform:none;width:auto;margin-bottom:16px;break-inside:avoid}.orbit-hub,.is-orbit .orbit-hub,.orbit-connections,.is-orbit .orbit-connections,.orbit-motion,.practice-dialog{display:none!important}.practice-tile,.is-orbit .practice-tile{aspect-ratio:auto;min-height:0;padding:14px}.team-coverflow .person-summary{display:block;overflow:visible;-webkit-line-clamp:unset}}
