*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:#f5f7f7;color:#07334c;font:16px/1.65 Arial,sans-serif}a{color:inherit;text-decoration:none}a:hover{color:#247193}a:focus-visible,button:focus-visible{outline:3px solid #247193;outline-offset:5px}img{display:block;max-width:100%}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Georgia,serif;font-weight:400;line-height:1.12}h1{font-size:clamp(45px,5.5vw,83px);letter-spacing:-2px}h2{font-size:clamp(35px,4vw,54px);letter-spacing:-1px}h3{font-size:27px}.wrap{width:min(1280px,88%);margin:auto}.label{font-size:11px;text-transform:uppercase;letter-spacing:2.5px;font-weight:600}.draft{background:#07334c;color:#fff;text-align:center;padding:6px 15px;font-size:11px;letter-spacing:1px}header{position:sticky;top:0;background:#f5f7f7f5;backdrop-filter:blur(10px);z-index:10;border-bottom:1px solid #d1d1cf}.nav{height:92px;display:flex;align-items:center;justify-content:space-between;gap:20px}.logo{width:145px;max-height:60px;object-fit:contain}.navlinks{display:flex;gap:28px;align-items:center;font-size:13px}.navlinks a[href*="#contact"]{border:1px solid #247193;padding:10px 20px}.menu{display:none;background:none;border:1px solid;padding:9px;color:inherit}.hero{display:grid;grid-template-columns:1.04fr 1fr;min-height:650px}.hero-copy{padding:85px 8% 65px 12%}.hero .label{margin-bottom:28px}.hero p{max-width:450px;margin-top:30px;color:#435b68}.hero-photo{position:relative;overflow:hidden;background:#d1d1cf}.hero-photo img{height:100%;width:100%;object-fit:cover}.caption{position:absolute;bottom:24px;left:25px;color:white;background:#07334cbf;padding:7px 13px;font-size:11px;letter-spacing:1.8px}.link{display:inline-flex;align-items:center;gap:36px;margin-top:32px;padding-bottom:9px;border-bottom:1px solid #247193;font-size:13px}.link span{font-size:22px}.cities{padding:21px 0;border-top:1px solid #d1d1cf;border-bottom:1px solid #d1d1cf;font-size:11px;letter-spacing:3px}.section{padding:100px 0}.intro{display:grid;grid-template-columns:1fr 1.15fr;gap:70px;align-items:center}.heritage-photo{height:510px;overflow:hidden}.heritage-photo img{width:100%;height:100%;object-fit:cover}.intro h2{font-size:clamp(34px,3.5vw,49px)}.intro h2{max-width:740px}.intro p{max-width:700px;margin-top:28px;color:#435b68}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:45px;gap:30px}.section-head .label{margin-bottom:18px}.practice-list{display:grid;grid-template-columns:1fr 1fr;column-gap:70px}.practice{display:grid;grid-template-columns:32px 1fr 20px;gap:15px;padding:29px 0;border-top:1px solid #d1d1cf}.practice small{color:#247193;font-size:11px;padding-top:6px}.practice h3{font-size:26px}.practice p{font-size:14px;color:#435b68;margin-top:12px;max-width:440px}.practice .arrow{font-size:23px}.feature{background:#07334c;color:#f5f7f7;padding:85px 0}.feature-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:100px}.feature h2{font-size:clamp(40px,5vw,66px);margin-top:25px}.feature p{color:#e5edef;margin-top:25px}.feature .link{border-color:#a2c6d6}.feature-list{padding:0;list-style:none;margin:0}.feature-list li{border-top:1px solid #5b8296;padding:20px 0;font-size:15px;display:flex;justify-content:space-between}.team{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}.person img{aspect-ratio:4/5;object-fit:cover;filter:saturate(.55);width:100%}.person h3{font-size:23px;margin-top:22px}.person p{font-size:13px;color:#435b68;margin-top:9px}.person .link{font-size:12px;gap:20px;margin-top:18px}.offices{background:#eaf0f3}.office-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:45px}.office{border-top:1px solid #b7c6ce;padding-top:25px}.office h3{font-size:32px}.office address{font-style:normal;font-size:14px;color:#435b68;margin-top:20px}.office a{display:block;margin-top:8px}.contact-band{padding:70px 0;display:flex;align-items:center;justify-content:space-between;gap:25px}.contact-band h2{font-size:43px}.button{background:#07334c;color:#fff;padding:16px 25px;font-size:13px;display:inline-block}.button:hover{background:#247193;color:white}footer{border-top:1px solid #d1d1cf;padding:28px 0;font-size:11px;color:#435b68}.footer-row{display:flex;justify-content:space-between;gap:25px}.footer-row div{display:flex;gap:25px}.skip{position:absolute;left:-999px}.skip:focus{left:20px;top:40px;background:white;z-index:30;padding:10px}.detail-hero{padding:75px 0 80px;border-bottom:1px solid #d1d1cf}.detail-hero h1{max-width:950px;margin:25px 0}.detail-hero p{max-width:720px;font-size:19px;color:#435b68}.breadcrumb{font-size:12px}.detail-grid{display:grid;grid-template-columns:1fr 2fr;gap:80px}.detail-item{border-top:1px solid #d1d1cf;padding:28px 0}.detail-item p{margin-top:15px;color:#435b68}.detail-item h2{font-size:30px}.note{font-size:12px;padding:20px;background:#eaf0f3;border-left:2px solid #247193}.review{max-width:900px;margin:70px auto;padding:0 30px}.review h1{font-size:50px}.review h2{font-size:29px;margin:35px 0 15px}.review p,.review li{margin-bottom:12px}@media(max-width:900px){.hero-copy{padding:65px 9%}.hero{min-height:550px}.navlinks{gap:16px}.intro,.feature-grid,.detail-grid{gap:40px}.team{grid-template-columns:1fr 1fr}.section{padding:75px 0}.practice-list{column-gap:30px}}.practice:last-child:nth-child(odd){grid-column:1/-1}@media(max-width:650px){.heritage-photo{height:350px}.nav{height:76px}.logo{width:120px}.menu{display:block}.navlinks{display:none;position:absolute;top:76px;left:0;width:100%;padding:25px 6%;background:#f5f7f7;flex-direction:column;align-items:start;border-bottom:1px solid #ddd}.navlinks.open{display:flex}.hero{grid-template-columns:1fr}.hero-copy{padding:55px 6%}.hero-photo{height:330px}.hero h1{font-size:53px}.intro,.feature-grid,.detail-grid{grid-template-columns:1fr;gap:30px}.practice-list{grid-template-columns:1fr}.section-head{display:block}.section-head>.link{margin-top:20px}.team{gap:25px 15px}.person h3{font-size:21px}.office-grid{grid-template-columns:1fr}.contact-band,.footer-row{align-items:start;flex-direction:column}.feature{padding:65px 0}.section{padding:60px 0}.cities{letter-spacing:2px;font-size:10px}.detail-hero{padding:50px 0}.detail-hero h1{font-size:48px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.languages{display:flex;gap:10px;align-items:center;font-size:11px;letter-spacing:1px;white-space:nowrap}.languages a{padding:4px 0;color:#435b68}.languages a[aria-current]{color:#07334c;border-bottom:1px solid #247193;font-weight:bold}.navlinks{gap:22px}h1,h2,h3{overflow-wrap:break-word;hyphens:auto}h1{hyphens:none}html[lang="de"] .hero h1{font-size:clamp(40px,4.6vw,69px);letter-spacing:-1.4px}html[lang="it"] .hero h1{font-size:clamp(42px,4.9vw,74px)}.practice>div{min-width:0}.hero-copy{padding-right:7%}@media(max-width:1000px){.nav{gap:15px}.navlinks{gap:15px}.logo{width:120px}}@media(min-width:651px) and (max-width:900px){.navlinks{font-size:11px;gap:12px}.navlinks a[href*="#contact"]{padding:8px 10px}.logo{width:105px}.languages{gap:7px}}@media(max-width:650px){.nav .logo{width:110px}.nav .menu{margin-left:auto}.languages{gap:12px}.heritage-photo{height:350px}html[lang="de"] .hero h1{font-size:46px}html[lang="it"] .hero h1{font-size:48px}.draft{font-size:9px;letter-spacing:.5px}}
.legal-copy{max-width:900px}.inline-link{text-decoration:underline;text-underline-offset:3px}footer .footer-row div{flex-wrap:wrap}

