
:root{--navy:#00284e;--blue:#003b7b;--paper:#f2f2f2;--ink:#202322}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,'Hiragino Kaku Gothic ProN','Yu Gothic',Meiryo,sans-serif;font-size:12px;line-height:1.95}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;width:100%;height:100%;object-fit:cover}header{height:67px;display:flex;align-items:center;justify-content:space-between;padding:0 26px;gap:20px}.logo{font-size:16px;letter-spacing:-.5px;font-weight:800;color:var(--navy);white-space:nowrap}.slash{display:inline-block;background:currentColor;transform:skew(24deg);width:7px;height:13px;margin-right:6px}nav{display:flex;align-items:center;gap:20px;font-size:10px;font-weight:700}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:22px;padding:12px 16px;background:var(--navy);color:white;border:0;border-radius:2px;font-size:10px;font-weight:600;line-height:1.5;cursor:pointer}.button:hover{background:#14518b}.button:after{content:'→';font-weight:400}nav .button{padding:9px 12px}.hero{margin:0 25px;height:598px;position:relative;overflow:hidden;border-radius:4px;background:var(--navy)}.hero>img{object-position:center 42%}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,24,49,.72),transparent 55%);pointer-events:none}.hero-shape{position:absolute;inset:0;background:linear-gradient(110deg,#00366e,#001a32);clip-path:polygon(0 0,34% 0,26.4% 44%,36.5% 100%,0 100%)}.hero-shape:before,.blue-panel:before,footer:before{content:'';position:absolute;inset:0;background:#00418c;opacity:.42;clip-path:polygon(0 0,18.5% 0,37% 100%,9% 100%)}.hero-copy{position:absolute;z-index:2;color:white;left:55px;bottom:55px;width:375px}.eyebrow{font-size:11px;margin:0 0 18px;letter-spacing:.2px}.hero h1{font-size:27px;line-height:1.8;letter-spacing:1.7px;margin:0 0 20px;font-weight:650}.hero-copy p:not(.eyebrow){font-size:11px;line-height:1.9;max-width:340px;margin-bottom:26px;color:#e0e9f2}.wrap{width:calc(100% - 80px);max-width:996px;margin:auto}.section{padding-top:91px}.kicker{font-size:10px;font-weight:700;line-height:1.5;margin:0 0 6px}.kicker .slash{width:5px;height:10px;margin-right:7px;color:#003b71}h2{font-size:38px;line-height:1.2;font-weight:400;letter-spacing:-1px;margin:0 0 31px}h3{font-size:18px;line-height:1.8;margin:0 0 12px}p{margin:0 0 18px}.about{padding-top:91px;padding-bottom:10px}.about-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:64px}.about-copy{padding-top:0}.about-copy h3{font-size:22px;line-height:1.85;margin-bottom:22px}.about-copy p{font-size:11px;line-height:2;max-width:430px}.about-copy .button{margin-top:12px}.about-images{display:flex;gap:33px;padding-top:0}.about-images img{width:calc(50% - 16.5px);height:337px}.about-images img+img{margin-top:41px}.service{padding-top:99px;padding-bottom:94px}.section-intro{font-size:11px;margin-bottom:25px;max-width:650px}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}.service-card{background:white;display:grid;grid-template-columns:145px 1fr;min-height:164px}.service-card img{height:100%;min-height:164px}.service-card>div{padding:24px 20px 15px}.service-card h3{font-size:17px;margin:0 0 8px}.service-card p{font-size:10px;line-height:1.9;margin:0}.right{text-align:right;margin-top:22px}.blue-panel{position:relative;overflow:hidden;margin:0 25px;border-radius:4px;background:linear-gradient(100deg,#003777,#001c36);color:white;padding:91px 0 94px}.blue-panel .wrap{position:relative;z-index:1}.blue-panel .kicker .slash{color:white}.message-layout{display:grid;grid-template-columns:357px 1fr;gap:66px}.portrait{height:360px}.message-copy h3{font-size:22px;line-height:1.9;margin:0 0 23px}.message-copy>p{font-size:10px;line-height:2}.profile{display:grid;grid-template-columns:100px 1fr;gap:10px;margin-top:35px;font-size:10px;line-height:1.8}.profile small{font-size:10px}.profile strong{display:block;font-size:14px}.profile dl{display:grid;grid-template-columns:80px 1fr;gap:10px 15px;margin:0}.profile dd{margin:0}.strengths{padding-top:91px}.three-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:33px}.strength-card{background:white}.three-grid img{height:162px}.strength-card>div{padding:17px 18px 20px}.number{color:#164c7e;font-size:10px}.strength-card h3{font-size:17px;line-height:1.5;margin:0 0 5px}.strength-card p{font-size:10px;line-height:1.9;margin:0}.cases{padding-top:91px}.case-card small{display:block;font-size:10px;margin:11px 5px 8px}.case-card h3{font-size:14px;line-height:1.75;margin:0 5px}.news{display:grid;grid-template-columns:1fr 2fr;gap:44px;padding-top:92px;padding-bottom:89px}.news-list article{border-bottom:1px solid #e5e5e5;padding:19px 0 22px;position:relative}.news-list article:first-child{padding-top:5px}.news-list article:after{content:'→';position:absolute;right:12px;top:44%;color:#174d7b}.news-list small{font-size:9px;color:#666;display:block;margin-bottom:6px}.news-list h3{font-size:14px;margin:0;padding-right:25px}.news-list .right{margin-top:22px}footer{position:relative;overflow:hidden;background:linear-gradient(105deg,#003b7b,#001a30);color:white;padding:40px 38px 30px}footer>*{position:relative;z-index:1}.contact{background:white;border-radius:5px;color:var(--ink);padding:50px 56px;display:flex;justify-content:space-between;align-items:center;gap:25px}.contact h2{margin-bottom:24px}.contact p{font-size:11px;line-height:1.9;margin:0}.footer-bottom{padding-top:98px;display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:35px}.footer-bottom .logo{color:white;font-size:16px}.footer-bottom p{font-size:10px;line-height:2;margin-top:9px}.footer-links{display:flex;flex-direction:column;gap:13px;font-size:10px}.copyright{display:flex;justify-content:space-between;font-size:9px;margin-top:105px;opacity:.8}.menu-toggle{display:none}dialog{border:0;border-radius:8px;padding:32px;max-width:480px;width:calc(100% - 40px);box-shadow:0 20px 80px #001c3640}dialog::backdrop{background:#001a3280}dialog h3{color:var(--navy)}dialog .button{float:right}a:focus-visible,button:focus-visible{outline:3px solid #5bb4ff;outline-offset:4px}@media(min-width:1500px){.hero{height:48vw;max-height:780px}.hero-copy{left:6%;bottom:10%;width:450px}.hero h1{font-size:34px}.hero-copy p:not(.eyebrow){font-size:13px}.wrap{max-width:1160px}.message-layout{grid-template-columns:410px 1fr}.portrait{height:410px}}@media(max-width:850px){header{height:65px;padding:0 20px}nav{gap:12px}nav a:not(.button){display:none}.hero{margin:0 16px;height:580px}.hero>img{object-position:62% center}.hero-shape{clip-path:polygon(0 0,34% 0,23% 45%,60% 100%,0 100%);opacity:.95}.hero-copy{left:28px;bottom:35px;width:85%}.hero h1{font-size:26px}.wrap{width:calc(100% - 60px)}.about-layout{gap:30px}.about-images{gap:16px}.about-images img{width:calc(50% - 8px);height:280px}.service-grid{gap:20px}.service-card{grid-template-columns:100px 1fr}.service-card>div{padding:16px 12px}.service-card h3{font-size:14px}.message-layout{grid-template-columns:40% 1fr;gap:35px}.message-copy h3{font-size:18px}.profile{grid-template-columns:1fr}.three-grid{gap:20px}.blue-panel{margin:0 16px}.contact{padding:35px}.footer-bottom{grid-template-columns:1.5fr 1fr 1fr}.footer-bottom>div:last-child{display:none}}@media(max-width:600px){body{font-size:13px}.logo{font-size:14px}nav .button{font-size:9px}.hero{height:620px;margin:0 12px}.hero>img{object-position:60% center}.hero:after{background:linear-gradient(0deg,#001e3d 2%,#00284eaa 45%,transparent 90%)}.hero-shape{clip-path:polygon(0 0,20% 0,10% 40%,65% 100%,0 100%);opacity:.65}.hero-copy{left:24px;bottom:35px}.hero h1{font-size:25px;letter-spacing:1px}.hero-copy p:not(.eyebrow){max-width:290px}.wrap{width:calc(100% - 44px)}.section,.about,.service,.strengths,.cases{padding-top:65px}h2{font-size:32px;margin-bottom:27px}.about-layout{grid-template-columns:1fr;gap:35px}.about-images img{height:260px}.about-copy p{font-size:12px}.service{padding-bottom:65px}.service-grid{grid-template-columns:1fr;gap:18px}.service-card{grid-template-columns:112px 1fr;min-height:150px}.service-card img{min-height:150px}.service-card>div{padding:22px 17px}.service-card h3{font-size:16px}.service-card p{font-size:11px}.blue-panel{margin:0 12px;padding:60px 0}.blue-panel .wrap{width:calc(100% - 40px)}.message-layout{grid-template-columns:1fr;gap:30px}.portrait{width:78%;height:320px}.message-copy h3{font-size:21px}.message-copy>p{font-size:12px}.profile{grid-template-columns:85px 1fr;font-size:11px}.three-grid{grid-template-columns:1fr;gap:25px}.three-grid img{height:205px}.strength-card>div{padding:20px}.strength-card p{font-size:12px}.case-card h3{font-size:16px}.case-card small{font-size:11px}.news{grid-template-columns:1fr;gap:0;padding-top:65px;padding-bottom:65px}.news-list h3{font-size:13px}.news-list article{padding:22px 0}footer{padding:24px 16px}.contact{display:block;padding:30px 23px}.contact .button{margin-top:25px}.footer-bottom{padding-top:60px;grid-template-columns:1fr 1fr;gap:30px}.footer-bottom>div:first-child{grid-column:1/-1}.copyright{margin-top:60px;font-size:8px}.button{font-size:11px}}

body{font-size:14px}header{height:80px}.brand{display:flex;align-items:center;gap:10px}.brand .slash{width:10px;height:23px}.brand-name{font-size:21px;font-weight:700;letter-spacing:1px;line-height:1.3}.brand small{display:block;font-size:8px;font-weight:400;letter-spacing:2.2px;margin-top:5px}.desktop-nav{font-size:12px;gap:25px}.desktop-nav a[aria-current="page"]{color:#005898}.desktop-nav .button{font-size:11px;padding:13px 18px}.hero-copy{width:450px}.hero-copy h1{font-size:30px}.hero-copy p:not(.eyebrow){font-size:12px;max-width:390px}.photo-note{font-size:10px;color:#737a83;margin:9px 0 0}.hero .photo-note{position:absolute;z-index:3;right:14px;bottom:10px;color:#ffffffbd;font-size:9px}.home-service-link{transition:transform .2s}.home-service-link:hover{transform:translateY(-3px)}.service-card{grid-template-columns:125px 1fr}.service-card>div{padding:24px 22px}.service-card p{font-size:11px}.about-copy p{font-size:12px}.message-copy>p{font-size:12px}.message-visual{height:360px}.message-caption{font-size:10px;color:#c7d2e0;margin-top:8px}.message-copy .button{background:#fff;color:var(--navy);margin-top:12px}.attorney-preview{display:block;background:#fff;padding:27px 25px;min-height:180px;border-top:3px solid #00376e}.attorney-preview small{color:#6f7883;font-size:10px}.attorney-preview h3{font-size:24px;font-weight:500;margin:13px 0 16px}.attorney-preview span{font-size:11px;color:var(--navy)}.footer-bottom p{font-size:11px}.footer-links{font-size:12px}.contact p{font-size:12px}.copyright{gap:20px}.button-light{background:#fff;color:var(--navy)}.button-light:hover{color:#fff}.mobile-menu-button{display:none}.page-title{margin:0 25px;background:linear-gradient(110deg,#003777,#001c36);color:white;position:relative;overflow:hidden;border-radius:4px;padding:70px 0 76px}.page-title:before{content:'';position:absolute;inset:0;background:#07549c;opacity:.4;clip-path:polygon(0 0,18% 0,30% 100%,8% 100%)}.page-title .wrap{position:relative}.page-title .kicker .slash{color:white}.page-title h1{font-size:49px;line-height:1.3;font-weight:400;letter-spacing:-1px;margin:12px 0 0}.breadcrumb{display:flex;gap:13px;align-items:center;font-size:10px;color:#6f7780;padding:23px 0;margin:0 auto}.breadcrumb a:hover{text-decoration:underline}.page-main{padding-top:54px;padding-bottom:95px}.page-lead{display:grid;grid-template-columns:1fr 1.35fr;gap:60px;margin-bottom:55px}.page-lead h2{font-size:26px;font-weight:600;letter-spacing:1px;line-height:1.8}.page-lead p{font-size:13px;line-height:2.15}.subheading{font-size:26px;line-height:1.5;letter-spacing:.4px;font-weight:500;margin:0 0 30px}.subheading small{font-size:11px;display:block;color:#44617d;letter-spacing:1px;font-weight:400;margin-bottom:7px}.office-panel{background:#fff;padding:45px 48px}.info-table{margin:0}.info-table>div{display:grid;grid-template-columns:170px 1fr;gap:25px;padding:23px 0;border-bottom:1px solid #e8ebef;font-size:13px}.info-table>div:first-child{padding-top:0}.info-table>div:last-child{border-bottom:0;padding-bottom:0}.info-table dt{color:#466078;font-size:12px}.info-table dd{margin:0}.section-space{margin-top:75px}.history{display:grid;grid-template-columns:1fr 1fr;gap:30px}.history>div{background:#fff;padding:35px;border-top:2px solid var(--navy)}.history strong{font-size:32px;font-weight:400;color:var(--navy)}.history small{font-size:12px;margin-left:10px}.history p{font-size:13px;margin:13px 0 0}.map-panel{padding:35px 40px;background:#e8edf0;display:flex;align-items:center;justify-content:space-between;gap:30px}.map-panel p{margin:0;font-size:13px}.map-panel h3{font-size:18px}.map-frame{width:100%;height:370px;border:0;display:block;background:#e3e9ed}.anchor-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:55px}.anchor-grid a{display:flex;justify-content:space-between;gap:8px;background:#fff;font-size:12px;padding:17px 20px;border:1px solid #e5e8ec}.anchor-grid a:after{content:'↓';color:#0d4e84}.anchor-grid a:hover{border-color:#0d4e84}.practice-block{display:grid;grid-template-columns:72px 1fr;gap:20px;padding:38px 42px;background:white;margin-bottom:20px;scroll-margin-top:30px}.practice-number{font-size:32px;line-height:1.5;font-weight:400;color:#9bafc2}.practice-block h2{font-size:23px;font-weight:600;line-height:1.6;letter-spacing:.4px;margin:0 0 17px}.practice-block p{font-size:13px;line-height:2.1;margin:0;max-width:720px}.profiles-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.lawyer-card{background:#fff;padding:34px;border-top:3px solid #00386b;scroll-margin-top:30px}.lawyer-card .lawyer-label{font-size:10px;letter-spacing:1.5px;color:#6a7e93}.lawyer-card h2{font-size:28px;font-weight:500;letter-spacing:3px;margin:14px 0 26px}.lawyer-card ul{padding:0;list-style:none;margin:0;font-size:12px;line-height:2.1}.lawyer-card .publication{border-top:1px solid #e7ebee;padding-top:18px;margin-top:22px;font-size:11px;line-height:1.9}.lawyer-card .publication strong{display:block;color:#4b6075;font-size:11px;margin-bottom:8px}.lawyer-card .publication p{margin:0 0 8px}.lawyer-card a{text-decoration:underline;text-underline-offset:3px}.source-note{font-size:11px;line-height:1.8;color:#6f7780;margin-top:26px}.telephone-panel{background:white;padding:53px 40px;text-align:center;border-top:3px solid #00376b}.telephone-panel .label{font-size:12px;letter-spacing:1px;color:#52697e}.telephone{display:inline-block;font-size:43px;line-height:1.5;letter-spacing:2px;color:var(--navy);margin:12px 0}.telephone-panel p{font-size:13px}.telephone-panel .fax{font-size:12px;color:#627080;margin-bottom:0}.notice{padding:20px 25px;border-left:3px solid #00376b;background:#e7ecf1;font-size:12px;margin-top:25px}.contact-columns{display:grid;grid-template-columns:1fr 1fr;gap:30px}.contact-columns .info-table>div{grid-template-columns:1fr;gap:8px;padding:18px 0}.contact-columns .office-panel{padding:35px}.contact-columns h2{font-size:22px;font-weight:500;margin-bottom:25px}.news-list a:hover h3{text-decoration:underline}.article-date{font-size:11px;color:#697d90}.news-page article{background:#fff;padding:30px 35px;margin-bottom:18px;scroll-margin-top:25px}.news-page h2{font-size:18px;font-weight:500;line-height:1.8;letter-spacing:0;margin:8px 0 0}.mobile-drawer{display:none}.review-label{font-size:9px;color:#a5b7cb;margin-top:12px}.contact .kicker{margin-bottom:6px}.footer-bottom{grid-template-columns:1.6fr 1fr 1fr}.page-title .kicker{font-size:12px}.photo-note a{text-decoration:underline}
@media(max-width:900px){.desktop-nav{gap:13px;font-size:10px}.brand-name{font-size:18px}.brand small{font-size:7px}.page-lead{gap:30px}.office-panel{padding:30px}.practice-block{padding:30px}.anchor-grid{grid-template-columns:1fr 1fr}.lawyer-card{padding:25px}}
@media(max-width:700px){header{height:76px;padding:0 20px}.desktop-nav{display:none}.mobile-menu-button{display:block;background:none;border:1px solid #ccd3d9;color:var(--navy);width:43px;height:36px;border-radius:2px;font-size:20px;line-height:1;cursor:pointer}.mobile-drawer.open{display:flex;flex-direction:column;padding:8px 22px 22px;gap:0}.mobile-drawer a{font-size:13px;padding:13px 0;border-bottom:1px solid #e0e4e7}.brand-name{font-size:18px}.brand small{font-size:7px;letter-spacing:1.6px}.page-title{margin:0 12px;padding:43px 0 48px}.page-title h1{font-size:35px}.page-title .kicker{font-size:11px}.page-main{padding-top:35px;padding-bottom:60px}.page-lead{grid-template-columns:1fr;gap:0;margin-bottom:30px}.page-lead h2{font-size:23px;margin-bottom:22px}.page-lead p{font-size:12px}.info-table>div{grid-template-columns:1fr;gap:7px;padding:19px 0}.office-panel{padding:26px}.history{grid-template-columns:1fr;gap:18px}.history>div{padding:25px}.section-space{margin-top:50px}.map-panel{display:block;padding:25px}.map-panel .button{margin-top:22px}.map-frame{height:285px}.subheading{font-size:23px}.practice-block{grid-template-columns:32px 1fr;gap:14px;padding:27px 21px}.practice-number{font-size:23px}.practice-block h2{font-size:19px;margin-bottom:13px}.practice-block p{font-size:12px}.anchor-grid{gap:8px;margin-bottom:35px}.anchor-grid a{font-size:11px;padding:12px 10px}.profiles-grid{grid-template-columns:1fr;gap:20px}.lawyer-card{padding:28px}.telephone-panel{padding:35px 20px}.telephone{font-size:30px;letter-spacing:1px}.contact-columns{grid-template-columns:1fr;gap:20px}.news-page article{padding:24px}.news-page h2{font-size:15px}.hero-copy{width:calc(100% - 48px)}.hero-copy h1{font-size:26px}.hero-copy p:not(.eyebrow){font-size:11px}.message-visual{height:260px}.footer-bottom{grid-template-columns:1fr 1fr}.footer-bottom>div:last-child{display:flex}.copyright{align-items:flex-start;flex-direction:column;gap:8px}.service-card{grid-template-columns:102px 1fr}.service-card>div{padding:20px 16px}.attorney-preview{min-height:150px}.review-label{font-size:9px}}

@media(min-width:701px){.desktop-nav a{display:inline-flex!important}}.mobile-drawer a{display:block!important}.anchor-grid a{display:flex!important}
.archive-note{font-size:10px;color:#7a8088;margin:7px 0 0}.news-detail h2{font-size:27px;font-weight:600;line-height:1.7;margin:18px 0 30px;letter-spacing:0}.rich-text{font-size:15px;line-height:2}.rich-text a{text-decoration:underline;color:#003b7b}.rich-text h2{font-size:23px}.rich-text h3{margin-top:30px}.rich-text img{max-width:100%;height:auto}.rich-text blockquote{border-left:3px solid #003b7b;margin:25px 0;padding:0 22px}.rich-text ul,.rich-text ol{padding-left:25px}@media(max-width:600px){.news-detail h2{font-size:22px}.rich-text{font-size:13px}}

/* Detailed biographies and contact information */
.lawyer-card h3{font-size:18px;margin:28px 0 12px}.lawyer-card li{overflow-wrap:anywhere}.email-list{line-height:2.2;padding-left:1.3em;overflow-wrap:anywhere}

/* Home-only immersive first view prototype */
.immersive-home>header{position:absolute;top:36px;left:0;width:100%;height:auto;min-height:100px;z-index:10;align-items:flex-start;padding:0 36px 0 0;color:white}.immersive-home>header>.brand{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;width:218px;min-height:205px;padding:32px 27px;background:#fff;color:var(--navy);gap:20px;flex-shrink:0}.immersive-home>header .brand>.slash{height:35px;width:14px;margin-left:8px}.immersive-home>header .brand-name{font-family:'Yu Mincho','Hiragino Mincho ProN',serif;font-size:20px;letter-spacing:.03em;white-space:nowrap}.immersive-home>header .brand small{font-family:Georgia,serif;font-size:9px;letter-spacing:.10em}.immersive-home .desktop-nav{padding-top:32px;gap:27px;font-size:13px;font-weight:500;letter-spacing:.06em}.immersive-home .desktop-nav a[aria-current=page]{color:white;border-bottom:1px solid #ffffff80}.immersive-home .desktop-nav .button{border:1px solid #ffffff80;background:transparent}.immersive-home .desktop-nav a:hover{opacity:.75}.immersive-home .mobile-menu-button{color:white;border-color:#ffffff88;background:#112d4740;margin-top:24px}.immersive-home .mobile-drawer{position:absolute;z-index:11;top:112px;left:0;width:100%}
@media(max-width:1050px){.immersive-home>header{padding-right:24px}.immersive-home .desktop-nav{gap:17px;font-size:11px}.immersive-home>header>.brand{width:185px;min-height:175px;padding:26px 20px}.immersive-home>header .brand-name{font-size:17px}}
@media(max-width:760px){.immersive-home>header{padding-right:24px;min-height:100px}.immersive-home>header>.brand{width:156px;min-height:145px;padding:22px 16px;gap:16px}.immersive-home>header .brand-name{font-size:15px}.immersive-home>header .brand small{font-size:7px}.immersive-home>header .brand>.slash{height:24px;width:10px}.immersive-home>header .mobile-menu-button{display:block}.immersive-home>header .desktop-nav{display:none}}

/* Compact mobile first view, matching the reference proportions. */
@media(max-width:760px){.immersive-home>header{min-height:64px;padding-right:20px;align-items:center}.immersive-home>header>.brand{flex-direction:row;align-items:center;justify-content:flex-start;gap:10px;width:auto;min-height:64px;padding:12px 16px;background:transparent;color:#fff}.immersive-home>header .brand>.slash{height:24px;width:9px;margin:0 5px 0 0}.immersive-home>header .brand-name{font-size:17px;line-height:1.3}.immersive-home>header .brand small{font-size:8px;margin-top:4px;letter-spacing:.1em}.immersive-home>header .mobile-menu-button{margin-top:0}.immersive-home .mobile-drawer{top:100px}}

/* Mobile navigation drawer */
.mobile-menu-panel{display:none}.menu-lines{display:flex;width:21px;flex-direction:column;gap:5px}.menu-lines i{display:block;height:2px;width:100%;background:currentColor}.mobile-menu-button{border:0;background:transparent;padding:10px;cursor:pointer}.mobile-menu-panel[open]{display:flex;flex-direction:column;align-items:flex-start;gap:0;position:fixed;inset:0 0 0 auto;width:calc(100% - 24px);max-width:420px;height:100dvh;max-height:100dvh;margin:0 0 0 auto;padding:46px 36px 36px;border:0;border-radius:0;background:rgba(255,255,255,.98);color:#161d24;overflow-y:auto;z-index:100;animation:menu-enter .28s ease-out}.mobile-menu-panel::backdrop{background:rgba(0,20,40,.14)}.mobile-menu-close{position:absolute;top:5px;right:11px;width:38px;height:38px;display:grid;place-items:center;border:0;background:transparent;color:#00284e;font-size:34px;line-height:1;cursor:pointer}.mobile-menu-links{display:flex;flex-direction:column;align-items:stretch;gap:0;width:100%;font-size:15px;font-weight:600}.mobile-menu-links a{display:block;padding:13px 0;line-height:1.6}.mobile-menu-links a:hover{color:#14518b}.mobile-menu-contact{margin-top:24px;padding:20px;width:auto;min-height:56px;font-size:13px;gap:26px}.mobile-menu-phone{width:100%;margin-top:20px;border:1px solid #dcdfe3;padding:20px 12px;text-align:center;font-size:13px;line-height:1.8}.mobile-menu-phone p{margin:0}.mobile-menu-phone>a{display:block;color:#00284e;font-size:20px;font-weight:700;margin:9px 0}.mobile-menu-phone p:last-child{font-size:12px}.immersive-home .mobile-menu-panel[open]{inset:0 0 0 auto;width:calc(100% - 24px);top:0}.immersive-home .mobile-menu-button{background:transparent;border:0}.mobile-menu-panel a:focus-visible,.mobile-menu-close:focus-visible{outline:2px solid #14518b;outline-offset:4px}@keyframes menu-enter{from{transform:translateX(100%);opacity:.5}to{transform:translateX(0);opacity:1}}@media(prefers-reduced-motion:reduce){.mobile-menu-panel[open]{animation:none}}
.mobile-menu-panel .mobile-menu-links a{padding:13px 0;border:0;font-size:15px}.mobile-menu-panel .mobile-menu-contact{display:inline-flex;justify-content:space-between;min-width:218px;padding:20px;border:0;font-size:13px;gap:26px}.mobile-menu-panel .mobile-menu-phone>a{padding:0;border:0;font-size:20px}

.about-images.about-image-single{display:block}.about-images.about-image-single img{width:100%;height:360px;margin:0}@media(max-width:700px){.about-images.about-image-single img{height:260px}}

/* Home attorney cards moved into the existing blue panel. */
.attorney-stack{display:grid;grid-template-columns:1fr;gap:16px;min-width:0}.attorney-stack .attorney-preview{color:var(--ink);min-height:0;padding:18px 24px}.attorney-stack .attorney-preview h3{font-size:22px;line-height:1.5;margin:5px 0 9px}.attorney-stack .attorney-preview span{display:block;line-height:1.8}.attorney-stack>.button{justify-self:start;margin-top:4px}.blue-panel .message-layout{align-items:start}

.attorney-badge-visual{object-position:75% center}
/* Landscape attorney introduction photo. */
.message-visual.attorney-badge-visual{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;object-position:75% center}

.lawyer-intro{font-size:14px;line-height:2;margin:0 0 32px}

/* Readable type sizes across the current site. Baseline uses its own stylesheet. */
body{font-size:16px;line-height:1.9}
.desktop-nav{font-size:14px;gap:24px}.desktop-nav .button{font-size:14px;padding:14px 20px}
.button{font-size:14px;line-height:1.6;padding:14px 20px}
.kicker,.page-title .kicker{font-size:14px}.breadcrumb{font-size:13px}
.about-copy p,.section-intro,.service-card p,.message-copy>p,.strength-card p,.practice-block p,.page-lead p,.lawyer-card ul,.rich-text,.map-panel p,.telephone-panel p,.lawyer-intro{font-size:16px;line-height:1.95}
.service-card h3,.strength-card h3{font-size:20px;line-height:1.6}
.service-card>div{padding:24px}.service-grid{gap:26px}
.info-table>div{font-size:16px}.info-table dt{font-size:14px}
.lawyer-card .publication,.lawyer-card .publication strong,.lawyer-card .publication p{font-size:14px}
.attorney-preview small{font-size:13px}.attorney-preview span{font-size:14px}.attorney-stack .attorney-preview h3{font-size:24px}
.news-list small,.article-date{font-size:13px}.news-list h3,.news-page h2{font-size:18px;line-height:1.75}
.contact p,.footer-bottom p,.footer-links{font-size:14px;line-height:2}.copyright{font-size:12px}
.photo-note,.message-caption,.source-note,.review-label,.archive-note{font-size:12px;line-height:1.8}
.telephone-panel .label,.telephone-panel .fax,.notice{font-size:14px}
.mobile-menu-panel .mobile-menu-links a{font-size:16px}.mobile-menu-panel .mobile-menu-contact{font-size:14px}.mobile-menu-phone{font-size:14px}.mobile-menu-phone p:last-child{font-size:14px}
@media(max-width:960px){.desktop-nav{display:none}.mobile-menu-button{display:block}}
@media(max-width:700px){
 .about-copy p,.section-intro,.service-card p,.message-copy>p,.practice-block p,.page-lead p,.lawyer-card ul,.lawyer-intro{font-size:16px}
 .service-card{grid-template-columns:100px minmax(0,1fr)}.service-card>div{padding:20px 16px}.service-card h3{font-size:18px}
 .info-table>div{font-size:16px}.info-table dt{font-size:14px}.news-list h3,.news-page h2{font-size:16px}
 .footer-bottom p,.footer-links,.contact p{font-size:14px}.copyright{font-size:12px}.button{font-size:14px}
}
@media(max-width:380px){.service-card{grid-template-columns:1fr}.service-card img{height:160px;min-height:0}.service-card>div{padding:20px}}

/* Typography and button proportions matched to the Studio reference. */
.desktop-nav{font-size:16px;font-weight:600}
.kicker,.page-title .kicker{font-size:14.4px;line-height:1.3;font-weight:600}
.about>h2,.service>h2,.blue-panel>.wrap>h2,.news>div>h2,.contact h2{font-size:54.4px;line-height:1.4;font-weight:500;letter-spacing:-1px}
.about-copy h3,.message-copy h3{font-size:32px;line-height:1.8;font-weight:600}
.service-card h3,.strength-card h3{font-size:25.6px;line-height:1.8;font-weight:600}
.about-copy p,.section-intro,.service-card p,.message-copy>p,.practice-block p,.page-lead p,.lawyer-card ul,.lawyer-intro{font-size:16px;line-height:2}
.button,.desktop-nav .button,.attorney-stack>.button,.mobile-menu-panel .mobile-menu-contact{box-sizing:border-box;min-height:56px;padding:16px 20px;font-size:14.4px;line-height:24px;font-weight:700;gap:24px;vertical-align:middle}
.desktop-nav .button{min-height:44px;padding:10px 20px;line-height:24px}
.button:after{line-height:24px;flex-shrink:0}
.contact .button{flex-shrink:0}.attorney-stack>.button{margin-top:4px}
@media(max-width:1050px){.desktop-nav{gap:18px;font-size:14px}.desktop-nav .button{font-size:14px}}
@media(max-width:700px){
 .about>h2,.service>h2,.blue-panel>.wrap>h2,.news>div>h2,.contact h2{font-size:42px;line-height:1.4}
 .about-copy h3,.message-copy h3{font-size:23px;line-height:1.8}
 .service-card h3,.strength-card h3{font-size:19.2px;line-height:1.8}
 .about-copy p,.service-card p,.message-copy>p,.lawyer-intro{font-size:16px;line-height:1.7}
 .button,.attorney-stack>.button,.mobile-menu-panel .mobile-menu-contact{min-height:56px;padding:16px 20px;font-size:14.4px;line-height:24px}
}

/* Service photos occupy the same 30% share as the supplied reference. */
.service-grid{gap:40px}
.service-card{grid-template-columns:30% minmax(0,1fr);min-height:230px}
.service-card>img{width:100%;height:100%;min-height:230px;object-fit:cover}
.service-card>div{display:flex;flex-direction:column;justify-content:center;padding:26px}
@media(max-width:700px){.service-grid{gap:24px}.service-card{grid-template-columns:30% minmax(0,1fr);min-height:210px}.service-card>img{min-height:210px}.service-card>div{padding:20px 18px}}
@media(max-width:380px){.service-card{grid-template-columns:1fr}.service-card>img{height:180px;min-height:0}}

/* Wider desktop content area, with balanced gutters on smaller screens. */
.wrap{width:calc(100% - 96px);max-width:1240px}
@media(max-width:960px){.wrap{width:calc(100% - 64px)}}
@media(max-width:700px){.wrap{width:calc(100% - 44px)}}

/* Compact photo tiles for all eight practice areas. */
.service-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:#fff}.service-tile{position:relative;display:grid;place-items:center;min-width:0;min-height:172px;overflow:hidden;background:var(--navy);color:#fff}.service-tile>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.service-tile:after{content:'';position:absolute;inset:0;background:rgba(0,18,36,.54);transition:background .3s}.service-tile h3{position:relative;z-index:1;text-align:center;font-family:'Yu Mincho','Hiragino Mincho ProN',serif;font-size:25px;font-weight:500;letter-spacing:.06em;line-height:1.6;margin:0;padding:24px 12px}.service-tile h3 small{display:block;font-size:15px;letter-spacing:0;line-height:1.7}.service-tile:hover>img{transform:scale(1.04)}.service-tile:hover:after{background:rgba(0,18,36,.37)}.service-tile:focus-visible{outline:3px solid #7ebcef;outline-offset:-3px;z-index:2}@media(max-width:960px){.service-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.service-tile{min-height:150px}.service-tile h3{font-size:23px}}@media(max-width:700px){.service-tile{min-height:126px}.service-tile h3{font-size:20px;padding:20px 8px}.service-tile h3 small{font-size:12px}}@media(prefers-reduced-motion:reduce){.service-tile>img,.service-tile:after{transition:none}}

/* Device font system: sans-serif UI, with serif reserved for the FV. */
:root{--font-ui:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI","Hiragino Sans","Yu Gothic UI",Meiryo,sans-serif}
body{font-family:var(--font-ui);font-weight:400}
button,input,select,textarea{font-family:inherit}
.desktop-nav,.footer-links,.mobile-menu-links{font-family:var(--font-ui);font-weight:600}
.button,.desktop-nav .button,.mobile-menu-panel .mobile-menu-contact{font-family:var(--font-ui);font-weight:700}
.about>h2,.service>h2,.blue-panel>.wrap>h2,.news>div>h2,.contact h2,.page-title h1{font-family:var(--font-ui);font-weight:500;letter-spacing:-.02em}
.about-copy h3,.message-copy h3,.service-card h3,.practice-block h2,.subheading{font-family:var(--font-ui);font-weight:600;letter-spacing:.02em}
.service-tile h3{font-family:var(--font-ui);font-weight:600;letter-spacing:.02em}
.service-tile h3 small{font-weight:400}
.attorney-stack .attorney-preview h3,.lawyer-card h2{font-family:var(--font-ui);font-weight:600}

/* Softer typography weights; body text remains regular. */
.desktop-nav,.footer-links,.mobile-menu-links,
.about-copy h3,.message-copy h3,.service-card h3,.practice-block h2,.subheading,
.service-tile h3,.attorney-stack .attorney-preview h3,.lawyer-card h2,
.mobile-menu-panel .mobile-menu-links a{font-weight:500}
.button,.desktop-nav .button,.mobile-menu-panel .mobile-menu-contact{font-weight:600}

/* Match news typography to the lighter site-wide weights. */
.news-list h3,.news-page h2{font-weight:500}
.news-list small,.news-page small,.article-date,.archive-note{font-weight:400}

/* Full-bleed attorney background with the existing inner content width. */
.blue-panel{margin-left:0;margin-right:0;width:100%;border-radius:0}.blue-panel .wrap{width:calc(100% - 96px)}
/* Adopted practice photos on the detailed service page. */
.practice-block{display:grid;grid-template-columns:34% minmax(0,1fr);gap:0;padding:0;margin-bottom:28px;overflow:hidden;scroll-margin-top:28px}.practice-photo{min-height:270px;position:relative;background:#dce3e8}.practice-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.practice-body{padding:34px 40px;display:grid;grid-template-columns:48px minmax(0,1fr);gap:18px;align-content:center}.practice-body .practice-number{font-size:28px;color:#8ca6bd}.practice-body h2{font-size:25px;line-height:1.6;margin-bottom:14px}.practice-body p{font-size:16px;line-height:1.95}.practice-block:nth-of-type(even){background:#e9eef3}
@media(max-width:960px){.blue-panel .wrap{width:calc(100% - 64px)}.practice-body{padding:28px;grid-template-columns:34px minmax(0,1fr);gap:12px}.practice-body h2{font-size:22px}}
@media(max-width:700px){.blue-panel .wrap{width:calc(100% - 44px)}.practice-block{grid-template-columns:1fr;margin-bottom:24px}.practice-photo{min-height:0;aspect-ratio:16/9}.practice-body{padding:25px 22px;grid-template-columns:30px minmax(0,1fr);gap:12px}.practice-body .practice-number{font-size:23px}.practice-body h2{font-size:21px}.practice-body p{font-size:16px;line-height:1.8}}

.practice-block{margin-bottom:64px}

/* Keep header CTA legible on its current page and interaction states. */
.desktop-nav a.button,.desktop-nav a.button[aria-current="page"],.desktop-nav a.button:visited,.desktop-nav a.button:hover,.desktop-nav a.button:active{color:#fff}

/* Sticky navigation sized to the Studio reference. */
body>header{position:sticky;top:0;z-index:100;height:100px;background:var(--paper);flex-shrink:0}
.desktop-nav{font-size:16px;line-height:1.8;font-weight:600;gap:24px}
.desktop-nav .button{font-size:14.4px;line-height:24px;min-height:44px;padding:10px 20px}
html{scroll-padding-top:128px}
@media(max-width:1050px) and (min-width:961px){.desktop-nav{gap:16px;font-size:16px}header{padding-left:20px;padding-right:20px}}
@media(max-width:960px){body>header{height:76px}html{scroll-padding-top:100px}}

/* Original background artwork supplied by the office site owner. */
.blue-panel,.page-title,footer{background:#042553 url('/assets/office-original-background.webp') center/cover no-repeat}
.blue-panel:before,.page-title:before,footer:before{display:none}
.attorney-stack .attorney-preview{border-top:0;border-left:3px solid #9ab4d0;border-radius:0 5px 5px 0;padding:22px 28px}
footer .contact{border-radius:0;border-top:3px solid #9ab4d0}
@media(max-width:700px){.attorney-stack .attorney-preview{padding:20px 22px}}

/* Keep mobile section actions aligned with the left content edge. */
@media(max-width:700px){.right{text-align:left}}

/* Mobile greeting order: heading, photo, copy, action. */
@media(max-width:700px){
 .about-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:24px}
 .about-layout>.about-copy{display:contents}
 .about-layout>.about-copy h3{grid-row:1;margin:0}
 .about-layout>.greeting-visual{grid-row:2;min-width:0}
 .about-layout>.about-copy p{margin:0;max-width:none}
 .about-layout>.about-copy .button{justify-self:start;margin:0}
}

/* Keep the mobile phone icon crisp and aligned with the number. */
.mobile-menu-panel .mobile-menu-phone>a{display:flex!important;align-items:center;justify-content:center;gap:8px;white-space:nowrap;line-height:1.4}.mobile-phone-icon{display:block;width:20px;height:20px;flex:0 0 20px}

/* Keep mobile section headings balanced while retaining the original body size. */
@media(max-width:700px){
 .about>h2,.service>h2,.blue-panel>.wrap>h2,.news>div>h2,.contact h2{font-size:36px}
 .about-copy h3,.message-copy h3{font-size:22px}
}

/* Tighten mobile heading spacing to match the supplied references. */
@media(max-width:700px){
 .about>h2,.service>h2,.blue-panel>.wrap>h2,.news>div>h2,.contact h2{margin-bottom:7px}
}
