:root{--navy:#102a43;--navy2:#183b56;--ivory:#f7f3ea;--paper:#fffdf8;--bronze:#aa7b45;--ink:#1d2832;--muted:#5f6b75;--line:#d9d2c6;--white:#fff;--max:1180px;--serif:Georgia,"Times New Roman",serif;--sans:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--sans);line-height:1.65}a{color:inherit}.wrap{width:min(calc(100% - 40px),var(--max));margin:auto}.skip-link{position:fixed;left:16px;top:-80px;background:#fff;padding:12px;z-index:99}.skip-link:focus{top:12px}.utility{background:var(--navy);color:#d9e2ec;font-size:.78rem;letter-spacing:.04em}.utility .wrap{display:flex;justify-content:space-between;padding:8px 0}.utility a{text-decoration:none}.utility i{display:inline-block;width:1px;height:12px;background:#829ab1;margin:0 12px;vertical-align:-2px}.site-header{position:sticky;top:0;z-index:20;background:rgba(255,253,248,.96);backdrop-filter:blur(10px);border-bottom:1px solid rgba(217,210,198,.8)}.nav{height:86px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px;text-decoration:none}.brand strong,.brand small{display:block}.brand strong{font-family:var(--serif);font-size:1.03rem}.brand small{font-size:.66rem;text-transform:uppercase;letter-spacing:.17em;color:var(--muted)}.monogram{width:43px;height:43px;border:1px solid var(--bronze);display:grid;place-items:center;font:1.55rem var(--serif);color:var(--navy)}.nav-links{display:flex;align-items:center;gap:30px}.nav-links>a{font-size:.82rem;text-decoration:none;font-weight:700;letter-spacing:.03em}.button{display:inline-flex;justify-content:center;align-items:center;background:var(--navy);color:#fff!important;text-decoration:none;padding:14px 22px;border:1px solid var(--navy);font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;transition:.2s}.button:hover{background:var(--bronze);border-color:var(--bronze)}.button-small{padding:10px 16px}.menu-toggle{display:none;border:0;background:none;padding:8px}.menu-toggle span{display:block;width:25px;height:2px;background:var(--navy);margin:5px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.hero{background:var(--ivory);position:relative;overflow:hidden}.hero:after{content:"";position:absolute;width:560px;height:560px;border:1px solid rgba(170,123,69,.18);border-radius:50%;right:-250px;top:-250px;box-shadow:0 0 0 70px rgba(170,123,69,.04),0 0 0 140px rgba(170,123,69,.025)}.hero-grid{min-height:670px;display:grid;grid-template-columns:1.45fr .75fr;gap:100px;align-items:center;position:relative;z-index:1}.eyebrow,.section-label{text-transform:uppercase;letter-spacing:.2em;font-size:.72rem;font-weight:700;color:var(--bronze);margin:0 0 18px}.hero h1{font:clamp(2.8rem,5.3vw,5.15rem)/1.02 var(--serif);letter-spacing:-.035em;margin:0;max-width:820px;color:var(--navy)}.lede{font-size:1.08rem;color:var(--muted);max-width:750px;margin:28px 0}.hero-actions{display:flex;align-items:center;gap:30px}.text-link{font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;text-decoration:none;color:var(--navy)}.hero-panel{background:var(--navy);color:#fff;padding:38px}.panel-kicker{text-transform:uppercase;letter-spacing:.16em;font-size:.68rem;color:#bcccdc;margin:0 0 18px}.metric{display:grid;grid-template-columns:92px 1fr;align-items:center;padding:18px 0;border-top:1px solid rgba(255,255,255,.16)}.metric strong{font:2rem var(--serif);color:#dfb77f}.metric span{font-size:.82rem;color:#d9e2ec}.panel-note{font:italic .92rem var(--serif);color:#bcccdc;margin:22px 0 0}.hero-rule{height:4px;background:linear-gradient(90deg,var(--bronze) 0 24%,transparent 24%)}.section{padding:100px 0}.split{display:grid;grid-template-columns:.55fr 1.5fr;gap:70px}.split h2,.section-heading h2,.attorney h2,.contact h2{font:clamp(2rem,3.7vw,3.4rem)/1.13 var(--serif);color:var(--navy);margin:0 0 24px;letter-spacing:-.02em}.split p:last-child{color:var(--muted);font-size:1.08rem;max-width:760px}.practice{background:#f0ece3}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:60px;margin-bottom:50px}.section-heading h2{max-width:700px}.section-heading>p{max-width:380px;color:var(--muted)}.practice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.practice-card{background:var(--paper);padding:32px;min-height:285px;transition:.25s}.practice-card:hover{background:#fff;transform:translateY(-3px);box-shadow:0 12px 28px rgba(16,42,67,.09);z-index:2}.practice-card.featured{background:var(--navy);color:#fff}.card-number{font:italic .8rem var(--serif);color:var(--bronze)}.practice-card h3{font:1.45rem/1.25 var(--serif);color:var(--navy);margin:38px 0 15px}.practice-card.featured h3{color:#fff}.practice-card p{font-size:.89rem;color:var(--muted);margin:0 0 12px}.practice-card.featured p{color:#d9e2ec}.practice-card a{display:inline-block;margin:6px 14px 0 0;color:var(--navy);font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700;text-decoration:none}.attorney{background:var(--paper)}.attorney-grid{display:grid;grid-template-columns:.62fr 1.38fr;gap:90px;align-items:center}.attorney-mark{aspect-ratio:4/5;background:var(--navy);position:relative;display:grid;place-items:center;overflow:hidden}.attorney-mark:before,.attorney-mark:after{content:"";position:absolute;border:1px solid rgba(223,183,127,.3);width:95%;height:75%;transform:rotate(33deg)}.attorney-mark:after{transform:rotate(-33deg)}.attorney-mark span{font:clamp(5rem,10vw,9rem) var(--serif);color:#dfb77f;z-index:1}.attorney-mark small{position:absolute;bottom:28px;color:#fff;text-transform:uppercase;letter-spacing:.25em;font-size:.65rem}.role{color:var(--bronze);font-size:.8rem;text-transform:uppercase;letter-spacing:.15em;font-weight:700;margin-top:-14px}.attorney-copy>p:not(.eyebrow):not(.role){color:var(--muted)}.credentials{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;border-top:1px solid var(--line);margin-top:34px;padding-top:28px}.credentials strong,.credentials span{display:block}.credentials strong{font-family:var(--serif);color:var(--navy);margin-bottom:8px}.credentials span{font-size:.76rem;color:var(--muted);margin:4px 0}.perspective{background:var(--navy);color:#fff}.quote-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:100px;align-items:center}.quote-grid blockquote{font:clamp(2rem,3.6vw,3.4rem)/1.2 var(--serif);margin:0;color:#fff}.quote-grid>div p:last-child{color:#bcccdc}.approach-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:34px}.approach-grid article{border-top:2px solid var(--bronze);padding-top:22px}.approach-grid span{font:italic .76rem var(--serif);color:var(--bronze)}.approach-grid h3{font:1.25rem var(--serif);color:var(--navy)}.approach-grid p{font-size:.86rem;color:var(--muted)}.contact{background:var(--bronze);color:#fff}.contact-grid{display:grid;grid-template-columns:1fr .72fr;gap:100px;align-items:start}.contact h2{color:#fff;max-width:700px}.contact-grid>div:first-child>p:last-child{max-width:600px;color:#fff4e5}.light{color:#fff}.contact-card{background:#fff;color:var(--ink);padding:40px}.contact-card>div{border-bottom:1px solid var(--line);padding:0 0 20px;margin:0 0 20px}.contact-card span{display:block;font-size:.67rem;text-transform:uppercase;letter-spacing:.15em;color:var(--bronze);font-weight:700}.contact-card a,.contact-card address{font:1.1rem/1.5 var(--serif);text-decoration:none;color:var(--navy)}.contact-card address{font-style:normal}.button-light{width:100%;margin-top:5px}footer{background:#0a1f33;color:#bcccdc;padding:65px 0 30px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:60px}.footer-brand strong{color:#fff}.footer-brand small{color:#829ab1}.footer-grid>div:not(:first-child){display:flex;flex-direction:column;gap:8px}.footer-grid>div>strong{color:#fff;font:1rem var(--serif);margin-bottom:8px}.footer-grid a{text-decoration:none;font-size:.8rem}.legal{border-top:1px solid rgba(255,255,255,.12);margin-top:45px;padding-top:24px;display:grid;grid-template-columns:.65fr 1.35fr;gap:60px}.legal p{font-size:.68rem;color:#829ab1}.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}.reveal.visible{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}@media(max-width:900px){.utility{display:none}.nav{height:72px}.brand strong{font-size:.9rem}.nav-links{position:absolute;display:none;top:72px;left:0;right:0;background:var(--paper);padding:24px 20px;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch}.nav-links.open{display:flex}.menu-toggle{display:block}.hero-grid,.attorney-grid,.contact-grid,.quote-grid{grid-template-columns:1fr;gap:55px}.hero-grid{padding:80px 0}.hero-panel{max-width:560px}.practice-grid{grid-template-columns:repeat(2,1fr)}.credentials{grid-template-columns:1fr}.approach-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.wrap{width:min(calc(100% - 28px),var(--max))}.brand small{display:none}.section{padding:72px 0}.hero-grid{padding:65px 0}.hero h1{font-size:2.65rem}.hero-actions{align-items:stretch;flex-direction:column;gap:18px}.split,.practice-grid,.approach-grid,.footer-grid,.legal{grid-template-columns:1fr}.split{gap:16px}.section-heading{display:block}.practice-card{min-height:auto}.attorney-grid{gap:35px}.attorney-mark{max-height:430px}.quote-grid{gap:45px}.contact-grid{gap:40px}.contact-card{padding:28px}.footer-grid{gap:35px}}

/* Firm identity and attorney portrait */
.brand{display:block;width:190px;height:66px;background:url("firm-logo.jpg") center/contain no-repeat;text-decoration:none;flex:0 0 auto}
.brand>span{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.attorney-mark{aspect-ratio:262/250;background:var(--navy);position:relative;margin:0;overflow:hidden;border:10px solid var(--navy);box-shadow:18px 18px 0 var(--ivory)}
.attorney-mark:before,.attorney-mark:after{display:none}
.attorney-photo{display:block;width:100%;height:100%;object-fit:cover;object-position:center top}
.attorney-mark figcaption{position:absolute;left:0;right:0;bottom:0;padding:30px 18px 14px;background:linear-gradient(transparent,rgba(10,31,51,.9));color:#fff;text-align:center;text-transform:uppercase;letter-spacing:.16em;font-size:.68rem}
(max-width:620px){.brand{width:150px;height:52px}.attorney-mark{max-height:none;box-shadow:10px 10px 0 var(--ivory)}}
