.portrait.with-portrait,.profile-photo.with-portrait{background:transparent;overflow:hidden}
.portrait.with-portrait:before{display:none}
.attorney-photo{width:100%;height:100%;object-fit:cover;object-position:center top;transition:transform .3s ease}
.attorney-card:hover .attorney-photo{transform:scale(1.025)}
.profile-photo.with-portrait{height:340px;max-width:340px;justify-self:end;width:100%}
.profile-portrait{width:100%;height:100%;object-fit:cover;object-position:center top}
.practice-thumbnail{width:96px;height:96px;object-fit:cover;flex-shrink:0}
.practice-grid>a{gap:22px;min-height:145px}
.practice-grid h3{font-size:22px;flex:1}
.practice-grid>a>span{flex-shrink:0}
.practice-feature{width:100%;height:320px;object-fit:cover;margin-bottom:35px}
.editorial-photo{width:100%;max-height:330px;object-fit:cover;margin-bottom:35px}
.office-photo{width:100%;height:180px;object-fit:cover;margin-bottom:25px}
.office-grid article:last-child .office-photo{object-position:51% center}
.intro-photo{width:100%;height:215px;object-fit:cover;margin-bottom:27px}
.intro-grid{align-items:start}
.button-icon{display:block;flex:0 0 22px;width:22px;height:22px}
.hero h1 em{color:#86c6e8}
/* Native scrollbar, including Firefox and Chromium/WebKit. */
html{scrollbar-width:thin;scrollbar-color:#527d99 #eaf0f4}
textarea{scrollbar-width:thin;scrollbar-color:#527d99 #eaf0f4}
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-track{background:#eaf0f4}
::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#315b76,#6b9cb8);border:2px solid #eaf0f4;border-radius:8px}
::-webkit-scrollbar-thumb:hover{background:#315b76}
::-webkit-scrollbar-thumb:active{background:#18394f}
::-webkit-scrollbar-corner{background:#eaf0f4}
@media(forced-colors:active){html,textarea{scrollbar-color:auto}}
.email-address{font-size:13px;color:#2d526e}.office-grid .email-address{font-size:12px}
.recognition{display:flex;align-items:center;justify-content:center;gap:35px;padding-top:0;padding-bottom:30px}.recognition img{width:auto;height:85px;max-width:100px;object-fit:contain}
@media(max-width:540px){.recognition{gap:22px}.recognition img{height:65px;max-width:75px;min-width:0}}
@media(max-width:1000px){.practice-thumbnail{width:76px;height:86px}.practice-grid>a{gap:15px}.practice-grid h3{font-size:20px}.office-photo{height:155px}}
@media(max-width:800px){.practice-grid{grid-template-columns:1fr}.practice-thumbnail{width:100px;height:90px}.practice-grid>a{min-height:125px}.practice-grid h3{font-size:23px}.office-photo{height:130px}.profile-photo.with-portrait{height:290px}}
@media(max-width:540px){.practice-thumbnail{width:83px;height:93px}.practice-grid>a{gap:16px;padding:18px 0}.practice-grid h3{font-size:20px}.practice-grid>a>span{font-size:21px}.practice-feature{height:220px;margin-bottom:25px}.editorial-photo{max-height:240px;margin-bottom:25px}.office-photo{height:200px}.profile-photo.with-portrait{height:300px;justify-self:start;max-width:300px}.intro-photo{height:200px}.intro-title h2{margin-bottom:25px}}
@media(max-width:360px){.practice-thumbnail{width:65px;height:85px}.practice-grid>a{gap:12px}.practice-grid h3{font-size:18px}}
@media(prefers-reduced-motion:reduce){.attorney-card:hover .attorney-photo{transform:none}}

/* A restrained blue glow ties the interactive accents to the firm's palette. */
.hero{background:radial-gradient(ellipse at 4% 8%,#315f794d,transparent 65%),linear-gradient(125deg,#142f43,#214c65)}
.contact-band{background:linear-gradient(110deg,#365c77,#456b86 55%,#56829b)}
.page-intro,.profile-hero{background:linear-gradient(120deg,#e5edf3,#f1f6f8 78%,#e6f0f5)}
.practice-section{background:linear-gradient(145deg,#edf3f6,#f5f8fa)}
.hero h1 em{color:#86c6e8}
.button{position:relative;overflow:hidden;transition:background .25s,border-color .25s,box-shadow .25s,transform .25s}
.button:before{content:'';position:absolute;inset:0;background:linear-gradient(110deg,transparent 25%,#ffffff17 50%,transparent 75%);transform:translateX(-110%);transition:transform .6s;pointer-events:none}
.button:hover:before{transform:translateX(110%)}
.button:hover{transform:translateY(-2px);box-shadow:0 8px 22px #17394f1c}
.button:active{transform:translateY(0);box-shadow:none}
.button-icon{transition:transform .3s}
.button:hover .button-icon{transform:rotate(90deg)}
.practice-grid>a{transition:background .25s,box-shadow .25s,padding .25s,color .25s}
.practice-grid>a:hover{background:#ffffff8c;box-shadow:inset 3px 0 #6aa9c9;padding-left:12px;padding-right:12px;color:#244b65}
.practice-thumbnail{transition:filter .3s;filter:saturate(.8)}
.practice-grid>a:hover .practice-thumbnail{filter:saturate(1.15)}
.attorney-card{transition:transform .3s}
.attorney-card:hover{transform:translateY(-5px)}
.attorney-card .portrait{box-shadow:0 0 0 #17394f00;transition:box-shadow .3s}
.attorney-card:hover .portrait{box-shadow:0 12px 26px #17394f20}
.prose summary{transition:color .2s,background .2s}
.prose summary:hover{color:#3e7b9d;background:#edf3f680}
.prose details[open]>div{animation:details-appear .25s ease-out}
@keyframes details-appear{from{opacity:.35;transform:translateY(-5px)}to{opacity:1;transform:none}}
.reveal-on-scroll{opacity:0;transform:translateY(22px);transition:opacity .6s ease var(--reveal-delay,0ms),transform .6s cubic-bezier(.2,.7,.3,1) var(--reveal-delay,0ms)}
.reveal-on-scroll.is-visible{opacity:1;transform:translateY(0)}
img{transition:opacity .4s ease}.image-pending{opacity:.25}
.hero-copy>.eyebrow,.hero-copy>h1,.hero-copy>p,.hero-copy>.button{animation:hero-appear .7s both;animation-delay:.05s}
.hero-copy>h1{animation-delay:.13s}.hero-copy>p{animation-delay:.21s}.hero-copy>.button{animation-delay:.29s}
@keyframes hero-appear{from{opacity:0;translate:0 12px}to{opacity:1;translate:0 0}}
.team-filters{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:18px}
.team-filters button{border:1px solid #c5d6e2;background:white;color:#34556e;padding:10px 17px;font-family:'Roboto Mono';font-size:11px;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.team-filters button:hover{border-color:#5285a4;background:#edf4f8}
.team-filters button[aria-pressed=true]{color:white;border-color:#294e68;background:#294e68}
.filter-status{font-size:12px;color:#6d8393;min-height:21px;margin-bottom:22px}
.reading-progress{position:fixed;inset:0 0 auto;height:3px;z-index:50;background:linear-gradient(90deg,#567e99,#86c6e8);transform-origin:left;transform:scaleX(0);pointer-events:none}
.back-to-top{position:fixed;right:25px;bottom:25px;z-index:30;border:1px solid #7fa2b9;background:#18394ff2;color:white;box-shadow:0 4px 16px #17394f22;width:49px;height:49px;border-radius:50%;font-family:'Roboto Mono';font-size:11px;cursor:pointer;transition:background .2s,transform .2s}
.back-to-top:hover{background:#3b6b89;transform:translateY(-3px)}
[hidden]{display:none!important}
@media(max-width:540px){.team-filters{gap:8px}.team-filters button{font-size:10px;padding:10px 12px}.back-to-top{right:15px;bottom:15px;width:43px;height:43px}}
@media(prefers-reduced-motion:reduce){.reveal-on-scroll{opacity:1;transform:none}.hero-copy>*{animation:none!important}.prose details[open]>div{animation:none}*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}.button:hover,.attorney-card:hover,.back-to-top:hover{transform:none}.button:hover .button-icon{transform:none}}

/* Compact single-row navigation. */
.header{position:sticky;top:0;z-index:40;background:#fffffffa;backdrop-filter:blur(14px);border-bottom:1px solid #dce6ed;box-shadow:0 3px 15px #18394f05}
.header-inner{height:96px;gap:48px}
.header .wordmark{font-size:43px;letter-spacing:2px}
.header .wordmark>span{font-size:10px;line-height:1.8}
.header .wordmark i{width:43px}
.header-right{display:flex;align-items:center;justify-content:flex-end;flex:1;min-width:0}
.header nav{display:flex;align-items:center;justify-content:flex-end;gap:10px;width:100%}
.header nav>a{padding:10px 9px;font-size:12px;font-weight:500;border-radius:3px;transition:background .2s,color .2s;white-space:nowrap}
.header nav>a:not(.button):hover,.header nav>a[aria-current]:not(.button),.header nav>a.current-section{background:#eaf2f7;color:#1f658c}
.header nav>a:after{display:none}
.header nav .header-contact{margin-left:15px;padding:12px 18px;min-height:46px;gap:22px;color:white;background:#244a65;border-radius:0;font-size:12px}
.header nav .header-contact:hover{background:#3b6f90}
.header .menu-toggle{display:none}
html{scroll-padding-top:115px}
.breadcrumb{scroll-margin-top:115px}
.article-layout aside>a{scroll-margin-top:115px}
.prose details{scroll-margin-top:115px}
@media(min-width:1051px) and (max-width:1200px){.header-inner{gap:28px}.header nav{gap:5px}.header nav>a{padding:10px 7px;font-size:11px}.header nav .header-contact{margin-left:8px;gap:15px;padding:11px 14px}}
@media(max-width:1050px){
  .header-inner{height:82px;gap:25px}
  .header .wordmark{font-size:37px}
  .header .wordmark i{width:36px}
  .header .wordmark>span{font-size:9px}
  .header-right{flex:1}
  .header .menu-toggle{display:flex;align-items:center;gap:15px;border:1px solid #d1dfe8;padding:11px 13px;background:transparent;border-radius:0;font-size:12px;line-height:1.4;cursor:pointer;min-height:43px}
  .header .menu-label{font-size:12px;font-family:'Roboto Mono'}
  .menu-bars{position:relative;display:block;width:19px;height:15px}
  .menu-bars:before,.menu-bars:after{content:'';position:absolute;left:0;right:0;height:1.5px;background:#244a65;transition:transform .25s,top .25s}
  .menu-bars:before{top:3px}.menu-bars:after{top:11px}
  .menu-toggle[aria-expanded=true] .menu-bars:before{top:7px;transform:rotate(45deg)}
  .menu-toggle[aria-expanded=true] .menu-bars:after{top:7px;transform:rotate(-45deg)}
  .header nav{display:none;position:absolute;top:82px;left:0;right:0;width:100%;padding:16px max(30px,calc((100vw - 1184px)/2));background:#fff;border-top:1px solid #e2eaf0;box-shadow:0 15px 25px #163c5514;align-items:stretch;gap:3px;max-height:calc(100dvh - 82px);overflow-y:auto}
  .header nav.is-open{display:flex;flex-direction:column;animation:menu-appear .2s ease-out}
  .header nav>a{padding:12px 14px;font-size:14px;line-height:1.5}
  .header nav .header-contact{margin:12px 0 4px;padding:13px 16px;align-self:stretch;font-size:13px;min-height:49px;justify-content:space-between}
  html{scroll-padding-top:100px}
}
@keyframes menu-appear{from{opacity:0;translate:0 -7px}to{opacity:1;translate:0 0}}
@media(max-width:540px){.header nav{padding:14px 23px}.header-inner{height:76px}.header nav{top:76px;max-height:calc(100dvh - 76px)}.header .wordmark{font-size:35px}.header .menu-toggle{min-height:40px;padding:10px 12px}}
@media(prefers-reduced-motion:reduce){.header nav.is-open{animation:none}}
@media(max-width:540px){.hero h1{font-size:clamp(42px,13.5vw,54px)}}

/* Full-width courthouse hero, keeping the sculpture visible on the left. */
.hero{position:relative;display:block;isolation:isolate;overflow:hidden;min-height:clamp(620px,75vh,820px);background:#18394f}
.hero-photo{position:absolute;inset:0;z-index:-1;min-height:0;height:auto;overflow:hidden}
.hero-photo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center}
.hero-photo:after{background:linear-gradient(90deg,#102b3e05 12%,#102b3e14 37%,#102b3ed1 70%,#102b3ee6 100%)}
.hero-copy{position:relative;z-index:1;width:53%;max-width:640px;min-height:inherit;margin-left:auto;margin-right:max(48px,calc((100vw - 1184px)/2));padding:75px 0 70px 55px;justify-content:center}
.hero h1{font-size:clamp(52px,4.8vw,74px);white-space:nowrap;line-height:1.08;text-shadow:0 2px 20px #0a223b28}
.hero-copy>.eyebrow{color:#d2e2ec}
.hero-copy>p{color:#e0eaf0;text-shadow:0 1px 10px #102b3e66}
.hero .button.light{background:#163a5080;border-color:#a3c6db}
.hero .button.light:hover{background:#376984d9}
.hero-caption{margin-top:45px;color:#c2d6e3}
.hero-photo>span{left:max(48px,calc((100vw - 1184px)/2));right:auto;bottom:30px;background:#17394f9c;padding:7px 12px}
@media(min-width:1700px){.hero{min-height:760px}.hero-copy{padding-left:20px}}
@media(max-width:1100px){.hero-copy{width:55%;margin-right:30px;padding-left:25px}.hero h1{font-size:55px}.hero-photo>span{left:30px}}
@media(max-width:800px){
  .hero{min-height:660px}
  .hero-copy{width:100%;max-width:none;margin:0;padding:290px 30px 55px;justify-content:flex-end}
  .hero-photo>img{object-position:35% center}
  .hero-photo:after{background:linear-gradient(180deg,#102b3e00 10%,#102b3e26 34%,#102b3edb 67%,#102b3ef2 100%)}
  .hero h1{font-size:55px;line-height:1.07;margin-bottom:18px}
  .hero .eyebrow{font-size:9px;margin-bottom:17px}
  .hero-copy>p{font-size:15px;margin-bottom:24px}
  .hero-caption{margin-top:28px}
  .hero-photo>span{top:22px;bottom:auto;left:30px;font-size:8px}
}
@media(max-width:540px){
  .hero{min-height:690px}
  .hero-copy{padding:320px 23px 38px}
  .hero-photo>img{object-position:35% top}
  .hero h1{font-size:clamp(40px,12.5vw,52px);letter-spacing:-1.5px}
  .hero .eyebrow{font-size:8px;letter-spacing:1.4px}
  .hero-copy>p{font-size:14px;line-height:1.75}
  .hero-photo>span{left:23px;top:20px}
  .hero-caption{font-size:8px;letter-spacing:1px;margin-top:25px}
}
