@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Caslon+Display&display=swap');
:root{--ink:#19384b;--paper:#f7f3ea;--white:#fffdf8;--muted:#495a63;--line:#c5cbc7;--wine:#a43d3d;--pale:#e6e8e2;--serif:'Libre Caslon Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font:400 1rem/1.7 var(--sans)}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;max-width:100%}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.08}p+p{margin-top:1rem}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--wine);outline-offset:6px}::selection{background:#e1c6be}.skip{position:fixed;top:-100px;left:20px;z-index:9;background:var(--paper);padding:10px 20px}.skip:focus{top:10px}.wrap{max-width:1328px;margin:auto;padding:0 64px}.topline{background:var(--ink);color:#dce3e5;font-size:.75rem;letter-spacing:.08em}.topline .wrap{display:flex;justify-content:space-between;padding-top:8px;padding-bottom:8px}.topline a:hover{color:var(--paper)}.header{background:var(--paper)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:30px;min-height:116px}.brand{display:flex;align-items:center;gap:21px;flex-shrink:0}.monogram{font-family:var(--serif);font-size:2.9rem;line-height:1;letter-spacing:-.08em;padding-right:23px;border-right:2px solid var(--wine)}.brand-name{font-family:var(--serif);font-size:1.35rem;line-height:1.1}.brand-sub{font-family:var(--sans);text-transform:uppercase;font-size:.65rem;letter-spacing:.18em;margin-top:8px;display:block}.nav{display:flex;gap:30px;align-items:center;font-size:.875rem}.nav a:not(.button){padding:9px 0;border-bottom:1px solid transparent}.nav a[aria-current=page],.nav a:hover{border-color:var(--wine);color:var(--wine)}.button{display:inline-flex;justify-content:center;align-items:center;min-height:48px;padding:12px 25px;background:var(--wine);color:var(--paper);border:1px solid var(--wine);font-size:.875rem;font-weight:500;transition:background .2s}.button:hover{background:#873332;color:var(--paper)}.button.light{background:var(--paper);color:var(--ink);border-color:var(--paper)}.button.light:hover{background:var(--pale)}.button.outline{background:none;border-color:var(--ink);color:var(--ink)}.button.outline:hover{background:var(--ink);color:var(--paper)}.menu-button{display:none;border:0;background:none;color:var(--ink);padding:8px}.hero{background:var(--ink);color:var(--paper)}.hero-grid{display:grid;grid-template-columns:1.03fr 1fr;min-height:594px}.hero-copy{padding:72px 50px 62px 0;align-self:center}.eyebrow{display:block;font-size:.75rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;line-height:1.5;color:var(--wine);margin-bottom:26px}.hero .eyebrow{color:#cdd7d8}.hero h1{font-size:clamp(3.9rem,5.5vw,5.5rem);letter-spacing:-.025em;line-height:1.02;max-width:650px}.hero .intro{font-size:1.05rem;line-height:1.8;max-width:410px;margin:28px 0 31px;color:#d4dddf}.hero-visual{margin:32px -32px 32px 0;position:relative;min-height:450px;overflow:hidden}.hero-visual img{height:100%;width:100%;object-fit:cover;object-position:55% 65%;filter:saturate(1.05) contrast(1.08);position:absolute;inset:0}.photo-label{position:absolute;bottom:0;left:0;right:0;padding:60px 27px 24px;background:linear-gradient(transparent,rgba(13,28,35,.82));color:var(--paper);font-size:.75rem;letter-spacing:.12em;text-transform:uppercase}.photo-label span{display:block;font-size:1rem;letter-spacing:0;text-transform:none;font-family:var(--serif);margin-top:2px}.hero-bottom{border-top:1px solid #40505a;display:flex;justify-content:space-between;padding:19px 0;font-size:.75rem;letter-spacing:.09em;text-transform:uppercase;color:#d3dce0}.section{padding:92px 0}.section-header{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:60px;margin-bottom:48px}.section-header h2,.large-heading{font-size:clamp(2.6rem,4vw,4.1rem);letter-spacing:-.025em}.section-header .eyebrow{margin-bottom:17px}.section-header p{color:var(--muted);max-width:470px}.practice-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:65px}.practice-card{padding:28px 0 31px;border-top:1px solid var(--line);display:grid;grid-template-columns:32px 1fr;gap:20px}.practice-number{color:var(--wine);font-size:.75rem;padding-top:5px}.practice-card h3{font-size:1.9rem;margin-bottom:13px}.practice-card p{color:var(--muted);font-size:.9375rem;max-width:450px}.text-link{display:inline-block;border-bottom:1px solid var(--wine);font-size:.875rem;padding-bottom:4px;margin-top:23px}.text-link:hover{color:var(--wine)}.firm-note{background:var(--pale);padding:74px 0}.firm-note .wrap{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}.firm-note h2{font-size:3.5rem;max-width:490px}.firm-note p{color:var(--muted);max-width:490px}.contact-strip{background:var(--wine);color:var(--paper);padding:48px 0}.contact-strip .wrap{display:flex;align-items:center;justify-content:space-between;gap:35px}.contact-strip h2{font-size:2.7rem}.contact-strip p{color:#eee1e4;margin-top:8px}.footer{background:var(--ink);color:var(--paper);padding:58px 0 25px}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:65px;padding-bottom:40px}.footer .brand-name{font-size:1.7rem}.footer .brand-sub{font-size:.68rem}.footer h3{font-family:var(--sans);text-transform:uppercase;letter-spacing:.13em;font-size:.75rem;margin-bottom:16px;color:#bfccd2}.footer p,.footer address,.footer a{font-size:.875rem;line-height:1.9;font-style:normal;color:#d4dde0}.footer a:hover{color:var(--paper);text-decoration:underline}.footer-bottom{border-top:1px solid #40505a;padding-top:22px;display:flex;justify-content:space-between;gap:20px;font-size:.75rem;color:#aebdc3}.footer-bottom a{font-size:.75rem}.page-intro{background:var(--ink);color:var(--paper);padding:65px 0 62px}.page-intro .eyebrow{color:#c6d2d8;margin-bottom:18px}.page-intro h1{font-size:clamp(3.2rem,5vw,5.1rem);max-width:870px;letter-spacing:-.02em}.page-intro p{color:#cbd6db;max-width:600px;margin-top:22px}.breadcrumbs{font-size:.75rem;color:var(--muted);padding:24px 0}.breadcrumbs span{padding:0 12px;color:#94a0a4}.about-lead{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px;padding-top:42px;padding-bottom:78px}.about-lead h2{font-size:3rem}.about-lead p{color:var(--muted)}.attorney{display:grid;grid-template-columns:380px 1fr;gap:78px;padding:66px 0;border-top:1px solid var(--line)}.portrait{background:#dfe4df;aspect-ratio:4/5;overflow:hidden;position:relative;align-self:start}.portrait:after{position:absolute;content:'';inset:auto 0 0;height:4px;background:var(--wine)}.portrait img{width:100%;height:100%;object-fit:contain;object-position:center bottom}.attorney h2{font-size:3.1rem;margin-bottom:9px}.attorney .role{color:var(--wine);font-size:.875rem;margin-bottom:25px}.attorney .bio{color:var(--muted);max-width:630px}.credentials{display:grid;grid-template-columns:1fr 1fr;gap:36px;border-top:1px solid var(--line);margin-top:28px;padding-top:24px}.credentials h3{font-family:var(--sans);font-size:.75rem;letter-spacing:.13em;text-transform:uppercase;margin-bottom:12px}.credentials p{font-size:.875rem;color:var(--muted)}.attorney .eyebrow{margin-bottom:14px}.attorney-contact{margin-top:26px;display:flex;gap:24px;flex-wrap:wrap;align-items:center;font-size:.875rem}.attorney-contact a{border-bottom:1px solid #a9b0b1;padding-bottom:3px}.location-story{background:var(--pale);display:grid;grid-template-columns:1fr 1fr;margin:26px 0 0}.location-story img{width:100%;height:100%;min-height:440px;object-fit:cover;object-position:55% 65%;filter:saturate(1.05) contrast(1.04)}.location-story .copy{padding:65px;align-self:center}.location-story h2{font-size:3.4rem;margin-bottom:24px}.location-story p{color:var(--muted)}.practice-detail{display:grid;grid-template-columns:.75fr 1.25fr;gap:85px;padding:40px 0;border-bottom:1px solid var(--line)}.practice-detail h2{font-size:2.65rem}.practice-detail p{color:var(--muted)}.practice-detail ul{padding-left:20px;color:var(--muted);margin:20px 0 0}.practice-detail li{padding:4px 0}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:85px;padding:32px 0 70px}.contact-layout h2{font-size:2.8rem;margin:16px 0 20px}.contact-layout address{font-style:normal;font-size:1.05rem}.contact-layout .contact-links{display:flex;flex-direction:column;align-items:flex-start;margin-top:24px}.contact-links a{border-bottom:1px solid #b8c1c3;margin:3px 0;font-size:1.05rem}.contact-layout .eyebrow{margin-bottom:0}.note{font-size:.875rem;color:var(--muted);max-width:850px;margin-top:35px;padding-top:24px;border-top:1px solid var(--line)}.legal{max-width:850px;padding:48px 0 80px}.legal h2{font-family:var(--sans);font-size:1.2rem;line-height:1.4;margin:24px 0 14px}.legal p{color:var(--muted)}
@media(min-width:1500px){.hero-grid{min-height:650px}.hero h1{font-size:6rem}}@media(max-width:1100px){.wrap{padding-left:35px;padding-right:35px}.brand{gap:15px}.brand-name{font-size:1.18rem}.monogram{font-size:2.5rem;padding-right:17px}.nav{gap:20px}.hero-visual{margin-right:0}.hero-copy{padding-right:30px}.hero h1{font-size:4.4rem}.attorney{grid-template-columns:320px 1fr;gap:45px}.location-story .copy{padding:42px}.about-lead{gap:45px}}@media(max-width:800px){.header-inner{min-height:96px}.brand-name{font-size:1.1rem}.brand-sub{font-size:.59rem}.nav{gap:13px;font-size:.8125rem}.nav .button{padding:10px 16px}.hero h1{font-size:3.65rem}.hero-grid{min-height:520px;grid-template-columns:1fr 1fr}.hero-visual{min-height:390px}.hero-copy{padding:48px 22px 48px 0}.section{padding:68px 0}.section-header{gap:30px}.practice-grid{column-gap:30px}.firm-note .wrap{gap:35px}.firm-note h2{font-size:2.8rem}.attorney{grid-template-columns:270px 1fr;gap:34px}.attorney h2{font-size:2.7rem}.credentials{grid-template-columns:1fr;gap:20px}.location-story .copy{padding:32px}.location-story h2{font-size:2.7rem}.contact-layout{gap:40px}.footer-grid{gap:30px}}
@media(max-width:650px){.wrap{padding-left:24px;padding-right:24px}.topline{font-size:.65rem;letter-spacing:.035em}.header-inner{min-height:92px;position:relative}.brand-name{font-size:1.08rem}.brand-sub{font-size:.55rem;letter-spacing:.12em}.monogram{font-size:2.25rem;padding-right:15px}.brand{gap:14px}.menu-button{display:block;font-size:.875rem}.nav{display:none;position:absolute;top:92px;left:0;right:0;background:var(--paper);padding:22px 24px 30px;z-index:5;box-shadow:0 18px 25px #172c3820}.nav.open{display:flex;flex-direction:column;align-items:stretch;gap:15px}.hero-grid{grid-template-columns:1fr;min-height:unset}.hero-copy{padding:46px 0 40px}.hero h1{font-size:4rem;max-width:470px}.hero .intro{font-size:1rem;margin:22px 0 27px}.eyebrow{font-size:.6875rem;margin-bottom:22px}.hero-visual{height:280px;min-height:unset;margin:0 0 26px}.hero-bottom{font-size:.625rem;gap:20px;line-height:1.7}.hero-bottom span:last-child{text-align:right}.section{padding:58px 0}.section-header{grid-template-columns:1fr;gap:24px;margin-bottom:34px}.section-header h2,.large-heading{font-size:3rem}.practice-grid{grid-template-columns:1fr}.practice-card{padding:25px 0;gap:12px}.practice-card h3{font-size:1.9rem}.firm-note{padding:55px 0}.firm-note .wrap{grid-template-columns:1fr;gap:26px}.firm-note h2{font-size:3rem}.contact-strip .wrap{align-items:flex-start;flex-direction:column;gap:25px}.contact-strip h2{font-size:2.4rem}.footer-grid{grid-template-columns:1fr 1fr;gap:36px 26px}.footer-grid>div:first-child{grid-column:1/-1}.footer-bottom{flex-direction:column;gap:8px}.page-intro{padding:45px 0}.page-intro h1{font-size:3.4rem}.about-lead{grid-template-columns:1fr;gap:25px;padding-top:22px;padding-bottom:45px}.about-lead h2{font-size:2.7rem}.attorney{grid-template-columns:1fr;gap:30px;padding:40px 0}.portrait{max-width:390px;width:100%;aspect-ratio:4/4.6}.attorney h2{font-size:2.8rem}.credentials{grid-template-columns:1fr 1fr;gap:22px}.location-story{grid-template-columns:1fr}.location-story img{min-height:unset;height:280px}.location-story .copy{padding:38px 24px 44px}.location-story h2{font-size:2.9rem}.practice-detail{grid-template-columns:1fr;gap:24px;padding:30px 0}.practice-detail h2{font-size:2.5rem}.contact-layout{grid-template-columns:1fr;gap:48px;padding:15px 0 35px}.contact-layout>div+div{border-top:1px solid var(--line);padding-top:36px}.contact-layout h2{font-size:2.65rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media(max-width:650px){.header-inner{gap:12px}.brand-sub{display:none}.hero h1{font-size:3.05rem}.topline,.eyebrow,.hero-bottom{font-size:.75rem}.hero-bottom{letter-spacing:.025em}.brand-name{font-size:1rem}}
@media(max-width:370px){.header .monogram{display:none}.header .brand-name{font-size:1.2rem}.hero h1{font-size:2.7rem}.credentials{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}}

/* Institutional ink, brick red, and warm paper — September 2026. */
.header{border-bottom:3px solid var(--wine)}.hero .eyebrow:before{content:'';display:block;width:56px;height:4px;background:#c36a60;margin-bottom:25px}.hero .button{background:var(--wine);color:var(--paper);border-color:var(--wine)}.hero .button:hover{background:#873332}.hero-bottom{border-color:#526975}.hero-visual{border-bottom:4px solid var(--wine)}.firm-note{background:var(--ink);color:var(--paper)}.firm-note p{color:#daddd6}.firm-note .eyebrow{color:#e4b2a6}.firm-note .text-link{border-color:#c36a60}.firm-note .text-link:hover{color:var(--paper)}.portrait:after{height:5px}.contact-strip{background:var(--wine)}.page-intro{border-bottom:5px solid var(--wine)}.button{font-weight:600}.brand-name{color:var(--ink)}.footer .brand-name{color:var(--paper)}
@media(max-width:1000px){.header-inner{position:relative}.menu-button{display:block}.nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);padding:22px 30px 30px;z-index:5;box-shadow:0 18px 25px #19384b25}.nav.open{display:flex;flex-direction:column;align-items:stretch;gap:15px}}
.work-preview{background:var(--paper);border-top:1px solid var(--line)}.work-preview-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px}.work-preview-grid article{border-top:4px solid var(--wine);padding:30px 0 5px}.work-preview-grid h3{font-size:2.45rem;margin:0 0 22px}.work-preview-grid p{max-width:450px;color:var(--muted)}.results-note{font-size:.8125rem;color:var(--muted);margin-top:36px;max-width:900px}.work-lead{padding:20px 0 48px;max-width:810px;color:var(--muted);font-size:1.05rem}.matter{display:grid;grid-template-columns:200px 1fr;gap:70px;border-top:2px solid var(--ink);padding:48px 0 54px}.matter-date span{font-family:var(--serif);font-size:4.5rem;line-height:1;color:var(--wine)}.matter-date p{font-size:.8125rem;margin-top:14px;line-height:1.5}.matter-content h2{font-size:3.05rem;max-width:800px;margin-bottom:24px}.matter-content>p{max-width:820px;color:var(--muted)}.matter-content .eyebrow{margin-bottom:17px}.matter-facts{display:grid;grid-template-columns:1fr 1fr;gap:45px;border-top:1px solid var(--line);margin-top:25px;padding-top:23px}.matter-facts h3{font-family:var(--sans);font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:12px;font-weight:700}.matter-facts p{font-size:.875rem;color:var(--muted)}.matter-content .matter-context{font-size:.8125rem;margin-top:18px;max-width:750px}.work-disclaimer{border-top:1px solid var(--line);padding:28px 0 60px;margin:0;max-width:none}
@media(max-width:800px){.matter{grid-template-columns:140px 1fr;gap:34px}.matter-content h2{font-size:2.6rem}.matter-facts{gap:25px}.work-preview-grid{gap:30px}.work-preview-grid h3{font-size:2.1rem}}
@media(max-width:650px){.work-preview-grid{grid-template-columns:1fr;gap:36px}.work-preview-grid h3{font-size:2.2rem}.matter{grid-template-columns:1fr;gap:30px;padding:35px 0 40px}.matter-date{display:flex;align-items:end;gap:24px}.matter-date span{font-size:3.5rem}.matter-date p{margin:0 0 6px}.matter-content h2{font-size:2.5rem}.matter-facts{grid-template-columns:1fr;gap:20px}.work-lead{padding:10px 0 35px}.matter-content .eyebrow{font-size:.75rem}}

.hero-visual.architecture-detail img{object-position:60% 51%;filter:none}.hero-visual.architecture-detail .photo-label{padding-top:70px;background:linear-gradient(transparent,rgba(4,20,38,.86))}

/* Image-led editorial presentation for Selected Work. */
.work-preview{background:var(--paper);border-top:1px solid var(--ink)}.work-preview .section-header{padding-bottom:30px;border-bottom:1px solid var(--ink);margin-bottom:38px}.work-preview-grid{grid-template-columns:1.12fr 1fr;gap:48px}.work-preview-grid article{border:0;padding:0}.story-art{display:block;overflow:hidden;background:#e9e7e1;aspect-ratio:3/2;margin-bottom:25px}.story-art img{height:100%;width:100%;object-fit:cover;filter:saturate(.78);transition:transform .4s}.story-art:hover img{transform:scale(1.025)}.work-preview-grid .eyebrow{margin-bottom:16px;font-size:.75rem}.work-preview-grid h3{font-size:2.55rem;line-height:1.08;letter-spacing:-.015em}.work-preview-grid p{line-height:1.7}.work-preview .results-note{padding-top:26px;border-top:1px solid var(--line);margin-top:35px}
@media(max-width:800px){.work-preview-grid{gap:30px}.work-preview-grid h3{font-size:2.15rem}}
@media(max-width:650px){.work-preview-grid{grid-template-columns:1fr;gap:45px}.work-preview .section-header{margin-bottom:28px;padding-bottom:28px}.work-preview-grid h3{font-size:2.3rem}.story-art{margin-bottom:22px}}

.hero a:focus-visible,.firm-note a:focus-visible,.footer a:focus-visible,.page-intro a:focus-visible{outline-color:var(--paper)}

/* An editorial directory of the four practice areas. */
.practice-directory{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:24px 0 80px;border-top:2px solid var(--ink)}
.practice-panel{padding:38px 46px 42px 0;border-bottom:1px solid var(--line);scroll-margin-top:28px}
.practice-panel:nth-child(even){padding-left:46px;padding-right:0;border-left:1px solid var(--line)}
.practice-panel-top{display:flex;align-items:center;gap:28px;margin-bottom:25px;min-height:90px}.practice-panel-top:after{content:"";flex:1;height:1px;background:var(--line)}


.practice-index{font-family:var(--serif);font-size:4.6rem;line-height:1;color:var(--wine)}
.practice-panel .eyebrow{font-size:.875rem;letter-spacing:.12em;margin-bottom:12px}
.practice-panel h2{font-size:clamp(2.25rem,3.1vw,3rem);letter-spacing:-.025em;margin-bottom:15px}
.practice-summary{font-size:1rem;line-height:1.65;color:var(--muted);max-width:425px;min-height:3.3em}
.practice-services{list-style:none;padding:0;margin:25px 0 0;display:grid;gap:0;border-top:1px solid var(--line)}
.practice-services li{display:flex;gap:12px;align-items:baseline;border-bottom:1px solid var(--line);padding:10px 0;font-size:1rem;line-height:1.5}
.practice-services li:before{content:'';width:6px;height:6px;flex:0 0 6px;background:var(--wine);transform:translateY(-2px)}
@media(max-width:800px){.practice-panel{padding-right:28px}.practice-panel:nth-child(even){padding-left:28px}.practice-index{font-size:3.8rem}.practice-panel h2{font-size:2.2rem}}
@media(max-width:650px){.practice-directory{grid-template-columns:1fr;margin:12px 0 55px}.practice-panel,.practice-panel:nth-child(even){padding:30px 0 35px;border-left:0}.practice-panel-top{margin-bottom:23px}.practice-panel h2{font-size:2.45rem}.practice-summary{min-height:0;max-width:none}.practice-services{margin-top:23px}}

.site-credit{display:flex;align-items:center;justify-content:flex-end;gap:14px;margin-top:24px;padding-top:20px;border-top:1px solid rgba(255,255,255,.15);font-size:11px;letter-spacing:.04em;color:#d4d9de}.site-credit img{width:112px;height:58px;object-fit:contain;filter:brightness(0) invert(1);opacity:.85}@media(max-width:600px){.site-credit{justify-content:flex-start;flex-wrap:wrap}}
