:root{color-scheme:light;--bg:#F6F2E9;--surface:#FFF;--sunk:#EDE8DC;--line:#DDD5C4;--edge:#8A8478;--ink:#101C2E;--ink-2:#5A6373;--good:#1A7437;--warn:#8A5700;--bad:#BF2530;--c1:#2A5BD7;--c2:#D9622B;--c3:#13936A;--c4:#B98000;--c5:#C2528B;--accent:#7E6420;--on-accent:#FFF;--wash:#F0E9D6;--hover:#6A5419;--navy:#101C2E;--navy-2:#1A2A44;--serif:Charter,"Bitstream Charter",Georgia,serif;--sans:"Avenir Next","Segoe UI",system-ui,sans-serif;--mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace;--r:8px;--r-card:14px}@media (prefers-color-scheme:dark){:root{color-scheme:dark;--bg:#0C1420;--surface:#141F30;--sunk:#1A2638;--line:#2A3850;--edge:#6E7785;--ink:#F0EBDD;--ink-2:#A8B0BE;--accent:#C9A75A;--on-accent:#101C2E;--wash:#26334C;--hover:#DDBF78;--navy:#0A111C;--navy-2:#141F30}}[hidden]{display:none!important}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.6 var(--sans)}h1,h2,h3{font-family:var(--serif);letter-spacing:-.02em;line-height:1.08;text-wrap:balance;margin:0}h1{font-weight:800}h2,h3{font-weight:750}p{margin:0}.wrap{max-width:1180px;margin-inline:auto;padding-inline:16px}a{color:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding-inline:20px;border-radius:var(--r);font:600 15px/1 var(--sans);text-decoration:none;cursor:pointer;border:1px solid transparent}.btn-primary{background:var(--accent);color:var(--on-accent)}.btn-primary:hover{background:var(--hover)}.btn-secondary{border-color:var(--edge);color:var(--ink);background:0 0}.btn-secondary:hover{border-color:var(--ink)}.kicker{display:inline-block;margin:0;padding:5px 12px;border-radius:99px;background:var(--wash);color:var(--hover);font:600 11px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase}.top{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);transition:box-shadow .25s}.top.solid{box-shadow:0 6px 24px -12px rgb(0 0 0/.25)}.nav{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.nav ul{display:flex;flex-wrap:wrap;gap:4px 20px;margin:0;padding:0;list-style:none}.brand{display:flex;align-items:center;gap:10px;margin-right:auto;min-height:64px;font:800 19px/1 var(--serif);letter-spacing:-.02em;color:var(--ink);text-decoration:none;transition:min-height .25s}.top.solid .brand{min-height:52px}.brand svg{width:26px;height:26px;color:var(--accent);flex:none}.nav ul a{display:flex;align-items:center;min-height:44px;color:var(--ink-2);font:600 13px/1 var(--sans);letter-spacing:.02em;text-decoration:none}.nav ul a:hover{color:var(--ink)}.nav-cta{min-height:40px;font-size:13px;padding-inline:16px}@layer kit-default{main>section{padding-block:64px;border-top:1px solid var(--line)}main>section:first-child{border-top:0}[data-sec-head]{display:grid;gap:10px;justify-items:start;max-width:640px;margin-bottom:36px}[data-sec-head] h2{font-size:clamp(26px,3.4vw,36px)}[data-sec-head] p{color:var(--ink-2);max-width:60ch}[data-sec=hero]{display:grid;gap:40px;padding-block:56px 64px}[data-hero-text]{display:grid;gap:18px;justify-items:start;align-content:center;min-width:0}[data-hero-text] h1{font-size:clamp(38px,5.6vw,64px);max-width:15ch}[data-hero-text] h1 em{font-style:italic;color:var(--accent)}[data-hero-text] .lead{max-width:52ch;font-size:18px;color:var(--ink-2)}[data-hero-text] .actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}[data-hero-media]{position:relative;margin:0;min-width:0}@media (min-width:900px){[data-sec=hero]{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center}}[data-sec=list]{background:var(--navy);color:#f0ebdd;border-radius:var(--r-card);padding:56px 32px;margin-block:8px}[data-sec=list] [data-sec-head] h2{color:#fff}[data-sec=list] [data-sec-head] p{color:#c6cedc}[data-list]{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:16px;margin:0;padding:0;list-style:none}[data-item].pa{display:grid;gap:10px;align-content:start;padding:24px;border:1px solid #2a3850;border-radius:var(--r-card);background:var(--navy-2);transition:background .2s,color .2s;cursor:default}[data-item].pa h3{font-size:20px;color:#fff;transition:color .2s}[data-item].pa p{font-size:14px;color:#b9c2d2;transition:color .2s}[data-item].pa .pa-n{font:600 11px/1 var(--mono);letter-spacing:.12em;color:#c9a75a;transition:color .2s}
[data-item].pa .pa-photo{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r);margin-top:4px}
.credit{margin-top:6px;font-size:11px;color:var(--ink-2)}
[data-item].pa .credit{color:#8b93a3}
[data-item].pa:hover .credit{color:var(--ink-2)}
[data-hero-media] .credit{text-align:right}[data-item].pa:hover{background:#f6f2e9}[data-item].pa:hover h3{color:var(--navy)}[data-item].pa:hover p{color:#5a6373}[data-item].pa:hover .pa-n{color:var(--accent)}[data-sec=contact] .c-grid{display:grid;gap:40px}@media (min-width:900px){[data-sec=contact] .c-grid{grid-template-columns:minmax(0,1fr) minmax(0,320px)}}}[data-sec=list] .kicker{background:#26334c;color:#c9a75a}.illus{display:block;width:100%;height:auto;border-radius:var(--r-card);background:var(--navy);color:var(--accent)}[data-sec=list] .credit a{color:#DDBF78}.badge{position:absolute;right:16px;bottom:-20px;display:grid;gap:2px;padding:14px 18px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);box-shadow:0 14px 32px -14px rgb(16 28 46/.35);text-align:right}.badge b{font:700 22px/1 var(--mono);color:var(--accent)}.badge span{font:600 10px/1.3 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2)}.stats{margin:0;padding:0;list-style:none}.stats li{display:flex;align-items:baseline;justify-content:space-between;gap:24px;padding-block:16px;border-bottom:1px solid var(--line)}.stats li:first-child{border-top:1px solid var(--line)}.stats b{font:700 clamp(24px,3vw,32px)/1 var(--mono);color:var(--ink);text-align:right;font-variant-numeric:tabular-nums}.stats span{color:var(--ink-2);font-size:14px;max-width:52ch}.stats .total b{color:var(--accent)}.stats .total{border-bottom:3px double var(--ink)}.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}.chip{min-height:40px;padding-inline:16px;border-radius:99px;border:1px solid var(--edge);background:0 0;color:var(--ink-2);font:600 13px/1 var(--sans);cursor:pointer}.chip:hover{border-color:var(--ink);color:var(--ink)}.chip[aria-pressed=true]{background:var(--wash);border-color:var(--accent);color:var(--accent)}[data-item].at{display:grid;gap:8px;align-content:start;padding:24px;border:1px solid var(--line);border-radius:var(--r-card);background:var(--surface)}[data-item].at .init{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--navy);color:#c9a75a;font:700 17px/1 var(--serif)}[data-item].at h3{font-size:19px}[data-item].at .role{font:600 11px/1.4 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}[data-item].at p{font-size:14px;color:var(--ink-2)}.form{display:grid;gap:16px}.field{display:grid;gap:6px}.field label{font:600 13px/1.2 var(--sans)}.field input,.field textarea,.field select{width:100%;box-sizing:border-box;padding:11px 12px;border:1px solid var(--edge);border-radius:var(--r);background:var(--surface);color:var(--ink);font:16px/1.4 var(--sans)}.field textarea{resize:vertical;min-height:120px}.field .err{display:none;align-items:center;gap:6px;color:var(--bad);font-size:13px}.field .err.on{display:flex}.field .err::before{content:"!";display:grid;place-items:center;flex:none;width:15px;height:15px;border:1.5px solid;border-radius:50%;font:700 10px/1 var(--sans)}.c-aside{display:grid;gap:20px;align-content:start;padding:24px;background:var(--sunk);border-radius:var(--r-card)}.c-aside h3{font-size:17px}.c-aside address{font-style:normal;display:grid;gap:4px;font-size:14px;color:var(--ink-2)}.c-aside a{color:var(--ink)}.hours{margin:0}.hours div{display:flex;justify-content:space-between;gap:16px;padding-block:8px;border-bottom:1px solid var(--line);font-size:14px}.hours dt{color:var(--ink-2)}.hours dd{margin:0;font-variant-numeric:tabular-nums}.status{display:grid;gap:10px;justify-items:start;padding:24px;border:1px solid var(--good);border-radius:var(--r-card)}.status h3{color:var(--good)}.foot{background:var(--navy);color:#b9c2d2;font-size:14px}.foot-in{display:grid;gap:8px;padding-block:48px}.foot .brand2{display:flex;align-items:center;gap:10px;font:800 18px/1 var(--serif);color:#fff}.foot .brand2 svg{width:22px;height:22px;color:#c9a75a}.foot .flinks{display:flex;flex-wrap:wrap;gap:8px 24px}.foot .flinks a{color:#b9c2d2;text-decoration:none;min-height:44px;display:inline-flex;align-items:center}.foot .flinks a:hover{color:#fff}.foot .fine{font-size:12px;color:#7e8798;margin-top:12px}@media (prefers-reduced-motion:reduce){*{transition:none!important}}@media (max-width:600px){a[href]:not(p a),button,select,input:not([type=hidden]){min-height:44px!important;min-width:44px!important}:where(a[href]:not(p a)){display:inline-flex;align-items:center;justify-content:center}input,select,textarea{font-size:max(16px,1em)!important}}

html:not([data-l-fs]) :is(.kv-hero-in,.kv-ht){display:contents}
html:not([data-l-fs]) .kv-art.kv-added{display:none}
html[data-l-fs] .kv-ht{display:grid;gap:var(--s-4,16px);align-content:start;justify-items:start}
/* a hero picture that is not an <img> (an svg / illustration): the photo first screens hide the non-img children of a media block, which left an empty frame */
html[data-l-fs] [data-sec=hero] [data-hero-media]:not(:has(img)):not(.kv-art) > :not(img){display:block}

/* K-CONTRAST: the card chrome (data-l-card) repainted the practice-area cards in the palette tint under their light text (1.2:1); they keep their navy ground */
html[data-l-card] [data-item].pa{background:var(--navy-2)}html[data-l-card] [data-item].pa:hover{background:#f6f2e9}


/* tap-targets: comfortable phone taps -- the sizes win on phones, the page's own layout stays */
@media (max-width: 600px) {
  a[href]:not(p a, li p a, blockquote a, figcaption a, td a, dd a, label a), button, [role=button], [onclick], summary, select, input:not([type=hidden], [type=checkbox], [type=radio], [type=range]) { min-height: 44px !important; min-width: 44px !important; }
  :where(a[href]:not(p a, li p a, blockquote a, figcaption a, td a, dd a, label a)) { display: inline-flex; align-items: center; justify-content: center; }
  input, select, textarea { font-size: max(16px, 1em) !important; }
}
