/* Shared design system. No external fonts or libraries are required. */
:root{--navy:#102b3a;--navy-dark:#0a202d;--ink:#18313d;--muted:#596770;--gold:#b48c4a;--gold-light:#d3b476;--ivory:#f8f6f0;--paper:#fff;--line:#dedfd9;--serif:Georgia,'Times New Roman',serif;--sans:'Segoe UI',Arial,sans-serif;--max:1200px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:112px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.7}a{color:inherit;text-decoration:none}button,input{font:inherit}a,button,summary{-webkit-tap-highlight-color:transparent}button,summary{cursor:pointer}button{color:inherit}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:5px}img,svg{max-width:100%}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.13}h2{font-size:clamp(2.15rem,4vw,3.25rem);letter-spacing:-.035em}h3{font-size:1.6rem}.container{width:min(var(--max),calc(100% - 96px));margin-inline:auto}.skip-link{position:fixed;top:8px;left:12px;padding:12px 20px;background:var(--paper);transform:translateY(-160%);z-index:100}.skip-link:focus{transform:translateY(0)}.information-bar{background:var(--navy-dark);color:#d9e0e3;font-size:.8125rem}.information-bar .container{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:38px}.information-bar a{color:var(--gold-light);text-decoration:underline;text-underline-offset:4px;white-space:nowrap}.site-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.98);border-bottom:1px solid var(--line)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:103px}.brand{display:flex;align-items:center;gap:13px;flex-shrink:0}.brand-mark{width:46px;height:49px;display:flex;align-items:center;justify-content:center;border:1px solid var(--gold);font:35px var(--serif);color:var(--navy);line-height:1}.brand-mark span{font-size:22px;margin:12px 0 0 -5px;color:#957038}.brand-text{font-family:var(--serif);font-size:1.45rem;letter-spacing:.07em;line-height:1.2}.brand-text>span{display:block;font-family:var(--sans);font-size:.75rem;font-weight:600;letter-spacing:.065em;margin-top:8px}.primary-navigation{display:flex;align-items:center;gap:26px;font-size:.875rem}.primary-navigation>a{padding:10px 0;white-space:nowrap;border-bottom:1px solid transparent}.primary-navigation>a:hover,.primary-navigation>a.is-active{color:#8b692f;border-bottom-color:var(--gold)}.primary-navigation .nav-contact{padding:9px 19px;border:1px solid var(--navy);color:var(--navy)}.primary-navigation .nav-contact:hover{background:var(--navy);color:white}.menu-toggle{display:none}.hero{background:var(--ivory);overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:90px;align-items:center;padding-top:74px;padding-bottom:68px}.eyebrow{font-family:var(--sans);font-size:.75rem;letter-spacing:.15em;font-weight:600;color:#7e6032;margin-bottom:24px;display:flex;align-items:center;gap:12px}.eyebrow>span{width:24px;height:1px;background:var(--gold)}h1{font-size:clamp(3.5rem,5.85vw,5.25rem);letter-spacing:-.045em;line-height:1.05;margin-bottom:26px}h1 em{font-weight:400;color:#876735}.hero-description{max-width:490px;font-size:1.0625rem;color:var(--muted);line-height:1.8}.hero-actions{display:flex;align-items:center;gap:26px;margin-top:30px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:12px 23px;font-weight:600;font-size:.875rem;border:1px solid transparent;transition:background .18s,color .18s}.button-primary{background:var(--navy);color:#fff}.button-primary:hover{background:#224858}.button-outline{border-color:#ccd2d5}.button-outline:hover{background:var(--ivory)}.text-link{font-size:.875rem;font-weight:600;border-bottom:1px solid var(--gold);padding-bottom:5px}.text-link:hover{color:#876735}.hero-footnote{font-size:.75rem;color:var(--muted);margin:25px 0 0}.identity-panel{position:relative;min-height:400px;background:var(--navy);color:#fff;padding:35px 38px;display:flex;flex-direction:column;justify-content:space-between;border-top:3px solid var(--gold-light);box-shadow:14px 14px 0 #ece9df}.panel-top{display:flex;align-items:center;justify-content:space-between;color:var(--gold-light);letter-spacing:.17em;font-size:.75rem}.panel-seal{border:1px solid #5c6d70;font:17px var(--serif);letter-spacing:0;padding:8px}.panel-kicker{font-size:.75rem;letter-spacing:.22em;color:#bcc9ce}.panel-main{margin:24px 0}.panel-main p{font:clamp(2.2rem,3.2vw,3rem)/1.15 var(--serif);margin:13px 0 0;letter-spacing:-.01em}.panel-main p>span{display:block;font:1rem var(--sans);color:var(--gold-light);margin-top:18px;letter-spacing:.06em}.panel-bottom{border-top:1px solid #415763;padding-top:21px;display:flex;flex-direction:column;gap:1px;font-size:.8125rem;color:#d5dde0}.panel-bottom>span+span{color:#a9b9c1;font-size:.75rem}.location-strip{display:grid;grid-template-columns:1fr 1fr 1.3fr 1fr;gap:24px;align-items:center;border-top:1px solid #d9d9d0;padding-top:23px;padding-bottom:25px}.strip-label{font-size:.75rem;letter-spacing:.18em;color:var(--muted)}.location-strip>span:not(:first-child){border-left:1px solid #d9d9d0;padding-left:28px;display:flex;gap:10px;align-items:baseline}.location-strip b{font-size:.875rem;font-weight:500}.location-strip small{font-size:.75rem;color:var(--muted)}.section{padding-block:90px}.about-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:120px}.about-grid h2{max-width:420px}.about-copy p:not(.lead){color:var(--muted);margin-bottom:20px}.lead{font-family:var(--serif);font-size:1.8rem;line-height:1.35}.lead span{display:block;font-family:var(--sans);font-size:.875rem;color:#876735;margin-top:8px}.site-footer{background:var(--navy-dark);color:#b9c7ce;padding:50px 0 25px;font-size:.875rem}.footer-brand{font:1.5rem var(--serif);letter-spacing:.07em;color:white;margin-bottom:8px}.footer-bottom{display:flex;justify-content:space-between;gap:24px;border-top:1px solid #314955;margin-top:30px;padding-top:20px;font-size:.75rem}.footer-bottom>div{display:flex;gap:26px}.footer-bottom a:hover{color:var(--gold-light)}
@media(min-width:1600px){.hero-grid{padding-block:100px}.identity-panel{min-height:430px}}
@media(max-width:1100px){.container{width:calc(100% - 56px)}.primary-navigation{gap:17px}.brand-text{font-size:1.2rem}.brand-text>span{font-size:.75rem}.hero-grid{gap:50px}.hero-actions{gap:20px;flex-wrap:wrap}.about-grid{gap:65px}.location-strip{grid-template-columns:1fr 1fr 1.3fr 1fr;gap:12px}.location-strip>span:not(:first-child){padding-left:16px;flex-direction:column;gap:0}}
@media(max-width:850px){html{scroll-padding-top:95px}.header-inner{min-height:85px;flex-wrap:wrap;padding-block:16px}.brand-text{font-size:1.35rem}.brand-text>span{font-size:.75rem}.primary-navigation{flex-basis:100%;flex-wrap:wrap;justify-content:center}.js .menu-toggle{display:flex;align-items:center;gap:9px;background:none;border:1px solid var(--line);padding:8px 12px;font-size:.875rem;min-height:44px}.menu-lines{width:16px;height:10px;border-block:1px solid var(--navy);display:block}.js .primary-navigation{display:none}.js .primary-navigation.is-open{display:flex;flex-direction:column;align-items:stretch;gap:0;text-align:center;padding:12px 0}.primary-navigation>a{padding:12px}.primary-navigation .nav-contact{margin-top:8px}.hero-grid{gap:38px;grid-template-columns:1.12fr 1fr;padding-block:55px}h1{font-size:3.55rem}.eyebrow{font-size:.75rem}.identity-panel{padding:27px;min-height:365px}.panel-main p{font-size:2.1rem}.hero-description{font-size:1rem}.section{padding-block:68px}.about-grid{gap:40px}.location-strip .strip-label{font-size:.75rem}}
@media(max-width:620px){.container{width:calc(100% - 40px)}.information-bar .container{min-height:44px;gap:12px;padding-block:7px;font-size:.75rem}.information-bar span{max-width:220px}.brand-mark{width:37px;height:43px;font-size:30px}.brand-mark span{font-size:19px}.brand-text{font-size:1.1rem}.brand-text>span{font-size:.75rem;letter-spacing:.03em}.brand{gap:9px}.header-inner{gap:10px;min-height:79px}.hero-grid{grid-template-columns:1fr;gap:42px;padding-top:43px;padding-bottom:38px}.hero-copy .eyebrow{font-size:.75rem;letter-spacing:.1em}.eyebrow{margin-bottom:18px}h1{font-size:clamp(3rem,12vw,4.5rem);margin-bottom:22px}.hero-actions{gap:20px;margin-top:25px}.hero-footnote{margin-top:20px}.identity-panel{min-height:320px;margin-right:9px;padding:26px 28px;box-shadow:9px 9px 0 #ece9df}.panel-main p{font-size:2.5rem}.panel-main{margin:20px 0}.panel-bottom{padding-top:15px}.location-strip{grid-template-columns:1fr 1fr 1fr;gap:12px;padding-top:23px;padding-bottom:25px}.location-strip .strip-label{grid-column:1/-1;font-size:.75rem;margin-bottom:3px}.location-strip>span:not(:first-child){padding-left:12px}.location-strip>span:nth-child(2){border:0;padding-left:0}.location-strip b{font-size:.8rem}.location-strip small{font-size:.68rem}.section{padding-block:58px}.about-grid{grid-template-columns:1fr;gap:10px}.about-grid h2{font-size:2.4rem;max-width:330px}.lead{font-size:1.65rem}.footer-bottom{flex-direction:column;gap:15px}.footer-bottom>div{flex-wrap:wrap}.site-footer{padding-top:36px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

/* Original supplied logo remains unmodified; the header displays its shield. */
.brand-mark{position:relative;width:46px;height:57px;border:0;overflow:hidden;flex-shrink:0}.brand-mark img{position:absolute;max-width:none;width:100px;height:100px;left:-27px;top:-8px}.brand-text em{font-style:normal;color:#99702c}.brand-panel{background:#fff;border:1px solid #e4e1d8;box-shadow:12px 12px 0 #ece9df}.hero-logo{padding:12px 25px 6px}.hero-logo img{display:block;width:100%;height:auto}.brand-panel-caption{padding:22px 26px;display:flex;justify-content:space-between;align-items:center;gap:15px;background:var(--navy);color:#e0e7ea}.brand-panel-caption>span:first-child{font:1.2rem var(--serif);color:#fff}.brand-panel-caption small{display:block;font:.75rem var(--sans);color:var(--gold-light);margin-top:8px}.brand-panel-caption>span:last-child{font-size:.75rem;text-align:right;line-height:1.7}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:50px;margin-bottom:37px}.section-heading h2{margin-bottom:0}.section-heading>p{max-width:365px;color:var(--muted);font-size:.9375rem;margin:0 0 3px}.practice-section{background:#f6f7f6;border-block:1px solid #e6e8e5}.practice-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}.practice-card{background:var(--paper);padding:28px 24px 26px;display:flex;flex-direction:column;align-items:flex-start}.card-meta{width:100%;display:flex;align-items:center;justify-content:space-between;margin-bottom:35px;color:#99702c;font-size:.75rem}.card-meta svg{width:30px;height:30px}.practice-card h3{font-size:1.6rem;min-height:58px;line-height:1.18;margin-bottom:18px}.practice-card p{color:var(--muted);font-size:.9375rem;line-height:1.75;margin-bottom:30px}.card-topic{margin-top:auto;font-size:.75rem;letter-spacing:.1em;color:#856331;border-top:1px solid var(--line);padding-top:17px;width:100%;font-weight:600}.section-note{color:var(--muted);font-size:.8125rem;margin:21px 0 0}.insights-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:120px;align-items:center}.muted{color:var(--muted)}.insights-placeholder{border-left:2px solid var(--gold);padding:8px 0 8px 34px}.editorial-label{font-size:.75rem;letter-spacing:.16em;color:#7b684b;display:block;margin-bottom:20px}.insights-placeholder h3{font-size:1.75rem;margin-bottom:14px}.insights-placeholder>p{color:var(--muted);margin-bottom:20px}.topic-list{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:22px}.topic-list span{background:var(--ivory);border:1px solid #e6e1d6;padding:5px 13px;font-size:.75rem;color:#74613d}.insights-placeholder .small-note{font-size:.75rem;margin:0}.faq-section{border-top:1px solid var(--line);background:#fafbf9}.faq-grid{display:grid;grid-template-columns:1fr 1.55fr;gap:100px}.faq-intro>p:last-child{color:var(--muted);max-width:310px}.faq-list{border-top:1px solid #cfd5d3}.faq-list details{border-bottom:1px solid #cfd5d3}.faq-list summary{list-style:none;padding:22px 34px 22px 0;position:relative;font-size:1rem;font-weight:500;line-height:1.5}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary::after{content:'+';position:absolute;right:2px;top:20px;color:#866432;font-size:1.4rem;font-weight:400}.faq-list details[open] summary::after{content:'−'}.faq-list details[open] summary{color:#88652e}.faq-list details>div{padding:0 25px 22px 0;font-size:.9375rem;color:var(--muted)}.faq-list details>div p:last-child{margin-bottom:0}.faq-list a{text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}.contact-section{background:var(--navy);color:#fff}.contact-section .eyebrow{color:var(--gold-light)}.contact-section .section-heading>p{color:#becbd2}.contact-methods{display:grid;grid-template-columns:1fr 1fr 1.25fr;border:1px solid #415867}.contact-method{display:flex;flex-direction:column;gap:7px;padding:28px 26px;transition:background .18s;min-width:0}.contact-method+.contact-method{border-left:1px solid #415867}.contact-method:hover{background:#1d3c4d}.contact-label{font-size:.75rem;color:var(--gold-light);letter-spacing:.16em}.contact-method strong{font:1.35rem var(--serif);font-weight:400;overflow-wrap:anywhere}.contact-method>span:last-child{font-size:.75rem;color:#b9c8d0}.office-grid{display:grid;grid-template-columns:1fr 1fr 1.25fr;gap:35px;padding:40px 0 34px;border-bottom:1px solid #415867}.office{display:flex;gap:18px}.office-number{font-size:.75rem;color:var(--gold-light);margin-top:5px}.office h3{font-size:1.35rem;margin-bottom:13px}.office address{font-style:normal;font-size:.875rem;color:#bccbd2;line-height:1.85}.contact-note{color:#becbd2;font-size:.8125rem;max-width:840px;margin:25px 0 0}.legal-notice{background:var(--ivory);padding:30px 0}.legal-notice>.container{display:grid;grid-template-columns:160px 1fr 160px;gap:30px;align-items:center}.notice-label{font-size:.75rem;letter-spacing:.1em;color:#806034}.legal-notice p{font-size:.8125rem;line-height:1.7;margin:0;color:var(--muted)}.legal-notice a{font-size:.8125rem;text-decoration:underline;text-underline-offset:4px;justify-self:end}.footer-top{display:flex;justify-content:space-between;gap:30px}.footer-top>p{font-size:.8125rem;text-align:right}.footer-brand span{color:var(--gold-light)}.mobile-contact-bar{display:none}.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}
/* Shared layout for the standalone legal information pages. */
.legal-header .header-inner{min-height:95px}.legal-home-link{font-size:.875rem;border-bottom:1px solid var(--gold);padding:5px 0}.legal-hero{background:var(--ivory);padding:65px 0 52px;border-bottom:1px solid var(--line)}.legal-container{width:min(800px,calc(100% - 48px));margin-inline:auto}.legal-hero h1{font-size:clamp(2.7rem,5vw,4rem);margin-bottom:20px}.legal-hero p:last-child{color:var(--muted);margin-bottom:0}.legal-content{padding-block:50px 75px}.legal-content h2{font-size:1.65rem;margin-top:34px;margin-bottom:13px;letter-spacing:-.015em}.legal-content h2:first-child{margin-top:0}.legal-content p,.legal-content li{color:var(--muted);line-height:1.8}.legal-content a{text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}.legal-content ul{padding-left:22px}.draft-notice{background:var(--ivory);border-left:3px solid var(--gold);padding:20px 24px;margin-bottom:34px}.draft-notice strong{display:block;color:var(--ink);margin-bottom:5px}.draft-notice p{font-size:.875rem;margin:0}.legal-page .footer-bottom{margin-top:0}.legal-page .site-footer{padding-top:25px}
@media(max-width:1100px){.hero-grid{gap:55px}.brand-panel-caption{padding:20px;flex-direction:column;align-items:flex-start;gap:15px}.brand-panel-caption>span:last-child{text-align:left}.practice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.practice-card h3{min-height:auto}.insights-grid{gap:65px}.faq-grid{gap:55px}.contact-method{padding:25px 20px}.contact-method strong{font-size:1.2rem}}
@media(max-width:850px){.hero-grid{gap:35px}.brand-panel-caption{padding:20px}.section-heading{gap:35px}.section-heading>p{max-width:320px}.faq-grid{grid-template-columns:1fr;gap:18px}.faq-intro h2 br{display:none}.faq-intro>p:last-child{max-width:none}.legal-notice>.container{grid-template-columns:1fr;gap:12px}.legal-notice a{justify-self:start}.contact-methods{grid-template-columns:1fr}.contact-method{padding:21px 25px}.contact-method+.contact-method{border-left:0;border-top:1px solid #415867}.contact-method strong{font-size:1.5rem}.office-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.office{gap:12px}.office h3{font-size:1.2rem}}
@media(max-width:620px){body{padding-bottom:58px}.brand-mark{width:37px;height:47px}.brand-mark img{width:83px;height:83px;left:-23px;top:-7px}.brand-panel{margin-right:8px;box-shadow:8px 8px 0 #ece9df}.hero-logo{padding:0 15px}.brand-panel-caption{flex-direction:row;align-items:center;padding:20px}.brand-panel-caption>span:first-child{font-size:1.1rem}.brand-panel-caption>span:last-child{text-align:right;font-size:.75rem}.section-heading{display:block;margin-bottom:28px}.section-heading h2{margin-bottom:20px}.section-heading>p{max-width:none}.practice-grid{grid-template-columns:1fr}.practice-card{padding:26px}.card-meta{margin-bottom:23px}.practice-card h3{font-size:1.75rem;margin-bottom:13px}.practice-card p{margin-bottom:24px}.insights-grid{grid-template-columns:1fr;gap:18px}.insights-grid h2 br{display:none}.insights-placeholder{padding-left:24px}.office-grid{grid-template-columns:1fr;gap:28px}.office{gap:22px}.office h3{font-size:1.45rem}.office-number{margin-top:7px}.contact-method strong{font-size:1.4rem}.footer-top{flex-direction:column;gap:8px}.footer-top>p{text-align:left}.mobile-contact-bar{display:grid;grid-template-columns:repeat(3,1fr);position:fixed;bottom:0;left:0;right:0;z-index:25;background:var(--navy-dark);color:white;border-top:1px solid #5b6c70;padding-bottom:env(safe-area-inset-bottom)}.mobile-contact-bar a{display:flex;align-items:center;justify-content:center;min-height:56px;font-size:.875rem}.mobile-contact-bar a+a{border-left:1px solid #3a515e}.mobile-contact-bar a:hover{background:#23495b}.legal-page{padding-bottom:0}.legal-header .header-inner{min-height:84px}.legal-home-link{font-size:.75rem}.legal-hero{padding:43px 0 35px}.legal-content{padding-block:35px 55px}.legal-container{width:calc(100% - 40px)}}
@media(max-width:360px){.brand-text{font-size:1rem}.brand-text>span{font-size:.75rem}.js .menu-toggle{padding:8px}.hero-copy .eyebrow{font-size:.75rem}.brand-panel-caption{flex-direction:column;align-items:flex-start}.brand-panel-caption>span:last-child{text-align:left}}

@media(max-width:620px){.brand-text>span{display:none}.brand-text{font-size:1.12rem}.brand-mark{height:47px}}
@media(max-width:360px){.brand-text{font-size:1rem}}

/* Give the expanded navigation a compact menu before it crowds the brand. */
@media(min-width:851px) and (max-width:980px){
  html{scroll-padding-top:95px}
  .header-inner{min-height:85px;flex-wrap:wrap;padding-block:16px}
  .primary-navigation{flex-basis:100%;flex-wrap:wrap;justify-content:center}
  .js .menu-toggle{display:flex;align-items:center;gap:9px;background:none;border:1px solid var(--line);padding:8px 12px;font-size:.875rem;min-height:44px}
  .menu-lines{width:16px;height:10px;border-block:1px solid var(--navy);display:block}
  .js .primary-navigation{display:none}
  .js .primary-navigation.is-open{display:flex;flex-direction:column;align-items:stretch;gap:0;text-align:center;padding:12px 0}
  .primary-navigation>a{padding:12px}
  .primary-navigation .nav-contact{margin-top:8px}
}

/* Admin-managed public content. */
.service-description{width:100%;overflow-wrap:anywhere}.service-description p{margin-bottom:20px}.practice-card h3,.vacancy-card h3,.office h3,.office address{overflow-wrap:anywhere}.vacancy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px}.vacancy-card{padding:30px;border:1px solid var(--line);background:var(--ivory);min-width:0}.vacancy-card h3{font-size:1.8rem}.vacancy-description{color:var(--muted);overflow-wrap:anywhere;margin-bottom:24px}.vacancy-description p:last-child{margin-bottom:0}.career-empty{max-width:750px;color:var(--muted)}.career-empty .button{margin-top:10px}.empty-public{padding:30px;background:#fff;margin:0;grid-column:1/-1;color:var(--muted)}.site-credit{width:min(var(--max),calc(100% - 96px));margin:24px auto 0;padding-top:18px;border-top:1px solid #314955;text-align:center;font-size:.8125rem;color:#bac7ce}.site-credit a{color:var(--gold-light);text-decoration:underline;text-underline-offset:3px}.site-credit span{margin-inline:12px}.location-strip{display:flex;flex-wrap:wrap}.location-strip .strip-label{flex:0 0 165px}.location-strip>span:not(:first-child){flex:1 1 160px;min-width:0;overflow-wrap:anywhere}.office{min-width:0}.office>div{min-width:0}
@media(max-width:620px){.vacancy-grid{grid-template-columns:1fr}.vacancy-card{padding:24px}.site-credit{width:calc(100% - 40px)}.location-strip .strip-label{flex-basis:100%}.location-strip>span:not(:first-child){flex:1 1 85px}}
