/* Display the supplied black-on-white mark as a white mark on the dark header. */
.brand-mark {
  background: transparent;
}

.brand-mark img {
  filter: invert(1);
  mix-blend-mode: screen;
}

/* Editorial layout inspired by large international law-firm sites. */
.site-header { height: 94px; background: #111716; }
.header-inner { max-width: none; padding: 0 4.5vw; }
.brand-mark { width: 44px; height: 44px; }
.brand strong { font-size: 16px; }
.primary-nav { gap: 34px; }
.primary-nav a { font-size: 13px; }
.header-call { padding-left: 28px; }

.hero { min-height: calc(100vh - 94px); }
.hero:after { background: linear-gradient(90deg, rgba(11, 16, 15, .92) 0%, rgba(11, 16, 15, .64) 43%, rgba(11, 16, 15, .12) 100%); }
.hero-inner { max-width: none; padding: 0 4.5vw 9vh; position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: flex-end; }
.hero h1 { max-width: 760px; font-size: clamp(60px, 7.1vw, 112px); margin: 13px 0 18px; }
.hero-copy { max-width: 510px; font-size: 17px; }
.hero-grid { display: none; }
.hero-aside { right: 4.5vw; bottom: 9vh; padding-left: 28px; border-left: 1px solid rgba(255,255,255,.45); text-align: left; }

.intro { max-width: none; padding: 125px 12.5vw; grid-template-columns: 170px 1fr; }
.intro-content { gap: 11vw; }
.intro-content > div { max-width: 520px; }
.office-photo { width: 68%; margin-top: 82px; }
.services { padding-top: 112px; padding-bottom: 112px; }
.section-top { align-items: flex-start; }
.section-top p { margin-top: 24px; }
.service-list { grid-template-columns: 1.05fr 1.05fr 1fr 1fr; }
.service-list article { min-height: 290px; padding-top: 32px; }
.service-list h3 { margin-top: 54px; font-size: 24px; }

.advantages { max-width: none; padding: 125px 12.5vw; grid-template-columns: .8fr 1.2fr; }
.advantage-list article { padding: 31px 0; }
.architecture-photo { width: 58%; height: 270px; margin-top: 66px; }
.contact { padding-top: 118px; padding-bottom: 118px; }

@media (max-width: 760px) {
  .site-header { height: 70px; }
  .hero { min-height: 640px; }
  .hero-inner { padding: 0 24px 72px; }
  .hero-aside { display: none; }
  .hero h1 { font-size: 54px; }
  .intro, .advantages { padding: 76px 24px; }
  .office-photo { width: 100%; margin-top: 34px; }
  .service-list article { min-height: 230px; }
  .service-list h3 { margin-top: 30px; }
}

.hero-photo {
  filter: saturate(.86) contrast(.96);
  object-position: center;
}

.icp-link { color: #aeb0aa; text-decoration: none; }
.icp-link:hover { color: #fff; text-decoration: underline; }

.insights { max-width: none; padding: 92px 7vw 104px; background: #f2f1ec; }
.insights-title { max-width: 1080px; margin: 0 auto 30px; }
.insights-title h2 { margin: 6px 0 0; font-family: Arial, sans-serif; font-size: clamp(30px, 3.2vw, 47px); letter-spacing: -.5px; }
.insight-grid { max-width: 1080px; margin: auto; display: grid; grid-template-columns: 1fr 1fr; gap: 2px; background: #f2f1ec; }
.insight-card { position: relative; min-height: 300px; overflow: hidden; color: #fff; text-decoration: none; background: #1c2422; }
.insight-card img { width: 100%; height: 100%; position: absolute; inset: 0; object-fit: cover; filter: saturate(.8); transition: transform .45s ease; }
.insight-card:after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(0,0,0,.84), rgba(0,0,0,.02) 72%); }
.insight-card:hover img { transform: scale(1.04); }
.insight-card > span { position: absolute; left: 30px; bottom: 27px; z-index: 1; font-size: 23px; font-weight: 700; }
.insight-card > span:after { content: ""; display: block; width: 52px; border-bottom: 3px solid #cdb276; margin-top: 17px; }
.insight-card b { color: #cdb276; font-size: 24px; margin-left: 12px; }
.insight-copy { padding: 30px; display: flex; align-items: flex-end; }
.insight-copy img { filter: brightness(.44) saturate(.65); }
.insight-copy div { position: relative; z-index: 1; max-width: 470px; }
.insight-copy h3 { font-size: 24px; line-height: 1.35; margin: 0 0 12px; }
.insight-copy p { font-size: 14px; line-height: 1.7; margin: 0 0 28px; color: #e4e3de; }
.insight-copy strong { color: #e24b3d; font-size: 14px; }
@media (max-width: 760px) {
  .insights { padding: 70px 20px; }
  .insight-grid { grid-template-columns: 1fr; }
  .insight-card { min-height: 255px; }
  .insight-card > span { left: 22px; bottom: 22px; font-size: 20px; }
  .insight-copy { min-height: 300px; padding: 22px; }
}

.culture { max-width: none; padding: 120px 7vw 128px; background: #202827; color: #fff; display: grid; grid-template-columns: .8fr 1.2fr; gap: 8vw; }
.culture-intro { max-width: 450px; }
.culture-intro h2 { font-size: clamp(38px, 4.2vw, 60px); line-height: 1.28; margin: 12px 0 27px; }
.culture-intro p { color: #c4c9c3; font-size: 16px; line-height: 1.9; }
.culture-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: #56605b; }
.culture-grid article { padding: 30px 28px 34px; background: #202827; min-height: 230px; }
.culture-grid article span { font-size: 11px; letter-spacing: 1px; color: #cdb276; }
.culture-grid h3 { font-family: SimSun, serif; font-size: 25px; font-weight: 400; line-height: 1.4; margin: 28px 0 14px; }
.culture-grid p { font-size: 13px; color: #c4c9c3; line-height: 1.8; margin: 0; }
.culture-wide { grid-column: 1 / -1; min-height: auto !important; display: grid; grid-template-columns: 150px 1fr 1fr; gap: 20px; align-items: start; }
.culture-wide h3 { margin-top: 0; }
@media (max-width: 760px) {
  .culture { display: block; padding: 76px 24px; }
  .culture-intro { margin-bottom: 40px; }
  .culture-grid { grid-template-columns: 1fr; }
  .culture-wide { grid-column: auto; display: block; }
  .culture-wide h3 { margin-top: 28px; }
}

.team {
  max-width: none;
  padding: 118px 4.5vw 130px;
  background: #e7e6df;
}

.team-heading {
  display: flex;
  justify-content: space-between;
  align-items: end;
  max-width: 1216px;
  margin: 0 auto 58px;
  gap: 48px;
}

.team-heading p { max-width: 375px; margin: 0; color: #626662; }
.team-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; max-width: 1216px; margin: auto; }
.team-grid article { background: #fff; }
.lawyer-card-link { display: block; color: inherit; text-decoration: none; transition: transform .2s ease, box-shadow .2s ease; }
.lawyer-card-link:hover { transform: translateY(-4px); box-shadow: 0 12px 28px rgba(28, 36, 32, .12); }
.lawyer-card-link p { display: flex; justify-content: space-between; gap: 10px; }
.lawyer-card-link p span { color: #a1885c; }
.team-grid img { width: 100%; aspect-ratio: 4 / 4.35; display: block; object-fit: cover; object-position: center top; filter: saturate(.88); }
.team-grid article div { padding: 17px 18px 19px; border-top: 1px solid #d0d0c9; }
.team-grid h3 { margin: 0; font-family: SimSun, serif; font-size: 21px; font-weight: 400; }
.team-grid p { margin: 3px 0 0; font-size: 12px; color: #777971; }

.service-list { gap: 1px; border-top: 0; background: #525b57; }
.service-list article,
.service-list article + article { min-height: 230px; padding: 27px 24px; border: 0; background: #212826; }
.service-card{display:block;min-height:230px;padding:27px 24px;background:#212826;color:#fff;text-decoration:none;transition:background .25s ease}.service-card:hover{background:#303936}.service-card span{color:#d2b67f}.service-card h3{font-size:21px;font-weight:500;margin:42px 0 12px}.service-card p{font-size:14px;color:#c0c4bd;line-height:1.8}
.service-list h3 { margin-top: 42px; }

@media (max-width: 760px) {
  .team { padding: 76px 24px; }
  .team-heading { display: block; margin-bottom: 34px; }
  .team-heading p { margin-top: 16px; }
  .team-grid { grid-template-columns: 1fr 1fr; gap: 12px; }
  .team-grid article div { padding: 13px; }
  .service-list article,
  .service-list article + article { min-height: 205px; padding: 21px 16px; }
  .service-list h3 { margin-top: 26px; font-size: 18px; }
  .service-card{min-height:205px;padding:21px 16px}.service-card h3{margin-top:26px;font-size:18px}
}
