@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Libre+Caslon+Display&display=swap');
:root{--ink:#15262d;--muted:#536268;--paper:#fafaf7;--copper:#90664b;--line:#d5d9d7;--serif:'Libre Caslon Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #b67d4f;outline-offset:6px}h1,h2,h3,p{margin:0}h1,h2{font-weight:400;letter-spacing:-.035em;line-height:1.04;font-family:var(--serif)}h2{font-size:clamp(42px,5vw,68px)}em{font-style:italic;color:var(--copper)}.header{min-height:100px;padding:20px 5%;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line);background:var(--paper);position:sticky;top:0;z-index:10}.brand{display:flex;gap:15px;align-items:center}.brand img{border-radius:50%;mix-blend-mode:multiply}.brand strong{display:block;letter-spacing:.13em;font-size:17px;font-weight:600}.brand small{display:block;font-size:10px;letter-spacing:.11em;margin-top:3px}.header nav{display:flex;align-items:center;gap:32px;font-size:14px}.header nav a{padding:9px 0}.header nav a:hover{color:var(--copper)}.header nav .nav-contact{padding:10px 23px;border:1px solid var(--ink)}.menu-button{display:none}.hero{display:grid;grid-template-columns:1.17fr 1fr;margin:0 5%;padding-top:54px;gap:32px 6%}.hero-copy{padding:16px 0 50px}.eyebrow{font-size:12px;letter-spacing:.16em;font-weight:600;display:flex;align-items:center;gap:15px}.short-line{width:28px;height:1px;background:var(--copper)}h1{font-size:clamp(65px,7.1vw,112px);margin:28px 0 25px}.hero-intro{max-width:430px;color:var(--muted);font-size:17px;line-height:1.75;margin-bottom:30px}.button{display:inline-flex;align-items:center;justify-content:center;padding:15px 28px;font-size:14px;font-weight:500;transition:background .2s}.button-dark{background:var(--ink);color:white}.button-dark:hover{background:#314950}.hero-panel{background:var(--ink);color:var(--paper);padding:30px 34px 32px;display:flex;flex-direction:column;justify-content:space-between;position:relative;min-height:570px}.panel-top{display:flex;justify-content:space-between;gap:16px;color:#bec8c9;font-size:10px;letter-spacing:.14em}.panel-brand{text-align:center;margin:30px 0}.panel-brand img{width:116px;height:116px;border-radius:50%;margin:0 auto 18px;display:block}.panel-brand>p:first-of-type{font-family:var(--serif);font-size:73px;line-height:1}.panel-brand>p:first-of-type span{font:13px var(--sans);letter-spacing:.5em;display:block;margin-top:12px;padding-left:.5em}.panel-rule{width:40px;height:1px;background:#c39b7f;margin:30px auto 22px}.panel-brand .panel-motto{font:27px/1.3 var(--serif);color:#e0d5cc}.panel-bottom{border-top:1px solid #526168;padding-top:20px;display:grid;grid-template-columns:1fr auto;gap:6px 12px}.panel-bottom>span{grid-column:1/-1;font-size:10px;letter-spacing:.15em;color:#b7c2c5}.panel-bottom p{font-size:13px;color:#dce2e1}.panel-bottom a{align-self:end;font-size:17px}.hero-foot{grid-column:1/-1;display:flex;justify-content:space-between;gap:20px;font-size:11px;letter-spacing:.18em;padding:25px 0;border-bottom:1px solid var(--line)}.section{padding:104px 5%}.about{display:grid;grid-template-columns:1fr 1fr;gap:10%;border-bottom:1px solid var(--line)}.section .eyebrow{color:var(--copper);margin-bottom:30px}.about-copy{padding-top:48px}.about-copy p{color:var(--muted);margin-bottom:20px}.about-copy .lead{color:var(--ink);font-size:22px;line-height:1.55}.text-link{display:inline-block;font-size:14px;border-bottom:1px solid var(--copper);padding-bottom:5px;margin-top:12px;font-weight:500}.text-link:hover{color:var(--copper)}.practice{background:#eef0ed}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:48px}.section-heading>p{max-width:290px;color:var(--muted);font-size:16px}.practice-list{border-top:1px solid #b9c2c0}.practice-list details{border-bottom:1px solid #bcc5c2}.practice-list summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:55px 1fr auto 26px;align-items:center;gap:20px;padding:25px 0;transition:padding .2s}.practice-list summary::-webkit-details-marker{display:none}.practice-list summary:hover{color:var(--copper);padding-left:8px}.number{font-size:12px;color:var(--copper)}.practice-list h3{font-family:var(--serif);font-size:36px;line-height:1.2;font-weight:400}.practice-tag{font-size:10px;letter-spacing:.12em;color:var(--muted);padding-right:28px}.plus{height:16px;width:16px;position:relative;display:block}.plus:before,.plus:after{content:'';position:absolute;background:currentColor;top:7px;left:0;width:16px;height:1px}.plus:after{transform:rotate(90deg);transition:transform .2s}details[open] .plus:after{transform:rotate(0)}.detail-copy{padding:0 65px 26px 75px;max-width:800px;color:var(--muted)}.team-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.lawyer{border-top:2px solid var(--ink);border-bottom:1px solid var(--line);padding:30px 28px 34px 0;position:relative;overflow:hidden}.lawyer-role{font-size:11px;letter-spacing:.15em;color:var(--copper)}.lawyer h3{font:46px/1.08 var(--serif);margin:30px 0;letter-spacing:-.015em;position:relative;z-index:1}.lawyer-info{position:relative;z-index:1;max-width:320px}.lawyer-info p{font-size:14px;color:var(--muted);min-height:47px;margin-bottom:20px}.lawyer-info a{font-size:18px;border-bottom:1px solid var(--line);padding-bottom:4px}.lawyer-info a:hover{color:var(--copper)}.lawyer-initial{font:240px/1 var(--serif);color:#eceee9;position:absolute;bottom:8px;right:0;pointer-events:none}.contact{background:var(--ink);color:var(--paper);padding:82px 5% 70px}.contact-top{max-width:930px}.contact .eyebrow{color:#cab09b;margin-bottom:30px}.contact h2{font-size:clamp(42px,5.5vw,76px)}.contact em{color:#cba88b}.contact-top>p:last-child{max-width:560px;margin-top:28px;color:#c5d0d0}.contact-grid{margin-top:62px;border-top:1px solid #506068;padding-top:35px;display:grid;grid-template-columns:1.05fr 1fr 1fr;gap:40px}.contact-grid h3{font-size:11px;letter-spacing:.15em;font-weight:500;color:#b9c7ca;margin-bottom:20px}.contact-phone{font-family:var(--serif);font-size:35px;line-height:1.2}.contact-grid>div>p{font-size:13px;color:#c5d0d0}.contact-mail{display:inline-block;margin-top:23px;font-size:17px}.contact a:hover{color:#d6bda8}address{font-size:16px;font-style:normal;line-height:1.85}.text-link.light{border-color:#b89579;color:var(--paper);margin-top:20px}.contact-direct p{margin-bottom:19px}.contact-direct p a{display:block;font-size:18px;color:var(--paper);margin-top:4px}footer{padding:38px 5% 22px;background:#102027;color:#b5c1c3}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-bottom:28px;border-bottom:1px solid #374a51}.footer-brand{font:26px var(--serif);color:var(--paper)}.footer-top>span{font-size:10px;letter-spacing:.14em}.footer-top>a:last-child{font-size:13px}footer>p{font-size:12px;line-height:1.8;max-width:900px;margin-top:25px}.footer-bottom{display:flex;justify-content:space-between;gap:20px;font-size:11px;margin-top:30px}.skip{position:fixed;left:15px;top:-100px;z-index:30;background:var(--paper);padding:12px 20px}.skip:focus{top:15px}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1600px){.header{padding-left:max(5%,calc((100vw - 1440px)/2));padding-right:max(5%,calc((100vw - 1440px)/2))}.hero{max-width:1440px;margin:auto}.section,.contact,footer{padding-left:max(5%,calc((100vw - 1440px)/2));padding-right:max(5%,calc((100vw - 1440px)/2))}}
@media(max-width:1000px){.header nav{gap:18px}.brand strong{font-size:14px}.brand small{font-size:9px}.brand img{width:48px;height:48px}.hero{gap:25px 5%}.hero-panel{padding:25px;min-height:530px}h1{font-size:80px}.panel-top{font-size:9px;letter-spacing:.06em}.panel-bottom{grid-template-columns:1fr}.panel-bottom a{margin-top:7px}.section{padding-top:80px;padding-bottom:80px}.practice-tag{display:none}.practice-list summary{grid-template-columns:45px 1fr 26px}.contact-grid{gap:25px;grid-template-columns:1fr 1fr}.contact-direct{grid-column:1/-1;display:flex;gap:40px;flex-wrap:wrap}.contact-direct h3{width:100%;margin-bottom:0}.contact-phone{font-size:33px}.lawyer h3{font-size:40px}}
@media(max-width:760px){html{scroll-padding-top:85px}.header{min-height:80px;padding:15px 6%;gap:10px;flex-wrap:wrap}.brand{gap:10px}.brand img{width:42px;height:42px}.brand strong{font-size:12px;letter-spacing:.08em}.brand small{font-size:8px;letter-spacing:.04em}.menu-button{display:flex;gap:12px;align-items:center;border:0;background:transparent;padding:10px 0 10px 10px;font-size:14px;color:var(--ink)}.menu-button span{font-size:18px}.header nav{display:none;width:100%;padding:15px 0 10px;align-items:stretch;gap:0}.header nav.open{display:flex;flex-direction:column}.header nav a{padding:12px 0;border-top:1px solid var(--line)}.header nav .nav-contact{padding:12px 0;border:none;border-top:1px solid var(--line)}.hero{margin:0 6%;padding-top:32px;grid-template-columns:1fr;gap:0}.hero-copy{padding-top:0;padding-bottom:35px}.eyebrow{font-size:10px;letter-spacing:.13em}h1{font-size:clamp(66px,14vw,95px);margin-top:24px}.hero-intro{font-size:16px;max-width:460px}.hero-panel{min-height:440px;padding:24px}.panel-top{font-size:9px}.panel-brand{margin:28px 0}.panel-brand img{width:88px;height:88px;margin-bottom:14px}.panel-brand>p:first-of-type{font-size:57px}.panel-rule{margin:23px auto 17px}.panel-brand .panel-motto{font-size:25px}.panel-bottom{grid-template-columns:1fr auto}.panel-bottom a{font-size:16px}.hero-foot{display:grid;grid-template-columns:1fr 1fr;gap:14px 20px;font-size:9px;padding:25px 0}.section{padding:65px 6%}.about{grid-template-columns:1fr;gap:0}.section .eyebrow{margin-bottom:23px}h2{font-size:48px}.about-copy{padding-top:30px}.about-copy .lead{font-size:21px}.section-heading{align-items:start;flex-direction:column;gap:24px;margin-bottom:30px}.section-heading>p{max-width:100%;font-size:15px}.practice-list summary{grid-template-columns:25px 1fr 18px;gap:12px;padding:24px 0}.practice-list h3{font-size:29px}.detail-copy{padding:0 25px 23px 37px;font-size:15px}.team-grid{grid-template-columns:1fr;gap:35px}.lawyer{padding-top:25px}.lawyer h3{font-size:43px;margin:24px 0}.lawyer-info p{min-height:0}.lawyer-initial{font-size:215px}.contact{padding:60px 6%}.contact h2{font-size:49px}.contact h2 em{display:block;margin-top:5px}.contact-grid{grid-template-columns:1fr;gap:34px;margin-top:38px}.contact-direct{display:block;grid-column:auto}.contact-grid h3{margin-bottom:15px}.contact-direct p{margin-bottom:19px}.contact-phone{font-size:39px}footer{padding:30px 6% 24px}.footer-top{flex-wrap:wrap;gap:12px}.footer-top>span{order:3;width:100%;font-size:9px}.footer-bottom{font-size:10px;flex-wrap:wrap}.button{min-height:50px}footer>p{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Small labels remain legible across screen sizes. */
.brand small{font-size:12px;letter-spacing:.025em}.panel-top,.panel-bottom>span,.hero-foot,.eyebrow,.practice-tag,.lawyer-role,.contact-grid h3,.footer-top>span,.footer-bottom{font-size:12px}.panel-bottom p{font-size:14px}.header nav{font-size:14px}
@media(max-width:1000px){.brand small{max-width:190px;line-height:1.4}.header nav{gap:14px}.header nav .nav-contact{padding:10px 16px}.panel-top{flex-wrap:wrap}}
@media(max-width:760px){.brand small{display:none}.brand strong{font-size:14px}.hero-foot{font-size:12px;letter-spacing:.07em}.panel-top{font-size:12px;letter-spacing:.04em}.header nav .nav-contact{padding:12px 0}.footer-top>span,.footer-bottom{font-size:12px}.eyebrow{font-size:12px}}
