@font-face{font-family:Manrope;src:url('assets/fonts/manrope-latin-400-normal.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Manrope;src:url('assets/fonts/manrope-latin-500-normal.woff2') format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:Manrope;src:url('assets/fonts/manrope-latin-600-normal.woff2') format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:Manrope;src:url('assets/fonts/manrope-latin-700-normal.woff2') format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:Editorial;src:url('assets/fonts/source-serif-4-latin-400-normal.woff2') format('woff2');font-weight:400;font-display:swap}
:root{--ink:#1c2736;--muted:#596372;--paper:#fafaf7;--white:#fff;--line:#dce0e3;--soft:#eef1f3;--accent:#455f78;--serif:Editorial,Georgia,serif;--sans:Manrope,Arial,sans-serif;--gutter:clamp(24px,5.2vw,88px);--measure:1240px}
*{box-sizing:border-box}html{scroll-padding-top:112px}body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.75 var(--sans);-webkit-font-smoothing:antialiased}img,svg{max-width:100%;vertical-align:middle}img{height:auto}button,input,summary{font:inherit}a{color:inherit;text-underline-offset:5px;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid #526e8c;outline-offset:5px}main:focus{outline:none}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:400}h1,h2{font-family:var(--serif);line-height:1.08;letter-spacing:-.035em}h3{font-size:23px;line-height:1.35;font-weight:500;letter-spacing:-.025em}p+p{margin-top:22px}ul{padding-left:21px}::selection{background:#d0dbe5;color:var(--ink)}.wrap{width:min(calc(100% - var(--gutter)*2),var(--measure));margin-inline:auto}.eyebrow{display:block;font-size:11px;line-height:1.5;font-weight:600;letter-spacing:.15em;text-transform:uppercase}.muted{color:var(--muted)}.pular{position:fixed;left:20px;top:-90px;z-index:100;background:var(--white);padding:12px 20px}.pular:focus{top:12px}.site-header{height:110px;border-bottom:1px solid var(--line);background:rgba(250,250,247,.97);position:relative;z-index:20}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:inline-flex;align-items:center;flex-shrink:0}.brand img{width:228px;height:auto}.nav-desktop{display:flex;gap:27px;align-items:center}.nav-desktop a{font-size:13px;font-weight:500;text-decoration:none;padding:12px 0;position:relative;white-space:nowrap}.nav-desktop a[aria-current=page]:after{position:absolute;content:'';height:1px;background:currentColor;left:0;right:0;bottom:5px}.nav-desktop .language{margin-left:7px;border-left:1px solid var(--line);padding-left:26px;font-size:11px;letter-spacing:.06em}.menu{display:none}.hero{padding-top:74px;position:relative}.hero-top{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:end;margin-bottom:42px}.hero h1{font-size:clamp(54px,6.9vw,102px);max-width:850px;margin-top:22px;line-height:1.02}.hero-title{grid-column:1/-1;position:relative;z-index:1}.hero-context{position:absolute;right:0;bottom:8px;width:270px;font-size:14px;line-height:1.85}.hero-title h1{max-width:100%}.hero-image{position:relative;height:440px;overflow:hidden;background:var(--ink)}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:50% 64%}.image-caption{position:absolute;bottom:26px;left:30px;right:30px;display:flex;justify-content:space-between;align-items:end;color:#fff;font-size:10px;letter-spacing:.14em;text-transform:uppercase;text-shadow:0 1px 8px #000}.hero-image:after{content:'';position:absolute;inset:75% 0 0;background:linear-gradient(transparent,rgba(15,26,39,.45));pointer-events:none}.image-caption{z-index:1}.hero-bottom{display:flex;justify-content:space-between;align-items:center;padding:22px 0;border-bottom:1px solid var(--line);font-size:12px;gap:22px}.text-link{display:inline-flex;align-items:center;gap:26px;font-size:13px;font-weight:500;text-decoration:none;line-height:1.6}.text-link .label{border-bottom:1px solid currentColor;padding-bottom:3px}.text-link .arrow{font-size:22px;line-height:1;transition:transform .2s}.text-link:hover .arrow{transform:translateX(4px)}.section{padding-block:96px}.section-head{display:grid;grid-template-columns:1fr 2fr;gap:60px;margin-bottom:46px}.section-head h2{font-size:clamp(38px,4.2vw,62px);max-width:730px}.section-head .eyebrow{padding-top:10px}.intro-copy{display:grid;grid-template-columns:1fr 2fr;gap:60px}.intro-copy .prose{font-size:18px;max-width:760px}.prose p{text-align:justify;hyphens:auto}.prose a{color:var(--accent)}.intro-copy .text-link{margin-top:30px}.practice-list{border-top:1px solid var(--line)}.practice-row{display:grid;grid-template-columns:54px 1.2fr 1fr 38px;gap:30px;align-items:center;padding:28px 0;border-bottom:1px solid var(--line);text-decoration:none;transition:background .2s,padding .2s}.practice-row:hover{background:var(--soft);padding-inline:18px;text-decoration:none}.practice-row .number{font-size:11px;color:var(--muted)}.practice-row h3{font-family:var(--serif);font-size:29px;font-weight:400}.practice-row p{font-size:13px;color:var(--muted);line-height:1.8}.practice-row .arrow{font-size:24px}.dark{background:var(--ink);color:var(--white)}.dark .muted{color:#c3ccd5}.dark .section-head{margin-bottom:32px}.dark .text-link{color:#fff}.approach-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin-top:54px}.approach-grid article{border-top:1px solid #63707f;padding-top:25px}.approach-grid .eyebrow{color:#b8c4d0;margin-bottom:25px}.approach-grid h3{font-family:var(--serif);font-size:31px;margin-bottom:18px}.approach-grid p{font-size:14px;color:#d0d7df;line-height:1.9}.people-preview{display:grid;grid-template-columns:1fr 1.15fr;gap:100px;align-items:start}.people-preview h2{font-size:clamp(42px,4.5vw,66px);margin:22px 0 28px}.people-preview p{max-width:430px}.people-names{border-top:1px solid var(--line)}.person-row{display:flex;justify-content:space-between;gap:18px;padding:24px 0;border-bottom:1px solid var(--line);text-decoration:none;font-size:22px;font-family:var(--serif)}.person-row small{font:400 11px var(--sans);color:var(--muted);align-self:center}.international-block{display:grid;grid-template-columns:1fr 1fr;gap:0;background:var(--soft)}.international-art{position:relative;min-height:490px;overflow:hidden;background:#e1e6eb}.international-art svg{width:100%;height:100%;position:absolute;inset:0}.international-copy{padding:68px 60px}.international-copy h2{font-size:52px;margin:22px 0}.international-copy p{font-size:15px;margin-bottom:26px}.contact-strip{padding:70px 0;display:flex;align-items:center;justify-content:space-between;gap:40px;border-top:1px solid var(--line)}.contact-strip h2{font-size:44px;margin-top:14px}.contact-strip .text-link{white-space:nowrap}.site-footer{background:var(--ink);color:#fff;padding:64px 0 25px}.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:60px;align-items:start}.footer-logo{width:240px;max-width:100%;margin-bottom:24px}.site-footer p{font-size:12px;color:#c7cfd8;line-height:1.9}.site-footer a{font-size:12px}.footer-nav{display:grid;grid-template-columns:1fr 1fr;gap:8px 20px}.footer-bottom{border-top:1px solid #475464;margin-top:48px;padding-top:23px;display:flex;justify-content:space-between;gap:22px;flex-wrap:wrap;font-size:10px;color:#bcc6d0}.footer-bottom a{font-size:10px}.page-head{padding:70px 0 62px;border-bottom:1px solid var(--line)}.breadcrumb{font-size:11px;color:var(--muted);margin-bottom:35px;display:flex;gap:12px;flex-wrap:wrap}.breadcrumb a{text-decoration:none}.page-head h1{font-size:clamp(48px,6vw,82px);max-width:1050px}.page-head .lede{font-size:20px;line-height:1.7;max-width:780px;margin-top:28px}.article-grid{display:grid;grid-template-columns:250px minmax(0,1fr);gap:85px;padding:64px 0 88px}.sidebar{font-size:12px}.sidebar .eyebrow{margin-bottom:25px}.sidebar a{display:block;padding:12px 0;border-bottom:1px solid var(--line);text-decoration:none}.sidebar a[aria-current=page]{font-weight:700}.article{max-width:800px;min-width:0}.article h2{font-size:36px;line-height:1.2;margin:46px 0 22px;scroll-margin-top:30px}.article h2:first-child{margin-top:0}.article h3{margin:30px 0 15px}.article .prose{font-size:17px}.article .services{list-style:none;padding:0;border-top:1px solid var(--line);margin:28px 0}.services li{padding:17px 0 17px 24px;border-bottom:1px solid var(--line);position:relative;font-size:15px}.services li:before{content:'—';position:absolute;left:0;color:var(--accent)}.article .callout{background:var(--soft);padding:28px 32px;margin-top:36px;font-size:14px;border-left:2px solid var(--ink)}.editorial-photo{height:360px;overflow:hidden;margin:40px 0}.editorial-photo img{width:100%;height:100%;object-fit:cover;object-position:center 65%}.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:55px 36px;padding-block:65px 90px}.person-card{text-decoration:none}.portrait{aspect-ratio:4/5;background:#e4e8ec;overflow:hidden;margin-bottom:23px;position:relative}.portrait img{width:100%;height:100%;object-fit:cover;transition:transform .5s;filter:grayscale(1)}.person-card:hover .portrait img{transform:scale(1.025)}.portrait.initials{display:grid;place-items:center;background:var(--ink);color:white;font:400 110px var(--serif)}.portrait.initials:before{content:'';position:absolute;inset:35px;border:1px solid #657487}.person-card .eyebrow{color:var(--muted);margin-bottom:8px}.person-card h2{font-size:33px;letter-spacing:-.03em}.person-card .card-detail{display:flex;justify-content:space-between;align-items:center;margin-top:15px;font-size:12px;color:var(--muted)}.profile-grid{display:grid;grid-template-columns:340px 1fr;gap:85px;padding-block:65px 90px}.profile-grid .portrait{margin:0}.profile-grid h2{font-size:34px;margin-bottom:25px}.profile-grid .full-name{font-size:13px;color:var(--muted);margin-bottom:28px}.profile-grid .prose{max-width:730px;font-size:18px}.profile-contact{border-top:1px solid var(--line);margin-top:35px;padding-top:25px}.contact-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:100px;padding-block:65px 90px}.contact-grid h2{font-size:35px;margin-bottom:24px}.contact-channel{padding:23px 0;border-top:1px solid var(--line)}.contact-channel .eyebrow{margin-bottom:10px}.contact-channel a{font-size:clamp(17px,2.1vw,25px);font-weight:500;overflow-wrap:anywhere}.contact-channel p{font-size:13px;color:var(--muted);margin-top:9px}.contact-address{padding:32px;background:var(--soft);align-self:start}.contact-address p{font-size:14px}.contact-address .text-link{margin-top:25px}.contact-address .phone{display:block;font-size:20px;margin-top:26px}.utility-links{display:flex;flex-wrap:wrap;gap:10px 25px;margin-top:25px;font-size:13px}.page-enter{animation:arrive .38s ease both}@keyframes arrive{from{opacity:.5;transform:translateY(5px)}to{opacity:1;transform:none}}.line-drift{animation:drift 18s ease-in-out infinite alternate;transform-origin:center}@keyframes drift{to{transform:translate(12px,-8px)}}
@media(min-width:1600px){.hero-context{right:0;width:310px}.hero-title h1{max-width:100%}}
@media(max-width:1150px){.hero-context{position:static;margin-top:26px;width:100%;max-width:600px}.hero h1{font-size:80px}.hero-top{display:block}.nav-desktop{gap:18px}.brand img{width:200px}.nav-desktop a{font-size:12px}.article-grid{gap:45px;grid-template-columns:210px minmax(0,1fr)}.profile-grid{gap:45px}.people-preview{gap:60px}.international-copy{padding:48px 38px}.contact-grid{gap:55px}}
@media(max-width:960px){.nav-desktop{display:none}.menu{display:block}.menu summary{cursor:pointer;list-style:none;width:46px;height:46px;display:flex;align-items:center;justify-content:center;border:1px solid var(--line)}.menu summary::-webkit-details-marker{display:none}.hamburger,.hamburger:after{display:block;width:20px;height:1px;background:var(--ink);position:relative}.hamburger:after{content:'';position:absolute;top:6px}.menu[open] .hamburger{transform:rotate(45deg)}.menu[open] .hamburger:after{top:0;transform:rotate(90deg)}.menu nav{position:absolute;top:100%;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);padding:18px var(--gutter) 26px;box-shadow:0 12px 18px #1c273612;max-height:calc(100dvh - 110px);overflow:auto}.menu nav a{display:block;padding:15px 0;text-decoration:none;border-bottom:1px solid var(--line);font-size:17px}.menu nav a[aria-current=page]{font-weight:700}.section-head,.intro-copy{grid-template-columns:1fr;gap:24px}.section-head .eyebrow{padding:0}.section{padding-block:70px}.hero-image{height:390px}.practice-row{grid-template-columns:32px 1fr 30px;gap:18px}.practice-row p{grid-column:2;grid-row:2;max-width:530px}.practice-row .arrow{grid-column:3;grid-row:1}.practice-row{padding-block:25px;row-gap:8px}.approach-grid{gap:30px}.people-preview{gap:40px}.international-block{grid-template-columns:1fr 1.15fr}.international-art{min-height:380px}.international-copy h2{font-size:43px}.footer-grid{grid-template-columns:1fr 1fr;gap:40px}.footer-brand-block{grid-column:1/-1;max-width:380px}.team-grid{grid-template-columns:repeat(2,1fr)}.profile-grid{grid-template-columns:260px 1fr;gap:40px}.article-grid{grid-template-columns:1fr;gap:45px}.sidebar{order:2;border-top:1px solid var(--line);padding-top:25px}.sidebar nav{display:grid;grid-template-columns:1fr 1fr;gap:0 30px}.contact-grid{grid-template-columns:1fr 1fr;gap:35px}}
@media(max-width:600px){:root{--gutter:24px}.site-header{height:88px}.brand img{width:190px}.menu nav{max-height:calc(100dvh - 88px)}.header-inner{gap:15px}.hero{padding-top:43px}.hero h1{font-size:clamp(47px,11.2vw,67px);letter-spacing:-.045em;line-height:1.05}.hero-context{font-size:14px;margin-top:23px}.hero-top{margin-bottom:30px}.hero-image{height:330px;margin-inline:calc(var(--gutter)*-1)}.hero-image img{object-position:66% center}.image-caption{left:24px;right:24px;bottom:20px}.image-caption span:last-child{display:none}.hero-bottom{align-items:flex-start;flex-direction:column;gap:13px;padding:22px 0}.hero-bottom>span{font-size:11px}.section{padding-block:56px}.section-head{margin-bottom:30px}.section-head h2{font-size:40px}.intro-copy .prose{font-size:16px}.prose p{text-align:left;hyphens:none}.practice-row h3{font-size:26px}.practice-row p{font-size:13px}.practice-row:hover{padding-inline:0}.approach-grid{grid-template-columns:1fr;gap:33px;margin-top:38px}.approach-grid article{padding-top:20px}.approach-grid .eyebrow{margin-bottom:12px}.approach-grid h3{font-size:30px;margin-bottom:13px}.people-preview{grid-template-columns:1fr;gap:36px}.people-preview h2{font-size:44px}.person-row{font-size:25px;padding:20px 0}.international-block{grid-template-columns:1fr}.international-art{min-height:260px}.international-copy{padding:40px 24px}.international-copy h2{font-size:42px}.contact-strip{padding:48px 0;display:block}.contact-strip h2{font-size:38px}.contact-strip .text-link{margin-top:28px}.footer-grid{grid-template-columns:1fr;gap:32px}.footer-brand-block{grid-column:auto}.site-footer{padding-top:45px}.footer-logo{width:220px}.footer-bottom{margin-top:34px;gap:14px;display:block}.footer-bottom>span{display:block;margin-bottom:12px}.page-head{padding:40px 0}.page-head h1{font-size:46px}.page-head .lede{font-size:17px;line-height:1.8}.breadcrumb{margin-bottom:26px}.article-grid{padding-block:42px 55px}.article .prose{font-size:16px}.article h2{font-size:32px}.article .callout{padding:22px}.sidebar nav{grid-template-columns:1fr}.editorial-photo{height:240px}.team-grid{gap:38px 20px;padding:40px 0 55px}.person-card h2{font-size:26px}.person-card .eyebrow{font-size:9px}.portrait{margin-bottom:17px}.portrait.initials{font-size:62px}.portrait.initials:before{inset:18px}.person-card .card-detail{font-size:10px;margin-top:10px}.profile-grid{grid-template-columns:1fr;padding-block:40px 55px;gap:36px}.profile-grid>.portrait{max-width:310px}.profile-grid .prose{font-size:16px}.contact-grid{grid-template-columns:1fr;padding:40px 0 55px;gap:35px}.contact-grid h2{font-size:32px}.contact-address{padding:26px}.contact-channel a{font-size:19px}.text-link{font-size:12px;gap:20px}}
@media(max-width:360px){.brand img{width:180px}.hero h1{font-size:45px}.team-grid{grid-template-columns:1fr}.person-card .portrait{max-width:260px}.hero .eyebrow{font-size:9px}.contact-channel a{font-size:17px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{.site-header,.site-footer,.sidebar,.contact-strip,.hero-image,.international-art{display:none}.wrap{width:100%}body{background:#fff;color:#000;font-size:11pt}.page-head{padding:20px 0}.article-grid,.profile-grid,.contact-grid{display:block}.dark{background:white;color:black}.dark p{color:black}.page-enter{animation:none}a{color:#000}.hero h1{font-size:42pt}.section{padding:20px 0}}

.resource-list{display:grid;grid-template-columns:1fr 1fr;gap:0 60px}.resource-item{position:relative;padding:25px 35px 25px 0;border-top:1px solid var(--line);text-decoration:none}.resource-item h2{font-size:27px;margin-bottom:15px}.resource-item p{font-size:14px;color:var(--muted)}.resource-item .arrow{position:absolute;right:0;top:25px}.resource-item:hover h2{text-decoration:underline;text-underline-offset:5px}@media(max-width:600px){.resource-list{grid-template-columns:1fr}}

.page-head h1{overflow-wrap:anywhere;hyphens:auto}@media(max-width:360px){.page-head h1{font-size:40px}}

/* RC2 — light, depth and measured movement. */
.page-home .site-header{background:var(--ink);color:#fff;border-color:#ffffff26}
.page-home .nav-desktop .language{border-color:#ffffff40}
.page-home .menu summary{border-color:#ffffff55}
.page-home .hamburger,.page-home .hamburger:after{background:#fff}
.page-home .menu nav{color:var(--ink)}
.hero{isolation:isolate;padding-top:64px}
.hero:before{content:'';position:absolute;z-index:-1;top:0;bottom:145px;left:0;right:0;background:var(--ink);box-shadow:0 0 0 100vmax var(--ink);clip-path:inset(0 -100vmax)}
.hero-title{color:#fff}
.hero-title>.eyebrow{color:#c0cbd7}
.hero-context{color:#d2dbe4}
.hero h1{letter-spacing:-.047em}
.hero-image{height:490px}
/* Anchor the camera toward the mountains and sea at the lower-right opening. */
.hero-image img{transform:scale(1.025);transform-origin:100% 85%}
.motion-ready .hero-image img{animation:architectural-drift 12s ease-in-out infinite alternate}
.line-drift{animation:none}
.motion-ready .line-drift{animation:drift 18s ease-in-out infinite alternate}
@keyframes architectural-drift{from{transform:scale(1.025)}to{transform:scale(1.16)}}
.motion-control{position:absolute;z-index:3;right:22px;top:22px;width:44px;height:44px;display:grid;place-items:center;border:1px solid #ffffff90;background:#1c2736e6;color:white;cursor:pointer;font-size:18px;line-height:1;border-radius:50%}
.motion-control[hidden]{display:none}
.motion-control:hover{background:var(--ink)}
.motion-control:focus-visible{outline:2px solid white;outline-offset:4px}
.hero-bottom{padding-block:27px}
.page-head{background:var(--ink);color:white;position:relative;border:0;padding-block:66px}
.page-head .breadcrumb,.page-head .lede{color:#d2dbe4}
.page-head .breadcrumb a:hover{color:#fff;text-decoration:underline}
.page-head:after{content:'';position:absolute;left:var(--gutter);right:var(--gutter);bottom:0;height:1px;background:#ffffff20}
.page-enter{animation:arrive .5s cubic-bezier(.2,.7,.2,1) both}
.practice-row{transition:background .3s ease,color .3s ease,padding .35s cubic-bezier(.2,.7,.2,1)}
.practice-row:hover,.practice-row:focus-visible{background:var(--ink);color:white;padding-inline:20px}
.practice-row:hover p,.practice-row:hover .number,.practice-row:focus-visible p,.practice-row:focus-visible .number{color:#d2dbe4}
.practice-row .arrow{transition:transform .35s ease}
.practice-row:hover .arrow{transform:translate(3px,-3px)}
.text-link .label{transition:opacity .2s ease}
.text-link:hover .label{opacity:.75}
.person-row{transition:padding .3s ease,background .3s ease}
.person-row:hover{padding-inline:14px;background:var(--soft)}
.person-card .portrait img{transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .7s ease}
.person-card:hover .portrait img,.person-card:focus-visible .portrait img{transform:scale(1.035);filter:grayscale(0)}
.contact-address{border-top:2px solid var(--ink)}
.international-block{margin-bottom:48px}
.international-art{background:#dae2ea}
.is-revealed{animation:editorial-reveal .75s cubic-bezier(.2,.7,.2,1) both}
@keyframes editorial-reveal{from{opacity:.35;transform:translateY(18px)}to{opacity:1;transform:none}}
html.motion-paused .hero-image img,html.motion-paused .line-drift{animation-play-state:paused}
html.motion-paused .is-revealed{animation:none}
@media(max-width:960px){.hero-image{height:410px}}
@media(max-width:600px){.hero{padding-top:43px}.hero:before{bottom:175px}.hero-image{height:350px}.hero-image img{object-position:66% center}.hero-bottom{padding-block:22px}.page-head{padding-block:40px}.international-block{margin-bottom:0}.motion-control{right:18px;top:18px}.practice-row:hover,.practice-row:focus-visible{padding-inline:10px}.person-row:hover{padding-inline:8px}}
@media(prefers-reduced-motion:reduce){.hero-image img{transform:none;animation:none}.is-revealed{animation:none}.motion-control{display:none}.person-card:hover .portrait img{transform:none}.practice-row .arrow{transform:none!important}}
@media print{.hero:before,.page-head:after,.motion-control{display:none}.hero-title,.hero-context,.page-head,.page-head .breadcrumb,.page-head .lede{color:#000}.page-head{background:white}.hero-title>.eyebrow{color:#000}}

/* Review refinement: light header, connected calls to action and unnumbered hierarchy. */
.page-home .site-header{background:var(--paper);color:var(--ink);border-color:var(--line)}
.page-home .nav-desktop .language,.page-home .menu summary{border-color:var(--line)}
.page-home .hamburger,.page-home .hamburger:after{background:var(--ink)}
.practice-row{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) 38px}
.link-copy{display:inline;min-width:0}
.link-period{text-decoration:none;border:0}
.site-footer a[href^="mailto:"],.site-footer a[href^="tel:"]{text-decoration:none}
/* SVG artwork starts at x=38.6806 in its 640-unit viewBox. */
.site-header .brand{transform:translateX(-6.04384375%)}
.footer-logo{transform:translateX(-5.2%)}
.contact-strip{display:block;padding-block:64px}
.contact-invitation{max-width:760px}
.contact-invitation h2{font-size:clamp(38px,4vw,54px)}
.contact-invitation>p{max-width:610px;margin:22px 0 24px;font-size:16px;line-height:1.8}
.contact-invitation .text-link{margin-top:0}
.international-article section+section{margin-top:42px}
.international-still{margin-top:35px;background:var(--soft)}
.international-still .line-drift{animation:none!important}
@media(max-width:960px){.practice-row{grid-template-columns:minmax(0,1fr) 30px}.practice-row p{grid-column:1;grid-row:2}.practice-row .arrow{grid-column:2;grid-row:1}.international-still{max-width:340px}}
@media(max-width:600px){.contact-strip{padding-block:44px}.contact-invitation>p{font-size:15px}.contact-invitation .text-link{margin-top:0}}
/* Keep the longer bilingual international heading inside narrow grid tracks. */
.international-copy,.international-art{min-width:0}
.international-copy h2{overflow-wrap:anywhere;hyphens:auto}
.international-copy .text-link{max-width:100%}
@media(max-width:360px){.international-copy h2{font-size:36px}}
/* Keep editorial heading words intact; reserve hyphenation for prose. */
.international-copy h2{hyphens:none;overflow-wrap:normal}
@media(max-width:600px){.international-copy h2{font-size:clamp(30px,8.8vw,42px)}}

/* Longer profiles retain a comfortable reading width. */
.profile-grid{grid-template-columns:340px minmax(0,1fr);align-items:start}
.profile-grid article{min-width:0}
.profile-aside{min-width:0}
.profile-section+.profile-section{margin-top:46px}
.profile-section h2{line-height:1.2}
.profile-practices{margin-top:30px;border-top:1px solid var(--line);padding-top:24px;font-size:13px}
.profile-practices .eyebrow{margin-bottom:14px}
.profile-practices a{display:block;padding-block:10px;border-bottom:1px solid var(--line);text-decoration:none}
.profile-sources{padding-left:20px;font-size:14px;line-height:1.8;overflow-wrap:anywhere}
.profile-sources li+li{margin-top:16px}
.person-summary{font-size:13px;line-height:1.8;color:var(--muted);margin-top:14px;max-width:34em}
.professional-links{display:flex;flex-wrap:wrap;gap:22px 35px}
.practice-more{margin-top:30px}
@media(max-width:1150px){.profile-grid{grid-template-columns:280px minmax(0,1fr)}}
@media(max-width:960px){.profile-grid{grid-template-columns:240px minmax(0,1fr);gap:32px}}
@media(max-width:600px){.profile-grid{grid-template-columns:1fr;gap:36px}.profile-aside .portrait{max-width:310px}.profile-section+.profile-section{margin-top:34px}.profile-practices{margin-top:20px}.person-summary{font-size:12px}}

/* Client-first revision: four languages, quiet menu movement and a Brazilian panorama. */
.nav-desktop{gap:22px}
.nav-desktop>a:after{content:'';position:absolute;left:0;right:0;bottom:5px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .24s ease}
.nav-desktop>a:hover:after,.nav-desktop>a:focus-visible:after,.nav-desktop>a[aria-current=page]:after{transform:scaleX(1)}
.language-options{display:flex;align-items:center;gap:4px;border-left:1px solid var(--line);padding-left:16px;margin-left:4px;flex-shrink:0}
.nav-desktop .lang-option,.language-options .lang-option{display:inline-flex;align-items:center;justify-content:center;min-width:34px;min-height:44px;padding:0;font:500 11px var(--sans);letter-spacing:.04em;text-decoration:none;position:relative}
.language-options [aria-current=true]{font-weight:800;text-decoration:underline;text-underline-offset:6px}
.language-options a:hover{text-decoration:underline;text-underline-offset:6px}
.hero-context{position:static;width:auto;max-width:640px;margin-top:28px;font-size:15px}
.hero h1{max-width:1100px;font-size:clamp(54px,6.4vw,94px);line-height:1.06;text-wrap:balance}
.hero-image img{object-position:50% 60%;transform-origin:88% 64%}
.image-caption{font-size:11px;letter-spacing:.09em;gap:35px;line-height:1.7}
.hero-image:after{inset:65% 0 0;background:linear-gradient(transparent,rgba(15,26,39,.7))}
.hero-bottom>span{max-width:760px;line-height:1.8}
.practice-row{grid-template-columns:minmax(0,1.12fr) minmax(0,1fr) 30px;gap:38px;padding-block:31px}
.practice-row p{font-size:14px;line-height:1.85;max-width:38em}
.practice-row h3{font-size:clamp(26px,2.2vw,32px);line-height:1.3}
.person-summary{font-size:14px;line-height:1.8}
.page-head h1{hyphens:none;text-wrap:balance}
@media(max-width:1200px){
 .nav-desktop{display:none}.menu{display:block}
 .menu summary{cursor:pointer;list-style:none;width:46px;height:46px;display:flex;align-items:center;justify-content:center;border:1px solid var(--line)}
 .menu summary::-webkit-details-marker{display:none}
 .hamburger,.hamburger:after{display:block;width:20px;height:1px;background:var(--ink);position:relative;transition:transform .24s ease}
 .hamburger:after{content:'';position:absolute;top:6px}
 .menu[open] .hamburger{transform:rotate(45deg)}.menu[open] .hamburger:after{top:0;transform:rotate(90deg)}
 .menu nav{position:absolute;top:100%;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);padding:18px var(--gutter) 26px;box-shadow:0 12px 18px #1c273612;max-height:calc(100dvh - 110px);overflow:auto}
 .menu nav>a{display:block;padding:15px 0;text-decoration:none;border-bottom:1px solid var(--line);font-size:17px;transition:padding-left .2s ease}
 .menu nav>a:hover,.menu nav>a:focus-visible{padding-left:8px}
 .menu nav>a[aria-current=page]{font-weight:700}
 .menu nav .language-options{border:0;margin:14px 0 0;padding:0;gap:14px}
 .menu nav .language-options .lang-option{display:inline-flex;min-width:44px;min-height:44px;padding:0;border:0;font-size:12px}
}
@media(max-width:960px){.practice-row{grid-template-columns:minmax(0,1fr) 30px;gap:12px 20px}.practice-row p{grid-column:1;grid-row:2}.practice-row .arrow{grid-column:2;grid-row:1}}
@media(max-width:600px){
 .menu nav{max-height:calc(100dvh - 88px)}
 .hero h1{font-size:clamp(42px,10.8vw,64px)}
 .page-head h1{font-size:clamp(32px,8.8vw,46px)}
 .hero-context{font-size:14px;margin-top:23px}
 .hero-image img{object-position:77% 60%}
 .image-caption{max-width:260px;font-size:10px;letter-spacing:.06em}
 .practice-row p{font-size:14px;line-height:1.8}
 .person-summary{font-size:13px}
}
@media(prefers-reduced-motion:reduce){.nav-desktop>a:after,.menu nav>a,.hamburger,.hamburger:after{transition:none}.hero-image img{transform:none}}
@media(max-width:360px){html[lang=fr] .page-institutional .page-head h1{font-size:30px}}

/* Correction: justified editorial paragraphs and a genuine three-city photo sequence. */
.prose p,.hero-context,.practice-row p,.approach-grid p,.people-preview p,.international-copy p,.contact-invitation>p,.person-summary,.page-head .lede,.photo-credits p{text-align:justify;hyphens:auto}
.contact-channel p,.contact-grid>section>p,.contact-address>p:last-child,.profile-contact p{text-align:justify;hyphens:auto}
.hero-top{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:64px;align-items:end}
.hero-title{grid-column:auto;min-width:0}
.hero h1{font-size:clamp(54px,5.5vw,82px);text-wrap:balance}
.hero-context{position:static;max-width:none;width:auto;margin:0 0 6px;font-size:15px;line-height:1.85;min-width:0}
.hero-image:after{display:none}
.hero-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity 1s ease,visibility 0s 1s}
.hero-slide.is-active{opacity:1;visibility:visible;transition:opacity 1s ease,visibility 0s}
.hero-image .hero-slide img{width:100%;height:100%;object-fit:cover;transform:none!important;animation:none!important}
.hero-slide:nth-child(1) img{object-position:60% 35%}
.hero-slide:nth-child(2) img{object-position:50% 25%}
.hero-slide:nth-child(3) img{object-position:50% 40%}
.hero-controls{display:flex;gap:24px;flex-wrap:wrap;align-items:center}
.hero-controls[hidden]{display:none}
.hero-controls button{font:500 12px var(--sans);border:0;border-bottom:1px solid transparent;background:none;color:var(--ink);padding:10px 0;min-height:44px;cursor:pointer}
.hero-controls button:hover,.hero-controls button[aria-pressed=true]{border-bottom-color:currentColor}
.hero-controls button[aria-pressed=true]{font-weight:700}
html.motion-paused .hero-slide{transition:none}
.photo-credits{margin-top:45px}
.photo-credits ul{font-size:14px;line-height:1.8}
.photo-credits li+li{margin-top:16px}
@media(max-width:960px){.hero-top{grid-template-columns:1fr;gap:26px}.hero-context{max-width:680px;margin:0}.hero h1{font-size:clamp(54px,8vw,76px)}}
@media(max-width:600px){.hero-top{gap:24px}.hero h1{font-size:clamp(42px,10.8vw,64px)}.hero-context{font-size:14px}.hero-slide:nth-child(1) img{object-position:70% 40%}.hero-slide:nth-child(2) img{object-position:50% 50%}.hero-slide:nth-child(3) img{object-position:35% 50%}.hero-bottom{gap:20px}.hero-controls{gap:22px}}

/* Profile refinement: measured phrase widths, shared navy photo treatment and quiet slide controls. */
@media(min-width:961px){.hero h1{font-size:clamp(40px,4.4vw,64px)}}
.hero-image .hero-slide img{filter:saturate(.55) contrast(1.04) brightness(.91)}
.hero-image:after{display:block;content:'';position:absolute;inset:0;background:rgba(20,43,64,.19);pointer-events:none;z-index:1}
.hero-image .motion-control{z-index:2}
.hero-controls{gap:0}
.hero-controls button{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;min-height:44px;padding:0;border:0;border-radius:50%}
.hero-controls button span{display:block;width:7px;height:7px;border:1px solid var(--ink);border-radius:50%;background:transparent}
.hero-controls button:hover span{background:var(--muted)}
.hero-controls button[aria-pressed=true] span{background:var(--ink)}
@media(max-width:600px){.hero h1{font-size:clamp(32px,8vw,48px)}.section-head h2.firm-intro-title{font-size:clamp(30px,8vw,40px)}.phrase-break{display:none}}

/* Longer English phrases keep the same two-line desktop composition. */

/* Fit the requested two-sentence headings to their rendered content columns. */
.heading-measure,.international-heading-measure{container-type:inline-size;min-width:0}
.section-head .heading-measure .fit-heading{font-size:clamp(20px,7.1cqw,50px);max-width:none;line-height:1.12;text-wrap:initial;hyphens:none}
.fit-heading .phrase-break{display:initial}
.international-heading-measure .fit-heading{font-size:clamp(18px,7.1cqw,38px);line-height:1.12;text-wrap:initial;hyphens:none;overflow-wrap:normal}
/* One hue preserves tonal detail while bringing all three city photographs into the navy palette. */
.hero-image .hero-slide img{filter:grayscale(1) sepia(1) saturate(.65) hue-rotate(165deg) contrast(1.02) brightness(.98)}
.hero-image:after{background:rgba(25,48,74,.12)}
.person-portrait,.person-details{display:block;text-decoration:none}
.person-card .portrait{margin-bottom:0}
.person-social{min-height:44px;margin:12px 0 16px}
.linkedin-link{display:inline-flex;align-items:center;gap:10px;min-height:44px;font-size:13px;text-decoration:none}
.linkedin-link span{border-bottom:1px solid var(--line);line-height:1.6}
.linkedin-link:hover span{border-bottom-color:currentColor}
.linkedin-link svg{flex-shrink:0}
.person-card:focus-within .portrait img{transform:scale(1.035)}
@media(prefers-reduced-motion:reduce){.person-card:focus-within .portrait img{transform:none}}
@media(max-width:760px){.international-block{grid-template-columns:1fr}.international-art{min-height:260px}}
@media(max-width:360px){.international-copy{padding-inline:16px}}
.people-preview>div,.person-row>span{min-width:0}
.person-row small{flex-shrink:0}
@media(max-width:360px){html[lang=es] .people-preview h2{font-size:38px}}

/* Full-width Copacabana-inspired wave inlays on the opening home band. */
.page-home main{overflow-x:clip}
.page-home .hero:before{left:calc(50% - 50vw);right:auto;width:100vw;box-shadow:none;clip-path:none;background-color:var(--ink);background-image:url('assets/brand/copacabana-waves.svg');background-size:240px 144px;background-position:center top;background-repeat:repeat}
@media(max-width:600px){.page-home .hero:before{background-size:180px 108px}}

/* Owner-selected phrase breaks in the Portuguese practice catalogue. */
.practice-title-lines{container-type:inline-size}
.practice-title-lines>span{display:block;white-space:nowrap;font-size:clamp(16px,7.6cqw,32px);line-height:1.3}


/* Approved illustrations remain blue in team listings and individual profiles. */
.profile-aside .portrait.portrait-illustrated img{filter:none}
.person-card .portrait.portrait-illustrated img{filter:none}
.person-card:hover .portrait.portrait-illustrated img,
.person-card:focus-within .portrait.portrait-illustrated img{filter:none}
.article h2,.contact-strip h2{overflow-wrap:anywhere;hyphens:auto}

/* Vector arrows retain the brand color without platform emoji substitution. */
.arrow{display:inline-block;width:1em;height:1em;flex-shrink:0;vertical-align:middle}

/* Full-width mobile navigation: the padded row is the touch target. */
@media(max-width:1200px){
 .menu nav{padding:12px 0 20px}
 .menu nav>a{display:flex;align-items:center;width:100%;min-height:56px;padding:14px var(--gutter);touch-action:manipulation;transition:background .2s ease}
 .menu nav>a:hover,.menu nav>a:focus-visible{padding-left:var(--gutter);background:var(--soft)}
 .menu nav>a:focus-visible{outline-offset:-5px}
 .menu nav .language-options{padding-inline:var(--gutter);margin-top:14px}
 .menu summary{touch-action:manipulation}
}
@media(prefers-reduced-motion:reduce){.menu nav>a{transition:none}}

/* TC Safe Sender — MFA interface and privacy notices. */
.contact-panel { margin-bottom: 56px; }
.contact-panel h2 { margin-bottom: 20px; }
.contact-panel fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }
.contact-panel label { display: block; font-size: 15px; font-weight: 600; margin: 20px 0 8px; }
.contact-panel :is(input, select, textarea) { width: 100%; min-width: 0; font: inherit; font-size: 16px; color: var(--ink); background: #fff; border: 1px solid #92928E; border-radius: 3px; padding: 12px 14px; min-height: 48px; }
.contact-panel textarea { resize: vertical; }
.contact-panel select { white-space: normal; }
.contact-panel :is(input, select, textarea, button):focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; }
.contact-panel :is(input, select, textarea):disabled { background: var(--soft); color: var(--muted); cursor: not-allowed; }
.contact-panel button { display: inline-block; border: 1px solid var(--ink); background: var(--ink); color: white; border-radius: 3px; padding: 13px 24px; font: inherit; font-weight: 600; cursor: pointer; min-height: 48px; }
.contact-panel button:hover { background: var(--ink); border-color: var(--ink); }
.contact-panel fieldset:disabled button { opacity: .65; cursor: wait; }
.contact-required, .contact-help { font-size: 14px; line-height: 1.6; color: var(--muted); }
.contact-panel .contact-help { margin: 8px 0 24px; }
.contact-report-note { border-left: 3px solid var(--ink); background: var(--soft); padding: 18px 20px; margin: 20px 0; font-size: 15px; line-height: 1.7; }
.contact-report-note p:last-child { margin-bottom: 0; }
.contact-report-note[hidden] { display: none; }
.contact-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin-top: 8px; }
.contact-panel .contact-clear { background: transparent; border-color: #92928E; color: var(--ink); }
.contact-panel .contact-clear:hover { background: var(--soft); border-color: var(--ink); }
.contact-privacy { margin-bottom: 8px; }
.contact-status { margin: 24px 0 0; padding: 18px 20px; border: 1px solid #b6c2ce; border-left: 5px solid var(--ink); background: #eef1f3; color: #1c2736; font-size: 16px; font-weight: 600; line-height: 1.6; text-align: left; }
.contact-status:empty { display: none; }
.contact-status[data-state="success"] { background: #EAF4EE; border-color: #9DC6AD; border-left-color: #215A3B; color: #17432B; }
.contact-status.is-error { background: #FFF0EE; border-color: #DEACA6; border-left-color: #9C2929; color: #78211C; }
.contact-status:focus { outline: 3px solid var(--ink); outline-offset: 3px; }
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }

#contact-attachment { padding:12px; font:inherit; width:100%; max-width:100%; }
#contact-attachment::file-selector-button { border:1px solid #B8C4D0; background:#eef1f3; color:#121212; padding:8px 12px; margin-right:12px; cursor:pointer; font:inherit; }

/* Privacy notices: related form topics share one section hierarchy. */
.privacy-content h3 { margin-top:32px; margin-bottom:14px; font-size:22px; line-height:1.3; letter-spacing:-.015em; text-transform:none; color:var(--ink); }
.privacy-content h2 + h3 { margin-top:22px; }
.privacy-content h4 { margin:24px 0 10px; font-size:17px; line-height:1.4; font-weight:600; letter-spacing:0; }
.privacy-content ul { padding-left:1.3em; list-style-type:square; }
.privacy-content li { padding-left:.4em; margin-bottom:12px; text-align:justify; text-justify:inter-word; }
.privacy-content li::marker { color:var(--accent); font-size:.75em; }



.privacy-report, .privacy-integration-note { margin:32px 0; padding:24px; background:#F8EEEE; border-left:3px solid #A64B50; }
.privacy-content .privacy-report > h3, .privacy-content .privacy-integration-note > h3 { margin-top:0; color:#762E36; }
.privacy-report > :last-child, .privacy-integration-note > :last-child { margin-bottom:0; }
@media (max-width:480px) { .privacy-report, .privacy-integration-note { padding:20px 16px; } }

/* Notice navigation uses native links, including without JavaScript. */
.privacy-nav { padding:24px; border:1px solid var(--line); background:#eef1f3; }
.privacy-nav > p { margin:0 0 14px; color:var(--ink); font-size:14px; font-weight:600; text-align:left; }
.privacy-nav-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:24px; }
.privacy-nav-grid a { display:grid; grid-template-columns:24px minmax(0,1fr); gap:10px; align-items:start; min-height:58px; padding:14px 0; border-top:1px solid var(--line); color:var(--ink); font-size:14px; line-height:1.5; text-align:left; text-decoration:none; hyphens:none; }
.privacy-nav-grid a:hover { color:var(--ink); text-decoration:underline; }
.privacy-nav-number { color:var(--ink); font-size:12px; line-height:21px; font-variant-numeric:tabular-nums; }
.privacy-section { margin-top:36px; }
.privacy-content .privacy-section > h2 { margin-top:0; padding-top:24px; border-top:1px solid var(--line); scroll-margin-top:24px; }
.privacy-nav + .privacy-section > h2 { padding-top:0; border-top:0; }
.privacy-content .privacy-top-link { margin:20px 0 0; text-align:right; text-align-last:right; }
.privacy-top-link a { display:inline-flex; align-items:center; justify-content:flex-end; gap:8px; min-height:44px; padding:4px 0 4px 12px; font-size:14px; line-height:20px; }
.privacy-top-link svg { flex:none; }
@media (max-width:600px) {
  .privacy-nav { padding:20px; }
  .privacy-nav-grid { grid-template-columns:1fr; }
}

/* MFA: editorial headings, slate accents and the existing contact/address composition. */
.contact-grid{align-items:start}
.contact-panel{min-width:0;margin-bottom:0}
.contact-panel h2{margin-bottom:28px}
.contact-panel p{margin:0 0 18px;text-align:justify;hyphens:auto}
.contact-panel .contact-explanation{font-size:15px;line-height:1.85}
.contact-panel .contact-required,.contact-panel .contact-help{font-size:12px;line-height:1.75;color:var(--muted);text-align:left;hyphens:none}
.contact-panel .contact-required{margin:10px 0}
.contact-panel fieldset{margin-top:28px}
.contact-panel :is(input,select,textarea,button){border-radius:0}
.contact-panel :is(input,select,textarea){border-color:#a8b2bd}
.contact-panel button{letter-spacing:.025em;font-size:13px}
.contact-panel .contact-status{margin:24px 0 0;text-align:left;hyphens:none;font-weight:600}
.contact-panel .contact-status[data-state="success"]{background:#eaf0ed;border-color:#6a8274;color:#254232}
.contact-panel .contact-status[data-state="error"],.contact-panel .contact-status.is-error{background:#f8eeee;border-color:#a64b50;color:#762e36}
.contact-report-note{background:var(--soft);border-left-color:var(--accent)}
.contact-report-note p{margin:0;font-size:14px}
.contact-address{position:static}
.notice-wrap{max-width:920px;padding-block:56px 80px}
.notice-wrap .privacy-nav{padding:28px;background:var(--soft);border-color:var(--line)}
.notice-wrap .privacy-nav>.eyebrow{font-family:var(--sans);font-size:11px;letter-spacing:.13em;margin-bottom:18px}
.notice-wrap .privacy-nav-grid a{font-size:13px;line-height:1.7}
.notice-wrap .privacy-content{max-width:none;padding:0}
.privacy-content .privacy-section{margin-top:44px}
.privacy-content .privacy-section>h2{font-family:var(--serif);font-size:clamp(28px,3.6vw,38px);line-height:1.18;font-weight:400;letter-spacing:-.035em;padding-top:24px;margin:0 0 22px;border-top:1px solid var(--line)}
.privacy-content .privacy-section:first-child>h2{border-top:0;padding-top:0}
.privacy-content p{margin:0 0 20px;text-align:justify;hyphens:auto;font-size:15px;line-height:1.85}
.privacy-content h3{font-family:var(--sans);font-size:21px;line-height:1.4;font-weight:500;margin:32px 0 16px;letter-spacing:-.02em}
.privacy-content h4{font-family:var(--sans);font-size:16px;margin:26px 0 12px}
.privacy-content ul{margin:0 0 22px;padding-left:20px;font-size:15px;line-height:1.85}
.privacy-content li{margin-bottom:12px;text-align:justify;hyphens:auto}
.privacy-content .privacy-top-link{text-align:right;text-align-last:right;margin-top:24px}
.privacy-content .privacy-top-link a{font-size:12px;letter-spacing:.05em}
.privacy-section>h2:focus,.site-header:focus{outline:none}
@media(max-width:600px){.notice-wrap{padding-block:36px 52px}.notice-wrap .privacy-nav{padding:22px}.privacy-nav-grid{grid-template-columns:1fr}.contact-panel h2{font-size:32px}.privacy-content .privacy-section>h2{font-size:30px}}
