:root{--ink:#202524;--muted:#626762;--red:#a51e2b;--paper:#f6f5f1;--line:#dcded7;--sans:'DM Sans',Arial,sans-serif;--serif:'Playfair Display',Georgia,serif;--ease:cubic-bezier(.2,.7,.2,1);--pad:clamp(22px,5vw,84px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:120px}body{margin:0;background:white;color:var(--ink);font:400 16px/1.7 var(--sans)}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,input,textarea,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{max-width:100%;display:block}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.15;font-weight:500}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid #bb4551;outline-offset:5px}.shell{width:calc(100% - 2 * var(--pad));max-width:1320px;margin-inline:auto}.section{padding:110px 0}.title{font-size:clamp(36px,4.15vw,62px);letter-spacing:-.045em;margin-bottom:26px}.title em{font-family:var(--serif);font-weight:500}p{margin-bottom:22px}.lead{font-size:18px;line-height:1.7;color:var(--muted)}.eyebrow{font-size:13px;letter-spacing:.13em;text-transform:uppercase;color:var(--red);margin-bottom:24px;font-weight:600}.skip-link{position:fixed;left:16px;top:-80px;background:#fff;padding:12px 20px;z-index:200}.skip-link:focus{top:12px}.scroll-progress{position:fixed;inset:0 auto auto 0;width:100%;height:3px;background:var(--red);z-index:100;transform:scaleX(var(--scroll,0));transform-origin:left}
.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;background:var(--red);color:#fff;border:1px solid transparent;border-radius:50px;padding:9px 10px 9px 26px;min-height:55px;transition:background .25s,color .25s}.btn>span{display:grid;place-items:center;width:36px;height:36px;flex-shrink:0;background:white;color:var(--ink);border-radius:50%;font-size:22px}.btn:hover,.btn:focus-visible{background:#791720;color:white}.btn--dark{background:var(--ink)}.btn--light{background:white;color:var(--ink);padding:13px 24px;min-height:48px}.text-link{display:inline-flex;gap:18px;align-items:center;border-bottom:1px solid #ffffff80;padding:10px 0}.text-link:hover{border-color:#fff}
.topbar{position:absolute;top:0;left:0;width:100%;z-index:10;color:#eee;height:55px;font-size:13px}.topbar .shell{display:flex;justify-content:space-between;align-items:center;height:100%}.topbar__links{display:flex;gap:28px}.header{position:absolute;top:55px;left:24px;right:24px;z-index:30;border:1px solid #ffffff30;border-radius:70px;background:#ffffff16;backdrop-filter:blur(20px);color:white;transition:background .25s}.header__inner{width:100%;padding:16px 28px;min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:26px;max-width:none}.official-brand{display:flex;align-items:center;gap:10px;flex:none;width:230px;filter:brightness(0) invert(1)}.official-brand__symbol{display:block;flex:none;width:32px;height:47.2px;background:url('d-law-original.webp') -64px 0/159.6px 66.4px no-repeat}.official-brand__word{display:block;flex:none;width:176px;height:16.8px;background:url('d-law-original.webp') 0 -56.46px/176px 73.22px no-repeat}.nav{display:flex;align-items:center;gap:30px;font-size:14px}.nav>a:not(.btn):hover{color:#f1bac0}.header.is-scrolled{position:fixed;top:14px;background:#202524f2;box-shadow:0 6px 28px #0002}.header.is-scrolled .header__inner{min-height:76px;padding-block:10px}.menu{display:none;background:none;border:0;color:inherit;font-size:27px;min-width:44px;min-height:44px}
.hero{position:relative;min-height:820px;height:min(960px,100svh);color:white;display:flex;align-items:center;background:linear-gradient(90deg,rgba(15,24,24,.89) 0%,rgba(15,24,24,.76) 38%,rgba(15,24,24,.2) 100%),url('office.jpg') center/cover no-repeat;isolation:isolate}.hero:after{content:'';position:absolute;inset:60% 0 0;background:linear-gradient(transparent,#172322a6);z-index:-1}.hero__content{padding-top:80px}.hero .eyebrow{color:#edbdc2}.hero h1{font-size:clamp(52px,6.4vw,96px);letter-spacing:-.045em;line-height:1.08;margin:0 0 26px;max-width:1000px}.hero h1 em{font-family:var(--serif);font-weight:500;color:#fff}.hero__copy{font-size:18px;line-height:1.75;max-width:530px;color:#e0e4e1}.hero__actions{display:flex;align-items:center;gap:36px;margin-top:32px}.hero__bottom{position:absolute;bottom:34px;left:0;right:0;display:flex;justify-content:space-between;align-items:center;border-top:1px solid #ffffff3d;padding-top:22px;font-size:13px;letter-spacing:.08em}.hero__bottom>a{letter-spacing:0;font-size:14px}.hero__bottom>a span{margin-left:20px}
.about{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(40px,7vw,110px)}.about__visual{height:550px;position:relative;border-radius:24px;overflow:hidden;background:#e5e5e2}.about__visual>img{height:100%;width:100%;object-fit:cover;object-position:center 25%;filter:saturate(.7)}.about__visual:after{content:'';position:absolute;inset:65% 0 0;background:linear-gradient(transparent,#172322a6)}.portrait-caption{position:absolute;bottom:25px;left:28px;color:white;font-size:14px;z-index:2}.experience{position:absolute;right:24px;top:24px;background:white;border-radius:16px;padding:20px 24px;z-index:2;box-shadow:0 8px 30px #0001}.experience strong{font-size:35px;display:block;line-height:1.2;letter-spacing:-.04em}.experience span{font-size:12px;color:var(--muted)}.about p:not(.lead){color:var(--muted)}.about .btn{margin-top:8px}.firm-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;padding-bottom:90px}.firm-facts strong{display:block;font-weight:500;font-size:clamp(32px,3.7vw,54px);letter-spacing:-.04em;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:16px;line-height:1.2}.firm-facts span{color:var(--muted);font-size:15px}
.jurisdictions{padding:26px 0;overflow:hidden;border-block:1px solid var(--line);background:var(--paper)}.jurisdictions__track{display:flex;width:max-content;animation:countries-loop var(--countries-duration,35s) linear infinite;white-space:nowrap;font-size:13px;text-transform:uppercase;letter-spacing:.1em}.jurisdictions__group{display:flex;align-items:center;gap:46px;padding-right:46px;flex:none}.jurisdictions__track span:after{content:'◆';color:var(--red);margin-left:46px;font-size:9px}@keyframes countries-loop{to{transform:translateX(calc(-1 * var(--countries-distance,1500px)))}}
.services{background:var(--paper)}.services>.shell{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(35px,6vw,90px);align-items:start}.services__head{position:sticky;top:135px}.services__head .title{font-size:clamp(36px,3.8vw,56px)}.services__head .lead{max-width:420px}.service-grid{border-top:1px solid #bfc5bc}.service{border-bottom:1px solid #bfc5bc;padding:0 0 0 0;transition:background .2s}.service summary{display:flex;align-items:center;gap:20px;list-style:none;cursor:pointer;min-height:104px;padding:26px 12px}.service summary::-webkit-details-marker{display:none}.service__num{font-size:13px;color:var(--red);flex:0 0 25px}.service h3{font-size:clamp(21px,2vw,28px);letter-spacing:-.025em;margin:0;flex:1}.service__toggle{position:relative;display:grid;place-items:center;border:1px solid #bfc5bc;width:40px;height:40px;border-radius:50%;flex:none;transition:background .3s,border-color .3s}.service__toggle::before,.service__toggle::after{content:"";position:absolute;top:50%;left:50%;width:14px;height:2px;background:currentColor;border-radius:1px;transform:translate(-50%,-50%)}.service__toggle::after{transform:translate(-50%,-50%) rotate(90deg)}.service[open] .service__toggle{background:var(--red);border-color:var(--red);color:white}.service[open] .service__toggle::before{transform:translate(-50%,-50%) rotate(45deg)}.service[open] .service__toggle::after{transform:translate(-50%,-50%) rotate(-45deg)}.service[open]{background:white;border-radius:16px;padding-inline:18px;margin-top:12px}.service ul{margin:0 30px 28px 45px;padding-left:20px;color:var(--muted);font-size:16px}.service li{margin-bottom:10px}.service summary:hover h3{color:var(--red)}
.why__heading{text-align:center;max-width:760px;margin-bottom:55px}.why__heading .lead{max-width:580px;margin:0 auto}.why{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:stretch}.global-panel{background:#202e30;border-radius:24px;padding:42px 34px 25px;display:flex;flex-direction:column;color:#fff;overflow:hidden;min-width:0}.global-panel .eyebrow{color:#efb2bb}.global-panel h3{font-size:clamp(28px,2.6vw,38px);letter-spacing:-.035em}.global-panel canvas{width:100%;height:245px;display:block;margin:auto 0}.global-panel p{font-size:14px;color:#d0d9d5;border-top:1px solid #ffffff2e;padding-top:20px;margin:18px 0 0}.why__list{border-top:1px solid var(--line)}.why__item{display:grid;grid-template-columns:32px 1fr;gap:18px;padding:26px 0;border-bottom:1px solid var(--line)}.why__item>span{color:var(--red);font-size:13px;padding-top:6px}.why__item h3{font-size:24px;letter-spacing:-.025em;margin:0 0 10px}.why__item p{font-size:16px;color:var(--muted);margin:0}
.team{background:#f6f5f1}.team__head{display:flex;align-items:end;justify-content:space-between;gap:50px}.team__head>.lead{max-width:380px}.team-slider__controls{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin:15px 0 25px}.team-slider__count{margin-right:auto;color:var(--muted);font-size:14px}.team-slider__controls button{width:48px;height:48px;border-radius:50%;border:1px solid #b9c0b9;background:transparent;color:var(--ink);font-size:22px}.team-slider__controls button:not(:disabled):hover{background:var(--ink);color:white}.team-slider__controls button:disabled{opacity:.3;cursor:default}.people-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:28px;padding:4px 0 20px;scrollbar-width:none;overscroll-behavior-x:contain}.people-grid::-webkit-scrollbar{display:none}.person{flex:0 0 calc((100% - 56px)/3);min-width:0;scroll-snap-align:start}.person__image{aspect-ratio:4/4.2;overflow:hidden;background:#d9dcd6;border-radius:20px}.person__image img{width:100%;height:100%;object-fit:cover;object-position:center 20%;filter:saturate(.65);transition:transform .5s}.person:hover .person__image img{transform:scale(1.035)}.person__info{padding:23px 0 0}.person__info h3{font-size:25px;letter-spacing:-.03em;margin:0 0 6px}.person__info p{font-size:14px;color:var(--muted);margin:0}.person__social{display:flex;gap:8px;align-items:center;margin-top:18px}.social{position:relative;display:grid;place-items:center;width:36px;height:36px;background:transparent;border:1px solid #b7c0b8;border-radius:50%;padding:8px;color:#545e57}.social svg{width:17px;height:17px;pointer-events:none}.social[aria-disabled]{cursor:help}.social:hover{background:var(--ink);color:white}.social:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 8px);left:0;width:180px;padding:8px 12px;font:12px/1.5 var(--sans);background:var(--ink);color:white;border-radius:8px;opacity:0;visibility:hidden;pointer-events:none}.social:hover:after,.social:focus-visible:after{opacity:1;visibility:visible}.person__profile{font-size:14px;margin-left:auto;border-bottom:1px solid var(--red)}.person__portrait-placeholder{display:grid;place-content:center;text-align:center;background:#243633;color:#e1e8e1;gap:15px}.person__portrait-placeholder strong{font:60px var(--serif)}.person__portrait-placeholder span{font-size:13px}
.network{padding:52px 0;background:#fff}.network__heading{text-align:center;margin-bottom:30px}.network__label{font-size:14px;line-height:1.5;letter-spacing:.04em;font-weight:400;margin:0;color:var(--muted)}.network__viewport{width:min(1120px,100%);overflow:hidden;margin:auto;mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}.network__track{display:flex;width:max-content;animation:network-loop var(--network-duration,30s) linear infinite;animation-play-state:paused}.network.is-ready .network__track{animation-play-state:running}.network__group{display:flex;flex:none;align-items:center}.network__logo{display:grid;place-items:center;flex:0 0 202px;width:202px;padding:12px 30px;min-height:80px}.network__logo img{width:142px;height:58px;object-fit:contain;filter:grayscale(1);opacity:.6;transition:filter .25s,opacity .25s}.network__logo:hover img,.network__logo:focus-visible img{filter:none;opacity:1}@keyframes network-loop{to{transform:translateX(calc(-1 * var(--network-distance,880px)))}}
.contact{background:#202e2b;color:white;margin:0 22px;border-radius:28px;padding:80px 0}.contact__grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}.contact .title{font-size:clamp(40px,4.6vw,66px)}.contact .eyebrow{color:#efb2bb}.contact .lead{color:#cbd5ce}.contact__details{display:grid;gap:20px;font-size:15px;margin-top:32px}.contact__details small{display:block;font-size:12px;color:#cbd5ce;text-transform:uppercase;letter-spacing:.09em;margin-bottom:5px}.contact__details a:hover{text-decoration:underline}.form{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-content:start;background:#ffffff09;padding:30px;border-radius:20px;border:1px solid #ffffff21}.field{min-width:0}.field--wide{grid-column:1/-1}.field label{display:block;font-size:14px;margin-bottom:8px;color:#e1e6e1}.field input,.field textarea{width:100%;background:transparent;color:#fff;border:0;border-bottom:1px solid #819389;border-radius:0;padding:10px 0;min-height:45px}.field textarea{min-height:105px;resize:vertical}.form-note,.form-status{grid-column:1/-1;font-size:13px;margin:0;color:#d0d9d3}.form .btn{grid-column:1/-1;justify-self:start}.footer{padding:50px 0}.footer__inner{display:flex;align-items:center;justify-content:space-between;gap:30px}.footer .official-brand{filter:brightness(0)}.footer p{font-size:13px;color:var(--muted);margin:0}.footer__links{display:flex;gap:25px;font-size:14px}
.motion-ready [data-motion]{transition:opacity .7s var(--ease),transform .8s var(--ease)}.motion-ready [data-motion]:not(.in){opacity:0}.motion-ready [data-motion=left]:not(.in){transform:translateX(-28px)}.motion-ready [data-motion=up]:not(.in){transform:translateY(25px)}
@media(min-width:1600px){.hero__content{padding-top:60px}}
@media(max-width:1100px){.nav{gap:18px}.header__inner{padding-inline:24px}.official-brand{width:220px}.hero{min-height:780px}.why{gap:35px}.contact__grid{gap:40px}.contact .shell{width:calc(100% - 64px)}.services>.shell{grid-template-columns:.85fr 1.15fr;gap:35px}.service summary{gap:10px}.service[open]{padding-inline:10px}}
@media(max-width:900px){.topbar__links a:first-child{display:none}.header{left:16px;right:16px}.menu{display:block}.nav{display:none}.nav.nav--open{display:flex;position:absolute;top:calc(100% + 10px);left:0;right:0;border-radius:20px;padding:26px;background:#202e2b;flex-direction:column;align-items:stretch;gap:20px;box-shadow:0 10px 30px #0003}.nav .btn{justify-content:center}.hero{height:auto;min-height:790px}.hero h1{font-size:64px}.hero__content{padding-top:45px}.about{gap:35px}.about__visual{height:470px}.about .title{font-size:38px}.experience{right:16px;top:16px;padding:16px}.firm-facts{gap:25px}.firm-facts strong{font-size:32px}.services>.shell{grid-template-columns:1fr}.services__head{position:static}.services__head .lead{max-width:650px}.why{grid-template-columns:1fr}.global-panel canvas{height:300px}.global-panel{min-height:470px}.team__head{display:block}.team__head>.lead{max-width:600px}.person{flex-basis:calc((100% - 28px)/2)}.contact__grid{grid-template-columns:1fr}.contact .lead{max-width:620px}.footer__inner{flex-wrap:wrap}.section{padding:85px 0}}
@media(max-width:620px){:root{--pad:22px}.topbar{height:42px;font-size:12px}.topbar__links{display:none}.header{top:44px;left:12px;right:12px}.header__inner{padding:13px 18px;min-height:78px}.official-brand{transform:scale(.82);transform-origin:left center;width:190px}.header.is-scrolled{top:8px}.header.is-scrolled .header__inner{min-height:68px}.hero{min-height:760px;background-position:65% center}.hero__content{padding-top:75px}.hero .eyebrow{font-size:12px;letter-spacing:.07em;max-width:290px}.hero h1{font-size:clamp(42px,10.8vw,63px);letter-spacing:-.045em;line-height:1.12}.hero__copy{font-size:16px;max-width:360px}.hero__actions{gap:22px;flex-wrap:wrap}.text-link{font-size:14px}.hero__bottom{bottom:26px;font-size:11px}.hero__bottom>a{font-size:12px}.hero__bottom>a span{margin-left:8px}.about{grid-template-columns:1fr;gap:35px}.about__visual{height:450px}.about .title,.title{font-size:38px}.about .lead{font-size:17px}.firm-facts{grid-template-columns:1fr;gap:25px;padding-bottom:60px}.firm-facts strong{font-size:39px;padding-bottom:12px;margin-bottom:10px}.firm-facts span{font-size:14px}.section{padding:65px 0}.services__head .title{font-size:38px}.service summary{padding:23px 6px;min-height:92px;gap:10px}.service h3{font-size:22px}.service__num{flex-basis:23px}.service__toggle{width:34px;height:34px}.service ul{margin-left:20px;margin-right:12px;font-size:15px}.why__heading{text-align:left;margin-bottom:35px}.why__heading .lead{font-size:17px}.global-panel{padding:28px 23px;min-height:425px}.global-panel canvas{height:210px}.global-panel h3{font-size:30px}.why__item h3{font-size:23px}.why__item{gap:12px}.person{flex-basis:100%}.person__image{aspect-ratio:4/4.3}.people-grid{gap:18px}.team__head .lead{font-size:17px}.network__logo{width:152px;flex-basis:152px;padding:12px 20px}.network__logo img{width:112px;height:50px}.network__label{font-size:13px;max-width:300px;margin:auto}.contact{margin:0 12px;padding:45px 0;border-radius:22px}.contact .shell{width:calc(100% - 40px)}.contact__grid{gap:32px}.contact .title{font-size:40px}.contact .lead{font-size:16px}.form{padding:22px 18px;gap:20px;grid-template-columns:1fr}.field{grid-column:1/-1}.footer__inner{display:flex;flex-direction:column;align-items:flex-start;gap:24px}.footer .official-brand{margin-bottom:-6px}.footer{padding:35px 0}.footer__links{order:1}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.motion-ready [data-motion]:not(.in){opacity:1;transform:none}.jurisdictions__track{width:100%;white-space:normal}.jurisdictions__group{width:100%;flex-wrap:wrap;justify-content:center;gap:15px 20px;padding:0 20px}.jurisdictions__group[aria-hidden],.jurisdictions__group [data-copy],.network__group[aria-hidden],.network__logo[data-copy]{display:none}.jurisdictions__track span:after{margin-left:20px}.network__track,.network__group{width:100%;flex-wrap:wrap;justify-content:center}.network__viewport{mask-image:none}}
