@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/manrope-400-normal.woff2) format('woff2'), url(fonts/manrope-400-normal.ttf) format('truetype');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/manrope-500-normal.woff2) format('woff2'), url(fonts/manrope-500-normal.ttf) format('truetype');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/manrope-600-normal.woff2) format('woff2'), url(fonts/manrope-600-normal.ttf) format('truetype');
}
@font-face {
  font-family: 'Source Serif 4';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/source-serif-4-400-italic.woff2) format('woff2'), url(fonts/source-serif-4-400-italic.ttf) format('truetype');
}
@font-face {
  font-family: 'Source Serif 4';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/source-serif-4-400-normal.woff2) format('woff2'), url(fonts/source-serif-4-400-normal.ttf) format('truetype');
}
*,::before,::after{box-sizing:border-box;border-width:0;border-style:solid}h1,h2,h3,h4,h5,h6,p,ul,ol,figure{margin:0}ol,ul{list-style:none;padding:0}button,input,select,textarea{font:inherit;color:inherit}button{background:transparent}img,svg{vertical-align:middle}img{height:auto}strong,b{font-weight:600}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

:root {
  --background: #fff; --foreground: #111e32;
  --card: #f4f5f7; --card-foreground: #111e32;
  --popover: #fff; --popover-foreground: #111e32;
  --primary: #111e32; --primary-foreground: #fff;
  --secondary: #eef0f4; --secondary-foreground: #111e32;
  --muted: #f4f5f7; --muted-foreground: #5b6575;
  --accent: #354fde; --accent-foreground: #fff;
  --destructive: #b42318; --border: #d7dce4;
  --input: #d7dce4; --ring: #354fde; --radius: 0;
  --font-sans: "Manrope", Arial, sans-serif;
  --font-serif: "Source Serif 4", Georgia, serif;
}