.impressum-copy h2{font-size:28px;margin:32px 0 18px}.impressum-copy p{margin:0 0 18px}.impressum-copy a{text-decoration:underline;overflow-wrap:anywhere}

.profile-hero{display:grid;grid-template-columns:.75fr 1.25fr;gap:80px;padding-top:70px;padding-bottom:70px;align-items:center}.profile-portrait{max-height:570px;overflow:hidden}.profile-portrait img{width:100%;aspect-ratio:4/5;object-fit:cover;filter:saturate(.6)}.profile-heading .label{margin-top:35px;letter-spacing:1.5px;line-height:1.7}.profile-heading h1{font-size:clamp(42px,5vw,69px);margin:22px 0;letter-spacing:-1.5px}.profile-focus{font-size:21px;line-height:1.5;color:#435b68}.profile-body{display:grid;grid-template-columns:.75fr 1.25fr;gap:80px}.profile-facts .label{margin:0 0 12px}.profile-facts .label:not(:first-child){margin-top:35px}.profile-facts a{overflow-wrap:anywhere}.profile-biography h2{font-size:36px;margin-bottom:30px}.profile-biography p{margin-bottom:23px;color:#435b68}.profile-related{margin-top:45px}.area-tags{display:flex;flex-wrap:wrap;gap:12px}.area-tag{border:1px solid #b7c6ce;padding:10px 15px;font-size:13px}.related-team{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.related-team .person img{width:100%;height:auto;max-height:none;aspect-ratio:4/5;object-fit:contain;object-position:center;background:#eaf0f3}.people-directory{display:grid;grid-template-columns:repeat(4,1fr);gap:45px 28px}.people-directory .person p{font-size:14px}.firm-editorial{display:grid;grid-template-columns:1fr 1.25fr;gap:70px;align-items:start}.firm-editorial>img{width:100%;height:650px;object-fit:cover}.firm-editorial h2{font-size:32px}.firm-editorial p{margin-top:18px;color:#435b68}.footer-explore{width:min(1280px,88%);margin:0 auto 25px;display:flex;flex-wrap:wrap;gap:28px}.light-button{background:#f5f7f7;color:#07334c}.section .detail-item:first-child{padding-top:0;border-top:0}@media(max-width:1000px){.people-directory{grid-template-columns:repeat(2,1fr)}.profile-hero,.profile-body{gap:40px}.firm-editorial{gap:40px}}@media(max-width:650px){.profile-hero,.profile-body,.firm-editorial{grid-template-columns:1fr;gap:30px}.profile-hero{padding-top:35px;padding-bottom:35px}.profile-portrait{height:390px;max-width:350px}.profile-heading .label{margin-top:20px}.profile-heading h1{font-size:44px}.profile-focus{font-size:19px}.profile-facts{border-bottom:1px solid #d1d1cf;padding-bottom:30px}.people-directory{gap:35px 17px}.people-directory .person h3{font-size:23px}.people-directory .person p{font-size:13px}.related-team{grid-template-columns:1fr 1fr;gap:25px 17px}.related-team .person:last-child{display:block}.firm-editorial>img{height:400px}.profile-biography h2{font-size:32px}.footer-explore{gap:20px}}
.linkedin-icon{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-width:44px;min-height:44px;padding:9px 12px;border:1px solid #b7c6ce;color:#07334c;font-size:13px;vertical-align:middle}.linkedin-icon svg{flex-shrink:0}.linkedin-icon:hover{background:#07334c;border-color:#07334c;color:white}.profile-heading>.linkedin-icon{margin:22px 0 0 18px}.person>.linkedin-icon{margin:18px 0 0 14px}.linkedin-icon.compact{padding:10px}.profile-portrait:has(img[src$="giulia-new.jpg"]){overflow:visible;max-height:none}.profile-portrait img[src$="giulia-new.jpg"]{height:auto;aspect-ratio:auto;object-fit:contain;max-height:620px}.person img[src$="giulia-new.jpg"]{object-fit:contain;background:#eaf0f3}@media(max-width:650px){.profile-heading>.linkedin-icon{margin-left:0;display:flex;width:max-content}.profile-portrait:has(img[src$="giulia-new.jpg"]){height:auto}.profile-portrait img[src$="giulia-new.jpg"]{max-height:520px}.person>.linkedin-icon{margin-left:0}}

.portrait-frame{display:block;overflow:hidden}.person .portrait-frame img[src$="giulia-new.jpg"]{object-fit:cover;object-position:50% 25%;transform:scale(1.7);transform-origin:50% 15%;background:none}

.person img[src$="rita-new.jpeg"],.profile-portrait img[src$="rita-new.jpeg"]{object-position:50% 22%}

.contribution-section{background:#eaf0f3}.contribution-layout{display:grid;grid-template-columns:300px 1fr;gap:75px;align-items:center}.contribution-badge{display:block;background:#fff;padding:24px}.contribution-badge img{width:100%;height:auto;object-fit:contain}.contribution-layout h2{font-size:clamp(32px,3.5vw,46px);margin:20px 0}.contribution-layout p{color:#435b68;max-width:740px;margin-top:18px}.contribution-authors{font-size:14px}.profile-publication{margin-top:40px;border-top:1px solid #b7c6ce;padding-top:30px}.profile-publication h2{font-size:28px;margin:18px 0}.profile-publication .link{margin-top:4px}@media(max-width:900px){.contribution-layout{grid-template-columns:240px 1fr;gap:40px}}@media(max-width:650px){.contribution-layout{grid-template-columns:1fr;gap:30px}.contribution-badge{max-width:250px;padding:20px}.contribution-layout h2{font-size:33px}}

.careers-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:80px;align-items:start}.careers-layout h2{font-size:32px}.application-panel{background:#eaf0f3;padding:40px}.application-panel p{margin:22px 0;color:#435b68}.application-panel .application-hint{font-size:13px;margin-top:18px}.application-panel>.inline-link{font-size:13px}.careers-band{display:flex;justify-content:space-between;align-items:center;gap:40px}.careers-band p{margin-top:20px}.profile-portrait img[src$="marco-jeva.svg"],.person img[src$="marco-jeva.svg"]{object-fit:contain;filter:none;background:#eaf0f3}.navlinks{gap:18px}@media(max-width:900px){.careers-layout{gap:35px}.navlinks{gap:12px;font-size:12px}}@media(max-width:650px){.careers-layout{grid-template-columns:1fr;gap:30px}.application-panel{padding:28px}.careers-band{flex-direction:column;align-items:flex-start}.navlinks{font-size:14px}}

.ai-compliance{background:#eaf0f3}.ai-compliance h2{font-size:clamp(32px,4vw,48px);max-width:850px;margin:20px 0 25px}.ai-compliance-intro{max-width:850px;font-size:20px;color:#435b68}.ai-compliance-scope{max-width:850px;margin-top:20px;color:#435b68}.ai-compliance-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 60px;list-style:none;padding:0;margin:50px 0 0}.ai-compliance-steps li{border-top:1px solid #b7c6ce;padding:25px 0 30px}.ai-step-number{display:block;font-size:12px;letter-spacing:2px;margin-bottom:13px}.ai-compliance-steps h3{font-size:25px;line-height:1.3;margin-bottom:15px}.ai-compliance-steps p{color:#435b68;font-size:16px}.ai-compliance-end{border-top:1px solid #b7c6ce;padding-top:25px;display:flex;flex-wrap:wrap;gap:25px 40px;align-items:center}.ai-source{font-size:12px;color:#435b68;text-decoration:underline;text-underline-offset:4px}@media(max-width:700px){.ai-compliance-steps{grid-template-columns:1fr;margin-top:35px}.ai-compliance-intro{font-size:18px}.ai-compliance-steps h3{font-size:24px}}


/* Patti Legal — six-column editorial layout refresh */
:root{--pl-header-height:86px;--pl-cities-height:58px;--pl-page-gutter:clamp(24px,6vw,92px);--pl-grid-gap:clamp(16px,2vw,30px);--pl-grid-width:1360px}
.wrap{width:min(var(--pl-grid-width),calc(100% - 2 * var(--pl-page-gutter)))}
.wrap>*{min-width:0}
.nav{height:var(--pl-header-height);display:grid;grid-template-columns:repeat(6,minmax(0,1fr));column-gap:var(--pl-grid-gap);justify-content:initial}
.nav>a:first-child{grid-column:1}
.navlinks{grid-column:2/6;justify-content:space-between;gap:clamp(12px,1.5vw,24px);min-width:0}
.languages{grid-column:6;justify-self:end;opacity:.48;transition:opacity .2s ease}
.languages:hover,.languages:focus-within{opacity:1}
.hero{min-height:calc(100svh - var(--pl-header-height) - var(--pl-cities-height));height:calc(100svh - var(--pl-header-height) - var(--pl-cities-height));display:grid;grid-template-columns:repeat(6,minmax(0,1fr));column-gap:var(--pl-grid-gap);align-items:stretch;padding:0 var(--pl-page-gutter);max-width:calc(var(--pl-grid-width) + 2 * var(--pl-page-gutter));margin-inline:auto}
.hero-copy{grid-column:1/4;align-self:center;padding:clamp(34px,5vh,72px) 0;padding-right:clamp(12px,2vw,30px);max-width:100%}
.hero-copy .label{margin-bottom:clamp(18px,3vh,30px)}
.hero h1{font-size:clamp(43px,5.1vw,76px);line-height:1.04;letter-spacing:-.045em}
.hero p{max-width:46ch;margin-top:clamp(20px,3vh,30px)}
.hero .link{margin-top:clamp(22px,3vh,34px)}
.hero-photo{grid-column:5/7;align-self:center;height:min(72%,620px);min-height:300px;overflow:hidden;background:#d1d1cf}
.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center}
.cities{min-height:var(--pl-cities-height);display:flex;align-items:center;padding-block:12px}
.cities .wrap{width:min(var(--pl-grid-width),calc(100% - 2 * var(--pl-page-gutter)));padding-left:0}
.section>.wrap,.offices>.wrap{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));column-gap:var(--pl-grid-gap)}
.section>.wrap>*,.offices>.wrap>*{grid-column:1/-1}
.menu{width:44px;height:44px;padding:0;border:0;position:relative;background:transparent;color:#07334c;cursor:pointer}
.menu::before{content:"";position:absolute;width:23px;height:1px;left:10px;top:15px;background:currentColor;box-shadow:0 7px 0 currentColor,0 14px 0 currentColor;transition:transform .2s ease,box-shadow .2s ease,top .2s ease}
.menu[aria-expanded="true"]::before{top:21px;transform:rotate(45deg);box-shadow:none}
.menu[aria-expanded="true"]::after{content:"";position:absolute;width:23px;height:1px;left:10px;top:21px;background:currentColor;transform:rotate(-45deg)}
@media(max-width:1100px){.nav{column-gap:14px}.navlinks{gap:12px;font-size:12px}.logo{width:118px}.hero-copy{grid-column:1/4}.hero-photo{grid-column:5/7}}
@media(max-width:900px){:root{--pl-header-height:78px;--pl-cities-height:52px}.nav{display:flex;justify-content:space-between;gap:16px}.navlinks{flex:1;justify-content:space-around}.hero{column-gap:18px}.hero h1{font-size:clamp(40px,5vw,60px)}}
@media(max-width:650px){
:root{--pl-header-height:72px;--pl-cities-height:48px;--pl-page-gutter:22px}
.nav{height:var(--pl-header-height);display:flex}.nav .logo{width:112px}.nav .menu{display:block;margin-left:auto;order:2}
.navlinks{display:none;position:absolute;top:var(--pl-header-height);left:0;width:100%;padding:24px var(--pl-page-gutter) 30px;background:#f5f7f7;flex-direction:column;align-items:stretch;gap:0;border-bottom:1px solid #d1d1cf;box-shadow:0 12px 24px #07334c12}
.navlinks.open{display:flex}.navlinks a{padding:13px 0;border-bottom:1px solid #d1d1cf;font-size:14px}.navlinks a[href*="#contact"]{border:0;padding:13px 0}
.languages{order:1;margin-left:auto;margin-right:4px;gap:9px;font-size:10px}
.hero{height:auto;min-height:calc(100svh - var(--pl-header-height) - var(--pl-cities-height));grid-template-columns:repeat(6,minmax(0,1fr));gap:0 10px;padding-inline:var(--pl-page-gutter);align-content:center}
.hero-copy{grid-column:1/7;padding:clamp(36px,7vh,60px) 0 26px}.hero .label{margin-bottom:20px}.hero h1{font-size:clamp(42px,11vw,58px);line-height:1.04}
.hero p{font-size:15px;line-height:1.55;margin-top:18px;max-width:43ch}.hero .link{margin-top:18px}
.hero-photo{grid-column:4/7;width:100%;height:clamp(112px,20svh,175px);min-height:0;margin:0 0 28px auto}
.cities{min-height:var(--pl-cities-height);font-size:9px;letter-spacing:1.8px}.cities .wrap{width:calc(100% - 2 * var(--pl-page-gutter))}
.section>.wrap,.offices>.wrap{grid-template-columns:repeat(6,minmax(0,1fr));column-gap:10px}
}
@media(max-height:700px) and (min-width:651px){.hero-copy{padding-block:22px}.hero h1{font-size:clamp(40px,4.4vw,64px)}.hero p{margin-top:16px}.hero .link{margin-top:18px}.hero-photo{height:78%;min-height:230px}}
@media(prefers-reduced-motion:reduce){.languages,.menu::before{transition:none}}


/* Patti Legal — eight-column refinement, v3 */
:root {
  --pl-grid-gap: clamp(14px, 1.65vw, 26px);
  --pl-grid-width: 1440px;
}
.nav {
  grid-template-columns: repeat(8, minmax(0, 1fr));
  column-gap: var(--pl-grid-gap);
}
.nav > a:first-child { grid-column: 1 / 3; }
.navlinks {
  grid-column: 3 / 8;
  justify-content: space-between;
  gap: clamp(16px, 2vw, 30px);
  font-size: clamp(12px, .92vw, 14px);
  white-space: nowrap;
}
.languages { grid-column: 8; }
.hero {
  grid-template-columns: repeat(8, minmax(0, 1fr));
  column-gap: var(--pl-grid-gap);
}
.hero-copy {
  grid-column: 1 / 6;
  padding-right: clamp(24px, 4vw, 64px);
}
.hero-photo { grid-column: 7 / 9; }
.cities .wrap {
  display: grid;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  column-gap: var(--pl-grid-gap);
}
.cities .wrap::first-line { grid-column: 1 / -1; }
@media (max-width: 1100px) {
  .nav { grid-template-columns: repeat(8, minmax(0, 1fr)); }
  .nav > a:first-child { grid-column: 1 / 3; }
  .navlinks { grid-column: 3 / 8; gap: 12px; font-size: 11px; }
  .languages { grid-column: 8; }
  .hero-copy { grid-column: 1 / 6; }
  .hero-photo { grid-column: 7 / 9; }
}
@media (max-width: 900px) {
  .nav { display: flex; }
  .navlinks { flex: 1; white-space: normal; }
  .hero { grid-template-columns: repeat(8, minmax(0, 1fr)); }
  .hero-copy { grid-column: 1 / 6; }
  .hero-photo { grid-column: 7 / 9; }
}
@media (max-width: 650px) {
  .nav { display: flex; }
  .hero { grid-template-columns: repeat(8, minmax(0, 1fr)); }
  .hero-copy { grid-column: 1 / 9; padding-right: 0; }
  .hero-photo { grid-column: 5 / 9; }
  .cities .wrap { display: block; }
}


/* Patti Legal — hero balance: 4 text columns, 1 spacer, 3 image columns */
@media (min-width: 651px) {
  .hero-copy { grid-column: 1 / 5; }
  .hero-photo { grid-column: 6 / 9; }
}
@media (min-width: 651px) and (max-width: 1100px) {
  .hero-copy { grid-column: 1 / 5; }
  .hero-photo { grid-column: 6 / 9; }
}


/* Patti Legal — compact centered navigation with an empty third column */
@media (min-width: 901px) {
  .nav {
    display: grid;
    grid-template-columns: repeat(8, minmax(0, 1fr));
    align-items: center;
  }
  .nav > a:first-child { grid-column: 1 / 3; }
  .navlinks {
    grid-column: 4 / 8;
    justify-content: center;
    gap: clamp(12px, 1.25vw, 20px);
    white-space: nowrap;
    font-size: clamp(11px, .82vw, 13px);
  }
  .languages { grid-column: 8; justify-self: end; }
}
@media (min-width: 651px) and (max-width: 900px) {
  .nav { display: flex; justify-content: space-between; }
  .navlinks { flex: 0 1 auto; justify-content: center; gap: 12px; }
}


/* Patti Legal — corrective layout pass based on visual review */
@media (min-width: 901px) {
  .nav {
    display: grid;
    grid-template-columns: repeat(8, minmax(0, 1fr));
    align-items: center;
    column-gap: var(--pl-grid-gap);
  }
  .nav > a:first-child { grid-column: 1 / 3; }
  .navlinks {
    grid-column: 4 / 9;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: clamp(24px, 2.1vw, 38px);
    white-space: nowrap;
    font-size: 13px;
  }
  .navlinks .languages {
    margin-left: clamp(12px, 1.5vw, 26px);
    flex: 0 0 auto;
    opacity: .48;
  }
  .navlinks .languages:hover,
  .navlinks .languages:focus-within { opacity: 1; }
}
@media (min-width: 651px) {
  .hero {
    grid-template-columns: repeat(8, minmax(0, 1fr));
    column-gap: var(--pl-grid-gap);
  }
  .hero-copy {
    grid-column: 1 / 6;
    padding-left: 0;
    padding-right: clamp(20px, 3vw, 48px);
  }
  .hero-photo {
    grid-column: 6 / 9;
    height: min(78%, 650px);
    min-height: 300px;
  }
  .hero-nowrap { white-space: nowrap; }
  .hero h1 { font-size: clamp(42px, 4.35vw, 70px); letter-spacing: -.045em; }
  html[lang="it"] .hero h1 { font-size: clamp(40px, 4.25vw, 68px); }
  html[lang="de"] .hero h1 { font-size: clamp(38px, 4vw, 64px); }
}
.cities .wrap {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: center;
  gap: 20px;
}
.cities .wrap span { display: block; text-align: center; }
.cities .wrap span:first-child { text-align: left; }
.cities .wrap span:last-child { text-align: right; }

/* The editorial grid belongs to the hero/header, not to every section wrapper.
   Restore each content component's own layout to prevent overlong text columns. */
.section > .wrap,
.offices > .wrap {
  display: block;
  grid-template-columns: none;
  column-gap: normal;
}
.intro {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  gap: clamp(38px, 5vw, 76px);
  align-items: center;
}
.intro > div { min-width: 0; }
.intro p { max-width: 58ch; }
.careers-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(320px, .9fr);
  gap: clamp(40px, 5vw, 76px);
  align-items: start;
}
.careers-layout > * { min-width: 0; }
.careers-layout p { max-width: 62ch; }

/* Footer: consistent columns, baseline alignment and visible brand mark. */
.footer-brand {
  display: flex;
  align-items: center;
  margin: 0 auto 28px;
}
.footer-brand img { width: 118px; height: auto; object-fit: contain; }
.footer-explore {
  width: min(1280px, 88%);
  margin: 0 auto 24px;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 18px;
  align-items: center;
}
.footer-explore a { display: block; text-align: left; line-height: 1.4; }
.footer-row {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 24px;
}
.footer-row > span { line-height: 1.5; }
.footer-row > div {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 24px;
}
.footer-row a { line-height: 1.5; }

@media (max-width: 900px) and (min-width: 651px) {
  .navlinks { gap: 13px; font-size: 11px; }
  .navlinks .languages { margin-left: 8px; gap: 7px; }
  .hero-copy { grid-column: 1 / 6; }
  .hero-photo { grid-column: 6 / 9; }
}
@media (max-width: 650px) {
  .nav { display: flex; justify-content: space-between; }
  .navlinks {
    display: none;
    position: absolute;
    top: var(--pl-header-height, 72px);
    left: 0;
    width: 100%;
    padding: 22px var(--pl-page-gutter, 22px) 28px;
    background: #f5f7f7;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    border-bottom: 1px solid #d1d1cf;
    box-shadow: 0 12px 24px #07334c12;
  }
  .navlinks.open { display: flex; }
  .navlinks > a { padding: 12px 0; border-bottom: 1px solid #d1d1cf; }
  .navlinks .languages {
    display: flex;
    order: 2;
    margin: 18px 0 0;
    padding-top: 14px;
    border-top: 1px solid #d1d1cf;
    gap: 22px;
    opacity: 1;
  }
  .hero-nowrap { white-space: normal; }
  .cities .wrap { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
  .cities .wrap span { font-size: 9px; letter-spacing: 1px; text-align: center; }
  .cities .wrap span:first-child { text-align: left; }
  .cities .wrap span:last-child { text-align: right; }
  .intro { grid-template-columns: 1fr; gap: 30px; }
  .intro p, .careers-layout p { max-width: 60ch; }
  .careers-layout { grid-template-columns: 1fr; gap: 30px; }
  .footer-brand { margin-bottom: 20px; }
  .footer-explore { grid-template-columns: 1fr 1fr; gap: 14px 22px; }
  .footer-row { grid-template-columns: 1fr; gap: 12px; }
  .footer-row > div { justify-content: flex-start; flex-wrap: wrap; gap: 12px 20px; }
}


/* CTA hierarchy: primary action is distinct from individual profile links */
.team-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  min-height: 48px;
  margin-top: 34px;
  padding: 15px 24px;
  border: 1px solid #07334c;
  background: #07334c;
  color: #fff;
  text-decoration: none;
  font-size: 13px;
  line-height: 1.2;
  font-weight: 500;
  transition: background .2s ease, border-color .2s ease;
}
.team-cta:hover, .team-cta:focus-visible {
  background: #247193;
  border-color: #247193;
  color: #fff;
}
.team-cta::after { content: none !important; }

/* Homepage firm introduction — spacious editorial composition */
.firm-intro{padding-top:clamp(90px,11vw,160px);padding-bottom:clamp(100px,12vw,170px)}
.firm-intro .intro{display:block}
.firm-intro .heritage-photo{height:clamp(250px,31vw,440px);margin-bottom:clamp(48px,6vw,86px);overflow:hidden}
.firm-intro .heritage-photo img{width:100%;height:100%;object-fit:cover;object-position:center 46%;transform:scale(1.015)}
.intro-copy{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:clamp(55px,9vw,145px);align-items:start}
.intro-heading{position:relative;padding-right:2vw}
.intro-heading .label{color:#247193;margin-bottom:28px}
.intro-heading h2{max-width:850px;font-size:clamp(42px,5vw,70px);line-height:1.08;letter-spacing:-1.7px}
.intro-year{font-family:Georgia,serif;font-size:clamp(58px,7vw,100px);line-height:1;color:#d5e0e4;margin-top:35px;letter-spacing:-4px}
.intro-text{padding-top:clamp(45px,7vw,100px);max-width:510px}
.intro-text p{font-size:17px;line-height:1.8;color:#435b68;margin:0 0 28px}
.intro-text p+p{margin-top:34px;padding-top:26px;border-top:1px solid #d1d1cf}
@media(max-width:900px){.intro-copy{grid-template-columns:1fr .85fr;gap:45px}.intro-heading h2{font-size:clamp(38px,5.4vw,55px)}}
@media(max-width:650px){.firm-intro{padding-top:70px;padding-bottom:85px}.firm-intro .heritage-photo{height:270px;margin-bottom:42px}.intro-copy{grid-template-columns:1fr;gap:10px}.intro-heading .label{margin-bottom:18px}.intro-heading h2{font-size:43px;letter-spacing:-1px}.intro-year{font-size:64px;margin-top:20px}.intro-text{padding-top:18px}.intro-text p{font-size:16px;margin-bottom:22px}.intro-text p+p{margin-top:24px;padding-top:20px}}
