.practice-gallery{background:#fff}
.practice-gallery__intro{max-width:690px;margin:0 0 38px}
.practice-gallery__intro h2{margin-bottom:14px}
.practice-gallery__intro>p:not(.eyebrow):not(.practice-gallery__count){color:var(--muted);max-width:62ch}
.practice-gallery__count{margin:26px 0 0;color:var(--ocean);font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase}
.practice-gallery__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:start}
.practice-gallery__item{position:relative;display:block;min-width:0;padding:9px;border:1px solid var(--line);border-radius:16px;background:var(--cream);color:var(--ink);text-decoration:none;overflow:hidden;transition:border-color .18s,box-shadow .18s,transform .18s}
.practice-gallery__item:hover{color:var(--ink);border-color:#93b7cd;box-shadow:0 12px 28px #23465d14;transform:translateY(-2px)}
.practice-gallery__item:focus-visible,.practice-gallery-feature__link:focus-visible{outline:3px solid #fff;outline-offset:3px;box-shadow:0 0 0 9px var(--navy)}
.practice-gallery__item img{width:100%;height:auto;max-height:none;object-fit:contain;background:#fff;border-radius:10px}
.practice-gallery__number{display:block;padding:9px 5px 1px;color:var(--muted);font-size:10px;font-weight:500;letter-spacing:.08em;line-height:1.5;text-align:center;text-transform:uppercase}
.practice-gallery__dialog{width:min(1180px,calc(100% - 32px));max-width:none;max-height:calc(100% - 32px);padding:0;border:0;border-radius:18px;background:var(--ink,#23465d);color:#fff;box-shadow:0 24px 80px #17384ecc}
.practice-gallery__dialog::backdrop{background:#17384eb8;backdrop-filter:blur(3px)}
.practice-gallery__dialog-shell{display:grid;grid-template-rows:auto minmax(0,1fr) auto;max-height:calc(100vh - 32px);min-height:260px}
.practice-gallery__dialog-bar,.practice-gallery__dialog-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 22px}
.practice-gallery__dialog-bar{border-bottom:1px solid #b9d7eb33}
.practice-gallery__dialog-bar h2{margin:0;color:#fff;font-size:18px;letter-spacing:-.02em}
.practice-gallery__close,.practice-gallery__control{border:1px solid #bed8e955;background:#ffffff12;color:#fff;cursor:pointer}
.practice-gallery__close{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;font-size:25px;line-height:1}
.practice-gallery__close:hover,.practice-gallery__control:hover{background:#ffffff2b}
.practice-gallery__dialog-content{display:grid;grid-template-columns:56px minmax(0,1fr) 56px;align-items:center;justify-items:center;gap:18px;min-height:0;padding:22px}
.practice-gallery__lightbox-image{display:block;width:auto;max-width:100%;height:auto;max-height:calc(100vh - 190px);object-fit:contain}
.practice-gallery__control{width:44px;height:44px;border-radius:50%;font-size:23px;line-height:1}
.practice-gallery__dialog-footer{border-top:1px solid #b9d7eb33;color:#dfedf6;font-size:11px}
.practice-gallery__dialog-note{color:#c5deed;text-align:right}
.practice-gallery-feature{padding:72px 0;background:var(--sky)}
.practice-gallery-feature__inner{width:min(1180px,calc(100% - 64px));margin:0 auto}
.practice-gallery-feature__heading{max-width:600px;margin-bottom:27px}
.practice-gallery-feature__heading h2{margin-bottom:0}
.practice-gallery-feature__strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;align-items:start}
.practice-gallery-feature__link{display:block;min-width:0;border:1px solid var(--line);border-radius:13px;background:#fff;padding:6px;text-decoration:none;overflow:hidden;transition:border-color .18s,box-shadow .18s,transform .18s}
.practice-gallery-feature__link:hover{border-color:#93b7cd;box-shadow:0 10px 22px #23465d12;transform:translateY(-2px)}
.practice-gallery-feature__image{width:100%;height:auto;object-fit:contain;background:var(--cream);border-radius:8px}
.practice-gallery-feature__cta{margin-top:27px}
@media(max-width:1000px){.practice-gallery__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.practice-gallery-feature__strip{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.practice-gallery__grid{grid-template-columns:1fr;gap:18px}.practice-gallery__item{padding:7px}.practice-gallery__number{font-size:9px}.practice-gallery__dialog{width:calc(100% - 20px);max-height:calc(100% - 20px)}.practice-gallery__dialog-shell{max-height:calc(100vh - 20px)}.practice-gallery__dialog-content{grid-template-columns:40px minmax(0,1fr) 40px;gap:7px;padding:13px 8px}.practice-gallery__lightbox-image{max-height:calc(100vh - 170px)}.practice-gallery__control{width:36px;height:36px;font-size:19px}.practice-gallery__dialog-bar,.practice-gallery__dialog-footer{padding:13px 15px}.practice-gallery__dialog-footer{align-items:flex-start;flex-direction:column;gap:4px}.practice-gallery__dialog-note{text-align:left}.practice-gallery-feature{padding:54px 0}.practice-gallery-feature__inner{width:calc(100% - 38px)}.practice-gallery-feature__strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.practice-gallery-feature__link:nth-child(n+5){display:none}}
@media(max-width:380px){.practice-gallery__dialog-content{grid-template-columns:34px minmax(0,1fr) 34px;padding-left:3px;padding-right:3px}.practice-gallery__control{width:32px;height:32px;font-size:16px}}
@media(prefers-reduced-motion:reduce){.practice-gallery__item,.practice-gallery-feature__link{transition:none}}
.home-hero .slide-gallery-team{object-fit:contain;background:var(--sea)}
