:root{--ivory:#faf7f0;--navy:#133d5a;--sage:#758b7c;--gold:#c9a15d;--text:#3f5055;--line:#d8dcd4}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--ivory);color:var(--navy);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.7}a{color:inherit;text-decoration:none}button{font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:5px}p{margin:0 0 21px;color:var(--text)}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;margin:0;line-height:1.14;letter-spacing:-1.2px}h1{font-size:clamp(48px,5.1vw,76px)}h1 em,h2 em{font-weight:400;color:#647b6b}h2{font-size:clamp(34px,3.4vw,49px)}h3{font-size:27px;letter-spacing:-.6px}.wrap{width:min(1240px,88%);margin:auto}.section{padding-top:110px;padding-bottom:110px}.eyebrow{font-size:11px;font-weight:600;letter-spacing:2.2px;margin:0 0 24px;color:var(--navy)}.skip{position:absolute;top:-70px;z-index:100;background:white;padding:10px}.skip:focus{top:0}.topbar{height:36px;background:var(--navy);color:var(--ivory);display:flex;justify-content:space-between;align-items:center;padding:0 6%;font-size:10px;letter-spacing:1.9px}.topbar a{font-size:12px;letter-spacing:1px}.topbar a span{margin-left:14px}.header{height:128px;display:flex;align-items:center;justify-content:space-between;padding:0 6%;border-bottom:1px solid var(--line);background:#fff}.brand{width:252px;height:117px;display:flex;align-items:center;justify-content:center;overflow:hidden}.brand img{width:252px;height:auto;display:block}.header nav{display:flex;gap:28px;align-items:center;font-size:12px}.header nav>a:not(.button){padding:12px 0;border-bottom:1px solid transparent}.header nav>a:hover{border-color:var(--gold)}.button{display:inline-flex;gap:32px;align-items:center;justify-content:space-between;background:var(--navy);color:white;padding:16px 24px;font-size:13px;line-height:1.4;border:1px solid var(--navy);transition:background .2s}.button:hover{background:#244f68}.button span{font-size:20px;font-weight:400}.nav-cta{padding:12px 20px;gap:25px}.menu-toggle{display:none}.hero-heading{display:grid;grid-template-columns:1.55fr 1fr;gap:8%;padding-top:62px;padding-bottom:52px;align-items:end}.hero .eyebrow{margin-bottom:16px}.sun-mark{color:var(--gold);font-size:21px;vertical-align:middle;margin-right:10px}.hero-intro{max-width:355px;justify-self:end;padding-bottom:5px}.hero-intro p:first-child{font-size:16px;margin-bottom:9px;color:var(--navy)}.hero-intro p{font-size:14px;line-height:1.8;margin-bottom:23px}.film{height:clamp(360px,36vw,545px);width:calc(100% - 48px);margin:0 auto;position:relative;overflow:hidden;background:#b8c4a0}.film video{width:100%;height:100%;object-fit:cover;object-position:center 54%;display:block}.film-caption{position:absolute;bottom:22px;left:30px;right:25px;display:flex;align-items:center;justify-content:space-between;color:white;text-shadow:0 1px 9px #18341a;font-size:10px;letter-spacing:2px}.film-caption>span{background:#133d5a99;padding:9px 14px}.film button{border:1px solid #ffffff70;background:#133d5acc;color:white;padding:8px 14px;display:flex;align-items:center;gap:12px;font-size:11px;cursor:pointer;letter-spacing:.5px;text-shadow:none}.location-strip{padding:22px 6%;display:flex;gap:24px;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);font-size:12px}.location-strip>span:last-child{font-size:9px;letter-spacing:1.4px}.location-strip i{font-style:normal;padding:0 8px;color:var(--gold)}.approach{display:grid;grid-template-columns:1fr 1fr;gap:10%}.lead{font-family:Georgia,serif;font-size:24px;line-height:1.45;color:var(--navy);letter-spacing:-.25px}.approach-copy>p:not(.lead),.attorneys-copy>p:not(.lead):not(.eyebrow){font-size:15px}.text-link{display:inline-flex;align-items:center;gap:28px;font-size:13px;border-bottom:1px solid var(--gold);padding:7px 0}.text-link span{font-size:22px}.practice{background:#edf0e9}.section-top{display:flex;justify-content:space-between;gap:60px;align-items:end;margin-bottom:46px}.section-top>p{max-width:290px;font-size:14px;margin:0 0 4px}.practice-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:58px}.practice-item{border-top:1px solid #bec8bc}.practice-item summary{display:flex;align-items:center;gap:20px;min-height:100px;cursor:pointer;list-style:none}.practice-item summary::-webkit-details-marker,.faq-list summary::-webkit-details-marker{display:none}.index{font-size:10px;color:#677b6d}.practice-item h3{font-size:25px}.plus{margin-left:auto;font-size:24px;font-weight:300;transition:transform .2s}.practice-item[open] .plus{transform:rotate(45deg)}.practice-detail{padding:0 38px 28px;font-size:14px}.practice-detail a{font-size:12px;text-decoration:underline;text-underline-offset:5px}.attorneys{display:grid;grid-template-columns:1.1fr 1fr;gap:9%;align-items:center}.portrait{position:relative}.portrait img{width:100%;height:560px;display:block;object-fit:cover;object-position:50% 45%}.photo-caption{display:flex;justify-content:space-between;gap:15px;background:#e8ece3;font-size:10px;letter-spacing:1.3px;padding:16px 20px}.photo-caption span{font-size:8px;align-self:center}.attorneys-copy h2{margin-bottom:26px}.attorneys-copy .lead{font-size:23px}.process{background:var(--navy);color:var(--ivory)}.process .eyebrow{color:#d9bf8f}.process .section-top>p{color:#d2dddd}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:55px;margin-top:64px}.steps article{border-top:1px solid #8b9c9f;padding-top:23px}.steps span{font-size:10px;letter-spacing:1.8px;color:#d9bf8f}.steps h3{margin:23px 0 16px;color:var(--ivory)}.steps p{font-size:14px;color:#d2dddd;margin:0;max-width:305px}.questions{display:grid;grid-template-columns:.9fr 1.4fr;gap:9%}.questions h2{margin-bottom:25px}.questions>div>p:not(.eyebrow){font-size:14px}.faq-list details{border-top:1px solid var(--line)}.faq-list details:last-child{border-bottom:1px solid var(--line)}.faq-list summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px 0;cursor:pointer;font-size:15px}.faq-list summary span{font-size:23px}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list p{font-size:14px;padding-right:30px}.faq-list a{text-decoration:underline}.contact{background:#e5eadd;position:relative;overflow:hidden}.contact-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:13%}.contact h2{font-size:clamp(40px,4.6vw,64px);margin-bottom:25px}.contact h2 em{color:var(--navy)}.contact p{font-size:14px}.contact-info{padding-top:36px}.contact-info>div{padding-bottom:25px;margin-bottom:25px;border-bottom:1px solid #bfc9bb}.contact-info>div>span{display:block;font-size:10px;letter-spacing:1.6px;margin-bottom:13px}.contact-info a{font-size:14px;overflow-wrap:anywhere}.contact-info a:hover{text-decoration:underline}.contact-info address{font-family:Georgia,serif;font-style:normal;font-size:23px;line-height:1.5;margin-bottom:14px}.contact-info .directions{font-size:12px}.contact-info .contact-note{font-size:11px;max-width:340px}.footer{padding-top:50px;padding-bottom:28px}.footer-top{display:flex;justify-content:space-between;align-items:center;gap:30px;padding-bottom:40px;border-bottom:1px solid var(--line)}.footer-name{font-family:Georgia,serif;font-size:26px;line-height:1.4}.footer-name span{display:block;font-family:Arial,sans-serif;font-size:9px;letter-spacing:3px;color:#617b69;margin-top:8px}.footer-top p{font-size:12px;margin:0}.back-top{font-size:12px}.footer-bottom{display:grid;grid-template-columns:1fr 1fr;gap:50px;padding-top:24px}.footer-bottom p{font-size:10px;color:#637176;line-height:1.8;margin:0}
@media(min-width:1600px){.hero-heading{padding-top:80px;padding-bottom:65px}.film{max-width:1550px}}@media(max-width:1050px){.header{padding:0 4%}.header nav{gap:17px;font-size:11px}.brand{width:220px}.brand img{width:250px}.hero-heading{gap:5%;grid-template-columns:1.5fr 1fr}h1{font-size:51px}.hero-intro{max-width:290px}.hero-intro p{font-size:13px}.portrait img{height:480px}.practice-item h3{font-size:22px}.location-strip{font-size:11px}.location-strip>span:last-child{font-size:8px}}@media(max-width:780px){.topbar{padding:0 6%}.header{height:105px;padding:0 5%;position:relative}.brand{width:220px;height:98px}.brand img{width:225px}.menu-toggle{display:flex;gap:16px;align-items:center;background:transparent;border:0;padding:14px 6px;color:var(--navy);font-size:12px}.header nav{display:none;position:absolute;top:105px;left:0;right:0;background:var(--ivory);padding:20px 7% 26px;z-index:10;border-bottom:1px solid var(--line);box-shadow:0 15px 20px #133d5a10}.header nav.open{display:flex;flex-direction:column;align-items:stretch;gap:4px}.header nav>a{font-size:15px;padding:12px}.header nav .button{margin-top:12px}.hero-heading{display:block;padding-top:42px;padding-bottom:34px}.hero .eyebrow{font-size:9px;letter-spacing:1.5px}h1{font-size:clamp(39px,6.9vw,55px);letter-spacing:-1.2px}.hero-intro{max-width:500px;margin-top:24px}.hero-intro p:first-child{font-size:15px}.hero-intro p{font-size:14px;margin-bottom:20px}.film{width:100%;height:360px}.film video{object-position:center}.film-caption{left:20px;right:20px;bottom:17px}.location-strip{display:block;text-align:center;padding:20px 6%}.location-strip>span{display:block}.location-strip>span:last-child{margin-top:7px;font-size:8px;line-height:1.8}.section{padding-top:66px;padding-bottom:66px}.approach,.attorneys,.questions,.contact-grid{grid-template-columns:1fr;gap:32px}.approach h2 br{display:none}.lead{font-size:23px}.section-top{display:block;margin-bottom:30px}.section-top>p{margin-top:25px;max-width:400px}.practice-grid{grid-template-columns:1fr}.practice-item summary{min-height:87px}.practice-item h3{font-size:24px}.portrait img{height:auto;aspect-ratio:1.13;object-fit:cover;object-position:50% 42%}.attorneys-copy{padding-top:10px}.steps{grid-template-columns:1fr;gap:35px;margin-top:40px}.steps h3{margin:14px 0}.steps p{max-width:none}.steps article{padding-top:20px}.questions{gap:23px}.contact-grid{gap:20px}.contact-info{padding-top:18px}.contact-info>div>span{font-size:10px}.contact-info a{font-size:14px}.footer-top{flex-wrap:wrap;gap:28px}.footer-top p{display:none}.footer-bottom{grid-template-columns:1fr;gap:16px}.footer-name{font-size:23px}.wrap{width:88%}.film-caption>span{font-size:8px}.contact .button{margin-top:4px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media(max-width:480px){.film{height:auto;aspect-ratio:16/10}.film-caption{bottom:12px;left:12px;right:12px}.film-caption>span{padding:7px 9px}.film button{padding:7px 10px}.hero-intro .button{min-height:50px}.practice-item h3{font-size:23px}}

.footer-logo{display:block;width:280px;max-width:100%;flex-shrink:0}.footer-logo img{display:block;width:100%;height:auto}

/* Video-led opening: full first-screen film with a readable headline overlay. */
.topbar{height:28px}.header{height:94px}.brand{height:88px}
.hero-stage{width:100%;max-width:none;margin:0;height:calc(100svh - 122px);min-height:580px;max-height:1050px;isolation:isolate;background:var(--ivory)}
.hero-stage video{position:absolute;inset:0;object-position:50% 58%;z-index:-2}
.hero-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,rgba(250,247,240,.92) 0%,rgba(250,247,240,.76) 22%,rgba(250,247,240,.26) 42%,rgba(250,247,240,0) 62%)}
.hero-overlay{position:absolute;top:clamp(32px,6vh,70px);left:6%;max-width:600px}
.hero-overlay .eyebrow{font-size:10px;letter-spacing:1.8px;margin-bottom:20px}
.hero-overlay h1{font-size:clamp(44px,4.3vw,64px);line-height:1.1;letter-spacing:-1.6px}
.hero-overlay h1 em{color:#405f4c}.hero-support{margin:22px 0 25px;font-size:16px;line-height:1.65;color:var(--navy)}
.hero-stage .film-caption{left:6%;right:4%;bottom:25px}
@media(max-width:1050px) and (min-width:781px){.hero-overlay{max-width:480px}.hero-overlay h1{font-size:48px}}
@media(max-width:780px){.header{height:82px}.brand{height:80px;width:215px}.brand img{width:215px}.header nav{top:82px}.hero-stage{height:calc(100svh - 110px);min-height:660px;max-height:900px}.hero-stage video{height:auto;aspect-ratio:16/9;top:auto;bottom:0;object-fit:contain;object-position:center bottom}.hero-shade{background:linear-gradient(to bottom,var(--ivory) 0%,var(--ivory) 40%,rgba(250,247,240,0) 74%)}.hero-overlay{top:36px;left:6%;right:6%;max-width:none}.hero-overlay h1{font-size:clamp(38px,6.3vw,52px);line-height:1.12;letter-spacing:-1px}.hero-overlay .eyebrow{font-size:9px;letter-spacing:1.4px}.hero-support{font-size:15px;margin:20px 0 23px}.hero-stage .film-caption{bottom:14px;left:14px;right:14px}}
@media(max-width:480px){.hero-stage{min-height:570px;max-height:720px;aspect-ratio:auto}.hero-overlay h1{font-size:38px}.hero-overlay{top:30px}.hero-overlay .eyebrow{font-size:8px;letter-spacing:1.3px}.hero-shade{background:linear-gradient(to bottom,var(--ivory) 0%,var(--ivory) 47%,rgba(250,247,240,0) 78%)}}
.header .brand{width:200px}.header .brand img{width:190px}.hero-shade{mask-image:linear-gradient(to bottom,#000 0%,#000 43%,transparent 94%)}
@media(max-width:780px){.header .brand{width:195px}.header .brand img{width:180px}.hero-shade{mask-image:none}}
@media(max-width:780px){.hero-stage video{inset:0;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:50% 55%}.hero-stage{min-height:600px}.hero-shade{background:linear-gradient(to bottom,rgba(250,247,240,.97) 0%,rgba(250,247,240,.88) 20%,rgba(250,247,240,.28) 43%,transparent 61%)}.hero-overlay .hero-support{display:none}.hero-overlay .button{margin-top:23px}.hero-overlay h1{font-size:36px}.hero-overlay{top:26px}.hero-stage .film-caption{bottom:18px}}
/* Translucent navigation floats over the opening film. */
.header{position:absolute;top:28px;left:0;right:0;z-index:20;height:134px;background:rgba(250,247,240,.42);border-bottom:1px solid rgba(255,255,255,.35);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}
.header .brand{width:280px;height:134px;flex-shrink:0;mix-blend-mode:multiply}.header .brand img{width:280px;height:auto}
.hero-stage{height:calc(100svh - 28px);min-height:720px}.hero-overlay{top:172px}
.hero-shade{background:linear-gradient(110deg,rgba(250,247,240,.80) 0%,rgba(250,247,240,.68) 22%,rgba(250,247,240,.22) 42%,transparent 62%)}
@media(min-width:781px) and (max-width:1050px){.header .brand{width:240px}.header .brand img{width:240px}.header nav{gap:15px}.header .nav-cta{gap:16px;padding:12px 16px}}
@media(max-width:780px){.header{height:110px}.header .brand{width:230px;height:110px}.header .brand img{width:230px}.header nav{top:110px;background:rgba(250,247,240,.97)}.hero-stage{height:calc(100svh - 28px);min-height:720px;max-height:1000px}.hero-overlay{top:143px}.hero-shade{background:linear-gradient(to bottom,rgba(250,247,240,.78) 0%,rgba(250,247,240,.87) 24%,rgba(250,247,240,.32) 48%,transparent 65%)}.hero-overlay .eyebrow{margin-bottom:15px}.hero-overlay .button{margin-top:19px}}
@media(max-width:360px){.header .brand{width:205px}.header .brand img{width:205px}.hero-overlay h1{font-size:32px}}
.header{mix-blend-mode:multiply}.header:has(nav.open){mix-blend-mode:normal}
/* Logo-gold feedback for primary actions, including keyboard navigation. */
.button{transition:background-color .2s ease,color .2s ease,border-color .2s ease}
.button:hover,.button:focus-visible{background:var(--gold);border-color:var(--gold);color:var(--navy)}

/* Individual service tiles share the logo-gold interaction palette. */
.practice-grid.service-tiles{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px}
.service-tile{position:relative;display:flex;flex-direction:column;min-height:298px;padding:25px 22px;background:var(--ivory);border:1px solid #d8ded2;color:var(--navy);transition:transform .24s ease,background-color .24s ease,border-color .24s ease,box-shadow .24s ease}
.tile-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.tile-number{font-size:10px;letter-spacing:1.4px;color:#5a7062}.tile-arrow{font-size:25px;line-height:1;transition:transform .24s ease}
.service-tile h3{font-size:25px;line-height:1.15;letter-spacing:-.6px;margin-bottom:16px}.service-tile p{font-size:13px;line-height:1.7;margin-bottom:22px;color:#40545b}.tile-action{font-size:11px;margin-top:auto;letter-spacing:.3px;text-decoration:underline;text-underline-offset:5px;text-decoration-color:var(--gold)}
.service-tile:hover,.service-tile:focus-visible{background:var(--gold);border-color:var(--gold);transform:translateY(-6px);box-shadow:0 12px 25px #133d5a16;outline-color:var(--navy)}
.service-tile:hover .tile-arrow,.service-tile:focus-visible .tile-arrow{transform:translate(3px,-3px)}.service-tile:hover .tile-action,.service-tile:focus-visible .tile-action{text-decoration-color:var(--navy)}.service-tile:hover p,.service-tile:focus-visible p,.service-tile:hover .tile-number,.service-tile:focus-visible .tile-number{color:var(--navy)}
@media(max-width:1199px){.practice-grid.service-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.service-tile{min-height:252px;padding:28px}.service-tile h3{font-size:29px}.tile-top{margin-bottom:22px}}
@media(max-width:540px){.practice-grid.service-tiles{grid-template-columns:1fr;gap:16px}.service-tile{min-height:230px;padding:25px}.service-tile h3{font-size:28px}.service-tile p{font-size:14px}.tile-top{margin-bottom:20px}}
@media(prefers-reduced-motion:reduce){.service-tile,.tile-arrow{transition:none}.service-tile:hover,.service-tile:focus-visible,.service-tile:hover .tile-arrow,.service-tile:focus-visible .tile-arrow{transform:none}}

/* Compact service gallery immediately follows the film. */
.practice.section{padding-top:48px;padding-bottom:48px}.practice .section-top{margin-bottom:28px;align-items:center;gap:32px}.practice .section-top .eyebrow{margin-bottom:12px}.practice .section-top h2{font-size:clamp(32px,3vw,42px)}.practice .section-top>p{font-size:13px;max-width:300px}
.practice-grid.service-tiles{gap:14px}.service-tile{min-height:272px;padding:18px 20px}.tile-top{margin-bottom:9px;align-items:flex-start}.tile-arrow{margin-top:10px;font-size:22px}.service-art{width:88px;height:78px;overflow:visible;transition:transform .3s ease}.art-sun{fill:var(--gold);fill-opacity:.26;transition:fill .24s ease,fill-opacity .24s ease}.art-horizon{opacity:.4}.service-tile h3{font-size:24px;margin-bottom:10px}.service-tile p{font-size:12px;line-height:1.65;margin-bottom:15px}.tile-action{font-size:10px}
.service-tile:hover .service-art,.service-tile:focus-visible .service-art{transform:translateY(-3px) rotate(-3deg)}.service-tile:hover .art-sun,.service-tile:focus-visible .art-sun{fill:var(--ivory);fill-opacity:.55}
@media(max-width:1199px){.practice-grid.service-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.service-tile{min-height:260px;padding:20px 24px}.service-tile h3{font-size:27px}.service-tile p{font-size:14px}.tile-action{font-size:11px}}
@media(max-width:540px){.practice.section{padding-top:34px;padding-bottom:34px}.practice .section-top{margin-bottom:22px}.practice .section-top>p{margin-top:16px}.practice-grid.service-tiles{grid-template-columns:1fr;gap:12px}.service-tile{min-height:0;padding:20px 24px}.tile-top{margin-bottom:4px}.service-art{width:75px;height:66px}.service-tile p{margin-bottom:15px}}
@media(prefers-reduced-motion:reduce){.service-art,.art-sun{transition:none}.service-tile:hover .service-art,.service-tile:focus-visible .service-art{transform:none}}

.topbar>a{display:inline-flex;align-items:center;gap:9px}.phone-icon{width:14px;height:14px;flex-shrink:0}.header nav [aria-current="page"]{border-bottom-color:var(--gold)}
.advocate-profiles{margin-top:28px}.advocate-profiles>div{border-top:1px solid var(--line);padding:18px 0 10px}.advocate-profiles h3{font-size:23px;letter-spacing:-.3px;line-height:1.3}.advocate-profiles .profile-prompt{font-size:12px;margin:9px 0 0;color:#53675b;line-height:1.65}
.blog-page .header{position:relative;top:auto;background:rgba(250,247,240,.8)}.blog-main{padding-top:68px;padding-bottom:80px}.blog-main h1{font-size:clamp(42px,5vw,65px);margin-bottom:24px}.blog-main>.lead{max-width:650px}.blog-coming{margin-top:45px;padding:36px;background:#edf0e9;border-left:3px solid var(--gold);max-width:750px}.blog-coming h2{font-size:36px;margin:15px 0 22px}.blog-coming p{font-size:15px;max-width:550px}@media(max-width:540px){.advocate-profiles h3{font-size:22px}.blog-main{padding-top:42px}.blog-coming{padding:25px}.blog-coming h2{font-size:30px}}

/* Persistent navigation: translucent opening, compact white scrolled state. */
body{padding-top:28px}html{scroll-padding-top:150px}.topbar{position:fixed;inset:0 0 auto;z-index:50;height:28px;transition:height .25s ease}.topbar-contact{display:flex;align-items:center;gap:16px}.topbar-contact>a{display:inline-flex;align-items:center;gap:8px;font-size:12px;white-space:nowrap;letter-spacing:.7px}.scroll-actions{display:none;align-items:center;gap:10px}.utility-button{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:6px 12px;background:var(--gold);color:var(--navy);border:1px solid var(--gold);font-size:11px;line-height:1.3;letter-spacing:0;white-space:nowrap;transition:background-color .2s ease}.utility-button:hover,.utility-button:focus-visible{background:var(--ivory);border-color:var(--ivory)}.payment-placeholder{background:transparent;color:var(--ivory);border-color:#b8c5cd;cursor:default;opacity:1}.payment-placeholder:hover{background:transparent;border-color:#b8c5cd}
.header,.blog-page .header{position:fixed;top:28px;left:0;right:0;z-index:40;transition:height .25s ease,top .25s ease,background-color .25s ease,box-shadow .25s ease}.header .brand,.header .brand img{transition:width .25s ease,height .25s ease}.blog-main{margin-top:134px}
.header-scrolled .topbar{height:44px}.header-scrolled .scroll-actions{display:flex}.header-scrolled .header{top:44px;height:84px;background:#fff;mix-blend-mode:normal;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:0 3px 14px #133d5a12;border-bottom:1px solid #e5e8e4}.header-scrolled .header .brand{width:190px;height:84px}.header-scrolled .header .brand img{width:180px}
@media(max-width:780px){html{scroll-padding-top:140px}.topbar-contact{gap:8px}.header-scrolled .topbar{padding:0 12px;justify-content:center}.header-scrolled .topbar-tagline{display:none}.scroll-actions{gap:6px}.utility-button{font-size:10px;padding:6px 8px}.topbar-contact>a{font-size:11px;letter-spacing:0}.header-scrolled .header{height:72px}.header-scrolled .header .brand{height:72px;width:170px}.header-scrolled .header .brand img{width:160px}.header-scrolled .header nav{top:72px}.header nav{max-height:calc(100svh - 160px);overflow-y:auto}.blog-main{margin-top:110px}}
@media(max-width:360px){.header-scrolled .topbar{height:76px}.header-scrolled .topbar-contact{flex-wrap:wrap;justify-content:center;gap:3px}.header-scrolled .header{top:76px}html{scroll-padding-top:166px}}

/* Contact inquiry form, prepared for secure Clio Grow submission. */
.inquiry-form-wrap{margin-top:38px;border-top:1px solid #bfc9bb;padding-top:38px;display:grid;grid-template-columns:.8fr 1.45fr;gap:8%}.form-heading h3{font-size:32px;line-height:1.2;margin-bottom:18px}.form-heading p:not(.eyebrow){font-size:14px;max-width:310px}.form-heading .eyebrow{margin-bottom:16px}.form-fields{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-wide{grid-column:1/-1}.form-field label{display:block;font-size:13px;color:var(--navy);font-weight:600;margin-bottom:7px}.form-field label span{font-size:11px;font-weight:400;color:#4f6255}.form-field input,.form-field select,.form-field textarea{display:block;width:100%;min-height:48px;border:1px solid #aebbad;border-radius:0;padding:12px 14px;font:inherit;font-size:15px;line-height:1.4;background:var(--ivory);color:var(--navy)}.form-field textarea{resize:vertical;min-height:120px}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:2px solid var(--navy);outline-offset:2px;border-color:var(--navy)}.form-field small{font-size:11px;line-height:1.5;display:block;color:#526454;margin-top:7px}.contact .form-notice{font-size:11px;margin:17px 0}.form-bottom{display:flex;align-items:center;gap:24px}.form-submit:disabled{opacity:.65;cursor:not-allowed;background:var(--navy);color:white;border-color:var(--navy);flex-shrink:0}.contact #form-availability{font-size:12px;line-height:1.6;margin:0;max-width:330px}#form-availability a{text-decoration:underline;text-underline-offset:3px}@media(max-width:780px){.inquiry-form-wrap{grid-template-columns:1fr;gap:12px;margin-top:24px;padding-top:30px}.form-heading p:not(.eyebrow){max-width:none}.form-bottom{align-items:flex-start}.form-fields{gap:18px}}@media(max-width:480px){.form-fields{grid-template-columns:1fr}.form-bottom{flex-direction:column;gap:14px}.form-submit{width:100%}}

/* Three welcoming ways to connect. */
.contact-choices{background:#edf0e9;padding:64px 0 44px}.contact-intro{display:grid;grid-template-columns:1fr 1fr;column-gap:8%;align-items:end;margin-bottom:34px}.contact-intro .eyebrow{grid-column:1/-1;margin-bottom:14px}.contact-intro h2{margin:0;font-size:clamp(38px,4.3vw,58px);line-height:1.08}.contact-intro>p:last-child{max-width:380px;font-size:15px;margin:0 0 3px;line-height:1.8}.connection-layout{display:grid;grid-template-columns:.85fr 1.25fr;gap:0;align-items:stretch;box-shadow:0 12px 38px #133d5a08}.scheduling-panel{position:relative;overflow:hidden;background:var(--navy);color:var(--ivory);padding:88px 40px 38px}.connection-sun{position:absolute;top:0;right:-25px;width:260px;height:94px;color:var(--gold);opacity:.48;pointer-events:none}.connection-option{position:relative;padding:0 0 32px}.connection-option+.connection-option{padding:30px 0 0;border-top:1px solid #ffffff30}.contact .option-label{font-size:10px;letter-spacing:2px;color:#e0c694;margin:0 0 16px}.connection-option h3{font-size:34px;line-height:1.15;color:var(--ivory);margin-bottom:14px}.connection-option>p:not(.option-label){font-size:14px;line-height:1.8;color:#e1e7e9;max-width:310px;margin-bottom:22px}.connection-button{background:var(--ivory);color:var(--navy);border:1px solid var(--ivory);gap:12px;font-size:13px;min-height:50px;padding:14px 19px}.connection-button svg{width:18px;height:18px}.connection-button:hover,.connection-button:focus-visible{background:var(--gold);border-color:var(--gold);color:var(--navy)}.inquiry-panel{background:var(--ivory);padding:36px 38px}.inquiry-panel .form-heading h3{font-size:34px;margin:0 0 12px}.inquiry-panel .form-heading p:not(.eyebrow){max-width:450px;margin:0 0 24px}.inquiry-panel .form-heading .eyebrow{font-size:10px;letter-spacing:2px;margin-bottom:14px}.inquiry-panel .form-fields{gap:16px}.inquiry-panel .form-field input,.inquiry-panel .form-field select,.inquiry-panel .form-field textarea{background:#fffdf8}.inquiry-panel .form-bottom{gap:18px;align-items:center}.inquiry-panel .form-submit{flex-shrink:0}.office-details{margin-top:30px}.office-details .contact-info{display:grid;grid-template-columns:1fr 1fr;gap:24px 8%;padding:0}.office-details .contact-info>div{border:0;padding:0}.office-details .contact-info a{font-size:14px;overflow-wrap:anywhere}.office-details .contact-info address{font-size:15px;line-height:1.65}.office-details .contact-note{grid-column:1/-1;margin:0;max-width:650px;font-size:11px}.appointment-note{display:block;font-size:11px;font-weight:400;line-height:1.6;margin:6px 0 10px;color:inherit}.questions .appointment-note{font-size:11px}
@media(max-width:900px){.scheduling-panel{padding:78px 26px 30px}.inquiry-panel{padding:30px 26px}.connection-layout{grid-template-columns:.85fr 1.2fr}.connection-option h3{font-size:29px}.connection-button{font-size:12px;padding:12px}.inquiry-panel .form-bottom{flex-direction:column;align-items:flex-start}}
@media(max-width:700px){.contact-choices{padding:42px 0 30px}.contact-intro{grid-template-columns:1fr;gap:16px;margin-bottom:26px}.contact-intro .eyebrow{margin:0}.connection-layout{grid-template-columns:1fr}.scheduling-panel{padding:65px 26px 30px}.connection-option>p:not(.option-label){max-width:none}.inquiry-panel{padding:30px 24px}.office-details .contact-info{grid-template-columns:1fr}.office-details .contact-note{grid-column:auto}.connection-button{font-size:13px}.inquiry-panel .form-submit{width:100%}}
#inquiry-confirmation{border:1px solid #d4c19c;padding:42px;max-width:500px;width:calc(100% - 32px);margin:auto;background:var(--ivory);color:var(--navy);box-shadow:0 24px 80px #071c3066;text-align:center}#inquiry-confirmation::backdrop{background:#102d42b8;backdrop-filter:blur(3px)}.confirmation-mark{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:#e4e9de;color:var(--navy);font-size:27px;margin:0 auto 22px}#inquiry-confirmation .eyebrow{font-size:10px;margin-bottom:14px}#inquiry-confirmation h2{font-size:38px;line-height:1.1;margin-bottom:20px}#confirmation-message{font-size:15px;line-height:1.8;margin-bottom:26px}#inquiry-confirmation .button{justify-content:center}@media(max-width:480px){#inquiry-confirmation{padding:32px 24px}}
.contact #form-availability.delivery-error{color:#793a2b;background:#f8eae2;border-left:3px solid #a75436;padding:12px 14px;max-width:none}.delivery-error a{display:inline-block;margin-top:6px;font-weight:600}

.meeting-options{margin-top:30px;padding-top:26px;border-top:1px solid #ffffff30}.meeting-options h3{font-size:23px;line-height:1.3;color:var(--ivory);margin:0 0 12px}.contact .meeting-options p{font-size:15px;line-height:1.8;color:#e1e7e9;margin:0;max-width:330px}

/* A calm, ordered story from first contact to strategy. */
.path-section{background:#d6e0d4;border-top:1px solid #bccbbb;border-bottom:2px solid #b5c4b3;padding:62px 0 48px}.path-heading{text-align:center;max-width:700px;margin:0 auto 34px}.path-heading .eyebrow{margin-bottom:15px}.path-heading h2{font-size:clamp(38px,4.5vw,58px);margin:0 0 8px;line-height:1.1}.path-subtitle{font-family:Georgia,serif;font-style:italic;font-size:clamp(23px,2.8vw,34px);color:#677968;margin:0 0 18px}.path-intro{font-size:15px;line-height:1.8;margin:0}.path-cards{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:0;padding:0}.path-card{background:var(--ivory);border:1px solid #d8ded3;border-top:3px solid var(--gold);padding:24px 23px;display:flex;flex-direction:column;transition:transform .22s ease,box-shadow .22s ease}.path-card:hover{transform:translateY(-4px);box-shadow:0 12px 28px #133d5a0b}.path-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.path-number{font-family:Georgia,serif;font-size:49px;line-height:1;color:#ad8443}.path-card-top svg{width:45px;height:45px;color:var(--navy)}.path-label{font-size:9px;letter-spacing:1.5px;line-height:1.6;margin:0 0 12px;color:#657661}.path-card h3{font-size:27px;line-height:1.15;margin:0 0 18px;min-height:62px}.path-body{font-size:14px;line-height:1.85;margin:0 0 24px}.path-note{margin:auto 0 0;border-top:1px solid #d8ded3;padding-top:18px;font-size:12px;line-height:1.75;color:#506355}.path-footnote{font-size:11px;line-height:1.7;max-width:720px;margin:23px auto 18px;text-align:center}.path-section .text-link{display:flex;width:max-content;margin:0 auto}.faq-page .faq-list{max-width:850px;margin:35px 0}.faq-page .faq-list p{font-size:15px;line-height:1.8}.faq-page .faq-list a{text-decoration:underline;text-underline-offset:3px}@media(max-width:1100px){.path-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.path-card h3{min-height:0}.path-card{padding:27px}.path-card-top{margin-bottom:18px}}@media(max-width:600px){.path-section{padding:42px 0 36px}.path-cards{grid-template-columns:1fr;gap:16px}.path-card{padding:25px}.path-heading{margin-bottom:26px}.path-card h3{font-size:28px}.path-body{margin-bottom:20px}}@media(prefers-reduced-motion:reduce){.path-card{transition:none}.path-card:hover{transform:none}}

/* Shared compact spacing, matching the Practice Areas section. */
:root{--section-space:48px}
main>.section{padding-top:var(--section-space);padding-bottom:var(--section-space)}
.approach .eyebrow,.attorneys-copy .eyebrow{margin-bottom:14px}
.attorneys-copy h2{margin-bottom:18px}
.approach-copy>p:last-of-type{margin-bottom:14px}
.path-heading{margin-bottom:28px}.path-heading .eyebrow{margin-bottom:12px}
.path-intro{margin-bottom:0}.contact-intro{margin-bottom:28px}
.footer{padding-top:34px;padding-bottom:24px}.footer-top{padding-bottom:24px}.footer-bottom{padding-top:18px}
.blog-main{padding-top:48px;padding-bottom:48px}
@media(max-width:780px){.approach,.attorneys{gap:24px}.attorneys-copy{padding-top:0}}
@media(max-width:540px){:root{--section-space:34px}.path-heading,.contact-intro{margin-bottom:22px}.footer{padding-top:28px;padding-bottom:22px}.footer-top{padding-bottom:20px}.blog-main{padding-top:34px;padding-bottom:34px}}

.advocate-profile-link{display:block;border-top:1px solid var(--line);padding:18px 12px 16px 0;transition:background-color .2s,color .2s}.advocate-profile-link:hover,.advocate-profile-link:focus-visible{background:#eee3cd;color:var(--navy)}.advocate-profile-link .profile-prompt{display:flex;justify-content:space-between;gap:18px}.advocate-profile-link .profile-prompt span{color:var(--navy);font-size:18px;line-height:1}.advocates-team-link{margin-top:18px}.advocates-overview{display:grid;grid-template-columns:1fr 1fr;gap:6%;align-items:center;margin:30px 0}.advocates-overview>img{width:100%;height:auto;display:block}.advocates-overview h2{font-size:34px;margin-bottom:20px}.advocates-overview p{font-size:15px}.profile-back{display:inline-block;font-size:13px;margin-bottom:30px;border-bottom:1px solid var(--gold)}.attorney-profile-page h1{max-width:900px}.profile-introduction{border-top:2px solid var(--gold);background:#edf0e9;padding:32px;margin:30px 0;max-width:850px}.profile-introduction h2{font-size:34px;margin-bottom:20px}.profile-introduction p{max-width:650px;font-size:15px}.profile-actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap;margin-top:26px}@media(max-width:780px){.advocates-overview{grid-template-columns:1fr;gap:26px}.profile-introduction{padding:24px}.attorney-profile-page h1{font-size:40px}.advocates-overview h2{font-size:30px}}

.header nav .header-contact{padding:11px 16px;gap:15px;white-space:nowrap;font-size:12px;background:var(--navy);border-color:var(--navy);color:var(--ivory)}.header nav .header-contact:hover,.header nav .header-contact:focus-visible{background:var(--gold);border-color:var(--gold);color:var(--navy)}.header-contact span{font-size:17px}@media(min-width:781px) and (max-width:1100px){.header nav{gap:12px}.header nav .header-contact{padding:10px 12px;gap:10px;font-size:11px}.header .brand{width:215px}.header .brand img{width:215px}}@media(max-width:780px){.header nav .header-contact{justify-content:space-between;margin-top:10px;font-size:15px;padding:14px 16px}}

/* A Philadelphia horizon, and a warm place to begin again. */
.renewal-footer{position:relative;background:#133d5a;color:var(--ivory);isolation:isolate;padding:42px 0 22px;overflow:hidden}.renewal-footer::before{content:"";position:absolute;inset:0;z-index:-2;background:url('assets/philadelphia-footer.jpg') center 43%/cover no-repeat}.renewal-footer::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(10,37,56,.97),rgba(13,44,65,.74) 55%,rgba(13,44,65,.84))}.footer-welcome{position:relative;padding-bottom:28px;margin-bottom:28px;border-bottom:1px solid #e5d8ba55;display:grid;grid-template-columns:1.25fr 1fr;align-items:end;gap:8px 7%}.footer-welcome .eyebrow{grid-column:1/-1;color:#e5c994;font-size:10px;margin:0 0 6px}.footer-welcome h2{color:var(--ivory);font-size:clamp(30px,3.4vw,43px);line-height:1.18}.footer-welcome h2 em{color:#ead9b8}.footer-welcome>p:last-child{color:#eff1ec;font-size:14px;line-height:1.8;margin:0}.renewal-grid{display:grid;grid-template-columns:1.15fr .8fr 1.15fr 1.2fr;gap:32px}.renewal-grid h3{font:600 11px Arial,sans-serif;text-transform:uppercase;letter-spacing:1.8px;color:#e5c994;margin:0 0 20px}.renewal-logo{display:block;width:225px;max-width:100%;background:transparent;margin-bottom:18px;padding:0;mix-blend-mode:screen}.renewal-logo img{display:block;width:100%;height:auto;aspect-ratio:1536/720;object-fit:cover;object-position:center}.renewal-brand>p{font-size:12px;line-height:1.8;color:#eef1ee;margin:0 0 18px}.footer-socials{display:flex;gap:9px}.social-placeholder{width:34px;height:34px;display:grid;place-items:center;border:1px solid #e3dcc377;border-radius:50%;color:#eddfc2;background:#102c4080;opacity:1;cursor:default}.social-placeholder svg{width:15px;height:15px}.social-note{display:block;font-size:10px;color:#d0dcd9;margin-top:9px}.footer-sitemap a{display:block;font-size:12px;line-height:1.6;margin-bottom:10px;width:fit-content}.renewal-footer a:hover{color:#edd09a;text-decoration:underline;text-underline-offset:4px}.footer-connect>a{display:block;width:fit-content}.footer-phone{font-family:Georgia,serif;font-size:24px;line-height:1.3;margin-bottom:12px}.footer-email,.footer-book{font-size:12px;margin-bottom:12px}.renewal-grid .office-heading{margin:26px 0 12px}.pending-address{font-size:12px;color:#f1f0e9;margin:0 0 8px}.footer-connect>small{font-size:10px;color:#e4e8e1;display:block}.footer-meeting{font-size:12px;line-height:1.7;margin:14px 0 0;color:#dce5df}.map-preview{height:177px;position:relative;overflow:hidden;border:1px solid #d3c49f;border-radius:2px;background:#e7e9df}.map-preview>svg{width:100%;height:100%;opacity:.85}.map-preview-caption{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#f8f5edbb;color:#133d5a;text-align:center;padding:15px}.map-preview-caption svg{width:31px;height:31px;margin-bottom:9px;color:#9b783e}.map-preview-caption strong{font-family:Georgia,serif;font-size:20px;font-weight:400}.map-preview-caption span{font-size:9px;margin-top:6px}.map-note{font-size:10px;line-height:1.7;color:#dde6e2;margin:12px 0 0}.renewal-bottom{border-top:1px solid #ddd6c044;margin-top:28px;padding-top:18px;display:grid;grid-template-columns:1fr auto;gap:8px 24px}.renewal-bottom p{font-size:10px;line-height:1.7;color:#dce4df;margin:0}.renewal-bottom>a{font-size:11px}.renewal-bottom .footer-disclaimer{max-width:780px}.renewal-bottom .photo-credit{font-size:9px;color:#cbd6d5;align-self:end}@media(max-width:1050px){.renewal-grid{grid-template-columns:1fr 1fr;gap:30px 8%}.renewal-logo{width:225px}.map-preview{max-width:360px}.footer-welcome{grid-template-columns:1fr 1fr}}@media(max-width:600px){.renewal-footer{padding-top:32px}.footer-welcome{grid-template-columns:1fr;gap:15px;padding-bottom:24px;margin-bottom:24px}.footer-welcome>p:last-child{font-size:13px}.renewal-grid{gap:28px 22px;grid-template-columns:1fr 1fr}.renewal-brand,.footer-map{grid-column:1/-1}.renewal-brand>p br{display:none}.renewal-brand>p{max-width:310px}.renewal-logo{width:215px}.footer-phone{font-size:21px}.renewal-grid h3{font-size:10px;letter-spacing:1.2px}.map-preview{max-width:none;height:160px}.renewal-bottom{grid-template-columns:1fr;gap:12px}.renewal-bottom .footer-disclaimer{grid-row:3}.renewal-footer::before{background-position:60% center}.renewal-footer::after{background:rgba(10,37,56,.88)}}

.client-payment{background:transparent;color:var(--ivory);border-color:#b8c5cd;cursor:pointer}.client-payment:hover,.client-payment:focus-visible{background:var(--gold);border-color:var(--gold);color:var(--navy)}

.search-open{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:38px;height:40px;border:0;background:transparent;color:var(--navy);cursor:pointer;padding:8px}.search-open svg{width:22px;height:22px}.search-open:hover{color:#9b783e}.search-mobile{display:none}.header nav{gap:20px}#site-search{border:1px solid #d2c4a6;background:var(--ivory);color:var(--navy);width:min(680px,calc(100% - 28px));max-height:calc(100dvh - 40px);overflow:auto;padding:28px 34px;margin:auto;box-shadow:0 25px 80px #102d4255}#site-search::backdrop{background:#102d42b8;backdrop-filter:blur(3px)}.search-heading-row{display:flex;align-items:center;justify-content:space-between}.search-heading-row .eyebrow{margin:0;font-size:10px}.search-close{background:transparent;border:0;color:var(--navy);font-size:30px;width:40px;height:40px;cursor:pointer}#search-heading{font-size:32px;margin:10px 0 20px;line-height:1.2}.search-label{display:block;font-size:12px;margin-bottom:6px}#site-search-input{width:100%;border:1px solid #9bab9b;background:white;padding:14px;font:inherit;font-size:16px;color:var(--navy);border-radius:0}#site-search-input:focus{outline:2px solid var(--gold);outline-offset:2px}#search-status{font-size:12px;line-height:1.6;margin:18px 0 10px}#search-results{list-style:none;padding:0;margin:0}#search-results li{border-top:1px solid var(--line)}#search-results a{display:block;padding:14px 10px}#search-results a:hover,#search-results a:focus-visible{background:#eee4d0}#search-results strong{display:block;font-family:Georgia,serif;font-size:22px;line-height:1.3;font-weight:400}.search-category{display:block;text-transform:uppercase;letter-spacing:1.3px;font-size:9px;color:#5c705e;margin-bottom:4px}.search-description{display:block;font-size:12px;line-height:1.6;color:var(--text);margin-top:5px}.search-help{font-size:12px;margin:18px 0 0}.search-help a{text-decoration:underline;text-underline-offset:3px}@media(min-width:781px) and (max-width:1100px){.header nav{gap:9px}.search-open{width:30px;padding:4px}.header .brand{width:190px}.header .brand img{width:190px}}@media(max-width:780px){.search-desktop{display:none}.search-mobile{display:inline-flex;margin-left:auto;margin-right:10px}.header .menu-toggle{flex-shrink:0}.header nav{gap:4px}#site-search{padding:22px 20px}#search-heading{font-size:28px}}

.focus-section{background:#eeeae1;border-top:1px solid #deded3;border-bottom:1px solid #deded3}.focus-heading{display:grid;grid-template-columns:1.4fr 1fr;gap:8%;align-items:end;margin-bottom:28px}.focus-heading .eyebrow{font-size:10px;margin-bottom:12px}.focus-heading h2{font-size:clamp(34px,3.5vw,48px);line-height:1.13}.focus-subtitle{font-family:Georgia,serif;font-style:italic;font-size:23px;color:#617664;margin:12px 0 0}.focus-heading>p{font-size:13px;line-height:1.8;margin:0;max-width:380px}.focus-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.focus-card{display:grid;grid-template-columns:72px 1fr;gap:24px;background:var(--ivory);border:1px solid #d8d9cf;padding:30px;transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}.focus-card:hover,.focus-card:focus-within{transform:translateY(-4px);border-color:var(--gold);box-shadow:0 12px 26px #133d5a0c}.focus-art{display:flex;flex-direction:column;align-items:center;gap:14px}.focus-art svg{width:68px;height:68px;color:var(--navy)}.focus-sun{color:var(--gold);opacity:.24}.focus-art>span{font-size:10px;letter-spacing:2px;color:#7c7f68}.focus-kicker{font-size:9px;letter-spacing:1.5px;margin:0 0 10px;color:#617664}.focus-copy{display:flex;flex-direction:column}.focus-copy h3{font-size:29px;line-height:1.17;margin:0 0 17px}.focus-copy>p:not(.focus-kicker){font-size:14px;line-height:1.85;margin-bottom:20px}.focus-link{font-size:12px;align-self:flex-start;margin-top:auto;gap:18px;line-height:1.5}.focus-link span{transition:transform .22s ease}.focus-card:hover .focus-link span,.focus-card:focus-within .focus-link span{transform:translate(3px,-3px)}@media(max-width:1000px){.focus-card{grid-template-columns:1fr;gap:15px;padding:26px}.focus-art{flex-direction:row;justify-content:space-between}.focus-art svg{width:60px;height:60px}.focus-copy h3{font-size:27px}}@media(max-width:650px){.focus-heading{grid-template-columns:1fr;gap:18px;margin-bottom:24px}.focus-grid{grid-template-columns:1fr;gap:15px}.focus-card{padding:24px}.focus-heading>p{max-width:none}.focus-subtitle{font-size:22px}}@media(prefers-reduced-motion:reduce){.focus-card,.focus-link span{transition:none}.focus-card:hover,.focus-card:focus-within,.focus-card:hover .focus-link span,.focus-card:focus-within .focus-link span{transform:none}}

/* Distinct, compact chapters across the homepage. */
.practice{background:#d6e0d4;border-top:1px solid #b8c8b6;border-bottom:1px solid #b8c8b6}
.focus-section{background:#ded4c2;border-top-color:#c3b596;border-bottom-color:#c3b596}
.path-section{background:#cbd9c8;border-top-color:#aabda7;border-bottom-color:#aabda7}
.contact-choices{background:var(--ivory);border-top:1px solid #d4c7af}

/* Compact homepage team introduction, with profiles grouped under the photo. */
#attorneys .attorneys-layout{grid-template-columns:.85fr 1.15fr;gap:6%;align-items:start}
#attorneys .portrait img{height:245px;aspect-ratio:auto;object-fit:cover;object-position:50% 30%}
#attorneys .photo-caption{display:none}
#attorneys .advocate-profiles{margin-top:14px}
#attorneys .advocate-profile-link{padding:12px 10px 12px 0}
#attorneys .advocate-profiles h3{font-size:20px;line-height:1.25}
#attorneys .profile-prompt{margin-top:4px;font-size:12px}
#attorneys .advocates-team-link{margin-top:0}
#attorneys .attorneys-copy{padding-top:0}
@media(max-width:780px){#attorneys .attorneys-layout{grid-template-columns:1fr;gap:26px}#attorneys .portrait img{height:auto;aspect-ratio:1.65;object-position:50% 30%}#attorneys .advocate-profiles{margin-top:12px}}

/* A warm, distinct introduction between focus areas and the team. */
.approach-section{background:#d7cdc5;border-top:1px solid #c0b3a9;border-bottom:1px solid #c0b3a9}

/* Approved logo-inspired homepage progression: sage, blue, ivory. */
#practice,.advocates-section{background:#D6E0D4;border-top:1px solid #bdcbbb;border-bottom:1px solid #bdcbbb}
#family-law-focus,#path-forward{background:#E2EBF0;border-top:1px solid #c7d6df;border-bottom:1px solid #c7d6df}
.approach-section,.contact-choices{background:#FAF7F0;border-top:1px solid #e1e2db;border-bottom:1px solid #e1e2db}

/* Main service hubs: compact, readable, with the existing sun-gold interaction. */
#practice .service-hubs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px}
#practice .service-hubs .service-tile{grid-column:span 2;min-height:190px;padding:22px 26px;justify-content:flex-start}
#practice .service-hubs .service-tile:nth-child(n+4){grid-column:span 3}
#practice .service-hubs .tile-top{margin-bottom:12px}
#practice .service-hubs .service-art{width:64px;height:58px}
#practice .service-hubs h3{font-size:clamp(20px,1.8vw,27px);line-height:1.22;margin:0;max-width:24ch}
.all-practices{display:flex;justify-content:center;align-items:center;gap:14px;margin-top:18px;padding:16px 24px;border:1px solid #aabbb0;border-radius:6px;color:#174661;background:rgba(255,255,255,.55);font-weight:600;text-decoration:none;transition:background .2s,border-color .2s}
.all-practices:hover,.all-practices:focus-visible{background:#d9b778;border-color:#c29b55;color:#123b52}
.mediation-band{background:#faf7ef;border-top:1px solid #dfcfac;border-bottom:1px solid #dfcfac;padding:30px 0}
.mediation-inner{display:grid;grid-template-columns:1fr 1.4fr auto;gap:30px;align-items:center}
.mediation-inner h2{font-size:clamp(25px,2.4vw,34px);line-height:1.15;margin:0;color:#174661}
.mediation-inner .eyebrow{font-size:11px;margin:0 0 8px;color:#80632e}
.mediation-inner>p{font-size:16px;line-height:1.6;margin:0;color:#435650}
.mediation-inner .button{white-space:nowrap;font-size:14px}
.directory-tiles{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important}
.directory-tiles .service-tile{min-height:180px!important;padding:22px!important;text-decoration:none}
.directory-tiles h3{margin:12px 0 0;font-size:23px!important}
@media(max-width:760px){#practice .service-hubs{grid-template-columns:repeat(2,minmax(0,1fr))}#practice .service-hubs .service-tile,#practice .service-hubs .service-tile:nth-child(n+4){grid-column:span 1}#practice .service-hubs .service-tile:first-child{grid-column:1/-1;min-height:165px} .mediation-inner{grid-template-columns:1fr;gap:16px}.mediation-inner .button{justify-self:start}}
@media(max-width:450px){#practice .service-hubs{grid-template-columns:1fr}#practice .service-hubs .service-tile{min-height:145px;padding:18px 22px}#practice .service-hubs .tile-top{margin-bottom:8px}.directory-tiles{grid-template-columns:1fr!important}}

/* Compact horizontal service cards and three focused specialties. */
#practice .service-hubs .service-tile{display:grid;grid-template-columns:52px minmax(0,1fr);align-items:center;gap:14px;min-height:100px;padding:18px 22px;position:relative}
#practice .service-hubs .service-tile:first-child{min-height:100px}
#practice .service-hubs .tile-top{display:contents;margin:0}
#practice .service-hubs .service-art{width:52px;height:48px}
#practice .service-hubs .tile-arrow{position:absolute;right:12px;top:10px;font-size:17px}
#practice .service-hubs h3{font-size:clamp(19px,1.7vw,24px);max-width:none;margin:0;padding-right:10px}
#practice .service-hubs{gap:12px}
#practice .all-practices{padding:12px 20px;margin-top:12px}
.mediation-inner{grid-template-columns:.85fr 1.75fr auto;gap:26px}
.mediation-copy p{font-size:14px;line-height:1.6;color:#435650;margin:0}
.mediation-copy p+p{margin-top:8px}
#family-law-focus .focus-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
#family-law-focus .focus-card{grid-template-columns:1fr;gap:16px;padding:25px}
#family-law-focus .focus-art{flex-direction:row;justify-content:space-between}
#family-law-focus .focus-art svg{width:52px;height:52px}
#family-law-focus .focus-copy h3{font-size:27px}
@media(max-width:900px){.mediation-inner{grid-template-columns:1fr 2fr}.mediation-inner .button{grid-column:2;justify-self:start}#family-law-focus .focus-card{padding:20px}#family-law-focus .focus-copy h3{font-size:24px}}
@media(max-width:650px){.mediation-inner{grid-template-columns:1fr;gap:14px}.mediation-inner .button{grid-column:1}#family-law-focus .focus-grid{grid-template-columns:1fr}#practice .service-hubs{grid-template-columns:1fr}#practice .service-hubs .service-tile,#practice .service-hubs .service-tile:nth-child(n+4){grid-column:1;min-height:86px;padding:16px 20px}#practice .service-hubs .service-tile:first-child{min-height:86px}}

/* Persistent interior-page breadcrumbs, below both header rows. */
.sticky-breadcrumb{position:fixed;top:var(--breadcrumb-top,130px);left:0;right:0;z-index:80;background:#faf7f0;border-bottom:1px solid #ded8c9;color:#21455d;font-size:13px;line-height:1.4}
.sticky-breadcrumb ol{display:flex;align-items:center;gap:9px;list-style:none;margin:0;padding:11px 0;min-width:0}
.sticky-breadcrumb li{min-width:0;display:flex;align-items:center;gap:9px}
.sticky-breadcrumb li+li:before{content:'›';color:#917a50;margin:0;flex:none}
.sticky-breadcrumb a{text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
.sticky-breadcrumb [aria-current]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sticky-breadcrumb li:last-child{flex:1;overflow:hidden;display:block;text-overflow:ellipsis;white-space:nowrap}
.sticky-breadcrumb li:last-child:before{margin-right:9px}
.sticky-breadcrumb :focus-visible{outline:2px solid #9b783e;outline-offset:3px}
.has-breadcrumb main{margin-top:var(--breadcrumb-height,42px)}
.has-breadcrumb main [id]{scroll-margin-top:calc(var(--breadcrumb-top,130px) + var(--breadcrumb-height,42px) + 18px)}
.has-breadcrumb .pa-toc{top:calc(var(--breadcrumb-top,130px) + var(--breadcrumb-height,42px) + 18px);max-height:calc(100vh - var(--breadcrumb-top,130px) - var(--breadcrumb-height,42px) - 36px)}
@media(max-width:650px){.sticky-breadcrumb{font-size:12px}.sticky-breadcrumb ol{gap:6px;padding:10px 0}.sticky-breadcrumb li{gap:6px}.sticky-breadcrumb li:not(:first-child):not(:last-child):not(:nth-last-child(2)){display:none}}
.sticky-breadcrumb.pa-breadcrumb ol{padding:11px 0;margin:0;flex-wrap:nowrap}
@media(max-width:650px){.sticky-breadcrumb.pa-breadcrumb ol{padding:10px 0}}
/* The specialty card's existing descriptive link activates the entire card. */
#family-law-focus .focus-card{position:relative}
#family-law-focus .focus-link::after{content:'';position:absolute;inset:0}
#family-law-focus .focus-card:focus-within{outline:2px solid #9b783e;outline-offset:3px}

/* Six equal service choices; the directory is the final card at every size. */
#practice .service-hubs{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:1fr}
#practice .service-hubs .service-tile,#practice .service-hubs .service-tile:nth-child(n+4),#practice .service-hubs .service-tile:first-child{grid-column:auto;min-height:100px}
#practice .service-hubs .explore-all-tile h3{color:#876325}
#practice .service-hubs .explore-all-tile:hover h3,#practice .service-hubs .explore-all-tile:focus-visible h3{color:#21455d}
@media(min-width:651px) and (max-width:900px){#practice .service-hubs{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){#practice .service-hubs{grid-template-columns:1fr}#practice .service-hubs .service-tile,#practice .service-hubs .service-tile:nth-child(n+4),#practice .service-hubs .service-tile:first-child{min-height:86px}}
/* Keep the practice directory visible even in a longer mobile trail. */
@media(max-width:650px){.sticky-breadcrumb li:nth-child(2){display:flex!important;flex-shrink:0}.sticky-breadcrumb li:nth-last-child(2):not(:nth-child(2)):not(:first-child){max-width:25vw}.sticky-breadcrumb li:nth-last-child(2):not(:nth-child(2)) a{overflow:hidden;text-overflow:ellipsis}.sticky-breadcrumb li:last-child{min-width:0}}

/* Shared component finish. Keep structural sections, navigation and logos square. */
:root {
  --radius-small: 6px;
  --radius-button: 8px;
  --radius-card: 12px;
  --radius-large: 16px;
  --shadow-card: 0 2px 8px rgba(40, 35, 30, .05);
  --shadow-card-hover: 0 6px 18px rgba(40, 35, 30, .09);
}
.service-tile, .focus-card, .path-card, .advocate-profile-link,
.practice-item, .faq-list details, .pa-faq, .pa-subtopics > div,
.pa-related > article, .practice-page .pa-hero > article {
  border-radius: var(--radius-card);
  box-shadow: var(--shadow-card);
}
.scheduling-panel, .inquiry-panel, .inquiry-form-wrap,
.profile-introduction, .blog-coming, .pa-help, .pa-note,
#site-search, #inquiry-confirmation {
  border-radius: var(--radius-large);
}
#attorneys .portrait img, .advocates-overview > img,
.pa-hero-image, .pa-related img, .pa-editorial figure img, .map-preview {
  border-radius: var(--radius-card);
}
.button, .utility-button, .client-payment, .connection-button,
.form-submit, .payment-placeholder, .nav-cta {
  border-radius: var(--radius-button);
}
.form-field input, .form-field select, .form-field textarea,
#faq-search, #site-search-input {
  border-radius: var(--radius-small);
}
/* Information cards remain still; only full-card links lift on a fine pointer. */
.path-card, .path-card:hover {
  transform: none;
  box-shadow: var(--shadow-card);
  transition: none;
}
.service-tile, .focus-card, .advocate-profile-link {
  transition: transform 200ms ease, box-shadow 200ms ease,
    background-color 200ms ease, border-color 200ms ease, color 200ms ease;
}
.service-tile:hover, .service-tile:focus-visible,
.focus-card:hover, .focus-card:focus-within,
.advocate-profile-link:hover, .advocate-profile-link:focus-visible {
  transform: none;
  box-shadow: var(--shadow-card-hover);
}
@media (hover: hover) and (pointer: fine) {
  .service-tile:hover, .focus-card:hover, .advocate-profile-link:hover {
    transform: translateY(-3px);
  }
}
@media (hover: none), (pointer: coarse) {
  .service-tile:hover .service-art, .service-tile:hover .tile-arrow,
  .focus-card:hover .focus-link span, .focus-card:focus-within .focus-link span {
    transform: none;
  }
}
@media (prefers-reduced-motion: reduce) {
  .service-tile, .focus-card, .advocate-profile-link,
  .service-art, .tile-arrow, .focus-link span {
    transition: none;
  }
  .service-tile:hover, .service-tile:focus-visible,
  .focus-card:hover, .focus-card:focus-within,
  .advocate-profile-link:hover, .advocate-profile-link:focus-visible,
  .service-tile:hover .service-art, .service-tile:hover .tile-arrow,
  .focus-card:hover .focus-link span, .focus-card:focus-within .focus-link span {
    transform: none;
  }
}
/* Reading mode: retain the utility bar and restore main navigation on upward scroll. */
.topbar{z-index:110}.header-hidden .header{height:0!important;min-height:0!important;padding-top:0!important;padding-bottom:0!important;overflow:hidden;visibility:hidden;border:0;box-shadow:none}.utility-contact{display:none}.header-hidden .utility-contact{display:inline-flex}.header-hidden .topbar-tagline{display:none}.header-hidden .topbar{justify-content:flex-end}.header-hidden .header{top:44px}@media(max-width:650px){.header-hidden .topbar{height:76px;padding:5px 10px;justify-content:center}.header-hidden .topbar-contact{flex-wrap:wrap;justify-content:center;gap:4px 10px}.header-hidden .header{top:76px}.header-hidden .scroll-actions{gap:5px}.header-hidden .utility-button{font-size:10px;padding:6px 7px}}@media(prefers-reduced-motion:reduce){.header,.topbar{transition:none!important}}
/* Utility actions are available from the first screen, before any scrolling. */
body{padding-top:44px}.topbar{height:44px}.scroll-actions{display:flex}.header,.blog-page .header{top:44px}.utility-contact{order:0}.topbar-contact{gap:14px}@media(max-width:900px){.topbar-tagline{display:none}.topbar{justify-content:flex-end}}@media(max-width:650px){body{padding-top:76px}.topbar,.header-scrolled .topbar{height:76px;padding:5px 10px;justify-content:center}.topbar-contact{flex-wrap:wrap;justify-content:center;gap:4px 10px}.header,.blog-page .header,.header-scrolled .header{top:76px}.scroll-actions{gap:5px}.utility-button{font-size:10px;padding:6px 7px}}

/* Keep Contact consistent with its announcement-bar counterpart. */
.header #navigation a[href$="#contact"]{background:var(--gold);border-color:var(--gold);color:var(--navy);padding:10px 16px;border-radius:10px}
.header #navigation a[href$="#contact"]:hover{background:#e0c58f;color:var(--navy)}

/* Solid warm beige navigation, with no page showing through. */
.header,.blog-page .header{background:#FAF7F0;mix-blend-mode:normal;backdrop-filter:none;-webkit-backdrop-filter:none;border-bottom:1px solid #deded2}

/* A persistent gold rule identifies the current primary-navigation page. */
.header #navigation>a[aria-current="page"]{text-decoration:underline;text-decoration-color:var(--gold);text-decoration-thickness:2px;text-underline-offset:8px;border-bottom-color:transparent}

/* Clearly defined attorney profile actions on both team introductions. */
.advocate-profile-link,#attorneys .advocate-profile-link{background:#fffdf7;border:1px solid #718274;border-radius:12px;padding:18px 22px;margin-bottom:12px;color:#133d5a;box-shadow:0 2px 5px #133d5a0a}
.advocate-profile-link:hover,.advocate-profile-link:focus-visible,#attorneys .advocate-profile-link:hover,#attorneys .advocate-profile-link:focus-visible{background:#e5cf9e;border-color:#b48b48;color:#133d5a}
.advocate-profile-link:focus-visible{outline:3px solid #133d5a;outline-offset:3px}

/* The bar spans the viewport; only its contents use the reading width. */
nav.sticky-breadcrumb{width:100%;max-width:none;margin:0;padding:0;box-sizing:border-box}

.advocates-page .advocates-overview{align-items:start}.advocates-page .advocates-overview>img{position:sticky;top:calc(var(--nav-bottom,44px) + var(--breadcrumb-height,42px) + 24px);max-height:520px;object-fit:cover}.advocates-page .advocate-profile-link h3{margin:0 0 12px}.advocates-page .advocate-profile-link p{line-height:1.7;margin:0 0 14px}.advocates-page .profile-prompt{font-weight:600;text-decoration:underline;text-underline-offset:4px}@media(max-width:780px){.advocates-page .advocates-overview>img{position:static;max-height:350px}}
.practice-page .advocates-page{margin-top:0;padding-top:36px;padding-bottom:36px}

/* Keep the mobile consultation action below the film's faces and sunrise. */
@media(max-width:780px){
 .hero-overlay{bottom:90px;pointer-events:none}
 .hero-overlay>*{pointer-events:auto}
 .hero-overlay .button{position:absolute;bottom:0;left:0;margin-top:0;background:rgba(19,61,90,.72);border-color:rgba(255,255,255,.5);color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.35);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
 .hero-overlay .button:hover,.hero-overlay .button:focus-visible{background:rgba(201,161,93,.94);color:#133d5a;text-shadow:none}
}

.direction-arrow{display:block;width:22px;height:22px;flex-shrink:0}
#film-label{display:none}
.hero-stage #film-toggle{width:36px;height:36px;padding:0;justify-content:center;border-radius:50%;background:rgba(19,61,90,.35);border-color:rgba(255,255,255,.45)}
#film-icon{font-family:Arial,sans-serif;font-size:14px}
@media(max-width:780px){
 .hero-overlay{bottom:145px}
 .hero-overlay .button{left:50%;transform:translateX(-50%);white-space:nowrap}
 .header .menu-toggle{width:44px;height:44px;padding:9px;justify-content:center;gap:0}
 .menu-toggle svg{width:26px;height:26px}
}
@media(max-width:650px){
 body{padding-top:100px}
 .topbar,.header-hidden .topbar,.header-scrolled .topbar{height:100px;padding:6px 10px;justify-content:center}
 .topbar-contact,.header-hidden .topbar-contact{width:100%;display:flex;flex-direction:column;flex-wrap:nowrap;gap:4px}
 .topbar-contact>a{font-size:16px;font-weight:600;letter-spacing:.5px;min-height:40px;padding:5px 15px}
 .topbar-contact .phone-icon{width:18px;height:18px}
 .scroll-actions,.header-hidden .scroll-actions{display:flex;justify-content:center;width:100%;gap:6px}
 .utility-button,.header-hidden .utility-button{min-height:38px;padding:7px 9px;font-size:11px}
 .header,.blog-page .header,.header-scrolled .header,.header-hidden .header{top:100px}
 .header nav{max-height:calc(100svh - 210px)}
}
@media(max-width:390px){.utility-button,.header-hidden .utility-button{font-size:10px;padding:7px 7px}.scroll-actions,.header-hidden .scroll-actions{gap:5px}}

@media(max-width:780px){.topbar .utility-contact{display:inline-flex}}
.topbar a,.hero-overlay a{touch-action:manipulation}

.advocates-consultation{margin:0 0 28px}

.contact .consultation-card-label{position:relative;color:#fff5df;font-size:18px;font-weight:700;line-height:1.45;margin:0 0 28px;padding-bottom:20px;border-bottom:1px solid #ffffff30;max-width:none}

/* Keep the regional band inside the desktop hero's first viewport. */
@media(min-width:781px){
 .hero{height:calc(100svh - 44px);min-height:600px;display:grid;grid-template-rows:minmax(0,1fr) auto}
 .hero .hero-stage{height:100%;min-height:0;max-height:none}
 .hero .location-strip{padding:14px 6%;gap:20px;background:var(--ivory);line-height:1.5}
 .hero .location-strip>span:first-child{flex:1;font-size:12px}
 .hero .location-strip>span:last-child{flex-shrink:0;font-size:9px;letter-spacing:1px}
}

.fee-arrangements{padding:22px 0 20px;background:var(--ivory);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.fees-heading{text-align:center}.fees-heading h2{font-size:clamp(30px,3vw,38px)}.fees-heading p{font-size:14px;margin:5px 0 14px}
.fee-options{display:grid;grid-template-columns:repeat(4,1fr);max-width:1000px;margin:auto;gap:24px}.fee-option{text-align:center}.fee-option svg{width:38px;height:38px;color:var(--gold);margin-bottom:4px}.fee-option h3{font-family:Arial,Helvetica,sans-serif;font-size:11px;font-weight:600;letter-spacing:1.8px;text-transform:uppercase;color:#647b6b;line-height:1.4}.fee-option p{font-size:13px;line-height:1.6;max-width:190px;margin:8px auto 0}
.fees-action{text-align:center;margin-top:16px}.fees-action .button{font-size:12px;padding:12px 18px;gap:16px}.fees-action p{font-size:11px;line-height:1.6;max-width:780px;margin:9px auto 0}
@media(max-width:650px){.fee-arrangements{padding:20px 0}.fee-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 16px}.fees-action .button{max-width:100%;text-align:left}.fees-action p{font-size:11px}}

.utility-short{display:none}.topbar a .utility-full,.topbar a .utility-short{margin:0}
.utility-menu-toggle{display:none;align-items:center;justify-content:center;width:44px;height:44px;padding:8px;flex-shrink:0;border:0;background:transparent;color:var(--ivory);cursor:pointer}
.header-hidden .utility-menu-toggle{display:inline-flex}
.utility-navigation{position:absolute;top:100%;right:6%;width:250px;padding:8px;background:var(--ivory);border:1px solid var(--line);border-radius:0 0 12px 12px;box-shadow:0 10px 24px #133d5a24;color:var(--navy);max-height:calc(100svh - 110px);overflow:auto}
.utility-navigation[hidden]{display:none}.topbar .utility-navigation a{display:flex;align-items:center;min-height:44px;padding:10px 16px;font-size:14px;letter-spacing:0;border-radius:6px}.utility-navigation a:hover,.utility-navigation a:focus-visible{background:#e8dfcd}.utility-navigation a[aria-current="page"]{text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:5px}
@media(max-width:780px){
 body{padding-top:100px}
 .topbar,.header-hidden .topbar,.header-scrolled .topbar{height:100px;padding:4px 10px;justify-content:center}
 .topbar-contact,.header-hidden .topbar-contact{width:100%;display:flex;flex-direction:column;flex-wrap:nowrap;gap:4px}
 .topbar-contact>a{display:flex;justify-content:center;align-items:center;height:44px;min-height:44px;padding:0 44px;width:100%;font-size:16px;font-weight:600;letter-spacing:.3px}
 .scroll-actions,.header-hidden .scroll-actions{display:grid;grid-template-columns:1.6fr 1fr 1fr;width:100%;gap:6px}
 .topbar .utility-button,.header-hidden .topbar .utility-button{display:flex;align-items:center;justify-content:center;min-height:44px;padding:6px;font-size:12px;letter-spacing:0;white-space:nowrap;border:1px solid #ffffff80;background:transparent;color:var(--ivory)}
 .topbar .utility-consultation,.header-hidden .topbar .utility-consultation{background:var(--gold);color:var(--navy);border-color:var(--gold)}
 .utility-full{display:none}.utility-short{display:inline}
 .topbar .utility-menu-toggle{position:absolute;right:10px;top:4px}
 .utility-navigation{right:10px;left:10px;width:auto}
 .header,.blog-page .header,.header-scrolled .header,.header-hidden .header{top:100px}
 .header:not([inert]){height:90px;padding-left:5%;padding-right:5%}
 .header .brand,.header .brand img{width:190px}.header .brand{height:88px}
 .header .search-mobile{width:44px;height:44px;margin-right:2px;padding:10px;flex-shrink:0}
 .header .menu-toggle{width:44px;height:44px;padding:9px;flex-shrink:0}
 .header #navigation{top:90px;max-height:calc(100svh - 190px)}
 .header #navigation>a{min-height:44px;display:flex;align-items:center}
}
@media(max-width:360px){.header .brand,.header .brand img{width:170px}.topbar .utility-button{font-size:11px}}

/* Phone and small-tablet hero refinement; preserve the film and its fade-out. */
@media(max-width:780px){
 .hero .hero-stage{height:calc(100svh - 100px);min-height:560px;max-height:940px}
 .hero .hero-overlay{top:112px;bottom:88px;left:6%;right:6%}
 .hero .hero-overlay h1{font-size:clamp(30px,9.2vw,42px);line-height:1.13;letter-spacing:-.9px}
 .hero .hero-overlay .button{min-height:50px;max-width:100%;padding:14px 20px;font-size:13px;gap:18px}
 .hero .location-strip{padding:13px 6%;text-align:center;line-height:1.55;background:var(--ivory)}
 .hero .location-strip>span:first-child{font-size:12px;max-width:620px;margin:0 auto}
 .hero .location-strip>span:last-child{font-size:9px;line-height:1.6;letter-spacing:.7px;margin-top:8px}
 .hero .location-strip i{padding:0 5px}
}
@media(max-width:360px){.hero .hero-overlay h1{font-size:30px}.hero .hero-overlay .button{font-size:12px;padding:13px 16px}}
@media(max-width:780px) and (max-height:500px){.hero .hero-stage{min-height:480px}.hero .hero-overlay{top:108px;bottom:65px}.hero .hero-overlay h1{font-size:30px}}

/* Homepage practice tiles: readable, equal-height pairs on mobile only. */
@media(max-width:780px){
 #practice.section{padding-top:30px;padding-bottom:30px}
 #practice .section-top{gap:12px;margin-bottom:20px}
 #practice .section-top .eyebrow{margin-bottom:10px}
 #practice .section-top>p{font-size:14px;line-height:1.6;margin:0}
 #practice .service-hubs{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:1fr;gap:10px}
 #practice .service-hubs .service-tile,#practice .service-hubs .service-tile:first-child,#practice .service-hubs .service-tile:nth-child(n+4){grid-column:auto;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:8px;min-height:156px;padding:13px 12px}
 #practice .service-hubs .tile-top{display:flex;width:100%;align-items:center;justify-content:space-between;min-height:34px}
 #practice .service-hubs .service-art{width:38px;height:35px;flex-shrink:0}
 #practice .service-hubs .tile-arrow{position:static;line-height:1}
 #practice .service-hubs .tile-arrow .direction-arrow{width:18px;height:18px}
 #practice .service-hubs h3{font-size:18px;line-height:1.2;letter-spacing:-.25px;padding:0;overflow-wrap:normal}
 #practice .service-hubs .service-tile:active{background:#e5cf9e;border-color:var(--gold);transform:none}
}
@media(max-width:360px){#practice .service-hubs h3{font-size:17px}#practice .service-hubs .service-tile,#practice .service-hubs .service-tile:first-child,#practice .service-hubs .service-tile:nth-child(n+4){min-height:174px;padding:12px 10px}}
@media(max-width:780px){#practice .section-top h2{margin-bottom:10px}}

/* Compact homepage high-stakes cards on phones only. */
@media(max-width:650px){
 #family-law-focus.section{padding-top:30px;padding-bottom:30px}
 #family-law-focus .focus-heading{gap:12px;margin-bottom:18px}
 #family-law-focus .focus-heading .eyebrow{margin-bottom:10px}
 #family-law-focus .focus-subtitle{font-size:20px;line-height:1.45;margin-top:8px}
 #family-law-focus .focus-heading>p{line-height:1.65}
 #family-law-focus .focus-grid{gap:12px}
 #family-law-focus .focus-card{padding:18px;gap:10px}
 #family-law-focus .focus-art svg{width:42px;height:42px}
 #family-law-focus .focus-kicker{margin-bottom:7px}
 #family-law-focus .focus-copy h3{margin-bottom:12px}
 #family-law-focus .focus-copy>p:not(.focus-kicker){line-height:1.75;margin-bottom:12px}
 #family-law-focus .focus-link{min-height:44px;padding:9px 0;align-items:center}
}

/* Homepage advocates: introduction, team photo, profiles, then story on mobile. */
@media(max-width:780px){
 #attorneys.section{padding-top:30px;padding-bottom:30px}
 #attorneys .attorneys-layout{display:flex;flex-direction:column;align-items:stretch;gap:0}
 #attorneys .attorneys-copy{display:contents}
 #attorneys .attorneys-copy>.eyebrow{order:0;margin:0 0 10px}
 #attorneys .attorneys-copy>h2{order:1;margin:0 0 12px}
 #attorneys .attorneys-copy>.lead{order:2;font-size:22px;line-height:1.45;margin:0 0 18px}
 #attorneys .advocates-visual{order:3;margin-bottom:18px}
 #attorneys .attorneys-copy>p:not(.eyebrow):not(.lead){order:4;font-size:15px;line-height:1.75;margin:0 0 16px}
 #attorneys .advocates-team-link{order:5;align-self:flex-start;min-height:44px;margin:0;align-items:center}
 #attorneys .advocate-profiles{margin-top:10px}
 #attorneys .advocate-profile-link{padding:14px 20px;margin-bottom:10px}
 #attorneys .advocate-profile-link:last-child{margin-bottom:0}
}

/* Compact, readable process steps on phones; desktop rules remain intact. */
@media(max-width:600px){
 #path-forward.section{padding-top:30px;padding-bottom:30px}
 #path-forward .path-heading{margin-bottom:18px}
 #path-forward .path-heading .eyebrow{margin-bottom:10px}
 #path-forward .path-heading h2{font-size:34px;margin-bottom:8px}
 #path-forward .path-subtitle{font-size:22px;line-height:1.4;margin-bottom:12px}
 #path-forward .path-intro{font-size:14px;line-height:1.7}
 #path-forward .path-cards{gap:12px}
 #path-forward .path-card{padding:18px}
 #path-forward .path-card-top{margin-bottom:12px}
 #path-forward .path-number{font-size:36px}
 #path-forward .path-card-top svg{width:36px;height:36px}
 #path-forward .path-label{margin-bottom:7px}
 #path-forward .path-card h3{font-size:26px;margin-bottom:12px}
 #path-forward .path-body{line-height:1.75;margin-bottom:14px}
 #path-forward .path-note{padding-top:12px;line-height:1.7}
 #path-forward .path-footnote{margin:16px auto 10px}
 #path-forward .text-link{min-height:44px;max-width:100%;align-items:center;justify-content:center}
}

.contact-inquiry-shortcut{display:none}
@media(max-width:700px){
 .contact-choices.section{padding-top:30px;padding-bottom:26px}
 .contact-choices .contact-intro{gap:12px;margin-bottom:18px}
 .contact-inquiry-shortcut{display:flex;align-items:center;min-height:44px;width:fit-content;font-size:14px;text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:5px;margin-top:8px}
 .contact-choices .scheduling-panel{padding:30px 20px 22px}
 .contact .consultation-card-label{font-size:17px;margin-bottom:20px;padding-bottom:16px}
 .contact-choices .connection-option{padding-bottom:20px}
 .contact-choices .connection-option+.connection-option{padding-top:20px;padding-bottom:0}
 .contact .option-label{margin-bottom:10px}
 .contact-choices .connection-option h3{font-size:27px;margin-bottom:10px}
 .contact-choices .connection-option>p:not(.option-label){line-height:1.75;margin-bottom:16px}
 .contact-choices .connection-button{width:100%;justify-content:center;min-height:48px}
 .contact-choices .meeting-options{margin-top:20px;padding-top:18px}
 .contact-choices .meeting-options h3{font-size:22px;margin-bottom:8px}
 .contact .meeting-options p{font-size:14px;line-height:1.75}
 .contact-choices .inquiry-panel{padding:24px 16px 0}
 .contact-choices .form-heading .eyebrow{margin-bottom:10px}
 .contact-choices .form-heading h3{font-size:30px;margin-bottom:10px}
 .contact-choices .form-heading p:not(.eyebrow){margin-bottom:18px}
 .contact-choices .form-fields{grid-template-columns:1fr;gap:14px}
 .contact-choices .form-field input,.contact-choices .form-field select,.contact-choices .form-field textarea{font-size:16px;min-height:48px}
}

/* Shared footer refinements for phones only. */
@media(max-width:600px){
 .renewal-footer{padding-top:26px;padding-bottom:22px}
 .renewal-footer .footer-welcome{gap:10px;padding-bottom:18px;margin-bottom:18px}
 .renewal-footer .footer-welcome .eyebrow{margin-bottom:0}
 .renewal-footer .renewal-logo{width:200px;margin-bottom:12px}
 .renewal-footer .renewal-brand>p{margin-bottom:12px}
 .renewal-footer .renewal-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:20px 16px}
 .renewal-footer .footer-sitemap a{display:flex;align-items:center;min-height:44px;margin:0;width:100%;line-height:1.4}
 .renewal-footer .footer-connect>a{display:flex;align-items:center;gap:6px;min-height:44px;margin-bottom:4px;max-width:100%;line-height:1.4}
 .renewal-footer .footer-connect>a span{display:inline-flex;flex-shrink:0}
 .renewal-footer .footer-connect .direction-arrow{width:16px;height:16px;flex-shrink:0}
 .renewal-footer .footer-phone{font-size:20px;white-space:nowrap}
 .renewal-footer .renewal-grid .office-heading{margin:18px 0 10px}
 .renewal-footer .footer-meeting{margin-top:10px}
 .renewal-footer .map-preview{height:125px}
 .renewal-footer .map-preview-caption{padding:10px}
 .renewal-footer .map-preview-caption svg{width:25px;height:25px;margin-bottom:5px}
 .renewal-footer .map-note{margin-top:8px}
 .renewal-footer .renewal-bottom{margin-top:20px;padding-top:16px;gap:10px}
 .renewal-footer .renewal-bottom>a:not(.photo-credit){display:flex;align-items:center;justify-content:center;min-height:44px;width:fit-content;padding:8px 16px;border:1px solid #ddd6c077;border-radius:8px;color:#eddfc2}
}
@media(max-width:360px){
 .renewal-footer .renewal-grid{grid-template-columns:1fr}
 .renewal-footer .footer-sitemap{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
 .renewal-footer .footer-sitemap h3{grid-column:1/-1}
}

/* Your Advocates: shared portrait hero and readable introductions. */
.advocates-page .advocates-hero{display:grid;grid-template-columns:1fr 1.1fr;grid-template-rows:1fr auto;column-gap:5%;align-items:center;padding:10px 0 28px}
.advocates-hero-copy{align-self:end;padding-bottom:24px}
.advocates-page .advocates-hero h1{font-size:clamp(40px,4.5vw,62px);line-height:1.12;margin:0 0 18px}
.advocates-page .advocates-hero .eyebrow{margin:0 0 16px}
.advocates-page .advocates-hero .lead{margin:0;max-width:25ch;line-height:1.45}
.advocates-hero-photo{grid-column:2;grid-row:1/3;display:block;width:100%;height:390px;object-fit:cover;border-radius:12px}
.advocates-page .advocates-consultation{grid-column:1;grid-row:2;justify-self:start;align-self:start;margin:0 0 40px;min-height:48px;display:inline-flex;align-items:center;justify-content:center}
.advocates-quick-links{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding-bottom:30px;border-bottom:1px solid #71827440}
.advocates-quick-links a{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 22px;min-height:54px;border:1px solid #718274;border-radius:10px;background:#fffdf7;color:#133d5a;font-weight:600;text-decoration:none}
.advocates-quick-links a:hover,.advocates-quick-links a:focus-visible{background:#e5cf9e}
.advocates-story{padding:30px 0 20px}
.advocates-story h2{font-size:34px;margin:0 0 18px}
.advocates-story-copy{max-width:78ch}
.advocates-story p{line-height:1.75;margin:0 0 16px}
.advocates-page .advocate-profiles{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.advocates-page .advocate-profile-link{margin:0;padding:24px}
.advocates-page .profile-prompt{display:inline-flex;align-items:center;min-height:44px;gap:8px}
@media(max-width:780px){
 .advocates-page.blog-main{padding-top:24px;padding-bottom:28px}
 .advocates-page .advocates-hero{display:flex;flex-direction:column;align-items:stretch;gap:18px;padding:0 0 20px}
 .advocates-hero-copy{align-self:auto;padding:0}
 .advocates-page .advocates-hero h1{font-size:36px;margin-bottom:12px}
 .advocates-page .advocates-hero .eyebrow{margin-bottom:10px}
 .advocates-page .advocates-hero .lead{font-size:22px;max-width:none;line-height:1.4}
 .advocates-hero-photo{height:auto;aspect-ratio:1.5;object-fit:cover}
 .advocates-page .advocates-consultation{align-self:center;margin:0;max-width:100%;text-align:center}
 .advocates-quick-links{grid-template-columns:1fr;gap:10px;padding-bottom:22px}
 .advocates-quick-links a{padding:13px 18px;min-height:48px;font-size:15px}
 .advocates-story{padding:24px 0 8px}
 .advocates-story h2{font-size:30px;margin-bottom:14px}
 .advocates-story p{font-size:16px;line-height:1.7;margin-bottom:16px}
 .advocates-page .advocate-profiles{grid-template-columns:1fr;gap:12px}
 .advocates-page .advocate-profile-link{padding:18px}
 .advocates-page .advocate-profile-link h3{font-size:24px;line-height:1.25}
}
@media(hover:none){
 .advocates-page .advocate-profile-link:hover,.advocates-quick-links a:hover{background:#fffdf7;transform:none}
}

/* Full-width brand-color chapters; preserve the Advocates content grid. */
.advocates-page .advocates-story,
.advocates-page .advocate-profiles{position:relative;isolation:isolate}
.advocates-page .advocates-story::before,
.advocates-page .advocate-profiles::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:var(--advocates-chapter);box-shadow:0 0 0 100vmax var(--advocates-chapter);clip-path:inset(0 -100vmax)}
.advocates-page .advocates-story{--advocates-chapter:#e5ece2}
.advocates-page .advocate-profiles{--advocates-chapter:#e2ebf0;padding-top:24px}
.advocates-page .advocate-profiles::before{bottom:-80px}
.advocates-page .advocate-profile-link{background:#fffdf7;border-color:#9aaeb7}
.advocates-page .advocates-quick-links{border-bottom:0}
@media(max-width:780px){
 .advocates-page .advocate-profiles{padding-top:20px}
 .advocates-page .advocate-profiles::before{bottom:-28px}
}
@media(hover:hover){.advocates-page .advocate-profile-link:hover{background:#f2dfb5}}
.advocates-page .advocate-profiles{margin-top:0;padding-top:28px}
/* Keep the blue chapter inside its own box, never over the following FAQ. */
.advocates-page.blog-main{padding-bottom:0}
.advocates-page .advocate-profiles{padding-bottom:28px}
.advocates-page .advocate-profiles::before{bottom:0}
/* A slim mobile band fits within the small viewport, including browser chrome. */
.hero-mobile-statement,.hero-mobile-region{display:none}
@media(max-width:780px){
 .hero{height:calc(100svh - 100px);min-height:0;display:grid;grid-template-rows:minmax(0,1fr) auto;padding-bottom:env(safe-area-inset-bottom,0px);background:var(--ivory)}
 .hero .hero-stage{height:100%;min-height:0;max-height:none;aspect-ratio:auto}
 .hero .hero-overlay{bottom:100px}
 .hero .location-strip{padding:9px 8px 10px;display:block;line-height:1.3}
 .hero .location-strip .hero-desktop-statement,.hero .location-strip .hero-desktop-region{display:none}
 .hero .location-strip .hero-mobile-statement{display:block;font-size:14px;font-weight:600;white-space:nowrap;margin:0;letter-spacing:0}
 .hero .location-strip .hero-mobile-region{display:block;font-size:clamp(8.5px,2.5vw,11px);line-height:1.4;letter-spacing:0;white-space:nowrap;margin:4px 0 0}
}
@media(max-width:780px) and (max-height:600px){
 .hero{height:auto;min-height:500px;grid-template-rows:450px auto}
 .hero .hero-overlay{bottom:55px}
}
@media(min-width:781px){.hero .location-strip>.hero-desktop-region{flex-shrink:0;font-size:9px;letter-spacing:1px}}

/* Editable firm slogan introduces the homepage team narrative. */
#attorneys .attorneys-copy>p.advocates-promise{font-size:11px;font-weight:600;line-height:1.65;letter-spacing:1.2px;text-transform:uppercase;color:var(--navy);margin:0 0 14px;text-wrap:balance}
@media(max-width:780px){#attorneys .attorneys-copy>p.advocates-promise{order:4;font-size:11px;margin:0 0 14px;max-width:36ch}}
#attorneys .attorneys-copy>p.advocates-promise:not(.eyebrow):not(.lead){font-size:11px;line-height:1.65;margin:0 0 14px}
/* Smaller delivery of the same footer photograph; custom CMS photos still override this. */
@media(max-width:700px){.renewal-footer::before{background-image:url('/assets/optimized/philadelphia-footer-800.webp')}}

/* Accessible text contrast within the existing sage/ivory palette. */
.focus-subtitle,.path-subtitle,.focus-art>span,.fee-option h3{color:#536b59}
/* Keep the film controls legible over the brightest moving frames. */
.film-caption>span,.hero-stage #film-toggle{background:rgba(19,61,90,.82)}
/* Keep the first keyboard destination above the fixed announcement bar. */
.skip:focus{position:fixed;z-index:1000}
