:root{--ink:#241e2c;--ink2:#2e2738;--ivory:#f4efe6;--ivory2:#ebe4d6;--bronze:#b99567;--text:#2b2631;--display:'Fraunces',Georgia,serif;--sans:'Hanken Grotesk',system-ui,sans-serif}
img{max-width:100%;height:auto}
html{scroll-behavior:smooth;scroll-padding-top:120px}
body{font-family:var(--sans);background:var(--ivory);color:var(--text);font-size:1.02rem;line-height:1.75;overflow-x:hidden}
h1,h2,h3,h4{font-family:var(--display);font-weight:300;line-height:1.12;letter-spacing:0}
a{color:inherit}
.caps{font-family:var(--sans);font-size:.68rem;letter-spacing:.3em;text-transform:uppercase;font-weight:500}
.eyebrow{display:block;color:var(--bronze);margin-bottom:1.1rem}
.sec{padding:96px 0}
.sec h2{font-size:clamp(2.2rem,4.6vw,3.6rem);margin-bottom:1.2rem}
.lede{font-family:var(--display);font-style:italic;font-weight:300;font-size:1.3rem;opacity:.85;max-width:720px}
.dark{background:var(--ink);color:var(--ivory)}
.dark .lede{color:var(--ivory)}
/* nav */
.wf-nav{background:rgba(36,30,44,.94);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(185,149,103,.2);padding:.9rem 0 .5rem}
.wf-nav .container{flex-direction:column}
.wf-brand{text-align:center;text-decoration:none;color:var(--ivory);display:block;line-height:1.2}
.wf-brand b{display:block;font-family:var(--display);font-weight:300;font-size:1.35rem;letter-spacing:.32em;text-transform:uppercase}
.wf-brand small{display:block;color:var(--bronze);font-size:.6rem;letter-spacing:.34em;text-transform:uppercase;margin-top:.3rem}
.wf-nav .navbar-toggler{position:absolute;right:16px;top:18px;border:1px solid rgba(244,239,230,.35);border-radius:0;padding:.35rem .6rem}
.wf-nav .navbar-toggler-icon{filter:invert(1)}
.navbar.wf-nav .navbar-collapse{justify-content:center;width:100%}
.wf-nav .nav-link{color:rgba(244,239,230,.8);font-size:.66rem;letter-spacing:.28em;text-transform:uppercase;padding:.8rem 1.1rem;transition:color .3s}
.wf-nav .nav-link:hover{color:var(--bronze)}
.wf-nav .nav-call{border:1px solid rgba(244,239,230,.35);margin-left:.6rem;padding:.6rem 1.1rem}
@media(max-width:991px){.wf-nav .container{align-items:center;padding-right:64px}.wf-brand b{font-size:1rem;letter-spacing:.2em}.wf-nav .nav-call{margin:.4rem 0;display:inline-block}}
/* buttons */
.btn-wf{display:inline-block;border-radius:0;font-size:.68rem;letter-spacing:.28em;text-transform:uppercase;font-weight:500;padding:15px 36px;text-decoration:none;transition:opacity .3s,background .3s,color .3s}
.btn-solid{background:var(--bronze);color:var(--ink);border:1px solid var(--bronze)}
.btn-solid:hover{opacity:.82;color:var(--ink)}
.btn-ghost{border:1px solid rgba(244,239,230,.35);color:var(--ivory);margin-left:.8rem}
.btn-ghost:hover{background:rgba(244,239,230,.08);color:var(--ivory)}
@media(max-width:575px){.btn-ghost{margin:.8rem 0 0}}
/* hero */
.hero{background:linear-gradient(180deg,#2a2333 0%,var(--ink) 100%);color:var(--ivory);padding:88px 0 0;position:relative;overflow:hidden}
.hero h1{font-size:clamp(2.6rem,5.8vw,4.8rem);font-weight:300;margin-bottom:1.4rem}
.hero h1 em{display:block;font-style:italic;color:var(--bronze)}
.hero .sub{font-family:var(--display);font-style:italic;font-weight:300;font-size:1.3rem;opacity:.82;max-width:520px;margin-bottom:2.2rem}
.arch{position:relative;max-width:400px;margin:0 auto}
.arch img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 18%;border-radius:200px 200px 0 0;filter:saturate(.85) sepia(.06)}
.arch:before{content:"";position:absolute;inset:-14px -14px 0 -14px;border:1px solid rgba(185,149,103,.4);border-bottom:0;border-radius:214px 214px 0 0;pointer-events:none}
.year{position:absolute;right:-6px;bottom:28px;font-family:var(--display);font-weight:300;font-size:3.4rem;color:var(--ivory);line-height:1;text-shadow:0 0 12px rgba(36,30,44,.9);writing-mode:vertical-rl;transform:rotate(180deg);letter-spacing:.06em;opacity:.9}
.year small{font-family:var(--sans);font-size:.6rem;letter-spacing:.3em;text-transform:uppercase;color:var(--bronze);margin-bottom:.8rem}
/* signature: law-book spines */
.spines{height:34px;margin-top:64px;opacity:.55;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='34' fill='none' stroke='%23b99567' stroke-width='1'%3E%3Cpath d='M.5 34V10h14v24M14.5 34V4h10v30M24.5 34V12h18v24M42.5 34V6h9v28M51.5 34V14h14v20M65.5 34V2h12v32M77.5 34V9h8v25M85.5 34V16h16v18M101.5 34V5h11v29M112.5 34V11h9v23M121.5 34V3h15v31M136.5 34V13h10v21M146.5 34V8h13v26M159.5 34V15h8v19M167.5 34V4h16v30M183.5 34V10h10v24M193.5 34V1h11v33M204.5 34V12h14v22M218.5 34V6h9v28M227.5 34V14h13v20M240.5 34V3h10v31M250.5 34V9h16v25M266.5 34V13h9v21M275.5 34V5h14v29M289.5 34V11h10v23'/%3E%3C/svg%3E") repeat-x bottom left}
.spines.on-light{margin:0;opacity:.7;filter:brightness(.7)}
/* about */
.facts{display:flex;flex-wrap:wrap;gap:0;border-top:1px solid rgba(185,149,103,.4);margin-top:2.4rem}
.fact{flex:1 1 33%;padding:1.4rem 1.2rem 0 0}
.fact b{display:block;font-family:var(--display);font-weight:300;font-size:2.6rem;line-height:1.1}
.fact span{color:#6e5a3d}
/* practice */
.areas{border-top:1px solid rgba(185,149,103,.3)}
.area-col{padding:2rem 1.2rem 1rem 0}
.area-col h3{font-size:1.5rem;font-style:italic;margin-bottom:1rem}
.area-col ul{list-style:none;padding:0;margin:0}
.area-col li{padding:.55rem 0;border-bottom:1px solid rgba(185,149,103,.22);font-size:.95rem}
.pi{border-left:1px solid var(--bronze);padding-left:1.4rem;margin-top:2.6rem;max-width:760px}
.pi h3{font-size:1.5rem;margin-bottom:.5rem}
/* quote */
.quote{text-align:center}
.quote blockquote{font-family:var(--display);font-weight:300;font-style:italic;font-size:clamp(1.4rem,2.6vw,2.1rem);line-height:1.5;max-width:900px;margin:0 auto 1.6rem}
.quote .qmark{font-family:var(--display);font-size:4rem;color:var(--bronze);line-height:.5;display:block;margin-bottom:1.2rem}
/* team */
.person{text-align:center;margin-bottom:2.4rem}
.person .ph{aspect-ratio:4/5;max-width:260px;margin:0 auto 1.2rem;border-radius:130px 130px 0 0;overflow:hidden;border:1px solid rgba(185,149,103,.4);padding:6px;border-radius:136px 136px 0 0}
.person .ph img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 15%;border-radius:130px 130px 0 0;filter:saturate(.88)}
.person .ph.empty{display:flex;align-items:flex-end;background:var(--ivory2)}
.person .ph.empty div{width:100%;height:60%;opacity:.7;margin-bottom:0}
.person h3{font-size:1.45rem;margin-bottom:.3rem}
.person a.mail{color:#6e5a3d;font-size:.66rem;letter-spacing:.22em;text-transform:uppercase;text-decoration:none;border-bottom:1px solid rgba(185,149,103,.5);padding-bottom:2px}
.person a.mail:hover{opacity:.7}
/* contact */
.contact dt{color:var(--bronze);margin-top:1.6rem}
.contact dd{font-family:var(--display);font-weight:300;font-size:1.35rem;margin:.2rem 0 0}
.contact dd a{text-decoration:none;border-bottom:1px solid rgba(185,149,103,.5)}
.map{border:1px solid rgba(185,149,103,.4);padding:6px}
.map iframe{display:block;width:100%;height:420px;border:0;filter:grayscale(.5) contrast(1.05)}
/* footer */
footer{background:var(--ink);color:rgba(244,239,230,.75);padding:56px 0 40px;text-align:center;font-size:.9rem}
footer .f-name{font-family:var(--display);font-weight:300;letter-spacing:.3em;text-transform:uppercase;font-size:1.1rem;color:var(--ivory);margin-bottom:.4rem}
footer a{text-decoration:none;border-bottom:1px solid rgba(185,149,103,.4)}
@media(max-width:767px){.sec{padding:64px 0}.year{display:none}.fact{flex-basis:100%}.hero{padding-top:56px}}