* { box-sizing: border-box; border-color: var(--border); }
html { scroll-behavior: smooth; scroll-padding-top: 120px; }
body { margin: 0; font-family: var(--font-sans); font-size: 1rem; line-height: 1.65; color: var(--foreground); background: #fff; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
h1,h2,h3,p { margin: 0; overflow-wrap: break-word; }
h1,h2,h3 { text-wrap: balance; }
p,li { text-wrap: pretty; orphans: 2; widows: 2; }
a { color: inherit; text-decoration: none; }
button { font: inherit; cursor: pointer; }
img { display: block; max-width: 100%; }
em { font-weight: inherit; }
::selection { color: white; background: #354fde; }
:focus-visible { outline: 2px solid #6078ff; outline-offset: 6px; }
.wrap { width: min(100% - 112px, 1328px); margin-inline: auto; }
.skip-link { position: fixed; z-index: 100; left: 24px; top: 12px; padding: 12px 24px; color: white; background: #111e32; transform: translateY(-180%); }
.skip-link:focus { transform: translateY(0); }
.section-space { padding-block: 110px; }
.section-label { display: flex; justify-content: space-between; gap: 24px; align-items: center; color: #526075; font-size: .8125rem; font-weight: 600; letter-spacing: .13em; text-transform: uppercase; }
.section-label-aside { font-size: .75rem; color: #657083; letter-spacing: .08em; }
h2 { font-family: var(--font-serif); font-size: clamp(2.5rem, 4.4vw, 4rem); font-weight: 400; line-height: 1.1; letter-spacing: -.035em; }
h2 em { color: #3f5598; }
.section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 70px; margin-top: 44px; margin-bottom: 62px; }
.section-heading > p { max-width: 335px; font-size: 1.0625rem; line-height: 1.85; color: #5b6575; }
.eyebrow { font-size: .8125rem; font-weight: 500; text-transform: uppercase; letter-spacing: .14em; }

.site-header { position: sticky; top: 0; z-index: 40; background: rgba(255,255,255,.97); border-bottom: 1px solid #e6e9ee; }
.header-inner { height: 104px; display: flex; align-items: center; justify-content: space-between; gap: 40px; }
.brand { display: block; flex: 0 0 auto; }
.brand img { width: 139px; height: auto; }
.desktop-nav { display: flex; gap: 36px; margin-left: auto; }
.desktop-nav a { position: relative; font-size: .875rem; font-weight: 500; padding-block: 12px; }
.desktop-nav a::after { content: ""; position: absolute; height: 1px; background: #354fde; left: 0; right: 0; bottom: 6px; transform: scaleX(0); transform-origin: left; transition: transform .2s ease; }
.desktop-nav a:hover::after,.desktop-nav a:focus-visible::after { transform: scaleX(1); }
.header-actions { display: flex; align-items: center; gap: 24px; }
.header-contact { display: flex; align-items: center; justify-content: space-between; gap: 30px; padding: 11px 0 11px 28px; font-size: .875rem; font-weight: 600; border-left: 1px solid #d7dce4; }
.header-contact svg { color: #354fde; transition: transform .2s; }
.header-contact:hover svg { transform: translate(2px,-2px); }
.mobile-menu-trigger { display: none; width: 44px; height: 44px; align-items: center; justify-content: center; background: transparent; border: 0; }

.hero { position: relative; isolation: isolate; overflow: hidden; color: white; background: #101c30; }
.hero-art { position: absolute; z-index: -1; inset: 0 0 0 22%; }
.hero-art img { width: 100%; height: 100%; object-fit: cover; object-position: 66% 50%; }
.hero-art::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg,#101c30 0%,rgba(16,28,48,.88) 6%,rgba(16,28,48,.22) 30%,rgba(16,28,48,0) 54%),linear-gradient(0deg,rgba(16,28,48,.58),transparent 22%); }
.hero-inner { min-height: 660px; display: flex; align-items: center; padding-block: 72px 86px; }
.hero-copy { position: relative; max-width: 755px; animation: hero-reveal .8s ease-out both; }
.hero-eyebrow { display: flex; gap: 22px; align-items: center; color: #c0c9db; margin-bottom: 34px; }
.hero-eyebrow span { color: #6b83b6; }
h1 { font-family: var(--font-serif); font-weight: 400; font-size: clamp(3.25rem,5.45vw,5.1rem); line-height: 1.05; letter-spacing: -.045em; }
h1 em { color: #b4c4ed; }
.hero-lead { margin-top: 32px; max-width: 440px; color: #c9d0de; font-size: 1rem; line-height: 1.8; }
.button-link { display: inline-flex; align-items: center; justify-content: space-between; gap: 42px; padding: 16px 22px; font-weight: 500; font-size: .875rem; transition: color .2s,background .2s; }
.hero-cta { margin-top: 32px; background: #fff; color: #111e32; }
.hero-cta:hover { background: #c4d1f0; }
.button-link svg { transition: transform .25s; }
.button-link:hover svg { transform: translate(2px,-2px); }
.hero-bottom { position: relative; min-height: 67px; display: flex; align-items: center; justify-content: space-between; gap: 24px; border-top: 1px solid #ffffff29; font-size: .75rem; color: #b7c1d2; letter-spacing: .035em; }
.hero-bottom a { display: flex; width: 44px; height: 44px; align-items: center; justify-content: flex-end; color: #e8edf7; }
.expertise-nav { background: #1b2d4b; color: #fff; }
.expertise-links { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); }
.expertise-links a { display: flex; align-items: center; gap: 16px; padding: 28px; border-right: 1px solid #ffffff26; font-size: .9375rem; font-weight: 500; transition: background .2s; }
.expertise-links a:first-child { padding-left: 0; }
.expertise-links a:last-child { border: 0; padding-right: 0; }
.expertise-links svg { margin-left: auto; flex: 0 0 auto; color: #b0c2e7; transition: transform .2s; }
.expertise-links a:hover svg { transform: translate(3px,-3px); }
.expertise-links .specialty-icon { width: 22px; height: 22px; margin-left: 0; flex: 0 0 22px; color: #b0c2e7; transition: none; }
.expertise-links a:hover .specialty-icon { transform: none; }

.firm-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 100px; margin-top: 55px; }
.firm-layout h2 { font-size: clamp(2.5rem,4.4vw,4.1rem); }
.muted-heading { color: #788295; }
.firm-description { padding-top: 2px; }
.lead-text { font-size: 1.25rem; line-height: 1.75; letter-spacing: -.015em; }
.firm-description > p + p { margin-top: 25px; color: #5b6575; line-height: 1.85; }
.firm-facts { display: grid; grid-template-columns: 1fr 1fr; gap: 36px; border-top: 1px solid #d7dce4; margin-top: 38px; padding-top: 30px; }
.firm-facts > div { display: flex; flex-direction: column; align-items: flex-start; }
.fact-value { position:relative; padding-top:26px; font-family: var(--font-serif); line-height: 1.1; font-size: 3.7rem; font-weight: 400; letter-spacing: -.04em; }
.fact-prefix { position:absolute; top:0; left:0; display:block; font-family:var(--font-sans); font-size:.875rem; font-weight:500; letter-spacing:.01em; line-height:1.5; margin-bottom:4px; color:#5b6575; }
.fact-caption { font-weight:600; font-size: .875rem; color: #5b6575; margin-top: 12px; max-width: 240px; line-height: 1.65; }
.practices { background: #f4f5f7; }
.practice-list { border-top: 1px solid #bac3d1; }
.practice-row { display: grid; grid-template-columns: minmax(220px,.8fr) minmax(0,1.4fr); gap: 34px; align-items: start; padding: 42px 0; border-bottom: 1px solid #d0d6e0; scroll-margin-top: 8px; }
.practice-row h3 { font-family: var(--font-serif); font-size: clamp(1.5rem,2.1vw,1.9rem); line-height: 1.2; font-weight: 400; letter-spacing: -.02em; padding-right: 24px; }
.practice-row > p { font-size: 1rem; color: #5b6575; line-height: 1.85; }
.practice-contact { display: flex; justify-content: center; align-items: center; width: 46px; height: 46px; color: #334876; border: 1px solid transparent; transition: color .2s,background .2s,border-color .2s; }
.practice-contact:hover { color: #fff; background: #354fde; border-color: #354fde; }

.team { color: #fff; background: #111e32; }
.team .section-label { color: #9cacc8; }
.team h2 em { color: #b4c4ed; }
.team .section-heading > p { color: #bdc7d9; }
.team-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 25px; }
.portrait-link { display: block; position: relative; }
.portrait-frame { position: relative; aspect-ratio: 4/5; overflow: hidden; background: #111e32; border-radius: 24px 24px 8px 8px; }
.portrait-frame::after { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(0deg,#111e32 0%,rgba(17,30,50,.48) 10%,transparent 34%); }
.portrait { width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: center top; transition: transform .6s ease; }
.portrait-arrow { position: absolute; width: 50px; height: 50px; bottom: 12px; right: 12px; border-radius: 50%; border: 1px solid #ffffff65; display: flex; align-items: center; justify-content: center; background: #111e3280; color: #fff; transition: background .2s,color .2s; }
.portrait-link:hover .portrait { transform: scale(1.03); }
.portrait-link:hover .portrait-arrow { background: #354fde; color: #fff; }
.partner-note { margin-top: 26px; color: #a8b8d3; font-size: .75rem; font-weight: 500; letter-spacing: .07em; text-transform: uppercase; }
.person h3 { font-family: var(--font-serif); font-size: 1.625rem; line-height: 1.25; font-weight: 400; letter-spacing: -.015em; margin-top: 8px; }
.person-suffix { font-family: var(--font-sans); font-size: .8125rem; letter-spacing: 0; white-space: nowrap; }
.person-role { margin-top: 14px; font-size: .875rem; color: #c1cad9; line-height: 1.8; min-height: 76px; }
.person-email { display: inline-flex; align-items: center; gap: 10px; color: #fff; font-size: .875rem; margin-top: 18px; padding-bottom: 7px; border-bottom: 1px solid #ffffff40; transition: border-color .2s; }
.person-email:hover { border-color: #9cb5ff; }

.approach-layout { display: grid; grid-template-columns: 1fr 1.05fr; gap: 110px; }
.approach-heading h2 { margin-top: 43px; }
.approach-heading > p:last-child { margin-top: 28px; max-width: 300px; color: #5b6575; line-height: 1.85; }
.approach-steps { border-top: 1px solid #d7dce4; }
.approach-steps article { display: flex; gap: 28px; padding: 28px 0 31px; border-bottom: 1px solid #d7dce4; }
.approach-steps article > span { flex: 0 0 27px; color: #52628a; padding-top: 4px; font-size: .75rem; }
.approach-steps h3 { font-family: var(--font-serif); font-size: 1.6rem; font-weight: 400; line-height: 1.3; letter-spacing: -.02em; }
.approach-steps p { margin-top: 11px; font-size: 1rem; line-height: 1.85; color: #5b6575; }
.contact { background: #edf0f5; padding-block: 95px; }
.contact-layout { display: grid; grid-template-columns: 1.45fr 1fr; gap: 90px; }
.contact h2 { margin-top: 35px; font-size: clamp(2.65rem,4.8vw,4.5rem); }
.contact-email { display: inline-flex; align-items: center; gap: 55px; margin-top: 32px; font-size: clamp(1.2rem,2vw,1.55rem); font-weight: 400; padding: 12px 0; border-bottom: 1px solid #7d8ba5; }
.contact-email svg { color: #354fde; transition: transform .2s; flex-shrink: 0; }
.contact-email:hover svg { transform: translate(3px,-3px); }
.contact-details { display: flex; flex-direction: column; align-items: flex-start; gap: 25px; font-style: normal; margin: 0; padding-left: 56px; padding-top: 8px; border-left: 1px solid #c9d0dc; }
.contact-label { margin-bottom: 9px; color: #5b6575; font-size: .8125rem; letter-spacing: .07em; text-transform: uppercase; }
.contact-details div > p:not(.contact-label),.contact-phone { font-size: 1.2rem; line-height: 1.8; }
.contact-phone:hover { color: #354fde; }
.text-link { display: inline-flex; align-items: center; gap: 22px; font-size: .875rem; border-bottom: 1px solid #718099; padding: 6px 0; }
.footer { padding-top: 58px; background: #0a1424; color: #b7c1d1; }
.footer-top { display: flex; gap: 55px; align-items: center; padding-bottom: 48px; }
.footer-brand img { width: 132px; height: auto; }
.footer-top > p { font-size: .9375rem; line-height: 1.85; color: #e3e8f2; }
.footer-top > p span { font-size: .8125rem; color: #9daac0; }
.back-top { display: flex; align-items: center; gap: 18px; margin-left: auto; font-size: .8125rem; }
.footer-bottom { display: flex; align-items: center; gap: 50px; padding-block: 23px; border-top: 1px solid #ffffff26; font-size: .75rem; color: #9daac0; }
.footer-bottom a { display: flex; align-items: center; gap: 12px; margin-left: auto; }
.footer a:hover { color: #fff; }

.mobile-sheet[data-slot="sheet-content"] { width: min(100%,460px); max-width: none; padding: 28px; gap: 0; background: #111e32; color: #fff; border-color: #111e32; overflow-y: auto; }
.mobile-sheet-top { display: flex; justify-content: space-between; align-items: center; }
.mobile-sheet [data-slot="sheet-title"] { color: #fff; font-size: 1.5rem; font-weight: 500; letter-spacing: .04em; }
.mobile-menu-close { border: 0; background: transparent; color: #fff; width: 44px; height: 44px; display: flex; align-items: center; justify-content: flex-end; }
.mobile-description { color: #b7c4db; line-height: 1.8; margin-top: 14px; }
.mobile-nav { margin-top: 46px; border-top: 1px solid #ffffff30; }
.mobile-nav a { display: flex; align-items: center; gap: 17px; border-bottom: 1px solid #ffffff30; padding-block: 22px; font-family: var(--font-serif); font-size: 1.55rem; line-height: 1.3; }
.mobile-nav a > span { font-family: var(--font-sans); font-size: .75rem; color: #a0b5d9; }
.mobile-nav a > svg { margin-left: auto; flex-shrink: 0; }
.mobile-sheet-bottom { display: flex; flex-direction: column; align-items: flex-start; gap: 15px; padding-top: 48px; font-size: .9375rem; }

@keyframes hero-reveal { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: translateY(0); } }
@media(min-width:1600px) { .hero-inner { min-height: 720px; }.hero-art { left: 26%; } }
@media(max-width:1199px) {
  .wrap { width: calc(100% - 80px); }.header-inner { gap: 28px; }.desktop-nav { gap: 24px; }
  .hero-inner { min-height: 630px; }.hero-art { left: 18%; }
  .expertise-links a { padding: 24px 20px; font-size: .875rem; gap: 12px; }
  .firm-layout { gap: 55px; }.team-grid { gap: 18px; }.person h3 { font-size: 1.35rem; }.person-email { font-size: .875rem; gap: 6px; }
  .person-role { min-height: 100px; }.approach-layout { gap: 65px; }.contact-layout { gap: 50px; }.contact-details { padding-left: 38px; }
}
@media(max-width:959px) {
  .wrap { width: calc(100% - 64px); }.header-inner { height: 88px; }.brand img { width: 121px; }.desktop-nav { display: none; }.mobile-menu-trigger { display: flex; }.header-contact { border: 0; padding-left: 0; gap: 18px; }
  .hero-inner { min-height: 620px; padding-block: 65px 75px; }h1 { font-size: clamp(3.3rem,7.5vw,4.5rem); }.hero-art { left: 10%; opacity: .8; }.hero-art::after { background: linear-gradient(90deg,#101c30 0%,rgba(16,28,48,.78) 20%,rgba(16,28,48,.2) 100%); }
  .section-space { padding-block: 80px; }.section-heading { gap: 45px; }.section-heading > p { max-width: 280px; font-size: 1rem; }
  .expertise-links a { padding-inline: 14px; font-size: .875rem; line-height: 1.4; }.expertise-links svg { width: 18px; }
  .firm-layout { gap: 40px; }.firm-layout h2 { font-size: 2.75rem; }.lead-text { font-size: 1.1rem; }.firm-facts { gap: 22px; }.fact-value { font-size: 3.1rem; }
  .practice-row { grid-template-columns: minmax(180px,.8fr) minmax(0,1.3fr); gap: 20px; }.practice-row h3 { font-size: 1.4rem; padding-right: 0; }.practice-contact { width: 36px; height: 42px; }
  .team-grid { grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: 30px; row-gap: 45px; }.person h3 { font-size: 1.7rem; }.person-role { min-height: 76px; }.person-email { font-size: .875rem; }
  .approach-layout { gap: 45px; grid-template-columns: 1fr 1.1fr; }.approach-heading h2 { font-size: 2.55rem; }.approach-steps article { gap: 15px; }
  .contact-email { gap: 20px; font-size: 1.3rem; }.contact-layout { gap: 38px; grid-template-columns: 1.4fr 1fr; }.contact-details { padding-left: 30px; }.contact-details div > p:not(.contact-label),.contact-phone { font-size: 1.0625rem; }.footer-top { gap: 30px; }.footer-top > p { max-width: 340px; }.back-top { white-space: nowrap; }
}
@media(max-width:699px) {
  html { scroll-padding-top: 96px; }.wrap { width: calc(100% - 44px); }.header-inner { height: 83px; gap: 18px; }.brand img { width: 113px; }.header-actions { gap: 16px; }.header-contact { font-size: .875rem; gap: 9px; }
  .hero-inner { min-height: 625px; align-items: flex-start; padding-block: 58px 140px; }.hero-copy { width: 100%; }.hero-eyebrow { margin-bottom: 28px; font-size: .75rem; gap: 18px; }
  h1 { font-size: clamp(2.35rem,10vw,3.65rem); line-height: 1.085; letter-spacing: -.042em; }.hero-lead { font-size: 1rem; line-height: 1.85; max-width: 300px; margin-top: 27px; }.desktop-break { display: none; }.hero-cta { margin-top: 28px; }
  .hero-art { inset: 20% -29% 0 0; opacity: .52; }.hero-art img { object-position: 60% 55%; }.hero-art::after { background: linear-gradient(90deg,rgba(16,28,48,.97),rgba(16,28,48,.2) 100%),linear-gradient(0deg,rgba(16,28,48,.1) 0%,#101c30 100%); }
  .hero-bottom { min-height: 66px; font-size: .75rem; gap: 28px; line-height: 1.65; padding-block: 13px; }.hero-bottom span { max-width: 280px; }.hero-bottom a { width: 24px; flex: 0 0 auto; }
  .expertise-links { display: block; }.expertise-links a,.expertise-links a:first-child,.expertise-links a:last-child { min-height: 66px; padding: 17px 0; border-right: 0; border-bottom: 1px solid #ffffff26; gap: 18px; font-size: .9375rem; }.expertise-links a:last-child { border-bottom: 0; }
  .section-space { padding-block: 65px; }.section-label { font-size: .75rem; letter-spacing: .11em; }.section-label-aside { display: none; }h2 { font-size: clamp(2.4rem,8.25vw,3.25rem); line-height: 1.14; }
  .firm-layout { display: block; margin-top: 34px; }.firm-layout h2 { font-size: clamp(2.4rem,8.25vw,3.25rem); }.firm-description { margin-top: 34px; }.lead-text { font-size: 1.125rem; line-height: 1.75; }.firm-facts { margin-top: 32px; padding-top: 27px; gap: 26px; }.fact-value { font-size: 3.45rem; }.fact-caption { font-size: .875rem; line-height: 1.65; }
  .section-heading { display: block; margin-top: 34px; margin-bottom: 40px; }.section-heading > p { max-width: 100%; margin-top: 25px; font-size: 1rem; }
  .practice-row { position: relative; grid-template-columns: minmax(0,1fr); gap: 18px; padding-block: 30px; }.practice-row h3 { font-size: 1.55rem; padding-right: 0; }.practice-row > p { grid-column: 2/4; font-size: 1rem; line-height: 1.8; padding-right: 5px; }.practice-contact { grid-column: 3; grid-row: 1; height: 38px; width: 32px; margin-top: -3px; }.practice-contact svg { width: 22px; }
  .team-grid { column-gap: 18px; row-gap: 38px; }.portrait-frame { aspect-ratio: 4/5.25; }.portrait-arrow { height: 38px; width: 38px; }.portrait-arrow svg { width: 20px; }.partner-note { margin-top: 19px; font-size: .75rem; letter-spacing: .03em; }.person h3 { font-size: 1.4rem; line-height: 1.18; min-height: 3.35rem; }.person-suffix { display: inline; font-size: .75rem; }.person-role { font-size: .875rem; min-height: 126px; line-height: 1.65; margin-top: 11px; }.person-email { font-size: .875rem; gap: 4px; margin-top: 12px; overflow-wrap: anywhere; align-items: flex-start; }.person-email svg { display: none; }
  .approach-layout { display: block; }.approach-heading h2 { font-size: clamp(2.4rem,8.25vw,3.25rem); margin-top: 34px; }.approach-heading > p:last-child { max-width: 100%; margin-top: 23px; }.approach-steps { margin-top: 36px; }.approach-steps h3 { font-size: 1.5rem; }.approach-steps p { font-size: 1rem; }.approach-steps article { gap: 15px; padding-block: 24px; }
  .contact { padding-block: 65px; }.contact-layout { display: block; }.contact h2 { font-size: clamp(2.4rem,8.4vw,3.25rem); margin-top: 34px; }.contact-email { display: flex; width: fit-content; max-width: 100%; gap: 28px; font-size: 1.25rem; margin-top: 22px; }.contact-email svg { width: 25px; }.contact-details { display: grid; grid-template-columns: 1fr 1fr; padding: 30px 0 0; margin-top: 38px; border-left: 0; border-top: 1px solid #c9d0dc; gap: 24px 18px; }.contact-label { font-size: .75rem; }.contact-details div > p:not(.contact-label),.contact-phone { font-size: 1rem; }.contact-details .text-link { justify-self: start; }
  .footer { padding-top: 40px; }.footer-top { display: grid; grid-template-columns: 1fr auto; gap: 28px 15px; padding-bottom: 33px; }.footer-brand img { width: 115px; }.footer-top > p { grid-row: 2; grid-column: 1/3; max-width: 100%; font-size: .875rem; }.footer-top > p span { font-size: .8125rem; }.back-top { grid-column: 2; grid-row: 1; align-self: start; font-size: .75rem; }.footer-bottom { display: grid; grid-template-columns: 1fr 1fr; gap: 17px; padding-block: 22px; font-size: .75rem; }.footer-bottom > span:nth-child(2) { text-align: right; }.footer-bottom a { margin-left: 0; grid-column: 1/3; }
}
@media(max-width:399px) { .header-contact svg { display: none; } }
@media(max-width:359px) { h1 { font-size: 2.1rem; } .wrap { width: calc(100% - 32px); }.header-actions { gap: 7px; }.header-contact { gap: 3px; }.team-grid { grid-template-columns: 1fr; }.portrait-frame { aspect-ratio: 4/4.5; }.person h3,.person-role { min-height: 0; }.contact-details { grid-template-columns: 1fr; }.contact-email { gap: 12px; font-size: 1.15rem; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior: auto; }*,*::before,*::after { animation: none !important; transition: none !important; } }
/* Extensions preserve the original navy, cobalt and editorial typography. */
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.desktop-nav { gap:28px; }
.carousel-stage { display:grid; }
.hero-slide { grid-area:1/1; position:relative; isolation:isolate; opacity:0; visibility:hidden; transition:opacity 1s ease,visibility 1s; }
.hero-slide.is-active { opacity:1; visibility:visible; }
.hero-title { font-family:var(--font-serif); font-weight:400; font-size:clamp(3rem,5.2vw,4.85rem); line-height:1.08; letter-spacing:-.042em; }
.hero-title em { color:#b4c4ed; }
.carousel-hero .hero-copy { max-width:800px; animation:none; }
.carousel-hero .hero-inner { padding-bottom:90px; min-height:650px; }
.carousel-hero .hero-lead { max-width:445px; }
.carousel-hero .hero-art { inset:0 0 0 12%; }
.carousel-hero .hero-art::after { background:linear-gradient(90deg,#101c30 0%,rgba(16,28,48,.84) 15%,rgba(16,28,48,.24) 56%,rgba(16,28,48,0) 100%); }
.carousel-toolbar { display:flex; align-items:center; gap:12px; position:relative; margin-top:-65px; height:65px; z-index:2; }
.slide-tabs,.slide-controls { display:flex; gap:14px; align-items:center; }
.slide-tabs button { min-width:54px; height:44px; padding:0; border:0; background:transparent; display:flex; align-items:center; }
.slide-tabs button::before { content:""; display:block; width:100%; height:2px; background:#ffffff30; transition:background .2s; }
.slide-tabs button[aria-current]::before { background:#b4c4ed; }
.slide-tabs button:hover::before { background:#b4c4ed; }
.slide-controls { gap:4px; }
.slide-controls button { width:44px; height:44px; padding:0; display:flex; align-items:center; justify-content:center; background:transparent; border:0; color:#b4c4ed; transition:color .2s; }
.slide-controls button:hover { color:#fff; }
.practice-description { color:#5b6575; line-height:1.85; }
.practice-description p+p { margin-top:18px; }

.person-profile-link { display:inline-flex; align-items:center; gap:18px; font-size:.875rem; margin-top:14px; padding-bottom:7px; border-bottom:1px solid #ffffff40; }
.person h3 a:hover,.practice-row h3 a:hover { color:#718dde; }
.secure-email { display:inline-flex; flex-direction:column; align-items:flex-start; max-width:100%; }
.secure-email button,.secure-email a { background:transparent; border:0; padding:4px 0; color:inherit; display:inline-flex; align-items:center; gap:18px; text-align:left; overflow-wrap:anywhere; }
.secure-email button:disabled { opacity:.65; cursor:wait; }
.secure-email svg { flex:0 0 auto; }
.email-error { font-size:.875rem; line-height:1.6; max-width:330px; margin-top:10px; }
.secure-email noscript { font-size:.875rem; line-height:1.6; }
.page-heading { background:#edf0f5; padding-block:40px 72px; }
.back-link { display:inline-flex; gap:14px; align-items:center; font-size:.875rem; color:#5b6575; margin-bottom:52px; }
.back-link:hover { color:#354fde; }
.page-heading .eyebrow { color:#526075; margin-bottom:22px; }
.page-heading h1 { max-width:1000px; font-size:clamp(2.7rem,5vw,4.8rem); line-height:1.12; }
.page-lead { max-width:760px; margin-top:28px; font-size:1.125rem; line-height:1.85; color:#5b6575; }
.editorial-layout { display:grid; grid-template-columns:255px minmax(0,760px); gap:90px; justify-content:space-between; padding-block:75px 100px; }
.editorial-sidebar { align-self:start; position:sticky; top:142px; }
.editorial-sidebar .eyebrow { color:#5b6575; margin-bottom:24px; }
.editorial-sidebar nav { display:flex; flex-direction:column; border-top:1px solid #d7dce4; }
.editorial-sidebar nav a { padding-block:14px; border-bottom:1px solid #d7dce4; font-size:.9375rem; color:#5b6575; }
.editorial-sidebar nav a[aria-current],.editorial-sidebar nav a:hover { color:#354fde; }
.prose { font-size:1.0625rem; line-height:1.9; min-width:0; }
.prose > p { margin-bottom:24px; }
.prose h2 { margin-block:48px 22px; font-size:2rem; line-height:1.25; letter-spacing:-.025em; }
.prose h3 { margin-block:30px 14px; font-family:var(--font-serif); font-size:1.6rem; font-weight:400; }
.prose ul,.prose ol { padding-left:24px; margin-block:20px 28px; list-style:disc; }
.prose ol { list-style:decimal; }
.prose li { padding-left:7px; margin-block:10px; }
.prose a:not(.button-link) { text-decoration:underline; text-underline-offset:4px; text-decoration-color:#a1b1cd; overflow-wrap:anywhere; }
.prose a:not(.button-link):hover { color:#354fde; }
.prose strong { font-weight:600; }
.prose blockquote { padding-left:24px; margin-block:30px; border-left:2px solid #354fde; color:#526075; }
.dark-button { background:#111e32; color:#fff; margin-top:25px; }
.dark-button:hover { background:#354fde; }
.profile-page { padding-block:38px 100px; }
.profile-layout { display:grid; grid-template-columns:minmax(240px,390px) minmax(0,760px); gap:90px; justify-content:space-between; }
.profile-sidebar { align-self:start; }
.profile-portrait { background:#111e32; aspect-ratio:4/5; overflow:hidden; border-radius:20px 20px 0 0; }
.profile-portrait img { width:100%; height:100%; object-fit:cover; object-position:center top; }
.profile-contact { background:#edf0f5; padding:30px; }
.profile-contact .eyebrow { color:#526075; margin-bottom:19px; }
.profile-phone { display:flex; gap:14px; align-items:center; font-size:1.15rem; margin-bottom:12px; }
.profile-address { font-size:.9375rem; color:#5b6575; margin-top:22px; }
.profile-text > .eyebrow { margin-bottom:24px; color:#526075; }
.profile-text h1 { font-size:clamp(2.7rem,4.5vw,4.5rem); line-height:1.1; }
.profile-suffix { font-size:1.4rem; letter-spacing:0; white-space:nowrap; }
.profile-qualification { color:#3f5598; margin-top:21px; font-size:1.1rem; }
.profile-intro { font-family:var(--font-serif); font-size:1.6rem; line-height:1.5; margin-block:32px; padding-bottom:30px; border-bottom:1px solid #d7dce4; }
.profile-text > .text-link { margin-block:12px 28px; }
.next-profile { margin-top:30px; padding-top:25px; border-top:1px solid #d7dce4; }
.next-profile span { font-size:.875rem; color:#5b6575; }
.next-profile a { display:flex; align-items:center; justify-content:space-between; font-family:var(--font-serif); font-size:1.8rem; margin-top:12px; }
.news-home { background:#f4f5f7; }
.news-list { border-top:1px solid #bac3d1; }
.news-row { display:grid; grid-template-columns:160px minmax(0,1fr) 45px; gap:40px; padding-block:32px; border-bottom:1px solid #d0d6e0; }
.news-meta { font-size:.875rem; color:#5b6575; line-height:1.7; }
.news-meta .news-category { color:#3f5598; margin-bottom:10px; display:block; }
.news-row h2,.news-row h3 { font-family:var(--font-serif); font-size:1.9rem; line-height:1.25; font-weight:400; letter-spacing:-.02em; }
.news-row h2 a:hover,.news-row h3 a:hover { color:#3f5598; }
.news-row p { color:#5b6575; margin-top:14px; line-height:1.8; max-width:860px; }
.news-arrow { height:44px; width:44px; display:flex; align-items:center; justify-content:center; }
.news-arrow:hover { background:#354fde; color:#fff; }
.news-index { padding-block:45px 90px; }
.news-count { font-size:.875rem; color:#5b6575; margin-bottom:25px; }
.article-dates { display:flex; gap:12px 30px; flex-wrap:wrap; font-size:.875rem; color:#5b6575; margin-top:28px; }
.article-heading { max-width:1120px; }
.article-body { max-width:800px; margin-inline:auto; padding-block:60px 85px; }
.article-note { font-size:.9375rem; background:#edf0f5; padding:20px 24px; margin-bottom:32px; color:#526075; line-height:1.8; }
.article-sources { padding-top:25px; border-top:1px solid #d7dce4; margin-top:45px; font-size:.9375rem; }
.article-sources h2 { font-size:1.5rem; margin-top:0; }
.article-disclaimer { font-size:.9375rem; color:#5b6575; border-top:1px solid #d7dce4; padding-top:24px; margin-top:30px; }
.privacy-table { border-collapse:collapse; width:100%; font-size:1rem; line-height:1.75; margin-block:25px; }
.privacy-table th,.privacy-table td { text-align:left; vertical-align:top; border-bottom:1px solid #d7dce4; padding:17px 16px 17px 0; }
.privacy-table th { font-weight:600; }
.privacy-table th:first-child { width:30%; }
@media(min-width:1600px) { .carousel-hero .hero-inner { min-height:710px; } }
@media(max-width:1100px) { .editorial-layout { gap:45px; grid-template-columns:220px minmax(0,1fr); }.profile-layout { gap:45px; grid-template-columns:280px minmax(0,1fr); }.desktop-nav { gap:20px; } }
@media(max-width:959px) { .profile-layout { gap:35px; grid-template-columns:250px minmax(0,1fr); }.profile-contact { padding:23px; }.profile-phone { font-size:1rem; }.hero-title { font-size:clamp(2.9rem,6.5vw,4.5rem); }.carousel-hero .hero-inner { min-height:620px; }.editorial-layout { grid-template-columns:1fr; padding-block:45px 70px; }.editorial-sidebar { position:static; }.editorial-sidebar nav { display:flex; flex-direction:row; flex-wrap:wrap; gap:0 22px; }.editorial-sidebar nav a { padding-block:12px; }.news-row { gap:24px; grid-template-columns:130px minmax(0,1fr) 35px; } }
@media(max-width:699px) { .carousel-hero .hero-inner { min-height:610px; padding-block:48px 95px; }.hero-title { font-size:clamp(2.15rem,8.1vw,3.4rem); line-height:1.12; }.carousel-hero .hero-eyebrow { font-size:.8125rem; line-height:1.65; max-width:280px; margin-bottom:23px; }.carousel-hero .hero-art { inset:10% -29% 0 0; opacity:.52; }.carousel-hero .hero-art::after { background:linear-gradient(90deg,rgba(16,28,48,.95),rgba(16,28,48,.18)),linear-gradient(0deg,transparent,#101c30); }.carousel-hero .hero-lead { max-width:330px; margin-top:22px; }.carousel-toolbar { margin-top:-63px; height:63px; }.slide-tabs { gap:10px; }.slide-tabs button { min-width:44px; }.slide-controls button { width:44px; height:44px; }.practice-description { grid-column:1; }.practice-description p+p { margin-top:15px; }.person-role { min-height:125px; }.person-profile-link { gap:9px; }.page-heading { padding-block:26px 45px; }.back-link { margin-bottom:35px; }.page-heading h1 { font-size:clamp(2.35rem,8.5vw,3.4rem); line-height:1.15; letter-spacing:-.035em; }.page-lead { font-size:1.0625rem; margin-top:22px; }.editorial-layout { display:block; }.editorial-sidebar { margin-bottom:35px; }.prose { font-size:1rem; line-height:1.85; }.prose h2 { font-size:1.8rem; margin-top:35px; }.profile-layout { display:flex; flex-direction:column; gap:35px; }.profile-sidebar { width:100%; display:grid; grid-template-columns:1fr 1fr; }.profile-portrait { aspect-ratio:auto; min-height:270px; }.profile-contact { padding:20px 16px; display:flex; flex-direction:column; justify-content:center; }.profile-contact .eyebrow { font-size:.8125rem; }.profile-phone { display:block; font-size:1rem; }.profile-phone svg { display:none; }.profile-contact .secure-email { font-size:.875rem; }.profile-contact .secure-email button,.profile-contact .secure-email a { display:block; }.profile-contact .secure-email svg { display:none; }.profile-address { font-size:.875rem; }.profile-page { padding-block:26px 60px; }.profile-text h1 { font-size:2.8rem; }.profile-intro { font-size:1.4rem; }.profile-text > .eyebrow { margin-bottom:15px; }.news-row { grid-template-columns:minmax(0,1fr) 34px; gap:13px; padding-block:25px; }.news-meta { grid-column:1/3; display:flex; align-items:center; gap:20px; font-size:.875rem; }.news-meta .news-category { margin:0; }.news-row h2,.news-row h3 { font-size:1.55rem; }.news-row p { margin-top:12px; font-size:1rem; }.news-arrow { width:34px; }.news-index { padding-block:30px 60px; }.article-body { padding-block:35px 60px; }.article-dates { display:block; }.article-dates span { display:block; margin-top:5px; }.privacy-table { font-size:.9375rem; }.privacy-table th,.privacy-table td { padding-right:10px; }.privacy-table th:first-child { width:35%; } }
@media(max-width:379px) { .profile-sidebar { display:block; }.profile-portrait { aspect-ratio:4/4.5; }.profile-contact { padding:25px; }.profile-contact .secure-email button,.profile-contact .secure-email a { display:inline-flex; }.profile-contact .secure-email svg { display:block; }.hero-title { font-size:2rem; }.carousel-hero .hero-inner { min-height:660px; } }

.prose table:not(.privacy-table) { border-collapse:collapse; width:100%; margin-block:25px; font-size:1rem; }
.prose table:not(.privacy-table) th,.prose table:not(.privacy-table) td { text-align:left; padding:12px 15px; border-bottom:1px solid #d7dce4; }
.prose table:not(.privacy-table) th { background:#edf0f5; font-weight:600; }

/* An essential-only notice: the page remains usable until settings are opened. */
.cookie-settings-link { display:inline-flex; align-items:center; justify-content:center; gap:8px; border:0; padding:0; color:inherit; background:transparent; font-size:.875rem; line-height:1.5; }
.cookie-settings-link svg { flex-shrink:0; }
.footer-bottom .cookie-settings-link { min-height:44px; text-align:left; }
.cookie-notice { position:fixed; z-index:45; right:24px; bottom:24px; width:min(440px,calc(100% - 32px)); max-height:calc(100dvh - 32px); overflow-y:auto; padding:23px 24px 18px; border:1px solid #d7dce4; border-top:3px solid #354fde; border-radius:14px; background:#fff; color:#111e32; box-shadow:0 12px 48px #111e322b,0 2px 8px #111e320d; }
.cookie-notice-heading { display:flex; align-items:center; gap:12px; padding-right:30px; margin-bottom:13px; }
.cookie-notice-heading > svg,.cookie-dialog-heading > svg { flex-shrink:0; color:#354fde; }
.cookie-notice-heading h2 { font-size:1.5rem; line-height:1.2; letter-spacing:-.025em; }
.cookie-notice > p { font-size:1rem; line-height:1.7; color:#526075; }
.cookie-close { position:absolute; right:8px; top:8px; display:flex; align-items:center; justify-content:center; width:44px; height:44px; border:0; border-radius:50%; background:transparent; color:#526075; }
.cookie-close:hover { color:#111e32; background:#eef0f4; }
.cookie-close:focus-visible { outline-offset:-3px; }
.cookie-actions { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.25fr); gap:10px; margin-top:19px; }
.cookie-button { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-width:0; min-height:46px; padding:11px 14px; border:1px solid #111e32; border-radius:5px; font-size:.875rem; font-weight:600; line-height:1.5; overflow-wrap:anywhere; transition:background .15s,color .15s; }
.cookie-button-primary { color:#fff; background:#111e32; }
.cookie-button-primary:hover { background:#243956; }
.cookie-button-secondary { color:#111e32; background:#fff; border-color:#bec6d2; }
.cookie-button-secondary:hover { background:#eef0f4; }
.cookie-policy-link { display:inline-flex; align-items:center; gap:6px; min-height:36px; margin-top:9px; color:#526075; font-size:.875rem; line-height:1.6; text-decoration:underline; text-underline-offset:3px; }
.cookie-policy-link svg { flex-shrink:0; }
.cookie-policy-link:hover { color:#354fde; }
.cookie-dialog[data-slot="dialog-content"] { z-index:60; width:calc(100% - 32px); max-width:570px; max-height:calc(100dvh - 32px); overflow-y:auto; padding:30px; border:1px solid #d7dce4; border-radius:14px; gap:0; background:#fff; color:#111e32; }
.cookie-dialog-heading { display:flex; align-items:center; gap:12px; padding-right:26px; }
.cookie-dialog [data-slot="dialog-title"] { font-family:var(--font-serif); font-size:1.85rem; font-weight:400; line-height:1.2; letter-spacing:-.025em; }
.cookie-dialog .cookie-description { margin-top:16px; color:#526075; font-size:1rem; line-height:1.7; }
.cookie-categories { margin-top:22px; border-top:1px solid #d7dce4; }
.cookie-category { padding:18px 0; border-bottom:1px solid #d7dce4; }
.cookie-category > div { display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap; }
.cookie-category h3 { font-family:var(--font-sans); font-size:1rem; font-weight:600; line-height:1.5; }
.cookie-category p { margin-top:9px; font-size:1rem; line-height:1.65; color:#526075; }
.cookie-badge { display:inline-flex; padding:4px 9px; border-radius:4px; color:#284579; background:#e9eef9; font-size:.875rem; line-height:1.5; }
.cookie-badge-muted { color:#596577; background:#f1f3f6; }
.cookie-storage-note { margin-top:20px; color:#526075; font-size:.9375rem; line-height:1.7; }
.cookie-dialog-actions { display:flex; flex-direction:column; align-items:stretch; gap:12px; margin-top:18px; }
.cookie-reset { border:0; min-height:44px; padding:8px; background:transparent; color:#526075; font-size:.875rem; text-decoration:underline; text-underline-offset:3px; }
.cookie-reset:hover { color:#111e32; }
.privacy-cookie-control { margin-block:15px 24px; }
.privacy-cookie-control .cookie-settings-link { padding:12px 16px; border:1px solid #bec6d2; border-radius:5px; color:#111e32; }
@media(max-width:599px) { .cookie-notice { right:16px; bottom:max(12px,env(safe-area-inset-bottom)); padding:20px 18px 13px; }.cookie-notice-heading { gap:9px; }.cookie-notice-heading h2 { font-size:1.4rem; }.cookie-actions { gap:8px; }.cookie-button { padding-inline:10px; }.cookie-dialog[data-slot="dialog-content"] { padding:25px 21px; }.cookie-dialog [data-slot="dialog-title"] { font-size:1.65rem; }.cookie-dialog-heading { gap:9px; } }
@media(max-width:699px) { .footer-bottom .cookie-settings-link { grid-column:1/3; justify-content:flex-start; } }
@media(max-width:359px) { .cookie-actions { grid-template-columns:1fr; } }
@media(prefers-reduced-motion:reduce) { .cookie-notice,.cookie-dialog,.cookie-button { animation:none!important; transition:none!important; } }
@media print { .cookie-notice,.cookie-settings-link,.cookie-dialog { display:none!important; } }
/* Native WordPress counterparts of the original dialog and drawer. */
dialog{margin:auto}dialog:not([open]){display:none}dialog::backdrop{background:#111e3299}dialog.mobile-sheet{position:fixed;inset:0 0 0 auto;margin:0;width:min(100%,460px);height:100dvh;max-height:none;max-width:none;padding:28px;background:#111e32;color:#fff;border:0;overflow-y:auto}dialog.mobile-sheet #menu-title{color:#fff;font-size:1.5rem;font-weight:500;letter-spacing:.04em}.cookie-dialog{position:fixed;inset:0;margin:auto}.article-back{margin-top:35px;margin-bottom:0}.admin-bar .site-header{top:32px}.practice-description p:last-child{margin-bottom:0}.prose .wp-block-table{overflow-x:auto}.prose iframe{max-width:100%}@media(max-width:782px){.admin-bar .site-header{top:46px}}@media(max-width:600px){.admin-bar .site-header{top:0}}@media print{.site-header,.mobile-sheet,.contact,.back-top{display:none!important}}

.practice-description [hidden] { display:none !important; }
.practice-remainder { margin-top:15px; }
.practice-desktop .practice-remainder { margin-top:18px; }
.practice-toggle {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  min-width:44px;
  min-height:44px;
  margin-top:12px;
  padding:8px 0;
  border:0;
  border-bottom:1px solid #a8b2c9;
  border-radius:0;
  background:transparent;
  color:#334876;
  font-family:inherit;
  font-size:.875rem;
  font-weight:500;
  line-height:1.4;
  cursor:pointer;
}
.practice-toggle:hover { color:#354fde; }
.practice-toggle:focus-visible { outline:2px solid #334876; outline-offset:5px; }
.practice-toggle svg {
  width:16px;
  height:16px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  flex:0 0 16px;
  transition:transform .18s;
}
.practice-toggle[aria-expanded="true"] svg { transform:rotate(180deg); }
.practice-toggle-context {
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}
@media(prefers-reduced-motion:reduce) {
  .practice-toggle svg { transition:none; }
}
@media print {
  .practice-description .practice-full { display:block !important; }
  .practice-description .practice-mobile,
  .practice-description .practice-desktop { display:none !important; }
}
