/* Business Lawyer V5 — editorial typography and practice-area layout.
   Independent visual system inspired by restrained law-firm design conventions;
   no third-party logos, imagery, stylesheets, scripts or fonts are copied. */
:root{--max:1180px;--editorial-red:#9A2535;--editorial-ink:#292B2E;--editorial-line:#DFE0E0;--editorial-muted:#666A6F}
html{scroll-padding-top:108px}
body{line-height:1.72}
.container{width:min(var(--max),calc(100% - 84px))}
.utility{display:none}
.header-inner{height:88px}
.brand-name{font-size:24px;letter-spacing:-.02em}
.brand-sub{letter-spacing:.11em}
.desktop-nav{gap:clamp(19px,2.25vw,36px)}
.desktop-nav a{font-size:14px;font-weight:600}
.site-header{border-bottom:1px solid #D9DADB}
.site-header .btn{min-height:42px;padding:10px 15px;font-size:13px}
.nav-actions{gap:18px}
.lang-switch{font-size:12px}
.lang-switch a[aria-current="page"]{background:none;color:var(--editorial-red);text-decoration:underline;text-underline-offset:7px}
.eyebrow,.eyebrow-dark{font-size:11px;letter-spacing:.16em;font-weight:700}
/* Moderate, well-proportioned text hierarchy in the manner of law-firm editorial pages. */
h2{font-size:clamp(34px,3.4vw,47px);font-weight:600;line-height:1.17;letter-spacing:-.017em;margin:11px 0 20px}
h3{font-size:clamp(22px,2.4vw,30px);font-weight:600;letter-spacing:-.011em;line-height:1.24}
p{line-height:1.78}
.section{padding:86px 0 90px}
.section-head{align-items:start;gap:65px;margin-bottom:47px}
.section-head h2{max-width:710px}
.section-head p{font-size:16px;line-height:1.7;margin:19px 0 0;max-width:325px}
/* Introductory masthead: light, airy, typography-led rather than decorative monogram. */
.hero{background:#F7F7F6;border-bottom:1px solid #E1E2E2;padding:90px 0 90px;min-height:0}
.hero::before,.hero::after{display:none}
.hero-grid{min-height:0;grid-template-columns:minmax(0,1.32fr) minmax(270px,.68fr);gap:8%;align-items:center}
.hero-content{padding-right:0}
.hero h1{font-size:clamp(47px,5.3vw,70px);font-weight:500;line-height:1.105;letter-spacing:-.026em;max-width:760px;margin:22px 0 24px;color:#25272A}
.hero h1 em{color:var(--editorial-red);font-weight:500;font-style:normal}
.hero-copy{font-size:17px;line-height:1.75;color:#555A5F;max-width:670px;margin-bottom:0}
.hero-cta{margin-top:29px;gap:12px}
.hero .btn{min-height:47px;padding:12px 20px;font-size:13px}
.hero-footnote{color:#787A7E;margin-top:28px;font-size:11px;line-height:1.6}
.hero-footnote .gold-line{background:var(--editorial-red)}
.hero-aside{padding:6px 0 10px;border-top:2px solid var(--editorial-red);align-self:center;color:var(--editorial-ink);background:transparent}
.hero-aside-top{display:flex;justify-content:space-between;gap:12px;padding:19px 0 15px;border-bottom:1px solid var(--editorial-line)}
.hero-aside-kicker,.hero-aside-count,.hero-aside-bottom{font-size:11px;text-transform:uppercase;letter-spacing:.12em;font-weight:700;color:var(--editorial-muted)}
.hero-aside-kicker{color:var(--editorial-red)}
.hero-index a{display:flex;align-items:baseline;gap:13px;padding:13px 0;border-bottom:1px solid #E0E1E1;color:#3D4044;text-decoration:none;transition:color .2s}
.hero-index a:hover{color:var(--editorial-red)}
.hero-index-num{color:var(--editorial-red);font-size:11px;font-weight:700;letter-spacing:.08em;min-width:21px}
.hero-index-name{font-size:15px;line-height:1.3;flex:1}
.hero-index-arrow{font-family:Arial,sans-serif;font-size:14px;color:#92969A}
.hero-aside-bottom{padding-top:18px}
/* Simple single-line expertise banner, not a marketing badge. */
.ribbon{background:#fff;border-bottom:1px solid #ECECEC}
.ribbon-inner{min-height:66px;gap:24px}
.ribbon-title{font-size:10px;letter-spacing:.14em;padding-right:21px}
.ribbon-tags{gap:12px 25px}
.ribbon-tags span{font-size:13px;white-space:normal}
/* VILAF-referenced two-column practice directory / readable editorial content. */
.services-section{background:#fff}
.practice-layout{display:grid;grid-template-columns:224px minmax(0,1fr);gap:clamp(40px,5.6vw,86px);align-items:start}
.practice-sidebar{position:sticky;top:123px;align-self:start}
.practice-sidebar-kicker{display:block;color:var(--editorial-red);font-size:11px;letter-spacing:.14em;font-weight:700;text-transform:uppercase;margin-bottom:13px}
.service-quicklinks{display:flex;flex-direction:column;margin:0;background:none;border:0;border-top:1px solid #C6C8C8;gap:0}
.service-quicklinks a{background:none;border:0!important;border-bottom:1px solid #DFE0E0!important;display:grid;grid-template-columns:25px 1fr;min-height:auto;padding:15px 0;gap:9px;font-size:15px;font-weight:500;color:#484B4E;line-height:1.4}
.service-quicklinks a span{font-size:11px;color:#9A2535;font-weight:700;margin-top:3px}
.service-quicklinks a:hover,.service-quicklinks a.is-active{color:var(--editorial-red);background:none}
.services-grid{display:block}
.service-card,.service-card:nth-child(4),.service-card:nth-child(5){display:block;min-height:0;margin:0;border:0!important;border-top:1px solid #DCDDDE!important;padding:31px 0 46px;box-shadow:none!important;background:transparent;scroll-margin-top:112px}
.service-card:first-child{border-top:2px solid #9A2535!important}
.service-card:last-child{padding-bottom:22px}
.service-card::before{display:none}
.service-card:hover{transform:none!important;box-shadow:none!important}
.service-header{padding:0;margin:0 0 24px;gap:0}
.service-symbol{display:none}
.service-number{font-family:var(--palatino);font-size:12px;line-height:1.4;color:var(--editorial-red);letter-spacing:.11em;font-weight:700;margin-bottom:9px}
.service-card h3{font-size:clamp(26px,2.6vw,33px);line-height:1.18;font-weight:600;margin:0 0 10px;max-width:800px}
.service-card p.service-summary{font-size:16px;line-height:1.72;color:#62666B;max-width:730px}
.service-body{grid-template-columns:minmax(0,1fr) minmax(0,.94fr);gap:35px;border:0}
.service-scope,.service-value,.service-card:nth-child(even) .service-value{padding:0;background:none;border:0}
.service-value{border-left:1px solid #E0E0E0!important;padding-left:32px!important}
.service-label{font-family:var(--palatino);font-size:18px;line-height:1.35;color:var(--editorial-ink);font-weight:600;margin:0 0 14px}
.label-rule{height:15px;width:2px;background:var(--editorial-red)}
.detail-list,.value-bullets{gap:9px}
.detail-list li,.value-bullets li{font-size:15.5px;line-height:1.65;padding-left:17px;color:#575A5F}
.detail-list li::before{width:4px;height:4px;top:.73em;left:0;background:#B5B7B9}
.value-bullets li::before{content:'';width:5px;height:5px;top:.73em;left:0;background:#9A2535}
.service-value .text-link{font-size:14px;border-top:0;text-decoration:underline;text-underline-offset:4px;margin-top:15px;padding:0}
.services-disclaimer{font-size:12.5px;line-height:1.7;margin-top:25px}
/* More restrained secondary sections, with no oversized titles. */
.approach{background:#F8F8F7}
.approach-grid{gap:9%}
.approach-copy p{font-size:16px;line-height:1.78}
.approach-step{grid-template-columns:55px 1fr;padding:23px 0}
.approach-step .step-num{font-size:28px;line-height:1.1}
.approach-step h3{font-size:23px;margin-bottom:4px}
.approach-step p{font-size:15.5px}
.about-section{background:#fff;color:#26282B;border-top:1px solid #E4E4E4;border-bottom:1px solid #E4E4E4}
.about-section::after{display:none}
.about-section h2,.about-section h2 em{color:#26282B;font-weight:600}
.about-section h2 em{color:#9A2535}
.about-section .eyebrow{color:#9A2535}
.about-section p{color:#62666A;font-size:16px}
.value-item{border-color:#E1E2E2;padding:15px 0 19px}
.value-item h3{color:#26282B;font-size:22px}
.value-item p{color:#686B70;font-size:15px}
.value-item .value-icon{border:1px solid #E0E1E1;color:#9A2535}
.owner-section{padding:77px 0}
.owner-layout h2{font-size:clamp(33px,3.4vw,46px);line-height:1.17}
.owner-layout p{font-size:16px}
.owner-card{padding:27px 30px;background:#F8F8F7}
.owner-card h3{font-size:27px}
.faq-grid{gap:10%}
.faq-side p{font-size:16px}
.faq-items summary{font-size:17px!important}
.faq-items p{font-size:15.5px!important}
.contact-section{background:#F7F7F6;padding:88px 0}
.contact-left h2{font-size:clamp(33px,3.4vw,46px);line-height:1.2}
.contact-left>p{font-size:16px}
.email-panel{padding:25px 24px;border-left:2px solid var(--editorial-red)}
.brief-panel{padding:31px 34px}
.brief-list p{font-size:15px}
.footer{border-top:3px solid var(--editorial-red);padding-top:53px}
.footer-grid{padding-bottom:48px}
.footer-copy,.footer-col a{font-size:14px}
/* Policy pages: compact mastheads and readable legal disclosures. */
.policy-shell{padding:58px 0 80px}
.policy-title{font-size:clamp(38px,4.1vw,54px);line-height:1.17;font-weight:600;margin-bottom:13px}
.policy-sub{font-size:16.5px}
.policy-article{box-shadow:none;padding:34px 39px 23px}
.policy-article h2{font-size:25px;font-weight:600}
.policy-article h3{font-size:19px}
.policy-article p,.policy-article li{font-size:16px;line-height:1.75}
@media(max-width:1120px){
 .container{width:min(var(--max),calc(100% - 56px))}
 .desktop-nav{gap:14px}
 .desktop-nav a{font-size:13px}
 .nav-actions{gap:7px}
 .practice-layout{grid-template-columns:195px minmax(0,1fr);gap:36px}
 .hero-grid{gap:5%}
 .service-body{gap:22px}
 .service-value{padding-left:22px!important}
}
@media(max-width:850px){
 html{scroll-padding-top:90px}
 .header-inner{height:72px}
 .mobile-menu{top:72px}
 .hero{padding:69px 0 73px}
 .hero-grid{grid-template-columns:1fr;gap:0}
 .hero h1{font-size:clamp(45px,7vw,63px);max-width:700px}
 .hero-aside{display:none}
 .ribbon-inner{padding:15px 0;min-height:61px}
 .practice-layout{display:block}
 .practice-sidebar{position:static;margin-bottom:30px}
 .service-quicklinks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 22px}
 .service-quicklinks a{font-size:14px;min-height:53px}
 .section-head{display:block;margin-bottom:30px}
 .section-head p{max-width:620px;margin:12px 0 0}
 .section{padding:70px 0}
 .contact-section{padding:73px 0}
}
@media(max-width:580px){
 .container{width:calc(100% - 38px)}
 .header-inner{height:68px}
 .mobile-menu{top:68px}
 .brand-name{font-size:20px}
 .hero{padding:54px 0 57px}
 .hero h1{font-size:clamp(40px,10vw,51px);line-height:1.17;letter-spacing:-.021em;margin:18px 0 19px}
 .hero-copy{font-size:15.5px}
 .hero-cta{gap:10px}
 .hero .btn{min-height:46px}
 .hero-footnote{font-size:11px;margin-top:22px}
 .ribbon{display:none}
 .section{padding:60px 0}
 .section-head h2{font-size:34px}
 .section-head p{font-size:15.5px}
 .practice-sidebar-kicker{font-size:11px}
 .service-quicklinks{display:grid;grid-template-columns:1fr 1fr;gap:0 13px;overflow:visible;padding:0}
 .service-quicklinks a{flex:auto;min-height:0;padding:11px 0;font-size:13.5px;border:0!important;border-bottom:1px solid #E0E1E1!important;background:none;gap:5px;grid-template-columns:23px 1fr}
 .service-card,.service-card:nth-child(4),.service-card:nth-child(5){padding:25px 0 37px;scroll-margin-top:90px}
 .service-header{padding:0;margin-bottom:22px}
 .service-card h3{font-size:27px}
 .service-card p.service-summary{font-size:15.5px}
 .service-body{grid-template-columns:1fr;gap:20px}
 .service-scope,.service-value{padding:0!important}
 .service-value{border:0!important;border-top:1px solid #E6E6E6!important;padding-top:19px!important}
 .service-label{font-size:18px;margin-bottom:10px}
 .detail-list li,.value-bullets li{font-size:15px}
 .approach-step h3{font-size:22px}
 .about-grid{gap:25px}
 .owner-section{padding:60px 0}
 .owner-layout h2{font-size:34px}
 .owner-card{padding:24px 20px}
 .contact-section{padding:62px 0}
 .contact-left h2{font-size:34px}
 .brief-panel{padding:23px 20px}
 .policy-shell{padding:42px 0 63px}
 .policy-title{font-size:36px}
 .policy-article{padding:24px 20px 10px}
 .policy-article h2{font-size:23px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
