.firm-layout{display:grid;grid-template-columns:210px minmax(0,1fr);max-width:1600px;margin:auto}
.firm-rail{align-self:start;position:sticky;top:24px;padding:48px 24px;display:flex;flex-direction:column;gap:8px}
.firm-rail a{padding:12px 0;text-decoration:none;border-bottom:1px solid #ddd5c8;font-size:14px;line-height:1.4}
.firm-rail a:hover{color:#b52b32}
.firm-content{min-width:0;border-left:1px solid #ddd5c8}
.firm-hero{padding:60px clamp(24px,5vw,80px) 0;background:#f7eddd}
.firm-hero h1{margin:0;max-width:900px;font:700 clamp(40px,5.1vw,76px)/1.03 Georgia,serif;letter-spacing:-.045em}
.firm-hero>p:not(.eyebrow){font-size:19px;line-height:1.65;max-width:680px;margin:24px 0 36px}
.firm-portrait-pair{display:grid;grid-template-columns:1fr 1fr;gap:32px;max-width:740px;margin-top:38px}
.firm-portrait-pair>a{display:block;text-decoration:none;min-width:0}
.firm-portrait-pair img{display:block;width:100%;height:320px;object-fit:cover;object-position:center 15%;border-radius:160px 160px 0 0;background:#e4ece8}
.firm-portrait-pair>a>span{display:flex;justify-content:space-between;padding:18px 0;font-weight:700}
.firm-section{padding:64px clamp(24px,5vw,80px);scroll-margin-top:24px;border-top:1px solid #ddd5c8}
.firm-section h2,.firm-closing h2{font:700 clamp(30px,3.5vw,48px)/1.1 Georgia,serif;letter-spacing:-.035em;margin:0 0 24px}
.firm-section p{font-size:17px;line-height:1.7;max-width:730px}
.firm-section h3{font:700 28px/1.2 Georgia,serif;margin:0 0 20px}
.firm-values{background:#e4ece8}
.firm-values blockquote{margin:32px 0;padding:10px 0 10px 26px;border-left:4px solid #c93239;max-width:730px;font:700 clamp(25px,2.7vw,37px)/1.25 Georgia,serif}
.firm-values cite{display:block;font:normal 14px Arial,sans-serif;margin-top:18px}
.firm-bio .firm-lead{color:#155f78;font:700 23px/1.4 Georgia,serif}
.firm-bio .action-link{margin-top:16px}
.firm-ken{background:#f7eddd}
.firm-closing{background:#18313a;color:#fffdf8;padding:54px clamp(24px,5vw,80px)}
.firm-closing .eyebrow{color:#f2c7a9}
.firm-footer{padding:36px clamp(24px,5vw,80px);font-size:14px;line-height:1.6}
.firm-footer .firm-small{font-size:12px;max-width:760px;color:#536268;margin-top:24px}
.firm-contact-hero{padding-bottom:44px}
.firm-call{display:inline-flex;flex-direction:column;gap:8px;font:700 clamp(30px,4vw,48px) Georgia,serif;text-decoration:none;color:#155f78}
.firm-call span{font:700 13px Arial,sans-serif;color:#172b35}
.firm-contact-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(210px,1fr);gap:44px}
.firm-preview-note{padding:16px 18px;background:#f7eddd;border-left:3px solid #c93239;font-size:14px!important}
.firm-form{display:grid;gap:20px;margin-top:28px}
.firm-form label{display:flex;flex-direction:column;gap:9px;font-size:14px;font-weight:700;min-width:0}
.firm-field-pair{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.firm-form input:not([type=checkbox]),.firm-form textarea{width:100%;min-width:0;padding:13px;border:1px solid #889695;border-radius:5px;background:#fffdf8;color:#172b35;font:16px/1.4 Arial,sans-serif}
.firm-form textarea{resize:vertical}
.firm-form .firm-consent{flex-direction:row;align-items:start;font-weight:400;line-height:1.5}
.firm-consent input{width:18px;height:18px;flex-shrink:0;margin:1px 0}
.firm-form button{padding:16px 20px;border:0;border-radius:28px;font:700 15px Arial,sans-serif;background:#d9dfdc;color:#485752;cursor:not-allowed}
.firm-direct{align-self:start;background:#e4ece8;padding:30px 24px;border-radius:70px 70px 8px 8px;padding-top:48px;overflow-wrap:anywhere}
.firm-direct .firm-direct-number{font-size:23px;font-weight:700;text-decoration:none;display:block}
.firm-text{display:block;margin-top:18px}
.firm-direct hr{border:0;border-top:1px solid #b5c4bf;margin:28px 0}
.firm-office{background:#f7eddd;display:grid;grid-template-columns:1fr 1fr;gap:44px}
.firm-office address{font-style:normal;font-size:19px;line-height:1.6}
.firm-page a:focus-visible,.firm-page input:focus-visible,.firm-page textarea:focus-visible,.firm-page summary:focus-visible{outline:3px solid #155f78;outline-offset:4px}
@media(max-width:1050px){.firm-layout{grid-template-columns:170px minmax(0,1fr)}.firm-rail{padding:36px 18px}.firm-contact-grid{grid-template-columns:1fr}.firm-portrait-pair img{height:260px}}
@media(max-width:700px){.firm-layout{display:block}.firm-rail{position:static;padding:20px 24px;flex-direction:row;flex-wrap:wrap;gap:8px 20px}.firm-rail .eyebrow{width:100%;margin-bottom:0}.firm-rail a{padding:8px 0;font-size:13px}.firm-content{border:0}.firm-hero{padding-top:36px}.firm-hero h1 br{display:none}.firm-portrait-pair{gap:18px}.firm-portrait-pair img{height:210px}.firm-portrait-pair>a>span{font-size:14px}.firm-section{padding-block:42px}.firm-office{grid-template-columns:1fr;gap:20px}.firm-field-pair{grid-template-columns:1fr}.firm-hero>p:not(.eyebrow){font-size:17px}.firm-contact-grid{gap:32px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.information-hero{padding-bottom:32px}
.firm-faq{border-top:1px solid #b9c6c0}
.firm-faq details{border-bottom:1px solid #b9c6c0;scroll-margin-top:24px}
.firm-faq summary{padding:24px 8px;cursor:pointer;font:700 22px/1.4 Georgia,serif}
.firm-faq details[open]{background:#f7eddd}
.firm-faq-answer{padding:0 24px 20px}
.firm-faq-answer p{margin:0}
.firm-section .review-note{font-size:13px;color:#526265}
.faq-related{padding-left:20px;line-height:1.6;margin-bottom:28px}
.faq-related li{margin:14px 0}
.firm-hero .privacy-draft{font-size:14px!important;line-height:1.6;padding:18px;border-left:3px solid #c93239;background:#fffdf8}.firm-page:has(.privacy-draft) .firm-section p{overflow-wrap:anywhere}

.firm-form button:not(:disabled){background:#b52b32;color:white;cursor:pointer}
.firm-form button:focus-visible,.firm-form [role=status]:focus-visible{outline:3px solid #155f78;outline-offset:4px}
.firm-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.firm-form #form-status:empty{display:none}
.firm-form #form-status{font-size:15px;margin:0}
