:root{--color-primary-bg: #1A2E44;--color-primary-fg: #F8F4EE;--color-accent: #8B4514;--color-accent-hover: #723910;--color-accent-fg: #F8F4EE;--color-neutral-bg: #F8F4EE;--color-neutral-fg: #1C1C1A;--color-muted-bg: #E8DDD0;--color-muted-fg: #5A5349;--color-divider: #D4C5B0;--font-heading-stack: Fraunces, Georgia, Times New Roman, serif;--font-body-stack: Inter, system-ui, -apple-system, sans-serif;--scale-xs: .64rem;--scale-sm: .8rem;--scale-md: 1rem;--scale-lg: 1.25rem;--scale-xl: 1.563rem;--scale-2xl: 1.953rem;--scale-3xl: 2.441rem;--scale-4xl: 3.052rem;--scale-5xl: 3.815rem;--scale-hero: clamp(3rem, 1.5rem + 5.5vw, 6rem);--scale-hero-credential: clamp(1rem, .85rem + .75vw, 1.375rem);--leading-tight: 1.05;--leading-snug: 1.18;--leading-body: 1.55;--leading-loose: 1.75;--tracking-display: -.01em;--tracking-eyebrow: .14em;--measure: 60ch;--measure-prose: 40ch;--page-max: 1320px;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--space-section: clamp(4rem, 2.5rem + 5vw, 8rem);--radius-sm: 2px;--radius-md: 4px;--radius-lg: 8px;--hairline: 1px solid var(--color-divider);--shadow-hair: inset 0 1px 0 var(--color-divider);--duration-fast: .12s;--duration-normal: .22s;--ease-standard: cubic-bezier(.2, 0, 0, 1);--focus-ring: 2px solid var(--color-accent);--focus-ring-offset: 3px}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--color-neutral-bg);color:var(--color-neutral-fg);font-family:var(--font-body),var(--font-body-stack);font-size:17px;line-height:1.7;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit}.wrap{max-width:var(--page-max);margin:0 auto;padding:0 40px}@media(max-width:720px){.wrap{padding:0 22px}}header.site{background:var(--color-primary-bg);color:var(--color-primary-fg);padding:18px 0}header.site .wrap{display:flex;justify-content:space-between;align-items:center;gap:32px}.logo{font-family:var(--font-heading),var(--font-heading-stack);font-size:22px;letter-spacing:-.005em;font-weight:500}.logo .mk{color:var(--color-accent)}nav.primary{display:flex;gap:28px;font-size:14px}nav.primary a{text-decoration:none;padding:6px 0;opacity:.85}nav.primary a:hover{opacity:1}.header-meta{font-size:13px;opacity:.85}.header-meta strong{font-weight:500;opacity:1}@media(max-width:860px){nav.primary{display:none}}.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:0;border-bottom:1px solid var(--color-divider)}@media(max-width:860px){.hero{grid-template-columns:1fr}}.hero-text{padding:88px 56px 88px 40px;max-width:calc(var(--page-max) / 2 + 40px);margin-left:auto}@media(max-width:1100px){.hero-text{padding:64px 32px}}@media(max-width:860px){.hero-text{padding:48px 22px;max-width:100%;margin-left:0}}.hero-text .kicker{font-size:12px;text-transform:uppercase;letter-spacing:.14em;color:var(--color-accent);margin-bottom:28px;font-weight:500;display:block}.hero-text h1{font-family:var(--font-heading),var(--font-heading-stack);font-style:italic;font-weight:400;font-size:clamp(40px,5.4vw,64px);line-height:1.1;letter-spacing:-.01em;margin:0 0 32px}.hero-text p.intro{font-size:18px;line-height:1.7;color:var(--color-neutral-fg);margin:0 0 36px;max-width:50ch}.cta-row{display:flex;gap:14px;flex-wrap:wrap}.btn-primary{background:var(--color-primary-bg);color:var(--color-primary-fg);padding:16px 26px;border-radius:2px;text-decoration:none;font-size:15px;font-weight:500;display:inline-flex;align-items:center;gap:10px;border:none;cursor:pointer}.btn-primary:after{content:"→"}.btn-secondary{background:transparent;color:var(--color-neutral-fg);padding:16px 26px;border-radius:2px;border:1px solid var(--color-neutral-fg);text-decoration:none;font-size:15px;font-weight:500}.hero-portrait{background-image:linear-gradient(170deg,#2a4060,#1a2e44 60%,#8b4514);min-height:580px;position:relative;overflow:hidden}.hero-portrait:after{content:"Attorney portrait — direct eye contact, natural light";position:absolute;bottom:22px;left:24px;right:24px;font:11px/1.4 var(--font-body),var(--font-body-stack);text-transform:uppercase;letter-spacing:.1em;color:#f8f4eea6}.hero-portrait .frame{position:absolute;inset:32px;border:1px solid rgba(248,244,238,.18)}section.section{padding:96px 0;border-bottom:1px solid var(--color-divider)}.sec-head{max-width:60ch;margin-bottom:56px}.sec-head .kicker{font-size:12px;text-transform:uppercase;letter-spacing:.14em;color:var(--color-accent);margin-bottom:16px;display:block;font-weight:500}.sec-head h2{font-family:var(--font-heading),var(--font-heading-stack);font-weight:400;font-size:clamp(32px,3.6vw,46px);line-height:1.12;margin:0 0 16px;letter-spacing:-.01em}.sec-head h2 em{font-style:italic}.sec-head p{font-size:17px;color:var(--color-muted-fg);margin:0;line-height:1.65}.practices{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border-top:1px solid var(--color-divider)}@media(max-width:760px){.practices{grid-template-columns:1fr}}.practice{padding:36px 32px 40px;border-bottom:1px solid var(--color-divider)}.practice:nth-child(odd){border-right:1px solid var(--color-divider)}@media(max-width:760px){.practice:nth-child(odd){border-right:none}}.practice .id{font:11px/1 var(--font-body),var(--font-body-stack);color:var(--color-accent);letter-spacing:.12em;text-transform:uppercase;margin-bottom:18px}.practice h3{font-family:var(--font-heading),var(--font-heading-stack);font-weight:400;font-size:28px;line-height:1.2;margin:0 0 12px;letter-spacing:-.005em}.practice p{font-size:15px;color:var(--color-muted-fg);line-height:1.7;margin:0 0 20px}.practice .scope{font-size:13px;color:var(--color-muted-fg);border-top:1px dashed var(--color-divider);padding-top:14px}.practice .scope strong{color:var(--color-neutral-fg);display:block;margin-bottom:6px;font-size:11px;text-transform:uppercase;letter-spacing:.1em;font-weight:500}.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}@media(max-width:860px){.team-grid{grid-template-columns:1fr 1fr}}@media(max-width:540px){.team-grid{grid-template-columns:1fr}}.person .portrait{width:100%;aspect-ratio:4/5;border-radius:2px;margin-bottom:22px;position:relative;overflow:hidden}.person .portrait:after{content:"";position:absolute;inset:24px;border:1px solid rgba(248,244,238,.15)}.person h4{font-family:var(--font-heading),var(--font-heading-stack);font-weight:400;font-size:24px;margin:0 0 4px;letter-spacing:-.005em}.person .role{font-size:13px;color:var(--color-muted-fg);margin-bottom:12px;font-style:italic}.person p{font-size:14px;line-height:1.65;color:var(--color-muted-fg);margin:0 0 14px}.person .creds{font:11px/1.6 var(--font-body),var(--font-body-stack);color:var(--color-neutral-fg);border-top:1px solid var(--color-divider);padding-top:10px;text-transform:uppercase;letter-spacing:.08em}.timeline{background:var(--color-muted-bg)}.timeline-list{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-top:32px}@media(max-width:860px){.timeline-list{grid-template-columns:1fr 1fr}}@media(max-width:540px){.timeline-list{grid-template-columns:1fr}}.step{padding-top:24px;border-top:1px solid var(--color-divider)}.step .n{font-family:var(--font-heading),var(--font-heading-stack);font-style:italic;font-size:36px;color:var(--color-accent);line-height:1;margin-bottom:16px}.step h4{font-family:var(--font-heading),var(--font-heading-stack);font-weight:500;font-size:19px;margin:0 0 8px;letter-spacing:-.005em}.step p{font-size:14px;color:var(--color-muted-fg);line-height:1.6;margin:0}.testimonials{display:grid;grid-template-columns:repeat(2,1fr);gap:32px}@media(max-width:760px){.testimonials{grid-template-columns:1fr}}.quote{padding:36px 36px 32px;border:1px solid var(--color-divider);border-radius:2px;background:#fff}.quote .mark{font-family:var(--font-heading),var(--font-heading-stack);font-style:italic;font-size:56px;line-height:.6;color:var(--color-accent);margin-bottom:16px;display:block}.quote blockquote{font-family:var(--font-heading),var(--font-heading-stack);font-style:italic;font-weight:400;font-size:21px;line-height:1.45;margin:0 0 24px;letter-spacing:-.005em}.quote cite{font-style:normal;font-size:13px;color:var(--color-muted-fg);display:block}.quote cite strong{color:var(--color-neutral-fg);font-weight:500}.local{background:var(--color-primary-bg);color:var(--color-primary-fg);padding:88px 0}.local h2{font-family:var(--font-heading),var(--font-heading-stack);font-style:italic;font-size:clamp(32px,4.2vw,48px);margin:0 0 24px;font-weight:400;max-width:22ch}.local-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:56px}@media(max-width:760px){.local-grid{grid-template-columns:1fr}}.local p{font-size:17px;line-height:1.7;opacity:.9;max-width:56ch}.local .kicker{font-size:12px;letter-spacing:.14em;text-transform:uppercase;display:block;margin-bottom:16px;color:var(--color-divider)}.areas{display:grid;gap:14px;align-content:start}.areas .row{display:flex;justify-content:space-between;padding:12px 0;border-top:1px solid rgba(248,244,238,.18);font-size:14px}.areas .row span:last-child{opacity:.7}.cta-section{padding:100px 0}.cta-section .kicker{font-size:12px;text-transform:uppercase;letter-spacing:.14em;color:var(--color-accent);font-weight:500;display:block;margin-bottom:16px}.cta-section h2{font-family:var(--font-heading),var(--font-heading-stack);font-style:italic;font-weight:400;font-size:clamp(36px,5vw,60px);line-height:1.08;max-width:22ch;margin:0 0 24px;letter-spacing:-.01em}.cta-section p{font-size:18px;color:var(--color-muted-fg);max-width:56ch;margin:0 0 32px}.a11y-note{font-size:13px;color:var(--color-muted-fg);margin-top:24px;padding-top:18px;border-top:1px solid var(--color-divider);max-width:56ch;line-height:1.6}.a11y-note strong{color:var(--color-neutral-fg)}footer.site{background:var(--color-primary-bg);color:var(--color-primary-fg);padding:72px 0 40px}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px;padding-bottom:56px;border-bottom:1px solid rgba(248,244,238,.18)}@media(max-width:760px){.footer-grid{grid-template-columns:1fr 1fr}}footer.site h5{font-size:11px;text-transform:uppercase;letter-spacing:.14em;opacity:.7;margin:0 0 14px;font-weight:500}footer.site p,footer.site a{font-size:14px;line-height:1.65;opacity:.9;text-decoration:none;display:block}.copyright{display:flex;justify-content:space-between;padding-top:28px;font-size:12px;opacity:.7;flex-wrap:wrap;gap:12px}
