a,button{transition:color .22s ease,background-color .22s ease,border-color .22s ease,transform .22s ease,box-shadow .22s ease}
.btn.text span,.practice-card>span,.team-member b,.knowledge-list b{display:inline-block;transition:transform .22s ease}
.btn.text:hover span,.practice-card:hover>span,.team-member:hover b,.knowledge-list a:hover b{transform:translateX(6px)}
.practice-card:hover{background:var(--charcoal);color:#fff;transform:translateY(-3px);box-shadow:0 18px 44px rgba(20,18,16,.12)}
.practice-card:hover p{color:#c8c5c0}.lawyer-tile:hover,.team-member:hover{transform:translateY(-5px);box-shadow:0 20px 45px rgba(25,20,18,.11)}
.team-member{padding:12px 12px 22px;border:1px solid transparent!important;border-radius:6px;background:#fff}
.team-member:hover{border-color:var(--red)!important}
.team-member figure{margin-bottom:18px}.team-member>span,.team-member>h3,.team-member>b{margin-left:8px;margin-right:8px}.team-member>b{margin-top:12px}
.lawyer-tile img,.team-member img{transition:transform .4s ease}.lawyer-tile:hover img,.team-member:hover img{transform:scale(1.025)}
.team-member:hover h3,.knowledge-list a:hover h3,.sidebox a:not(.cta):hover{color:var(--red)}
.lawyer-match>.lawyer-card[hidden]{display:none!important}
.question-list button:hover{color:var(--red);background:rgba(143,32,37,.035)}
.lawyer-match>.lawyer-card figure{height:520px;min-height:520px;overflow:hidden;align-self:start}
.lawyer-match>.lawyer-card figure img{width:100%;height:100%;object-fit:cover;object-position:top center}
@media(max-width:1100px) and (min-width:641px){.lawyer-match>.lawyer-card figure{height:460px;min-height:460px}}
@media(prefers-reduced-motion:reduce){a,button,.btn.text span,.practice-card>span,.team-member b,.knowledge-list b,.lawyer-tile img,.team-member img{transition:none!important}.practice-card:hover,.lawyer-tile:hover,.team-member:hover{transform:none}}
@media(max-width:640px){.team-member{padding:8px 8px 16px}.team-member>span,.team-member>h3,.team-member>b{margin-left:5px;margin-right:5px}.lawyer-match>.lawyer-card figure{height:380px;min-height:380px}}

/* Selected matters: present the judgment as a recognisable A4 document. */
.case-visual{grid-template-columns:minmax(0,1fr);align-items:stretch}
.case-visual img{width:100%;height:auto;aspect-ratio:210/297;object-fit:cover;object-position:center;border:1px solid rgba(22,22,22,.12);box-shadow:0 14px 30px rgba(34,28,24,.14)}
.case-summary{min-width:0;background:#ebe5dc;padding:28px 32px;border-radius:var(--radius);display:flex;flex-direction:column;justify-content:center;text-align:left}
.case-summary .case-identity{width:100%;margin:0;border:0}.case-summary .case-identity div{display:block;border:0}.case-summary .case-identity div+div{margin-top:20px}.case-summary .case-identity dt,.case-summary .case-identity dd{margin:0;padding:0;text-align:left;border:0;background:transparent}.case-summary .case-identity dt{color:var(--red);font-weight:700}.case-summary .case-identity dd{margin-top:5px}
.case-summary blockquote{min-width:0;margin:24px 0 0;padding:22px 0 0!important;background:transparent;border-top:1px solid rgba(22,22,22,.15);display:block;text-align:left}
@media(min-width:1101px){.case-visual img{height:255px;aspect-ratio:210/297}}
@media(max-width:1100px){.case-visual{grid-template-columns:minmax(230px,.75fr) minmax(0,1.25fr)}.case-visual img{max-height:360px}}
@media(max-width:640px){.case-visual{grid-template-columns:1fr}.case-visual img{width:min(100%,320px);max-height:none;justify-self:center}.case-summary{padding:22px 18px}.case-summary blockquote{min-height:auto}}
.case-owner{display:flex;align-items:center;flex-wrap:nowrap;gap:14px}.case-owner span,.case-owner strong,.case-owner a{white-space:nowrap}.case-owner a{margin-left:auto}
@media(max-width:640px){.case-owner{display:flex;gap:10px}.case-owner span{display:inline}.case-owner a{margin-left:auto;grid-column:auto}}

/* Homepage selected matters: five headline cases controlled by the CMS. */
.case-showcase{display:grid;grid-template-columns:minmax(190px,220px) minmax(0,1fr);gap:18px;min-width:0;align-items:stretch}
.case-switcher{display:flex;flex-direction:column;min-width:0;border-top:1px solid rgba(255,255,255,.18)}
.case-switcher button{appearance:none;width:100%;min-width:0;padding:10px 13px 9px;border:0;border-bottom:1px solid rgba(255,255,255,.18);border-radius:0;background:transparent;color:#fff;text-align:left;cursor:pointer;display:grid;grid-template-columns:34px minmax(0,1fr);column-gap:9px;align-items:start}
.case-switcher button>span{grid-row:1/3;color:#d7a8aa;font:600 12px/1.5 Arial,sans-serif;letter-spacing:.08em}
.case-switcher button>strong{overflow:hidden;color:#fff;font-size:14px;line-height:1.45;font-weight:600;white-space:nowrap;text-overflow:ellipsis}
.case-switcher button>small{display:-webkit-box;overflow:hidden;margin-top:3px;color:rgba(255,255,255,.58);font-size:12px;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.case-switcher button:hover,.case-switcher button.is-active{background:var(--red);border-bottom-color:var(--red)}
.case-switcher button:hover>span,.case-switcher button.is-active>span,.case-switcher button:hover>small,.case-switcher button.is-active>small{color:rgba(255,255,255,.82)}
.case-panels{min-width:0}
.case-panel{display:none;height:100%;min-width:0}
.case-panel.is-active{display:block;animation:case-panel-in .28s ease both}
.case-panel[hidden]{display:none!important}
.case-panel .case-summary{padding:22px 26px}
.case-panel .case-summary blockquote{margin-top:16px;padding-top:16px!important}
.case-panel .case-logic{margin-top:18px}
.case-panel .case-owner{margin-top:16px}
@keyframes case-panel-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
@media(max-width:1100px){.case-showcase{grid-template-columns:1fr}.case-switcher{flex-direction:row;overflow-x:auto;scroll-snap-type:x proximity;border-top:0;padding-bottom:4px;scrollbar-width:thin}.case-switcher button{flex:0 0 min(270px,72vw);scroll-snap-align:start;border-top:1px solid rgba(255,255,255,.18);border-right:1px solid rgba(255,255,255,.18)}}
@media(max-width:640px){.case-showcase{gap:12px}.case-switcher button{padding:12px;flex-basis:min(245px,82vw)}.case-panel .case-summary{padding:19px 16px}.case-panel .case-owner{gap:8px;overflow-x:auto}.case-panel .case-owner a{margin-left:12px}}
@media(prefers-reduced-motion:reduce){.case-panel.is-active{animation:none}}

/* Keep the case directory stable while variable-length case details flow normally. */
@media(min-width:1101px){
  .case-file{height:auto;min-height:100vh;align-items:center;overflow:visible}
  .case-showcase{min-height:calc(100vh - 84px);align-items:center}
  .case-switcher{position:static;top:auto;align-self:center;height:max-content}
  .case-panels{align-self:center}
  .case-panel{height:auto}
  .case-panel.is-active{min-height:0}
}
