@font-face{font-family:Cormorant;src:url(assets/cormorant.woff2) format('woff2');font-weight:300 600;font-display:swap}
@font-face{font-family:Jost;src:url(assets/jost.woff2) format('woff2');font-weight:300 600;font-display:swap}
:root{--navy:#101f35;--paper:#f5f2eb;--gold:#b08d57;--light-gold:#d9c08c;--text:#344052;--side:clamp(24px,6vw,112px);color:var(--navy);background:var(--paper);font:400 17px/1.55 Jost,Arial,sans-serif}
*{box-sizing:border-box} html{scroll-behavior:smooth}body,figure,h1,h2,p{margin:0}a{color:inherit;text-decoration:none}a:focus-visible,summary:focus-visible{outline:3px solid #b0833e;outline-offset:5px}.wrap{max-width:1600px;margin:auto;padding-inline:var(--side)}.skip{position:fixed;left:1rem;top:-8rem;z-index:5;background:white;padding:.6rem 1rem}.skip:focus{top:1rem}
.top{min-height:92px;display:flex;align-items:center;justify-content:space-between;gap:24px}.logo img{display:block;width:145px;height:auto}.top nav{display:flex;align-items:center;gap:clamp(20px,3.5vw,58px);font-size:16px}.top nav a:hover,.bio a:hover,footer a:hover{text-decoration:underline;text-underline-offset:5px}.nav-contact{border:1px solid #b9ad96;padding:8px 18px}.nav-contact span{margin-left:12px}
.hero{background:var(--navy);color:var(--paper);display:grid;grid-template-columns:54% 46%;max-width:1920px;margin:auto}.hero-content{display:flex;align-items:center;padding:clamp(40px,5vw,86px) clamp(24px,3vw,50px) clamp(42px,5.4vw,88px) max(var(--side),calc((100vw - 1600px)/2 + var(--side)))}.hero-copy{max-width:630px}.kicker,.eyebrow{font-size:12px;letter-spacing:.17em;text-transform:uppercase;font-weight:500}.kicker{display:flex;align-items:center;gap:14px;color:var(--light-gold)}.kicker i{width:33px;height:1px;background:currentColor}h1,h2,summary{font-family:Cormorant,Georgia,serif;font-weight:500}h1{font-size:clamp(65px,7.9vw,125px);line-height:.88;letter-spacing:-.049em;margin:32px 0 26px}h1 span{color:var(--light-gold)}.lead{max-width:31em;color:#e1e1de;font-size:clamp(17px,1.4vw,22px);line-height:1.52;font-weight:350}.action{display:inline-flex;gap:24px;align-items:center;margin-top:36px;border-bottom:1px solid var(--light-gold);padding-bottom:6px}.action span{color:var(--light-gold)}.action:hover{color:var(--light-gold)}.architecture{position:relative;min-width:0}.architecture>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 53%}.seal{position:absolute;right:24px;bottom:24px;display:grid;align-content:center;justify-items:center;background:var(--light-gold);color:var(--navy);width:70px;aspect-ratio:1}.seal b{font:500 28px/1 Cormorant,Georgia,serif;letter-spacing:.055em}.seal i{width:20px;border-top:1px solid currentColor;margin:4px}.seal small{font-size:5px;letter-spacing:.25em}
.section{padding-block:clamp(62px,7.6vw,126px);scroll-margin-top:12px}.eyebrow{color:#625138;margin-bottom:28px}.section-grid{display:grid;grid-template-columns:1fr 1.18fr;gap:7%}h2{font-size:clamp(49px,5.5vw,85px);line-height:.96;letter-spacing:-.045em}.practice-group h3{font:500 14px/1.5 Jost,Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#625138;margin:0;border-bottom:1px solid #c7c1b5;padding-bottom:10px}.practice-group+.practice-group{margin-top:42px}.services details{border-bottom:1px solid #c7c1b5}.services summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:14px;font-size:clamp(29px,2.8vw,43px);line-height:1.1;padding:19px 0}.services summary::-webkit-details-marker{display:none}.services summary:after{content:'+';font:300 25px/1 Jost;color:#65573e}.services details[open] summary:after{content:'−'}.services p{max-width:55ch;color:var(--text);padding:0 26px 24px 0}.office{background:#eae6dc}.bio{max-width:50ch}.rule{width:48px;border-top:1px solid var(--gold);margin:4px 0 20px}.contact{background:var(--navy);color:var(--paper)}.contact .eyebrow{color:var(--light-gold)}address{font-style:normal}address a{display:block;font:500 clamp(27px,3vw,44px)/1.3 Cormorant,Georgia,serif;width:max-content;max-width:100%;border-bottom:1px solid #596473;margin-bottom:14px}address a:hover{border-color:var(--light-gold)}address a span{font:400 .55em Jost;color:var(--light-gold);margin-left:.4em}address p{margin-top:24px;color:#d7d9dc}footer{background:var(--navy);color:#dddcd6;font-size:14px}footer .wrap{border-top:1px solid #4b5460;display:flex;justify-content:space-between;gap:20px;padding-block:18px}
@media(min-width:1800px){.hero-content{padding-left:125px}}
@media(max-width:760px){.top{min-height:74px;gap:15px}.logo img{width:111px}.top nav{gap:16px;font-size:14px}.nav-contact{padding:4px 8px}.nav-contact span{display:none}.hero{grid-template-columns:1fr}.hero-content{padding:44px var(--side)}h1{margin:26px 0 18px}.lead{max-width:36em}.action{margin-top:24px}.architecture{height:clamp(210px,53vw,310px)}.architecture>img{object-position:52% 58%}.seal{width:55px;right:16px;bottom:16px}.seal b{font-size:23px}.section-grid{grid-template-columns:1fr;gap:28px}.eyebrow{margin-bottom:18px}.office h2 br{display:none}.section{padding-block:54px}}
@media(max-width:410px){.top{padding-inline:16px}.logo img{width:91px}.top nav{gap:11px;font-size:13px}h1{font-size:clamp(54px,16vw,65px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.office h2.eyebrow{font-family:Jost,Arial,sans-serif;line-height:1.55}
.office .section-grid{align-items:center}
.office-mark{display:block;width:clamp(140px,14vw,200px);height:auto}
.whatsapp{--edge:clamp(16px,2vw,28px);position:fixed;z-index:4;inset-inline-end:max(var(--edge),env(safe-area-inset-right));bottom:max(var(--edge),env(safe-area-inset-bottom));display:grid;place-items:center;width:56px;height:56px;border:1px solid #13733c;border-radius:50%;background:#25d366;color:white;box-shadow:0 3px 14px #101f3533}
.whatsapp:hover{background:#188d48}
.whatsapp:focus-visible{outline:3px solid var(--navy);outline-offset:2px;box-shadow:0 0 0 7px white}
footer .wrap{padding-right:max(var(--side),108px)}
@media(max-width:760px){.whatsapp{width:50px;height:50px}.whatsapp svg{width:28px;height:28px}footer .wrap{flex-wrap:wrap;padding-right:84px}}
