/* A short homepage invitation and the separate practice directory. */
.practice-teaser{background:var(--warm);padding-block:59px 62px}
.practice-teaser-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:80px;align-items:center}
.practice-teaser .overline{margin-bottom:18px}
.law-page .practice-teaser h2{font-size:clamp(39px,3.8vw,57px);line-height:1.08}
.practice-teaser-copy{max-width:470px}
.practice-teaser-copy>p{font-size:13px;color:#52606a;line-height:1.95}
.practice-teaser .line-link{margin-top:23px;font-size:12px;gap:30px;color:var(--ink)}
.catalogue-page{color-scheme:light}
.catalogue-page .law-navigation>a[aria-current=page]{color:#8b5c3d}
.catalogue-hero{background:var(--warm);padding-block:28px 61px;border-bottom:1px solid var(--rule)}
.catalogue-breadcrumb{display:flex;flex-wrap:wrap;gap:13px;align-items:center;font-size:10px;line-height:1.8;color:#52636d;margin-bottom:44px}
.catalogue-breadcrumb>span[aria-hidden]{color:#a69b8d}
.catalogue-hero .overline{margin-bottom:22px}
.catalogue-hero-layout{display:grid;grid-template-columns:1.35fr 1fr;gap:80px;align-items:end}
.catalogue-page .catalogue-hero h1{font-size:clamp(64px,6.4vw,96px);line-height:1.05;margin:0 0 19px;letter-spacing:-.025em}
.catalogue-page .catalogue-headline{font:400 clamp(28px,2.9vw,43px)/1.15 'Caslon Display',Georgia,serif;letter-spacing:-.02em;margin:0}
.catalogue-page .catalogue-intro{font-size:14px;line-height:1.95;color:#52606a;max-width:435px;margin:0 0 3px}
.catalogue-content{padding-block:51px 72px}
.catalogue-page .catalogue-content>h2{font-size:34px;line-height:1.2;margin:0 0 11px}
.catalogue-help{font-size:12px;color:#52606a}
.catalogue-content .practice-filters{margin-top:25px}
.catalogue-content .practice-tools{margin-top:26px}
/* Opposite corner cuts echo the site's diagonal; the inner layer draws a true contour. */
.catalogue-content .practice-search{--control-cut:10px;--control-shape:polygon(var(--control-cut) 0,100% 0,100% calc(100% - var(--control-cut)),calc(100% - var(--control-cut)) 100%,0 100%,0 var(--control-cut))}
.catalogue-content .practice-search>.practice-search-field{position:relative;display:block;margin:0;padding:1px;background:#9ca9b0;clip-path:var(--control-shape);isolation:isolate}
.practice-search-field:before{content:'';position:absolute;inset:1px;--control-cut:9.414px;clip-path:polygon(var(--control-cut) 0,100% 0,100% calc(100% - var(--control-cut)),calc(100% - var(--control-cut)) 100%,0 100%,0 var(--control-cut));background:#fff;z-index:-1}
.catalogue-content .practice-search input{min-height:48px;padding-left:47px;background:transparent;border:0}
.practice-search-icon{position:absolute;left:17px;top:15px;width:20px;height:20px;fill:none;stroke:#193247;stroke-width:1.6;stroke-linecap:round;pointer-events:none}
.catalogue-content .practice-search-field:hover{background:#617682}
.catalogue-content .practice-search-field:focus-within{background:#966345}
.practice-search-field:focus-within:before{inset:3px;--control-cut:8.243px}
.catalogue-content .practice-search input:focus-visible{outline:none}
/* One practice per row; a shared title axis and a comfortable reading column. */
.catalogue-content .practice-grid{display:block;margin-top:39px;border-top:1px solid #cbd1d0}
.catalogue-content .practice{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.28fr);gap:64px;align-items:start;padding:43px 0 45px;border-bottom:1px solid #d5d9d5}
.practice-heading{display:grid;grid-template-columns:70px minmax(0,1fr);gap:24px;align-items:start}
.practice-heading .practice-icon{display:block;width:70px;height:70px;max-width:none;margin-top:-5px;object-fit:contain}
.practice-heading-copy{min-width:0}
.catalogue-page .practice-heading h3{font-size:clamp(29px,2.7vw,39px);line-height:1.13;letter-spacing:-.018em;margin:0 0 13px;overflow-wrap:normal;hyphens:auto}
.catalogue-page .practice-heading .practice-caption{font-size:11px;line-height:1.8;color:#687982;max-width:310px;margin:0}
.catalogue-content .practice-body{padding:0;min-width:0;color:#4b606c;font-size:14px;line-height:1.9}
.catalogue-content .practice-description{margin:0;max-width:650px}
.catalogue-content .practice-topics{font-size:11px;line-height:1.85;gap:7px 18px;margin:19px 0 8px}
.catalogue-content .practice-topics li{border:0;padding:0;display:inline-flex;gap:8px;align-items:baseline}
.catalogue-content .practice-topics li:before{content:'';display:block;align-self:center;width:3px;height:3px;flex:none;border-radius:50%;background:#9aabae}
.catalogue-content .practice-topics a{border-bottom:1px solid #c3c9c9}
.catalogue-content .practice-body>.text-link{margin-top:13px;font-size:12px;gap:30px}
.catalogue-content .practice-body>.practice-detail-cta{max-width:460px;margin-bottom:21px}
.catalogue-content .practice-overview-footer{border-top:0;margin-top:10px}
@media(prefers-reduced-motion:no-preference){
  .practice-icon{transition:transform .45s cubic-bezier(.2,.7,.2,1)}.practice:focus-within .practice-icon{transform:translate3d(0,-3px,0)}
}
.practice-body .practice-detail-cta{--control-cut:10px;--control-shape:polygon(var(--control-cut) 0,100% 0,100% calc(100% - var(--control-cut)),calc(100% - var(--control-cut)) 100%,0 100%,0 var(--control-cut));--button-face:#193247;position:relative;isolation:isolate;clip-path:var(--control-shape);display:flex;align-items:center;justify-content:space-between;gap:22px;width:100%;box-sizing:border-box;margin:23px 0 22px;padding:18px 21px;background:var(--button-face);color:#fff;border:1px solid transparent;text-decoration:none;min-height:76px;transition:background .2s}
.practice-detail-cta strong{display:block;font-size:15px;font-weight:600;line-height:1.5}
.practice-detail-cta>span>span{display:block;font-size:11px;line-height:1.6;margin-top:4px;color:#d9e2e7}
.practice-body .practice-detail-cta:focus-visible{background:#b77d53;outline:none}
.practice-detail-cta:focus-visible:before{content:'';position:absolute;inset:2px;--control-cut:8.243px;clip-path:polygon(var(--control-cut) 0,100% 0,100% calc(100% - var(--control-cut)),calc(100% - var(--control-cut)) 100%,0 100%,0 var(--control-cut));background:var(--button-face);z-index:-1}
.catalogue-page.high-contrast .practice-detail-cta{--button-face:#071b2b;color:#fff}
.catalogue-page.high-contrast .practice-detail-cta span{color:#fff}
.catalogue-page.high-contrast .practice-search-field{background:#071b2b}
.catalogue-page.high-contrast .practice-search-field:focus-within{background:#966345}
@media(forced-colors:active){.catalogue-content .practice-search-field,.practice-body .practice-detail-cta{clip-path:none;border:1px solid ButtonText}.practice-search-field:before,.practice-detail-cta:before{display:none}.catalogue-content .practice-search input:focus-visible,.practice-body .practice-detail-cta:focus-visible{outline:2px solid Highlight;outline-offset:-4px}.practice-search-icon{stroke:CanvasText}}
.catalogue-page.high-contrast .catalogue-intro,.law-page.high-contrast .practice-teaser-copy>p{color:inherit}
@media(max-width:950px){
  .catalogue-content .practice{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:36px;padding-block:36px}
  .practice-heading{grid-template-columns:56px minmax(0,1fr);gap:18px}
  .practice-heading .practice-icon{width:56px;height:56px;margin-top:-2px}
  .catalogue-page .practice-heading h3{font-size:30px}
  .catalogue-content .practice-body{font-size:13px}
  .practice-teaser-layout,.catalogue-hero-layout{gap:35px}
  .catalogue-hero-layout{grid-template-columns:1.2fr 1fr}
  .catalogue-page .catalogue-hero h1{font-size:65px}
  .catalogue-page .catalogue-intro{font-size:12px}
}
@media(max-width:760px){
  .catalogue-content .practice-grid{margin-top:25px}
  .catalogue-content .practice{display:block;padding:31px 0 34px}
  .practice-heading{grid-template-columns:54px minmax(0,1fr);gap:17px;margin-bottom:21px}
  .practice-heading .practice-icon{width:54px;height:54px;margin-top:0}
  .catalogue-page .practice-heading h3{font-size:30px;margin-bottom:9px;line-height:1.13}
  .catalogue-page .practice-heading .practice-caption{font-size:10px;line-height:1.8;max-width:none}
  .catalogue-content .practice-body{font-size:13px;line-height:1.9}
  .catalogue-content .practice-topics{font-size:10px;gap:7px 14px}
  .practice-teaser{padding-block:41px 43px}
  .practice-teaser-layout,.catalogue-hero-layout{grid-template-columns:1fr;gap:23px}
  .practice-teaser-copy{max-width:520px}
  .practice-teaser .overline{margin-bottom:17px}
  .law-page .practice-teaser h2{font-size:43px}
  .practice-teaser-copy>p{font-size:12px}
  .practice-teaser .line-link{font-size:11px;margin-top:21px;gap:23px}
  .catalogue-hero{padding-block:22px 38px}
  .catalogue-breadcrumb{font-size:9px;margin-bottom:32px}
  .catalogue-hero .overline{font-size:9px;margin-bottom:17px}
  .catalogue-page .catalogue-hero h1{font-size:clamp(49px,10.8vw,73px);margin-bottom:16px}
  .catalogue-page .catalogue-headline{font-size:31px}
  .catalogue-page .catalogue-intro{font-size:12px;max-width:520px}
  .catalogue-content{padding-block:34px 46px}
  .catalogue-page .catalogue-content>h2{font-size:30px;max-width:420px}
  .catalogue-help{font-size:11px;max-width:380px}
  .catalogue-content .practice-filters{margin-top:20px}
  .practice-body .practice-detail-cta{padding:16px;gap:13px;margin-top:21px}
  .practice-detail-cta strong{font-size:13px}
  .practice-detail-cta>span>span{font-size:10px}
}
@media(max-width:390px){
  .practice-heading{grid-template-columns:48px minmax(0,1fr);gap:14px}
  .practice-heading .practice-icon{width:48px;height:48px}
  .catalogue-page .practice-heading h3{font-size:27px}
  .law-page .practice-teaser h2{font-size:39px}
  .catalogue-page .catalogue-headline{font-size:28px}
}
