@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;600;700&family=Manrope:wght@400;500;600;700&family=Lora:ital,wght@1,400&display=swap');
:root{--navy:#101c30;--navy2:#162542;--gold:#c2b193;--paper:#f7f7f4;--ink:#182236;--muted:#626976;--line:#d9dce0;--gutter:clamp(24px,6vw,100px)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:16px;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:6px}::selection{background:var(--gold);color:var(--navy)}.skip{position:fixed;top:-100px;left:20px;background:white;padding:15px;z-index:100}.skip:focus{top:15px}.progress{position:fixed;top:0;left:0;height:2px;width:0;background:var(--gold);z-index:50}header{position:absolute;top:0;width:100%;height:108px;display:flex;align-items:center;padding:0 var(--gutter);gap:40px;color:white;z-index:30;border-bottom:1px solid #ffffff18;transition:background .3s,height .3s}header.sticky{position:fixed;height:80px;background:#101c30f5;backdrop-filter:blur(14px)}.brand{display:block;width:164px;height:64px;overflow:hidden;flex-shrink:0;position:relative}.brand img{width:180px;height:180px;position:absolute;top:-57px;left:-9px}nav{display:flex;gap:32px;margin-left:auto;font-size:14px}nav a{position:relative;padding:10px 0}nav a:after{content:'';position:absolute;bottom:2px;left:0;width:0;height:1px;background:var(--gold);transition:width .3s}nav a:hover:after{width:100%}.header-contact{font-size:14px;padding:13px 22px;border:1px solid #c2b19388;transition:background .3s}.header-contact:hover{background:var(--gold);color:var(--navy)}#menu{display:none}.hero{min-height:790px;height:100svh;max-height:1100px;position:relative;overflow:hidden;color:white;background:radial-gradient(ellipse at 82% 48%,#24334b 0%,var(--navy) 62%)}.hero-grid{position:absolute;inset:0;background:linear-gradient(90deg,transparent calc(100% - 1px),#ffffff05 1px);background-size:25% 100%}.hero-content{position:relative;z-index:2;padding:clamp(210px,24vh,280px) var(--gutter) 150px;pointer-events:none}.hero-content a{pointer-events:auto}.eyebrow,.section-label,.hero-bottom,.art-caption{font-size:12px;letter-spacing:2px;font-weight:500}.eyebrow{color:var(--gold);margin:0 0 37px;display:flex;align-items:center;gap:15px}.eyebrow:before{content:'';width:35px;height:1px;background:var(--gold)}h1,h2,h3,p{margin-top:0}h1{font-family:Manrope,Arial,sans-serif;font-size:clamp(48px,5.25vw,84px);line-height:1.15;font-weight:400;letter-spacing:-3.8px;margin-bottom:32px}h1 span{display:block;animation:rise 1.2s cubic-bezier(.2,.7,.2,1) both}h1 span:nth-child(2){animation-delay:.17s}em{font-family:Georgia,'Times New Roman',serif;font-weight:400}h1 em{color:var(--gold)}.hero-copy{font-size:18px;line-height:1.7;color:#c7cbd3;max-width:430px;animation:rise 1.3s .3s both}.hero-actions{display:flex;align-items:center;gap:30px;margin-top:34px;animation:rise 1.3s .4s both}.button{display:inline-flex;align-items:center;justify-content:center;min-height:53px;padding:16px 26px;font-size:14px;font-weight:600;transition:background .25s,transform .25s}.gold{background:var(--gold);color:var(--navy)}.gold:hover{background:#dfcfb3;transform:translateY(-3px)}.text-link{font-size:14px;padding:9px 0;border-bottom:1px solid #ffffff66;transition:color .2s,border-color .2s}.text-link:hover{color:var(--gold);border-color:var(--gold)}.hero-art{position:absolute;right:-1%;top:125px;bottom:30px;width:44%;pointer-events:none}.hero-art img{position:absolute;width:100%;height:100%;object-fit:contain;opacity:.75;filter:drop-shadow(0 30px 55px #0006);will-change:transform;animation:art-in 1.8s ease both}.orbit{position:absolute;width:480px;height:480px;border:1px solid #c2b19321;border-radius:50%;top:18%;left:4%}.orbit-two{width:600px;height:600px;top:8%;left:-8%;border-style:dashed;border-color:#c2b19312;animation:orbit 100s linear infinite}.art-caption{position:absolute;right:24%;bottom:18px;color:#c2b19399;font-size:10px;letter-spacing:3px}.hero-bottom{position:absolute;bottom:30px;left:var(--gutter);right:var(--gutter);display:flex;justify-content:space-between;align-items:center;letter-spacing:1.6px;color:#a3acbb;font-size:11px}.scroll-link{display:flex;align-items:center;gap:12px}.scroll-line{height:32px;width:1px;background:#ffffff25;position:relative;overflow:hidden}.scroll-line:after{content:'';position:absolute;top:-100%;width:1px;height:100%;background:var(--gold);animation:scroll 2.2s infinite}.section{padding:88px var(--gutter) 110px}.section-label{display:flex;justify-content:space-between;gap:20px;font-size:11px;letter-spacing:1.5px;margin-bottom:70px}.section-label>span:last-child{letter-spacing:0;font-size:13px;color:var(--muted)}h2{font-family:Manrope,Arial,sans-serif;font-weight:400;font-size:clamp(38px,4vw,62px);line-height:1.15;letter-spacing:-2.1px;margin-bottom:30px}h2 em{color:#8b7555}.about-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:100px;align-items:start}.about-copy{max-width:490px;padding-top:8px}.about-copy p{color:var(--muted);line-height:1.85}.about-copy .lead{font-size:25px;line-height:1.45;color:var(--ink);margin-bottom:24px}.dark-link{border-color:#999;color:var(--ink);display:inline-block;margin-top:8px}.services{display:grid;grid-template-columns:repeat(3,1fr);margin-top:64px;border-top:1px solid var(--line)}.services article{padding:34px 40px 0 0}.services article+article{padding-left:40px;border-left:1px solid var(--line)}.service-no{font-family:Georgia,serif;color:#8b7555;font-size:19px}.services h3{font-size:25px;letter-spacing:-.7px;font-weight:500;margin:26px 0 16px}.services p{color:var(--muted);font-size:16px;line-height:1.8;max-width:350px;margin-bottom:0}.expertise{background:var(--navy);color:#f8f8f6}.expertise .section-label>span:last-child{color:#a7afbd}.expertise-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:85px}.expertise h2 em{color:var(--gold)}.expertise-intro{position:relative}.expertise-intro p{color:#aeb7c7;max-width:360px;line-height:1.8}.expertise-monogram{font-family:Georgia,serif;font-size:155px;letter-spacing:-10px;color:#ffffff06;display:block;margin-top:50px}.practice-list{border-top:1px solid #ffffff25}details{border-bottom:1px solid #ffffff25}summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:24px;padding:25px 0;font-size:21px;letter-spacing:-.5px}summary::-webkit-details-marker{display:none}.practice-no{font-size:11px;color:var(--gold);letter-spacing:0}.plus{height:14px;width:14px;margin-left:auto;position:relative;flex-shrink:0}.plus:before,.plus:after{content:'';position:absolute;top:6px;left:0;width:14px;height:1px;background:var(--gold);transition:transform .3s}.plus:after{transform:rotate(90deg)}details[open] .plus:after{transform:rotate(0)}details[open] summary{color:var(--gold)}.practice-body{padding:0 25px 25px 39px;animation:rise .4s both}.practice-body p{font-size:16px;line-height:1.7;color:#b9c0cd;max-width:440px}.practice-body a,.all-practices{font-size:13px;border-bottom:1px solid #c2b19380;padding-bottom:5px}.practice-body a{color:var(--gold)}.all-practices{display:inline-block;margin-top:30px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:50px}.section-heading h2{margin:0}.section-heading .text-link{margin-bottom:9px;white-space:nowrap}.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.portrait{position:relative;overflow:hidden;background:#e5e5e2;aspect-ratio:4/4.7}.portrait img{width:100%;height:100%;object-fit:cover;object-position:center 30%;filter:grayscale(1);transition:transform .8s,filter .8s}.person:hover .portrait img{filter:grayscale(0);transform:scale(1.035)}.portrait>span{position:absolute;left:20px;top:20px;font-size:10px;letter-spacing:2px;color:#53606c}.person-title{padding-top:22px}.person-title h3{font-size:25px;font-weight:500;letter-spacing:-.6px;margin-bottom:9px}.person-title>span{font-size:10px;letter-spacing:1.5px;color:var(--muted)}.perspectives{background:#ededeb}.articles{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.article{border-top:1px solid #a9acb3;padding-top:24px;display:flex;flex-direction:column;transition:border-color .3s,transform .3s}.article:hover{transform:translateY(-5px);border-color:#8b7555}.article-meta{display:flex;flex-direction:column;gap:12px;font-size:10px;letter-spacing:1px;color:#6b6252}.article-meta time{color:var(--muted);font-size:10px}.article h3{font-size:25px;line-height:1.4;font-weight:400;letter-spacing:-.7px;margin:28px 0 34px}.read{font-size:13px;text-decoration:underline;text-underline-offset:6px;margin-top:auto}.contact{background:var(--navy);color:white;padding-bottom:30px}.contact .section-label>span:last-child{color:#a7afbd}.contact-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:80px;padding-bottom:85px}.contact h2{font-size:clamp(42px,4.7vw,72px)}.contact h2 em{color:var(--gold)}.contact-info p{line-height:1.7;color:#aeb7c7}.email{font-size:clamp(21px,2.2vw,32px);display:block;letter-spacing:-.6px;margin:25px 0 12px}.phone{display:block;color:#b9c0cd}.contact-info .button{margin-top:28px}footer{border-top:1px solid #ffffff22;padding-top:28px;display:flex;align-items:center;justify-content:space-between;gap:30px;font-size:11px;color:#a7afbd}footer strong{font-weight:500;color:white;font-size:15px;display:block;margin-bottom:7px}footer>div>span{display:block}footer>a{white-space:nowrap}.js-motion .reveal{opacity:0;transform:translateY(32px);transition:opacity .85s,transform .85s cubic-bezier(.2,.7,.2,1)}.js-motion .reveal.visible{opacity:1;transform:translateY(0)}.services .reveal:nth-child(2),.team-grid .reveal:nth-child(2),.articles .reveal:nth-child(2){transition-delay:.1s}.services .reveal:nth-child(3),.team-grid .reveal:nth-child(3),.articles .reveal:nth-child(3){transition-delay:.2s}@keyframes rise{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:translateY(0)}}@keyframes art-in{from{opacity:0;translate:30px 20px}to{opacity:.75;translate:0 0}}@keyframes orbit{to{rotate:360deg}}@keyframes scroll{to{top:100%}}
@media(min-width:1600px){.section{padding-left:max(var(--gutter),calc((100vw - 1440px)/2));padding-right:max(var(--gutter),calc((100vw - 1440px)/2))}}@media(max-width:1100px){header{gap:25px}nav{gap:20px}.hero-art{right:-12%;width:55%;opacity:.6}h1{font-size:64px}.about-grid{gap:55px}.expertise-grid{gap:40px}.services article{padding-right:25px}.services article+article{padding-left:25px}.contact-grid{gap:45px}.article h3{font-size:22px}}@media(max-width:760px){:root{--gutter:24px}header,header.sticky{height:82px;gap:18px}.brand{width:137px}.brand img{width:155px;height:155px;top:-44px;left:-8px}.header-contact{margin-left:auto;padding:10px 12px;font-size:12px}#menu{display:flex;flex-direction:column;justify-content:center;gap:6px;background:none;border:0;color:white;width:26px;height:40px;padding:0;z-index:2}#menu span{display:block;width:24px;height:1px;background:white;transition:transform .25s}#menu[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}#menu[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}nav{display:none;position:absolute;left:0;right:0;top:82px;background:var(--navy);padding:20px 24px 35px;border-bottom:1px solid #ffffff22;flex-direction:column;gap:12px;font-size:20px}nav.open{display:flex}.hero{height:830px;min-height:720px;max-height:none}.hero-content{padding-top:170px;padding-bottom:150px}.eyebrow{font-size:10px;letter-spacing:1.8px;margin-bottom:30px}h1{font-size:clamp(30px,7.8vw,58px);letter-spacing:-1.8px;line-height:1.22}h1 span{white-space:nowrap}.hero-copy{font-size:16px;max-width:300px}.hero-actions{flex-direction:column;align-items:start;gap:18px;margin-top:26px}.hero-art{top:300px;bottom:20px;right:-90px;width:360px;opacity:.32}.orbit{width:330px;height:330px}.orbit-two{width:400px;height:400px}.art-caption{display:none}.hero-bottom{font-size:9px;letter-spacing:1px;bottom:24px}.hero-bottom>span:last-child{display:none}.section{padding-top:55px;padding-bottom:65px}.section-label{margin-bottom:42px;font-size:10px}.section-label>span:last-child{display:none}h2{font-size:39px;letter-spacing:-1.6px}.about-grid,.expertise-grid,.contact-grid{grid-template-columns:1fr;gap:20px}.about-copy .lead{font-size:22px}.services{grid-template-columns:1fr;margin-top:40px}.services article,.services article+article{padding:27px 0;border-left:none;border-bottom:1px solid var(--line)}.services h3{margin:10px 0}.services p{max-width:none}.expertise-monogram{display:none}.expertise-intro{margin-bottom:20px}summary{font-size:18px;gap:18px;padding:23px 0}.practice-body{padding-left:32px}.section-heading{display:block;margin-bottom:34px}.section-heading .text-link{margin-top:20px}.team-grid{grid-template-columns:1fr;gap:36px}.portrait{aspect-ratio:4/4.2}.person-title h3{font-size:26px}.articles{grid-template-columns:1fr;gap:34px}.article-meta{flex-direction:row;justify-content:space-between;gap:8px;font-size:9px}.article h3{margin:22px 0;font-size:25px}.read{margin-bottom:10px}.contact h2{font-size:43px}.contact-grid{padding-bottom:55px}.contact-info .email{font-size:28px}footer{flex-direction:column;align-items:start;gap:24px;font-size:11px}.js-motion .reveal{transition-delay:0s!important}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js-motion .reveal{opacity:1;transform:none}.hero-art img{opacity:.75}}
/* Hero motion and original SGA message */
h1{font-size:clamp(40px,4.25vw,67px);letter-spacing:-2.8px;line-height:1.16;max-width:880px}h1 span:nth-child(3){animation-delay:.28s}h1 span:nth-child(4){animation-delay:.4s}.hero-content{padding-top:clamp(200px,22vh,260px)}.hero-actions{margin-top:38px}.hero-art{perspective:1000px}.justice-parallax,.justice-float{position:absolute;inset:0;transform-style:preserve-3d}.justice-parallax{will-change:transform}.justice-float{animation:justice-float 7s ease-in-out infinite}.hero-art img{animation:justice-appear 1.8s ease both;opacity:.92}.justice-sheen{position:absolute;inset:0;mask:url('assets/hero.png') center/contain no-repeat;-webkit-mask:url('assets/hero.png') center/contain no-repeat;background:linear-gradient(115deg,transparent 25%,#f8e1b300 40%,#f8e1b370 50%,#f8e1b300 60%,transparent 75%);background-size:350% 100%;mix-blend-mode:screen;animation:justice-light 9s ease-in-out infinite;pointer-events:none}.orbit-one{animation:justice-halo 7s ease-in-out infinite}.firm-name{gap:12px;overflow:hidden;font-size:14px;letter-spacing:3px;max-width:max-content;padding:6px 0 12px;position:relative}.firm-name:before{animation:firm-line .9s ease both;transform-origin:left}.firm-word{display:inline-block;animation:firm-reveal .9s cubic-bezier(.2,.7,.2,1) both}.firm-word:nth-of-type(3){animation-delay:.2s}.firm-word:nth-of-type(5){animation-delay:.4s}.firm-dot{animation:firm-reveal .9s .6s both;opacity:.55}.firm-name:after{content:'';position:absolute;bottom:0;left:50px;right:0;height:1px;transform:scaleX(0);transform-origin:left;background:linear-gradient(90deg,var(--gold),transparent);animation:firm-underline 1.3s .8s forwards}.motion-toggle{position:absolute;bottom:26px;right:var(--gutter);z-index:4;display:flex;gap:9px;align-items:center;background:transparent;border:1px solid #c2b19340;border-radius:20px;color:#b8b5af;padding:8px 13px;font-size:11px;cursor:pointer}.motion-toggle:hover{border-color:var(--gold);color:white}.motion-paused .hero-art *{animation-play-state:paused!important}.motion-paused .justice-parallax{transform:none!important}.motion-paused .firm-name *,.motion-paused .firm-name:after{animation-play-state:paused!important}@keyframes justice-float{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-20px) rotate(1deg)}}@keyframes justice-light{0%,15%{background-position:130% 0}65%,100%{background-position:-30% 0}}@keyframes justice-halo{0%,100%{scale:.97;opacity:.55}50%{scale:1.06;opacity:1}}@keyframes justice-appear{from{opacity:0;filter:blur(7px);scale:.95}to{opacity:.92;filter:blur(0);scale:1}}@keyframes firm-reveal{from{opacity:0;transform:translateY(130%);filter:blur(4px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}@keyframes firm-line{from{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes firm-underline{to{transform:scaleX(1)}}
/* Three service panels: click, tap and keyboard */
.services.service-deck{display:flex;gap:14px;border:0;align-items:stretch}.services .service-card,.services .service-card+.service-card{flex:1;min-width:0;margin:0;padding:0;border:1px solid var(--line);background:#efefec;position:relative;overflow:hidden;transition:flex .65s cubic-bezier(.2,.7,.2,1),background .4s,color .4s,border-color .4s}.services .service-card.active{flex:1.6;background:var(--navy);border-color:var(--navy);color:white}.service-trigger{position:relative;display:flex;flex-direction:column;align-items:start;gap:25px;width:100%;border:0;background:transparent;text-align:left;color:inherit;padding:30px;cursor:pointer;min-height:190px}.service-trigger:hover{background:#c2b1930d}.service-trigger:focus-visible{outline:2px solid var(--gold);outline-offset:-5px}.service-trigger .service-no{font-size:34px;transition:transform .4s;color:#927a55}.active .service-no{color:var(--gold)}.service-title{font-size:25px;font-weight:500;letter-spacing:-.6px;line-height:1.2}.service-indicator{position:absolute;right:27px;top:32px;font-size:24px;font-weight:400;color:#8b7555}.active .service-indicator{color:var(--gold)}.service-panel{padding:0 30px 30px;animation:service-in .55s both}.service-panel[hidden]{display:none}.services .service-panel p{font-size:16px;color:#c7cbd3;max-width:none;line-height:1.7;margin-bottom:24px}.service-panel ul{list-style:none;margin:0 0 28px;padding:0}.service-panel li{padding:10px 0;border-top:1px solid #ffffff1a;font-size:13px;color:#d7dbe3}.service-panel li:last-child{border-bottom:1px solid #ffffff1a}.service-panel a{display:inline-block;border-bottom:1px solid #c2b19388;padding-bottom:6px;font-size:13px;color:var(--gold)}.service-hint{display:block;padding:0 30px 30px;font-size:12px;color:var(--muted)}.active .service-hint{display:none}@keyframes service-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1100px){h1{font-size:clamp(39px,4.8vw,60px);max-width:690px}.service-trigger{padding:24px}.service-panel{padding:0 24px 24px}.service-title{font-size:22px}.service-hint{padding-left:24px}.services .service-card.active{flex:1.5}}
@media(max-width:760px){.hero-content{padding-top:165px}h1{font-size:clamp(27px,6.5vw,47px);letter-spacing:-1.25px;max-width:100%}h1 span{white-space:normal}.firm-name{font-size:10px;letter-spacing:1.4px;gap:8px}.firm-name:before{width:20px}.firm-name:after{left:28px}.hero-art{top:345px}.motion-toggle{bottom:24px;font-size:10px}.services.service-deck{flex-direction:column;gap:12px}.services .service-card,.services .service-card+.service-card{flex:auto}.service-trigger{min-height:100px;flex-direction:row;gap:20px;align-items:center;padding:22px}.service-trigger .service-no{font-size:24px;width:30px;flex-shrink:0}.service-title{font-size:22px;padding-right:20px}.service-indicator{right:22px;top:36px}.service-panel{padding:0 22px 26px}.service-hint{display:none}.services .service-card.active{flex:auto}.justice-float{animation-name:justice-float-mobile}@keyframes justice-float-mobile{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-12px) rotate(1deg)}}}
@media(prefers-reduced-motion:reduce){.motion-toggle{display:none}.justice-parallax,.justice-float{transform:none!important}.justice-sheen{display:none}.firm-name:after{transform:scaleX(1)}.hero-art img{opacity:.92}}
/* A fixed drawing board, traced from SGA's original artwork. */
.hero{background:radial-gradient(ellipse at 73% 51%,#202e42 0%,#122035 48%,#0d192b 100%)}.hero-grid{background-image:linear-gradient(#c2b19306 1px,transparent 1px),linear-gradient(90deg,#c2b19306 1px,transparent 1px),linear-gradient(#c2b19308 1px,transparent 1px),linear-gradient(90deg,#c2b19308 1px,transparent 1px);background-size:28px 28px,28px 28px,140px 140px,140px 140px;mask-image:linear-gradient(90deg,#0002,#000)}.hero:after{content:'';position:absolute;inset:125px 24px 24px;border:1px solid #c2b1930d;pointer-events:none}.firm-name,h1 em{color:#fff}.firm-name{font-size:14px}.firm-word{animation-duration:2.5s}.firm-word:nth-of-type(3){animation-delay:.7s}.firm-word:nth-of-type(5){animation-delay:1.4s}.firm-dot{animation-duration:2.5s;animation-delay:2s;color:white}.firm-name:before{background:#fff8;animation-duration:2s}.firm-name:after{background:linear-gradient(90deg,#ffffff80,transparent);animation-duration:2.8s;animation-delay:1.8s}.draft-board{position:absolute;left:49%;right:3%;top:135px;bottom:65px;color:#ccbea7;pointer-events:none}.board-border{position:absolute;inset:22px 0;border:1px solid #c2b19315}.board-axis{position:absolute;border-color:#d6c7ab21;border-style:dashed;border-width:0}.axis-x{left:-12%;right:-4%;top:54%;border-top-width:1px}.axis-y{top:0;bottom:0;left:52%;border-left-width:1px}.board-ring{position:absolute;border:1px solid #c2b19318;border-radius:50%;width:68%;aspect-ratio:1;left:18%;top:18%}.ring-b{width:88%;left:8%;top:12%;border-style:dashed;opacity:.55}.draft-ticks{position:absolute;top:20px;bottom:20px;right:-12px;width:8px;background:repeating-linear-gradient(0deg,#d6c7ab42 0 1px,transparent 1px 15px);opacity:.5}.justice-drawing{position:absolute;inset:0 2% 0 10%}.justice-drawing>svg,.justice-drawing>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transform:none;filter:none}.justice-trace{color:#d6c7af;opacity:.86;animation:trace-finish 2s 10.5s both}.justice-trace path,.brand-trace path{stroke-dasharray:1;stroke-dashoffset:1;animation:draw-original var(--duration) var(--delay) cubic-bezier(.25,.2,.4,1) forwards}.justice-drawing .justice-finished{opacity:0;animation:finish-original 2.5s 10s forwards}.brand-drawing{position:absolute;bottom:8%;left:-12%;width:clamp(85px,8vw,130px);aspect-ratio:1;color:#d6c7af}.brand-trace{width:100%;height:100%}.brand-drawing>span{display:block;text-align:center;font-family:Georgia,serif;font-size:11px;letter-spacing:5px;margin-top:13px;color:#d6c7af70;opacity:0;animation:finish-original 2s 10s forwards}.board-mark{font-family:monospace;font-size:10px;letter-spacing:2px;color:#c2b19360;position:absolute}.mark-one{top:6px;left:8px}.mark-two{bottom:4px;right:8px}.drawing-replay{position:absolute;z-index:5;right:var(--gutter);bottom:27px;border:0;border-bottom:1px solid #ffffff30;background:transparent;padding:7px 0;color:#c6c9d0;font-size:12px;cursor:pointer}.drawing-replay:hover{color:white;border-color:white}.drawing-reset *{animation:none!important}.drawing-reset .justice-finished{opacity:0!important}@keyframes draw-original{to{stroke-dashoffset:0}}@keyframes trace-finish{0%,70%{opacity:.86}100%{opacity:0}}@keyframes finish-original{to{opacity:.88}}
/* Full-team portrait atlas with individual profile sheets. */
.team-atlas{background:#e8e9e7}.atlas-heading{display:grid;grid-template-columns:1.7fr 1fr;align-items:end;gap:50px;margin-bottom:48px}.atlas-heading h2{margin:0;font-size:clamp(36px,3.9vw,60px)}.atlas-heading>p{font-size:16px;line-height:1.8;color:var(--muted);margin:0 0 7px}.team-atlas-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.team-tile{display:block;position:relative;padding:0;border:0;aspect-ratio:4/5.2;overflow:hidden;text-align:left;background:#273143;cursor:pointer;color:white;isolation:isolate}.team-tile:before{content:'';position:absolute;z-index:1;inset:0;background:linear-gradient(0deg,#0c182bf2 0%,#0c182b9c 24%,transparent 58%)}.team-tile img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 20%;filter:saturate(.58);transition:transform .7s,filter .7s}.team-tile:hover img,.team-tile:focus-visible img{transform:scale(1.04);filter:saturate(1)}.tile-index{position:absolute;top:17px;left:18px;z-index:2;font-size:10px;letter-spacing:1.5px;color:#273143}.tile-caption{position:absolute;bottom:24px;left:23px;right:20px;z-index:2;display:flex;flex-direction:column;gap:9px}.tile-role{font-size:10px;letter-spacing:1.3px;text-transform:uppercase;color:#d2c6b4}.tile-name{font-family:Georgia,serif;font-size:clamp(22px,2.1vw,32px);font-weight:400;line-height:1.1;letter-spacing:-.6px}.tile-profile{position:absolute;right:16px;top:16px;z-index:2;background:#101c30d9;color:white;padding:7px 10px;font-size:10px;opacity:0;transform:translateY(-5px);transition:opacity .3s,transform .3s}.team-tile:hover .tile-profile,.team-tile:focus-visible .tile-profile{opacity:1;transform:none}.team-dialog{border:0;padding:0;max-width:950px;width:calc(100% - 48px);max-height:85svh;overflow:auto;color:var(--ink);background:var(--paper)}.team-dialog[open]{display:grid;grid-template-columns:.85fr 1.15fr;animation:service-in .4s both}.team-dialog::backdrop{background:#060f20d9;backdrop-filter:blur(8px)}.profile-photo{width:100%;height:100%;min-height:510px;object-fit:cover;object-position:center 20%}.profile-content{padding:65px 42px 42px}.profile-role{font-size:12px;letter-spacing:1.3px;text-transform:uppercase;color:#8b7555}.profile-content h2{font-size:42px;margin-bottom:18px}.profile-areas{font-size:14px;line-height:1.8;padding-bottom:22px;border-bottom:1px solid var(--line);color:#8b7555}.profile-bio{font-size:16px;line-height:1.85;color:var(--muted)}.profile-email{font-size:14px;display:inline-block;border-bottom:1px solid #8b7555;padding:9px 0;color:var(--ink)}.profile-email[hidden]{display:none}.profile-close{position:absolute;right:16px;top:12px;z-index:2;background:var(--paper);color:var(--ink);border:1px solid var(--line);width:38px;height:38px;font-size:27px;cursor:pointer}.profile-open{overflow:hidden}@media(max-width:1100px){.draft-board{left:53%;right:2%;top:150px;bottom:90px}.justice-drawing{inset:0 -5% 0 0}.brand-drawing{left:-28%;bottom:2%;width:100px}.team-atlas-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.tile-caption{left:16px;bottom:18px;right:12px}.tile-name{font-size:24px}.tile-role{font-size:9px;letter-spacing:.5px}.atlas-heading{grid-template-columns:1.4fr 1fr;gap:25px}}
@media(max-width:760px){.hero{height:1040px;min-height:1040px}.hero-content{padding-top:155px}.firm-name{font-size:10px}.hero:after{inset:100px 14px 16px}.draft-board{left:28%;right:7%;top:500px;bottom:65px;opacity:.9}.justice-drawing{inset:0 -2% 0 -6%}.brand-drawing{left:-23%;bottom:8%;width:65px}.brand-drawing>span{font-size:8px;letter-spacing:2px}.board-mark{font-size:8px}.board-border{inset:15px -5%}.draft-ticks{right:-18px}.drawing-replay{font-size:11px;bottom:25px}.atlas-heading{grid-template-columns:1fr;gap:15px;margin-bottom:30px}.atlas-heading h2{font-size:37px}.atlas-heading>p{font-size:15px}.team-atlas-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.team-tile{aspect-ratio:3/4.6}.tile-caption{left:12px;bottom:18px;right:10px;gap:7px}.tile-name{font-size:22px}.tile-role{font-size:9px;letter-spacing:.4px;line-height:1.4}.tile-index{font-size:8px;left:12px;top:13px}.tile-profile{display:none}.team-dialog{width:calc(100% - 28px);max-height:90svh}.team-dialog[open]{display:block}.profile-photo{height:290px;min-height:0;object-position:center 22%}.profile-content{padding:30px 25px}.profile-content h2{font-size:34px}.profile-close{position:sticky;float:right;top:12px;margin-bottom:-50px;right:12px}.profile-bio{font-size:15px}.profile-email{overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){.justice-drawing .justice-finished{opacity:.88}.justice-trace{display:none}.brand-trace path{stroke-dashoffset:0}.brand-drawing>span{opacity:.88}.drawing-replay{display:none}.firm-word,.firm-dot{opacity:1;filter:none;transform:none}}
/* Tonal ink: quieter strokes, occasional highlights, rounded contour joins. */
.justice-trace path,.brand-trace path{stroke:var(--stroke);opacity:var(--ink);animation:draw-original var(--duration) var(--delay) cubic-bezier(.22,.45,.38,1) forwards,ink-develop var(--duration) var(--delay) ease-in-out both}.justice-trace{animation:trace-finish 1.8s 7.6s both}.justice-drawing .justice-finished{animation:finish-original 1.9s 7.5s forwards}.hero>.brand-drawing{left:var(--gutter);bottom:8%;width:clamp(185px,18vw,290px);opacity:.34;pointer-events:none;z-index:1}.brand-drawing>span{animation:finish-original 1.5s 7.5s forwards;color:#c9c3b8;font-size:12px;letter-spacing:7px}.hero>.brand-drawing .brand-trace{overflow:visible}.drawing-reset .justice-trace path,.drawing-reset .brand-trace path{stroke-dashoffset:1;opacity:0}@keyframes ink-develop{0%{opacity:.05}25%{opacity:calc(var(--ink)*.55)}68%{opacity:1}100%{opacity:var(--ink)}}
/* Brighter corporate treatment for the introduction. */
.about{background:#fff;border-bottom:1px solid #e5eaf0}.about h2 em{color:#506581}.about .section-label{color:#556a83}.about-copy p{color:#5e6b7a}.about-copy .lead{color:#182b46}.about .services .service-card{background:#f3f6fa;border-color:#dde5ee}.about .services .service-card.active{background:#162542;border-color:#162542}.about .service-no,.about .service-indicator{color:#607a99}.about .active .service-no,.about .active .service-indicator{color:#d4c3a6}.about .service-hint{color:#5d718a}
/* Practice atlas: interactive navigation geometry, six facets, one center. */
.expertise-atlas{background:radial-gradient(ellipse at 27% 60%,#22334c 0,#14233a 46%,#0e1b2e 100%);padding-bottom:45px;overflow:hidden}.expertise-atlas .section-label{margin-bottom:45px}.expertise-heading{display:flex;align-items:end;justify-content:space-between;gap:60px}.expertise-heading h2{margin:0}.expertise-heading>p{color:#aeb8c9;line-height:1.8;font-size:16px;margin:0 0 8px;max-width:380px}.practice-atlas{display:grid;grid-template-columns:1.4fr 1fr;gap:60px;align-items:center;margin-top:25px}.practice-map{position:relative;min-width:0;height:560px}.practice-connections{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:#c2b19328;stroke-width:.75;pointer-events:none}.practice-connections .inner-orbit{stroke-dasharray:2 7;stroke:#c2b19335}.practice-spoke{stroke:#c2b19322;transition:stroke .55s,stroke-width .55s}.practice-spoke.selected{stroke:#d3c4a9;stroke-width:1.2;stroke-dasharray:500;animation:connect-practice .85s ease both}.practice-core{position:absolute;left:50%;top:50%;translate:-50% -50%;height:140px;width:140px;border:1px solid #c2b19350;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:#17263d;box-shadow:0 0 0 11px #c2b19304}.practice-core>span{font-family:Georgia,serif;font-size:36px;letter-spacing:5px;margin-left:5px;color:#e5dac5}.practice-core small{font-size:8px;line-height:1.7;letter-spacing:2px;text-align:center;color:#b5bdc9}.practice-node{position:absolute;left:var(--x);top:var(--y);translate:-50% -50%;width:180px;min-height:95px;padding:18px 13px;border:1px solid transparent;background:#142238d9;color:#c0c9d6;cursor:pointer;text-align:center;transition:border-color .35s,background .35s,color .35s,box-shadow .35s;font-size:16px;line-height:1.4}.node-number{display:block;margin-bottom:8px;font-size:11px;letter-spacing:2px;color:#a0a4aa}.practice-node:hover{background:#26384f;border-color:#c2b19350;color:white}.practice-node.selected{background:#d1c1a6;color:#101c30;border-color:#d1c1a6;box-shadow:0 8px 35px #0002}.practice-node.selected .node-number{color:#5b5448}.map-caption{position:absolute;bottom:0;left:0;right:0;text-align:center;font-size:9px;letter-spacing:2px;color:#8f9bad}.practice-reading{border-left:1px solid #ffffff20;padding:0 0 0 45px;min-width:0}.atlas-panel{position:relative;min-height:405px;padding:43px 0 15px;animation:panel-arrive .55s both}.atlas-panel[hidden]{display:none}.atlas-number{position:absolute;top:-45px;right:0;font-family:Georgia,serif;font-size:155px;line-height:1;color:#c2b1930c;pointer-events:none}.atlas-kicker{font-size:10px;letter-spacing:2.5px;color:var(--gold);margin-bottom:22px}.atlas-panel h3{font-family:Georgia,serif;font-size:clamp(30px,3vw,45px);font-weight:400;line-height:1.15;letter-spacing:-1px;margin-bottom:24px;position:relative}.atlas-description{font-size:16px;line-height:1.8;color:#b9c4d3}.atlas-panel ul{list-style:none;padding:0;margin:23px 0 30px;display:flex;gap:8px;flex-wrap:wrap}.atlas-panel li{border:1px solid #c2b19330;padding:8px 10px;font-size:11px;color:#c7cbd0}.atlas-practice-link{display:inline-block;color:var(--gold);font-size:14px;border-bottom:1px solid #c2b19380;padding:6px 0}.atlas-practice-link:hover{color:white}.atlas-footer{border-top:1px solid #ffffff20;padding-top:28px;margin-top:32px;display:flex;align-items:center;justify-content:space-between;gap:25px;font-size:12px;color:#96a4b7}.atlas-footer a{color:#ddd1bc;border-bottom:1px solid #c2b19360;padding-bottom:5px}@keyframes connect-practice{from{stroke-dashoffset:500}to{stroke-dashoffset:0}}@keyframes panel-arrive{from{opacity:0;transform:translateX(12px)}to{opacity:1;transform:translateX(0)}}
@media(max-width:1200px){.practice-atlas{gap:30px;grid-template-columns:1.3fr 1fr}.practice-map{height:530px}.practice-node{width:155px;font-size:15px}.practice-core{width:115px;height:115px}.practice-core>span{font-size:28px}.practice-reading{padding-left:28px}.atlas-panel h3{font-size:33px}}
@media(max-width:950px){.practice-atlas{grid-template-columns:1fr;gap:35px}.practice-map{max-width:680px;width:100%;height:520px;margin:auto}.practice-node{width:180px;font-size:16px}.practice-reading{padding:25px 0 0;border-left:0;border-top:1px solid #ffffff22}.atlas-panel{min-height:280px;padding:15px 0}.atlas-number{font-size:120px;top:0}.atlas-panel h3{max-width:80%}.atlas-description{max-width:620px}.expertise-heading{gap:30px}.expertise-heading>p{max-width:290px}}
@media(max-width:760px){.hero>.brand-drawing{left:24px;bottom:12%;width:135px;opacity:.29}.brand-drawing>span{font-size:9px;letter-spacing:4px}.expertise-heading{display:block}.expertise-heading>p{margin-top:20px;max-width:100%;font-size:15px}.practice-atlas{margin-top:32px;gap:25px}.practice-map{height:auto;max-width:none}.practice-connections,.practice-core{display:none}.practice-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.practice-node{position:relative;left:auto;top:auto;translate:none;width:100%;min-height:106px;border-color:#ffffff1c;font-size:14px;padding:15px 12px;text-align:left}.node-number{font-size:10px;margin-bottom:8px}.map-caption{position:static;display:block;padding-top:20px;font-size:8px;letter-spacing:1.5px}.practice-reading{padding-top:15px}.atlas-panel{min-height:370px}.atlas-panel h3{font-size:33px;max-width:100%}.atlas-number{font-size:120px;top:-8px}.atlas-kicker{margin-bottom:22px}.atlas-footer{align-items:start;flex-direction:column;gap:18px;font-size:11px;margin-top:8px}.atlas-panel li{font-size:11px}.atlas-description{font-size:15px}.expertise-atlas{padding-bottom:35px}}
@media(prefers-reduced-motion:reduce){.justice-trace path,.brand-trace path{opacity:var(--ink);stroke-dashoffset:0}.practice-spoke.selected{stroke-dashoffset:0}}
/* Complete practice atlas: all competencies stay visible. */
.practice-map-full{height:760px}.practice-map-full .practice-node{width:190px;min-height:81px;padding:12px;font-size:15px;line-height:1.35}.practice-map-full .node-number{font-size:10px;margin-bottom:5px}.practice-map-full .practice-core{height:112px;width:112px}.practice-map-full .practice-core>span{font-size:29px}.practice-map-full .map-caption{bottom:-7px}.practice-map-full+.practice-reading{align-self:center}.practice-atlas:has(.practice-map-full){margin-top:45px}.practice-atlas:has(.practice-map-full)+.atlas-footer{margin-top:38px}
/* Contact as an architectural folio. */
.contact-studio{background:#101c30;position:relative;overflow:hidden;padding-top:70px}.contact-studio .section-label{margin-bottom:35px}.contact-studio-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:75px;align-items:center;padding-bottom:65px}.office-plan{margin:0;position:relative;isolation:isolate;height:680px;background:linear-gradient(#c2b19307 1px,transparent 1px),linear-gradient(90deg,#c2b19307 1px,transparent 1px);background-size:30px 30px;padding:40px 20px}.office-plan-border{position:absolute;inset:15px;border:1px solid #c2b19330;z-index:1;pointer-events:none}.office-plan-cross{position:absolute;inset:0;background:linear-gradient(90deg,transparent calc(50% - .5px),#c2b1931a 50%,transparent calc(50% + .5px));pointer-events:none}.office-plan-label{position:absolute;left:30px;top:27px;z-index:2;font-family:monospace;font-size:10px;letter-spacing:2px;color:#bba98e}.office-sketch{width:100%;height:100%;object-fit:contain;mix-blend-mode:screen;filter:contrast(1.02);opacity:.9}.office-plan figcaption{position:absolute;left:30px;right:30px;bottom:29px;display:flex;justify-content:space-between;gap:15px;color:#a69d8d;font-family:monospace;font-size:9px;letter-spacing:1.2px}.contact-overline{font-size:10px;letter-spacing:1.5px;color:#bba98e;margin-bottom:25px;line-height:1.6}.contact-directory h2{font-size:clamp(48px,5.5vw,82px);line-height:1.02;margin-bottom:38px}.contact-directory h2 em{color:#d0c0a6}.contact-main-email{display:inline-block;font-size:clamp(22px,2.5vw,36px);letter-spacing:-.8px;border-bottom:1px solid #c2b19350;padding-bottom:12px;margin-bottom:35px}.contact-main-email:hover{color:var(--gold)}.contact-details{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:27px 22px}.contact-details>div:first-child{grid-column:1/-1}.contact-details dt{font-size:10px;letter-spacing:1.7px;color:#a79b88;margin-bottom:11px}.contact-details dd{margin:0;font-size:16px;line-height:1.7;color:#d8dce4}.contact-details>div:first-child dd{font-size:24px;letter-spacing:-.5px}.contact-details a:hover{color:var(--gold)}.contact-actions{display:flex;align-items:center;gap:25px;margin-top:36px;flex-wrap:wrap}.contact-map-link{font-size:13px;border-bottom:1px solid #c2b19366;padding-bottom:5px;color:#d1c1a7}.office-plan.reveal.visible .office-sketch{animation:office-appear 3s ease both}@keyframes office-appear{from{opacity:0;clip-path:inset(0 0 100% 0);filter:blur(2px)}to{opacity:.9;clip-path:inset(0);filter:blur(0)}}
@media(max-width:1200px){.practice-atlas:has(.practice-map-full){grid-template-columns:1fr}.practice-map-full{max-width:720px;margin:auto;width:100%}.practice-map-full+.practice-reading{border-left:0;border-top:1px solid #ffffff22;padding:30px 0 0}.practice-map-full+.practice-reading .atlas-panel{min-height:290px}.contact-studio-grid{gap:40px;grid-template-columns:1fr 1fr}.office-plan{height:620px}.contact-directory h2{font-size:60px}.contact-main-email{font-size:27px}}
@media(max-width:760px){.practice-map-full{height:auto}.practice-map-full .practice-node{width:100%;min-height:106px;padding:14px 12px;font-size:14px}.practice-map-full .practice-core{display:none}.practice-map-full .map-caption{position:static;margin-top:5px}.practice-atlas:has(.practice-map-full){margin-top:30px}.contact-studio{padding-top:55px}.contact-studio-grid{display:flex;flex-direction:column-reverse;gap:40px;padding-bottom:40px;align-items:stretch}.contact-directory h2{font-size:58px;margin-bottom:28px}.contact-overline{font-size:9px}.contact-main-email{font-size:27px;margin-bottom:30px;overflow-wrap:anywhere}.contact-details{gap:24px 15px}.contact-details dd{font-size:15px}.contact-details>div:first-child dd{font-size:23px}.contact-actions{gap:22px;margin-top:29px}.office-plan{height:520px;padding:35px 5px}.office-plan figcaption{font-size:8px;left:23px;right:23px}.office-plan-label{left:23px;font-size:9px}}
@media(prefers-reduced-motion:reduce){.office-sketch{opacity:.9;clip-path:none;filter:none}}
/* Silver identity and a compact corporate rhythm. */
header{background:linear-gradient(180deg,#03070ef5 0%,#0a111fe8 70%,#263141ab 100%);border-bottom:1px solid #dce6f15c;box-shadow:0 1px 22px #c8dbf01a}header:after{content:'';position:absolute;bottom:-1px;left:8%;right:8%;height:1px;background:linear-gradient(90deg,transparent,#fff9,transparent);pointer-events:none}header.sticky{background:linear-gradient(180deg,#02060cf5,#131d2ff5);box-shadow:0 3px 26px #0004}.brand{width:190px;height:44px;overflow:visible}.brand img{position:static;width:100%;height:100%;object-fit:contain}nav a:after{background:#e6eef8}.header-contact{border-color:#e1e9f080;background:linear-gradient(120deg,#dce8ff12,#ffffff03);box-shadow:inset 0 1px #ffffff1a}.header-contact:hover{background:#e8edf5}.progress{background:#c7d7e9}
.justice-drawing{inset:-12px -1% -15px 3%}.justice-trace{overflow:visible;animation:trace-finish 1.8s 6.3s both}.justice-drawing .justice-finished{animation:finish-original 2s 6.3s forwards}.justice-trace path,.brand-trace path{animation:draw-original var(--duration) var(--delay) cubic-bezier(.22,.45,.38,1) forwards,ink-flight var(--duration) var(--delay) cubic-bezier(.16,.7,.28,1) both}.hero>.brand-drawing{left:1.8%;bottom:3.5%;width:clamp(230px,22vw,360px);opacity:.26}.brand-trace path{stroke-width:.65}@keyframes ink-flight{0%{opacity:0;transform:translate(var(--dx),var(--dy))}22%{opacity:.28}60%{opacity:1;transform:translate(0,0)}100%{opacity:var(--ink);transform:translate(0,0)}}
.about.section{padding-top:65px;padding-bottom:65px;background:linear-gradient(140deg,#fff 35%,#f1f5fa 100%)}.about .section-label{margin-bottom:38px}.about-grid{grid-template-columns:.85fr 1.15fr;gap:65px;margin-bottom:38px;align-items:start}.about-grid h2{font-family:Manrope,Arial,sans-serif;font-size:clamp(35px,3.7vw,58px);letter-spacing:-2px;line-height:1.12;margin:0}.about-copy .lead{font-size:21px;line-height:1.5;margin-bottom:16px}.about-copy p{font-size:16px;line-height:1.75;margin-bottom:16px}.services.service-studio{display:block;border:1px solid #d6dfe9;background:#fff;margin-top:0}.service-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-bottom:1px solid #d6dfe9;background:#edf2f7}.service-studio .service-trigger{min-height:86px;display:flex;flex-direction:row;align-items:center;gap:18px;padding:23px 27px;border-bottom:3px solid transparent;transition:background .3s,color .3s,border-color .3s}.service-studio .service-trigger+button{border-left:1px solid #d6dfe9}.service-studio .service-trigger[aria-selected=true]{background:#fff;color:#122743;border-bottom-color:#243f60}.service-studio .service-no{font-family:Georgia,serif;font-size:23px;color:#8999ad}.service-studio .service-title{font-size:21px;letter-spacing:-.5px}.service-studio .service-panel{display:grid;grid-template-columns:1.4fr 1fr;gap:17px 50px;padding:28px 32px}.service-studio .service-panel[hidden]{display:none}.services.service-studio .service-panel p{grid-row:1;font-size:16px;color:#4c6077;margin:0;line-height:1.75}.service-studio .service-panel ul{grid-column:2;grid-row:1/3;align-self:center;margin:0}.service-studio .service-panel li{border-color:#e1e7ef;color:#4e6279;padding:9px 0;font-size:14px}.service-studio .service-panel a{grid-column:1;justify-self:start;color:#233e5e;border-color:#a7b9cd;font-size:14px;padding-bottom:5px}
.expertise-atlas{background:radial-gradient(ellipse at 15% 35%,#36516c55,transparent 55%),linear-gradient(125deg,#09111f 0%,#233b57 44%,#162b46 68%,#070f1d 100%);position:relative}.expertise-atlas:before{content:'';position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(125deg,transparent 0 149px,#d5e4fa04 150px,transparent 151px);opacity:.8}.expertise-atlas>div{position:relative}.practice-node.selected{background:linear-gradient(125deg,#fff,#e5ebf3);color:#14253b;border-color:#f6f9ff;box-shadow:0 0 25px #dbe8ff1c,0 10px 30px #0002}.practice-node.selected .node-number{color:#687d96}.practice-node:hover{border-color:#dae6f580}.practice-core{border:0;border-radius:0;background:radial-gradient(ellipse,#9fb7d521,transparent 70%);box-shadow:none}.practice-core img{width:84px;height:84px;filter:drop-shadow(0 0 13px #b9d6fa66)}.practice-connections{stroke:#a9c3e52b}.practice-spoke{stroke:#b8cbe22e}.practice-spoke.selected{stroke:#edf6ff;stroke-width:2.4;filter:drop-shadow(0 0 5px #b5d8ff);stroke-dasharray:500;animation:connection-light 1.3s cubic-bezier(.2,.65,.3,1) both}@keyframes connection-light{0%{stroke-dashoffset:-500;opacity:.1;stroke-width:1}65%{stroke-width:3.8;opacity:1}100%{stroke-dashoffset:0;stroke-width:2.4;opacity:1}}.atlas-panel li{border-color:#b7cee43d}.atlas-kicker,.atlas-practice-link{color:#d1dfef}
.team-tile[data-person="4"],.team-tile[data-person="7"]{background:#fff}.team-tile[data-person="4"] img,.team-tile[data-person="7"] img{object-fit:contain;object-position:center bottom;transform-origin:center bottom;transform:scale(.88)}.team-tile[data-person="4"]:hover img,.team-tile[data-person="7"]:hover img,.team-tile[data-person="4"]:focus-visible img,.team-tile[data-person="7"]:focus-visible img{transform:scale(.91)}
.article{padding-top:0;overflow:hidden}.article-image{aspect-ratio:1.6;width:100%;overflow:hidden;margin-bottom:25px;background:#e5eaf0}.article-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s,filter .7s;filter:saturate(.7)}.article:hover .article-image img{transform:scale(1.045);filter:saturate(1)}.article-meta{flex-wrap:wrap;row-gap:8px}
.office-plan{overflow:hidden}.office-plan:after{content:'';position:absolute;left:3%;right:3%;top:7%;height:2px;background:linear-gradient(90deg,transparent,#ecf5ff,transparent);box-shadow:0 0 28px 6px #c4deff55;opacity:0;pointer-events:none;z-index:3}.office-plan.reveal.visible:after{animation:office-scan 4s .25s cubic-bezier(.25,.4,.35,1) both}.office-plan.reveal.visible .office-sketch{animation:office-draft 4.3s cubic-bezier(.2,.6,.3,1) both}.office-plan.reveal.visible .office-plan-border{animation:office-frame 1.4s ease both}@keyframes office-draft{0%{opacity:0;clip-path:inset(0 0 100% 0);transform:scale(1.06) translateY(18px);filter:blur(3px)}35%{opacity:.45}75%{opacity:1}100%{opacity:.9;clip-path:inset(0);transform:none;filter:blur(0)}}@keyframes office-scan{0%{top:7%;opacity:0}12%{opacity:.85}85%{opacity:.75}100%{top:92%;opacity:0}}@keyframes office-frame{from{opacity:0;clip-path:inset(0 100% 0 0)}to{opacity:1;clip-path:inset(0)}}
@media(max-width:1100px){.about-grid{gap:35px}.service-studio .service-trigger{padding:20px;gap:12px}.service-studio .service-title{font-size:19px}.justice-drawing{inset:0 -3% 0 -5%}.hero>.brand-drawing{width:240px;bottom:5%}}
@media(max-width:760px){.brand{width:145px;height:35px}header{gap:20px}.hero>.brand-drawing{width:165px;left:12px;bottom:8%;opacity:.25}.justice-drawing{inset:0 -3% 0 -8%}.about.section{padding-top:45px;padding-bottom:45px}.about .section-label{margin-bottom:28px}.about-grid{grid-template-columns:1fr;gap:23px;margin-bottom:28px}.about-grid h2{font-size:37px;letter-spacing:-1.2px}.about-copy .lead{font-size:19px}.service-studio .service-trigger{flex-direction:column;align-items:start;justify-content:center;padding:15px 12px;gap:10px;min-height:105px}.service-studio .service-title{font-size:15px;letter-spacing:-.3px;padding:0}.service-studio .service-no{font-size:18px}.service-studio .service-panel{grid-template-columns:1fr;gap:18px;padding:22px}.service-studio .service-panel ul{grid-column:1;grid-row:2}.service-studio .service-panel a{grid-row:3}.article-image{margin-bottom:20px}.practice-map-full .practice-node{font-size:14px}.contact-directory h2{font-size:58px}}
@media(prefers-reduced-motion:reduce){.justice-trace{display:none}.justice-drawing .justice-finished{opacity:.88;animation:none}.brand-trace path{animation:none;stroke-dashoffset:0;transform:none;opacity:var(--ink)}.practice-spoke.selected{animation:none;stroke-dashoffset:0}.office-plan.reveal.visible .office-sketch,.office-plan.reveal.visible .office-plan-border{animation:none;clip-path:none;transform:none;opacity:.9}.office-plan:after{display:none}}
/* Deep blue navigation, crisp silver lettering. */
header{background:linear-gradient(180deg,#040b19fa 0%,#0c1e38f5 65%,#1c3351e8 100%);box-shadow:0 1px 25px #afcdec1f}header.sticky{background:linear-gradient(180deg,#061026fa,#102b48f7)}.brand{background:#06152c;border-radius:3px;box-shadow:0 0 28px 13px #06152c;isolation:isolate}.brand img{opacity:1;filter:drop-shadow(0 0 1px #fff5)}nav{font-size:15px;font-weight:600;letter-spacing:.25px}nav a{color:#f4f7ff;text-shadow:0 1px 10px #c8ddf51c}.header-contact{font-weight:600;letter-spacing:.25px}
.firm-name{width:max-content;max-width:100%;font-family:Manrope,Arial,sans-serif;font-size:15px;font-weight:600;letter-spacing:2.3px;padding:12px 0 15px;border-bottom:1px solid #dae8f334;background:repeating-linear-gradient(90deg,#c6d9ed4d 0 1px,transparent 1px 12px) bottom left/100% 4px no-repeat}.firm-name:before{display:none}.firm-name:after{display:none}.firm-word{text-shadow:0 0 12px #d0e5ff1c}.firm-dot{color:#c2d9f3}
.button.gold{position:relative;overflow:hidden;border:1px solid #eef6ffb3;border-radius:4px;background:linear-gradient(125deg,#fff,#dfe8f4);color:#10233e;box-shadow:0 6px 22px #020b1829,inset 0 1px #fff;font-weight:600;letter-spacing:.15px;transition:background .3s,transform .3s,box-shadow .3s}.button.gold:after{content:'';position:absolute;inset:-100% -30%;background:linear-gradient(110deg,transparent 40%,#fff9 50%,transparent 60%);transform:translateX(-110%);transition:transform .7s;pointer-events:none}.button.gold:hover{background:#fff;transform:translateY(-2px);box-shadow:0 9px 28px #c6deff25}.button.gold:hover:after{transform:translateX(110%)}
.practice-core{isolation:isolate}.practice-core:before{content:'';position:absolute;inset:-45px;z-index:-1;background:radial-gradient(ellipse,#dfedff38,transparent 68%);opacity:.4}.practice-core.illuminated:before{animation:core-halo 1.8s ease-out both}.practice-core.illuminated img{animation:core-light 1.8s ease-out both}@keyframes core-halo{0%{opacity:.3;transform:scale(.7)}40%{opacity:1;transform:scale(1.3)}100%{opacity:.55;transform:scale(1)}}@keyframes core-light{0%{filter:drop-shadow(0 0 10px #b9d6fa66)}40%{filter:drop-shadow(0 0 19px #e3f1ff) drop-shadow(0 0 35px #b9d6fa99)}100%{filter:drop-shadow(0 0 16px #dbeeff99)}}
.team-tile[data-person="3"]{background:#fff}.team-tile[data-person="3"] img{object-fit:contain;object-position:center bottom;transform-origin:center bottom;transform:scale(.9)}.team-tile[data-person="3"]:hover img,.team-tile[data-person="3"]:focus-visible img{transform:scale(.93)}
/* An editorial photograph collection before the articles. */
.activity-gallery{margin-bottom:80px}.activity-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:30px}.activity-heading h2{margin:0}.activity-heading p{color:#66788d;line-height:1.7;max-width:270px;margin-bottom:4px}.activity-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.activity-shot{border:0;padding:0;position:relative;overflow:hidden;display:block;background:#0b1c30;cursor:zoom-in;text-align:left;height:430px}.activity-shot-1{grid-column:span 2}.activity-shot-4,.activity-shot-5{grid-column:span 2;height:330px}.activity-shot img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s,filter .8s;filter:saturate(.78)}.activity-shot-5 img{object-fit:contain}.activity-shot:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#061125cf);pointer-events:none}.activity-shot>span:first-of-type{position:absolute;bottom:23px;left:22px;right:45px;z-index:1;color:#fff;font-size:14px;font-weight:500;line-height:1.5}.activity-shot .photo-expand{position:absolute;top:15px;right:15px;border:1px solid #ffffff5c;border-radius:50%;width:33px;height:33px;display:grid;place-items:center;color:white;background:#10223973;font-size:23px;transition:background .3s;z-index:2}.activity-shot:hover img,.activity-shot:focus-visible img{transform:scale(1.025);filter:saturate(1)}.activity-shot:hover .photo-expand{background:#ecf5ff;color:#14253c}.gallery-dialog{width:min(1200px,94vw);max-height:94svh;border:1px solid #d5e5f244;padding:20px;background:#071427;color:white;overflow:auto}.gallery-dialog::backdrop{background:#020810eb;backdrop-filter:blur(10px)}.gallery-dialog figure{margin:0}.gallery-full{display:block;max-width:100%;max-height:74svh;width:auto;height:auto;margin:auto;object-fit:contain}.gallery-caption{font-size:15px;line-height:1.6;text-align:center;margin-top:18px;padding:0 35px}.gallery-close{position:absolute;top:10px;right:10px;width:42px;height:42px;border:1px solid #d6e6f255;background:#0a1b30e6;color:white;border-radius:50%;font-size:29px;cursor:pointer;z-index:3}.gallery-controls{display:flex;align-items:center;justify-content:center;gap:30px;margin-top:18px}.gallery-controls button{padding:10px 16px;background:transparent;color:#e2edfc;border:1px solid #c1d8f34d;cursor:pointer;font-size:14px}.gallery-controls button:hover{background:#e6eff9;color:#102540}.gallery-count{font-size:13px;color:#b1c5df}
/* An open drawing desk and a brighter contact directory. */
.contact-studio{background:radial-gradient(ellipse at 12% 45%,#38577966,transparent 60%),repeating-linear-gradient(125deg,transparent 0 119px,#b9cee508 120px,transparent 121px),linear-gradient(130deg,#0c1a2d 0%,#162c46 55%,#071326 100%)}.contact-studio:before{content:'';position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(#e0edfa19 .55px,transparent .55px);background-size:5px 5px;opacity:.25}.contact-studio>div,.contact-studio>footer{position:relative}.office-plan{padding:40px 0;background:none;overflow:visible}.office-plan:after{display:none}.office-plan-cross{background:linear-gradient(90deg,transparent 49.9%,#bdd8f017 50%,transparent 50.1%),linear-gradient(transparent 49.9%,#bdd8f017 50%,transparent 50.1%)}.office-plan-label,.office-plan figcaption{color:#c0d2e6}.office-sketch{filter:grayscale(1) contrast(1.8);mix-blend-mode:screen;mask-image:radial-gradient(ellipse,black 54%,transparent 76%)}.office-trace{display:none;position:absolute;inset:40px 0;width:100%;height:calc(100% - 80px);overflow:visible;mask-image:radial-gradient(ellipse,black 54%,transparent 78%);pointer-events:none}.js-motion .office-trace{display:block}.office-trace path{stroke:var(--stroke);stroke-dasharray:1;stroke-dashoffset:1;opacity:0}.js-motion .office-plan:not(.visible) .office-sketch{opacity:0}.office-plan.reveal.visible .office-trace path{animation:draw-original var(--duration) var(--delay) ease forwards,ink-flight var(--duration) var(--delay) cubic-bezier(.16,.7,.28,1) both}.office-plan.reveal.visible .office-trace{animation:office-trace-end 2s 5.2s both}.office-plan.reveal.visible .office-sketch{animation:office-final 2.6s 4.8s both}@keyframes office-trace-end{from{opacity:1}to{opacity:0}}@keyframes office-final{from{opacity:0}to{opacity:.9}}
.contact-directory{padding:20px 0}.contact-directory h2{font-family:Manrope,Arial,sans-serif;font-size:clamp(52px,5.5vw,80px);font-weight:400;letter-spacing:-3px;color:#fff;margin-bottom:28px}.contact-main-email{color:#fff;border-color:#bfd5ef7a;transition:color .3s}.contact-main-email:hover{color:#bddbff}.contact-details{grid-template-columns:1fr 1fr;gap:26px}.contact-details>div:first-child{grid-column:1;order:1}.contact-details>div:nth-child(3){order:2}.contact-details>div:nth-child(2){order:3;grid-column:1/-1;background:linear-gradient(120deg,#fff,#e1ebf7);padding:27px 30px;border-radius:3px;box-shadow:0 12px 30px #0002;position:relative;border-left:3px solid #b2c9e6}.contact-details dt{color:#b8cbe0;font-size:12px;letter-spacing:1.8px}.contact-details dd{color:#f2f7ff}.contact-details>div:nth-child(2) dt{color:#58718e}.contact-details>div:nth-child(2) dd{font-family:Manrope,Arial,sans-serif;color:#122742;font-size:clamp(21px,2.1vw,30px);line-height:1.5;letter-spacing:-.7px}.contact-details>div:first-child dd{font-size:clamp(20px,2vw,28px);white-space:nowrap}.contact-details a:hover{color:#bfdcff}.contact-map-link{color:#e6f0ff;border-color:#d2e5ff85;font-size:14px}.contact-map-link:hover{color:white}.contact-actions{margin-top:28px;gap:28px}.contact-studio footer{border-color:#c9dbf32e}
@media(max-width:1100px){.activity-shot{height:350px}.activity-shot-4,.activity-shot-5{height:270px}.contact-details{gap:21px 17px}.contact-details>div:nth-child(2){padding:24px}.contact-details>div:first-child dd{font-size:20px}}
@media(max-width:760px){nav{font-size:16px}.firm-name{font-size:11px;letter-spacing:1.45px;padding:10px 0 13px}.activity-heading{display:block}.activity-heading h2{font-size:38px}.activity-heading p{margin:18px 0 0;max-width:none}.activity-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.activity-shot{height:290px}.activity-shot-1,.activity-shot-4,.activity-shot-5{grid-column:span 2;height:auto;aspect-ratio:1.6}.activity-shot>span:first-of-type{left:13px;bottom:14px;right:15px;font-size:12px}.activity-shot .photo-expand{width:28px;height:28px;font-size:20px;top:10px;right:10px}.activity-gallery{margin-bottom:55px}.gallery-dialog{padding:12px;width:96vw}.gallery-full{max-height:70svh}.gallery-caption{padding:0 12px;font-size:14px}.gallery-controls{gap:18px}.gallery-controls button{font-size:13px;padding:10px 13px}.contact-directory h2{font-size:58px}.contact-details>div:nth-child(2) dd{font-size:23px}.office-plan{padding:35px 0}.office-trace{inset:35px 0;height:calc(100% - 70px)}.brand{box-shadow:0 0 20px 8px #06152c}}
@media(prefers-reduced-motion:reduce){.practice-core.illuminated:before,.practice-core.illuminated img{animation:none}.office-trace,.js-motion .office-trace{display:none}.office-plan.reveal.visible .office-sketch,.js-motion .office-plan .office-sketch{animation:none;opacity:.9}.button.gold:after{display:none}.activity-shot img{transition:none}}
/* Optical brand sizing: sharp white detail, no luminous blur. */
header .brand{width:246px;height:62px;padding:5px 9px;background:#061327;border:1px solid #c2d6ed24;border-radius:2px;box-shadow:none;display:flex;align-items:center}header .brand img{position:static;width:100%;height:100%;filter:none;opacity:1;object-fit:contain}.hero>.brand-drawing{opacity:.43}.hero>.brand-drawing .brand-trace path{stroke-width:.85}
.firm-name{font-family:Georgia,'Times New Roman',serif;font-size:17px;letter-spacing:3.1px;font-weight:400;padding:7px 0 19px;background:none;border:0;position:relative;gap:17px}.firm-name:after{content:'';display:block;position:absolute;left:0;bottom:0;width:100%;height:1px;background:linear-gradient(90deg,#d9e8fba6,#ffffffd9 60%,transparent);transform-origin:left;transform:scaleX(0);animation:signature-line 2.8s .8s cubic-bezier(.2,.6,.25,1) forwards}.firm-word{text-shadow:none}.firm-name:before{display:none}.firm-dot{font-size:13px;color:#b9cee5}@keyframes signature-line{to{transform:scaleX(1)}}
.justice-trace{animation:justice-ink-settle 3.5s 5.8s both}.justice-drawing .justice-finished{animation:justice-paper-settle 3.5s 5.8s both}@keyframes justice-ink-settle{0%{opacity:.86}35%{opacity:.72}75%{opacity:.22}100%{opacity:0}}@keyframes justice-paper-settle{0%{opacity:0}35%{opacity:.17}75%{opacity:.68}100%{opacity:.88}}
.about.section{background:linear-gradient(#2e4e7010 1px,transparent 1px),linear-gradient(90deg,#2e4e7010 1px,transparent 1px),linear-gradient(#2e4e7006 1px,transparent 1px),linear-gradient(90deg,#2e4e7006 1px,transparent 1px),#fff;background-size:160px 160px,160px 160px,20px 20px,20px 20px}.about .services.service-studio{background:#ffffffed}.expertise-heading{justify-content:flex-start}
.practice-modal-trigger{background:none;border:0;border-bottom:1px solid #c6daee88;padding:8px 0;color:#e0edff;font-size:15px;cursor:pointer;transition:color .3s,border-color .3s}.practice-modal-trigger:hover{color:white;border-color:white}.practice-dialog{width:min(900px,calc(100% - 48px));max-height:88svh;padding:0;border:1px solid #a9bdd54d;background:#f9fbfe;color:#1b2c43;overflow:auto;overscroll-behavior:contain}.practice-dialog::backdrop{background:#031022db;backdrop-filter:blur(9px)}.practice-dialog-top{position:sticky;top:0;z-index:2;background:#10223b;color:#d8e7f7;display:flex;align-items:center;justify-content:space-between;padding:15px 27px;border-bottom:1px solid #afc9e52e;font-size:12px;letter-spacing:2px}.practice-dialog-close{width:38px;height:38px;background:transparent;color:white;border:1px solid #bcd2ec66;font-size:25px;cursor:pointer}.practice-dialog-content{padding:44px 55px 50px}.practice-dialog h2{font-family:Georgia,serif;font-weight:400;font-size:clamp(32px,3.4vw,46px);line-height:1.15;margin-bottom:30px;color:#132a47}.practice-full-text p{font-size:17px;line-height:1.85;margin:0 0 20px;color:#42556d}.practice-full-text ul,.practice-full-text ol{padding-left:24px;line-height:1.8}.practice-full-text li{margin-bottom:12px}.practice-full-text h3{font-size:23px;margin:28px 0 15px}.practice-full-text strong{font-weight:600;color:#233c5a}.practice-dialog-contact{display:inline-block;margin-top:15px;border-bottom:1px solid #405f83;padding-bottom:7px;color:#173f6c;font-size:15px}
@media(max-width:1100px){header .brand{width:205px;height:54px}.firm-name{font-size:15px;letter-spacing:2.3px}}
@media(max-width:760px){header .brand{width:160px;height:44px;padding:4px 6px}.firm-name{font-size:12px;letter-spacing:1.55px;gap:9px;padding-bottom:16px}.hero>.brand-drawing{opacity:.4}.practice-dialog{width:calc(100% - 24px);max-height:92svh}.practice-dialog-content{padding:30px 23px}.practice-dialog-top{padding:11px 18px;font-size:11px}.practice-full-text p{font-size:16px;line-height:1.8}.practice-dialog h2{font-size:33px}}
@media(prefers-reduced-motion:reduce){.firm-name:after{animation:none;transform:scaleX(1)}.justice-drawing .justice-finished{animation:none;opacity:.88}.justice-trace{display:none}}
/* A softer edge to the navigation and a restrained ruled-paper surface. */
header{border-bottom:0;box-shadow:none;background:linear-gradient(180deg,#040c1afc 0%,#0b1b31ed 70%,#12253b99 100%)}header:after{left:0;right:0;bottom:-30px;height:31px;background:linear-gradient(180deg,#12253b99,transparent);box-shadow:none}header.sticky{border-bottom:0;box-shadow:none;background:linear-gradient(180deg,#061326fc,#11273deb)}header.sticky:after{background:linear-gradient(180deg,#11273deb,transparent);height:23px;bottom:-22px}
.about.section{background:#fff;background-image:repeating-linear-gradient(180deg,transparent 0 37px,#788ca215 37px 38px);background-size:auto;background-position:0 10px}.service-studio .service-trigger[aria-selected=true]{color:white;background:linear-gradient(125deg,#10223b,#203c5c);border-bottom-color:#a7c3e1}.service-studio .service-trigger[aria-selected=true] .service-no{color:#cfdef0}.service-studio .service-trigger[aria-selected=true] .service-title{color:white}.service-studio .service-trigger:focus-visible{outline-color:#91b7df}
.hero h1{font-family:'DM Sans',Arial,sans-serif;font-weight:400;letter-spacing:-2.5px;line-height:1.17}.hero h1 em{font-family:'Lora',Georgia,serif;font-weight:400;letter-spacing:-2px}
/* Keep the completed linework instead of revealing a filled photograph. */
.office-plan .office-sketch{display:none}.office-plan .office-trace{display:block;opacity:.82}.office-plan .office-trace path{stroke-dashoffset:0;opacity:var(--ink)}.js-motion .office-plan:not(.visible) .office-trace path{stroke-dashoffset:1;opacity:0}.office-plan.reveal.visible .office-trace{animation:office-line-settle 2s 5.2s both}@keyframes office-line-settle{from{opacity:1}to{opacity:.82}}
.activity-shot-6,.activity-shot-7{grid-column:span 2;height:370px}.activity-shot-7{background:#f7f5f3}.activity-shot-7 img{object-fit:contain}
@media(max-width:760px){.hero h1{letter-spacing:-1.15px}.hero h1 em{letter-spacing:-.9px}.activity-shot-6,.activity-shot-7{height:auto;aspect-ratio:1.45}.activity-shot-7{aspect-ratio:1.05}.about.section{background-image:repeating-linear-gradient(180deg,transparent 0 33px,#788ca212 33px 34px)}}
@media(prefers-reduced-motion:reduce){.office-plan .office-trace,.js-motion .office-plan .office-trace{display:block;animation:none;opacity:.82}.office-plan .office-trace path,.js-motion .office-plan:not(.visible) .office-trace path{animation:none;opacity:var(--ink);stroke-dashoffset:0;transform:none}}
/* Clear identity without a separate badge. */
header .brand{width:246px;height:62px;padding:0;background:transparent;border:0;box-shadow:none;border-radius:0}header .brand img{width:100%;height:100%;filter:none}.language-switch{display:flex;align-items:center;gap:3px;flex-shrink:0;padding:4px;border:1px solid #c7daef30;border-radius:3px;font-size:12px;font-weight:600}.language-switch a{padding:7px 8px;color:#a9bdd6;transition:background .25s,color .25s}.language-switch a[aria-current=page]{background:#e5effb;color:#122743;border-radius:2px}.language-switch a:hover{color:#fff;background:#ffffff16}.language-switch a[aria-current=page]:hover{background:white;color:#122743}header{gap:24px}nav{gap:25px}
.firm-name{font-family:'Courier New',monospace;font-weight:500;letter-spacing:1.8px;display:block;width:max-content;max-width:100%;padding:7px 0 13px}.firm-name:after{display:none}.typed-name{display:block;white-space:nowrap;overflow:hidden;clip-path:inset(0 100% 0 0);border-right:1px solid #daeaff;animation:firm-type 3.3s .45s steps(23,end) forwards,firm-caret .75s step-end 6 forwards}@keyframes firm-type{to{clip-path:inset(0 0 0 0)}}@keyframes firm-caret{0%,100%{border-color:transparent}50%{border-color:#daeaff}}
.about.section.about-corporate{background:radial-gradient(ellipse at 95% 0%,#e6edf766,transparent 50%),linear-gradient(125deg,#fff 0 62%,#f6f8fb 62% 76%,#fff 76%);padding-top:66px;padding-bottom:70px}.about-corporate .about-grid{grid-template-columns:.9fr 1.1fr;gap:65px;align-items:center;margin-bottom:40px}.about-corporate .about-grid h2{font-size:clamp(36px,3.5vw,55px);font-weight:500}.about-corporate .about-copy{border-left:2px solid #d4e0ef;padding-left:32px}.about-corporate .services.service-studio{display:grid;grid-template-columns:280px 1fr;border:1px solid #dee5ee;box-shadow:0 15px 45px #1b36560a;background:#fff}.about-corporate .service-tabs{display:flex;flex-direction:column;border-bottom:0;border-right:1px solid #dee5ee;background:#f3f6fa}.about-corporate .service-trigger{flex:1;min-height:84px;border:0;border-bottom:1px solid #dde5ee;padding:23px 27px;gap:18px}.about-corporate .service-trigger+button{border-left:0}.about-corporate .service-trigger:last-child{border-bottom:0}.about-corporate .service-title{font-size:20px}.about-corporate .service-content{display:flex;align-items:center;min-width:0}.about-corporate .service-panel{width:100%;grid-template-columns:1.25fr 1fr;gap:22px 35px;padding:30px 34px}.about-corporate .service-panel p{font-size:16px}.team-atlas h2 em,.perspectives h2 em{color:#426486}.tile-role,.profile-role,.profile-areas{color:#b9cde5}.profile-role,.profile-areas{color:#416487}.profile-email,.profile-phone{font-size:15px;color:#173b65;border-bottom:1px solid #8ea8c6;padding:8px 0;display:table;overflow-wrap:anywhere;margin-top:8px}.profile-phone[hidden],.profile-email[hidden],.profile-contact-note[hidden]{display:none}.profile-contact-note{font-size:13px;color:#60758d;line-height:1.6}.office-plan .office-trace{mask-image:none;-webkit-mask-image:none;opacity:.94}.office-plan.reveal.visible .office-trace{animation:office-details-settle 2s 5.2s both}@keyframes office-details-settle{from{opacity:1}to{opacity:.94}}
@media(max-width:1200px){header{gap:16px}nav{gap:18px;font-size:14px}header .brand{width:200px}.header-contact{padding:12px 16px}.language-switch{font-size:11px}.language-switch a{padding:6px}.about-corporate .services.service-studio{grid-template-columns:230px 1fr}.about-corporate .service-panel{grid-template-columns:1fr;gap:18px}.about-corporate .service-panel ul{grid-column:1;grid-row:2;display:flex;flex-wrap:wrap;gap:8px}.about-corporate .service-panel li{border:1px solid #e0e8f0;padding:7px 9px;font-size:12px}.about-corporate .service-panel a{grid-row:3}}
@media(min-width:761px) and (max-width:950px){header{padding-left:28px;padding-right:28px;gap:12px}header .brand{width:155px;height:48px}nav{gap:14px;font-size:13px}.header-contact{padding:11px 13px}.language-switch a{padding:5px}.about-corporate .about-grid{gap:35px}.about-corporate .about-copy{padding-left:24px}}
@media(max-width:760px){header .brand{width:148px;height:43px}header,header.sticky{gap:12px}.language-switch{margin-left:auto}.language-switch a{padding:6px;font-size:11px}.firm-name{font-size:11px;letter-spacing:1px}.about.section.about-corporate{padding-top:45px;padding-bottom:45px}.about-corporate .about-grid{grid-template-columns:1fr;gap:24px;margin-bottom:30px}.about-corporate .about-copy{padding-left:0;border-left:0}.about-corporate .services.service-studio{grid-template-columns:1fr}.about-corporate .service-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:0}.about-corporate .service-trigger{padding:17px 12px;gap:11px;min-height:105px;border-bottom:1px solid #dce4ee}.about-corporate .service-trigger+button{border-left:1px solid #dce4ee}.about-corporate .service-title{font-size:14px}.about-corporate .service-panel{padding:24px}.about-corporate .service-panel ul{display:block}.about-corporate .service-panel li{border:0;border-top:1px solid #e0e8f0;padding:9px 0;font-size:14px}.office-plan{height:560px}}
@media(prefers-reduced-motion:reduce){.typed-name{clip-path:none;animation:none;border:0}.office-plan .office-trace,.js-motion .office-plan .office-trace{animation:none;opacity:.94}}
/* Original white artwork, without optical filters or redrawn geometry. */
header .brand{background:transparent;border:0;box-shadow:none;padding:0}header .brand img{filter:none;opacity:1}
.expertise-heading h2 em{color:#e4edf7}.team-atlas h2 em,.perspectives .activity-heading h2 em{color:#193653}
header:after{height:6px;bottom:-5px;background:linear-gradient(180deg,#10233a1c,transparent)}header.sticky:after{height:5px;bottom:-4px;background:linear-gradient(180deg,#10233a15,transparent)}header,header.sticky{box-shadow:none}
.contact-details>div.address-card{position:relative;isolation:isolate;overflow:hidden;border:1px solid #fff9;border-left:0;border-radius:5px;padding:27px 30px 23px;background:linear-gradient(125deg,#ffffff 0%,#f9fbff 67%,#eaf0f8 100%);box-shadow:0 12px 30px #030d191c,inset 0 1px 0 #fff;transition:transform .35s,box-shadow .35s}.contact-details>div.address-card:before{content:'';position:absolute;right:-55px;bottom:-70px;width:170px;height:170px;border:1px solid #879fbe1c;transform:rotate(35deg);z-index:-1}.contact-details>div.address-card:after{content:'';position:absolute;right:-20px;bottom:-80px;width:170px;height:170px;border:1px solid #879fbe17;transform:rotate(35deg);z-index:-1}.contact-details>div.address-card:hover{transform:translateY(-2px);box-shadow:0 16px 35px #030d1928}.contact-details>div.address-card dt{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:23px;color:#607692;font-size:11px;letter-spacing:2px}.address-card-logo{width:108px;height:auto;filter:brightness(0) saturate(100%);opacity:.8}.contact-details>div.address-card dd{font-size:clamp(21px,2.05vw,29px);line-height:1.5;color:#142e4b;letter-spacing:-.65px}.address-card-signature{display:block;font-family:Georgia,serif;font-size:14px;letter-spacing:.4px;margin-top:23px;padding-top:14px;border-top:1px solid #c8d4e459;color:#516782}
@media(max-width:760px){.contact-details>div.address-card{padding:23px}.contact-details>div.address-card dd{font-size:23px}.address-card-logo{width:96px}.address-card-signature{font-size:13px}}
@media(prefers-reduced-motion:reduce){.contact-details>div.address-card{transition:none}.contact-details>div.address-card:hover{transform:none}}

/* Local editorial reading room: white paper, navy typography, full-length copy. */
button.text-link{background:none;border:0;border-bottom:1px solid currentColor;border-radius:0;color:inherit;cursor:pointer;text-align:left}
button.article{display:block;width:100%;text-align:left;font:inherit;color:inherit;background:transparent;border:0;border-top:1px solid var(--line);padding:0;cursor:pointer}
.reading-dialog{border:1px solid #cbd5e1;padding:0;width:min(1040px,calc(100% - 48px));max-width:none;max-height:91svh;background:#fff;color:#182b44;overflow:auto;overscroll-behavior:contain;box-shadow:0 30px 100px #030b1e55}
.reading-dialog::backdrop{background:#071427d9;backdrop-filter:blur(9px)}
.reading-dialog[open]{animation:service-in .3s ease both}
.reading-toolbar{position:sticky;top:0;z-index:3;display:flex;align-items:center;gap:24px;padding:18px 30px;background:#fffefcf5;background:#fffffff5;backdrop-filter:blur(16px);border-bottom:1px solid #e2e7ee}
.reading-brand{font-family:Georgia,serif;font-size:22px;letter-spacing:5px;color:#173452}
.reading-close,.reading-back{border:0;background:none;color:#253c56;font-size:14px;cursor:pointer;padding:8px 10px;min-height:40px}
.reading-close{margin-left:auto;display:flex;align-items:center;gap:16px;font-size:26px;line-height:1}.reading-close span{font-size:14px}.reading-back{border-bottom:1px solid #bdc9d7}.reading-back[hidden]{display:none}
.reading-inner{padding:48px clamp(24px,6vw,85px) 70px}
.reading-meta{font-size:12px;letter-spacing:1px;color:#65758a;line-height:1.8;margin-bottom:20px}
#reading-title{font-family:'Lora',Georgia,serif;font-size:clamp(28px,3.1vw,46px);font-weight:400;line-height:1.25;letter-spacing:-1px;margin-bottom:32px;overflow-wrap:anywhere;outline:none}
.reading-cover{display:block;width:100%;height:clamp(190px,28vw,350px);object-fit:cover;margin:0 0 40px;background:#edf1f5}.reading-cover[hidden]{display:none}
.reading-body{font-size:17px;line-height:1.9;color:#3d4d60;overflow-wrap:anywhere}
.reading-body p{margin:0 0 1.3em}.reading-body h2{font-family:'DM Sans',Arial,sans-serif;font-size:26px;font-weight:500;line-height:1.35;letter-spacing:-.5px;margin:2em 0 1em;color:#173452}
.reading-body h3,.reading-body h4{font-size:21px;line-height:1.4;letter-spacing:-.3px;margin:1.8em 0 .8em;color:#173452}
.reading-body a{color:#244d77;text-decoration:underline;text-underline-offset:4px}.reading-body [id]{scroll-margin-top:110px}
.reading-body blockquote{margin:28px 0;padding:18px 25px;border-left:3px solid #59758e;background:#f4f7fa;color:#344c66;font-family:Georgia,serif}
.reading-body strong{font-weight:600;color:#213c59}.reading-body .reading-lead{font-size:23px;line-height:1.55;color:#193653}
.reading-archive{display:grid;gap:0}.archive-entry{display:grid;grid-template-columns:160px 1fr;gap:26px;padding:26px 0;background:none;border:0;border-bottom:1px solid #dce3eb;color:#18334f;text-align:left;cursor:pointer}
.archive-entry:first-child{padding-top:0}.archive-entry img{width:160px;height:140px;object-fit:cover;background:#eef2f6;transition:filter .25s}.archive-entry>span{display:flex;flex-direction:column;align-items:start;gap:12px}.archive-entry small{font-size:12px;line-height:1.5;color:#677b91}.archive-entry strong{font-family:'Lora',Georgia,serif;font-size:21px;line-height:1.4;font-weight:400}.archive-read{font-size:13px;border-bottom:1px solid #9baec2;margin-top:auto;padding-bottom:3px}.archive-entry:hover img{filter:brightness(1.08)}
.team-dialog{max-width:1100px;background:#fff}.team-dialog[open]{grid-template-columns:.75fr 1.25fr;align-items:start}.profile-photo{position:sticky;top:0;height:80svh;min-height:0;max-height:800px;object-position:50% 20%}.profile-content{padding:62px 42px 42px}.profile-bio p{margin:0 0 1.15em}.profile-role,.profile-areas{color:#365474}.profile-close{position:sticky;grid-column:2;grid-row:1;justify-self:end;top:12px;margin:12px 12px -50px 0;background:#fff;z-index:3}.profile-photo{grid-column:1;grid-row:1}.profile-content{grid-column:2;grid-row:1}.profile-content .profile-phone{white-space:nowrap}
@media(max-width:760px){.reading-dialog{width:calc(100% - 16px);max-height:95svh}.reading-toolbar{padding:10px 16px;gap:10px}.reading-brand{font-size:18px}.reading-back{font-size:12px}.reading-inner{padding:28px 23px 40px}.reading-body{font-size:16px;line-height:1.85}.reading-body h2{font-size:23px}.reading-cover{height:200px;margin-bottom:28px}.archive-entry{grid-template-columns:90px 1fr;gap:16px;padding:22px 0}.archive-entry img{width:90px;height:110px}.archive-entry strong{font-size:17px}.archive-entry small{font-size:11px}.team-dialog[open]{display:block}.profile-photo{position:static;height:290px;max-height:none;object-fit:contain;background:#f5f6f8}.profile-content{padding:30px 25px}.profile-close{float:right;margin:12px 12px -50px 0;top:12px}.reading-close span{font-size:12px}}
@media(prefers-reduced-motion:reduce){.reading-dialog[open]{animation:none}}

/* Preserve supplied editorial artwork and its embedded titles in full. */
.article-image.article-artwork{aspect-ratio:3/2;background:#edf0f3}.article-image.article-artwork img{width:100%;height:100%;object-fit:contain;transform:none;filter:none}.article:hover .article-artwork img{transform:none;filter:none}.reading-cover.full-artwork{height:auto;max-height:none;object-fit:contain}.archive-entry img.full-artwork{object-fit:contain;background:#edf0f3}
