/*
Theme Name: Chohan Law
Theme URI: https://nasirchohan.com
Author: Chohan Law Firm
Description: A bespoke editorial WordPress theme for Chohan Law Firm, headquartered in Lahore and serving clients across Pakistan. Responsive, accessible, with practice area pages, blog and enquiry form.
Version: 2.7.0
Requires at least: 6.3
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: chohan-law
*/
:root{--navy:#111d2b;--navy2:#192a3a;--navy3:#243548;--gold:#c6a46b;--gold-light:#edd7b0;--paper:#fff;--ivory:#f7f6f2;--cream:#eeeae2;--ink:#172333;--text:#394451;--muted:#66717d;--line:#e3e1db;--wa:#23774a;--serif:'Cormorant Garamond',Georgia,'Times New Roman',serif;--sans:'DM Sans',Arial,Helvetica,sans-serif;--ease:cubic-bezier(.2,.65,.2,1)}
*,*:before,*:after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:106px;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--ivory);color:var(--text);font:400 16px/1.75 var(--sans);overflow-x:clip}
img,svg{max-width:100%}img{display:block;height:auto}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{font-family:var(--serif);font-weight:600;line-height:1.02;letter-spacing:-.025em;color:var(--ink);text-wrap:balance}h1 em,h2 em,h3 em{font-weight:500}::selection{background:var(--gold-light);color:var(--navy)}
.container{width:min(100% - 64px,1264px);margin-inline:auto}
.i{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
:focus-visible{outline:3px solid var(--gold);outline-offset:4px}
.skip,.screen-reader-text{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.skip:focus{left:16px;top:16px;width:auto;height:auto;padding:12px 20px;background:#fff;color:#111;z-index:200}
.eyebrow,.kicker{font:700 11px/1.4 var(--sans);text-transform:uppercase;letter-spacing:.19em;color:#927241;display:inline-flex;align-items:center;gap:12px}
.eyebrow-rule{width:30px;height:1px;background:currentColor;display:inline-block}
.eyebrow-light{color:var(--gold-light)}
.btn{display:inline-flex;justify-content:center;align-items:center;gap:23px;min-height:52px;padding:0 22px;border:1px solid transparent;border-radius:2px;background:transparent;color:inherit;font:700 12px/1.2 var(--sans);text-transform:uppercase;letter-spacing:.075em;transition:background .2s,color .2s,border .2s,transform .2s;white-space:nowrap;text-align:center}
.btn .i{width:17px;height:17px;transition:transform .2s}
.btn:hover .i,.text-link:hover .i{transform:translateX(4px)}
.btn-primary,.btn-gold,.btn-accent{background:var(--gold);color:var(--navy);border-color:var(--gold)}
.btn-primary:hover,.btn-gold:hover,.btn-accent:hover{background:var(--gold-light);border-color:var(--gold-light)}
.btn-ghost,.btn-line{border-color:rgba(255,255,255,.32);color:#fff}
.btn-ghost:hover,.btn-line:hover{background:rgba(255,255,255,.1);border-color:#fff}
.btn-outline,.btn-dark{border-color:var(--navy);color:var(--navy)}
.btn-outline:hover,.btn-dark:hover{background:var(--navy);color:#fff}
.btn-wa{background:var(--wa);color:#fff}.btn-wa:hover{background:#195a36}
.btn-sm{min-height:44px;padding:0 20px}
.text-link{display:inline-flex;align-items:center;gap:15px;padding-bottom:8px;border-bottom:1px solid currentColor;color:var(--navy);font-size:12px;line-height:1.5;font-weight:700;text-transform:uppercase;letter-spacing:.065em;white-space:nowrap}
.text-link .i{width:17px;height:17px;transition:transform .2s}

/* Navigation */
.topbar{background:#0d1825;color:#bfc8ce;font-size:11px;letter-spacing:.07em}
.topbar-inner,.topbar-right{display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:36px}
.topbar-left,.topbar-right>a,.topbar-right>span{display:inline-flex;align-items:center;gap:9px}
.topbar .i{width:13px;height:13px;color:var(--gold)}.topbar a:hover{color:#fff}
.topbar-dot{width:5px;height:5px;border-radius:50%;background:var(--gold)}
.site-header{position:sticky;top:0;z-index:60;background:rgba(250,249,246,.98);border-bottom:1px solid #e9e6de;transition:box-shadow .25s;backdrop-filter:blur(14px)}
.site-header.on{box-shadow:0 8px 26px rgba(10,21,32,.07)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:89px}
.brand{display:flex;align-items:center;gap:13px;flex:none;min-width:0}
.brand-symbol{width:46px;height:46px;border:1.5px solid var(--gold);display:flex;align-items:center;justify-content:center;position:relative;transform:rotate(-4deg)}
.brand-symbol:after{content:'';position:absolute;inset:5px;border:1px solid rgba(198,164,107,.5)}
.brand-symbol span{font-family:var(--serif);font-size:26px;font-weight:700;line-height:1;color:var(--navy);letter-spacing:-.2em;margin-left:-4px;position:relative;z-index:1}
.brand-symbol span+span{margin-top:8px;font-size:20px;color:#a68147}
.brand-wordmark strong{font:700 24px/1 var(--serif);letter-spacing:.012em;display:block;color:var(--navy)}.brand-wordmark strong em{font-style:normal;color:#a28251}
.brand-wordmark small{display:block;font:700 8px/1.5 var(--sans);letter-spacing:.15em;color:#707782;margin-top:6px}
.custom-logo{width:auto;max-height:62px;max-width:240px}
.nav{margin-left:auto}.nav ul{display:flex;align-items:center;gap:clamp(15px,2.2vw,33px);padding:0;margin:0;list-style:none}
.nav a{display:block;position:relative;font-weight:600;font-size:12px;color:#384552;padding:15px 0;white-space:nowrap;transition:color .18s}
.nav a:after{content:'';position:absolute;height:1px;background:#b28e55;bottom:7px;left:0;right:100%;transition:right .2s}
.nav a:hover,.nav .current-menu-item>a,.nav .current_page_item>a{color:#94713a}
.nav a:hover:after,.nav .current-menu-item>a:after,.nav .current_page_item>a:after{right:0}
.hdr-r{display:flex;align-items:center;gap:14px}.header-call{width:38px;height:38px;display:flex;align-items:center;justify-content:center;color:var(--navy);border-left:1px solid var(--line);padding-left:12px}
.header-cta{min-height:45px;font-size:10px;padding:0 17px;gap:12px}
.burger{display:none;align-items:center;justify-content:center;border:1px solid #c8c6c0;width:43px;height:43px;background:transparent;color:var(--navy);border-radius:2px}
.mnav{display:none;background:#f9f8f4;box-shadow:0 20px 40px rgba(0,0,0,.08)}
.mnav ul{list-style:none;padding:0;margin:0}.mnav li{border-bottom:1px solid var(--line)}
.mnav li a{display:block;padding:13px max(25px,calc((100vw - 1264px)/2));font-weight:600;font-size:14px}
.mnav-cta{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 25px;background:var(--navy);color:#fff;font-size:13px;font-weight:700}
.mnav-cta .i{width:17px}

/* Hero */
.hero{background:var(--navy);color:#fff;position:relative;isolation:isolate;overflow:hidden}
.hero:before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 65% 95% at 83% 25%,rgba(86,105,116,.16),transparent 70%),linear-gradient(95deg,rgba(9,18,29,.04),rgba(20,40,56,.28));pointer-events:none;z-index:-1}
.hero-pattern{position:absolute;width:420px;height:420px;right:-130px;top:25px;border:1px solid rgba(198,164,107,.13);transform:rotate(45deg);pointer-events:none}
.hero-pattern:after{content:'';position:absolute;inset:42px;border:1px solid rgba(198,164,107,.12)}
.hero-grid{min-height:610px;display:grid;grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr);gap:clamp(28px,5.8vw,82px);position:relative}
.hero-copy{padding:83px 0 79px;display:flex;align-items:flex-start;flex-direction:column;justify-content:center;position:relative;z-index:2}
.hero h1{font-size:clamp(62px,6.9vw,108px);line-height:.925;letter-spacing:-.04em;color:#fff;max-width:775px;margin-top:29px;font-weight:600}
.hero h1 em{color:var(--gold-light)}
.hero-lead{font-size:15px;line-height:1.85;color:#bac4cc;max-width:540px;margin-top:24px}
.hero-cta{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:31px}
.hero-cta .btn{min-height:54px}
.hero-caption{display:flex;align-items:center;gap:17px;color:#bdc7cf;font-size:10px;letter-spacing:.13em;text-transform:uppercase;margin-top:64px}
.hero-caption-line{height:1px;width:34px;background:var(--gold)}
.hero-visual{position:relative;align-self:stretch;min-height:565px;display:flex;align-items:flex-end;padding:50px 2px 0}
.hero-visual-outline{position:absolute;top:59px;right:0;bottom:82px;left:27px;border:1px solid rgba(198,164,107,.6);border-bottom:0;pointer-events:none;z-index:1}
.hero-portrait{display:block;position:relative;width:100%;height:calc(100% - 6px);max-height:585px;min-height:465px;object-fit:cover;object-position:50% 20%;filter:saturate(.86);border-radius:200px 200px 0 0;box-shadow:inset 0 0 20px #000}
.hero-visual:after{content:'';position:absolute;inset:auto 2px 0;pointer-events:none;height:31%;background:linear-gradient(to top,var(--navy) -8%,transparent 100%);z-index:1}
.hero-visual-label{position:absolute;bottom:35px;left:-24px;z-index:3;background:var(--paper);color:var(--text);padding:20px 24px 19px;width:min(88%,310px);box-shadow:0 20px 44px rgba(0,0,0,.18)}
.hero-visual-label .eyebrow{font-size:9px;color:#9c7840}.hero-visual-label strong{display:block;font:600 31px/1.05 var(--serif);color:var(--navy);margin:8px 0 4px}.hero-visual-label>span:last-child{font-size:11px;line-height:1.4;color:#64717a}
.hero-visual-number{font:600 12px var(--sans);position:absolute;right:-12px;bottom:50px;color:var(--gold);z-index:3;writing-mode:vertical-rl;letter-spacing:.2em}.hero-visual-number span{color:#697987;margin:0 3px}
.hero-bottom{position:relative;border-top:1px solid rgba(255,255,255,.1);z-index:3}
.hero-bottom-inner{display:flex;align-items:center;justify-content:space-between;min-height:45px;color:#9eacb7;font-size:10px;letter-spacing:.15em;text-transform:uppercase}
.hero-bottom-inner a{display:inline-flex;align-items:center;gap:10px}.hero-bottom-inner a:hover{color:#fff}.hero-bottom-inner .i{width:15px;height:15px}.hero-bottom-center{color:var(--gold)}
.assurance{background:var(--paper);border-bottom:1px solid var(--line)}
.assurance-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.assurance-item{display:flex;gap:20px;align-items:flex-start;padding:28px 30px;border-left:1px solid var(--line)}.assurance-item:first-child{border-left:0;padding-left:0}
.assurance-index{font-size:11px;font-weight:700;letter-spacing:.05em;color:#b18d54;white-space:nowrap;margin-top:3px}
.assurance-item strong{display:block;font:700 13px/1.4 var(--sans);color:var(--ink);margin-bottom:4px}.assurance-item div>span{display:block;color:var(--muted);font-size:12px;line-height:1.6}

/* Editorial sections */
.sec{padding:clamp(72px,8vw,118px) 0}
.sec.alt{background:var(--paper)}
.section-heading{margin-bottom:42px}.section-heading h2,.statement-content h2,.faq-layout h2{font-size:clamp(48px,5.1vw,76px);line-height:.97;margin-top:20px;letter-spacing:-.04em}
.section-heading h2 em,.statement-content h2 em,.faq-layout h2 em{font-style:italic;color:#967449}
.section-heading-split{display:grid;grid-template-columns:1.1fr .58fr;align-items:end;gap:50px}
.section-heading-split>div:last-child:not(:first-child),.section-heading-split>p{max-width:365px;justify-self:end}
.section-heading p,.section-heading-split>p,.faq-layout>div>p{line-height:1.85;color:var(--muted);font-size:15px}
.section-heading .text-link{margin-top:23px}
.practice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:#dfe0dc;border:1px solid #dfe0dc}
.practice-card{position:relative;background:#fff;min-height:263px;padding:28px 30px 25px;display:flex;flex-direction:column;gap:20px;justify-content:space-between;transition:background .25s}
.practice-card:before{content:'';position:absolute;left:0;top:0;right:0;height:3px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .25s}
.practice-card:hover{background:#fbfaf6}.practice-card:hover:before{transform:scaleX(1)}
.practice-card-top{display:flex;justify-content:space-between;align-items:start}
.practice-count{font-size:11px;color:#a0a6aa;font-weight:700;letter-spacing:.13em}
.practice-icon{display:inline-flex;align-items:center;justify-content:center;color:#a28354}.practice-icon .i{width:30px;height:30px;stroke-width:1.25}
.practice-card-content strong{display:block;color:var(--ink);font:600 30px/1 var(--serif);margin-bottom:12px}
.practice-card-content>span{color:#6b7580;font-size:13px;line-height:1.75;display:block;max-width:315px}
.practice-card-bottom{padding-top:13px;border-top:1px solid #eeeae3;color:#92703e;text-transform:uppercase;letter-spacing:.08em;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:space-between;gap:15px}
.practice-arrow{display:inline-flex}.practice-arrow .i{width:19px;height:19px;transition:transform .2s}.practice-card:hover .practice-arrow .i{transform:translateX(5px)}
.statement-section{background:#eceae3;padding:clamp(70px,8vw,115px) 0}
.statement-grid{display:grid;grid-template-columns:.93fr 1.07fr;gap:clamp(55px,8vw,125px);align-items:center}
.statement-image{position:relative;min-width:0;isolation:isolate}
.statement-image:before{content:'';position:absolute;inset:-22px 25px 25px -22px;border:1px solid rgba(159,123,67,.65);z-index:-1}
.statement-image img{width:100%;aspect-ratio:4/4.2;object-fit:cover;object-position:center;filter:saturate(.76);box-shadow:0 15px 50px rgba(14,25,34,.12)}
.statement-image-caption{display:flex;align-items:center;gap:12px;margin-top:17px;color:#7a807f;font-size:10px;font-weight:700;letter-spacing:.12em}
.statement-image-caption .caption-line{width:28px;height:1px;background:#967449}
.statement-content h2{max-width:600px;margin-bottom:25px}.statement-content>p{color:#56616a;font-size:15px;line-height:1.9;margin-bottom:17px;max-width:590px}.statement-content>.btn{margin-top:13px}
.signature-strip{border-top:1px solid #d1ccc0;margin-top:40px;padding-top:23px;display:flex;gap:14px;align-items:center}
.signature-monogram{font:italic 600 33px/1 var(--serif);color:#9a7948;min-width:57px}.signature-strip strong{display:block;font:600 21px/1.1 var(--serif);color:var(--navy)}.signature-strip small{display:block;font-size:11px;color:#7d878e;margin-top:4px}
.process-section{background:var(--navy);color:#c8d0d5;position:relative;overflow:hidden}
.process-section:after{content:'§';font:600 700px/1 var(--serif);position:absolute;right:-65px;top:-130px;color:rgba(255,255,255,.018);pointer-events:none}
.process-section .section-heading{position:relative;z-index:1}.process-section h2{color:#fff}.process-section h2 em{color:var(--gold-light)}.process-section .section-heading p{color:#aab7c1}
.process-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,1fr);gap:36px}
.process-step{display:flex;flex-direction:column;align-items:flex-start}.process-number{font:500 64px/1 var(--serif);color:var(--gold-light)}.process-divider{width:100%;height:1px;background:rgba(255,255,255,.21);margin:16px 0 22px;position:relative}.process-divider:before{content:'';width:30px;height:2px;background:var(--gold);display:block}.process-step h3{color:#fff;font-size:30px;margin-bottom:12px}.process-step p{font-size:13px;color:#aeb9c2;line-height:1.85;max-width:320px}
.faq-section{background:var(--paper)}.faq-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(60px,9vw,135px)}.faq-layout h2{margin-bottom:22px}.faq-layout>div>p{max-width:315px;margin-bottom:25px}
.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:15px;list-style:none;padding:21px 4px;font-size:15px;font-weight:700;line-height:1.5;color:var(--ink);cursor:pointer}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary>span{color:#a27d47;font:300 27px/1 var(--sans);transition:transform .2s}.faq-list details[open] summary>span{transform:rotate(45deg)}.faq-list details p{color:#68727b;line-height:1.8;font-size:14px;max-width:580px;padding:0 28px 23px 4px}
.insights-section{background:var(--ivory)}.insights-section .section-heading-split{align-items:end}.insights-section .section-heading>.text-link{justify-self:end}
/* Shared page headings and grids */
.pagehead{background:var(--navy);color:#c8d0d7;padding:clamp(56px,6vw,93px) 0;position:relative;overflow:hidden}
.pagehead:after{content:'';position:absolute;right:-90px;top:-200px;width:550px;height:550px;border:1px solid rgba(198,164,107,.13);transform:rotate(45deg)}
.pagehead .container{position:relative;z-index:1}.pagehead h1{font-size:clamp(54px,6.5vw,93px);color:#fff;margin:16px 0;max-width:940px}.pagehead p{font-size:15px;color:#b7c3c9;max-width:650px}
.crumbs{font-size:11px;color:var(--gold-light);text-transform:uppercase;letter-spacing:.1em}.crumbs a:hover{color:#fff}
.grid{display:grid;gap:24px}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
.pcard{background:#fff;border:1px solid var(--line);padding:29px 24px;min-height:256px;display:flex;flex-direction:column;align-items:flex-start;gap:13px;transition:transform .2s,box-shadow .2s}
.pcard:hover{transform:translateY(-5px);box-shadow:0 16px 38px rgba(15,26,37,.08)}.pico{width:53px;height:53px;display:grid;place-items:center;border:1px solid #d5bf9c;color:#9a7741;background:#faf8f3}.pico .i{width:26px;height:26px}.pcard h3{font-size:29px}.pcard p{font-size:13px;color:var(--muted);line-height:1.75}.more{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:#997647;margin-top:auto}.more .i{width:17px}
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(42px,6vw,90px);align-items:center}.split h2{font-size:clamp(42px,5vw,65px)!important;margin:15px 0 20px!important}.split p{line-height:1.9}.photo{position:relative;z-index:1}.photo img{width:100%;object-fit:cover;box-shadow:0 16px 38px rgba(15,26,37,.12)}.photo:after{content:'';position:absolute;inset:-15px 17px 17px -15px;border:1px solid var(--gold);z-index:-1}.ticks{list-style:none;margin:26px 0;padding:0;display:grid;gap:13px}.ticks li{display:flex;gap:13px;align-items:flex-start;font-size:14px}.ticks .i{color:#a98752;width:19px;height:19px;margin-top:3px}
.band{background:var(--navy);padding:clamp(35px,5vw,70px);position:relative;display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center;overflow:hidden}
.band:after{content:'';position:absolute;width:330px;height:330px;border:1px solid rgba(198,164,107,.16);transform:rotate(45deg);right:-190px;top:-150px;pointer-events:none}.band h2{font-size:clamp(40px,4.4vw,61px);color:#fff}.band p{font-size:14px;color:#bec8d0;max-width:600px;margin-top:13px}.band .hero-cta{margin-top:0;position:relative;z-index:1}
/* Blog */
.layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:clamp(25px,4vw,60px);align-items:start}.posts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.post-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);overflow:hidden;transition:transform .2s,box-shadow .2s}.post-card:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(12,22,33,.08)}
.thumb{aspect-ratio:16/10;background:var(--navy);color:var(--gold);display:flex;align-items:center;justify-content:center}.thumb img{width:100%;height:100%;object-fit:cover}.thumb>.i{width:46px;height:46px}
.pc-body{padding:23px 24px;display:flex;flex-direction:column;gap:12px;flex:1}.pc-body h3{font-size:29px}.pc-body h3 a:hover{color:#a57b41}.pc-body p{color:var(--muted);font-size:13px;line-height:1.7}.meta{display:flex;flex-wrap:wrap;gap:12px;color:#81909b;font-size:11px}.cat{text-transform:uppercase;letter-spacing:.11em;font-size:10px;font-weight:700;color:#a27f49}
.pagination .nav-links{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:39px}.page-numbers{min-width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;padding:0 10px;border:1px solid var(--line);background:#fff}.page-numbers.current,.page-numbers:hover{background:var(--navy);color:#fff}
.widget,aside .widget{padding:26px;background:#fff;border:1px solid var(--line);margin-bottom:22px}.widget h2,.widget-title{font:600 29px/1.1 var(--serif);color:var(--ink);border-bottom:1px solid var(--line);padding-bottom:15px;margin-bottom:15px}.widget ul{list-style:none;margin:0;padding:0}.widget li{font-size:13px;padding:10px 0;border-bottom:1px solid var(--line)}.widget li:last-child{border:0}.widget a:hover{color:#997647}.widget .post-date{display:block;font-size:11px;color:var(--muted)}
.w-cta{background:var(--navy)!important;border-color:var(--navy)!important;color:#fff}.w-cta .widget-title{color:#fff;border-color:rgba(255,255,255,.2)}.w-cta p{color:#b5c1c9;font-size:13px;margin-bottom:20px}.w-cta .btn{width:100%;margin-top:10px}
.search-form{display:flex;gap:8px}.search-form label{flex:1}.search-submit{border:0;background:var(--navy);color:#fff;padding:0 18px;font-size:12px;font-weight:700}
.article{background:#fff;padding:clamp(24px,4vw,50px);border:1px solid var(--line)}.article .feat{overflow:hidden;margin-bottom:28px}.article .feat img{width:100%}
.entry{overflow-wrap:break-word}.entry>*+*{margin-top:1.25em}.entry h2{font-size:43px;margin-top:1.5em}.entry h3{font-size:33px;margin-top:1.35em}.entry h4{font-size:26px;margin-top:1.35em}.entry a{text-decoration:underline;text-underline-offset:4px;color:#987443}.entry ul,.entry ol{padding-left:1.3em}.entry li{margin:.3em 0}.entry blockquote{font:italic 600 29px/1.35 var(--serif);border-left:3px solid var(--gold);padding-left:24px;margin:28px 0}.entry img{max-width:100%;height:auto}.entry table{border-collapse:collapse;width:100%}.entry td,.entry th{border:1px solid var(--line);padding:10px}.entry pre{max-width:100%;overflow:auto}.entry figure{max-width:100%}
.share{display:flex;align-items:center;gap:12px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:24px;margin-top:30px;font-size:12px;font-weight:700;text-transform:uppercase}.share a,.share button{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid var(--line);color:var(--navy);background:#fff}.share a:hover,.share button:hover{background:var(--navy);color:#fff}.author{background:#fff;border:1px solid var(--line);padding:25px;display:flex;gap:20px;align-items:center;margin-top:26px}.author img{width:88px;height:88px;object-fit:cover;border-radius:50%}.author b{font:600 26px/1 var(--serif);color:var(--ink)}.author p{font-size:12px;line-height:1.65;margin-top:5px}.notice{font-size:12px;line-height:1.7;border-left:2px solid var(--gold);padding-left:15px;color:var(--muted);margin-top:18px}.comments{margin-top:30px}.comment-list{list-style:none;padding:0}.comment-body{background:#fff;border:1px solid var(--line);padding:22px;margin:15px 0}.comment-form p{margin-bottom:16px}.comment-form .submit{padding:13px 24px;border:0;background:var(--navy);color:#fff}
/* Contact */
.ccards{display:grid;gap:13px}.ccard{display:flex;align-items:center;gap:16px;background:#fff;border:1px solid var(--line);padding:18px}.ccard .pico{width:49px;height:49px;flex:none}.ccard b{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#9d7d50;display:block}.ccard div>span{font-size:15px;font-weight:600;color:var(--ink);overflow-wrap:anywhere;display:block}.ccard:hover:not(div){border-color:#b4a185}.map{margin-top:19px;overflow:hidden;border:1px solid var(--line)}.map iframe{display:block;width:100%;height:315px;border:0}
.form{background:#fff;border:1px solid var(--line);padding:clamp(22px,4vw,40px);display:grid;grid-template-columns:1fr 1fr;gap:19px}.form>.w{grid-column:1/-1}.form label{display:block;font-size:12px;font-weight:700;margin-bottom:7px;color:#404b54}.form input,.form select,.form textarea,.search-field,.comment-form input,.comment-form textarea{width:100%;border:1px solid #d9ddd9;background:#fbfaf8;color:var(--ink);min-height:48px;padding:12px 14px;border-radius:1px;max-width:100%;font:inherit;font-size:14px}.form input:focus,.form select:focus,.form textarea:focus{border-color:#aa8b59;outline:2px solid #e7d7b7;outline-offset:0}.form textarea{min-height:145px;resize:vertical}.form .btn{cursor:pointer}.hp{position:absolute;left:-9999px;top:auto}.alert{grid-column:1/-1;padding:12px 15px;font-size:13px}.alert.ok{background:#e3eee5;color:#225c37}.alert.no{background:#fbe4e2;color:#8d3429}
/* Footer */
.site-footer{background:#0d1825;color:#b0bcc5;padding:79px 0 22px}.fgrid{display:grid;grid-template-columns:1.5fr 1fr .85fr 1.05fr;gap:clamp(24px,4vw,60px)}
.site-footer .brand-symbol span{color:#f1e3c6}.site-footer .brand-symbol span+span{color:var(--gold)}.site-footer .brand-wordmark strong{color:#fff}.site-footer .brand-wordmark small{color:#aab5be}.site-footer .brand p{max-width:320px}
.site-footer h4{font:600 23px/1.2 var(--serif);color:#fff;margin-bottom:22px}.site-footer ul{list-style:none;margin:0;padding:0}.site-footer li{margin-bottom:9px;font-size:12px;line-height:1.75}.site-footer a:hover{color:var(--gold)}.site-footer p{font-size:13px;line-height:1.85}.social{display:flex;gap:9px}.social a{width:37px;height:37px;border:1px solid rgba(255,255,255,.25);display:flex;align-items:center;justify-content:center}.social .i{width:17px;height:17px}.social a:hover{border-color:var(--gold)}
.legal{border-top:1px solid rgba(255,255,255,.14);padding-top:23px;margin-top:59px;display:flex;justify-content:space-between;align-items:flex-start;gap:25px;color:#7f8d99}.legal p{font-size:10px;max-width:800px}.mbar{display:none}
/* Misc */
.e404{text-align:center;padding:100px 0}.e404 h1{font-size:clamp(90px,16vw,200px);color:var(--gold)}.facts{display:grid;grid-template-columns:repeat(2,1fr);gap:15px;margin-top:26px}.fact{padding:22px;background:#fff;border:1px solid var(--line)}.fact b{font:600 26px var(--serif);display:block}.fact span{font-size:12px;color:var(--muted)}
/* Responsive */
@media(max-width:1180px){.nav ul{gap:17px}.brand-wordmark strong{font-size:21px}.header-inner{gap:14px}.header-cta{font-size:9px;padding:0 12px}.hero-grid{gap:30px}.hero h1{font-size:clamp(57px,7vw,88px)}}
@media(max-width:1000px){.nav,.header-cta{display:none}.burger{display:inline-flex}.mnav.open{display:block}.header-inner{min-height:76px}.topbar-right>span{display:none}.hero-grid{min-height:570px;grid-template-columns:1.1fr .9fr}.hero h1{font-size:clamp(54px,7.5vw,76px)}.hero-copy{padding-top:65px;padding-bottom:55px}.hero-visual{min-height:525px}.hero-caption{margin-top:35px}.hero-visual-label{left:-10px}.assurance-item{padding-inline:20px}.practice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.g4{grid-template-columns:repeat(2,minmax(0,1fr))}.statement-grid{gap:45px}.statement-content h2{font-size:clamp(45px,5.5vw,65px)}.fgrid{grid-template-columns:repeat(2,1fr)}.layout{grid-template-columns:minmax(0,1fr) 260px;gap:24px}}
@media(max-width:760px){.container{width:min(100% - 40px,1264px)}.topbar-inner{min-height:34px}.topbar-right{display:none}.hero-grid{grid-template-columns:1fr;gap:0}.hero-copy{padding:63px 0 30px}.hero h1{font-size:clamp(60px,11vw,86px);max-width:690px}.hero-lead{font-size:15px}.hero-visual{min-height:470px;height:470px;max-width:520px;width:100%;margin-inline:auto;padding:20px 0 0}.hero-visual-outline{top:25px;bottom:48px;left:30px;right:10px}.hero-portrait{min-height:0;max-height:none;height:100%;width:100%;object-position:50% 12%}.hero-visual-label{bottom:26px;left:0}.hero-visual-number{right:4px;bottom:48px}.hero-caption{margin-top:36px}.hero-bottom-center{display:none}.assurance-grid{grid-template-columns:1fr}.assurance-item{padding:16px 0;border-left:0;border-bottom:1px solid var(--line)}.assurance-item:last-child{border-bottom:0}.section-heading-split,.statement-grid,.faq-layout,.split,.layout{grid-template-columns:1fr;gap:26px}.section-heading-split>div:last-child:not(:first-child),.section-heading-split>p{justify-self:start;max-width:600px}.section-heading h2,.statement-content h2,.faq-layout h2{font-size:clamp(49px,8.5vw,68px)}.statement-section{padding:70px 0}.statement-image{max-width:620px}.statement-image img{aspect-ratio:4/3}.process-grid{grid-template-columns:1fr;gap:35px}.process-step{display:grid;grid-template-columns:90px 1fr;gap:0 15px;align-items:center}.process-number{grid-column:1;grid-row:1 / 3}.process-divider{display:none}.process-step h3{grid-column:2;margin:0 0 5px}.process-step p{grid-column:2}.faq-layout{gap:45px}.g3,.posts{grid-template-columns:repeat(2,1fr)}.band{grid-template-columns:1fr;gap:24px}.band .hero-cta{margin:0}.fgrid{gap:35px}.legal{flex-direction:column}.mbar{display:grid;grid-template-columns:1fr 1fr;position:fixed;bottom:0;left:0;right:0;z-index:75;box-shadow:0 -3px 20px rgba(0,0,0,.13)}.mbar a{display:flex;justify-content:center;align-items:center;gap:8px;min-height:53px;font-size:13px;font-weight:700;color:#fff}.mbar a:first-child{background:var(--navy2)}.mbar a:last-child{background:var(--wa)}.mbar .i{width:17px;height:17px}body{padding-bottom:53px}}
@media(max-width:520px){.container{width:calc(100% - 36px)}.header-inner{min-height:72px}.brand-symbol{width:39px;height:39px}.brand-symbol span{font-size:23px}.brand-wordmark strong{font-size:21px}.brand-wordmark small{font-size:7px}.header-call{display:none}.hero-copy{padding-top:50px}.hero h1{font-size:clamp(53px,11.2vw,70px);margin-top:22px}.hero-cta{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:9px}.hero-cta .btn{white-space:normal;font-size:10px;padding:12px 9px;gap:8px;min-height:52px}.hero-cta .btn .i{width:15px;height:15px}.hero-caption{font-size:9px;letter-spacing:.04em;margin-top:30px}.hero-visual{height:390px;min-height:390px}.hero-visual-label{padding:14px 18px;width:245px}.hero-visual-label strong{font-size:26px}.hero-bottom-inner{font-size:9px}.hero-bottom-inner>a{font-size:0}.hero-bottom-inner>a .i{width:17px;height:17px}.practice-grid,.g4,.g3,.posts,.fgrid,.form,.facts{grid-template-columns:1fr}.practice-card{min-height:218px;padding:23px}.practice-card-content strong{font-size:29px}.section-heading h2,.statement-content h2,.faq-layout h2{font-size:clamp(47px,11.3vw,62px)}.sec{padding:65px 0}.statement-content h2{margin-bottom:18px}.statement-image:before{inset:-11px 14px 14px -11px}.process-step{grid-template-columns:68px 1fr}.process-number{font-size:52px}.process-step h3{font-size:28px}.faq-list summary{font-size:14px}.pagehead h1{font-size:clamp(50px,12vw,73px)}.band{padding:32px 25px}.band h2{font-size:43px}.band .hero-cta{display:grid;grid-template-columns:1fr}.form{gap:12px}.form .btn{width:100%}.ccard div>span{font-size:13px}.author{flex-direction:column;text-align:center}.legal{margin-top:35px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Contact pages use a wider form than editorial articles. */
.contact-layout{grid-template-columns:minmax(0,.84fr) minmax(0,1.16fr)}
@media(max-width:760px){.contact-layout{grid-template-columns:1fr}}

.footer-description{margin:22px 0;max-width:340px}
.about-biography{margin-top:18px}.about-court-photo{max-width:455px;justify-self:center;width:100%}.about-court-photo img{max-height:580px;object-position:center 20%}

.form-intro{margin-bottom:6px}.form-intro h2{font-size:clamp(35px,3.7vw,50px);margin:12px 0 9px}.form-intro p{font-size:13px;line-height:1.75;color:var(--muted)}

/* Nationwide presence / locations: editorial grid, responsive and accessible */
.office-network{background:#f0eee8;border-top:1px solid #e0ded7;border-bottom:1px solid #e0ded7}
.office-network-intro{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);gap:clamp(28px,6vw,92px);align-items:end;margin-bottom:43px}
.office-network-intro h2{font-size:clamp(45px,5.2vw,78px);line-height:.98;letter-spacing:-.04em;margin:20px 0 0;max-width:740px}
.office-network-intro h2 em{color:#987449}.office-network-aside p{color:#5e6870;font-size:14px;line-height:1.85;margin-bottom:23px}
.office-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.office-card{background:#fff;border:1px solid #dedbd1;min-width:0;min-height:335px;padding:27px 25px 23px;display:flex;flex-direction:column;transition:border-color .2s,transform .2s,box-shadow .2s}
.office-card:hover{border-color:#b49b74;transform:translateY(-2px);box-shadow:0 12px 22px rgba(13,24,37,.05)}
.office-card--main{background:#142231;border-color:#142231;color:#e8e7e0}
.office-card-top{display:flex;justify-content:space-between;gap:10px;align-items:center;padding-bottom:34px;border-bottom:1px solid rgba(23,35,51,.13)}
.office-card--main .office-card-top{border-color:rgba(255,255,255,.18)}
.office-card-number{font:700 10px var(--sans);color:#a58454;letter-spacing:.13em}
.office-card-type{font:700 10px var(--sans);letter-spacing:.085em;text-transform:uppercase;color:#7e827e;text-align:right}
.office-card--main .office-card-type{color:#decaa5}
.office-card h3{font:600 clamp(35px,3vw,48px)/1 var(--serif);letter-spacing:-.03em;margin-top:23px;margin-bottom:16px;color:#162431}
.office-card--main h3{color:#fff}.office-card p{font-size:12px;color:#626a70;line-height:1.7;margin-bottom:10px;min-height:62px;overflow-wrap:anywhere}
.office-card--main p{color:#d3d8db}.office-card-note{font:500 11px/1.65 var(--sans);color:#9a774d}
.office-card--main .office-card-note{color:#ead6b1}
.office-card-action{display:flex;justify-content:space-between;align-items:center;gap:12px;font:700 10px/1.4 var(--sans);text-transform:uppercase;letter-spacing:.055em;border-top:1px solid rgba(23,35,51,.14);padding-top:19px;margin-top:auto;color:#182838}
.office-card--main .office-card-action{color:#fff;border-color:rgba(255,255,255,.2)}
.office-card-action .i{width:15px;height:15px;flex:none}.office-card-action:hover{color:#a17f47}
.office-network-footnote{font-size:12px;color:#6f7779;margin-top:25px;max-width:840px;line-height:1.65}
.service-reach{font-size:13px;line-height:1.8;color:#546473;border-left:3px solid var(--gold);padding:12px 17px;background:#f7f4ed;margin-bottom:25px}
.footer-network{border-top:1px solid rgba(255,255,255,.14);margin-top:43px;padding:24px 0 4px;display:flex;justify-content:space-between;gap:25px;align-items:center}
.footer-network-label{font:700 10px var(--sans);color:var(--gold-light);text-transform:uppercase;letter-spacing:.17em}
.footer-network p{font-size:12px;color:#9eacb7;margin-top:8px}.footer-network ul{display:flex;align-items:center;flex-wrap:wrap;gap:7px 20px}
.footer-network li{font-size:11px;margin:0!important;color:#d0d9df}.footer-network li+li:before{content:'·';margin-right:20px;color:var(--gold)}
@media(max-width:1100px){.office-list{grid-template-columns:repeat(2,minmax(0,1fr))}.office-card{min-height:290px}.office-card p{min-height:0}.office-card-top{padding-bottom:22px}}
@media(max-width:760px){.office-network-intro{grid-template-columns:1fr;gap:22px;margin-bottom:29px}.office-network-intro h2{font-size:clamp(48px,8vw,67px)}.footer-network{flex-direction:column;align-items:flex-start}}
@media(max-width:520px){.office-list{grid-template-columns:1fr}.office-card{min-height:250px;padding:25px}.office-card-top{padding-bottom:13px}.office-card h3{margin:20px 0 11px}.office-card p{margin-bottom:13px}.office-network-intro h2{font-size:clamp(44px,11vw,58px)}.footer-network li+li:before{margin-right:12px}.footer-network ul{gap:7px 12px}}

/* v2.3 — improved type scale, contrast and consistent WhatsApp brand icon. */
body{font-size:17px;line-height:1.72}
:root{--muted:#566371}
.i-whatsapp{fill:currentColor!important;stroke:none!important;stroke-width:0!important}
.nav a{font-size:14px;letter-spacing:.005em}
.topbar,.topbar-left{font-size:12px;letter-spacing:.02em}
.eyebrow,.kicker{font-size:12px;letter-spacing:.12em}
.btn{font-size:13px;letter-spacing:.035em;gap:12px}
.btn .i-whatsapp{width:19px;height:19px;transform:none!important}
.text-link{font-size:13px;white-space:normal}
.hero-lead{font-size:16px;line-height:1.85;color:#d3dce4}
.hero-caption{font-size:12px;line-height:1.65;letter-spacing:.06em}
.hero-visual-label>span:last-child{font-size:13px;color:#4d5b68}
.brand-wordmark small{font-size:10px;letter-spacing:.07em}
.site-footer li,.site-footer p{font-size:14px;line-height:1.75}
.site-footer .legal p{font-size:12px;line-height:1.7;color:#c0cad1}
.footer-whatsapp{display:inline-flex;align-items:center;gap:9px}.footer-whatsapp .i{height:19px;width:19px;color:#74d69b}
.ccard b,.form label{font-size:13px;line-height:1.5}.ccard div>span{font-size:15px;line-height:1.55}
.form-intro p{font-size:15px}.form input,.form select,.form textarea{font-size:16px}
.office-network-aside p{font-size:16px;color:#424f5b}
.office-group+.office-group{margin-top:51px}
.office-group-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.9fr);gap:24px;align-items:end;margin-bottom:21px;padding-bottom:18px;border-bottom:1px solid #d9d4cb}
.office-group-heading h3{font-size:clamp(29px,3.3vw,41px);line-height:1.12;letter-spacing:-.015em;margin-top:9px}
.office-group-heading p{font-size:14px;line-height:1.7;color:#566371;max-width:520px;justify-self:end}
.office-group-kicker{font:700 12px/1.5 var(--sans);letter-spacing:.09em;text-transform:uppercase;color:#93774b}
.office-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}
.office-group--international .office-list{grid-template-columns:repeat(2,minmax(0,1fr))}
.office-card{min-height:342px;padding:27px 24px 23px}
.office-card-top{padding-bottom:24px}
.office-card-number,.office-card-type{font-size:12px;line-height:1.45;letter-spacing:.035em}
.office-card h4{font:600 clamp(32px,3.1vw,45px)/1.12 var(--serif);margin:20px 0 15px;letter-spacing:-.02em;color:#172333}
.office-card--main h4{color:#fff}
.office-card p.office-address{min-height:0;display:flex;align-items:flex-start;gap:10px;font-size:14px;line-height:1.65;color:#424f5a;overflow-wrap:anywhere;margin-bottom:16px}
.office-card p.office-address .i{width:17px;height:17px;flex:0 0 17px;margin-top:3px;color:#a58149}
.office-card--main p.office-address{color:#e3e9ed}
.office-card-note{font:500 13px/1.55 var(--sans);color:#82623d;margin-top:auto;padding-bottom:13px}
.office-card--main .office-card-note{color:#f2d8a9}
.office-card-action{display:flex;justify-content:flex-start;font:700 12px/1.5 var(--sans);letter-spacing:.012em;gap:10px;padding-top:14px}
.office-card-action .i-whatsapp{width:19px;height:19px;color:#23774a}
.office-card--main .office-card-action .i-whatsapp{color:#8cf0b4}
.office-card-action .i:last-child{margin-left:auto;width:16px;height:16px}
.office-network-footnote{font-size:14px;line-height:1.75;max-width:980px}
.footer-network-label{font-size:12px}
.footer-network p,.footer-network li{font-size:13px;line-height:1.55}
.mbar a{font-size:14px}.mbar .i-whatsapp{width:21px;height:21px}
@media(max-width:1100px){.office-list{grid-template-columns:repeat(2,minmax(0,1fr))}.office-card{min-height:295px}}
@media(max-width:760px){.office-group-heading{grid-template-columns:1fr;gap:6px}.office-group-heading p{justify-self:start}.office-group+.office-group{margin-top:40px}.topbar-left{font-size:11px}.hero-lead{font-size:16px}.site-footer{padding-top:65px}}
@media(max-width:520px){.office-list,.office-group--international .office-list{grid-template-columns:1fr}.office-card{min-height:250px}.office-card h4{font-size:39px}.office-card p.office-address{font-size:15px}.brand-wordmark small{font-size:8px}.hero-cta .btn{font-size:12px;letter-spacing:0;min-height:56px;padding:12px 8px;gap:6px}.hero-cta .btn .i-whatsapp{height:19px;width:19px}.footer-network ul{gap:8px 12px}}

/* v2.5 — Hero composition & responsive layout refinement
   The old 585px portrait cap left an empty 300px+ region beside tall desktop headlines. */
.topbar-mobile-copy{display:none}
/* Exactly three Pakistan offices: use the full row instead of leaving an empty fourth column. */
.office-group--pakistan .office-list{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:850px) and (min-width:521px){
 .office-group--pakistan .office-list{grid-template-columns:repeat(2,minmax(0,1fr))}
 .office-group--pakistan .office-card:last-child{grid-column:1 / -1}
}
@media(max-width:520px){.office-group--pakistan .office-list{grid-template-columns:1fr}}
@media(max-width:760px){
 .topbar-mobile-copy{display:inline}
 .topbar-desktop-copy{display:none}
 .topbar-left{letter-spacing:.015em}
}
.hero-visual{position:relative;display:block;min-width:0;padding:0;align-self:stretch}
.hero-portrait{position:absolute;inset:38px 2px 0 12px;width:calc(100% - 14px);height:calc(100% - 38px);min-height:0;max-height:none;object-fit:cover;object-position:center 24%;border-radius:min(46%,220px) min(46%,220px) 0 0}
.hero-visual-outline{top:62px;left:0;right:0;bottom:77px;border-color:rgba(198,164,107,.42)}
.hero-visual:after{inset:auto 2px 0 0;height:33%}
.hero-visual-label{bottom:43px;left:-18px}
.hero-copy,.hero-visual{min-width:0}
/* Keep editorial typography readable without ballooning the first screen at 4K widths. */
.hero h1{font-size:clamp(60px,6.25vw,101px);line-height:.94;letter-spacing:-.038em}
.hero-grid{grid-template-columns:minmax(0,1.16fr) minmax(0,.84fr);gap:clamp(28px,5vw,74px)}
.hero-copy{padding-top:75px;padding-bottom:73px}
.hero-lead{max-width:570px}
/* Comfortable keyboard targets and line wrapping in shared components. */
.office-card-action{min-height:44px}
.office-card h4,.office-card p.office-address{overflow-wrap:anywhere}
@media(min-width:1001px) and (max-width:1180px){
 .hero h1{font-size:clamp(59px,6.6vw,79px)}
}
@media(max-width:1000px){
 .hero-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:27px}
 .hero h1{font-size:clamp(55px,7vw,72px)}
 .hero-copy{padding-top:58px;padding-bottom:60px}
 .hero-visual-label{left:-10px}
}
@media(min-width:761px) and (max-width:960px){
 .hero-grid{grid-template-columns:minmax(0,1fr);gap:0}
 .hero-copy{padding:63px 0 25px}
 .hero h1{font-size:clamp(65px,8vw,85px);max-width:830px}
 .hero-lead{max-width:720px}
 .hero-visual{height:530px;min-height:530px;max-width:520px;width:100%;margin-inline:auto}
 .hero-portrait{inset:17px 2px 0 12px;height:calc(100% - 17px)}
 .hero-visual-outline{top:35px;bottom:55px}
 .hero-visual-label{bottom:36px;left:-12px}
 .hero-caption{margin-top:32px}
}
@media(max-width:760px){
 .hero-grid{grid-template-columns:minmax(0,1fr);gap:0}
 .hero-copy{padding:59px 0 30px}
 .hero h1{font-size:clamp(57px,9.5vw,78px);line-height:.96;max-width:670px}
 .hero-visual{height:470px;min-height:470px;max-width:510px;margin-inline:auto;width:100%}
 .hero-portrait{inset:20px 3px 0 12px;width:calc(100% - 15px);height:calc(100% - 20px);object-position:50% 14%}
 .hero-visual-outline{top:40px;right:0;left:0;bottom:57px}
 .hero-visual-label{left:0;bottom:28px}
}
@media(max-width:520px){
 .hero-copy{padding-top:47px}
 .hero h1{font-size:clamp(46px,11.1vw,59px);line-height:1.02;letter-spacing:-.034em}
 .hero-lead{font-size:16px;line-height:1.7}
 .hero-visual{height:410px;min-height:410px}
 .hero-portrait{inset:14px 2px 0 10px;width:calc(100% - 12px);height:calc(100% - 14px)}
 .hero-visual-outline{top:29px;bottom:49px}
 .hero-visual-label{bottom:29px}
 .hero-caption{line-height:1.5;overflow-wrap:anywhere}
 .hero-cta .btn{font-size:12px;min-width:0;min-height:53px;white-space:normal;line-height:1.25}
 .office-card-action{min-height:44px}
}
@media(max-width:360px){
 .brand-wordmark strong{font-size:19px}
 .brand-wordmark small{font-size:7px;letter-spacing:.03em}
 .hero h1{font-size:clamp(43px,12vw,49px)}
 .hero-cta{grid-template-columns:1fr}
 .hero-cta .btn{justify-content:space-between;padding-inline:17px}
 .topbar-left{font-size:10px;letter-spacing:0}
 .office-card h4{font-size:35px}
}


/* v2.6 Brand integrity, mobile legibility and editorial practice-area templates */
.brand-default{display:inline-flex;align-items:center;gap:13px;min-width:0}
.brand-upload{display:none;max-height:70px;max-width:245px;width:auto;height:auto;object-fit:contain}
.brand--uploaded .brand-default{display:none}
.brand--uploaded .brand-upload{display:block}
.brand{min-height:46px}
/* Inner pages share the same visual language as the homepage. */
.service-hero{background:var(--navy);color:#fff;overflow:hidden;position:relative;isolation:isolate}
.service-hero:before{content:'';position:absolute;right:-17%;top:-55%;width:65vw;height:65vw;max-width:1050px;max-height:1050px;border:1px solid rgba(198,164,107,.14);transform:rotate(45deg);z-index:-1;pointer-events:none}
.service-hero-grid{display:grid;grid-template-columns:minmax(0,1.17fr) minmax(0,.83fr);gap:clamp(35px,5vw,85px);min-height:620px;align-items:stretch}
.service-hero-copy{padding:42px 0 90px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-width:0}
.service-breadcrumb{font:600 12px/1.6 var(--sans);display:flex;flex-wrap:wrap;align-items:center;gap:10px;color:#ccd5da;margin-bottom:77px}
.service-breadcrumb span[aria-hidden]{color:var(--gold)}
.service-breadcrumb a:hover{text-decoration:underline;text-underline-offset:4px}
.service-breadcrumb span[aria-current]{color:#f0d8b1}
.service-hero h1{font-size:clamp(67px,6.6vw,105px);line-height:.95;color:#fff;letter-spacing:-.045em;margin:22px 0 23px;max-width:790px}
.service-hero-lead{font:400 18px/1.78 var(--sans);color:#e2e8ee;max-width:630px}
.service-hero-ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:35px}
.service-hero-ctas .btn{min-height:54px}
.service-hero-region{display:flex;align-items:flex-start;gap:11px;font-size:14px;line-height:1.7;color:#dce3e8;margin-top:50px;max-width:590px}
.service-hero-region .i{color:var(--gold-light);width:18px;height:18px;margin-top:3px}
.service-hero-art{position:relative;min-width:0;align-self:stretch;min-height:500px;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-end;padding:78px 0 0}
.service-art-frame{position:absolute;top:65px;left:0;right:0;bottom:53px;border:1px solid rgba(198,164,107,.55);z-index:1;pointer-events:none}
.service-art-photo{width:100%;height:100%;min-height:510px;object-fit:cover;object-position:center 35%;filter:saturate(.72) contrast(1.02);clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}
.service-hero-art:after{content:'';position:absolute;inset:auto 0 0;height:46%;background:linear-gradient(0deg,rgba(17,29,43,.91),transparent);pointer-events:none}
.service-art-seal{position:absolute;z-index:2;top:91px;left:-20px;width:134px;height:134px;background:var(--gold);border:5px solid var(--navy);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:#102032;box-shadow:0 12px 25px rgba(0,0,0,.18)}
.service-art-seal .i{width:43px;height:43px;stroke-width:1.25}
.service-art-seal span{font:700 10px var(--sans);letter-spacing:.14em}
.service-art-caption{position:absolute;z-index:2;bottom:44px;right:23px;color:#fff;font:700 11px/1.6 var(--sans);letter-spacing:.11em;text-transform:uppercase;text-align:right}
.service-jump-wrap{background:#fff;border-bottom:1px solid var(--line)}
.service-jump{min-height:70px;display:flex;flex-wrap:wrap;align-items:center;gap:clamp(19px,3.5vw,50px)}
.service-jump>span{font:700 12px/1.4 var(--sans);color:#8a6d42;text-transform:uppercase;letter-spacing:.06em;margin-right:auto}
.service-jump a{font:700 13px/1.5 var(--sans);color:#283749;position:relative;padding:20px 0}
.service-jump a:hover{color:#987445}
.service-overview{background:#f5f3ee}
.service-overview-grid{display:grid;grid-template-columns:1fr .8fr;gap:clamp(40px,8vw,135px);align-items:start}
.service-intro-heading h2,.service-matters h2,.service-prep h2,.service-faq h2{font-size:clamp(49px,5.5vw,78px);line-height:.98;letter-spacing:-.045em;margin-top:24px}
.service-intro-heading h2 em,.service-matters h2 em,.service-faq h2 em{color:#987449}
.service-overview-body>p{font-size:18px;line-height:1.88;color:#384857}
.service-fact{display:flex;gap:18px;border-top:1px solid #d9d6cd;margin-top:38px;padding-top:29px}
.service-fact-icon{flex:none;width:52px;height:52px;border:1px solid #d9c4a1;color:#9e7b47;display:grid;place-items:center}.service-fact-icon .i{width:26px;height:26px}
.service-fact strong{display:block;font-size:16px;color:#182b3b;margin-bottom:5px}.service-fact p{font-size:15px;line-height:1.8;color:#596777}
.service-matters{background:#fff}
.service-matters .section-heading-split{margin-bottom:44px}
.service-matters-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid #e1ded5;background:#e1ded5;gap:1px}
.service-matter{background:#fff;padding:33px 31px 31px;min-height:285px;display:flex;flex-direction:column}
.service-matter-number{font:700 12px var(--sans);letter-spacing:.08em;color:#9d814e}
.service-matter h3{font-size:clamp(29px,2.9vw,39px);line-height:1.09;margin:27px 0 14px}
.service-matter p{font-size:16px;line-height:1.78;color:#52606e;margin-bottom:26px}
.service-matter-line{height:2px;width:32px;background:#c5a16c;margin-top:auto}
.service-prep{background:var(--navy);color:#fff;position:relative;overflow:hidden}
.service-prep:before{content:'§';position:absolute;right:-100px;bottom:-240px;font:600 690px/1 var(--serif);color:rgba(255,255,255,.018);pointer-events:none}
.service-prep-layout{display:grid;grid-template-columns:1fr .85fr;gap:clamp(35px,8vw,120px);align-items:center;position:relative}
.service-prep h2{color:#fff;margin-bottom:27px}
.service-prep h2 em{color:var(--gold-light)}
.service-prep-copy>p{font-size:17px;line-height:1.85;color:#d6dfe5;max-width:550px;margin-bottom:30px}
.service-doc-card{background:#fff;color:#283748;padding:clamp(28px,4vw,50px);box-shadow:0 16px 45px rgba(0,0,0,.1)}
.service-doc-kicker{font:700 12px/1.5 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:#8d6f3e}
.service-doc-card h3{font-size:clamp(38px,3.5vw,50px);line-height:1.02;margin:15px 0 25px}
.service-doc-card ol{padding:0;margin:0;list-style:none}
.service-doc-card li{display:flex;align-items:flex-start;gap:15px;padding:15px 0;border-top:1px solid #e2e2de;font-size:16px;line-height:1.6;color:#354757}
.service-doc-card li span{font:700 12px/1.8 var(--sans);color:#987445;flex:0 0 25px}
.service-doc-caution{border-top:1px solid #e2e2de;padding-top:20px;margin-top:10px;display:flex;align-items:flex-start;gap:12px;font-size:14px;line-height:1.7;color:#536473}
.service-doc-caution .i{width:20px;height:20px;color:#927344;flex:0 0 20px;margin-top:3px}
.service-extra{background:#f6f4ee}.service-extra .container{max-width:1100px}.service-extra-body{margin-top:22px;max-width:850px}.service-extra-body p{font-size:17px;line-height:1.85}
.service-faq{background:#f5f3ef}
.service-faq-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(35px,8vw,115px)}
.service-faq h2{margin-bottom:24px}.service-faq-layout>div:first-child>p{font-size:16px;line-height:1.85;color:#546374;margin-bottom:26px}
.service-faq .faq-list summary{font-size:17px;padding:24px 0}.service-faq .faq-list details p{font-size:16px;line-height:1.8;color:#4e5b68}
.service-related{background:#fff}
.service-related-head{display:flex;justify-content:space-between;gap:35px;align-items:flex-end;margin-bottom:33px}
.service-related h2{font-size:clamp(44px,4.8vw,65px);margin-top:16px}
.service-related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.service-related-card{display:flex;flex-direction:column;align-items:flex-start;gap:24px;background:#f7f6f2;padding:29px;min-height:210px;border:1px solid #e3e0d9;transition:background .2s,transform .2s}
.service-related-card:hover{background:#eeeae2;transform:translateY(-3px)}
.service-related-card>span .i{width:31px;height:31px;color:#a27f46}
.service-related-card strong{font:600 29px/1.1 var(--serif);color:#172333}
.service-related-card>.i{margin-top:auto;margin-left:auto;color:#987445}
.service-disclaimer{font-size:14px;line-height:1.8;margin-top:35px;max-width:940px;color:#566371}
.service-archive-hero{padding:clamp(95px,10vw,145px) 0 clamp(80px,8vw,125px);background:var(--navy);color:#fff;position:relative;overflow:hidden}
.service-archive-hero:after{content:'';position:absolute;width:600px;height:600px;border:1px solid rgba(198,164,107,.2);transform:rotate(45deg);right:-180px;top:-200px;pointer-events:none}
.service-archive-hero .container{position:relative;z-index:1}
.service-archive-hero h1{font-size:clamp(70px,8vw,124px);line-height:.92;letter-spacing:-.045em;color:#fff;max-width:1000px;margin:30px 0}.service-archive-hero h1 em{color:var(--gold-light)}
.service-archive-hero p{font-size:18px;line-height:1.8;max-width:720px;color:#d5dee6;margin-bottom:31px}
.service-archive-intro{border-bottom:1px solid var(--line);background:#fff}
.service-archive-intro .container{padding-block:26px;display:flex;gap:20px;justify-content:space-between;align-items:center}
.service-archive-intro span{font-size:13px;color:#9b7848;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.service-archive-intro p{font-size:15px;color:#384858}
.service-archive-cards{background:#f6f5f2}.service-archive-cards .practice-card{min-height:335px}
.service-archive-cards .practice-card-content>span{font-size:16px;line-height:1.7;max-width:500px}
.service-archive-cards .practice-card-content strong{font-size:35px}
.service-archive-outro{background:#192b3a;color:#fff;padding:70px 0}
.service-archive-outro .container{display:flex;justify-content:space-between;align-items:center;gap:30px}.service-archive-outro h2{font-size:clamp(47px,5vw,71px);color:#fff;margin:15px 0}.service-archive-outro p{font-size:16px;color:#d0d9df;line-height:1.75}
/* Mobile: real paragraph scale, line-height, touch target and consistent rhythm. */
@media(max-width:1000px){
 .service-hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,.7fr);gap:23px}
 .service-hero h1{font-size:clamp(57px,7vw,80px)}
 .service-hero-copy{padding:45px 0 75px}
 .service-breadcrumb{margin-bottom:50px}
 .service-hero-art{min-height:450px}
 .service-art-photo{min-height:460px}
 .service-art-seal{width:105px;height:105px;left:-13px}.service-art-seal .i{width:33px;height:33px}
 .service-matters-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
 .brand-upload{max-width:220px;max-height:60px}
 body{font-size:17px;line-height:1.78}
 .site-footer li,.site-footer p,.footer-network p,.footer-network li{font-size:15px;line-height:1.8}
 .nav a,.mnav li a{font-size:17px;line-height:1.5}
 .mnav-cta{font-size:16px;min-height:53px}
 .practice-card-content>span,.pcard p,.statement-content>p,.section-heading p,.faq-list details p,.process-step p,.office-network-aside p,.office-group-heading p{font-size:16px;line-height:1.8}
 .service-hero-grid{grid-template-columns:1fr;gap:0;min-height:0}
 .service-hero-copy{padding:25px 0 38px}
 .service-breadcrumb{font-size:13px;margin-bottom:51px;gap:8px}
 .service-hero h1{font-size:clamp(58px,10vw,81px);margin-top:19px}
 .service-hero-lead{font-size:17px;line-height:1.76}
 .service-hero-region{margin-top:31px;font-size:15px}
 .service-hero-art{min-height:340px;height:410px;max-width:560px;width:100%;margin:0 auto;padding:22px 0 0}
 .service-art-photo{min-height:0;max-height:100%;height:100%;object-position:center 38%}
 .service-art-frame{top:18px;bottom:40px}
 .service-art-seal{top:31px;left:10px}
 .service-art-caption{bottom:26px}
 .service-jump{gap:20px;min-height:56px;padding:8px 0}
 .service-jump>span{width:100%;margin-bottom:-7px}
 .service-jump a{font-size:14px;min-height:44px;padding:9px 0}
 .service-overview-grid,.service-prep-layout,.service-faq-layout{grid-template-columns:1fr;gap:32px}
 .service-intro-heading h2,.service-matters h2,.service-prep h2,.service-faq h2{font-size:clamp(51px,8.4vw,69px)}
 .service-matters-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .service-matter{min-height:260px;padding:27px 23px}
 .service-matter p{font-size:16px}
 .service-related-grid{grid-template-columns:1fr 1fr}
 .service-related-head{align-items:start;flex-direction:column}
 .service-archive-outro .container{flex-direction:column;align-items:flex-start}
 .service-archive-hero h1{font-size:clamp(61px,10vw,88px)}
}
@media(max-width:520px){
 .brand-default{gap:10px}
 .brand-wordmark small{font-size:9px;letter-spacing:.045em;white-space:nowrap}
 .brand-wordmark strong{font-size:22px}
 .service-hero-copy{padding:18px 0 35px}
 .service-breadcrumb{font-size:12px;line-height:1.6;margin-bottom:43px}
 .service-breadcrumb span[aria-current]{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 .service-hero h1{font-size:clamp(51px,12vw,66px);line-height:.98;overflow-wrap:break-word}
 .service-hero-lead{font-size:17px;line-height:1.8}
 .service-hero-ctas{width:100%;display:grid;grid-template-columns:1fr;gap:10px;margin-top:27px}
 .service-hero-ctas .btn{justify-content:space-between;padding-inline:20px;font-size:13px;white-space:normal;min-height:54px}
 .service-hero-region{font-size:14px}
 .service-hero-art{height:335px;min-height:335px}.service-art-seal{width:89px;height:89px}.service-art-seal .i{width:26px;height:26px}.service-art-seal span{font-size:8px}
 .service-jump{gap:12px 24px}.service-jump a{font-size:13px}
 .service-overview-body>p{font-size:17px;line-height:1.85}
 .service-intro-heading h2,.service-matters h2,.service-prep h2,.service-faq h2{font-size:clamp(45px,11vw,59px)}
 .service-matters-grid,.service-related-grid{grid-template-columns:1fr}
 .service-matter{min-height:0;padding:27px 25px}
 .service-matter h3{font-size:33px;margin-top:18px}
 .service-doc-card{padding:28px 24px}
 .service-faq .faq-list summary{font-size:16px}
 .service-related-card{min-height:155px}
 .service-archive-hero{padding:74px 0}
 .service-archive-hero h1{font-size:clamp(53px,12vw,68px)}
 .service-archive-hero p{font-size:17px;line-height:1.8}
 .service-archive-intro .container{flex-direction:column;align-items:flex-start;gap:5px}
 .service-archive-cards .practice-card-content>span{font-size:16px}
 .office-card p.office-address{font-size:16px}
 .office-card-note,.office-card-action,.office-group-heading p{font-size:14px}
 .hero-visual-label strong{font-size:29px}
 .hero-caption{font-size:12px}
 .faq-list summary{font-size:16px;line-height:1.5}
 .faq-list details p{font-size:16px;line-height:1.75}
 .process-step p{font-size:16px}
 .btn,.mbar a{font-size:14px}
}
@media(max-width:360px){
 .brand-wordmark strong{font-size:20px}
 .brand-wordmark small{font-size:8px}
 .brand-symbol{width:38px;height:38px}
 .service-hero h1{font-size:48px}
 .service-breadcrumb{gap:6px}
 .service-art-caption{font-size:10px}
}

/* v2.6 AA contrast and mobile font polish for small UI text. */
.service-matter-number,.service-doc-kicker,.service-archive-intro span{color:#71532b}
.service-fact-icon,.service-jump>span{color:#76582f}
.service-archive-intro span{letter-spacing:.04em}
@media(max-width:760px){.hero-lead{font-size:17px;line-height:1.78}.office-network-footnote{font-size:15px}.site-footer .legal p{font-size:13px;line-height:1.7}.topbar-left{font-size:12px}}

/* v2.7 — client-approved artwork at full visual scale, always responsive. */
.brand{overflow:visible;flex:0 1 auto;min-width:0}
.brand-logo{display:block;width:clamp(315px,27vw,380px);height:auto;max-width:100%;object-fit:contain;object-position:left center;flex:0 1 auto}
.brand-fallback{display:none}
.brand--missing .brand-logo{display:none}
.brand--missing .brand-fallback{display:inline-flex}
.header-inner{min-height:106px;gap:18px}
.site-header{background:#faf9f6}
.site-footer .brand{background:#faf9f6;padding:5px 8px;margin-bottom:15px;border-radius:2px;width:max-content;max-width:100%}
.site-footer .brand-logo{width:340px;max-width:100%}
.site-footer .brand--missing{background:transparent}
@media(max-width:1280px){
 .brand-logo{width:325px}
 .header-inner{gap:14px;min-height:98px}
 .nav ul{gap:clamp(11px,1.45vw,19px)}
 .header-cta{padding:0 11px;gap:8px;font-size:10px}
}
@media(max-width:1120px){
 .nav,.header-cta{display:none}
 .burger{display:inline-flex}
 .mnav.open{display:block}
 .brand-logo{width:clamp(270px,37vw,346px)}
 .header-inner{min-height:91px}
}
@media(max-width:760px){
 .brand-logo{width:clamp(242px,66vw,325px)}
 .header-inner{min-height:84px}
 .brand{flex:0 1 auto}
}
@media(max-width:520px){
 .header-inner{gap:7px;min-height:80px}
 .brand{flex:1 1 auto}
 .brand-logo{width:min(286px,calc(100vw - 109px));max-width:100%}
 .hdr-r{gap:5px;flex:0 0 auto}
 .burger{width:44px;height:44px;flex:0 0 auto}
 .site-footer .brand-logo{width:min(335px,calc(100vw - 79px))}
}
@media(max-width:360px){
 .brand-logo{width:min(235px,calc(100vw - 106px))}
}
