:root{--bg:#0c0c0c;--panel:#191919;--ink:#ffffff;--muted:#c6c6c6;--line:#ffffff26;--silver:#dedede;--serif:Georgia,'Times New Roman',serif;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{isolation:isolate;margin:0;background:var(--bg);color:var(--ink);font:16px/1.7 Arial,Helvetica,sans-serif}body:before{content:'';position:fixed;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,#08080870,#08080860),url('/assets/background-desktop.webp') center/cover no-repeat}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}a,button,input,textarea,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid white;outline-offset:5px}p{color:var(--muted);margin:0 0 1.3em}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.12;margin:0 0 24px;letter-spacing:-.025em}h1{font-size:clamp(3rem,5.8vw,5.6rem)}h2{font-size:clamp(2.3rem,4vw,3.6rem)}h3{font-size:1.6rem}em{color:#bfbfbf;font-weight:400}img{max-width:100%;display:block}button,summary{cursor:pointer}.wrap{width:min(1280px,calc(100% - 100px));margin:auto}.skip{position:fixed;top:-80px;left:20px;z-index:100;background:white;color:black;padding:14px}.skip:focus{top:10px}.topline{border-bottom:1px solid var(--line);padding:9px 0;font-size:.78rem;color:#c3c3c3;letter-spacing:.055em}.topline .wrap{display:flex;justify-content:space-between}.topline a:hover{text-decoration:underline}.header{position:sticky;top:0;z-index:30;background:rgba(15,15,15,.95);backdrop-filter:none;border-bottom:1px solid var(--line)}.nav{height:98px;display:flex;align-items:center;justify-content:space-between;gap:28px}.logo{width:216px;height:auto}.navlinks{display:flex;align-items:center;gap:29px;font-size:.875rem}.navlinks>a:not(.button){padding:12px 0;color:#d5d5d5}.navlinks>a:hover,.navlinks>a[aria-current=page]{color:#ffffff}.navlinks>a[aria-current=page]{border-bottom:1px solid #c8c8c8}.button{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:52px;padding:13px 24px;background:#dadada;color:#171717;border:1px solid #dadada;font-size:.875rem;font-weight:600;line-height:1.4;transition:background .2s,transform .2s}.button:hover{background:white;transform:translateY(-2px)}.button.outline{background:transparent;border-color:#868686;color:#f4f4f4}.button.outline:hover{background:#ffffff13}.nav .button{padding:12px 18px;min-height:44px}.menu-toggle{display:none;background:transparent;color:white;border:1px solid var(--line);padding:9px 14px}.eyebrow{text-transform:uppercase;font-size:.75rem;font-weight:500;letter-spacing:.2em;color:#c7c7c7;margin-bottom:24px;display:flex;align-items:center;gap:15px}.eyebrow:before{content:'';width:32px;height:1px;background:#b6b6b6}.hero{padding:88px 0 74px;position:relative}.hero-grid{display:grid;grid-template-columns:1.16fr .84fr;gap:72px;align-items:center}.hero-copy{max-width:700px}.hero-copy>p{max-width:540px;font-size:1.05rem}.hero h1 span{display:block}.actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}.hero-note{font-size:.78rem!important;color:#b0b0b0;margin-top:18px!important;letter-spacing:.02em}.portrait{position:relative;margin:0;padding:0 0 26px 24px}.portrait:before{content:'';position:absolute;left:0;bottom:0;width:82%;height:84%;border:1px solid #c2c2c24a}.portrait img{position:relative;width:100%;height:510px;object-fit:cover;object-position:center 30%;filter:none}.portrait figcaption{position:absolute;bottom:53px;left:0;background:#212121f2;border-left:2px solid #c5c5c5;padding:18px 28px;min-width:250px}.portrait strong{font-family:var(--serif);font-size:1.4rem;font-weight:400;display:block}.portrait small{color:#bdbdbd;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase}.assurance{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#161616c9}.assurance .wrap{display:flex;justify-content:space-between;gap:22px;padding-top:24px;padding-bottom:24px;font-size:.83rem;color:#cccccc}.assurance span{display:flex;gap:12px;align-items:center}.assurance b{font-weight:400;color:#8d8d8d}.section{padding:96px 0}.surface{background:#171717eb}.section-head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:38px}.section-head h2{margin-bottom:0}.section-head p{max-width:370px;margin:0}.text-link{display:inline-block;border-bottom:1px solid #a7a7a7;padding-bottom:5px;font-size:.9rem}.text-link:hover{color:#ffffff;border-color:white}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.service-card{padding:28px 30px 30px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#222222a3;transition:background .2s;position:relative;min-height:205px}.service-card:hover{background:#373737ed}.service-card .number{font-size:.75rem;letter-spacing:.12em;color:#a2a2a2;display:block;margin-bottom:23px}.service-card h3{font-size:1.6rem;margin-bottom:11px;padding-right:15px}.service-card p{font-size:.875rem;margin:0;max-width:310px}.service-card .arrow{position:absolute;right:27px;top:26px;font-size:1.25rem;color:#c2c2c2}.section-bottom{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:30px;color:#b6b6b6;font-size:.9rem}.split{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:start}.split p{max-width:580px}.principles{border-top:1px solid var(--line)}.principle{border-bottom:1px solid var(--line);padding:24px 0;display:grid;grid-template-columns:44px 1fr;gap:10px}.principle span{color:#a6a6a6;font-size:.8rem;padding-top:6px}.principle h3{font-size:1.55rem;margin-bottom:10px}.principle p{font-size:.95rem;margin:0}.process{display:grid;grid-template-columns:repeat(3,1fr);gap:48px}.process article{border-top:1px solid #969696;padding-top:24px}.process span{color:#adadad;font-size:.8rem;letter-spacing:.12em}.process h3{margin-top:24px}.process p{font-size:.95rem}.aid-band{display:grid;grid-template-columns:1.6fr 1fr;gap:80px;align-items:center;border:1px solid #6d6d6d;padding:54px;background:#2e2e2ec9}.aid-band h2{font-size:2.8rem}.aid-band p:last-child{margin:0}.faq details{border-bottom:1px solid var(--line)}.faq details:first-child{border-top:1px solid var(--line)}.faq summary{list-style:none;padding:22px 38px 22px 0;position:relative;font-size:1rem;line-height:1.5}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:'+';position:absolute;right:4px;font-size:1.4rem;top:17px;color:#bababa}.faq details[open] summary:after{content:'−'}.faq details p{font-size:.95rem;max-width:650px;padding-right:25px}.consult{background:#2b2b2bed;border-top:1px solid #6d6d6d;border-bottom:1px solid #6d6d6d}.consult h2{font-size:clamp(2.5rem,4.5vw,4rem)}.consult-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:90px;align-items:center}.big-phone{display:inline-block;font-family:var(--serif);font-size:clamp(1.7rem,3vw,2.6rem);line-height:1.4;margin-bottom:18px}.footer{padding:65px 0 30px;background:#111111}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.3fr;gap:48px}.footer .logo{width:200px;margin-bottom:24px}.footer h3{font-family:Arial,sans-serif;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:#d7d7d7;margin:0 0 24px}.footer p,.footer a{font-size:.875rem;color:#b2b2b2}.footer a:hover{color:white}.footer-links{display:flex;flex-direction:column;gap:10px}.footer-bottom{display:flex;justify-content:space-between;gap:30px;border-top:1px solid var(--line);margin-top:48px;padding-top:25px;font-size:.75rem;color:#989898}.footer-note{font-size:.75rem!important;max-width:750px;margin-top:22px!important}.mobile-bar{display:none}.breadcrumbs{display:flex;gap:10px;flex-wrap:wrap;font-size:.8rem;color:#b4b4b4;margin-bottom:35px}.breadcrumbs a{text-decoration:underline}.page-hero{padding:66px 0 62px;border-bottom:1px solid var(--line)}.page-hero h1{max-width:940px;font-size:clamp(2.8rem,5vw,4.8rem)}.page-hero .lead{max-width:740px;font-size:1.12rem}.article-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:85px}.article h2{font-size:2.35rem;margin-top:50px}.article h2:first-child{margin-top:0}.article h3{font-size:1.6rem;margin-top:32px}.article p,.article li{color:#c4c4c4}.article ul{padding-left:22px;margin-bottom:25px}.article li{margin:10px 0}.article a:not(.button){text-decoration:underline;text-underline-offset:4px}.aside{position:sticky;top:125px;align-self:start;background:#2a2a2ab8;border:1px solid #7272726b;padding:28px}.aside h2{font-size:1.75rem}.aside p{font-size:.9rem}.aside .button{width:100%;margin:7px 0}.related{display:flex;flex-wrap:wrap;gap:10px}.related a{border:1px solid var(--line);padding:8px 14px;font-size:.85rem}.source-note{margin-top:45px;padding-top:20px;border-top:1px solid var(--line);font-size:.8rem;color:#aeaeae}.source-note a{display:inline-block;margin-right:12px}.contact-details{margin-top:35px}.contact-details h3{font-size:1.3rem;margin:25px 0 10px}.form-panel{background:#272727ed;border:1px solid #75757566;padding:38px}.form-panel h2{font-size:2rem}.form-panel label{display:block;font-size:.875rem;margin:18px 0 7px}.form-panel input,.form-panel textarea{width:100%;background:#181818;border:1px solid #808080;color:white;padding:12px 14px;border-radius:0;min-height:48px}.form-panel input:focus,.form-panel textarea:focus{outline:2px solid #d0d0d0;outline-offset:2px}.form-panel textarea{resize:vertical;min-height:110px}.form-panel .button{margin-top:20px;width:100%}.fine{font-size:.8rem!important;line-height:1.6;color:#bcbcbc}.form-status{margin-top:15px;color:#e1e1e1;font-size:.9rem}.bio-photo{width:100%;max-height:670px;object-fit:cover;object-position:center top;border:1px solid #70707055}.hidden{display:none!important}@media(min-width:1500px){.hero{padding-top:115px;padding-bottom:100px}.portrait img{height:560px}}@media(max-width:1100px){.wrap{width:calc(100% - 56px)}.navlinks{gap:18px}.logo{width:185px}.navlinks .button{display:none}.hero-grid{gap:38px}.portrait img{height:460px}.hero{padding-top:60px}.split,.consult-grid{gap:45px}.article-layout{gap:45px}.footer-grid{gap:26px}.service-card{padding:24px}}@media(max-width:760px){html{scroll-padding-top:85px}.wrap{width:calc(100% - 40px)}.topline{font-size:.7rem}.topline .wrap>span:last-child{display:none}.nav{height:79px}.logo{width:178px}.menu-toggle{display:block}.navlinks{display:none;position:absolute;top:79px;left:0;right:0;padding:18px 24px 28px;background:#1b1b1b;border-bottom:1px solid #727272;flex-direction:column;align-items:stretch;gap:6px}.navlinks.open{display:flex}.navlinks .button{display:flex}.hero{padding:47px 0 45px}.hero-grid{grid-template-columns:1fr;gap:40px}.hero h1{font-size:clamp(2.9rem,10.8vw,4.7rem)}.hero-copy>p{font-size:1rem}.hero .actions .button{padding:13px 17px}.portrait{max-width:500px;padding-left:18px;margin:0 auto;width:100%}.portrait img{height:410px}.portrait figcaption{bottom:48px;padding:14px 22px;min-width:220px}.assurance .wrap{display:grid;grid-template-columns:1fr 1fr;gap:12px;font-size:.75rem;padding-top:20px;padding-bottom:20px}.assurance span:last-child{grid-column:1/-1}.section{padding:64px 0}.section-head,.section-bottom{display:block}.section-head p{margin-top:20px;max-width:none}.section-bottom a{margin-top:12px}.service-grid{grid-template-columns:1fr 1fr}.service-card{min-height:205px;padding:23px 18px}.service-card h3{font-size:1.4rem}.service-card p{font-size:.82rem}.service-card .arrow{right:17px}.split,.consult-grid,.article-layout{grid-template-columns:1fr;gap:38px}.process{grid-template-columns:1fr;gap:28px}.process h3{margin-top:14px}.process p{margin-bottom:0}.aid-band{grid-template-columns:1fr;gap:25px;padding:30px}.aid-band h2{font-size:2.3rem}.footer-grid{grid-template-columns:1fr 1fr;gap:35px}.footer-bottom{display:block}.footer-bottom span{display:block;margin-bottom:8px}.footer{padding-bottom:100px}.mobile-bar{display:grid;position:fixed;bottom:0;left:0;right:0;z-index:40;grid-template-columns:1fr 1.25fr;background:#1c1c1c;border-top:1px solid #878787;padding:9px 12px calc(9px + env(safe-area-inset-bottom));gap:10px}.mobile-bar a{min-height:43px;display:flex;align-items:center;justify-content:center;font-size:.8rem;border:1px solid #8d8d8d}.mobile-bar a:last-child{background:#d8d8d8;color:#1a1a1a;font-weight:600}.page-hero{padding:40px 0}.page-hero h1{font-size:3rem}.page-hero .lead{font-size:1rem}.aside{position:static}.form-panel{padding:25px}.article h2{font-size:2rem}body{background:#181818}.bio-photo{max-height:540px}}@media(max-width:380px){.actions{flex-direction:column}.service-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.portrait img{height:350px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Shared consultation header and grouped practice-area navigation. */
.topline{padding:15px 0;background:#161616;border-bottom:1px solid #8787873d;font-size:.78rem}.topline .wrap{align-items:center;gap:30px}.top-contact{display:flex;gap:25px;align-items:center}.top-contact>a{font-size:1.22rem;font-weight:600;letter-spacing:.015em;white-space:nowrap;color:#f2f2f2}.top-contact>span{font-size:.75rem;letter-spacing:.06em}.header{background:#212121f5}.nav{height:104px;position:relative;gap:30px}.nav .logo{width:224px}.navlinks{gap:24px}.navlinks>a,.nav-disclosure>summary{font-size:.8rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase}.navlinks>a[aria-current=page]{border-bottom:1px solid #c8c8c8}.nav .header-cta{display:inline-flex;font-size:.75rem;max-width:145px;text-align:center;min-height:54px;padding:12px 20px}.nav-disclosure{position:static}.nav-disclosure>summary{list-style:none;display:flex;gap:10px;align-items:center;padding:20px 0;color:#d5d5d5;white-space:nowrap}.nav-disclosure>summary::-webkit-details-marker{display:none}.nav-disclosure>summary span{font-size:1rem;line-height:1;transition:transform .12s}.nav-disclosure[open]>summary{color:#ffffff}.nav-disclosure[open]>summary span{transform:rotate(180deg)}.nav-disclosure>summary:focus-visible{outline:2px solid #e6e6e6;outline-offset:3px}.mega-panel{position:absolute;left:0;right:0;top:100%;background:#1f1f1f;border:1px solid #79797966;box-shadow:0 8px 20px #00000040;max-height:calc(100dvh - 135px);overflow-y:auto;overscroll-behavior:contain;padding:26px 32px 32px}.mega-heading{display:flex;justify-content:space-between;gap:25px;padding-bottom:20px;border-bottom:1px solid #8282824d}.mega-heading a{font-size:1rem;color:#f3f3f3;border-bottom:1px solid #b9b9b9}.mega-heading span{font-size:.875rem;color:#bababa}.mega-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:30px 36px;padding-top:24px}.mega-group:first-child{grid-row:span 2}.mega-group h2{font-family:Arial,Helvetica,sans-serif;font-size:.78rem;line-height:1.5;letter-spacing:.085em;text-transform:uppercase;color:#c4c4c4;margin:0 0 13px}.mega-group ul{list-style:none;margin:0;padding:0;display:grid;gap:2px}.mega-group li{margin:0}.mega-group a{display:block;padding:7px 10px;margin-left:-10px;font-size:.9rem;line-height:1.4;color:#e8e8e8;border-left:2px solid transparent;transition:background .15s}.mega-group a:hover,.mega-group a[aria-current=page]{background:#3e3e3e;border-color:#cbcbcb;color:#ffffff}.location-panel{position:absolute;top:100%;right:120px;width:310px;padding:22px;background:#1f1f1f;border:1px solid #79797966;box-shadow:0 8px 20px #00000040}.location-panel a{display:block;padding:10px 12px;font-size:1rem}.location-panel a:hover{background:#3e3e3e}.location-panel p{font-size:.82rem;line-height:1.5;margin:15px 12px 0}.practice-jumps{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:60px}.practice-jumps a{border:1px solid #808080;padding:10px 15px;font-size:.85rem}.practice-jumps a:hover{background:#414141}.practice-group{scroll-margin-top:125px;margin-bottom:65px}.practice-group:last-child{margin-bottom:0}.practice-group h2{font-size:2.4rem}.practice-group .service-card{min-height:190px}.practice-group .service-card h3{font-size:1.55rem}.service-hero{padding:42px 0 70px;background:linear-gradient(90deg,#191919c9,#1717176b)}.service-hero-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);gap:70px;align-items:center}.service-hero h1{font-size:clamp(2.65rem,4.7vw,4.7rem);line-height:1.12;max-width:820px}.service-hero .lead{font-size:1.05rem;max-width:660px}.service-hero .eyebrow{font-size:.76rem}.hero-consult{border-top:2px solid #c3c3c3;background:#2f2f2fdf;padding:34px 32px}.consult-label{font-size:.75rem;letter-spacing:.12em;color:#d3d3d3;display:block;margin-bottom:20px}.hero-consult h2{font-size:2.25rem;margin-bottom:20px}.hero-consult p{font-size:.92rem;color:#cbcbcb}.hero-phone{font-size:clamp(1.4rem,2.1vw,2rem);font-family:Georgia,serif;display:block;white-space:nowrap;margin:20px 0}.hero-consult .button{width:100%}.consult-language{display:block;text-align:center;font-size:.8rem;color:#cbcbcb;margin-top:17px}.service-ribbon{background:#323232e3;border-top:1px solid #b6b6b63d;border-bottom:1px solid #b6b6b63d}.service-ribbon .wrap{display:flex;justify-content:space-between;gap:30px;padding-top:20px;padding-bottom:20px;color:#d3d3d3;font-size:.85rem}.article-toc{padding:24px;border:1px solid #7a7a7a4d;background:#2e2e2eb3;display:flex;gap:8px 18px;flex-wrap:wrap;margin-bottom:45px}.article-toc span{width:100%;font-size:.75rem;letter-spacing:.12em;color:#cbcbcb;margin-bottom:5px}.article-toc a{font-size:.875rem}.article h2[id]{scroll-margin-top:135px}.case-insight{padding:28px 30px;border-left:2px solid #b1b1b1;background:#2a2a2ab0;margin:38px 0}.case-insight h3{margin-top:0;font-size:1.65rem}.case-insight p:last-child{margin-bottom:0}.comparison-copy{max-width:820px;margin-top:50px}.service-card p{font-size:.94rem}.footer-note{color:#bdbdbd}.fine{color:#c6c6c6}
@media(max-width:1200px){.navlinks{gap:18px}.nav .logo{width:195px}.navlinks>a,.nav-disclosure>summary{font-size:.75rem}.nav .header-cta{padding:10px 14px}.service-hero-grid{gap:38px}.hero-consult{padding:28px}.mega-grid{gap:25px}.top-contact{gap:16px}}
@media(max-width:1040px){.nav{height:84px}.menu-toggle{display:none}.js .menu-toggle{display:block}.nav .logo{width:190px}.navlinks{position:static;display:flex;flex-wrap:wrap}.js .navlinks{display:none;position:absolute;top:84px;left:-28px;right:-28px;background:#1f1f1f;max-height:calc(100dvh - 155px);overflow:auto;overscroll-behavior:contain;padding:18px 28px 30px;flex-direction:column;align-items:stretch;gap:0;border-bottom:1px solid #818181;box-shadow:0 20px 30px #00000088}.js .navlinks.open{display:flex}.navlinks>a,.nav-disclosure>summary{font-size:.9rem;padding:15px 0;min-height:48px}.nav-disclosure>summary{justify-content:space-between}.nav .header-cta{max-width:none;margin-top:18px;padding:14px;min-height:48px}.mega-panel,.location-panel{position:static;max-height:none;width:auto;box-shadow:none;padding:22px;margin:0 0 14px;border:1px solid #75757573;background:#191919}.mega-grid{grid-template-columns:1fr 1fr;gap:26px}.mega-group:first-child{grid-row:auto}.mega-heading{display:block}.mega-heading span{display:block;margin-top:8px}.mega-group a{font-size:.94rem;padding:10px}.mega-group h2{font-size:.8rem}.location-panel p{margin-left:0}.location-panel a{padding-left:0}.topline .service-area{font-size:.7rem}.top-contact>span{font-size:.7rem}.top-contact>a{font-size:1.1rem}.service-hero-grid{grid-template-columns:minmax(0,1.4fr) minmax(270px,1fr)}.service-hero .actions{flex-direction:column;align-items:flex-start}.service-hero h1{font-size:3rem}.hero-consult h2{font-size:2rem}html{scroll-padding-top:100px}}
@media(max-width:760px){.topline{padding:10px 0}.topline .service-area{display:none}.topline .wrap{justify-content:center}.top-contact{width:100%;justify-content:space-between;gap:12px}.top-contact>span{font-size:.66rem;max-width:135px;line-height:1.4}.top-contact>a{font-size:1rem}.nav{height:78px}.js .navlinks{top:78px;left:-20px;right:-20px;padding:12px 22px 28px;max-height:calc(100dvh - 155px)}.nav .logo{width:180px}.mega-grid{grid-template-columns:1fr}.mega-group a{font-size:1rem;min-height:44px}.mega-heading a{font-size:.95rem}.mega-heading span{font-size:.85rem}.mega-panel{padding:20px}.service-hero{padding:32px 0 45px}.service-hero-grid{grid-template-columns:1fr;gap:35px}.service-hero h1{font-size:clamp(2.4rem,9.5vw,3.8rem)}.service-hero .actions{flex-direction:row;align-items:stretch}.service-hero .actions .button{flex:1 1 180px;padding:14px}.hero-consult{padding:28px}.hero-consult h2 br{display:none}.hero-phone{font-size:1.9rem}.hero-consult .button{width:auto}.consult-language{text-align:left}.service-ribbon .wrap{display:block;padding-top:16px;padding-bottom:16px}.service-ribbon span{display:block;font-size:.8rem}.service-ribbon span+span{margin-top:4px}.practice-jumps{gap:8px;margin-bottom:40px}.practice-jumps a{font-size:.8rem;padding:9px 11px}.practice-group{margin-bottom:50px}.practice-group h2{font-size:2.05rem}.practice-group .service-card h3{font-size:1.4rem}.service-card p{font-size:.94rem}.service-grid{grid-template-columns:1fr}.service-card{min-height:165px!important}.case-insight{padding:24px}.article-toc{padding:20px;gap:10px 18px}.article-toc a{font-size:.9rem}.article h2[id]{scroll-margin-top:100px}}
@media(prefers-reduced-motion:reduce){.nav-disclosure>summary span{transition:none}}
@media(max-width:1040px){html:not(.js) .nav{height:auto;min-height:84px;flex-wrap:wrap;padding-top:20px;padding-bottom:20px}html:not(.js) .navlinks{width:100%;position:static;display:flex;align-items:flex-start;gap:15px}.nav-disclosure{max-width:100%}}

/* Closed menus and decorative layers must never intercept service links. */
.nav-disclosure:not([open])>.mega-panel,.nav-disclosure:not([open])>.location-panel{display:none}
body:before,.portrait:before,.service-card .arrow,.service-card .number{pointer-events:none}

/* Complete practice-area directory: short links grouped for easy scanning. */
.footer-grid{grid-template-columns:1.3fr 1fr 1.2fr}
.footer-practices{margin-top:44px;padding-top:36px;border-top:1px solid var(--line)}
.footer-practices h2{font-size:2rem;margin-bottom:28px}
.footer-practice-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:32px 44px}
.footer-practice-grid section{min-width:0}
.footer-practice-grid section:first-child{grid-row:span 2}
.footer-practice-grid h3{line-height:1.6;margin-bottom:12px;color:#d2d2d2}
.footer-practice-grid ul{list-style:none;padding:0;margin:0}
.footer-practice-grid a{display:inline-block;padding:7px 0;font-size:.9rem;line-height:1.5;color:#c5c5c5}
.footer-practice-grid a:hover{text-decoration:underline;text-underline-offset:4px;color:#ffffff}
@media(max-width:1040px){.footer-practice-grid{grid-template-columns:1fr 1fr;gap:28px}.footer-practice-grid section:first-child{grid-row:auto}}
@media(max-width:760px){.footer-grid{grid-template-columns:1fr 1fr}.footer-practice-grid{grid-template-columns:1fr 1fr;gap:28px 20px}.footer-practice-grid a{min-height:44px;padding:10px 0}}
@media(max-width:540px){.footer-practice-grid,.footer-grid{grid-template-columns:1fr}.footer-practices{margin-top:30px}}

/* Location navigation extends the existing charcoal and silver menu. */
.location-panel{left:0;right:0;width:auto;max-height:calc(100dvh - 135px);overflow-y:auto;overscroll-behavior:contain;padding:26px 32px 32px}
.location-panel .location-intro{margin:0 0 22px;font-size:.94rem}
.location-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
.location-column{min-width:0}
.location-column h2{font-size:1.6rem;line-height:1.3;margin:0 0 14px}
.location-column h2 a{font:inherit;padding:0 0 12px;border-bottom:1px solid var(--line)}
.location-services>summary{font-size:1rem;line-height:1.5;min-height:48px;padding:12px 4px;color:#e8e8e8}
.location-service-list{padding-top:18px}
.location-link-group{margin-bottom:20px}
.location-link-group h3{font-family:Arial,Helvetica,sans-serif;font-size:.875rem;line-height:1.5;letter-spacing:.04em;color:#c5c5c5;margin:0 0 8px}
.location-link-group ul{list-style:none;margin:0;padding:0}
.location-link-group a{font-size:.94rem;line-height:1.5;padding:9px 12px;overflow-wrap:anywhere;border-left:2px solid transparent}
.location-link-group a[aria-current=page]{background:#3e3e3e;border-color:#cbcbcb}
.location-directory{scroll-margin-top:110px}
.directory-intro{max-width:750px;margin-bottom:38px}
.local-practice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 40px}
.local-practice-group{min-width:0;border-top:1px solid #8787874f;padding-top:22px}
.local-practice-group:first-child{grid-row:span 2}
.local-practice-group h3{font-size:1.6rem;line-height:1.25}
.local-practice-group ul{list-style:none;padding:0;margin:0}
.local-practice-group li{margin-bottom:22px}
.local-practice-group a{display:inline-block;font-size:1rem;line-height:1.5;padding:5px 0;text-decoration:underline;text-decoration-color:#848484;text-underline-offset:5px}
.local-practice-group a:hover{color:#ffffff;text-decoration-color:#ffffff}
.local-practice-group li p{font-size:1rem;line-height:1.6;margin:5px 0 0}
.lao-profile{padding:30px;margin:0 0 45px;border:1px solid #9e9e9e80;border-top:2px solid #cccccc;background:#2f2f2fdf}
.article .lao-profile h2{margin-top:0;font-size:2.2rem}
.lao-profile .button{white-space:normal;text-align:center;max-width:100%;overflow-wrap:anywhere}
.location-services:not([open])>.location-service-list{display:none}
@media(max-width:1040px){.location-panel{position:static;max-height:none;padding:22px}.location-columns{grid-template-columns:1fr;gap:24px}.local-practice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}.local-practice-group:first-child{grid-row:auto}}
@media(max-width:760px){.location-panel{padding:18px}.location-column h2{font-size:1.4rem}.location-link-group a{min-height:44px;padding:10px 4px}.local-practice-grid{grid-template-columns:1fr}.local-practice-group a{min-height:44px;padding:10px 0}.lao-profile{padding:22px}.article .lao-profile h2{font-size:1.9rem}}

/* Shared full directory and the expanded existing lawyer introduction. */
.all-practices> .wrap>p{max-width:760px}
.all-practice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 40px;margin-top:34px}
.all-practice-grid section{min-width:0;border-top:1px solid var(--line);padding-top:22px}
.all-practice-grid section:first-child{grid-row:span 2}
.all-practice-grid h3{font-size:1.4rem;line-height:1.35;margin-bottom:15px}
.all-practice-grid ul{list-style:none;padding:0;margin:0}
.all-practice-grid a,.current-practice{display:block;font-size:1rem;line-height:1.5;padding:8px 0;overflow-wrap:break-word}
.all-practice-grid a:hover{text-decoration:underline;text-underline-offset:4px}
.current-practice{color:#ffffff;font-weight:600}
.current-practice small{display:block;font-size:.875rem;font-weight:400;color:#c5c5c5}
.home-lawyer-photo{margin:0 0 28px;border:1px solid var(--line);background:#232323}
.home-lawyer-photo img{width:100%;height:400px;object-fit:cover;object-position:center 30%}
.home-lawyer-photo figcaption{padding:14px 20px;font-size:.94rem;color:#d2d2d2}
.home-about .actions{align-items:center;gap:22px}
.home-about .lead{font-size:1.15rem}
.assurance .wrap>span{flex:1 1 0;min-width:0;align-items:flex-start}
.assurance b{flex-shrink:0}
@media(max-width:1040px){.all-practice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.all-practice-grid section:first-child{grid-row:auto}}
@media(max-width:760px){.all-practice-grid{grid-template-columns:1fr;gap:24px}.all-practice-grid a,.current-practice{min-height:44px;padding:11px 0}.home-lawyer-photo img{height:380px}.assurance .wrap{grid-template-columns:1fr;font-size:.875rem;gap:16px}.assurance .wrap>span:last-child{grid-column:auto}}

/* One consultation hero template for every main page. */
.shared-hero{padding:48px 0 64px;background:linear-gradient(90deg,#191919c9,#1717176b)}
.shared-hero-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:clamp(32px,5vw,72px);align-items:center}
.shared-hero-copy,.consultation-form,.consultation-fields>div{min-width:0}
.shared-hero h1{font-size:clamp(2.4rem,4.5vw,4.5rem);line-height:1.12;overflow-wrap:break-word}
.shared-hero .lead{font-size:1.08rem;max-width:660px}
.home-hero h1 span{display:block}
.shared-hero .actions{display:flex;flex-wrap:wrap;align-items:stretch;gap:14px}
.shared-hero .actions .button{white-space:normal;text-align:center;max-width:100%}
.shared-hero .consultation-form{width:100%;padding:clamp(22px,2.6vw,36px);border-top:2px solid #c3c3c3}
.consultation-form h2{font-size:clamp(1.8rem,2.4vw,2.2rem);line-height:1.15;margin:0 0 14px}
.consultation-form .consultation-intro{font-size:.94rem;line-height:1.55;margin:0 0 12px}
.consultation-form .fine{font-size:.84rem;line-height:1.5;margin:0}
.consultation-form .required-note{margin-top:14px}
.consultation-form label{margin:12px 0 6px}
.consultation-form input,.consultation-form textarea{font-size:1rem;min-width:0;max-width:100%}
.consultation-fields{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:14px}
.consultation-form textarea{min-height:88px}
.consultation-form .message-help{margin-top:8px}
.consultation-form .button{white-space:normal;min-height:48px;line-height:1.4;margin-top:16px}
.consultation-form .button:disabled{opacity:.55;cursor:not-allowed}
.consultation-form .consultation-notice{margin-top:12px}
.consultation-form .form-status:empty{display:none}
.consultation-form .form-status{padding:12px;border-left:2px solid #d0d0d0;background:#181818;margin-bottom:0}
.consultation-form .consultation-fallback{margin-top:16px;padding-top:14px;border-top:1px solid var(--line);overflow-wrap:anywhere}
.consultation-form .consultation-fallback a,.consultation-form noscript a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:900px){.shared-hero-grid{grid-template-columns:minmax(0,1fr);gap:32px;align-items:start}.shared-hero .consultation-form{max-width:640px}.shared-hero h1{font-size:clamp(2.4rem,7vw,4rem)}}
@media(max-width:760px){.shared-hero{padding:32px 0 45px}.shared-hero .lead{font-size:1rem}.shared-hero .actions .button{flex:1 1 180px;padding:14px}.shared-hero .breadcrumbs{margin-bottom:28px}}
@media(max-width:540px){.consultation-fields{grid-template-columns:minmax(0,1fr);gap:0}.shared-hero .consultation-form{padding:22px}.consultation-form h2{font-size:1.85rem}}
/* Homepage: headline and contact buttons left, consultation form right. */
.home-hero{padding:56px 0 64px}
.home-hero h1{font-size:clamp(2.7rem,5vw,4.8rem);line-height:1.12;margin-bottom:0}
.home-hero-consultation{min-width:0;margin-top:32px;max-width:580px}
.home-hero-consultation h2{font-size:clamp(1.7rem,2.4vw,2.3rem);line-height:1.2;margin-bottom:18px;overflow-wrap:break-word}
.home-hero-consultation p{font-size:1rem;line-height:1.7;max-width:500px;margin-bottom:0}
.home-hero-consultation .actions{margin-top:26px}
.home-hero-consultation .hero-support-details{margin-top:20px;min-width:0;text-align:left}
.home-hero-consultation .hero-support-details p{max-width:none;margin:0;font-size:1rem;line-height:1.6;color:var(--muted);overflow-wrap:break-word}
.home-hero-consultation .hero-support-details p+p{margin-top:6px}
.home-hero-consultation .button{font-size:1.0625rem;min-height:56px;padding:16px 28px}
.home-hero .consultation-form .fine{font-size:.875rem}
@media(max-width:900px){.home-hero{padding:48px 0 56px}.home-hero .shared-hero-grid{gap:36px}.home-hero h1{font-size:clamp(2.5rem,7vw,4rem)}.home-hero-consultation{margin-top:26px}.home-hero-consultation h2{font-size:clamp(1.7rem,4.5vw,2.2rem)}}
@media(max-width:540px){.home-hero{padding:36px 0 44px}.home-hero-consultation .button{width:100%}}

/* Invisible bot field stays out of keyboard and assistive-technology navigation. */
.consultation-trap{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.consultation-form [aria-invalid="true"]{border-color:#b8b8b8}
.consultation-form .button:disabled:hover{transform:none}

/* Ten service areas use the same expandable practice directory. */
.location-columns{align-items:start;gap:24px 32px}
.location-column{border-bottom:1px solid var(--line);padding-bottom:16px}
.location-column h2{font-size:1.4rem;overflow-wrap:break-word}
.location-column h2 a{display:block;min-height:44px}
.location-services>summary{cursor:pointer}
.home-hero .consultation-form h2{font-size:clamp(1.7rem,2.3vw,2.1rem);line-height:1.2}
@media(max-width:1040px){.location-columns{gap:20px}}

/* Matching hero actions wrap naturally when both labels no longer fit. */
.home-hero-consultation .actions .button{flex:1 1 210px;width:auto;padding:16px 20px;min-height:56px}
#home-consultation{scroll-margin-top:110px}

/* Let the logo yield space to the mobile menu under text enlargement. */
@media(max-width:760px){.header .nav{gap:16px}.header .nav>a{min-width:0;flex:0 1 180px}.header .nav .logo{max-width:100%}.header .menu-toggle{flex-shrink:0}}

/* Shared editorial rhythm: quiet surfaces, readable type and consistent spacing. */

body{background:var(--bg);line-height:1.75}

.wrap{width:min(1200px,calc(100% - 80px))}
h1,h2,h3{text-wrap:balance}
h2{font-size:clamp(2rem,3.5vw,3.1rem);line-height:1.18}
p{line-height:1.75}
.section{padding:88px 0}
.surface{background:#1d1d1d}
.eyebrow{font-size:.875rem;letter-spacing:.13em;line-height:1.5;margin-bottom:22px;color:#d0d0d0}
.eyebrow:before{width:24px;background:#a6a6a6}
.button{min-height:50px;padding:14px 22px;background:#dadada;border-color:#dadada;transition:background .18s,border-color .18s,color .18s}
.button:hover{transform:none}
.button.outline{border-color:#909090}
.text-link{font-size:1rem;line-height:1.5;padding:10px 0;border-color:#8f8f8f;text-underline-offset:5px}
.topline{padding:12px 0}
.topline .service-area,.top-contact>span{font-size:.875rem;letter-spacing:.015em}
.header{background:#1e1e1ef5}
.nav{height:92px;gap:24px}
.nav .logo{width:206px}
.navlinks{gap:22px}
.navlinks>a,.nav-disclosure>summary{font-size:.875rem;letter-spacing:.01em;text-transform:none}
.nav .header-cta{font-size:.875rem;line-height:1.4;max-width:158px;min-height:48px;padding:12px 16px}
.shared-hero{padding:52px 0 64px;background:linear-gradient(120deg,#08080830,#08080818)}
.shared-hero-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(36px,5vw,72px)}
.shared-hero h1{font-size:clamp(2.6rem,4.6vw,4.3rem);line-height:1.12;letter-spacing:-.035em}
.home-hero h1{font-size:clamp(3rem,5vw,4.65rem)}
.shared-hero .lead{font-size:1.0625rem;max-width:56ch}
.home-hero-consultation .actions .button{font-size:1rem;min-height:52px;flex-basis:190px}
.shared-hero .consultation-form{background:#282828;border:1px solid #c3c3c338;border-top:2px solid #bababa;padding:30px}
.consultation-form h2,.home-hero .consultation-form h2{font-size:clamp(1.65rem,2.1vw,1.95rem);line-height:1.25;letter-spacing:-.015em;text-wrap:pretty}
.consultation-form .consultation-intro{font-size:1rem;line-height:1.6}
.consultation-form .fine,.home-hero .consultation-form .fine{font-size:.875rem;line-height:1.6}
.consultation-form input,.consultation-form textarea{background:#1b1b1b;border-color:#787878;min-height:48px}
.consultation-form .button{background:#dadada}
.assurance{background:#1e1e1e;border-color:var(--line)}
.assurance .wrap{padding-top:22px;padding-bottom:22px;font-size:.875rem;line-height:1.6;gap:28px}
.assurance b{font-size:.75rem;padding-top:2px;color:#b1b1b1}
.service-card{background:#232323;min-height:190px}
.service-card:hover{background:#303030}
.service-card h3{font-size:1.5rem;line-height:1.25}
.service-card p,.process p,.principle p,.faq details p,.article p,.article li,.aside p{font-size:1rem}
.local-practice-grid,.all-practice-grid{gap:32px 40px}
.local-practice-group h3,.all-practice-grid h3{font-size:1.5rem;line-height:1.3}
.local-practice-group a,.all-practice-grid a{color:#e5e5e5}
.article-layout{gap:64px}
.article p,.article li{max-width:70ch}
.article h2{font-size:clamp(1.8rem,2.7vw,2.35rem);line-height:1.25;margin-top:44px}
.article h3{line-height:1.3}
.aside{background:#282828;border-color:#aeaeae38;top:116px}
.breadcrumbs{font-size:.875rem;margin-bottom:30px}
.consult{background:#2e2e2e;border-color:#b9b9b938}
.consult h2{font-size:clamp(2.2rem,3.8vw,3.5rem)}
.footer{background:#161616}
.footer h3{font-size:.875rem;line-height:1.5;letter-spacing:.08em}
.footer p,.footer a,.footer-practice-grid a{font-size:.9375rem}
.footer-note,.footer-bottom{font-size:.8125rem!important;line-height:1.7}

/* Lawyer profiles share one restrained composition and an uncropped portrait. */
.home-about{background:#1f1f1f;border-bottom:1px solid var(--line)}
.lawyer-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:clamp(44px,7vw,100px);align-items:center}
.lawyer-copy{min-width:0;max-width:620px}
.lawyer-copy h2{margin-bottom:16px;font-size:clamp(2.3rem,4vw,3.4rem);line-height:1.16}
.lawyer-copy .lawyer-role{font-size:.9375rem;letter-spacing:.02em;color:#bbbbbb;margin-bottom:30px}
.lawyer-copy p{max-width:32rem;font-size:1rem;color:#cbcbcb;overflow-wrap:break-word}
.lawyer-copy .lawyer-lead{text-wrap:balance;font-family:var(--serif);font-size:clamp(1.35rem,2vw,1.65rem);line-height:1.45;color:#efefef;margin-bottom:24px;letter-spacing:-.015em}
.lawyer-copy .lawyer-languages{border-top:1px solid var(--line);padding-top:20px;margin-top:28px;margin-bottom:0;font-size:.9375rem;color:#e3e3e3}
.lawyer-languages span{display:block;color:#adadad;font-size:.875rem;margin-bottom:4px}
.lawyer-copy .actions{gap:24px;align-items:center;margin-top:26px}
.lawyer-portrait{margin:0;width:100%;max-width:390px;justify-self:end}
.lawyer-portrait img{width:100%;height:auto;aspect-ratio:2/3;object-fit:contain;background:#333333;border:1px solid #c7c7c724}
.lawyer-portrait figcaption{padding:16px 0 0;border-top:0;color:#e7e7e7;font-size:1rem;line-height:1.5}
.lawyer-portrait figcaption span{display:block;color:#bbbbbb;font-size:.875rem;margin-top:3px}
.biography .lawyer-grid{align-items:start}
.biography-copy h2{font-size:clamp(2rem,3.2vw,2.8rem);margin-bottom:24px}
.biography-copy h3{font-size:1.4rem;line-height:1.35;margin:32px 0 12px}
.biography .lawyer-portrait{margin-top:6px}

@media(max-width:1100px){
 .wrap{width:calc(100% - 56px)}
 .nav .logo{width:185px}.navlinks{gap:17px}
 .lawyer-grid{gap:44px}.article-layout{gap:40px}
}
@media(max-width:1040px){
 .nav{height:84px}.js .navlinks{top:84px}
 .navlinks>a,.nav-disclosure>summary{font-size:1rem;min-height:48px}
 .nav .header-cta{max-width:none}
 .top-contact{gap:14px}.top-contact>span{font-size:.875rem}
 .topline .service-area{font-size:.875rem}
 .mega-group h2{font-size:.875rem}
}
@media(max-width:900px){
 .shared-hero-grid{grid-template-columns:minmax(0,1fr);gap:36px}
 .shared-hero .consultation-form{max-width:640px}
 .lawyer-grid{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:32px}
 .lawyer-copy .actions{align-items:flex-start;gap:14px;flex-direction:column}
 .lawyer-copy h2{font-size:2.6rem}.biography-copy h2{font-size:2.3rem}
 .desktop-break{display:none}
}
@media(max-width:760px){
 .wrap{width:calc(100% - 40px)}
 .section{padding:60px 0}
 .nav{height:78px}.js .navlinks{top:78px}
 .top-contact>span{font-size:.875rem;max-width:180px;line-height:1.4}
 .top-contact>a{font-size:1rem}
 .shared-hero,.home-hero{padding:36px 0 44px}
 .shared-hero h1{font-size:clamp(2.4rem,8.5vw,3.8rem)}
 .home-hero h1{font-size:clamp(2.6rem,10vw,4rem)}
 .shared-hero .consultation-form{padding:24px}
 .consultation-form h2,.home-hero .consultation-form h2{font-size:1.75rem}
 .eyebrow{font-size:.875rem;letter-spacing:.1em;margin-bottom:18px}
 .assurance .wrap{grid-template-columns:1fr;gap:14px;padding-top:22px;padding-bottom:22px}
 .lawyer-grid{grid-template-columns:minmax(0,1fr);gap:36px}
 .lawyer-copy{max-width:none}
 .lawyer-copy h2{font-size:clamp(2.1rem,8vw,2.7rem)}
 .lawyer-copy .lawyer-role{margin-bottom:24px}
 .lawyer-copy .actions{flex-direction:row;align-items:center;gap:18px}
 .lawyer-portrait{justify-self:start;max-width:360px}
 .biography .lawyer-portrait{margin-top:0}
 .article-layout{gap:36px}.service-card p{font-size:1rem}
 .mobile-bar a{font-size:.875rem;min-height:46px}
 .footer{padding-bottom:112px}
}
@media(max-width:420px){
 .top-contact{gap:8px}.top-contact>span{max-width:150px}
 .home-hero-consultation .actions .button{width:100%;flex-basis:100%}
 .shared-hero .consultation-form{padding:22px 20px}
 .lawyer-copy .actions{align-items:flex-start;flex-direction:column}
 .lawyer-copy .actions .button{width:100%}
}

/* Keep the homepage portrait beside the introduction, aligned at the top. */
.home-about .lawyer-grid{
 grid-template-areas:"copy portrait";
 grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);
 align-items:start;
 column-gap:clamp(32px,5vw,72px);
}
.home-about .lawyer-copy{grid-area:copy;align-self:start}
.home-about .lawyer-portrait{
 grid-area:portrait;
 align-self:start;
 justify-self:end;
 margin:0;
 width:100%;
 max-width:390px;
}
.home-about .lawyer-portrait img{display:block;width:100%;height:auto;aspect-ratio:2/3;object-fit:contain}
@media(max-width:760px){
 .home-about .lawyer-grid{grid-template-areas:"copy" "portrait";grid-template-columns:minmax(0,1fr);gap:28px}
 .home-about .lawyer-portrait{justify-self:center;max-width:360px}
}

/* Repeat the homepage consultation form above the footer. */
.home-consult .consult-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(36px,5vw,72px);align-items:center}
.home-consult .consult-grid>div{min-width:0}
.home-consult .consultation-form{width:100%;padding:30px;background:#282828;border:1px solid #c3c3c338;border-top:2px solid #bababa}
.home-consult .consultation-form h2{font-size:clamp(1.65rem,2.1vw,1.95rem);line-height:1.25;letter-spacing:-.015em}
.home-consult .consultation-form .fine{font-size:.875rem}
@media(max-width:900px){
 .home-consult .consult-grid{grid-template-columns:minmax(0,1fr);gap:32px;align-items:start}
 .home-consult .consultation-form{max-width:640px}
}
@media(max-width:760px){
 .home-consult .consultation-form{padding:24px}
 .home-consult .consultation-form h2{font-size:1.75rem}
}
@media(max-width:420px){.home-consult .consultation-form{padding:22px 20px}}

/* Criminal-service overview, consequence panels and lawyer approach. */
.service-overview{background:#1d1d1d;padding-bottom:72px}
.service-overview .article-toc{margin:0 0 48px;gap:12px 24px;background:transparent;border-color:var(--line);padding:20px 0}
.service-intro-grid,.service-analysis-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px}
.service-intro-grid{align-items:start}
.service-intro-grid>*{min-width:0}
.service-visual{position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;justify-content:center;padding:clamp(28px,3.6vw,48px);min-height:470px;border:1px solid #cfcfcf3d;background:#222222}
.service-visual:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(160deg,#1e1e1eba,#191919f2),url('/assets/background-desktop.webp') center/cover;filter:grayscale(1);pointer-events:none}
.service-visual .eyebrow{font-size:.875rem;letter-spacing:.11em;color:#dadada}
.service-visual h2{font-size:clamp(2.2rem,3.3vw,3.1rem);line-height:1.16;margin:8px 0 24px;overflow-wrap:break-word}
.service-visual h2 span{display:block;color:#cecece;font-size:.72em;margin-top:10px}
.service-visual p{font-size:1rem;color:#dedede}
.service-visual .button{align-self:flex-start;max-width:100%;text-align:center;white-space:normal;margin-top:16px}
.service-visual .service-panel-location{font-size:.875rem;margin:20px 0 0;color:#cbcbcb}
.service-explanation{padding:8px 0}
.service-explanation h2{font-size:clamp(1.9rem,2.6vw,2.5rem);line-height:1.2;margin-bottom:24px}
.service-explanation h3{font-size:1.4rem;line-height:1.35;margin:28px 0 14px}
.service-explanation p{font-size:1rem;line-height:1.8;max-width:65ch}
.service-explanation p:last-child{margin-bottom:0}
.service-analysis-grid{margin-top:64px;gap:28px;align-items:start}
.service-analysis-panel{min-width:0;padding:clamp(26px,3.2vw,42px);border:1px solid #c4c4c445}
.service-analysis-panel h2{font-size:clamp(1.8rem,2.5vw,2.3rem);line-height:1.25;padding-bottom:24px;margin-bottom:24px;border-bottom:1px solid #bababa45}
.service-analysis-panel p,.service-analysis-panel li{font-size:1rem;line-height:1.8}
.service-analysis-panel p:last-child{margin-bottom:0}
.service-analysis-panel ul{padding-left:22px;margin:24px 0 0}
.service-analysis-panel li{padding-left:5px;margin:0 0 14px;color:#d8d8d8}
.service-analysis-panel li:last-child{margin-bottom:0}
.service-consequences{background:#e0e0e0;color:#212121;border-color:#e0e0e0}
.service-consequences p{color:#424242}
.service-consequences h2{border-color:#65656540}
.service-consequences .eyebrow{color:#535353}
.service-consequences .eyebrow:before{background:#797979}
.service-defence{background:#292929}
.consequence-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 24px;margin:30px 0 0}
.consequence-item{min-width:0;border-top:1px solid #65656540;padding-top:18px}
.consequence-item dt{font-family:var(--serif);font-size:1.2rem;line-height:1.35;color:#212121;margin:0 0 10px}
.consequence-stage{display:block;font-family:Arial,Helvetica,sans-serif;font-size:.875rem;line-height:1.5;color:#535353;margin-bottom:8px}
.consequence-item dd{margin:0;font-size:1rem;line-height:1.75;color:#424242;overflow-wrap:break-word}
.consequence-citations{white-space:normal}
.consequence-cite{font-size:.875rem;text-decoration:underline;text-underline-offset:3px;color:#424242}
.consequence-cite:hover{color:#212121}
.consequence-cite:focus-visible{outline-color:#212121}
@media(max-width:1100px){.consequence-items{grid-template-columns:minmax(0,1fr);gap:22px}}
.service-overview [id],.service-why [id]{scroll-margin-top:116px}
.service-why{background:#2a2a2a;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.service-why-heading{display:flex;justify-content:space-between;align-items:end;gap:32px;margin-bottom:42px}
.service-why-heading h2{margin-bottom:0}
.service-why-heading .text-link{flex-shrink:0}
.lawyer-reasons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 56px}
.lawyer-reason{border-top:1px solid #c6c6c640;padding-top:24px;min-width:0}
.lawyer-reason h3{font-size:1.5rem;line-height:1.3;margin-bottom:14px}
.lawyer-reason p{font-size:1rem;line-height:1.8;margin:0;max-width:60ch}
@media(max-width:1000px){
 .service-intro-grid{gap:32px}
 .service-visual{min-height:440px;padding:28px}
 .service-visual h2{font-size:2.3rem}
 .service-analysis-grid{gap:24px}
 .service-analysis-panel{padding:28px}
}
@media(max-width:760px){
 .service-overview{padding-bottom:56px}
 .service-overview .article-toc{margin-bottom:32px;gap:10px 20px}
 .service-intro-grid,.service-analysis-grid,.lawyer-reasons{grid-template-columns:minmax(0,1fr)}
 .service-intro-grid{gap:32px}
 .service-visual{min-height:0;padding:32px 26px}
 .service-visual h2{font-size:clamp(2rem,7.8vw,2.6rem)}
 .service-visual .button{width:100%;margin-top:10px}
 .service-explanation{padding:0}
 .service-explanation h2{font-size:2rem}
 .service-analysis-grid{margin-top:40px;gap:20px}
 .service-analysis-panel{padding:28px 24px}
 .service-analysis-panel h2{font-size:1.9rem}
 .service-why-heading{display:block;margin-bottom:32px}
 .service-why-heading .text-link{margin-top:20px}
 .lawyer-reasons{gap:28px}
}

/* One shared consultation box: aligned copy and a compact, accessible form. */
.shared-hero .shared-hero-grid,.home-consult .consult-grid{
 position:relative;
 display:grid;
 grid-template-columns:minmax(0,1fr) minmax(0,1fr);
 align-items:start;
 gap:0;
 padding:0;
 background:#232323f5;
 border:1px solid #c3c3c338;
}
.shared-hero .shared-hero-grid:before,.home-consult .consult-grid:before{
 content:'';position:absolute;left:50%;top:24px;bottom:24px;width:1px;background:#c3c3c338;pointer-events:none;
}
.shared-hero .shared-hero-copy,.home-consult .consult-grid>div{min-width:0;overflow-wrap:break-word;padding:24px}
.shared-hero .shared-hero-copy>:last-child,.home-consult .consult-grid>div>:last-child{margin-bottom:0}
.shared-hero .consultation-form,.home-consult .consultation-form{
 width:100%;max-width:none;min-width:0;
 padding:24px;
 background:transparent;
 border:0;
}
.shared-hero .consultation-form h2,.home-consult .consultation-form h2{
 font-size:1.5rem;line-height:1.25;margin-bottom:8px;
}
.consultation-form .consultation-intro{font-size:.9375rem;line-height:1.5;margin-bottom:8px}
.consultation-form .required-note{margin-top:8px}
.consultation-form label{margin:8px 0 4px;line-height:1.4}
.consultation-form input{height:44px;min-height:44px;padding:10px 12px;line-height:1.4}
.consultation-form textarea{height:72px;min-height:72px;padding:8px 12px;line-height:1.5;resize:vertical}
.consultation-form .consultation-fields{gap:12px}
.consultation-form .message-help{margin-top:6px}
.consultation-form .button{min-height:44px;margin-top:10px;padding:10px 18px}
.consultation-form .consultation-notice{margin-top:8px}
.consultation-form .consultation-fallback{margin-top:10px;padding-top:8px}
.shared-hero{padding:32px 0 44px}
.home-consult{padding:56px 0}
.shared-hero h1,.home-consult .consult-grid>div>h2{font-size:clamp(2.25rem,3.5vw,3rem)}
.shared-hero .actions,.home-hero-consultation .actions{margin-top:20px;gap:12px}
.home-hero-consultation{margin-top:0}
@media(max-width:900px){
 .shared-hero .shared-hero-grid,.home-consult .consult-grid{grid-template-columns:minmax(0,1fr)}
 .shared-hero .shared-hero-grid:before,.home-consult .consult-grid:before{display:none}
 .shared-hero .consultation-form,.home-consult .consultation-form{border-top:1px solid #c3c3c338}
}
@media(max-width:540px){
 .shared-hero .shared-hero-copy,.home-consult .consult-grid>div,
 .shared-hero .consultation-form,.home-consult .consultation-form{padding:20px 18px}
 .shared-hero h1{font-size:clamp(2rem,8vw,2.75rem)}
 .home-consult .consult-grid>div>h2{font-size:clamp(2rem,8vw,2.75rem)}
 .consultation-form .consultation-fields{gap:0}
 .shared-hero .eyebrow{font-size:.8rem;letter-spacing:.1em;gap:10px}
 .shared-hero .eyebrow:before{flex:0 0 18px}
}

/* Homepage practice areas: concise category cards with clear service links. */
.home-practices{scroll-margin-top:110px}
.home-practices-heading{max-width:720px;margin-bottom:32px}
.home-practices-heading h2{margin-bottom:14px}
.home-practices-heading p{margin:0;font-size:1rem}
.home-practice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.home-practice-card{min-width:0;padding:28px;background:#232323;border:1px solid #c3c3c338}
.home-practice-card h3{font-size:1.65rem;line-height:1.25;letter-spacing:-.015em;text-wrap:pretty;margin:0 0 12px}
.home-practice-card>p{font-size:.9375rem;line-height:1.6;margin:0 0 18px;max-width:55ch}
.home-practice-card ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 22px;list-style:none;margin:0;padding:0}
.home-practice-card li{min-width:0;border-top:1px solid #c3c3c326}
.home-practice-card a{display:flex;align-items:center;min-height:44px;height:100%;padding:10px 0;color:#e8e8e8;font-size:1rem;line-height:1.45;overflow-wrap:break-word;text-decoration:underline;text-decoration-color:#919191;text-underline-offset:4px;text-decoration-thickness:1px}
.home-practice-card a:hover{color:#ffffff;text-decoration-color:#ffffff}
.home-practice-card a:focus-visible{outline:2px solid #dadada;outline-offset:3px}
@media(max-width:1000px){
 .home-practice-grid{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:600px){
 .home-practices-heading{margin-bottom:24px}
 .home-practice-grid{gap:16px}
 .home-practice-card{padding:24px 20px}
 .home-practice-card h3{font-size:1.5rem}
 .home-practice-card ul{grid-template-columns:minmax(0,1fr)}
}

/* Homepage practice principles, between the lawyer profile and service directory. */
.home-why{padding:0}
.home-why h2{max-width:800px;margin-bottom:28px}
.home-why-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.home-why-card{min-width:0;padding:28px;background:#232323;border:1px solid #c3c3c338;overflow-wrap:break-word}
.home-why-card h3{font-size:1.65rem;line-height:1.25;letter-spacing:-.015em;margin:0 0 16px;text-wrap:pretty}
.home-why-card p{font-size:1rem;line-height:1.7;margin:0}
.home-why-card strong{color:#e8e8e8;font-weight:600}
@media(max-width:900px){
 .home-why-grid{grid-template-columns:minmax(0,1fr);gap:16px}
}
@media(max-width:600px){
 .home-why h2{margin-bottom:24px}
 .home-why-card{padding:24px 20px}
 .home-why-card h3{font-size:1.5rem;margin-bottom:12px}
}

/* Content-sized shared consultation: copy left, quiet contact card right. */
.consult:not(.home-consult){padding:36px 0;background:transparent;border:0}
.consult:not(.home-consult) .consult-grid{
 display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.85fr);
 align-items:center;gap:32px;padding:28px;
 background:#151515ed;border:1px solid var(--line);border-radius:6px;
}
.consult:not(.home-consult) .consult-grid>div{min-width:0}
.consult:not(.home-consult) .eyebrow{font-size:.8125rem;letter-spacing:.1em;margin-bottom:12px}
.consult:not(.home-consult) h2{font-size:clamp(1.65rem,2.3vw,2rem);line-height:1.25;margin-bottom:14px;overflow-wrap:break-word}
.consult:not(.home-consult) p{font-size:1rem;line-height:1.6;margin-bottom:12px}
.consult:not(.home-consult) .consult-grid>div>p:last-child{margin-bottom:0}
.consult:not(.home-consult) .consult-actions{
 display:flex;flex-direction:column;align-items:flex-start;gap:10px;
 width:100%;max-width:340px;justify-self:end;align-self:center;
 padding:20px 0 20px 24px;border-left:1px solid var(--line);
}
.consult:not(.home-consult) .consult-action-heading{font-family:Arial,Helvetica,sans-serif;font-size:1.125rem;font-weight:600;letter-spacing:0;line-height:1.4;margin:0}
.consult:not(.home-consult) .consult-action-note{font-size:.9375rem;line-height:1.5;margin:0}
.consult:not(.home-consult) .big-phone{
 display:inline-flex;align-items:center;justify-content:center;
 width:fit-content;min-width:0;min-height:48px;max-width:100%;
 font-family:Arial,Helvetica,sans-serif;font-size:1rem;
 font-weight:700;line-height:1.4;letter-spacing:.01em;margin:0;
 padding:12px 20px;text-align:center;white-space:normal;overflow-wrap:anywhere;
 color:#ffffff;background:transparent;border:1px solid #929292;border-radius:0;
 text-decoration:none;transition:background .18s,border-color .18s;
}
.consult:not(.home-consult) .big-phone:hover{background:#ffffff18;border-color:#ffffff;text-decoration:none}
.consult:not(.home-consult) .big-phone:focus-visible{outline:2px solid #ffffff;outline-offset:4px;box-shadow:0 0 0 2px #111111}
.consult:not(.home-consult) .button{
 width:auto;max-width:100%;min-width:0;min-height:48px;padding:12px 18px;
 font-size:.9375rem;line-height:1.5;text-align:center;white-space:normal;
 overflow-wrap:anywhere;text-wrap:pretty;border-radius:3px;
}
@media(max-width:900px){
 .consult:not(.home-consult) .consult-grid{grid-template-columns:minmax(0,1fr);gap:20px;padding:24px}
 .consult:not(.home-consult) .consult-actions{justify-self:start;max-width:none;padding:20px 0 0;border-left:0;border-top:1px solid var(--line)}
 .consult:not(.home-consult) .button{max-width:360px}
}
@media(max-width:540px){
 .consult:not(.home-consult){padding:28px 0}
 .consult:not(.home-consult) .consult-grid{padding:22px 18px}
 .consult:not(.home-consult) .button{width:100%;max-width:100%}
}

/* Mobile and tablet usability: readable reflow, safe areas, and one scrolling menu. */
@media(max-width:1040px){
 html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
 .wrap{width:calc(100% - 56px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px))}
 .header{backdrop-filter:none;background:#1e1e1e}
 .menu-toggle{min-width:64px;min-height:44px}
 .js .navlinks{
  flex-wrap:nowrap;left:0;right:0;min-width:0;max-width:100%;
  max-height:calc(100vh - 160px);
  max-height:var(--mobile-menu-height,calc(100dvh - 160px));
  overflow-y:auto;padding:12px 18px 24px;
 }
 .js .navlinks>*{flex-shrink:0;min-width:0}
 .nav-disclosure>summary{white-space:normal}
 .nav-disclosure>summary span{flex-shrink:0}
 .mega-panel,.location-panel{overflow:visible;max-height:none;padding:16px}
 .mega-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .mega-group,.mega-heading,.location-column,.article,.contact-details,.split>div,.footer-grid>div{min-width:0}
 .mega-group a,.location-panel a,.location-panel summary,.footer a,.contact-details a,.breadcrumbs{overflow-wrap:anywhere}
 .mega-group a,.location-link-group a,.footer-links a{min-height:44px}
 .article-toc a,.related a{display:inline-flex;align-items:center;min-height:44px}
 .consultation-form input,.consultation-form textarea,.consultation-form button{scroll-margin-top:110px;scroll-margin-bottom:100px}
 .consultation-form .fine{font-size:.875rem!important}
 .form-status{overflow-wrap:anywhere}
 .consultation-form [data-bot-check]{max-width:100%;margin-top:12px}
}
@media(max-width:900px){
 .article-layout,.service-intro-grid,.service-analysis-grid{grid-template-columns:minmax(0,1fr)}
 .article-layout{gap:32px}
 .article-layout .aside{position:static}
 .service-visual{min-height:0}
 .service-why-heading{flex-wrap:wrap;align-items:start;gap:20px}
 .service-why-heading .text-link{flex-shrink:1;max-width:100%}
 .aid-band{grid-template-columns:minmax(0,1fr);gap:24px;padding:30px}
}
@media(max-width:760px){
 html{scroll-padding-bottom:calc(86px + env(safe-area-inset-bottom,0px))}
 .wrap{width:calc(100% - 40px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px))}
 .split,.footer-grid,.all-practice-grid,.local-practice-grid{min-width:0}
 .split{grid-template-columns:minmax(0,1fr)}
 .mega-grid{grid-template-columns:minmax(0,1fr)}
 h1,h2,h3,.eyebrow,.button,.service-ribbon span{overflow-wrap:break-word}
 .eyebrow:before{flex-shrink:0}
 .consultation-form input,.consultation-form textarea{font-size:16px}
 .consultation-form textarea{height:96px;min-height:96px}
 .consultation-form .button{min-height:48px}
 .mobile-bar{padding-left:max(12px,env(safe-area-inset-left,0px));padding-right:max(12px,env(safe-area-inset-right,0px))}
 .mobile-bar a{min-width:0;padding:8px;text-align:center;line-height:1.4}
 .form-editing .mobile-bar{display:none}
 .footer{padding-bottom:calc(112px + env(safe-area-inset-bottom,0px))}
 .source-note a{overflow-wrap:anywhere}
 .service-card{min-height:0!important}
}
@media(max-width:1040px) and (max-height:500px){
 .header{position:relative}
 .mobile-bar{display:none}
 html{scroll-padding-top:20px;scroll-padding-bottom:20px}
 .footer{padding-bottom:40px}
}

/* Section hierarchy: alternating page bands and quiet rules between article topics. */
main>.section:not(.consult){
 padding-top:64px;padding-bottom:64px;
 background:#1e1e1e;
 border-top:1px solid #c8c8c838;border-bottom:0;
}
main>.section:not(.consult):nth-of-type(even){background:#292929}
main>.section:not(.consult):nth-of-type(odd){background:#1b1b1b}
main>.consult:not(.home-consult){border-top:1px solid #c8c8c838}
main>.section>.wrap>h2{margin-bottom:28px}
.article>h2:not(:first-of-type){
 border-top:1px solid #c8c8c838;
 padding-top:28px;margin-top:40px;
}
.article>h3{margin-top:28px;margin-bottom:14px}
.biography-copy>h3{border-left:2px solid #a4a4a4;padding-left:14px;margin-top:28px}
.service-analysis-grid{border-top:1px solid #c8c8c838;padding-top:32px;margin-top:32px}
.practice-group{margin-bottom:36px}
.practice-group+.practice-group{border-top:1px solid #c8c8c838;padding-top:32px}
.footer{border-top:1px solid #c8c8c838}
@media(max-width:760px){
 main>.section:not(.consult){padding-top:40px;padding-bottom:40px}
 main>.section>.wrap>h2{margin-bottom:24px}
 .article>h2:not(:first-of-type){padding-top:22px;margin-top:30px}
 .article>h3{margin-top:24px}
 .biography-copy>h3{margin-top:24px;padding-left:12px}
 .service-analysis-grid{padding-top:24px;margin-top:24px}
 .practice-group{margin-bottom:28px}
 .practice-group+.practice-group{padding-top:24px}
}

/* Shared Google reviews: remain absent until a verified live response is available. */
.google-review-strip[hidden],.google-reviews[hidden]{display:none!important}
.google-review-strip{margin-top:24px;padding-top:20px;border-top:1px solid var(--line);max-width:100%}
.review-rating-summary{display:flex;align-items:center;flex-wrap:wrap;gap:10px 14px;font-size:.94rem;line-height:1.6}
.review-stars{display:inline-block;position:relative;white-space:nowrap;letter-spacing:.08em;font-size:1.15rem;line-height:1.4}
.review-stars-base{color:#6f6f6f}.review-stars-fill{position:absolute;inset:0 auto 0 0;overflow:hidden;color:#d2d2d2}
.review-rating-number{font-size:1rem}.review-count{color:#cbcbcb}
.google-maps-attribution{font-family:Arial,Helvetica,sans-serif;font-size:.875rem;font-weight:400;font-style:normal;letter-spacing:normal;white-space:nowrap;color:#ffffff}
.review-profile-link,.review-source-link,.review-source-note a{text-decoration:underline;text-underline-offset:4px}
.review-profile-link{flex-basis:100%;padding:8px 0;min-height:44px}
.google-reviews{background:#232323;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.review-section-heading{display:flex;justify-content:space-between;align-items:start;gap:24px 48px;flex-wrap:wrap;margin-bottom:32px}
.review-section-heading>div{min-width:0}.review-section-heading h2{font-size:clamp(1.9rem,3.5vw,3rem);line-height:1.2;margin-bottom:16px}
.google-review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:start}
.google-review-card{background:#2f2f2f;border:1px solid #828282;border-radius:8px;padding:26px;min-width:0;overflow-wrap:anywhere}
.review-author-row{display:flex;align-items:center;gap:12px;margin-bottom:18px;min-width:0}
.review-avatar{width:44px;height:44px;flex:0 0 44px;object-fit:cover;border-radius:50%}
.review-identity{min-width:0}.review-author{font-size:1rem;font-weight:700;line-height:1.5}.review-date{display:block;color:#cbcbcb;font-size:.875rem;line-height:1.5;margin-top:4px}
.google-review-card p{font-size:1rem;line-height:1.75;white-space:pre-wrap;margin:18px 0}
.review-expanded>summary{font-size:1rem;line-height:1.5;min-height:44px;padding:10px 0;cursor:pointer;text-decoration:underline;text-underline-offset:4px}
.google-review-card:has(.review-expanded[open]) .review-excerpt{display:none}
.review-source-link{display:inline-block;font-size:.875rem;line-height:1.5;padding:12px 0 0;margin-top:8px;min-height:44px}
.review-source-note{margin-top:28px;font-size:.875rem;line-height:1.7;color:#cbcbcb}
.google-reviews a:focus-visible,.google-reviews summary:focus-visible,.google-review-strip a:focus-visible{outline:2px solid #ffffff;outline-offset:4px}
@media(max-width:1040px){.google-review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.google-review-grid{grid-template-columns:minmax(0,1fr)}.google-review-card{padding:22px}.review-section-heading{gap:18px}.review-rating-summary{gap:8px 12px}}

/* Final shared palette: neutral black, charcoal, white and silver. */

body{background:var(--bg)}
h1,h2,h3{color:var(--ink)}
.mobile-bar{background:#101010}
.header,.topline{background:#101010d9}
/* The main content retains its continuous photographic backdrop; the footer
   ends the page with a distinct, solid charcoal surface. */
main{background:#08080894}
.footer{background:#000000;border-top:1px solid #777777;color:#ffffff}
main>.section:not(.consult),
main>.section:not(.consult):nth-of-type(odd),
main>.section:not(.consult):nth-of-type(even),
main>.consult,main>.page-hero,main>.assurance,main>.service-ribbon{background:transparent}
.shared-hero .shared-hero-grid,.home-consult .consult-grid,
.consult:not(.home-consult) .consult-grid{background:#141414b8}
.button:not(.outline),.consultation-form .button,.mobile-bar a:last-child{background:#ffffff;color:#111111;border-color:#ffffff}
.button:not(.outline):hover,.consultation-form .button:not(:disabled):hover,.mobile-bar a:last-child:hover{background:#dedede;color:#080808;border-color:#dedede}
.button.outline{color:#ffffff;border-color:#929292}
.button.outline:hover{background:#ffffff18;border-color:#ffffff}
.button:focus-visible,.menu-toggle:focus-visible{outline:2px solid #ffffff;outline-offset:4px;box-shadow:0 0 0 2px #111111}
.form-panel input,.form-panel textarea{background:#0c0c0c;color:#ffffff;border-color:#808080}
.form-panel input:focus,.form-panel textarea:focus{outline:2px solid #ffffff;outline-offset:2px;border-color:#ffffff}
.form-panel input::placeholder,.form-panel textarea::placeholder{color:#bdbdbd;opacity:1}
.service-consequences{background:#202020a6;color:#ffffff;border-color:#ffffff26}
.service-consequences p,.service-consequences .eyebrow,.consequence-stage,.consequence-item dd,.consequence-cite{color:#c6c6c6}
.service-consequences h2,.consequence-item{border-color:#ffffff26}
.consequence-item dt,.consequence-cite:hover{color:#ffffff}
.consequence-cite:focus-visible{outline-color:#ffffff}
.review-stars-base{color:#777777}.review-stars-fill{color:#ffffff}
.google-review-card{background:#202020a6;border-color:#686868}
/* Local cards can remain readable without concealing the page-wide backdrop. */
.home-practice-card,.home-why-card,.service-card,.service-defence,
.aside,.aid-band,.lao-profile,.case-insight,.hero-consult{background:#181818a6}
.service-card:hover{background:#303030c7}
.service-visual{background:#141414a6}
/* Reuse the page photograph rather than introducing a second crop in this panel. */
.service-visual:before{content:none}
.footer p,.footer a,.footer-bottom,.source-note,.hero-note,.service-card .number,
.principle span,.assurance b,.breadcrumbs,.section-bottom,
.process span,.lawyer-languages span{color:#c6c6c6}
.footer a:hover{color:#ffffff}
@media(max-width:760px){
 /* A fixed element, not background-attachment:fixed, keeps the image present on
    long mobile pages. A stable large viewport avoids resizing during toolbar scroll. */
 body:before{bottom:auto;height:100vh;height:100lvh}
}

/* The same practice in another service area; destinations are registered pages. */
.practice-locations h2{font-size:clamp(1.8rem,3vw,2.65rem);line-height:1.2;max-width:100%;overflow-wrap:break-word}
.practice-location-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;list-style:none;margin:0;padding:0}
.practice-location-cards li{display:flex;min-width:0;margin:0}
.practice-location-card{
 display:flex;align-items:center;justify-content:space-between;gap:20px;
 width:100%;min-width:0;min-height:96px;height:100%;padding:22px 24px;
 color:#ffffff;background:#181818a6;border:1px solid #8c8c8c;border-radius:3px;
 font-size:1rem;line-height:1.55;transition:background .18s,border-color .18s;
}
.practice-location-card>span:first-child{min-width:0;overflow-wrap:anywhere}
.practice-location-card .location-card-arrow{flex:0 0 auto;font-size:1.35rem;line-height:1;color:#dedede}
.practice-location-card:hover{background:#303030c7;border-color:#ffffff}
.practice-location-card:hover>span:first-child{text-decoration:underline;text-underline-offset:4px}
.practice-location-card:focus-visible{outline:2px solid #ffffff;outline-offset:4px;box-shadow:0 0 0 2px #111111}
@media(max-width:1040px){.practice-location-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){
 .practice-location-cards{grid-template-columns:minmax(0,1fr);gap:14px}
 .practice-location-card{min-height:80px;padding:20px;gap:16px}
}

/* Keep process content on shared rows as headings grow, without fixed heights. */
.defence-process .section-head>div{min-width:0;width:100%}
.defence-process .section-head h2{max-width:100%;overflow-wrap:break-word}
.process{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:clamp(24px,4vw,48px)}
.process article{min-width:0;overflow-wrap:break-word}
@supports(grid-template-rows:subgrid){
 .process{row-gap:20px}
 .process article{display:grid;grid-template-rows:subgrid;grid-row:span 3;row-gap:20px;align-content:start}
 .process h3,.process p{margin:0;align-self:start}
}
@media(max-width:760px){
 .process{grid-template-columns:minmax(0,1fr);gap:28px}
 .process article{display:block;grid-row:auto}
 .process h3{margin:14px 0 16px}
 .process p{margin:0}
}

/* Keep the homepage consultation heading and introduction aligned with the fields. */
.shared-hero .consultation-form-home>h2,.home-consult .consultation-form-home>h2{
 width:100%;max-width:none;margin:0 0 12px;padding:0;
 text-align:left;text-wrap:wrap;
 font-size:1.5rem;line-height:1.3;
}
.consultation-form-home>.consultation-intro{
 width:100%;max-width:none;margin:0 0 12px;padding:0;
 font-size:1rem;line-height:1.6;text-align:left;text-wrap:pretty;
}

/* Equal rows keep paired call and consultation buttons aligned even when labels wrap. */
.contact-button-stack{
 display:grid;grid-template-columns:minmax(0,1fr);grid-auto-rows:1fr;
 gap:10px;width:100%;max-width:360px;min-width:0;
}
.consult:not(.home-consult) .contact-button-stack>a{
 display:flex;align-items:center;justify-content:center;align-self:stretch;
 width:100%;max-width:none;min-width:0;min-height:48px;height:100%;
 margin:0;padding:12px 18px;text-align:center;
 font-size:.9375rem;line-height:1.5;
}
.service-visual .contact-button-stack{width:fit-content;max-width:100%;margin-top:16px}
.service-visual .contact-button-stack>.button{
 align-self:stretch;width:100%;height:100%;margin:0;
}
@media(max-width:540px){
 .contact-button-stack,.service-visual .contact-button-stack{width:100%;max-width:none}
}

/* Discreet privacy links remain visible, readable and keyboard-accessible. */
.footer .privacy-link,.consultation-form .privacy-link{font-size:.875rem;color:#d4d4d4;text-decoration:underline;text-underline-offset:.2em;text-decoration-thickness:1px;display:inline-block;padding-block:4px;line-height:1.6}
.privacy-link:hover{color:#fff}
.privacy-link:focus-visible{outline:2px solid #e6e6e6;outline-offset:4px}
.privacy-copy{max-width:760px;min-width:0}
.privacy-copy h1{font-size:clamp(2.4rem,5vw,4rem);line-height:1.15;text-wrap:wrap}
.privacy-copy h2{font-size:clamp(1.5rem,3vw,2rem);line-height:1.3;text-wrap:wrap}
.privacy-copy p{font-size:1rem;line-height:1.75}
.privacy-copy a{overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:.2em}
.privacy-draft-note{padding:16px 20px;border:1px solid #777;background:#202020;color:#ddd}

/* Compact native disclosure navigation; links never wait for an animation. */
.nav-disclosure>summary{min-height:48px}
.mega-panel{left:auto;right:0;width:min(440px,100%);padding:20px 24px}
.mega-heading{display:block;padding-bottom:16px}
.mega-heading span{display:block;margin-top:8px}
.mega-grid{display:block;padding-top:8px}
.mega-group{border-bottom:1px solid var(--line)}
.mega-group>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;list-style:none;min-height:48px;padding:12px 0;font-size:1rem;line-height:1.45;color:#ededed}
.mega-group>summary::-webkit-details-marker{display:none}
.mega-group>summary:after{content:'+';flex-shrink:0;color:#c6c6c6}
.mega-group[open]>summary:after{content:'−'}
.mega-group>ul{padding:0 0 12px 12px}
.mega-group:not([open])>ul{display:none}
.mega-group a{min-height:44px;padding:10px;font-size:1rem}
.mega-group>summary:hover,.mega-group>summary:focus-visible{color:#fff}
.location-panel{padding:20px 24px}
.location-columns{gap:16px 32px}
.location-column h2{font-family:Arial,Helvetica,sans-serif;font-size:1rem;line-height:1.5;margin-bottom:0}
.location-column h2 a{padding:10px 0;min-height:44px}
.location-services>summary{font-size:.9375rem}
/* Quiet surfaces and stationary controls retain the charcoal/silver hierarchy. */
.header{background:#1e1e1e}
.button:hover{transform:none}
.button,.service-card,.practice-location-card{transition:background-color .12s,border-color .12s,color .12s}
.home-why-card{background:transparent;border:0;border-top:1px solid var(--line);padding:24px 0}
.home-why-grid{gap:24px 36px}
.practice-location-card{min-height:72px;padding:16px 20px;border-color:#ffffff40;border-radius:0}
@media(max-width:1040px){
 .mega-panel{width:auto;padding:8px 14px 14px;margin-bottom:10px}
 .location-panel{padding:14px}
 .mega-group>summary{min-height:48px}
 .js .navlinks{box-shadow:0 8px 16px #00000040}
}
@media(max-width:760px){
 body:before{background-image:linear-gradient(90deg,#08080870,#08080860),url('/assets/background-mobile.webp')}
 .home-why-grid{gap:12px}
 .practice-location-card{min-height:64px}
}
@media(prefers-reduced-motion:reduce){
 .button,.service-card,.practice-location-card,.nav-disclosure>summary span{transition:none}
}
.privacy-copy .privacy-updated{font-size:.875rem;color:#c6c6c6}

/* Restrained text accents. Layout, typography and button colours stay unchanged. */
:root{--gold:#d1b77e}
main h1,main h1 em{color:var(--gold)}
main .home-hero h1{color:var(--ink)}
main .home-hero h1 em{color:var(--gold)}
main .eyebrow,
main .section>.wrap>h2,
main .section-head h2,
main .lawyer-copy>h2,
main .article>h2,
main .service-explanation>h2,
main .service-analysis-panel>h2,
main .service-why-heading>h2,
main .home-practices-heading>h2,
main .practice-group>h2,
main .consult-grid>div>h2,
main .split>div>h2,
main .home-why-card>h3,
main .home-hero-consultation .hero-support-details>p:first-child{color:var(--gold)}
