/* Generated by scripts/build-styles.mjs. Edit styles/source, then run npm run styles:build. */

@font-face { font-family: "Helvetica Neue English"; src: local("HelveticaNeue-Thin"); font-weight: 200; font-style: normal; font-display: swap; }
@font-face { font-family: "Helvetica Neue English"; src: local("HelveticaNeue-ThinItalic"); font-weight: 200; font-style: italic; font-display: swap; }
@font-face { font-family: "Helvetica Neue English"; src: local("HelveticaNeue-Light"); font-weight: 300; font-style: normal; font-display: swap; }
@font-face { font-family: "Helvetica Neue English"; src: local("HelveticaNeue-LightItalic"); font-weight: 300; font-style: italic; font-display: swap; }
@font-face { font-family: "Helvetica Neue English"; src: local("HelveticaNeue"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Helvetica Neue English"; src: local("HelveticaNeue-Italic"); font-weight: 400; font-style: italic; font-display: swap; }

@font-face { font-family: "Helvetica Neue Latin"; src: local("HelveticaNeue-Light"); font-weight: 400; font-style: normal; font-display: swap; unicode-range: U+0000-024F, U+1E00-1EFF, U+2000-206F, U+20A0-20CF, U+2100-214F; }
@font-face { font-family: "Helvetica Neue Latin"; src: local("HelveticaNeue-LightItalic"); font-weight: 400; font-style: italic; font-display: swap; unicode-range: U+0000-024F, U+1E00-1EFF, U+2000-206F, U+20A0-20CF, U+2100-214F; }
@font-face { font-family: "Helvetica Neue Latin"; src: local("HelveticaNeue"); font-weight: 500; font-style: normal; font-display: swap; unicode-range: U+0000-024F, U+1E00-1EFF, U+2000-206F, U+20A0-20CF, U+2100-214F; }
@font-face { font-family: "Helvetica Neue Latin"; src: local("HelveticaNeue-Italic"); font-weight: 500; font-style: italic; font-display: swap; unicode-range: U+0000-024F, U+1E00-1EFF, U+2000-206F, U+20A0-20CF, U+2100-214F; }
@font-face { font-family: "Helvetica Neue Latin"; src: local("HelveticaNeue"); font-weight: 700; font-style: normal; font-display: swap; unicode-range: U+0000-024F, U+1E00-1EFF, U+2000-206F, U+20A0-20CF, U+2100-214F; }
@font-face { font-family: "Helvetica Neue Latin"; src: local("HelveticaNeue-Italic"); font-weight: 700; font-style: italic; font-display: swap; unicode-range: U+0000-024F, U+1E00-1EFF, U+2000-206F, U+20A0-20CF, U+2100-214F; }
@font-face { font-family: "Helvetica Neue Latin Display"; src: local("HelveticaNeue-Thin"); font-weight: 400; font-style: normal; font-display: swap; unicode-range: U+0000-024F, U+1E00-1EFF, U+2000-206F, U+20A0-20CF, U+2100-214F; }
@font-face { font-family: "Helvetica Neue Latin Display"; src: local("HelveticaNeue-ThinItalic"); font-weight: 400; font-style: italic; font-display: swap; unicode-range: U+0000-024F, U+1E00-1EFF, U+2000-206F, U+20A0-20CF, U+2100-214F; }
@font-face { font-family: "Helvetica Neue Latin Display"; src: local("HelveticaNeue"); font-weight: 500; font-style: normal; font-display: swap; unicode-range: U+0000-024F, U+1E00-1EFF, U+2000-206F, U+20A0-20CF, U+2100-214F; }
@font-face { font-family: "Helvetica Neue Latin Display"; src: local("HelveticaNeue-Italic"); font-weight: 500; font-style: italic; font-display: swap; unicode-range: U+0000-024F, U+1E00-1EFF, U+2000-206F, U+20A0-20CF, U+2100-214F; }
@font-face { font-family: "Helvetica Neue Latin Display"; src: local("HelveticaNeue"); font-weight: 700; font-style: normal; font-display: swap; unicode-range: U+0000-024F, U+1E00-1EFF, U+2000-206F, U+20A0-20CF, U+2100-214F; }
@font-face { font-family: "Helvetica Neue Latin Display"; src: local("HelveticaNeue-Italic"); font-weight: 700; font-style: italic; font-display: swap; unicode-range: U+0000-024F, U+1E00-1EFF, U+2000-206F, U+20A0-20CF, U+2100-214F; }

@layer typography, motion, institutional;
@layer typography {
  html[lang] {

    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
    --site-font-body: "Helvetica Neue", "PingFang SC", "Microsoft YaHei", Arial, sans-serif;
    --site-font-display: "FeiDandan Songti", "Songti SC", "STSong", serif;
    --site-font-contact: "Baskerville", "Iowan Old Style", "Palatino Linotype", Georgia, serif;
    --font-ui: var(--site-font-body);
    --display: var(--site-font-display);
    --text-name: 88px;
    --text-profile-name: 72px;
    --text-page: 56px;
    --text-section: 36px;
    --text-article: 36px;
    --text-subsection: 24px;
    --text-item: 22px;
    --text-lead: 22px;
    --text-body: 17px;
    --text-meta: 14px;
    --text-ui: 14px;
    --text-contact: 32px;
    --text-footer-name: 36px;
    --text-menu: 32px;
    --text-legal: 12px;
    --leading-title: 1.4;
    --leading-item: 1.6;
    --leading-copy: 1.85;
    --leading-control: 1.5;
    --type-body: var(--text-body);
    --type-body-lg: var(--text-body);
    --type-page-title: var(--text-page);
    --type-section-title: var(--text-section);
    --type-article-title: var(--text-article);
    --type-card-title: var(--text-item);
    --type-label: var(--text-meta);
  }
  html[lang="zh-CN"] {
    --site-font-body: "Helvetica Neue Latin", "Helvetica Neue", "PingFang SC", "Microsoft YaHei", Arial, sans-serif;
    --site-font-display: "Helvetica Neue Latin Display", "FeiDandan Songti", "Songti SC", "STSong", serif;
    --site-font-contact: "Helvetica Neue Latin Display", "Baskerville", "Iowan Old Style", "Palatino Linotype", Georgia, serif;
  }
  html[lang="en"] {
    --site-font-body: "Helvetica Neue English", "Helvetica Neue", Arial, sans-serif;
    --site-font-display: var(--site-font-body);
    --site-font-contact: var(--site-font-body);
    --en-weight-copy: 300;
    --en-weight-display: 200;
    --en-weight-emphasis: 400;
    --en-weight-strong: 400;
  }

  @media (min-width: 681px) and (orientation: landscape)  {
    html[lang="zh-CN"] .page-shell .about-section .profile-appointments .history-role {
      font-size: var(--text-body) !important;
      line-height: var(--leading-copy) !important;
    }
  }

  @media (min-width: 681px) and (orientation: landscape)  {
    .page-shell main:is(.home-page, .profile-page) {
      --text-body: 20px;
      --type-body: var(--text-body);
      --type-body-lg: var(--text-body);
      --leading-copy: 1.75;
      --text-profile-detail: 18px;
      font-size: var(--text-body) !important;
    }
    .page-shell main:is(.home-page, .profile-page) :is(.history-role, .profile-lead .contact-lines dt, .profile-lead .contact-lines dd, .profile-lead .contact-lines a) {
      font-size: var(--text-profile-detail) !important;
    }
  }
  @media (min-width: 681px) and (orientation: landscape) and (max-width: 1100px) , (min-width: 681px) and (orientation: landscape) and (aspect-ratio < 8/5)  {
    .page-shell main:is(.home-page, .profile-page) { --text-body: 18px; --text-profile-detail: 16px; }
    html[lang] {
      --text-name: 64px;
      --text-profile-name: 56px;
      --text-page: 44px;
      --text-section: 32px;
      --text-article: 32px;
      --text-subsection: 22px;
      --text-item: 20px;
      --text-lead: 20px;
    }
  }
  @media (max-width: 680px) , (orientation: portrait)  {
    html[lang] {
      --text-name: 38px;
      --text-profile-name: 28px;
      --text-page: 32px;
      --text-section: 28px;
      --text-article: 28px;
      --text-subsection: 22px;
      --text-item: 18px;
      --text-lead: 18px;
      --text-body: 16px;
      --text-meta: 13px;
      --text-contact: 24px;
      --text-footer-name: 28px;
      --text-menu: 24px;
    }
  }

  .page-shell { font-family: var(--site-font-body) !important; font-size: var(--text-body) !important; line-height: var(--leading-copy) !important; }
  .page-shell :where(h1, h2, h3, h4, h5, h6, p, li, dt, dd, td, th, blockquote, a, button, summary, strong, small, time, figcaption) { font-family: var(--site-font-body) !important; letter-spacing: 0 !important; text-transform: none !important; }
  .page-shell :where(p, li, dt, dd, td, th, blockquote) { font-size: var(--text-body) !important; font-weight: var(--en-weight-copy, 400) !important; line-height: var(--leading-copy) !important; }
  .page-shell :where(p, li, dd) > a { font-size: inherit !important; font-weight: inherit !important; line-height: inherit !important; }
  .page-shell :where(h1) { font-size: var(--text-page) !important; font-weight: var(--en-weight-display, 400) !important; line-height: var(--leading-title) !important; }
  .page-shell :where(h2) { font-size: var(--text-subsection) !important; font-weight: var(--en-weight-emphasis, 500) !important; line-height: var(--leading-item) !important; }
  .page-shell :where(h3, h4, h5, h6) { font-size: var(--text-item) !important; font-weight: var(--en-weight-emphasis, 500) !important; line-height: var(--leading-item) !important; }

  .page-shell :is(h1, h2, h3, .matter-list strong, .update-list strong) { word-break: normal !important; overflow-wrap: break-word !important; }

  .page-shell main :is(h1, h2, h3, h4, h5, h6, p, li, dt, dd, blockquote, figcaption,
    .lead-primary, .matter-list strong, .matter-list em, .update-list strong,
    .history-organization, .history-role, .profile-primary, .profile-secondary) {
    white-space: normal !important;
    text-wrap: wrap !important;
    text-wrap-mode: wrap !important;
    text-wrap-style: auto !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
  }

  .page-shell :is(.hero h1, .profile-lead h1, .subpage-hero h1, .section-heading h2, .digest-section > .section-title h2, .home-contact-kicker, .digest-section.contact > .section-kicker, .footer-name) { font-family: var(--site-font-display) !important; font-weight: var(--en-weight-display, 400) !important; line-height: var(--leading-title) !important; letter-spacing: 0 !important; text-transform: none !important; }
  .page-shell .hero h1 { font-size: var(--text-name) !important; line-height: 1.2 !important; }
  .page-shell .profile-lead h1 { font-size: var(--text-profile-name) !important; line-height: 1.2 !important; }
  .page-shell .subpage-hero h1 { font-size: var(--text-page) !important; }
  .page-shell :is(.section-heading h2, .digest-section > .section-title h2, .home-contact-kicker, .digest-section.contact > .section-kicker) { font-size: var(--text-section) !important; }
  .page-shell .footer-name { font-size: var(--text-footer-name) !important; }

  .page-shell .article-title h1 { font-family: var(--site-font-body) !important; font-size: var(--text-article) !important; font-weight: var(--en-weight-emphasis, 500) !important; line-height: var(--leading-title) !important; }
  .page-shell :is(.service-group .group-heading h2, .service-method h3, .case-item h3, .service-scope-item h3, .timeline-body h3, .news-index-item h3, .matter-list strong, .update-list strong, .context-item h3) { font-family: var(--site-font-body) !important; font-size: var(--text-item) !important; font-weight: var(--en-weight-emphasis, 500) !important; line-height: var(--leading-item) !important; }
  .page-shell :is(.panel-label, .section-label, .case-group-heading h2, .service-area-heading, .service-methods-heading h2, .article-body .article-heading) { font-family: var(--site-font-body) !important; font-size: var(--text-subsection) !important; font-weight: var(--en-weight-emphasis, 500) !important; line-height: var(--leading-item) !important; letter-spacing: 0 !important; text-transform: none !important; }
  .page-shell :is(.hero .lead, .hero .lead-primary) { font-family: var(--site-font-body) !important; font-size: var(--text-lead) !important; font-weight: var(--en-weight-copy, 400) !important; line-height: var(--leading-copy) !important; }
  .page-shell :is(.hero-role-line, .profile-lead .role, .history-organization, .case-scope p, .service-area-intro, .service-scope-item p, .matter-list em, .digest-section > p, .prose p, .article-lead, .article-paragraph, .timeline-body p, .index-copy p, .service-group p, .service-method p) { font-family: var(--site-font-body) !important; font-size: var(--text-body) !important; font-weight: var(--en-weight-copy, 400) !important; line-height: var(--leading-copy) !important; }

  .page-shell :is(small, time, figcaption, .history-role, .case-meta, .case-meta span, .matter-list > a > span, .update-list > a > span, .article-meta, .article-meta span, .article-meta a, .home-contact-channel > span, .footer-grid p, .hero h1 small, .profile-lead .contact-lines dt, .profile-lead .contact-lines dd, .profile-lead .contact-lines a) { font-family: var(--site-font-body) !important; font-size: var(--text-meta) !important; font-weight: var(--en-weight-copy, 400) !important; line-height: var(--leading-control) !important; letter-spacing: 0 !important; text-transform: none !important; }
  .page-shell :is(.profile-lead h1::after, .hero h1 small::after) { font-family: var(--site-font-body) !important; font-size: var(--text-meta) !important; font-weight: var(--en-weight-copy, 400) !important; line-height: var(--leading-control) !important; }
  .page-shell :is(.desktop-nav a, .lang-link, .contact-link, .btn, .text-link, .section-title > a, .service-entry-action, .profile-side-nav a, .footer-nav a, .footer-email, .channel-main a:last-child, .contact-actions a:last-child) { font-family: var(--site-font-body) !important; font-size: var(--text-ui) !important; font-weight: var(--en-weight-copy, 400) !important; line-height: var(--leading-control) !important; letter-spacing: 0 !important; text-transform: none !important; }
  .page-shell :is(.btn, .contact-link, .desktop-nav a[aria-current="page"], .profile-side-nav a[aria-current="location"]) { font-weight: var(--en-weight-emphasis, 500) !important; }
  .page-shell .mobile-menu a { font-family: var(--site-font-body) !important; font-size: var(--text-menu) !important; font-weight: var(--en-weight-copy, 400) !important; line-height: var(--leading-control) !important; }

  .page-shell :is(.home-contact-channel a, .channel-main a[href^="tel:"], .channel-main a[data-email-link], .contact-actions a[data-email-link], .contact-actions a[href^="tel:"]) { font-family: var(--site-font-contact) !important; font-size: var(--text-contact) !important; font-weight: var(--en-weight-copy, 400) !important; line-height: 1.45 !important; font-kerning: normal; font-synthesis: none; }
  .page-shell :is(.home-contact-channel, .channel-main, .contact-actions) a[href^="tel:"] { font-size: calc(var(--text-contact) * 1.125) !important; font-variant-numeric: lining-nums proportional-nums; letter-spacing: 0.015em !important; }
  .page-shell :is(.home-contact-channel, .channel-main, .contact-actions) a[data-email-link] { letter-spacing: 0.005em !important; }
  .page-shell :is(.footer-label, .footer-bottom, .footer-bottom a, .footer-bottom p, .copyright) { font-family: var(--site-font-body) !important; font-size: var(--text-legal) !important; font-weight: var(--en-weight-copy, 400) !important; line-height: var(--leading-control) !important; letter-spacing: 0 !important; text-transform: none !important; }

  @media (max-width: 680px) , (orientation: portrait)  {
    .page-shell .profile-lead .role { font-size: var(--text-meta) !important; line-height: var(--leading-control) !important; }
    .page-shell :is(.hero .lead, .hero .lead-primary) { line-height: 1.5 !important; }
    .page-shell .hero .btn.secondary { font-weight: var(--en-weight-copy, 400) !important; }
    .page-shell :is(.news-index-item .index-copy h3, .mobile-digest .update-list strong) { font-weight: var(--en-weight-copy, 400) !important; }

    .page-shell :is(.case-page, .services-page) {
      --text-page: 28px;
      --text-subsection: 18px;
      --text-item: 16px;
      --leading-item: 1.5;
      --leading-copy: 1.75;
    }
  }
}

@layer typography {
  @media (min-width: 681px) and (orientation: landscape) and (max-width: 1100px) , (min-width: 681px) and (orientation: landscape) and (aspect-ratio < 8/5)  {
    html[lang] {
      --text-name: clamp(48px, 6.2vw, 72px);
      --text-menu: 18px;
      --text-profile-name: clamp(44px, 5.8vw, 64px);
      --text-page: clamp(38px, 4.5vw, 48px);
      --text-section: 32px;
      --text-article: clamp(28px, 3.6vw, 34px);
      --text-subsection: 22px;
      --text-item: 20px;
      --text-lead: 20px;
      --text-contact: clamp(26px, 3.2vw, 32px);
    }
    .page-shell main:is(.home-page, .profile-page) { --text-body: 18px; --text-profile-detail: 16px; }
  }
}

@layer typography {
 @media (max-width: 680px) , (orientation: portrait)  {

    .page-shell .news-page .news-index-item .index-copy h3 {
      font-size: 19px !important;
      font-weight: var(--en-weight-emphasis, 500) !important;
      line-height: 1.5 !important;
    }
    .page-shell .news-page .news-index-item .index-copy p {
      font-size: 15px !important;
      line-height: 1.65 !important;
    }
    .page-shell .news-page .news-index-item .index-meta :is(span, time) {
      font-size: var(--text-meta) !important;
      font-weight: var(--en-weight-copy, 400) !important;
      line-height: 1.5 !important;
    }
 }
}

@layer typography {
 @media (min-width: 681px) and (orientation: landscape)  {
  .page-shell :is(#news, #updates) { --text-body: 17px; --leading-copy: 1.85; }
  .page-shell :is(.news-page .news-index-item .index-meta, :is(#news, #updates) .timeline-card .date-block) span {
    font-size: var(--text-meta) !important;
    font-weight: var(--en-weight-copy, 400) !important;
    line-height: var(--leading-control) !important;
  }
 }
}

@layer typography {
 @media (max-width: 680px) , (orientation: portrait)  {
  .page-shell .mobile-digest .updates .update-list > a > strong { font-size: 17px !important; line-height: 1.5 !important; font-weight: var(--en-weight-copy, 400) !important; }
  .page-shell .mobile-digest .updates .update-summary { font-size: 14px !important; line-height: 1.65 !important; font-weight: var(--en-weight-copy, 400) !important; }
  html[lang="en"] .page-shell .mobile-digest .updates .update-list > a > strong { font-size: 16.5px !important; line-height: 1.5 !important; font-weight: var(--en-weight-copy, 400) !important; }
 }
}

@layer typography {
  .page-shell :is(.article-meta time, .date-block time, .index-meta time) { font-variant-numeric: tabular-nums; }
}

@layer typography {
  .page-shell :is(.case-group-heading, .service-area-toggle)::after { font-family: var(--site-font-body) !important; font-size: var(--text-ui) !important; font-weight: var(--en-weight-copy, 400) !important; line-height: var(--leading-control) !important; }
}

@layer typography {
  .page-shell main[data-page-frame] .subpage-hero > :is(h1, .subpage-heading) {
    font-family: var(--site-font-display) !important;
    font-size: var(--text-page) !important;
    font-weight: var(--en-weight-display, 400) !important;
    line-height: var(--leading-title) !important;
    letter-spacing: 0 !important;
  }
  .page-shell main[data-page-frame] .service-detail-intro h1 {
    font-family: var(--site-font-body) !important;
    font-size: var(--text-article) !important;
    line-height: var(--leading-title) !important;
    font-weight: var(--en-weight-emphasis, 500) !important;
  }
  @media (max-width: 680px) , (orientation: portrait)  {
    .page-shell main[data-page-frame] { --text-page: 28px; }
  }
}

@layer typography {
  .page-shell .news-page .news-index-item .index-copy :is(h3, p) {
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    overflow: hidden !important;
  }
}

@layer typography {
  @media (max-width: 1100px) , (aspect-ratio < 8/5)  {
    .page-shell .mobile-menu a[aria-current="page"] { font-weight: var(--en-weight-emphasis, 500) !important; }
  }
}

@layer typography {
  @media (min-width: 681px) and (orientation: portrait)  {
    html[lang] { --text-name: 48px; --text-profile-name: 40px; --text-section: 30px; --text-body: 18px; --text-lead: 20px; --leading-copy: 1.75; }
  }
}

@layer typography {
  @media (max-width: 1100px) , (aspect-ratio < 8/5)  { html[lang] { --text-menu: 16px; } }
  @media (min-width: 681px) and (orientation: portrait)  { html[lang] { --text-menu: clamp(18px, 2.2vw, 20px); } }
  @media (min-width: 681px) and (orientation: landscape) and (max-width: 1100px) , (min-width: 681px) and (orientation: landscape) and (aspect-ratio < 8/5)  { html[lang] { --text-menu: clamp(17px, 1.65vw, 20px); } }
}

@layer typography {
  @media (width > 680px)  {
    html[lang] .page-shell .case-page {
      --text-subsection: clamp(20px, 2vw, 24px);
      --text-item: clamp(18px, 1.6vw, 20px);
      --text-body: 17px;
      --text-meta: 14px;
      --leading-item: 1.4;
      --leading-copy: 1.8;
    }
  }
  @media (width <= 680px)  {
    html[lang] .page-shell .case-page .case-group-heading h2 {
      font-size: 22px !important;
      font-weight: var(--en-weight-strong, 500) !important;
      line-height: 1.4 !important;
    }
  }
}

@layer typography {
  @media (width > 680px)  {

    html[lang] .page-shell .profile-redesign :is(.profile-primary, .profile-licenses li) {
      font-family: var(--site-font-body) !important;
      font-size: var(--text-body) !important;
      line-height: var(--leading-copy) !important;
      font-weight: var(--en-weight-copy, 400) !important;
      color: var(--profile-primary-color, #455563) !important;
    }
  }
}

@layer typography {
  @media (width <= 680px)  {
    html[lang] { --text-menu: 24px; }
    html[lang] .page-shell .mobile-menu a[aria-current="page"] { font-weight: var(--en-weight-copy, 400) !important; }
  }
}

@layer typography {
  @media (width > 680px)  {
    html[lang="en"] .page-shell .en-profile-editorial .en-profile-heading h2 {
      font-family: var(--site-font-body) !important;
      font-size: clamp(30px, 2.6vw, 38px) !important;
      font-weight: var(--en-weight-display, 400) !important;
      line-height: 1.15 !important;
      letter-spacing: -.035em !important;
    }
    html[lang="en"] .page-shell .en-profile-editorial .en-profile-section-title {
      font-size: 18px !important;
      font-weight: var(--en-weight-emphasis, 500) !important;
      line-height: 1.4 !important;
      letter-spacing: -.015em !important;
      text-transform: none !important;
    }
    html[lang="en"] .page-shell .en-profile-editorial .en-profile-firm {
      font-family: var(--site-font-body) !important;
      font-size: clamp(28px, 2.5vw, 36px) !important;
      line-height: 1.15 !important;
      font-weight: var(--en-weight-display, 400) !important;
      letter-spacing: -.035em !important;
    }
    html[lang="en"] .page-shell .en-profile-editorial .en-profile-position { font-size: 17px !important; line-height: 1.5 !important; }
    html[lang="en"] .page-shell .en-profile-editorial li > strong { font-size: 17px !important; line-height: 1.45 !important; font-weight: var(--en-weight-emphasis, 500) !important; }
    html[lang="en"] .page-shell .en-profile-editorial li p { font-size: 16px !important; line-height: 1.6 !important; font-weight: var(--en-weight-copy, 400) !important; }
    html[lang="en"] .page-shell .en-profile-editorial .en-profile-link { font-size: 14px !important; line-height: 1.5 !important; font-weight: var(--en-weight-copy, 400) !important; }
    html[lang="en"] .page-shell .en-profile-editorial .profile-practice .panel-label { font-size: 18px !important; line-height: 1.5 !important; }
    html[lang="en"] .page-shell .en-profile-editorial .profile-practice li { font-size: 16px !important; line-height: 1.6 !important; }
  }
}

@layer typography {
  html[lang="en"] .page-shell {
    font-weight: var(--en-weight-copy) !important;
    --leading-copy: 1.7;
  }
  html[lang="en"] .page-shell :is(input, select, textarea, label) {
    font-family: var(--site-font-body) !important;
  }
  html[lang="en"] .page-shell :is(strong, b) { font-weight: 400 !important; }
  html[lang="en"] .page-shell :is(.article-title h1, .service-detail-intro h1) {
    font-weight: var(--en-weight-display) !important;
    letter-spacing: -.02em !important;
    line-height: 1.25 !important;
  }
  html[lang="en"] .page-shell :is(.hero h1, .profile-lead h1, .subpage-hero h1, .subpage-heading, .footer-name) {
    letter-spacing: -.025em !important;
  }
  html[lang="en"] .page-shell :is(.desktop-nav a, .lang-link, .contact-link, .btn, .text-link, .section-title > a, .profile-side-nav a, .footer-nav a, .footer-email, .en-profile-link, .mobile-menu a, input, button) {
    font-weight: 400 !important;
  }
  html[lang="en"] .page-shell :is(.footer-label, .footer-bottom, .footer-bottom a, .footer-bottom p, .copyright, figcaption) {
    font-weight: 400 !important;
  }
  html[lang="en"] .page-shell :is(time, .date-block, .index-meta, .article-meta) {
    font-family: var(--site-font-body) !important;
    font-weight: var(--en-weight-copy) !important;
    font-variant-numeric: lining-nums tabular-nums;
  }
  html[lang="en"] .page-shell :is(a[href^="tel:"], a[data-email-link]) {
    font-family: var(--site-font-body) !important;
    font-weight: var(--en-weight-display) !important;
    font-variant-numeric: normal !important;
    font-feature-settings: normal !important;
    letter-spacing: -.02em !important;
  }
  html[lang="en"] .page-shell a[href^="tel:"] { white-space: nowrap; }
  html[lang="en"] .page-shell .article-standard-flow { --text-body: 18px; }
  @media (width <= 680px)  {
    html[lang="en"] .page-shell .article-standard-flow { --text-body: 17px; }
  }
}

@layer typography {
  html[lang="en"] .page-shell :is(.timeline-body h3, .news-index-item h3, .case-item h3, .matter-list strong, .update-list strong) {
    font-weight: var(--en-weight-copy) !important;
    letter-spacing: -.015em !important;
  }
  html[lang="en"] .page-shell .news-page .news-pair-secondary h3 {
    font-weight: var(--en-weight-copy) !important;
    letter-spacing: -.015em !important;
  }
  html[lang="en"] .page-shell :is(p, li, dd, blockquote) { letter-spacing: -.01em !important; }
}

@layer typography {
  html[lang="en"] .page-shell .news-pagination :is(a, span),
  html[lang="en"] .page-shell a.footer-email {
    font-weight: 400 !important;
  }
  html[lang="en"] .page-shell .contact-lines a[data-email-link] {
    font-weight: var(--en-weight-copy) !important;
  }
}

@layer typography {
  @media (min-width: 1101px) and (min-aspect-ratio: 8/5)  {
    html[lang="en"] .page-shell main.profile-page {
      --text-profile-name: 80px;
      --text-body: 18px;
      --text-profile-detail: 17px;
      --text-subsection: 24px;
      --text-ui: 15px;
      --leading-copy: 1.7;
    }
    html[lang="zh-CN"] .page-shell main.profile-page {
      --text-profile-name: 64px;
      --text-body: 18px;
      --text-profile-detail: 17px;
      --text-subsection: 22px;
      --leading-copy: 1.95;
    }
  }
}

@layer typography {
  @media (min-width: 1101px) and (min-aspect-ratio: 8/5)  {
    html[lang="en"] .page-shell main.profile-page .prose p {
      line-height: 1.7 !important;
    }
  }
}

@layer typography {
  html[lang="zh-CN"] .page-shell main :is(
    .hero .lead, .hero .lead-primary, .subpage-hero > p,
    .digest-section > p, .profile-identity > .summary, .prose p,
    .article-lead, .article-paragraph, .case-scope p, .matter-list em,
    .timeline-body p, .index-copy p, .news-pair-copy p, .update-summary,
    .service-area-intro, .service-scope-item p, .service-group p,
    .service-method p, .service-detail-intro p, .context-item p,
    .article-body blockquote, .article-body li
  ) {
    text-align: justify !important;
    text-align-last: start !important;
    text-justify: inter-character;
    line-break: strict;
  }
}

@layer typography {
  html[lang] .page-shell .article-standard-flow .article-title h1 {
    text-align: start !important;
    text-align-last: auto !important;
    text-justify: auto;
  }
}

@layer typography {
  html[lang="zh-CN"] .page-shell .article-standard-flow .article-title h1 {
    hanging-punctuation: allow-end;
  }
}

@layer typography {
  html[lang] .page-shell .news-pagination :is(a, span) {
    font-family: var(--site-font-body) !important;
    font-size: 13px !important;
    line-height: 1 !important;
    font-weight: 400 !important;
  }
}

@layer typography {
  html[lang="en"] .page-shell main :is(
    .digest-section > p, .profile-identity > .summary, .prose p,
    .article-lead, .article-paragraph, .case-scope p, .matter-list em,
    .timeline-body p, .index-copy p, .news-pair-copy p, .update-summary,
    .service-area-intro, .service-scope-item p, .service-group p,
    .service-method p, .service-detail-intro p, .context-item p,
    .article-body blockquote, .article-body li
  ) {
    text-align: start !important;
    text-align-last: auto !important;
    line-height: 1.55 !important;
    hyphens: manual;
  }

  html[lang] .page-shell main :is(
    .case-group-heading h2, .case-item h3, .service-area-heading,
    .service-group h2, .service-method h3, .service-scope-item h3,
    .panel-label, .article-heading, .article-subheading,
    .timeline-body h3, .news-index-item h3, .news-pair-secondary h3,
    .matter-list strong, .update-list strong, .context-item h3
  ) {
    text-align: start !important;
    text-align-last: auto !important;
    line-height: 1.4 !important;
    word-break: normal !important;
    letter-spacing: 0 !important;
  }
  html[lang="zh-CN"] .page-shell main :is(
    .timeline-body h3, .news-index-item h3, .news-pair-secondary h3,
    .matter-list strong, .update-list strong
  ) { font-weight: 500 !important; }
  html[lang="zh-CN"] .page-shell main :is(
    .case-group-heading h2, .case-item h3, .service-area-heading,
    .service-group h2, .service-method h3, .service-scope-item h3,
    .article-heading, .article-subheading, .context-item h3
  ) { line-break: strict; }
  html[lang="en"] .page-shell main :is(
    .article-title h1, .article-heading, .article-subheading,
    .case-group-heading h2, .case-item h3, .service-area-heading,
    .service-group h2, .service-method h3, .service-scope-item h3,
    .panel-label, .context-item h3
  ) {
    text-align: start !important;
    line-height: 1.3 !important;
    hyphens: manual;
  }
  html[lang] .page-shell .article-body .article-subheading {
    font-family: var(--site-font-body) !important;
    font-size: var(--text-item) !important;
  }
  html[lang] .page-shell .article-standard-flow :is(figcaption, .article-photo-quartet__caption) {
    font-size: 13px !important;
    line-height: 1.5 !important;
    text-align: center !important;
    text-align-last: auto !important;
  }
  @media (width <= 680px)  {
    html[lang] .page-shell .case-page .case-item h3 {
      font-size: 18px !important;
    }
    html[lang] .page-shell .article-body .article-subheading {
      font-size: 19px !important;
    }
  }
}

html[lang] {
  --retained-navy: #051521;
}

html[lang] body .page-shell section.profile-lead {
  background: var(--retained-navy) !important;
  background-image: none !important;
}

@media (min-width: 941px) and (orientation: landscape)  {
  html[lang] .page-shell .hero {
    box-sizing: border-box;
    height: calc(100vh - 78px) !important;
    height: calc(100dvh - 78px) !important;
    min-height: 0 !important;
    padding: 40px 0 0 !important;
  }

  html[lang] .page-shell .hero-grid {
    height: calc(100% - 40px) !important;
    min-height: 0 !important;
  }

  html[lang] .page-shell .hero .hero-portrait,
  html[lang] .page-shell .hero .portrait-frame,
  html[lang] .page-shell .hero .portrait-frame picture {
    align-items: center;
  }

  html[lang] .page-shell .hero .portrait-frame img {
    width: 86% !important;
    height: 86% !important;
    object-position: center !important;
    transform: translate(7%, -5%) !important;
  }
}

@media (min-width: 1281px) and (orientation: landscape)  {
  html[lang] .page-shell .hero .hero-portrait {
    transform: translateX(
      clamp(0px, calc((100vw - 1280px) * 0.15), 96px)
    ) !important;
  }
}

@media (min-width: 681px) and (orientation: landscape)  {
  html[lang] .page-shell .hero-portrait {
    align-self: stretch;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    height: 100%;
    min-height: 0;
    overflow: hidden;
  }

  html[lang] .page-shell .portrait-frame,
  html[lang] .page-shell .portrait-frame picture {
    display: flex;
    align-items: flex-end;
    justify-content: center;
    width: 100%;
    height: 100%;
    min-height: 0;
    overflow: hidden;
  }

  html[lang] .page-shell .portrait-frame img {
    display: block;
    width: 100% !important;
    height: 100% !important;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain !important;
    object-position: center bottom !important;
    filter: none !important;
  }
}

html[lang] .page-shell .portrait-block picture {
  display: block;
  width: 100%;
}

html[lang] .page-shell .portrait-block picture img {
  display: block;
  width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
  object-position: center bottom !important;
  filter: none !important;
}

html[lang] .page-shell section.profile-lead .profile-identity > .summary {
  display: none !important;
}

html[lang] .page-shell .profile-side-nav {
  border-top: 0 !important;
}

@media (min-width: 681px) and (orientation: landscape)  {
  html[lang] .page-shell .profile-lead {
    height: 160px;
    min-height: 0;
  }

  html[lang] .page-shell .profile-lead-inner {
    height: 100%;
    min-height: 0;
    padding-block: 0 !important;
    align-items: end !important;
  }

  html[lang] .page-shell .profile-identity {
    align-self: end;
    padding-bottom: 16px;
  }

  html[lang] .page-shell .portrait-block {
    align-self: stretch;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    height: 100%;
    min-height: 0;
    overflow: visible;
    transform: translateX(clamp(28px, 3.7vw, 56px)) !important;
  }

  html[lang] .page-shell .portrait-block picture {
    display: flex;
    align-items: flex-end;
    justify-content: center;
    width: 100%;
    height: 100%;
    min-height: 0;
  }

  html[lang] .page-shell .portrait-block picture img {
    width: 100% !important;
    height: 100% !important;
    max-height: 100%;
  }
}

@media (min-width: 941px) and (orientation: landscape)  {
  html[lang] .page-shell .profile-lead {
    height: clamp(440px, 32vw, 480px);
  }

  html[lang] .page-shell .portrait-block {
    align-self: end;
    height: calc(100% - clamp(24px, 2.5vw, 36px));
  }

  html[lang] .page-shell .profile-identity {
    padding-bottom: clamp(72px, 6vw, 88px);
  }

  html[lang] .page-shell section.profile-lead h1 {
    font-size: 2.625rem !important;
    line-height: 1.06 !important;
  }

  html[lang] .page-shell section.profile-lead .role {
    font-size: 1rem !important;
  }

  html[lang] .page-shell section.profile-lead .contact-lines dd,
  html[lang] .page-shell section.profile-lead .contact-lines dd a {
    font-size: 0.875rem !important;
  }
}

@media (min-width: 681px) and (orientation: landscape) and (max-width: 940px)  {
  html[lang] .page-shell .profile-lead-inner {
    grid-template-columns: minmax(0, 1fr) clamp(250px, 36vw, 320px) !important;
    gap: clamp(18px, 3.5vw, 30px) !important;
  }

  html[lang] .page-shell .profile-identity {
    padding-bottom: 16px;
  }

  html[lang] .page-shell .portrait-block {
    transform: translateX(24px) !important;
  }
}

html[lang] .page-shell :is(.news-page, .case-page, .services-page, .contact-page) {
  padding-top: 0 !important;
}

html[lang] .page-shell :is(.news-page, .case-page, .services-page, .contact-page) > .subpage-hero {
  width: 100% !important;
  max-width: none !important;
  min-height: 220px;
  margin: 0 !important;
  padding: 40px max(48px, calc((100vw - 1280px) / 2)) 44px !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 0 !important;
  align-items: end !important;
  background: var(--retained-navy) !important;
  color: #fff;
}

html[lang] .page-shell :is(.news-page, .case-page, .services-page) > .subpage-hero {
  margin-bottom: clamp(40px, 4.5vw, 64px) !important;
}

html[lang] .page-shell .contact-page > .subpage-hero {
  margin-bottom: clamp(64px, 7vw, 96px) !important;
}

html[lang] .page-shell :is(.news-page, .case-page, .services-page, .contact-page) > .subpage-hero h1 {
  color: rgba(255, 255, 255, 0.98) !important;
  font-size: clamp(2.75rem, 4.3vw, 3.75rem) !important;
  line-height: 1.08 !important;
  font-weight: 500 !important;
  letter-spacing: -0.025em !important;
}

html[lang] .page-shell :is(.news-page, .case-page, .services-page, .contact-page) > .subpage-hero p {
  display: none !important;
}

@media (max-width: 940px)  {
  html[lang] body .page-shell .mobile-menu,
  html[lang] body .page-shell .site-header[data-menu-open] {
    background: var(--retained-navy) !important;
    background-image: none !important;
  }

  html[lang] .page-shell :is(.news-page, .case-page, .services-page, .contact-page) > .subpage-hero {
    min-height: 160px;
    padding: 36px 28px 24px !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 26px !important;
  }
}

@media (max-width: 680px) , (orientation: portrait)  {
  html[lang] body .page-shell section.profile-lead {
    height: 208px !important;
    min-height: 208px !important;
  }

  html[lang] body .page-shell section.profile-lead .profile-lead-inner {
    height: 100% !important;
    min-height: 0 !important;
    padding: 0 !important;
    grid-template-columns: minmax(0, 1fr) 128px !important;
    gap: 8px !important;
    align-items: end !important;
  }

  html[lang] body .page-shell section.profile-lead .profile-identity {
    align-self: center !important;
    min-width: 0 !important;
    padding-bottom: 0 !important;
    transform: translateY(12px) !important;
  }

  html[lang] body .page-shell section.profile-lead .portrait-block {
    align-self: end !important;
    justify-self: end !important;
    width: 150px !important;
    height: 208px !important;
    min-height: 0 !important;
    transform: translateX(-8px) !important;
    overflow: visible !important;
  }

  html[lang] body .page-shell section.profile-lead .portrait-block picture,
  html[lang] body .page-shell section.profile-lead .portrait-block picture img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    object-position: center bottom !important;
  }

  html[lang] body .page-shell section.profile-lead h1 {
    font-size: 1.75rem !important;
    line-height: 1.08 !important;
  }

  html[lang] body .page-shell section.profile-lead .role {
    font-size: 0.75rem !important;
    line-height: 1.45 !important;
    margin-bottom: 0 !important;
  }

  html[lang] body .page-shell section.profile-lead .contact-lines {
    margin-top: 8px !important;
  }

  html[lang] body .page-shell section.profile-lead .contact-lines dt,
  html[lang] body .page-shell section.profile-lead .contact-lines dd,
  html[lang] body .page-shell section.profile-lead .contact-lines dd a {
    font-size: 0.7rem !important;
    line-height: 1.35 !important;
  }

  html[lang] .page-shell :is(.news-page, .case-page, .services-page, .contact-page) > .subpage-hero {
    min-height: 120px;
    margin-bottom: 32px !important;
    padding: 30px 20px 20px !important;
    gap: 0 !important;
  }

  html[lang] .page-shell :is(.news-page, .case-page, .services-page) > .subpage-hero {
    margin-bottom: 20px !important;
  }

  html[lang] .page-shell .contact-page > .subpage-hero {
    margin-bottom: 32px !important;
  }

  html[lang] .page-shell :is(.news-page, .case-page, .services-page, .contact-page) > .subpage-hero h1 {
    font-size: 2rem !important;
  }
}

@media (max-width: 350px)  {
  html[lang] body .page-shell section.profile-lead .portrait-block {
    width: 142px !important;
    height: 198px !important;
    transform: translateX(0) !important;
  }
}

@font-face {
  font-family: "FeiDandan Songti";
  src: url("/fonts/noto-serif-sc-subset-v2.woff2") format("woff2");
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
}

:root {

  --ink: #171b20;
  --muted: #555d64;
  --quiet: #737a80;
  --paper: #ffffff;
  --paper-raised: #ffffff;
  --paper-deep: #e7eaec;
  --white: #ffffff;
  --forest: #0a2233;
  --forest-2: #061722;
  --masthead-surface: var(--retained-navy);
  --gold: #66727c;

  --line-hairline: rgba(23, 27, 32, 0.075);
  --line-structural: rgba(23, 27, 32, 0.12);
  --line-interactive: rgba(23, 27, 32, 0.28);
  --line-hairline-dark: rgba(255, 255, 255, 0.11);
  --line-structural-dark: rgba(255, 255, 255, 0.15);
  --line-interactive-dark: rgba(255, 255, 255, 0.24);
  --line: var(--line-structural);
  --line-dark: var(--line-structural-dark);
  --state-line: var(--line-interactive);
  --state-line-dark: var(--line-interactive-dark);
  --tone-title-light: rgba(15, 20, 25, 0.96);
  --tone-primary-light: rgba(15, 20, 25, 0.82);
  --tone-secondary-light: rgba(15, 20, 25, 0.66);
  --tone-label-light: rgba(15, 20, 25, 0.62);
  --tone-faint-light: rgba(15, 20, 25, 0.60);
  --tone-title-dark: rgba(255, 255, 255, 0.98);
  --tone-primary-dark: rgba(255, 255, 255, 0.82);
  --tone-secondary-dark: rgba(255, 255, 255, 0.66);
  --tone-label-dark: rgba(255, 255, 255, 0.52);
  --tone-faint-dark: rgba(255, 255, 255, 0.48);
  --font-ui-zh: "PingFang SC", "Noto Sans SC", "Microsoft YaHei", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-ui-en: "Helvetica Neue", "Arial Nova", Arial, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-display-en: "Iowan Old Style", Baskerville, "Palatino Linotype", Georgia, "Times New Roman", serif;
  --font-ui: var(--font-ui-zh);
  --font-body: var(--font-ui);
  --sans: var(--font-ui);
  --weight-body: 400;
  --weight-quiet: 400;
  --weight-medium: 500;
  --weight-ui: 500;
  --weight-semibold: 600;
  --weight-heading: 500;

  --type-label: 0.8125rem;
  --type-meta: 0.875rem;
  --type-body-sm: 1rem;
  --type-body: clamp(1.0625rem, 0.98vw, 1.1875rem);
  --type-body-lg: clamp(1.1875rem, 1.05vw, 1.25rem);
  --type-subheading: clamp(1.3125rem, 1.18vw, 1.4375rem);
  --type-card-title: clamp(1.5rem, 1.35vw, 1.6875rem);
  --type-lead: clamp(1.375rem, 1.8vw, 1.75rem);
  --type-feature-title: clamp(1.5rem, 2.25vw, 2.25rem);
  --type-section-title: clamp(1.875rem, 3vw, 2.5rem);
  --type-page-title: clamp(2.5rem, 3.8vw, 3.25rem);
  --type-display: clamp(2.75rem, 5vw, 4.5rem);
  --type-profile-name: clamp(2.5rem, 4.8vw, 4.25rem);
  --type-article-title: clamp(2rem, 3vw, 2.625rem);
  --leading-label: 1.4;
  --leading-ui: 1.5;
  --leading-heading: 1.28;
  --leading-body: 1.7;
  --leading-reading: 1.8;
  --leading-display: 1.06;

  --resume-organization-size: var(--type-body-lg);
  --resume-title-size: var(--type-body);
  --resume-title-column: minmax(11.25rem, 25%);
  --resume-organization-leading: 1.55;
  --resume-title-leading: 1.45;
  --resume-organization-weight: var(--weight-body);
  --resume-title-weight: var(--weight-body);
  --resume-title-weight-en: var(--weight-body);

  --motion-quick: 120ms;
  --motion-fast: 160ms;
  --motion-base: 220ms;
  --motion-slow: 360ms;
  --ease-standard: cubic-bezier(0.2, 0, 0, 1);
  --ease-emphasized: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-linear: linear;
  --focus-ring-light: rgba(9, 32, 49, 0.72);
  --focus-halo-light: rgba(9, 32, 49, 0.12);
  --focus-ring-dark: rgba(255, 255, 255, 0.86);
  --focus-halo-dark: rgba(255, 255, 255, 0.14);
  --focus-offset: 3px;
}

@media (min-width: 681px) and (orientation: landscape)  {
  html[lang="zh-CN"] .page-shell section.profile-lead .profile-identity > .summary {
    display: none !important;
  }
}

.page-shell .about-gallery-slide {
  pointer-events: none !important;
  z-index: 0 !important;
}

.page-shell .about-gallery-slide.active {
  pointer-events: auto !important;
  z-index: 1 !important;
}

html[lang="en"] {
  --font-ui: var(--font-ui-en);
  --font-body: var(--font-ui-en);
  --sans: var(--font-ui-en);
  --font-display: var(--font-display-en);
  --leading-body: 1.68;
  --leading-reading: 1.76;
}

body {
  font-family: var(--font-ui);
}

@media (max-width: 680px) , (orientation: portrait)  {
  html[data-mobile-flow-error="true"] .page-shell .desktop-home-flow {
    display: block !important;
  }
}

.page-shell {
  --text-title: var(--tone-title-light);
  --text-primary: var(--tone-primary-light);
  --text-secondary: var(--tone-secondary-light);
  --text-label: var(--tone-label-light);
  --text-faint: var(--tone-faint-light);
  --muted: var(--text-secondary);
  --quiet: var(--text-label);
  --focus-ring: var(--focus-ring-light);
  --focus-halo: var(--focus-halo-light);
  color: var(--text-primary);
}

.page-shell .footer,
.page-shell .mobile-menu,
.page-shell section.profile-lead,
.page-shell .about-panel.dark,
.page-shell .highlight-section,
.page-shell .service-preview,
.page-shell .digest-section.services,
.page-shell .site-header[data-menu-open] {
  --text-title: var(--tone-title-dark);
  --text-primary: var(--tone-primary-dark);
  --text-secondary: var(--tone-secondary-dark);
  --text-label: var(--tone-label-dark);
  --text-faint: var(--tone-faint-dark);
  --muted: var(--text-secondary);
  --quiet: var(--text-label);
  --focus-ring: var(--focus-ring-dark);
  --focus-halo: var(--focus-halo-dark);
  color: var(--text-primary);
}

.page-shell :where(
  .btn,
  .brand,
  .contact-link,
  .lang-link,
  .text-link,
  .desktop-nav a,
  .footer-nav a,
  .footer-email,
  .channel-main a,
  .mobile-menu a,
  .profile-side-nav a,
  .group-heading,
  .service-disclosure summary,
  .case-group-heading,
  .menu-button,
  .about-gallery-arrows button,
  .about-gallery-dots button,
  .mobile-hero-gallery-dots button,
  .recognition-logo,
  .timeline-card
) {
  transition-duration: var(--motion-fast) !important;
  transition-timing-function: var(--ease-standard) !important;
}

.page-shell :where(
  a[href],
  button,
  summary,
  [tabindex]:not([tabindex="-1"])
):focus-visible {
  outline: none !important;
  outline-offset: var(--focus-offset) !important;
  border-radius: var(--radius-ui);
  box-shadow: none;
}

.page-shell :where(button, summary, [role="button"]) {
  cursor: pointer;
}

.page-shell :where(
  .btn,
  .contact-link,
  .menu-button,
  .about-gallery-arrows button
):active {
  filter: brightness(0.92);
}

.page-shell :where(.btn, .contact-link, .about-gallery-arrows button):hover,
.page-shell :where(.btn, .contact-link, .about-gallery-arrows button):active {
  transform: none !important;
}

.page-shell :where(
  button:disabled,
  [aria-disabled="true"]
) {
  opacity: 0.46 !important;
  cursor: not-allowed !important;
  pointer-events: none !important;
}

.page-shell .desktop-nav a::after,
.page-shell .menu-button span,
.page-shell .text-link::after,
.page-shell .case-group-heading h2 {
  transition-duration: var(--motion-fast) !important;
  transition-timing-function: var(--ease-standard) !important;
}

.page-shell .mobile-primary-nav {
  transition-duration: var(--motion-base) !important;
  transition-timing-function: var(--ease-emphasized) !important;
}

.page-shell .mobile-menu {
  transition:
    opacity var(--motion-fast) var(--ease-standard),
    transform var(--motion-base) var(--ease-emphasized),
    visibility 0s var(--ease-linear) var(--motion-base) !important;
}

.page-shell .mobile-menu[data-open] {
  transition:
    opacity var(--motion-quick) var(--ease-standard),
    transform var(--motion-base) var(--ease-emphasized),
    visibility 0s var(--ease-linear) !important;
}

.page-shell .mobile-menu a {
  transition:
    opacity var(--motion-fast) var(--ease-standard),
    transform var(--motion-base) var(--ease-emphasized),
    color var(--motion-fast) var(--ease-standard),
    background-color var(--motion-fast) var(--ease-standard),
    border-color var(--motion-fast) var(--ease-standard) !important;
}

.page-shell :where(
  .timeline-card .media-slot img,
  .news-index-media img,
  .about-gallery-slide
) {
  transition-duration: var(--motion-slow) !important;
  transition-timing-function: var(--ease-emphasized) !important;
}

.page-shell .service-preview,
.page-shell .digest-section.services {
  background: var(--forest-2) !important;
  background-image: none !important;
}

::selection {
  background: rgba(9, 32, 49, 0.18) !important;
}

.page-shell .subpage-hero h1,
.page-shell .page-hero h1 {
  font-family: var(--font-ui) !important;
  font-weight: var(--weight-ui) !important;
  letter-spacing: 0 !important;
  line-height: 1.12 !important;
}

.page-shell .subpage-hero {
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 0 !important;
  align-items: start !important;
}

.page-shell .subpage-hero p {
  display: none !important;
}

.page-shell .section-heading h2,
.page-shell .section-title h2,
.page-shell .case-group-heading h2,
.page-shell .timeline-body h3,
.page-shell .case-item h3,
.page-shell .date-block time,
.page-shell .update-list strong,
.page-shell .matter-list strong,
.page-shell .index-meta time,
.page-shell .index-copy h3,
.page-shell .home-contact-channel [data-email-link],
.page-shell .channel-main :is([data-email-link], [data-phone-link]),
.page-shell .article-title h1,
.page-shell .article-heading,
.page-shell .article-meta time {
  font-family: var(--font-ui) !important;
  font-weight: var(--weight-heading) !important;
  letter-spacing: 0 !important;
}

.page-shell .section-heading h2,
.page-shell .section-title h2 {
  font-size: clamp(28px, 3.4vw, 44px) !important;
  font-weight: var(--weight-ui) !important;
  line-height: 1.18 !important;
}

.page-shell .case-group-heading h2 {
  font-size: clamp(24px, 2.7vw, 34px) !important;
  font-weight: var(--weight-ui) !important;
  line-height: 1.3 !important;
}

.page-shell .case-group-heading::marker {
  content: "";
}

.page-shell .case-group-heading::-webkit-details-marker {
  display: none;
}

.page-shell .case-group-heading:after {
  content: none !important;
  display: none !important;
}

.page-shell .timeline-body h3,
.page-shell .case-item h3,
.page-shell .index-copy h3,
.page-shell .article-title h1 {
  line-height: 1.35 !important;
}

.page-shell .date-block time,
.page-shell .index-meta time,
.page-shell .article-meta time {
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum";
  font-weight: var(--weight-ui) !important;
}

.page-shell .date-block time,
.page-shell .index-meta time {
  font-size: clamp(22px, 2.25vw, 30px) !important;
}

.page-shell .timeline-body h3,
.page-shell .index-copy h3 {
  font-size: clamp(21px, 2.1vw, 29px) !important;
  font-weight: var(--weight-heading) !important;
}

.page-shell .case-item h3 {
  font-weight: var(--weight-heading) !important;
}

.page-shell .article-title h1 {
  font-size: clamp(34px, 4vw, 54px) !important;
  font-weight: var(--weight-heading) !important;
  line-height: 1.24 !important;
}

.page-shell .article-heading {
  font-size: clamp(28px, 2.9vw, 38px) !important;
  font-weight: var(--weight-heading) !important;
  line-height: 1.35 !important;
}

.page-shell .channel-main :is([data-email-link], [data-phone-link]) {
  font-size: clamp(24px, 3.1vw, 42px) !important;
  font-weight: var(--weight-ui) !important;
  line-height: 1.16 !important;
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum";
  font-variant-ligatures: no-common-ligatures;
}

.page-shell .desktop-nav a,
.page-shell .mobile-menu a,
.page-shell .mobile-primary-nav a,
.page-shell .lang-link,
.page-shell .contact-link,
.page-shell .footer-nav a,
.page-shell .btn,
.page-shell .text-link,
.page-shell .section-link,
.page-shell .case-grid-head span,
.page-shell .case-meta span,
.page-shell .case-scope dt,
.page-shell .timeline-body small,
.page-shell .channel-main a:last-child,
.page-shell dt {
  font-weight: var(--weight-ui) !important;
}

.page-shell .hero h1 small {
  font-family: var(--font-ui) !important;
  font-weight: var(--weight-ui) !important;
  letter-spacing: 0 !important;
}

html[lang="en"] .page-shell .hero h1 small:empty::before {
  content: attr(data-hero-title);
}

.page-shell .hero-role-line {
  font-family: var(--font-ui) !important;
  font-weight: var(--weight-quiet) !important;
  line-height: 1.58 !important;
}

.page-shell .lead-primary {
  font-family: var(--font-ui) !important;
  max-width: min(100%, 20em) !important;
  font-weight: var(--weight-ui) !important;
  line-height: 1.42 !important;
  letter-spacing: 0 !important;
  hyphens: none !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}

.page-shell .lead-secondary {
  font-family: var(--font-ui) !important;
  font-weight: var(--weight-quiet) !important;
  line-height: 1.66 !important;
  hyphens: none !important;
}

.page-shell h1,
.page-shell h2,
.page-shell h3,
.page-shell .lead-primary,
.page-shell .article-title h1,
.page-shell .article-heading,
.page-shell .article-subheading,
.page-shell .case-item h3,
.page-shell .timeline-body h3,
.page-shell .index-copy h3,
.page-shell .update-list strong,
.page-shell .matter-list strong,
.page-shell .service-list strong,
.page-shell .channel-main :is([data-email-link], [data-phone-link]),
.page-shell .home-contact-channel [data-email-link] {
  color: var(--text-title) !important;
}

.page-shell p,
.page-shell li,
.page-shell dd,
.page-shell .profile-lead,
.page-shell .profile-lead p,
.page-shell .profile-lead .role,
.page-shell .profile-lead dd,
.page-shell .profile-content p,
.page-shell .profile-content li,
.page-shell .prose p,
.page-shell .line-list li,
.page-shell .article-paragraph,
.page-shell .article-body > .article-paragraph:first-child,
.page-shell .footer-nav a,
.page-shell .footer-email {
  color: var(--text-primary) !important;
}

.page-shell .section-heading p,
.page-shell .subpage-hero p,
.page-shell .summary,
.page-shell .profile-lead .summary,
.page-shell .lead-secondary,
.page-shell .case-item p,
.page-shell .timeline-body p,
.page-shell .index-copy p,
.page-shell .service-row p,
.page-shell .service-detail p,
.page-shell .service-body p,
.page-shell .group-heading p,
.page-shell .section-note,
.page-shell .profile-summary,
.page-shell .resume-copy p,
.page-shell figcaption,
.page-shell .footer p,
.page-shell .footer-bottom {
  color: var(--text-secondary) !important;
}

.page-shell .section-kicker,
.page-shell .section-link,
.page-shell .panel-label,
.page-shell .footer-label,
.page-shell .date-block span,
.page-shell .service-detail span,
.page-shell .service-body span,
.page-shell .group-heading span,
.page-shell .case-grid-head span,
.page-shell .case-meta span,
.page-shell .home-contact-kicker,
.page-shell .home-contact-channel span,
.page-shell .mobile-hero-channel dt,
.page-shell .index-meta span,
.page-shell .article-meta span,
.page-shell .article-meta strong,
.page-shell .channel-label span,
.page-shell .source-link,
.page-shell dt {
  color: var(--text-label) !important;
}

.page-shell .article-meta small,
.page-shell .timeline-body small,
.page-shell .case-scope dt,
.page-shell .channel-main a:last-child {
  color: var(--text-faint) !important;
}

.page-shell .footer-label,
.page-shell .panel-label,
.page-shell .date-block span,
.page-shell .service-detail span,
.page-shell .service-body span,
.page-shell .group-heading span,
.page-shell .section-kicker,
.page-shell .section-link,
.page-shell .case-meta span,
.page-shell .home-contact-kicker,
.page-shell .home-contact-channel span,
.page-shell .mobile-hero-channel dt,
.page-shell .index-meta span,
.page-shell .article-meta span,
.page-shell .article-meta strong,
.page-shell .channel-label span,
.page-shell .source-link,
.page-shell .channel-main a:last-child {
  color: var(--quiet) !important;
  letter-spacing: 0.02em !important;
  text-transform: none !important;
}

.page-shell .panel-label,
.page-shell .footer-label,
.page-shell .date-block span,
.page-shell .service-detail span,
.page-shell .service-body span,
.page-shell .group-heading span,
.page-shell .case-meta span,
.page-shell .home-contact-kicker,
.page-shell .home-contact-channel span,
.page-shell .index-meta span,
.page-shell .article-meta span,
.page-shell .article-meta strong,
.page-shell .channel-label span {
  font-size: 12px !important;
  font-weight: var(--weight-ui) !important;
}

.page-shell .group-heading span,
.page-shell .service-body span,
.page-shell .service-detail span,
.page-shell .article-meta span,
.page-shell .article-meta strong {
  margin-bottom: 5px !important;
}

.page-shell .desktop-nav a:after {
  background: var(--state-line) !important;
}

.page-shell .mobile-hero-gallery-dots,
.page-shell .about-gallery-dots {
  gap: 0 !important;
}

.page-shell .mobile-hero-gallery-dots button,
.page-shell .about-gallery-dots button {
  position: relative;
  width: 24px !important;
  min-width: 24px !important;
  height: 24px !important;
  padding: 0 !important;
  background: transparent !important;
}

.page-shell .mobile-hero-gallery-dots button::before,
.page-shell .about-gallery-dots button::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 8px;
  height: 8px;
  border-radius: 2px;
  background: rgba(70, 82, 92, 0.24);
  transform: translate(-50%, -50%);
  transition: width var(--motion-fast) var(--ease-standard),
    background var(--motion-fast) var(--ease-standard);
}

.page-shell .mobile-hero-gallery-dots button::before {
  width: 7px;
  height: 7px;
  background: rgba(255, 255, 255, 0.26);
}

.page-shell .mobile-hero-gallery-dots button[data-active]::before {
  width: 20px;
  background: rgba(255, 255, 255, 0.54);
}

.page-shell .about-gallery-dots button:is([data-active], [aria-current="true"])::before {
  width: 24px;
  background: var(--state-line);
}

.page-shell .section-link {
  border-bottom-color: var(--line-interactive) !important;
}

@media (min-width: 821px) and (orientation: landscape)  {
  .page-shell .about-section .about-grid > .photo-panel + .about-panel {
    padding-top: 0 !important;
    border-top: 0 !important;
  }

  .page-shell .about-section .about-grid > .split-panel {
    border-top: 0 !important;
  }

  html[lang="en"] .page-shell .about-section .about-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    column-gap: clamp(28px, 4vw, 58px) !important;
  }

  html[lang="en"] .page-shell .about-section .about-grid > .photo-panel {
    grid-column: 1 / span 3 !important;
  }

  html[lang="en"] .page-shell .about-section .about-grid > .photo-panel + .about-panel {
    grid-column: 4 / span 3 !important;
  }

  html[lang="en"] .page-shell .about-section .about-grid > .split-panel {
    grid-column: 1 / span 4 !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: clamp(28px, 4vw, 58px) !important;
    padding-top: 0 !important;
    border-top: 0 !important;
  }

  html[lang="en"] .page-shell .about-section .about-grid > .expertise-panel {
    grid-column: 5 / span 2 !important;
    padding-top: clamp(24px, 3.4vw, 44px) !important;
    border-top: 1px solid var(--line) !important;
  }

  html[lang="en"] .page-shell .about-section .split-panel > div {
    padding-top: clamp(24px, 3.4vw, 44px) !important;
    border-top: 1px solid var(--line) !important;
  }

  html[lang="en"] .page-shell .about-section .split-panel li,
  html[lang="en"] .page-shell .about-section .expertise-panel li {
    font-size: clamp(18px, 1.18vw, 20px) !important;
    line-height: 1.72 !important;
  }
}

html[lang="en"] .page-shell #bio .prose {
  max-width: 48rem !important;
  gap: 16px !important;
}

html[lang="en"] .page-shell #bio .prose p {
  font-size: clamp(17px, 1.08vw, 19px) !important;
  line-height: 1.72 !important;
  font-weight: var(--weight-body) !important;
}

html[lang="en"] .page-shell #bio .prose p:first-child {
  color: var(--text-title) !important;
  font-weight: var(--weight-body) !important;
}

html[lang="en"] .page-shell section.profile-lead .profile-identity {
  min-width: min(100%, 27rem) !important;
}

html[lang="en"] .page-shell section.profile-lead h1 {
  flex-wrap: wrap !important;
  width: max-content !important;
  max-width: 100% !important;
  white-space: normal !important;
}

html[lang="en"] .page-shell section.profile-lead h1:after {
  font-size: clamp(17px, 1.6vw, 19px) !important;
  font-weight: var(--weight-ui) !important;
}

html[lang="en"] .page-shell section.profile-lead .role {
  margin: 19px 0 22px !important;
  font-size: clamp(19px, 1.5vw, 21px) !important;
  line-height: 1.54 !important;
  font-weight: var(--weight-ui) !important;
}

html[lang="en"] .page-shell section.profile-lead .contact-lines dd {
  font-size: clamp(17px, 1.25vw, 19px) !important;
  line-height: 1.58 !important;
  font-weight: var(--weight-body) !important;
}

@media (min-width: 901px) and (orientation: landscape)  {
  .page-shell .service-group {
    align-items: start !important;
  }

  .page-shell .service-group:not([open]) {
    display: block !important;
    padding: 26px 0 !important;
  }

  .page-shell .service-group[open] {
    grid-template-columns: minmax(240px, 0.3fr) minmax(0, 0.7fr) !important;
    gap: clamp(42px, 6vw, 88px) !important;
  }

  .page-shell .group-heading {
    cursor: pointer !important;
    transition:
      color var(--motion-fast) var(--ease-standard),
      opacity var(--motion-fast) var(--ease-standard);
  }

  .page-shell .group-heading:focus-visible,
  .page-shell .service-disclosure summary:focus-visible {
    outline-color: var(--focus-ring);
    outline-offset: var(--focus-offset);
  }

  .page-shell .group-toggle {
    display: inline-grid !important;
    place-items: center;
    width: 24px;
    height: 30px;
    color: var(--text-label) !important;
    font-size: 18px;
    line-height: 1;
  }

  .page-shell .group-heading:hover h2,
  .page-shell .service-disclosure summary:hover h3 {
    color: var(--text-title) !important;
  }

  .page-shell .group-heading:hover .group-toggle,
  .page-shell .service-disclosure summary:hover em {
    color: var(--text-primary) !important;
  }

  .page-shell .service-group:not([open]) .group-heading {
    grid-template-columns:
      minmax(96px, 0.14fr)
      minmax(260px, 0.38fr)
      minmax(260px, 0.48fr)
      auto !important;
    gap: clamp(20px, 3vw, 46px) !important;
    align-items: start !important;
  }

  .page-shell .service-group:not([open]) .group-heading span {
    grid-column: 1 !important;
    margin-top: 5px !important;
  }

  .page-shell .service-group:not([open]) .group-heading h2 {
    grid-column: 2 !important;
    max-width: 18em !important;
  }

  .page-shell .service-group:not([open]) .group-heading p {
    grid-column: 3 !important;
    max-width: 34em !important;
    margin-top: 2px !important;
  }

  .page-shell .service-group:not([open]) .group-toggle {
    grid-column: 4 !important;
    justify-self: end !important;
    margin-top: 1px !important;
  }

  .page-shell .service-group[open] .group-heading {
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 10px 18px !important;
    padding-right: clamp(8px, 2vw, 24px) !important;
  }

  .page-shell .service-group[open] .group-heading span,
  .page-shell .service-group[open] .group-heading p {
    grid-column: 1 / -1 !important;
  }

  .page-shell .service-group[open] .group-heading h2 {
    grid-column: 1 !important;
  }

  .page-shell .service-group[open] .group-toggle {
    grid-column: 2 !important;
    grid-row: 2 !important;
    justify-self: end !important;
    align-self: start !important;
  }

  .page-shell .service-group[open] .service-disclosures {
    padding-top: 4px !important;
  }

  .page-shell .service-disclosure summary {
    min-height: 52px;
  }

  .page-shell .service-disclosure summary em {
    width: 22px !important;
    height: 28px !important;
    color: var(--text-label) !important;
    transition: color var(--motion-fast) var(--ease-standard);
  }
}

.page-shell .mobile-menu a:hover,
.page-shell .mobile-menu a:focus-visible,
.page-shell .mobile-menu a[aria-current="page"] {
  color: #fff !important;
  border-bottom-color: rgba(255, 255, 255, 0.28) !important;
}

.page-shell .channel-main a:last-child {
  border-bottom-color: rgba(20, 20, 20, 0.24) !important;
}

.page-shell .contact-channel .channel-main a:last-child {
  color: var(--text-secondary) !important;
  border-bottom-color: rgba(20, 20, 20, 0.24) !important;
}

.page-shell .article-heading {
  border-top-color: var(--line) !important;
}

.page-shell .article-hero-grid:before {
  background: var(--state-line) !important;
}

.page-shell .article-follow {
  border-color: rgba(20, 20, 20, 0.18) !important;
}

.page-shell .timeline li:before,
.page-shell .service-detail li:before,
.page-shell .home-contact-channel [data-email-link]:after {
  background: rgba(20, 20, 20, 0.32) !important;
}

.page-shell .about-gallery-arrows button:hover {
  border-color: rgba(20, 20, 20, 0.42) !important;
}

.page-shell .subpage-hero:after,
.page-shell .hero:before,
.page-shell .hero-copy:after,
.page-shell .text-link:after,
.page-shell h1:before {
  content: none !important;
  display: none !important;
}

.page-shell .home-contact-grid {
  border-top: 0 !important;
}

.page-shell section.profile-lead .contact-lines {
  padding-left: 0 !important;
  border-left: 0 !important;
}

.page-shell section.profile-lead .portrait-block figcaption {
  display: none !important;
}

.page-shell .timeline-card {
  grid-template-columns: clamp(200px, 18vw, 260px) minmax(0, 1fr) !important;
  gap: clamp(28px, 3.7vw, 54px) !important;
  min-height: 0 !important;
  align-items: center !important;
}

.page-shell .timeline-card:has(.media-slot img) {
  grid-template-columns: clamp(200px, 18vw, 260px) minmax(0, 1fr) clamp(190px, 16.8vw, 248px) !important;
}

.page-shell .timeline-card .date-block span,
.page-shell .timeline-card .timeline-body small {
  display: none !important;
}

.page-shell .timeline-card .media-slot:not(:has(img)) {
  display: none !important;
}

.page-shell .timeline-card .media-slot {
  display: grid !important;
  place-items: center;
  width: 100%;
  margin: 0 !important;
  aspect-ratio: 3 / 2;
  align-self: center !important;
  overflow: hidden;
  border-radius: var(--radius-ui) !important;
  background: rgba(20, 20, 20, 0.05) !important;
  box-shadow: inset 0 0 0 1px rgba(20, 20, 20, 0.1);
}

.page-shell .timeline-card .media-slot img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(0.94) contrast(0.98);
  transition:
    transform var(--motion-slow) var(--ease-emphasized),
    filter var(--motion-slow) var(--ease-standard);
}

.page-shell .timeline-card:has(.media-slot img):hover .media-slot img {
  filter: saturate(1) contrast(1);
  transform: scale(1.025);
}

.page-shell .news-index-item {
  grid-template-columns: clamp(220px, 20vw, 286px) minmax(0, 1fr) !important;
  gap: clamp(28px, 3.7vw, 54px) !important;
}

.page-shell .news-index-item.has-media {
  grid-template-columns: clamp(220px, 20vw, 286px) minmax(0, 1fr) clamp(190px, 16.8vw, 248px) !important;
  gap: clamp(28px, 3.7vw, 54px) !important;
  align-items: center !important;
}

.page-shell .news-index-item .index-meta span,
.page-shell .news-index-item .index-copy small {
  display: none !important;
}

.page-shell .news-index-media {
  width: 100%;
  margin: 0;
  aspect-ratio: 16 / 10;
  align-self: center;
  overflow: hidden;
  border-radius: var(--radius-ui);
  background: rgba(20, 20, 20, 0.05);
  box-shadow: inset 0 0 0 1px rgba(20, 20, 20, 0.1);
}

.page-shell .news-index-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: saturate(0.94) contrast(0.98);
  transition:
    transform var(--motion-slow) var(--ease-emphasized),
    filter var(--motion-slow) var(--ease-standard);
}

.page-shell .news-index-item.has-media:hover .news-index-media img {
  filter: saturate(1) contrast(1);
  transform: scale(1.025);
}

.page-shell .publication-article .article-figure:not(.publication-cover) {
  position: relative;
  left: 50%;
  width: min(1120px, calc(100vw - 48px));
  transform: translateX(-50%);
}

.page-shell .publication-article .publication-cover {
  width: min(520px, 100%);
  margin-right: auto;
  margin-left: auto;
}

.page-shell .publication-article .article-figure img {
  border-radius: var(--radius-ui);
}

@media (max-width: 980px) and (min-width: 681px) and (orientation: landscape)  {
  .page-shell .news-index-item {
    grid-template-columns: clamp(190px, 24vw, 232px) minmax(0, 1fr) !important;
    gap: clamp(22px, 3.2vw, 38px) !important;
  }

  .page-shell .news-index-item.has-media {
    grid-template-columns: clamp(190px, 24vw, 232px) minmax(0, 1fr) clamp(148px, 21vw, 196px) !important;
    gap: clamp(22px, 3.2vw, 38px) !important;
  }
}

@media (max-width: 980px) and (min-width: 681px) and (orientation: landscape)  {
  .page-shell .timeline-card {
    grid-template-columns: clamp(160px, 24vw, 210px) minmax(0, 1fr) !important;
    gap: clamp(22px, 3.2vw, 38px) !important;
  }

  .page-shell .timeline-card:has(.media-slot img) {
    grid-template-columns: clamp(160px, 24vw, 210px) minmax(0, 1fr) clamp(148px, 21vw, 196px) !important;
  }
}

@media (max-width: 680px) , (orientation: portrait)  {
  .page-shell .hero,
  .page-shell .contact-channel {
    --text-title: var(--tone-title-dark);
    --text-primary: var(--tone-primary-dark);
    --text-secondary: var(--tone-secondary-dark);
    --text-label: var(--tone-label-dark);
    --text-faint: var(--tone-faint-dark);
    --muted: var(--text-secondary);
    --quiet: var(--text-label);
  }

  .page-shell .section-heading h2,
  .page-shell .section-title h2 {
    color: var(--text-title) !important;
    font-size: clamp(27px, 7.2vw, 32px) !important;
    line-height: 1.2 !important;
    font-weight: var(--weight-ui) !important;
  }

  .page-shell .date-block time,
  .page-shell .index-meta time {
    color: var(--text-secondary) !important;
    font-size: 0.94rem !important;
    line-height: 1.5 !important;
    font-weight: var(--weight-ui) !important;
  }

  .page-shell .date-block span {
    color: var(--text-label) !important;
    font-size: 0.82rem !important;
    font-weight: var(--weight-ui) !important;
  }

  .page-shell .mobile-digest .update-list span,
  .page-shell .mobile-digest .matter-list span {
    color: rgba(20, 20, 20, 0.6) !important;
    font-size: 0.82rem !important;
    line-height: 1.45 !important;
    font-weight: var(--weight-ui) !important;
    letter-spacing: 0 !important;
  }

  .page-shell .timeline-body h3,
  .page-shell .case-item h3,
  .page-shell .index-copy h3 {
    color: rgba(20, 20, 20, 0.86) !important;
    font-size: clamp(18px, 4.9vw, 19.5px) !important;
    line-height: 1.46 !important;
    font-weight: var(--weight-ui) !important;
  }

  .page-shell .update-list strong,
  .page-shell .matter-list strong {
    color: rgba(20, 20, 20, 0.86) !important;
    font-family: var(--font-ui) !important;
    font-size: clamp(18px, 4.9vw, 19.5px) !important;
    line-height: 1.46 !important;
    font-weight: var(--weight-ui) !important;
  }

  .page-shell .mobile-digest .update-list a {
    grid-template-columns: 1fr !important;
    grid-template-areas: none;
    gap: 8px !important;
    padding: 20px 0 !important;
  }

  .page-shell .mobile-digest .update-list a:has(.update-list-media) {
    grid-template-columns: minmax(0, 1fr) clamp(112px, 31vw, 128px) !important;
    grid-template-areas:
      "meta media"
      "title media";
    column-gap: 16px !important;
    row-gap: 7px !important;
    align-items: center !important;
  }

  .page-shell .mobile-digest .update-list a:has(.update-list-media) span {
    grid-area: meta;
  }

  .page-shell .mobile-digest .update-list a:has(.update-list-media) strong {
    grid-area: title;
    -webkit-line-clamp: 2;
  }

  .page-shell .mobile-digest .update-list strong {
    display: -webkit-box !important;
    overflow: hidden !important;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
  }

  .page-shell .mobile-digest .update-list-media {
    grid-area: media;
    width: 100%;
    margin: 0;
    aspect-ratio: 3 / 2;
    align-self: center;
    overflow: hidden;
    border-radius: var(--radius-ui);
    background: rgba(20, 20, 20, 0.05);
    box-shadow: inset 0 0 0 1px rgba(20, 20, 20, 0.1);
  }

  .page-shell .mobile-digest .update-list-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .page-shell .case-group-heading h2 {
    font-family: var(--font-ui) !important;
    font-size: clamp(18px, 4.9vw, 21px) !important;
    font-weight: var(--weight-ui) !important;
    line-height: 1.42 !important;
  }

  .page-shell .case-group-heading {
    grid-template-columns: minmax(0, 1fr) 2ch !important;
    align-items: start !important;
  }

  .page-shell .case-group-heading:after {
    content: "-" !important;
    display: block !important;
    justify-self: end !important;
    align-self: start !important;
    width: auto !important;
    height: auto !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: var(--text-label) !important;
    font-size: 24px !important;
    font-weight: var(--weight-ui) !important;
    line-height: 1.15 !important;
  }

  .page-shell .case-group:not([open]) .case-group-heading:after {
    content: "+" !important;
  }

  .page-shell .case-group-heading:focus-visible {
    outline: none !important;
    outline-offset: 4px !important;
    border-radius: var(--radius-ui) !important;
  }

  .page-shell .channel-main :is([data-email-link], [data-phone-link]) {
    font-size: clamp(20px, 6vw, 25px) !important;
    line-height: 1.22 !important;
  }

  .page-shell .service-body span,
  .page-shell .service-detail span,
  .page-shell .group-heading span,
  .page-shell .section-kicker {
    letter-spacing: 0 !important;
  }

  .page-shell .hero-role-line {
    color: var(--text-secondary) !important;
    font-weight: var(--weight-quiet) !important;
  }

  .page-shell .lead {
    max-width: min(100%, 24em) !important;
  }

  .page-shell .lead-primary {
    max-width: min(100%, 19em) !important;
    font-weight: var(--weight-ui) !important;
    line-height: 1.46 !important;
  }

  .page-shell .lead-secondary {
    color: var(--text-secondary) !important;
    line-height: 1.68 !important;
  }

  .page-shell .mobile-hero-channel dt {
    color: var(--text-label) !important;
    font-weight: var(--weight-ui) !important;
  }

  .page-shell .mobile-hero-channel dd,
  .page-shell .mobile-hero-channel a {
    color: var(--text-primary) !important;
    font-weight: var(--weight-quiet) !important;
  }

  .page-shell .contact-channel .channel-main a:last-child {
    color: var(--text-secondary) !important;
    border-bottom-color: rgba(255, 255, 255, 0.26) !important;
  }

  .page-shell .news-index-item {
    grid-template-columns: 1fr !important;
    grid-template-areas: none;
    gap: 8px !important;
    padding: 26px 0 !important;
  }

  .page-shell .news-index-item.has-media {
    grid-template-columns: minmax(0, 1fr) clamp(112px, 31vw, 128px) !important;
    grid-template-areas:
      "meta media"
      "copy media";
    column-gap: 16px !important;
    row-gap: 7px !important;
    align-items: center !important;
  }

  .page-shell .news-index-item .index-meta {
    gap: 0 !important;
  }

  .page-shell .news-index-item .index-copy {
    gap: 0 !important;
  }

  .page-shell .news-index-item.has-media .index-meta {
    grid-area: meta;
  }

  .page-shell .news-index-item.has-media .index-copy {
    grid-area: copy;
  }

  .page-shell .news-index-item.has-media .news-index-media {
    grid-area: media;
    align-self: center;
    aspect-ratio: 3 / 2;
    margin-top: 0;
  }

  .page-shell .news-index-item.has-media .index-copy h3 {
    max-width: 100% !important;
    -webkit-line-clamp: 2;
  }

  .page-shell .news-index-item .index-copy h3 {
    display: -webkit-box !important;
    overflow: hidden !important;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
  }
}

html[data-browser="chromium"] .page-shell .site-header {
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

@media (min-width: 681px) and (orientation: landscape)  {
  html[data-browser="chromium"] .page-shell .site-header {
    background:
      linear-gradient(180deg, rgba(250, 251, 252, 0.985), rgba(247, 249, 250, 0.97))
      !important;
  }
}

@media (min-width: 941px) and (orientation: landscape)  {
  @supports (-webkit-backdrop-filter: blur(1px)) {
    html[data-browser="safari"] .page-shell .site-header {
      background:
        linear-gradient(
          180deg,
          rgba(250, 251, 252, 0.90),
          rgba(247, 249, 250, 0.80)
        ) !important;
      border-bottom-color: rgba(20, 20, 20, 0.075) !important;
      -webkit-backdrop-filter: saturate(112%) blur(12px) !important;
      backdrop-filter: saturate(112%) blur(12px) !important;
      box-shadow:
        inset 0 1px rgba(255, 255, 255, 0.58),
        0 10px 32px rgba(6, 21, 33, 0.035);
    }

    html[data-browser="safari"] .page-shell .site-header::after {
      content: "";
      position: absolute;
      right: clamp(18px, 4vw, 52px);
      bottom: -1px;
      left: clamp(18px, 4vw, 52px);
      height: 1px;
      background: linear-gradient(
        90deg,
        transparent,
        rgba(70, 82, 92, 0.20) 18%,
        rgba(70, 82, 92, 0.20) 82%,
        transparent
      );
      pointer-events: none;
    }
  }
}

@media (max-width: 940px)  {
  .page-shell .site-header {
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    box-shadow: none !important;
  }

  .page-shell .site-header::after {
    content: none !important;
  }

  .page-shell .mobile-menu a:focus-visible {
    outline: 0 !important;
    outline-offset: 0 !important;
    border-radius: 0;
    box-shadow: inset 2px 0 0 var(--focus-ring-dark);
    background: rgba(255, 255, 255, 0.035);
  }
}

@media (max-width: 680px) , (orientation: portrait)  {
  .page-shell .site-header {
    --focus-ring: var(--focus-ring-dark);
    --focus-halo: var(--focus-halo-dark);
  }
}

.page-shell .portrait-frame picture {
  display: contents;
}

.page-shell .hero .lead {
  width: 100%;
  max-width: min(100%, 36rem) !important;
}

.page-shell .hero-grid,
.page-shell .hero-copy {
  min-width: 0;
}

.page-shell .hero .lead-primary {
  display: block !important;
  max-width: min(100%, 36rem) !important;
  line-height: 1.32 !important;
}

html[lang="zh-CN"] .page-shell .hero .lead-primary {
  line-break: loose;
  word-break: normal !important;
  overflow-wrap: normal !important;
}

@media (min-width: 681px) and (orientation: landscape) and (max-width: 1120px)  {
  html[lang="en"] .page-shell .profile-document-grid,
  html[lang="en"] .page-shell .highlight-section,
  html[lang="en"] .page-shell .support-grid {
    grid-template-columns: 1fr !important;
  }

  html[lang="en"] .page-shell .profile-side-nav {
    display: none !important;
  }

  html[lang="en"] .page-shell .profile-content,
  html[lang="en"] .page-shell .prose {
    max-width: 100% !important;
  }
}

@media (min-width: 861px) and (orientation: landscape)  {
  html[lang="en"] .page-shell section.profile-lead .profile-lead-inner {
    grid-template-columns: minmax(420px, 0.58fr) minmax(300px, 0.42fr) !important;
    gap: clamp(28px, 3.6vw, 48px) !important;
  }

  .page-shell .support-section .support-grid .line-list li {
    font-size: clamp(18px, 1.06vw, 19px) !important;
    line-height: 1.68 !important;
    font-weight: var(--weight-body) !important;
  }
}

@media (min-width: 681px) and (orientation: landscape)  {
  .page-shell .hero .lead-primary {
    font-size: clamp(24px, 2vw, 32px) !important;
    line-height: 1.42 !important;
    font-weight: var(--weight-medium) !important;
  }

  html[lang="en"] .page-shell .hero .lead {
    max-width: min(100%, 48rem) !important;
  }

  html[lang="en"] .page-shell .hero .lead-primary {
    max-width: min(100%, 48rem) !important;
    font-size: clamp(22px, 1.65vw, 28px) !important;
    line-height: 1.44 !important;
    font-weight: var(--weight-medium) !important;
  }

  html[lang="en"] .page-shell .hero-copy {
    max-width: min(100%, 50rem) !important;
  }
}

@media (max-width: 680px) , (orientation: portrait)  {
  .page-shell .hero .lead {
    max-width: min(100%, 30rem) !important;
    margin-top: -2px !important;
  }

  .page-shell .hero .lead-primary {
    max-width: min(100%, 30rem) !important;
    font-size: clamp(19px, 5vw, 22px) !important;
    line-height: 1.52 !important;
    font-weight: var(--weight-medium) !important;
  }

  html[lang="zh-CN"] .page-shell .hero .lead {
    max-width: min(100%, 21rem) !important;
    margin-top: 0 !important;
  }

  html[lang="zh-CN"] .page-shell .hero .lead-primary {
    max-width: min(100%, 21rem) !important;
    font-size: clamp(18px, 5.05vw, 20px) !important;
    line-height: 1.5 !important;
    font-weight: var(--weight-heading) !important;
  }

  html[lang="en"] .page-shell .hero .lead-primary {
    font-size: clamp(18px, 4.6vw, 21px) !important;
    line-height: 1.52 !important;
  }

  .page-shell .hero .button-row {
    margin-top: 0 !important;
  }

  html[lang="en"] .page-shell #bio .prose {
    gap: 18px !important;
    max-width: 34em !important;
  }

  html[lang="en"] .page-shell #bio .prose p {
    color: rgba(20, 20, 20, 0.82) !important;
    font-size: 1.0625rem !important;
    line-height: 1.76 !important;
    font-weight: var(--weight-body) !important;
    letter-spacing: 0 !important;
    font-kerning: normal !important;
  }

  html[lang="en"] .page-shell #bio .prose p:first-child {
    font-size: 1.0625rem !important;
    line-height: 1.76 !important;
    font-weight: var(--weight-body) !important;
  }

  html[lang="en"] .page-shell .profile-content .line-list li {
    font-weight: var(--weight-body) !important;
  }

  html[lang="zh-CN"] .page-shell section.profile-lead .profile-lead-inner {
    min-height: 248px !important;
  }

  html[lang="zh-CN"] .page-shell section.profile-lead .portrait-block {
    right: -18px !important;
    width: min(220px, 56vw) !important;
  }

  html[lang="zh-CN"] .page-shell section.profile-lead .profile-identity {
    width: min(68vw, 272px) !important;
    bottom: 20px !important;
  }

  html[lang="zh-CN"] .page-shell section.profile-lead h1 {
    font-size: clamp(36px, 10vw, 40px) !important;
    gap: 9px !important;
  }

  html[lang="zh-CN"] .page-shell section.profile-lead h1:after {
    font-size: 13px !important;
    font-weight: var(--weight-heading) !important;
  }

  html[lang="zh-CN"] .page-shell section.profile-lead .role {
    max-width: min(68vw, 272px) !important;
    margin: 9px 0 12px !important;
    font-size: 13.5px !important;
    line-height: 1.46 !important;
    font-weight: var(--weight-heading) !important;
  }

  html[lang="zh-CN"] .page-shell section.profile-lead .contact-lines {
    width: min(68vw, 272px) !important;
    margin-top: 12px !important;
  }

  html[lang="zh-CN"] .page-shell section.profile-lead .contact-lines dd {
    font-size: 13px !important;
    line-height: 1.45 !important;
  }

  html[lang="zh-CN"] .page-shell section.profile-lead .contact-lines dd a[data-email-link]:before {
    content: "邮箱：";
  }

  html[lang="zh-CN"] .page-shell section.profile-lead .contact-lines dd a[data-phone-link]:before {
    content: "电话：";
  }

  html[lang="zh-CN"] .page-shell .profile-document {
    padding-top: 28px !important;
  }

  html[lang="zh-CN"] .page-shell .expertise-section .expertise-list {
    padding-left: 18px !important;
  }

  html[lang="en"] .page-shell section.profile-lead .profile-identity {
    width: min(72vw, 286px) !important;
    min-width: 0 !important;
    bottom: 20px !important;
  }

  html[lang="en"] .page-shell section.profile-lead h1:after {
    font-size: 13px !important;
    font-weight: var(--weight-ui) !important;
  }

  html[lang="en"] .page-shell section.profile-lead .role {
    max-width: min(72vw, 286px) !important;
    margin: 11px 0 13px !important;
    font-size: 13.75px !important;
    line-height: 1.5 !important;
    font-weight: var(--weight-ui) !important;
  }

  html[lang="en"] .page-shell section.profile-lead .contact-lines {
    width: min(72vw, 286px) !important;
    margin-top: 12px !important;
  }

  html[lang="en"] .page-shell section.profile-lead .contact-lines dd {
    font-size: 13.5px !important;
    line-height: 1.48 !important;
  }

  html[lang="en"] .page-shell section.profile-lead .contact-lines dd a[data-email-link]:before {
    content: "Email: ";
  }

  html[lang="en"] .page-shell section.profile-lead .contact-lines dd a[data-phone-link]:before {
    content: "Phone: ";
  }
}

@media (min-width: 1121px) and (orientation: landscape)  {
  html[lang="en"] .page-shell .support-section .support-grid {
    grid-template-columns:
      minmax(250px, 1fr)
      minmax(250px, 1fr)
      minmax(250px, 1fr) !important;
    gap: clamp(30px, 2.4vw, 38px) !important;
  }

  html[lang="en"] .page-shell .support-section .support-grid .line-list li,
  html[lang="en"] .page-shell .support-block .line-list li,
  html[lang="en"] .page-shell .work-history .line-list li {
    padding: 14px 0 !important;
    font-size: clamp(15.75px, 0.92vw, 17px) !important;
    line-height: 1.56 !important;
  }

  html[lang="en"] .page-shell .support-section .section-label {
    margin-bottom: 20px !important;
  }
}

.page-shell .resume-history-list,
.page-shell .history-list {
  display: grid;
  gap: 0 !important;
  margin: 0;
  padding-left: 0 !important;
  border-top: 0;
  list-style: none;
}

.page-shell .resume-history-list li,
.page-shell .history-list li {
  display: grid;
  grid-template-columns: minmax(0, 1fr) var(--resume-title-column);
  column-gap: clamp(1.5rem, 3vw, 3rem);
  align-items: baseline;
  padding: 1rem 0 !important;
  padding-left: 0 !important;
  color: var(--text-primary) !important;
  border-bottom: 1px solid var(--line-hairline) !important;
}

.page-shell .resume-history-list li:last-child,
.page-shell .history-list li:last-child {
  border-bottom: 0 !important;
}

.page-shell .resume-history-list li::before,
.page-shell .history-list li::before {
  content: none !important;
  display: none !important;
}

.page-shell .history-organization {
  min-width: 0;
  font-size: var(--resume-organization-size) !important;
  line-height: var(--resume-organization-leading) !important;
  font-weight: var(--resume-organization-weight) !important;
  text-align: left;
  overflow-wrap: normal;
}

.page-shell .history-role {
  min-width: max-content;
  width: max-content;
  max-width: 100%;
  justify-self: end;
  color: var(--text-title);
  font-size: var(--resume-title-size) !important;
  line-height: var(--resume-title-leading) !important;
  font-weight: var(--resume-title-weight) !important;
  text-align: right;
  white-space: normal;
  overflow-wrap: normal;
  word-break: normal;
}

html[lang="en"] .page-shell .history-role {
  font-weight: var(--resume-title-weight-en) !important;
}

html[lang] .page-shell .about-section .split-panel li,
html[lang] .page-shell .about-section .about-panel.dark li {
  font-size: var(--resume-organization-size) !important;
  line-height: var(--resume-organization-leading) !important;
  font-weight: var(--resume-organization-weight) !important;
}

@media (min-width: 861px) and (orientation: landscape)  {
  html[lang] .page-shell .support-section .support-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .page-shell .support-section .work-history {
    grid-column: 1 / -1;
  }
}

@media (max-width: 680px) , (orientation: portrait)  {
  html[lang="zh-CN"] .page-shell .resume-history-list li,
  html[lang="zh-CN"] .page-shell .history-list li {
    grid-template-columns: minmax(0, 1fr) max-content;
    column-gap: clamp(0.625rem, 3vw, 1rem);
    align-items: baseline;
    font-size: clamp(0.8125rem, 3.75vw, 0.9140625rem) !important;
  }

  html[lang="zh-CN"] .page-shell .history-organization,
  html[lang="zh-CN"] .page-shell .history-role {
    font-size: clamp(0.8125rem, 3.75vw, 0.9140625rem) !important;
    line-height: 1.5 !important;
    white-space: normal;
  }

  html[lang="zh-CN"] .page-shell .history-role {
    width: auto;
    text-align: right;
  }

  html[lang="en"] .page-shell .resume-history-list li,
  html[lang="en"] .page-shell .history-list li {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 0.25rem;
    align-items: start;
    padding: 0.875rem 0 !important;
  }

  html[lang="en"] .page-shell .history-role {
    order: -1;
    justify-self: start;
    font-size: 0.9375rem !important;
    line-height: 1.4 !important;
    font-weight: var(--resume-title-weight-en) !important;
    text-align: left;
  }

  html[lang="en"] .page-shell .history-organization {
    color: rgba(21, 21, 21, 0.68);
    font-size: 0.9375rem !important;
    line-height: 1.55 !important;
  }
}

html[lang="en"] .page-shell .profile-document-grid {
  grid-template-columns: minmax(190px, 0.22fr) minmax(0, 0.78fr) !important;
  gap: clamp(44px, 8vw, 112px) !important;
}

html[lang="en"] .page-shell .profile-side-nav {
  display: grid !important;
  gap: 18px !important;
  padding-top: 18px !important;
  border-top: 0 !important;
}

html[lang="en"] .page-shell .profile-side-nav > span {
  padding: 0 !important;
  border-bottom: 0 !important;
  letter-spacing: 0.16em !important;
}

html[lang="en"] .page-shell .profile-side-nav nav {
  gap: 0 !important;
}

html[lang="en"] .page-shell .profile-side-nav a {
  padding: 13px 0 !important;
  border-bottom: 1px solid rgba(21, 21, 21, 0.09) !important;
  color: rgba(21, 21, 21, 0.66) !important;
  line-height: 1.35 !important;
  font-weight: var(--weight-medium) !important;
  transition:
    color var(--motion-fast) var(--ease-standard),
    padding-left var(--motion-fast) var(--ease-standard);
}

html[lang="en"] .page-shell .profile-side-nav a:hover,
html[lang="en"] .page-shell .profile-side-nav a:focus-visible {
  padding-left: 6px !important;
  color: var(--gold) !important;
}

html[lang="en"] .page-shell .profile-content {
  gap: clamp(54px, 7vw, 92px) !important;
}

html[lang="en"] .page-shell .document-section {
  padding-bottom: clamp(52px, 7vw, 84px) !important;
  border-bottom: 1px solid var(--line) !important;
}

html[lang="en"] .page-shell .document-section:last-child {
  padding-bottom: 0 !important;
  border-bottom: 0 !important;
}

html[lang="en"] .page-shell .expertise-section {
  display: grid;
  grid-template-columns: minmax(260px, 0.4fr) minmax(0, 0.6fr);
  gap: clamp(34px, 6vw, 78px);
  align-items: start;
  margin: 0;
  background: transparent;
  color: var(--text-primary);
}

html[lang="en"] .page-shell .expertise-section .expertise-list {
  gap: 0;
}

html[lang="en"] .page-shell .expertise-section .expertise-list li {
  position: relative;
  padding-left: 18px;
  border-bottom-color: var(--line);
  color: var(--text-primary) !important;
}

html[lang="en"] .page-shell .expertise-section .expertise-list li::before {
  content: "";
  position: absolute;
  top: 1.48em;
  left: 0;
  width: 5px;
  height: 5px;
  background: var(--gold);
}

html[lang="en"] .page-shell .support-section .support-grid {
  gap: clamp(28px, 5vw, 60px) !important;
}

@media (min-width: 861px) and (orientation: landscape)  {
  html[lang="en"] .page-shell .support-section .support-grid .line-list li,
  html[lang="en"] .page-shell .work-history .line-list li {
    padding: 17px 0 !important;
    font-size: clamp(18px, 1.06vw, 19px) !important;
    line-height: 1.68 !important;
    font-weight: var(--weight-body) !important;
  }
}

@media (max-width: 860px)  {
  html[lang="en"] .page-shell .profile-document-grid,
  html[lang="en"] .page-shell .expertise-section,
  html[lang="en"] .page-shell .support-grid {
    grid-template-columns: 1fr !important;
  }

  html[lang="en"] .page-shell .profile-side-nav {
    position: static !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 16px !important;
  }
}

@media (max-width: 680px) , (orientation: portrait)  {
  html[lang="en"] .page-shell .profile-side-nav {
    display: none !important;
  }

  html[lang="en"] .page-shell .profile-content {
    gap: 0 !important;
  }

  html[lang="en"] .page-shell .document-section {
    padding: 34px 0 !important;
    border-bottom: 0 !important;
  }

  html[lang="en"] .page-shell .document-section + .document-section {
    padding-top: 23px !important;
    border-top: 1px solid var(--line) !important;
  }

  html[lang="en"] .page-shell .document-section:first-child {
    padding-top: 0 !important;
  }

  html[lang="en"] .page-shell .expertise-section {
    position: relative;
    gap: 18px;
    margin-inline: 0;
    padding-top: 23px !important;
    background: transparent;
  }

  html[lang="en"] .page-shell .expertise-section .expertise-list li {
    padding: 12px 0 !important;
    color: var(--text-primary) !important;
    font-size: clamp(14.5px, 3.9vw, 16px) !important;
    line-height: 1.62 !important;
    font-weight: var(--weight-body) !important;
  }

  html[lang="en"] .page-shell .expertise-section .expertise-list {
    padding-left: 18px !important;
  }

  html[lang="en"] .page-shell .expertise-section .expertise-list li::before {
    content: none;
  }

  html[lang="en"] .page-shell .support-section {
    padding: 0 !important;
    border-bottom: 0 !important;
  }

  html[lang="en"] .page-shell .support-section .support-grid {
    gap: 0 !important;
  }

  html[lang="en"] .page-shell .support-section .line-list li {
    padding: 11px 0 12px !important;
    border-bottom-color: rgba(21, 21, 21, 0.08) !important;
    font-size: clamp(14px, 3.75vw, 15.5px) !important;
    line-height: 1.62 !important;
    font-weight: var(--weight-body) !important;
  }

  html[lang="en"] .page-shell .support-grid .profile-disclosure:first-child {
    border-top: 0 !important;
  }
}

html[lang="en"] .page-shell .about-section .about-grid > .photo-panel + .about-panel .panel-label {
  margin-bottom: 18px;
}

@media (min-width: 821px) and (orientation: landscape)  {
  html[lang="en"] .page-shell .about-section .about-grid > .photo-panel {
    grid-column: 1 / span 3 !important;
  }

  html[lang="en"] .page-shell .about-section .about-grid > .photo-panel + .about-panel {
    grid-column: 4 / span 3 !important;
  }
}

@media (min-width: 821px) and (orientation: landscape) and (max-width: 1100px) , (min-width: 821px) and (orientation: landscape) and (aspect-ratio < 8/5)  {
  html[lang="en"] .page-shell .about-section .about-grid > .photo-panel,
  html[lang="en"] .page-shell .about-section .about-grid > .photo-panel + .about-panel {
    grid-column: 1 / -1 !important;
  }
}

@media (min-width: 821px) and (orientation: landscape) and (max-width: 980px)  {
  html[lang="en"] .page-shell .desktop-home-flow .about-section .about-grid > .split-panel,
  html[lang="en"] .page-shell .desktop-home-flow .about-section .about-grid > .expertise-panel {
    grid-column: 1 / -1 !important;
  }
}

body {
  font-size: var(--type-body);
  line-height: var(--leading-body);
  font-weight: var(--weight-body);
  font-kerning: normal;
  text-rendering: optimizeLegibility;
}

.page-shell p,
.page-shell li,
.page-shell dd {
  font-size: var(--type-body) !important;
  line-height: var(--leading-body) !important;
  font-weight: var(--weight-body) !important;
}

.page-shell .desktop-nav a,
.page-shell .lang-link,
.page-shell .contact-link,
.page-shell .footer-nav a,
.page-shell .btn,
.page-shell .text-link,
.page-shell .section-link,
.page-shell .source-link {
  font-size: var(--type-body-sm) !important;
  line-height: var(--leading-ui) !important;
  font-weight: var(--weight-medium) !important;
  letter-spacing: 0 !important;
}

.page-shell .mobile-primary-nav a {
  font-size: var(--type-subheading) !important;
  line-height: 1.35 !important;
  font-weight: var(--weight-medium) !important;
  letter-spacing: 0 !important;
}

.page-shell .section-label,
.page-shell .panel-label,
.page-shell .footer-label,
.page-shell .section-kicker,
.page-shell .home-contact-kicker,
.page-shell .home-contact-channel > span,
.page-shell .date-block > span,
.page-shell .index-meta > span,
.page-shell .article-meta span,
.page-shell .article-meta strong,
.page-shell .service-detail > span,
.page-shell .service-body > span,
.page-shell .service-body > div > span,
.page-shell .group-heading > span,
.page-shell .case-grid-head span,
.page-shell .case-meta span,
.page-shell .channel-label span,
.page-shell dt {
  font-size: var(--type-label) !important;
  line-height: var(--leading-label) !important;
  font-weight: var(--weight-semibold) !important;
  letter-spacing: 0.11em !important;
  text-transform: uppercase !important;
}

.page-shell .hero h1,
.page-shell .photo-story h1 {
  font-size: var(--type-display) !important;
  line-height: var(--leading-display) !important;
  font-weight: var(--weight-body) !important;
  letter-spacing: -0.02em !important;
}

.page-shell section.profile-lead h1 {
  font-size: var(--type-profile-name) !important;
  line-height: var(--leading-display) !important;
  font-weight: var(--weight-body) !important;
  letter-spacing: -0.02em !important;
}

.page-shell .subpage-hero h1,
.page-shell .page-hero h1 {
  font-size: var(--type-page-title) !important;
  line-height: 1.12 !important;
  font-weight: var(--weight-medium) !important;
  letter-spacing: -0.015em !important;
}

.page-shell .article-title h1 {
  font-size: var(--type-article-title) !important;
  line-height: 1.24 !important;
  font-weight: var(--weight-medium) !important;
  letter-spacing: -0.012em !important;
}

.page-shell .section-heading h2,
.page-shell .section-title h2 {
  font-size: var(--type-section-title) !important;
  line-height: 1.18 !important;
  font-weight: var(--weight-medium) !important;
  letter-spacing: -0.01em !important;
}

.page-shell .case-group-heading h2,
.page-shell .group-heading h2,
.page-shell .article-heading {
  font-size: var(--type-card-title) !important;
  line-height: 1.35 !important;
  font-weight: var(--weight-medium) !important;
  letter-spacing: -0.005em !important;
}

.page-shell .article-subheading,
.page-shell .case-item h3,
.page-shell .service-disclosure h3,
.page-shell .contact-channel h3,
.page-shell .channel-main h3 {
  font-size: var(--type-subheading) !important;
  line-height: 1.48 !important;
  font-weight: var(--weight-medium) !important;
  letter-spacing: 0 !important;
}

.page-shell .timeline-body h3,
.page-shell .index-copy h3,
.page-shell .archive-item strong,
.page-shell .update-list strong,
.page-shell .matter-list strong {
  font-size: var(--type-card-title) !important;
  line-height: 1.44 !important;
  font-weight: var(--weight-medium) !important;
  letter-spacing: 0 !important;
}

.page-shell .service-row h3 {
  font-size: var(--type-feature-title) !important;
  line-height: 1.24 !important;
  font-weight: var(--weight-medium) !important;
  letter-spacing: -0.01em !important;
}

.page-shell .lead-primary {
  font-size: var(--type-lead) !important;
  line-height: 1.5 !important;
  font-weight: var(--weight-medium) !important;
}

.page-shell .lead-secondary,
.page-shell .summary,
.page-shell .profile-summary,
.page-shell .subpage-hero p,
.page-shell .article-hero .summary {
  font-size: var(--type-body-lg) !important;
  line-height: var(--leading-reading) !important;
  font-weight: var(--weight-body) !important;
}

.page-shell .timeline-body p,
.page-shell .index-copy p,
.page-shell .case-scope p,
.page-shell .service-row p,
.page-shell .service-detail p,
.page-shell .service-detail li,
.page-shell .service-body p,
.page-shell .service-body li,
.page-shell .group-heading p,
.page-shell .home-contact-note,
.page-shell .channel-main p {
  font-size: var(--type-body) !important;
  line-height: var(--leading-body) !important;
  font-weight: var(--weight-body) !important;
}

.page-shell .date-block time,
.page-shell .index-meta time {
  font-size: var(--type-subheading) !important;
  line-height: var(--leading-ui) !important;
  font-weight: var(--weight-medium) !important;
}

.page-shell .article-meta,
.page-shell .article-meta time,
.page-shell .index-copy small,
.page-shell .timeline-body small,
.page-shell figcaption,
.page-shell .case-meta,
.page-shell .case-scope dt {
  font-size: var(--type-meta) !important;
  line-height: var(--leading-ui) !important;
  font-weight: var(--weight-body) !important;
}

.page-shell .article-paragraph,
.page-shell .article-body li {
  max-width: 68ch;
  font-size: var(--type-body-lg) !important;
  line-height: var(--leading-reading) !important;
  font-weight: var(--weight-body) !important;
}

.page-shell #bio .prose {
  max-width: 65ch !important;
}

.page-shell #bio .prose p,
.page-shell .expertise-list li,
.page-shell .support-section .line-list li,
.page-shell .publication-disclosure .line-list li {
  font-size: var(--type-body-lg) !important;
  line-height: 1.65 !important;
  font-weight: var(--weight-body) !important;
}

.page-shell .profile-side-nav a {
  font-size: var(--type-body-sm) !important;
  line-height: var(--leading-ui) !important;
  font-weight: var(--weight-medium) !important;
}

.page-shell .profile-side-nav > span {
  font-size: var(--type-label) !important;
  line-height: var(--leading-label) !important;
  font-weight: var(--weight-semibold) !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
}

.page-shell section.profile-lead h1::after {
  font-size: var(--type-body-lg) !important;
  line-height: var(--leading-ui) !important;
  font-weight: var(--weight-medium) !important;
  letter-spacing: 0 !important;
}

.page-shell section.profile-lead .role {
  font-size: var(--type-subheading) !important;
  line-height: 1.55 !important;
  font-weight: var(--weight-medium) !important;
}

.page-shell section.profile-lead .contact-lines dd {
  font-size: var(--type-body-lg) !important;
  line-height: var(--leading-ui) !important;
  font-weight: var(--weight-body) !important;
}

.page-shell .footer-name {
  font-size: clamp(2.25rem, 4vw, 3.625rem) !important;
  line-height: 1 !important;
  font-weight: var(--weight-body) !important;
  letter-spacing: -0.02em !important;
}

.page-shell .footer p,
.page-shell .footer-email {
  font-size: var(--type-body) !important;
  line-height: var(--leading-body) !important;
  font-weight: var(--weight-body) !important;
}

.page-shell .footer-bottom {
  font-size: var(--type-label) !important;
  line-height: 1.55 !important;
  font-weight: var(--weight-body) !important;
}

@media (max-width: 680px) , (orientation: portrait)  {
  :root {
    --type-subheading: 1.125rem;
    --type-card-title: 1.25rem;
    --type-feature-title: 1.5rem;
  }

  .page-shell .article-paragraph,
  .page-shell .article-body li {
    max-width: 100%;
    font-size: var(--type-body-lg) !important;
    line-height: var(--leading-reading) !important;
  }

  .page-shell #bio .prose p,
  .page-shell .expertise-list li,
  .page-shell .support-section .line-list li,
  .page-shell .publication-disclosure .line-list li {
    font-size: var(--type-body) !important;
    line-height: 1.62 !important;
  }

  .page-shell section.profile-lead h1::after,
  .page-shell section.profile-lead .role,
  .page-shell section.profile-lead .contact-lines dd {
    font-size: var(--type-meta) !important;
    line-height: var(--leading-ui) !important;
  }

}

html,
html[lang] {
  font-size: 100% !important;
}

html[lang] .page-shell .hero .lead-primary {
  font-size: var(--type-lead) !important;
  line-height: 1.46 !important;
  font-weight: var(--weight-medium) !important;
}

html[lang] .page-shell section.profile-lead h1 {
  font-size: var(--type-profile-name) !important;
  line-height: var(--leading-display) !important;
  font-weight: var(--weight-body) !important;
}

html[lang] .page-shell .photo-story h1 {
  font-size: var(--type-display) !important;
  line-height: var(--leading-display) !important;
  font-weight: var(--weight-body) !important;
}

.page-shell .context-item h3 {
  font-size: var(--type-card-title) !important;
  line-height: 1.4 !important;
  font-weight: var(--weight-semibold) !important;
  letter-spacing: 0 !important;
}

html[lang] .page-shell #bio .prose p,
html[lang] .page-shell #bio .prose p:first-child,
html[lang] .page-shell .expertise-list li,
html[lang] .page-shell .expertise-section .expertise-list li,
html[lang] .page-shell .support-section .line-list li,
html[lang] .page-shell .support-section .support-grid .line-list li,
html[lang] .page-shell .publication-disclosure .line-list li {
  font-size: var(--type-body-lg) !important;
  line-height: 1.65 !important;
  font-weight: var(--weight-body) !important;
}

@media (max-width: 680px) , (orientation: portrait)  {
  html[lang] .page-shell #bio .prose p,
  html[lang] .page-shell #bio .prose p:first-child,
  html[lang] .page-shell .expertise-list li,
  html[lang] .page-shell .expertise-section .expertise-list li,
  html[lang] .page-shell .support-section .line-list li,
  html[lang] .page-shell .support-section .support-grid .line-list li,
  html[lang] .page-shell .publication-disclosure .line-list li {
    font-size: var(--type-body) !important;
    line-height: 1.62 !important;
    font-weight: var(--weight-body) !important;
  }

}

.page-shell .site-header {
  border-bottom-color: var(--line-hairline) !important;
}

.page-shell .footer-bottom {
  border-top-color: var(--line-structural-dark) !important;
}

.page-shell .case-item,
.page-shell .news-index-item,
.page-shell .archive-item,
.page-shell .service-group,
.page-shell .service-disclosure,
.page-shell .expertise-list li,
.page-shell .line-list li,
.page-shell .profile-side-nav a,
html[lang] .page-shell .resume-history-list li,
html[lang] .page-shell .history-list li {
  border-bottom-color: var(--line-hairline) !important;
}

.page-shell .case-grid,
.page-shell .case-grid-head,
.page-shell .timeline-list,
.page-shell .profile-side-nav,
.page-shell .document-section,
.page-shell .article-meta,
.page-shell .article-actions,
.page-shell .archive-heading {
  border-color: var(--line-structural) !important;
}

.page-shell .timeline-list,
.page-shell .timeline-card:last-child,
.page-shell .mobile-digest .update-list > a:last-child,
.page-shell .news-index-entry:last-child .news-index-item {
  border-bottom: 0 !important;
}

.page-shell .service-row {
  border-bottom-color: var(--line-hairline-dark) !important;
}

.page-shell .service-list {
  border-color: var(--line-structural-dark) !important;
}

.page-shell .text-link {
  border-bottom-color: var(--line-interactive) !important;
}

.page-shell .more-row.dark .text-link {
  border-bottom-color: var(--line-interactive-dark) !important;
}

.page-shell .article-hero,
.page-shell .article-heading {
  border-top: 0 !important;
  border-bottom: 0 !important;
}

.page-shell .article-heading {
  padding-top: 0 !important;
}

html[lang] .page-shell .resume-history-list li,
html[lang] .page-shell .history-list li,
html[lang] .page-shell .support-section .history-list li {
  border-bottom: 1px solid var(--line-hairline) !important;
}

html[lang] .page-shell .resume-history-list li:last-child,
html[lang] .page-shell .history-list li:last-child,
html[lang] .page-shell .support-section .history-list li:last-child {
  border-bottom: 0 !important;
}

@media (max-width: 680px) , (orientation: portrait)  {
  :root {

    --mobile-page-gutter: clamp(20px, 6.15vw, 24px);
    --type-label: 0.75rem;
    --type-meta: 0.8125rem;
    --type-body-sm: 0.875rem;
    --type-body: 1rem;
    --type-body-lg: 1rem;
    --type-subheading: 1.0625rem;
    --type-card-title: 1.1875rem;
    --type-lead: 1.125rem;
    --type-feature-title: 1.25rem;
    --type-section-title: 1.75rem;
    --type-page-title: 2.125rem;
    --type-display: 2.25rem;
    --type-profile-name: 2.125rem;
    --type-article-title: 1.875rem;
    --leading-body: 1.6;
    --leading-reading: 1.72;
    --mobile-space-xs: 0.375rem;
    --mobile-space-sm: 0.75rem;
    --mobile-space-md: 1rem;
    --mobile-space-lg: 1.5rem;
    --mobile-space-xl: 2rem;
  }

  .page-shell .container:not(.contact-channel) {
    width: min(
      calc(100% - var(--mobile-page-gutter) - var(--mobile-page-gutter)),
      680px
    ) !important;
  }

  .page-shell .digest-section,
  .page-shell .contact-channel {
    padding-inline: var(--mobile-page-gutter) !important;
  }

  .page-shell .subpage-hero {
    margin-bottom: var(--mobile-space-sm) !important;
    padding-bottom: 0 !important;
  }

  .page-shell .case-group-heading {
    padding: 18px 0 14px !important;
  }

  .page-shell .case-item {
    gap: var(--mobile-space-xs) !important;
    padding: 14px 0 !important;
  }

  .page-shell .case-item h3,
  .page-shell .service-disclosure h3,
  .page-shell .contact-channel h3,
  .page-shell .channel-main h3,
  .page-shell .article-subheading {
    font-size: var(--type-subheading) !important;
    line-height: 1.42 !important;
  }

  .page-shell .timeline-body h3,
  .page-shell .index-copy h3,
  .page-shell .archive-item strong,
  .page-shell .update-list strong,
  .page-shell .matter-list strong {
    font-size: 1.125rem !important;
    line-height: 1.42 !important;
  }

  .page-shell .news-index-item {
    gap: var(--mobile-space-xs) !important;
    padding: 20px 0 !important;
  }

  .page-shell .service-group {
    padding-top: 18px !important;
    padding-bottom: 18px !important;
  }

  .page-shell .service-group .group-heading {
    padding-top: 0 !important;
    padding-bottom: var(--mobile-space-sm) !important;
  }

  .page-shell .service-disclosure summary {
    min-height: 0 !important;
    padding: 14px 0 !important;
  }

  .page-shell #bio .prose {
    gap: 14px !important;
  }

  .page-shell .expertise-section {
    gap: 14px !important;
  }

  .page-shell .expertise-section .expertise-list li,
  .page-shell .support-section .line-list li {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
  }

  .page-shell .article-hero .summary {
    font-size: var(--type-body-lg) !important;
    line-height: 1.7 !important;
  }

  .page-shell .article-paragraph,
  .page-shell .article-body li,
  .page-shell .article-body > .article-paragraph:first-child {
    font-size: var(--type-body-lg) !important;
    line-height: var(--leading-reading) !important;
  }

  .page-shell .article-heading {
    margin-top: 36px !important;
    margin-bottom: 14px !important;
  }

  .page-shell .article-subheading {
    margin-top: 26px !important;
    margin-bottom: 10px !important;
  }
}

.page-shell .photo-story {
  --text-title: var(--tone-title-dark);
  --text-primary: var(--tone-primary-dark);
  --text-secondary: var(--tone-secondary-dark);
  --text-label: var(--tone-label-dark);
}

.page-shell .photo-story h1 {
  color: var(--text-title) !important;
}

.page-shell .photo-story .section-label {
  color: var(--text-label) !important;
}

.page-shell .photo-story .story-copy p {
  color: var(--text-secondary) !important;
}

@media (max-width: 680px) , (orientation: portrait)  {
  .page-shell .photo-story .story-copy::before,
  .page-shell .photo-story .story-copy::after {
    content: none !important;
    display: none !important;
  }

  .page-shell .date-block time,
  .page-shell .index-meta time {
    font-size: var(--type-meta) !important;
    line-height: var(--leading-ui) !important;
  }

  .page-shell .case-meta span {
    color: var(--text-secondary) !important;
    font-size: var(--type-meta) !important;
    line-height: var(--leading-ui) !important;
    font-weight: var(--weight-body) !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
  }
}

html[lang="zh-CN"] {
  --type-label: 0.875rem;
  --type-meta: 0.9375rem;
  --type-body-sm: 1rem;
  --type-body: clamp(1.125rem, 1.02vw, 1.25rem);
  --type-body-lg: clamp(1.25rem, 1.08vw, 1.3125rem);
  --type-subheading: clamp(1.375rem, 1.2vw, 1.5rem);
  --type-card-title: clamp(1.625rem, 1.35vw, 1.75rem);
  --type-lead: clamp(1.25rem, 1.75vw, 1.6875rem);
  --type-feature-title: clamp(1.5rem, 2.25vw, 2.25rem);
  --type-section-title: clamp(1.75rem, 3vw, 2.5rem);
  --type-page-title: clamp(2.25rem, 3.8vw, 3.375rem);
  --type-display: clamp(2.5rem, 5vw, 4.5rem);
  --type-profile-name: clamp(2.375rem, 4.8vw, 4.25rem);
  --type-article-title: clamp(2rem, 3vw, 2.75rem);
  --type-contact-value: clamp(1.5rem, 3vw, 2.375rem);
  --leading-body: 1.76;
  --leading-reading: 1.84;
}

html[lang="zh-CN"] .page-shell .channel-main :is([data-email-link], [data-phone-link]) {
  font-size: var(--type-contact-value) !important;
}

html[lang="zh-CN"] .page-shell .section-label,
html[lang="zh-CN"] .page-shell .panel-label,
html[lang="zh-CN"] .page-shell .footer-label,
html[lang="zh-CN"] .page-shell .section-kicker,
html[lang="zh-CN"] .page-shell .home-contact-kicker,
html[lang="zh-CN"] .page-shell .profile-side-nav > span {
  letter-spacing: 0.04em !important;
  text-transform: none !important;
}

@media (max-width: 680px) , (orientation: portrait)  {
  html[lang="zh-CN"] {
    --type-label: 0.75rem;
    --type-meta: 0.8125rem;
    --type-body-sm: 0.9375rem;
    --type-body: 1.0625rem;
    --type-body-lg: 1.0625rem;
    --type-subheading: 1.125rem;
    --type-card-title: 1.1875rem;
    --type-lead: 1.1875rem;
    --type-feature-title: 1.3125rem;
    --type-section-title: 1.75rem;
    --type-page-title: 2rem;
    --type-display: 2.25rem;
    --type-profile-name: 2.125rem;
    --type-article-title: 1.875rem;
    --type-mobile-menu: 1.875rem;
    --type-contact-value: clamp(1.375rem, 6vw, 1.625rem);
    --leading-body: 1.72;
    --leading-reading: 1.8;
  }

  html[lang="zh-CN"] .page-shell .mobile-menu a {
    padding-left: 1rem !important;
    font-size: var(--type-mobile-menu) !important;
    line-height: 1.2 !important;
  }

  html[lang="zh-CN"] .page-shell section.profile-lead h1::after {
    font-size: var(--type-body-sm) !important;
    line-height: var(--leading-ui) !important;
  }

  html[lang="zh-CN"] .page-shell section.profile-lead .role {
    max-width: 13em !important;
    font-size: var(--type-body) !important;
    line-height: 1.55 !important;
    font-weight: var(--weight-body) !important;
  }

  html[lang="zh-CN"] .page-shell section.profile-lead .contact-lines dd {
    font-size: var(--type-body-sm) !important;
    line-height: var(--leading-ui) !important;
  }

  html[lang="zh-CN"] .page-shell .timeline-body h3,
  html[lang="zh-CN"] .page-shell .index-copy h3,
  html[lang="zh-CN"] .page-shell .archive-item strong,
  html[lang="zh-CN"] .page-shell .update-list strong,
  html[lang="zh-CN"] .page-shell .matter-list strong {
    font-size: var(--type-card-title) !important;
  }

  html[lang="zh-CN"] .page-shell .footer-bottom {
    font-size: var(--type-label) !important;
  }

  html[lang="zh-CN"] .page-shell .resume-history-list li,
  html[lang="zh-CN"] .page-shell .history-list li {
    column-gap: clamp(0.25rem, 2vw, 0.75rem);
    font-size: clamp(0.84375rem, 4.1vw, 1rem) !important;
  }

  html[lang="zh-CN"] .page-shell .history-organization,
  html[lang="zh-CN"] .page-shell .history-role {
    font-size: clamp(0.84375rem, 4.1vw, 1rem) !important;
  }
}

@media (max-width: 340px)  {
  html[lang="zh-CN"] .page-shell section.profile-lead .role {
    max-width: 10em !important;
  }
}

.page-shell main ul {
  list-style: none !important;
}

.page-shell main ul > li::marker {
  content: "";
}

.page-shell main ul > li::before {
  content: none !important;
  display: none !important;
}

.page-shell main .summary-list.expertise-list {
  padding-left: 0 !important;
}

.page-shell main .expertise-list > li,
.page-shell main .service-detail li {
  padding-left: 0 !important;
}

html[lang] .page-shell .profile-content .expertise-section {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: clamp(26px, 3vw, 38px) !important;
  align-items: start !important;
}

html[lang] .page-shell .profile-content .expertise-section > div {
  min-width: 0;
}

html[lang] .page-shell .profile-content .expertise-section .section-label {
  margin: 0 !important;
  color: var(--text-label) !important;
  font-size: var(--type-body-sm) !important;
  line-height: var(--leading-label) !important;
  font-weight: var(--weight-semibold) !important;
  letter-spacing: 0.12em !important;
}

html[lang] .page-shell .profile-content .expertise-list {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  column-gap: clamp(34px, 5vw, 68px) !important;
  row-gap: clamp(18px, 2.2vw, 30px) !important;
  margin: 0 !important;
  padding: 0 !important;
}

html[lang] .page-shell .profile-content .expertise-list > li {
  min-width: 0;
  padding: 0 !important;
  border: 0 !important;
  color: var(--text-primary) !important;
}

@media (min-width: 861px) and (orientation: landscape) and (max-width: 1179px)  {
  html[lang="en"] .page-shell .profile-content .expertise-list {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

@media (max-width: 680px) , (orientation: portrait)  {
  html[lang] .page-shell .profile-content .expertise-section {
    gap: 20px !important;
  }

  html[lang] .page-shell .profile-content .expertise-list {
    grid-template-columns: minmax(0, 1fr) !important;
    row-gap: 13px !important;
  }
}

html[lang="zh-CN"] .page-shell .section-label,
html[lang="zh-CN"] .page-shell .panel-label,
html[lang="zh-CN"] .page-shell .footer-label,
html[lang="zh-CN"] .page-shell .section-kicker,
html[lang="zh-CN"] .page-shell .home-contact-kicker,
html[lang="zh-CN"] .page-shell .group-heading > span,
html[lang="zh-CN"] .page-shell .subpage-hero h1,
html[lang="zh-CN"] .page-shell .page-hero h1 {
  white-space: normal !important;
}

@media (min-width: 941px) and (orientation: landscape)  {
  html[lang="zh-CN"] .page-shell .about-section .resume-history-list li {
    grid-template-columns: minmax(0, 1fr) max-content !important;
    column-gap: clamp(0.75rem, 1.3vw, 1.125rem) !important;
  }

  html[lang="zh-CN"] .page-shell .about-section .resume-history-list .history-organization {
    white-space: normal !important;
  }
}

@media (min-width: 821px) and (orientation: landscape) and (max-width: 940px)  {
  html[lang="zh-CN"] .page-shell .about-section .about-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

@media (min-width: 821px) and (orientation: landscape)  {
  html[lang="zh-CN"] .page-shell .photo-story-grid {
    grid-template-columns: minmax(0, 1.15fr) minmax(320px, 0.85fr) !important;
  }

  html[lang="zh-CN"] .page-shell .photo-story h1 {
    max-width: 100% !important;
    font-size: clamp(2.75rem, 4.6vw, 3.5rem) !important;
    line-height: 1.12 !important;
  }
}

@media (max-width: 680px) , (orientation: portrait)  {
  html[lang="zh-CN"] .page-shell .photo-story h1 {
    max-width: none !important;
    font-size: 2rem !important;
    line-height: 1.2 !important;
  }
}

.page-shell .services-page .service-group {
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 0 !important;
  padding-top: clamp(24px, 3vw, 36px) !important;
  padding-bottom: clamp(24px, 3vw, 36px) !important;
}

.page-shell .services-page .service-group:not([open]) {
  display: grid !important;
}

.page-shell .services-page .group-heading {
  position: relative;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 10px 24px !important;
  padding: 0 !important;
  cursor: default !important;
}

.page-shell .services-page .service-group:not([open]) .group-heading,
.page-shell .services-page .service-group[open] .group-heading {
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 10px 24px !important;
  padding: 0 !important;
}

.page-shell .services-page .service-group:not([open]) .group-heading > span,
.page-shell .services-page .service-group[open] .group-heading > span {
  display: none !important;
}

.page-shell .services-page .group-heading > h2 {
  grid-column: 1 !important;
  grid-row: 1 !important;
  max-width: 52rem !important;
}

.page-shell .services-page .service-group:not([open]) .group-heading > h2,
.page-shell .services-page .service-group[open] .group-heading > h2 {
  grid-column: 1 !important;
  grid-row: 1 !important;
  max-width: 52rem !important;
}

.page-shell .services-page .group-heading > p {
  grid-column: 1 !important;
  grid-row: 2 !important;
  max-width: 52rem !important;
}

.page-shell .services-page .service-group:not([open]) .group-heading > p,
.page-shell .services-page .service-group[open] .group-heading > p {
  grid-column: 1 !important;
  grid-row: 2 !important;
  max-width: 52rem !important;
  margin-top: 0 !important;
}

.page-shell .services-page .group-toggle {
  display: none !important;
}

.page-shell .services-page .service-group:not([open]) .group-toggle,
.page-shell .services-page .service-group[open] .group-toggle {
  display: none !important;
}

.page-shell .services-page .service-disclosures {
  padding-top: 8px !important;
}

.page-shell .services-page .service-summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  padding: clamp(15px, 2vw, 20px) 0;
}

.page-shell .services-page .service-summary h3 {
  max-width: 52rem;
  margin: 0;
  color: var(--text-title) !important;
}

.page-shell .services-page .service-summary p {
  max-width: 52rem;
  margin: 6px 0 0 !important;
  color: var(--text-secondary) !important;
  font-size: var(--type-body) !important;
  line-height: var(--leading-body) !important;
  font-weight: var(--weight-body) !important;
}

@media (min-width: 901px) and (orientation: landscape)  {
  html[lang="zh-CN"] .page-shell .services-page .group-heading {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  html[lang="zh-CN"] .page-shell .services-page .service-group .group-heading > p {
    width: max-content;
    max-width: min(calc(100% + 4rem), calc(100vw - 2rem)) !important;
  }
}

html[lang] .page-shell .history-role,
html[lang] .page-shell section.profile-lead .role,
html[lang="en"] .page-shell section.profile-lead h1::after {
  font-weight: var(--weight-body) !important;
}

html[lang] .page-shell .history-role {
  color: var(--text-primary) !important;
}

@media (max-width: 680px) , (orientation: portrait)  {
  html[lang="en"] .page-shell .history-role {
    color: rgba(21, 21, 21, 0.68) !important;
  }
}

html[lang] .page-shell section.profile-lead h1::after {
  display: none !important;
}

.page-shell .article-meta {
  padding-top: 0 !important;
  border-top: 0 !important;
}

.page-shell .article-meta > span:first-child {
  display: none !important;
}

@media (min-width: 681px) and (orientation: landscape)  {
  .page-shell .news-index-item {
    grid-template-columns: clamp(110px, 12vw, 170px) minmax(0, 1fr) !important;
    gap: clamp(18px, 2.2vw, 32px) !important;
  }

  .page-shell .news-index-item.has-media {
    grid-template-columns:
      clamp(110px, 12vw, 170px)
      minmax(0, 1fr)
      clamp(150px, 15vw, 210px) !important;
    gap: clamp(18px, 2.2vw, 32px) !important;
  }

  .page-shell .news-index-item.has-media .news-index-media {
    display: block !important;
  }

  .page-shell .news-index-item .index-copy h3,
  .page-shell .news-index-item .index-copy p {
    max-width: none !important;
  }

  .page-shell .news-index-item .index-copy h3 {
    font-size: clamp(21px, 2.05vw, 26px) !important;
    line-height: 1.42 !important;
  }
}

@media (min-width: 681px) and (orientation: landscape) and (max-width: 980px)  {
  .page-shell .news-index-item {
    grid-template-columns:
      clamp(96px, 11vw, 112px)
      minmax(0, 1fr) !important;
    gap: clamp(14px, 1.8vw, 18px) !important;
  }

  .page-shell .news-index-item.has-media {
    grid-template-columns:
      clamp(96px, 11vw, 112px)
      minmax(0, 1fr)
      clamp(132px, 15.5vw, 152px) !important;
  }
}

@media (max-width: 680px) , (orientation: portrait)  {
  .page-shell .article-hero-grid::before {
    content: none !important;
  }
}

.page-shell .article-standard-flow .article-hero {
  padding: clamp(48px, 6vw, 84px) 0 0 !important;
  border-bottom: 0 !important;
  background: var(--paper) !important;
}

.page-shell .article-standard-flow .article-hero-grid {
  display: grid !important;
  width: min(780px, calc(100% - 44px)) !important;
  max-width: 780px !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 0 !important;
  align-items: start !important;
}

.page-shell .article-standard-flow .article-title {
  grid-column: 1 !important;
  grid-row: 1 !important;
  min-width: 0;
  width: 100%;
}

.page-shell .article-standard-flow .article-title h1 {
  width: 100%;
  max-width: none !important;
  margin: 0 !important;
}

.page-shell .article-standard-flow .article-meta {
  grid-column: 1 !important;
  grid-row: 2 !important;
  display: flex !important;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 4px 14px !important;
  min-width: 0;
  width: 100%;
  margin-top: clamp(18px, 2.2vw, 24px);
  padding: 0 0 clamp(26px, 3vw, 34px) !important;
  border: 0 !important;
}

.page-shell .article-standard-flow .article-meta small {
  order: 2;
  flex-basis: auto;
  max-width: none !important;
  color: var(--text-label) !important;
  font-size: var(--type-meta) !important;
  line-height: 1.55 !important;
}

.page-shell .article-standard-flow .article-meta time {
  order: 1;
  color: var(--text-faint) !important;
  font-family: var(--font-body) !important;
  font-size: var(--type-meta) !important;
  line-height: 1.55 !important;
}

.page-shell .article-standard-flow .article-meta strong {
  display: none !important;
}

.page-shell .article-standard-flow .article-reading-grid {
  padding-top: clamp(20px, 3vw, 36px) !important;
}

.page-shell .forum-article .article-figure--feature,
.page-shell .forum-article .article-figure--wide,
.page-shell .forum-article .article-photo-quartet {
  width: 100%;
  margin-left: 0;
  transform: none;
}

.page-shell .forum-article .article-photo-quartet {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(8px, 1.2vw, 14px);
  align-items: start;
  margin-top: clamp(34px, 5vw, 54px);
  margin-bottom: clamp(34px, 5vw, 54px);
}

.page-shell .forum-article .article-photo-quartet__item {
  aspect-ratio: 3 / 2;
  margin: 0;
  overflow: hidden;
  background: var(--retained-navy);
  box-shadow: 0 0 0 1px rgba(5, 21, 33, 0.08);
}

.page-shell .forum-article .article-photo-quartet__item img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.page-shell .forum-article .article-photo-quartet--portrait .article-photo-quartet__item {
  aspect-ratio: 6 / 5;
  background: transparent;
}

.page-shell .forum-article .article-photo-quartet--portrait .article-photo-quartet__item img {
  object-fit: cover;
}

.page-shell .forum-article .article-photo-quartet__caption {
  grid-column: 1 / -1;
  max-width: none;
  margin: 0;
}

.page-shell .article-body figcaption,
.page-shell .article-body .article-photo-quartet__caption {
  color: var(--text-faint) !important;
  font-size: var(--type-meta) !important;
  line-height: var(--leading-ui) !important;
  font-weight: var(--weight-body) !important;
  text-align: center !important;
}

.page-shell .article-standard-flow .article-body {
  font-family: var(--font-body);
}

.page-shell .article-standard-flow .article-body > .article-lead,
.page-shell .article-standard-flow .article-body > .article-paragraph,
.page-shell .article-standard-flow .article-body > ul,
.page-shell .article-standard-flow .article-body > ol {
  max-width: 68ch;
  color: var(--text-primary);
  font-family: var(--font-body) !important;
  font-size: var(--type-body) !important;
  line-height: var(--leading-body) !important;
  font-weight: var(--weight-body) !important;
}

.page-shell .article-standard-flow .article-body > .article-lead {
  margin: 0 0 32px;
}

.page-shell .article-standard-flow .article-body > .article-paragraph {
  margin: 0 0 24px;
}

.page-shell .article-standard-flow .article-body > .article-heading {
  margin: 56px 0 16px !important;
}

.page-shell .article-standard-flow .article-body > .article-figure,
.page-shell .article-standard-flow .article-body > .article-media-pair {
  margin: 32px 0 48px !important;
}

.page-shell .article-standard-flow .article-body figcaption,
.page-shell .article-standard-flow .article-media-pair__caption {
  margin-top: 8px !important;
}

.page-shell .article-media-pair {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(6px, 1vw, 10px);
  width: 100%;
  align-items: start;
}

.page-shell .article-media-pair figure {
  min-width: 0;
  margin: 0;
}

.page-shell .article-media-pair img {
  display: block;
  width: 100%;
  height: auto;
}

.page-shell .article-media-pair__caption {
  grid-column: 1 / -1;
  margin-right: 0;
  margin-bottom: 0;
  margin-left: 0;
  color: var(--text-faint);
  font-size: var(--type-meta);
  line-height: var(--leading-ui);
  text-align: center;
}

.page-shell .article-scope-list {
  max-width: 68ch;
  margin: clamp(24px, 3vw, 34px) 0 clamp(36px, 5vw, 52px);
  padding-left: 1.4em;
}

.page-shell .article-scope-list li + li {
  margin-top: 0.7em;
}

@media (max-width: 680px) , (orientation: portrait)  {
  .page-shell .article-standard-flow .article-hero {
    padding-top: 34px !important;
  }

  .page-shell .article-standard-flow .article-hero-grid {
    width: min(780px, calc(100% - 40px)) !important;
    padding-top: 0 !important;
  }

  .page-shell .article-standard-flow .article-meta {
    gap: 3px 10px !important;
    margin-top: 16px;
    padding-bottom: 24px !important;
  }

  .page-shell .forum-article .article-photo-quartet {
    gap: 6px;
    margin-top: 28px;
    margin-bottom: 30px;
  }

  .page-shell .article-standard-flow .article-body > .article-lead {
    margin-bottom: 24px;
  }

  .page-shell .article-standard-flow .article-body > .article-paragraph {
    margin-bottom: 20px;
  }

  .page-shell .article-standard-flow .article-body > .article-heading {
    margin-top: 40px !important;
    margin-bottom: 12px !important;
  }

  .page-shell .article-standard-flow .article-body > .article-figure,
  .page-shell .article-standard-flow .article-body > .article-media-pair {
    margin-top: 24px !important;
    margin-bottom: 32px !important;
  }

  .page-shell .article-standard-flow .article-media-pair {
    gap: 6px;
  }

  .page-shell .forum-article .article-photo-quartet__caption {
    margin-top: 3px;
  }

}

html[lang] .page-shell .services-page .service-overview-link {
  display: block;
}

html[lang] .page-shell .services-page .service-overview-link .group-heading {
  cursor: pointer !important;
}

html[lang] .page-shell .services-page .service-group .group-heading > .service-entry-action {
  display: inline-flex !important;
  grid-column: 2 !important;
  grid-row: 1 !important;
  align-items: center;
  align-self: center;
  gap: 9px;
  color: var(--text-label) !important;
  font-size: var(--type-meta) !important;
  line-height: 1;
  white-space: normal;
}

html[lang] .page-shell .services-page .service-entry-action::after {
  content: "";
  width: 6px;
  height: 6px;
  border-top: 1px solid currentColor;
  border-right: 1px solid currentColor;
  transform: rotate(45deg);
  transition: transform var(--motion-fast) var(--ease-standard);
}

html[lang] .page-shell .services-page .service-overview-link:hover .service-entry-action::after {
  transform: translateX(2px) rotate(45deg);
}

html[lang] .page-shell .services-page .service-overview-link:focus-visible {
  outline: none !important;
  outline-offset: 6px;
}

@media (max-width: 680px) , (orientation: portrait)  {
  html[lang] .page-shell .services-page .service-overview-link .group-heading {
    grid-template-columns: minmax(0, 1fr) auto !important;
  }
}

html[lang] .page-shell .services-page .service-methods {
  padding: clamp(28px, 3.2vw, 42px) 0 0;
}

html[lang] .page-shell .services-page .service-methods-heading {
  padding-bottom: 14px;
}

html[lang] .page-shell .services-page .service-methods-heading h2 {
  margin: 0;
  color: var(--text-label);
  font-family: var(--font-body);
  font-size: var(--type-label);
  line-height: var(--leading-label);
  font-weight: var(--weight-semibold);
  letter-spacing: 0.1em;
}

html[lang] .page-shell .services-page .service-method-list {
  display: grid;
  border-top: 1px solid var(--line);
}

html[lang] .page-shell .services-page .service-method {
  display: grid;
  grid-template-columns: minmax(220px, 0.34fr) minmax(0, 0.66fr);
  gap: clamp(28px, 4vw, 56px);
  align-items: start;
  padding: clamp(18px, 2vw, 24px) 0;
  border-bottom: 1px solid var(--line);
}

html[lang] .page-shell .services-page .service-method h3 {
  margin: 0;
  color: var(--text-primary);
  font-family: var(--font-body);
  font-size: var(--type-body-lg);
  line-height: var(--leading-body);
  font-weight: var(--weight-body);
}

html[lang] .page-shell .services-page .service-method p {
  max-width: 52rem;
  margin: 0;
  color: var(--text-secondary);
  font-size: var(--type-body);
  line-height: var(--leading-body);
  font-weight: var(--weight-body);
}

@media (max-width: 680px) , (orientation: portrait)  {

  html[lang] .page-shell .services-page .group-heading,
  html[lang] .page-shell .services-page .service-group:not([open]) .group-heading,
  html[lang] .page-shell .services-page .service-group[open] .group-heading {
    grid-template-columns: minmax(0, 1fr) !important;
    column-gap: 0 !important;
  }

  html[lang] .page-shell .services-page .group-heading > p,
  html[lang] .page-shell .services-page .service-group:not([open]) .group-heading > p,
  html[lang] .page-shell .services-page .service-group[open] .group-heading > p {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    max-width: none !important;
  }

  html[lang] .page-shell .services-page .service-methods {
    padding-top: 24px;
  }

  html[lang] .page-shell .services-page .service-methods-heading h2 {
    font-size: var(--type-label);
  }

  html[lang] .page-shell .services-page .service-method {
    grid-template-columns: minmax(0, 1fr);
    gap: 5px;
    padding: 17px 0 18px;
  }

  html[lang] .page-shell .services-page .service-method h3 {
    font-size: var(--type-body);
    line-height: var(--leading-ui);
  }

  html[lang] .page-shell .services-page .service-method p {
    font-size: 15px;
    line-height: 1.7;
  }
}

html[lang="en"] .page-shell .timeline-body h3,
html[lang="en"] .page-shell .case-item h3 {
  font-weight: var(--weight-medium) !important;
}

html[lang] .page-shell [data-profile-disclosure] > summary {
  cursor: default !important;
  pointer-events: none !important;
  list-style: none !important;
}

html[lang] .page-shell [data-profile-disclosure] > summary::-webkit-details-marker {
  display: none !important;
}

html[lang] .page-shell [data-profile-disclosure] > summary::marker {
  content: "" !important;
}

html[lang] .page-shell [data-profile-disclosure] > summary > em {
  display: none !important;
}

html[lang] .page-shell [data-profile-disclosure] > .support-disclosure-body,
html[lang] .page-shell [data-profile-disclosure] > .profile-disclosure-body {
  padding-left: 0 !important;
}

@media (max-width: 680px) , (orientation: portrait)  {
  html[lang] .page-shell .news-index-item .index-copy h3,
  html[lang] .page-shell .mobile-digest .update-list strong,
  html[lang] .page-shell .mobile-digest .matter-list strong {
    font-weight: var(--weight-body) !important;
  }
}

@media (min-width: 981px) and (orientation: landscape)  {
  html[lang="en"] .page-shell .desktop-home-flow .about-section .about-grid {
    grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr) !important;
    column-gap: clamp(44px, 5vw, 72px) !important;
    row-gap: clamp(64px, 6vw, 88px) !important;
    align-items: start !important;
  }

  html[lang="en"] .page-shell .desktop-home-flow .about-section .split-panel {
    display: contents !important;
  }

  html[lang="en"] .page-shell .desktop-home-flow .about-section .about-grid > .photo-panel {
    grid-column: 1 !important;
    grid-row: 1 !important;
    align-self: start !important;
    min-width: 0;
    padding: 0 !important;
    border-top: 0 !important;
  }

  html[lang="en"] .page-shell .desktop-home-flow .about-section .split-panel > div:first-child {
    grid-column: 2 !important;
    grid-row: 1 !important;
    align-self: start !important;
    min-width: 0;
    padding: 0 !important;
    border-top: 0 !important;
  }

  html[lang="en"] .page-shell .desktop-home-flow .about-section .about-grid > .photo-panel + .about-panel {
    grid-column: 1 !important;
    grid-row: 2 !important;
    min-width: 0;
    padding: clamp(24px, 3.4vw, 44px) 0 0 !important;
    border-top: 1px solid var(--line) !important;
  }

  html[lang="en"] .page-shell .desktop-home-flow .about-section .split-panel > div:last-child {
    grid-column: 2 !important;
    grid-row: 2 !important;
    align-self: start !important;
    min-width: 0;
    padding: clamp(24px, 3.4vw, 44px) 0 0 !important;
    border-top: 1px solid var(--line) !important;
  }

  html[lang] .page-shell .desktop-home-flow .about-section .split-panel > div > ul {
    gap: 0 !important;
  }

  html[lang] .page-shell .desktop-home-flow .about-section .split-panel > div > ul > li {
    padding: 1rem 0 !important;
    border-bottom: 1px solid var(--line-hairline) !important;
  }

  html[lang] .page-shell .desktop-home-flow .about-section .split-panel > div > ul > li:last-child {
    border-bottom: 0 !important;
  }

  html[lang="en"] .page-shell .desktop-home-flow .about-section .expertise-panel {
    display: none !important;
  }
}

@media (min-width: 861px) and (orientation: landscape)  {
  html[lang] .page-shell .support-section .support-grid {
    grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr) !important;
    column-gap: clamp(44px, 4.5vw, 68px) !important;
    align-items: start !important;
  }

  html[lang="en"] .page-shell .support-section .support-grid {
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr) !important;
  }
}

@media (min-width: 941px) and (orientation: landscape)  {
  html[lang="zh-CN"] .page-shell .desktop-home-flow .about-section .about-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    column-gap: clamp(32px, 3.2vw, 48px) !important;
    align-items: start !important;
  }

  html[lang="zh-CN"] .page-shell .desktop-home-flow .about-section .about-grid > .photo-panel {
    grid-column: 1 / span 3 !important;
  }

  html[lang="zh-CN"] .page-shell .desktop-home-flow .about-section .about-grid > .photo-panel + .about-panel {
    grid-column: 4 / span 3 !important;
  }

  html[lang="zh-CN"] .page-shell .desktop-home-flow .about-section .about-grid > .split-panel {
    grid-column: 1 / span 4 !important;
    grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr) !important;
    column-gap: clamp(36px, 3.5vw, 52px) !important;
  }

  html[lang="zh-CN"] .page-shell .desktop-home-flow .about-section .about-grid > .dark {
    grid-column: 5 / span 2 !important;
  }
}

@media (max-width: 680px) , (orientation: portrait)  {

  html[lang] .page-shell .hero-copy {
    --mobile-hero-copy-x: 0px !important;
  }

  html[lang] .page-shell section.profile-lead .profile-lead-inner {
    --mobile-profile-portrait: clamp(168px, 46vw, 194px);
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) var(--mobile-profile-portrait) !important;
    gap: clamp(4px, 2vw, 10px) !important;
    align-items: end !important;
    min-height: 0 !important;
    padding-block: 24px 0 !important;
  }

  html[lang] .page-shell section.profile-lead .profile-identity {
    position: static !important;
    inset: auto !important;
    z-index: 2 !important;
    align-self: end !important;
    display: block !important;
    width: auto !important;
    min-width: 0 !important;
    padding: 0 0 18px !important;
  }

  html[lang] .page-shell section.profile-lead h1 {
    width: max-content !important;
    max-width: none !important;
  }

  html[lang] .page-shell section.profile-lead .role {
    max-width: 100% !important;
    margin: 10px 0 0 !important;
  }

  html[lang] .page-shell section.profile-lead .portrait-block {
    position: static !important;
    right: auto !important;
    bottom: auto !important;
    z-index: 1 !important;
    align-self: end !important;
    width: calc(100% + 18px) !important;
    margin: 0 -18px 0 0 !important;
    transform: translateX(28px) !important;
  }

  html[lang] .page-shell section.profile-lead .contact-lines {
    position: relative !important;
    z-index: 3 !important;
    width: min(230px, 66vw) !important;
    max-width: none !important;
    margin-top: 18px !important;
    padding: 0 !important;
    border-top: 0 !important;
  }

  html[lang] .page-shell section.profile-lead .contact-lines dd,
  html[lang] .page-shell section.profile-lead .contact-lines dd a {
    display: block !important;
    max-width: 100% !important;
    white-space: normal !important;
    font-size: 13px !important;
  }

  html[lang="en"] .page-shell section.profile-lead h1 {
    font-size: 1.75rem !important;
    gap: 6px !important;
  }

  html[lang="en"] .page-shell section.profile-lead .role {
    max-width: none !important;
    white-space: normal !important;
    font-size: 0.75rem !important;
  }

  html[lang] .page-shell section.profile-lead h1::after {
    font-size: 0.6875rem !important;
    line-height: 1.2 !important;
    font-weight: var(--weight-body) !important;
  }

  html[lang="zh-CN"] .page-shell section.profile-lead h1::after {
    font-size: 0.625rem !important;
    font-weight: 400 !important;
  }

  html[lang="zh-CN"] .page-shell section.profile-lead h1 {
    font-size: 1.75rem !important;
    gap: 6px !important;
  }

  html[lang="zh-CN"] .page-shell section.profile-lead .role {
    font-size: 0.8125rem !important;
    line-height: 1.55 !important;
    font-weight: var(--weight-body) !important;
    color: rgba(255, 255, 255, 0.70) !important;
  }

  html[lang="zh-CN"] .page-shell section.profile-lead .contact-lines dd,
  html[lang="zh-CN"] .page-shell section.profile-lead .contact-lines dd a {
    color: rgba(255, 255, 255, 0.62) !important;
  }

  html[lang="zh-CN"] .page-shell #bio .prose p {
    width: 100%;
    text-align: left !important;
    text-align-last: auto !important;
    text-justify: auto;
    line-break: loose;
    word-break: normal !important;
    overflow-wrap: normal !important;
    letter-spacing: 0 !important;
    word-spacing: 0 !important;
  }

  html[lang] .page-shell #experience .history-organization,
  html[lang] .page-shell #experience .history-role {
    font-size: var(--type-body) !important;
    line-height: 1.62 !important;
  }
}

@media (max-width: 350px)  {
  html[lang] .page-shell section.profile-lead .profile-lead-inner {
    --mobile-profile-portrait: 150px;
    min-height: 0 !important;
    gap: 4px !important;
  }

  html[lang] .page-shell section.profile-lead h1 {
    max-width: none !important;
  }

  html[lang] .page-shell section.profile-lead .role {
    max-width: 110px !important;
  }

  html[lang="zh-CN"] .page-shell section.profile-lead h1 {
    font-size: 1.75rem !important;
    gap: 6px !important;
  }

  html[lang="en"] .page-shell section.profile-lead h1 {
    font-size: 1.5rem !important;
    gap: 6px !important;
  }
}

.page-shell .contact-page .contact-channel {
  color: var(--ink) !important;
  background: transparent !important;
  border-top: 1px solid var(--line-hairline) !important;
  border-bottom: 1px solid var(--line-hairline) !important;
  padding-block: clamp(1.5rem, 3vw, 2.25rem) !important;
}

.page-shell .contact-page .channel-main :is([data-email-link], [data-phone-link]) {
  color: var(--ink) !important;
}

.page-shell .contact-page .contact-channel .channel-main a:last-child {
  color: var(--tone-secondary-light) !important;
  border-bottom-color: rgba(20, 20, 20, 0.22) !important;
}

.page-shell .contact-page .contact-contexts {
  align-items: start !important;
}

.page-shell .contact-page .context-item h3 {
  color: var(--tone-label-light) !important;
  font-size: var(--type-meta) !important;
  line-height: 1.4 !important;
  font-weight: var(--weight-medium) !important;
  letter-spacing: 0.06em !important;
}

.page-shell .contact-page .context-item p {
  margin-top: 0.625rem !important;
  color: var(--tone-secondary-light) !important;
  font-size: var(--type-body) !important;
  line-height: 1.68 !important;
}

@media (max-width: 680px) , (orientation: portrait)  {
  .page-shell .contact-page .contact-channel {
    --text-title: var(--tone-title-light);
    --text-primary: var(--tone-primary-light);
    --text-secondary: var(--tone-secondary-light);
    --text-label: var(--tone-label-light);
    width: min(
      calc(100% - var(--mobile-page-gutter) - var(--mobile-page-gutter)),
      680px
    ) !important;
    margin: 0 auto 3rem !important;
    padding-block: 0 !important;
    border: 0 !important;
    overflow: visible !important;
  }

  .page-shell .contact-page .contact-contexts {
    gap: 2rem !important;
    padding-top: 0 !important;
    border-top: 0 !important;
  }

  .page-shell .contact-page .context-item {
    padding: 0 !important;
    border-bottom: 0 !important;
  }

  .page-shell .contact-page .context-item h3 {
    font-size: var(--type-meta) !important;
  }

  .page-shell .contact-page .context-item p {
    margin-top: 0.5rem !important;
    font-size: var(--type-body) !important;
    line-height: 1.65 !important;
  }
}

@media (max-width: 680px) , (orientation: portrait)  {
  html[lang="zh-CN"] .page-shell #mobile-profile > :is(.profile-lead, .profile-summary) {
    width: 100% !important;
    max-width: none !important;
    font-size: var(--type-body) !important;
    line-height: 1.62 !important;
    font-weight: var(--weight-body) !important;
    text-align: left !important;
    text-align-last: auto !important;
    text-justify: auto;
    word-break: normal !important;
    line-break: loose !important;
    overflow-wrap: normal !important;
    letter-spacing: 0 !important;
    word-spacing: normal !important;
  }
}

@media (color-gamut: p3)  {
  html[data-browser="safari"] {
    --paper: color(display-p3 1 1 1);
    --paper-raised: color(display-p3 1 1 1);
    --paper-deep: color(display-p3 0.906 0.918 0.925);
    --white: color(display-p3 1 1 1);
    --forest: color(display-p3 0.039 0.133 0.2);
    --forest-2: color(display-p3 0.024 0.09 0.133);
    --gold: color(display-p3 0.4 0.447 0.486);
    --focus-ring-light: color(display-p3 0.035 0.125 0.18 / 0.76);
    --focus-halo-light: color(display-p3 0.035 0.125 0.18 / 0.12);
  }

  html[data-browser="safari"] .page-shell .mobile-menu {
    background:
      linear-gradient(
        145deg,
        color(display-p3 0.035 0.145 0.18),
        color(display-p3 0.018 0.088 0.112) 52%,
        color(display-p3 0.008 0.038 0.048)
      ) !important;
  }

  @media (max-width: 680px) , (orientation: portrait)  {
    html[data-browser="safari"] .page-shell .hero {
      background:
        radial-gradient(
          circle at 84% 34%,
          color(display-p3 0.18 0.27 0.34 / 0.16),
          transparent 42vw
        ),
        linear-gradient(
          155deg,
          color(display-p3 0.026 0.116 0.17),
          color(display-p3 0.014 0.078 0.118) 66%,
          color(display-p3 0.007 0.035 0.052)
        ) !important;
    }

    html[data-browser="safari"] .page-shell .mobile-menu a[aria-current="page"] {
      border-bottom-color: color(display-p3 0.42 0.5 0.56 / 0.78) !important;
    }
  }
}

@keyframes safari-mobile-header-boundary {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@supports (animation-timeline: scroll()) {
  @media (prefers-reduced-motion: no-preference) and (max-width: 680px) , (prefers-reduced-motion: no-preference) and (orientation: portrait)  {
    html[data-browser="safari"] .page-shell .site-header {
      border-bottom-color: transparent !important;
    }

    html[data-browser="safari"] .page-shell .site-header::after {
      content: "" !important;
      display: block !important;
      position: absolute;
      right: max(14px, env(safe-area-inset-right));
      bottom: 0;
      left: max(14px, env(safe-area-inset-left));
      height: 1px;
      background: rgba(255, 255, 255, 0.14);
      opacity: 0;
      pointer-events: none;
      animation: safari-mobile-header-boundary linear both;
      animation-timeline: scroll(root block);
      animation-range: 0 10rem;
    }
  }
}

@supports (padding: max(0px)) {
  @media (max-width: 940px)  {
    .page-shell .site-header {
      min-height: calc(68px + env(safe-area-inset-top)) !important;
      padding-top: env(safe-area-inset-top) !important;
      padding-right: max(16px, env(safe-area-inset-right)) !important;
      padding-left: max(16px, env(safe-area-inset-left)) !important;
    }

    .page-shell .mobile-menu {
      padding-top: calc(112px + env(safe-area-inset-top)) !important;
      padding-right: max(28px, env(safe-area-inset-right)) !important;
      padding-bottom: max(42px, calc(20px + env(safe-area-inset-bottom))) !important;
      padding-left: max(28px, env(safe-area-inset-left)) !important;
    }
  }

  @media (max-width: 680px) , (orientation: portrait)  {
    :root {
      --mobile-safe-left: max(var(--mobile-page-gutter), env(safe-area-inset-left));
      --mobile-safe-right: max(var(--mobile-page-gutter), env(safe-area-inset-right));
    }

    .page-shell .site-header {
      padding-right: max(10px, env(safe-area-inset-right)) !important;
      padding-left: max(14px, env(safe-area-inset-left)) !important;
    }

    .page-shell .container:not(.contact-channel),
    .page-shell .contact-page .contact-channel {
      width: min(
        calc(100% - var(--mobile-safe-left) - var(--mobile-safe-right)),
        680px
      ) !important;
    }

    html[lang] .page-shell .contact-page > .subpage-hero {
      padding-right: var(--mobile-safe-right) !important;
      padding-left: var(--mobile-safe-left) !important;
    }

    .page-shell .contact-page .contact-channel {
      padding-right: 0 !important;
      padding-left: 0 !important;
    }

    .page-shell .digest-section,
    .page-shell .contact-channel {
      padding-right: var(--mobile-safe-right) !important;
      padding-left: var(--mobile-safe-left) !important;
    }

    .page-shell .mobile-menu {
      padding-right: var(--mobile-safe-right) !important;
      padding-bottom: max(42px, calc(20px + env(safe-area-inset-bottom))) !important;
      padding-left: var(--mobile-safe-left) !important;
    }

    .page-shell .footer {
      padding-bottom: calc(18px + env(safe-area-inset-bottom)) !important;
    }
  }
}

@media (hover: none) and (pointer: coarse)  {
  .page-shell :where(a[href], button, summary) {
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
  }

  .page-shell :where(
    .btn,
    .contact-link,
    .menu-button,
    .about-gallery-dots button,
    .mobile-hero-gallery-dots button
  ):active {
    opacity: 0.86 !important;
    filter: none !important;
  }

  .page-shell :where(
    .lang-link,
    .text-link,
    .section-link,
    .mobile-menu a,
    .footer-nav a,
    .footer-email,
    .news-index-item,
    .archive-item,
    .timeline-card,
    .case-item,
    .group-heading
  ):active {
    opacity: 0.76 !important;
  }
}

@media (max-width: 680px) , (orientation: portrait)  {

  html[lang="zh-CN"] .page-shell .hero .lead,
  .page-shell .hero .lead-primary {
    max-width: none !important;
  }

  html[lang="zh-CN"] .page-shell .hero .lead-primary {
    word-break: normal !important;
  }

}

@media (max-width: 780px)  {

  html[lang] .page-shell .case-item .case-scope p {
    display: block !important;
    overflow: visible !important;
    -webkit-box-orient: initial !important;
    -webkit-line-clamp: unset !important;
  }
}

@media (min-width: 781px) and (orientation: landscape) and (max-width: 940px)  {
  html[lang] .page-shell .case-grid-head > :nth-child(3) {
    display: none !important;
  }
}

@media (max-width: 940px)  {
  html[lang] .page-shell .mobile-menu a,
  html[lang] .page-shell .mobile-menu a:hover,
  html[lang] .page-shell .mobile-menu a:active,
  html[lang] .page-shell .mobile-menu a:focus-visible,
  html[lang] .page-shell .mobile-menu a[aria-current="page"],
  html[data-browser="safari"][lang] .page-shell .mobile-menu a[aria-current="page"] {
    outline: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    border-bottom-color: rgba(255, 255, 255, 0.18) !important;
  }

  html[lang] .page-shell .mobile-menu a:last-child {
    border-bottom: 0 !important;
  }
}

@media (prefers-reduced-motion: reduce)  {
  ::view-transition-group(root),
  ::view-transition-group(site-header),
  ::view-transition-old(root),
  ::view-transition-new(root),
  ::view-transition-old(site-header),
  ::view-transition-new(site-header) {
    animation-duration: 1ms !important;
  }
}

html[lang] .page-shell .profile-document .profile-content .document-section .section-label {
  color: var(--text-label) !important;
  font-size: var(--type-label) !important;
  line-height: var(--leading-label) !important;
  font-weight: var(--weight-semibold) !important;
  letter-spacing: 0.11em !important;
  text-transform: uppercase !important;
  text-align: left !important;
}

html[lang="en"] .page-shell .desktop-home-flow .about-section .split-panel > div:first-child > ul > li,
html[lang="en"] .page-shell .desktop-home-flow .about-section .split-panel > div:last-child > ul > li,
html[lang="en"] .page-shell #appointments .support-list > li,
html[lang="en"] .page-shell #credentials .support-list > li {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  row-gap: 0.3rem !important;
}

html[lang="en"] .page-shell .desktop-home-flow .about-section .split-panel > div:first-child .support-primary,
html[lang="en"] .page-shell .desktop-home-flow .about-section .split-panel > div:last-child .support-primary,
html[lang="en"] .page-shell #appointments .support-primary,
html[lang="en"] .page-shell #credentials .support-primary {
  display: block;
  color: inherit !important;
  font-size: inherit !important;
  line-height: inherit !important;
  font-weight: inherit !important;
  letter-spacing: inherit !important;
}

html[lang="en"] .page-shell .desktop-home-flow .about-section .split-panel > div:first-child .support-secondary,
html[lang="en"] .page-shell .desktop-home-flow .about-section .split-panel > div:last-child .support-secondary,
html[lang="en"] .page-shell #appointments .support-secondary,
html[lang="en"] .page-shell #credentials .support-secondary {
  display: block;
  color: var(--text-faint) !important;
  font-size: inherit !important;
  line-height: inherit !important;
  font-weight: inherit !important;
  letter-spacing: inherit !important;
}

html[lang="en"] .page-shell #appointments .support-separator,
html[lang="en"] .page-shell #credentials .support-separator {
  display: none !important;
}

@media (max-width: 680px) , (orientation: portrait)  {
  html[lang] .page-shell :is(#bio, #expertise, #experience, #appointments, #credentials) {
    scroll-margin-top: 7rem;
  }

  html[lang] .page-shell #bio > .section-label,
  html[lang] .page-shell #expertise > div,
  html[lang] .page-shell [data-profile-disclosure] > summary {
    margin-left: 0 !important;
    padding-left: 0 !important;
  }

  html[lang="en"] .page-shell #experience .history-list li,
  html[lang="en"] .page-shell #appointments .support-list li,
  html[lang="en"] .page-shell #credentials .support-list li {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 0.25rem !important;
    padding: 1rem 0 !important;
  }

  html[lang="en"] .page-shell #experience .history-role,
  html[lang="en"] .page-shell #appointments .support-primary,
  html[lang="en"] .page-shell #credentials .support-primary {
    display: block;
    color: var(--text-title) !important;
    font-size: 1rem !important;
    line-height: 1.42 !important;
    font-weight: var(--weight-medium) !important;
    letter-spacing: -0.005em;
    text-align: left !important;
  }

  html[lang="en"] .page-shell #experience .history-organization,
  html[lang="en"] .page-shell #appointments .support-secondary,
  html[lang="en"] .page-shell #credentials .support-secondary {
    display: block;
    color: var(--text-secondary) !important;
    font-size: 0.9375rem !important;
    line-height: 1.55 !important;
    font-weight: var(--weight-body) !important;
    letter-spacing: 0;
    text-align: left !important;
  }

  html[lang="en"] .page-shell #appointments .support-separator,
  html[lang="en"] .page-shell #credentials .support-separator {
    display: none;
  }

  html[lang="en"] .page-shell #experience .history-role {
    order: -1;
    justify-self: start;
    width: auto;
    min-width: 0;
    white-space: normal;
  }

  html[lang="en"] .page-shell #experience .history-organization,
  html[lang="en"] .page-shell #appointments .support-secondary,
  html[lang="en"] .page-shell #credentials .support-secondary {
    max-width: none;
  }

  html[lang="en"] .page-shell #experience .profile-disclosure-body,
  html[lang="en"] .page-shell #appointments .profile-disclosure-body,
  html[lang="en"] .page-shell #credentials .profile-disclosure-body {
    padding-left: 0 !important;
  }

  html[lang="en"] .page-shell #appointments .support-primary,
  html[lang="en"] .page-shell #appointments .support-secondary,
  html[lang="en"] .page-shell #credentials .support-primary,
  html[lang="en"] .page-shell #credentials .support-secondary {
    font-size: inherit !important;
    line-height: inherit !important;
    font-weight: inherit !important;
    letter-spacing: inherit !important;
  }

  html[lang="en"] .page-shell #appointments .support-primary,
  html[lang="en"] .page-shell #credentials .support-primary {
    color: inherit !important;
  }

  html[lang="en"] .page-shell #appointments .support-secondary,
  html[lang="en"] .page-shell #credentials .support-secondary {
    color: var(--text-faint) !important;
  }
}

@media (max-width: 680px) , (orientation: portrait)  {
  html[lang] .page-shell .news-index-item .index-meta time {
    color: rgba(20, 20, 20, 0.48) !important;
    font-size: 0.8125rem !important;
    line-height: 1.5 !important;
    font-weight: var(--weight-medium) !important;
    letter-spacing: 0.04em !important;
  }

  html[lang] .page-shell .news-index-item .index-copy h3 {
    color: rgba(20, 20, 20, 0.82) !important;
    font-size: var(--type-subheading) !important;
    line-height: 1.52 !important;
    font-weight: var(--weight-body) !important;
    letter-spacing: 0.005em !important;
  }

  html[lang] .page-shell .news-index-item {
    border-bottom-color: rgba(70, 82, 92, 0.14) !important;
  }

  html[lang] .page-shell .news-index-media {
    border-radius: var(--radius-ui) !important;
    background: rgba(70, 82, 92, 0.035) !important;
    box-shadow: 0 0 0 1px rgba(70, 82, 92, 0.08) !important;
  }

  html[lang] .page-shell .news-index-media img {
    filter: saturate(0.86) contrast(1.01) !important;
  }
}

html[lang] .page-shell {
  --type-article-title: clamp(2rem, 2.8vw, 2.75rem);
}

@media (max-width: 680px) , (orientation: portrait)  {
  html[lang="en"] .page-shell .news-page > .subpage-hero h1 {
    font-size: 2rem !important;
  }

  html[lang] .page-shell {
    --type-article-title: clamp(1.75rem, 7.5vw, 1.875rem);
  }
}

.page-shell {
  background: var(--paper) !important;
  background-image: none !important;
}

html[lang="zh-CN"] .page-shell :where(
  .hero h1,
  section.profile-lead h1,
  .photo-story h1,
  .subpage-hero h1,
  .page-hero h1,
  .article-title h1,
  .section-heading h2,
  .section-title h2,
  .case-group-heading h2,
  .group-heading h2,
  .article-heading,
  .article-subheading,
  .case-item h3,
  .timeline-body h3,
  .index-copy h3
) {
  letter-spacing: 0 !important;
}

html[lang="zh-CN"] .page-shell :where(
  .section-label,
  .panel-label,
  .footer-label,
  .section-kicker,
  .home-contact-kicker,
  .home-contact-channel > span,
  .date-block > span,
  .index-meta > span,
  .article-meta span,
  .article-meta strong,
  .service-detail > span,
  .service-body > span,
  .service-body > div > span,
  .group-heading > span,
  .case-grid-head span,
  .case-meta span,
  .channel-label span,
  dt
) {
  letter-spacing: 0.04em !important;
  text-transform: none !important;
}

html[lang="en"] .page-shell :where(
  .hero h1,
  section.profile-lead h1,
  .photo-story h1
) {
  letter-spacing: -0.025em !important;
}

html[lang="en"] .page-shell :where(
  .subpage-hero h1,
  .page-hero h1,
  .article-title h1,
  .section-heading h2,
  .section-title h2
) {
  letter-spacing: -0.022em !important;
}

html[lang="zh-CN"] .page-shell :where(
  .timeline-body h3,
  .index-copy h3,
  .case-item h3,
  .archive-item strong,
  .update-list strong,
  .matter-list strong
) {
  font-weight: var(--weight-medium) !important;
}

html[lang="zh-CN"] .page-shell .article-paragraph,
html[lang="zh-CN"] .page-shell .article-body li {
  max-width: 42em;
  line-break: strict;
}

html[lang="zh-CN"] .page-shell #bio .prose {
  max-width: 44em !important;
}

html[lang="en"] .page-shell #bio .prose {
  max-width: 66ch !important;
}

.page-shell :where(
  .about-section,
  .cases-preview
) {
  background: rgba(255, 255, 255, 0.42) !important;
}

.page-shell .mobile-digest {
  background: var(--paper) !important;
  background-image: none !important;
}

.page-shell .digest-section.profile {
  background: var(--white) !important;
  background-image: none !important;
}

.page-shell .archive-media picture {
  background: var(--paper-deep) !important;
  background-image: none !important;
}

.page-shell :is(.recognition-strip, .recognition-strip-mobile) {
  background: var(--paper-deep) !important;
  background-image: none !important;
  border-color: var(--line-hairline) !important;
}

.page-shell :where(
  .home-contact,
  .news-page,
  .services-page,
  .contact-page,
  .photo-archive,
  .article
) {
  background: var(--paper) !important;
}

.page-shell .case-page {
  background: var(--paper) !important;
  background-image: none !important;
}

.page-shell .article-hero {
  background: var(--paper-raised) !important;
}

html[lang] .page-shell section.profile-lead,
html[lang] .page-shell .photo-story,
html[lang] .page-shell .subpage-hero {
  background: var(--masthead-surface) !important;
  background-image: none !important;
}

.page-shell .footer {
  background: #050f17 !important;
}

.page-shell .news-index-media,
.page-shell .timeline-card .media-slot {
  border-radius: var(--radius-ui) !important;
  background: rgba(23, 27, 32, 0.035) !important;
  box-shadow: inset 0 0 0 1px var(--line-hairline) !important;
}

.page-shell .news-index-media img,
.page-shell .timeline-card .media-slot img {
  filter: saturate(0.88) contrast(1.015) !important;
}

.page-shell .news-index-item {
  display: grid !important;
  align-items: center !important;
  padding: clamp(24px, 3.2vw, 38px) 0 !important;
  border-bottom: 1px solid var(--line-hairline) !important;
}

.page-shell .news-index-item .index-meta,
.page-shell .news-index-item .index-copy {
  display: grid;
  align-content: center;
  gap: 8px;
}

.page-shell .news-index-item .index-copy :where(h3, p) {
  margin: 0 !important;
}

html[lang="zh-CN"] .page-shell .news-index-item .index-copy h3 {
  font-size: var(--type-card-title) !important;
  line-height: 1.48 !important;
}

html[lang="en"] .page-shell .news-index-item .index-copy h3 {
  font-size: clamp(1.375rem, 1.7vw, 1.5rem) !important;
  line-height: 1.42 !important;
}

@media (min-width: 681px) and (orientation: landscape)  {
  html[data-browser="chromium"] .page-shell .site-header,
  html[data-browser="safari"] .page-shell .site-header,
  .page-shell .site-header {
    background: rgba(248, 250, 251, 0.955) !important;
    border-bottom-color: var(--line-hairline) !important;
  }

  .page-shell .hero {
    background:
      linear-gradient(
        135deg,
        rgba(255, 255, 255, 0.52),
        rgba(229, 230, 227, 0.22)
      ) !important;
  }

  .page-shell .news-index-item,
  .page-shell .news-index-item.has-media {
    display: grid !important;
  }
}

@media (min-width: 941px) and (orientation: landscape)  {
  html[data-browser="chromium"] .page-shell .site-header,
  html[data-browser="safari"] .page-shell .site-header,
  .page-shell .site-header {
    --text-title: var(--tone-title-dark);
    --text-primary: var(--tone-primary-dark);
    --text-secondary: var(--tone-secondary-dark);
    --text-label: var(--tone-label-dark);
    --text-faint: var(--tone-faint-dark);
    --focus-ring: var(--focus-ring-dark);
    --focus-halo: var(--focus-halo-dark);
    color: var(--text-primary) !important;
    background: var(--masthead-surface) !important;
    border-bottom-color: transparent !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    box-shadow: none !important;
  }

  .page-shell .site-header::after {
    content: none !important;
  }

  .page-shell .site-header .brand-logo-dark {
    display: none !important;
  }

  .page-shell .site-header .brand-logo-light {
    display: block !important;
  }

  .page-shell .site-header :is(.desktop-nav a, .lang-link) {
    color: rgba(255, 255, 255, 0.76) !important;
  }

  .page-shell .site-header :is(.desktop-nav a, .lang-link):hover,
  .page-shell .site-header .desktop-nav a[aria-current="page"] {
    color: rgba(255, 255, 255, 0.98) !important;
  }

  .page-shell .site-header .desktop-nav a::after {
    background: rgba(255, 255, 255, 0.72) !important;
  }

  .page-shell .site-header .desktop-nav a[aria-current="page"]::after {
    transform: scaleX(1);
  }

  .page-shell .site-header .contact-link {
    border: 1px solid rgba(255, 255, 255, 0.34) !important;
    background: transparent !important;
    color: rgba(255, 255, 255, 0.96) !important;
  }

  .page-shell .site-header .contact-link:hover,
  .page-shell .site-header .contact-link:focus-visible {
    border-color: rgba(255, 255, 255, 0.96) !important;
    background: rgba(255, 255, 255, 0.96) !important;
    color: #051521 !important;
  }
}

@media (min-width: 681px) and (orientation: landscape) and (max-width: 940px)  {
  html[lang] .page-shell .site-header {
    --text-title: var(--tone-title-dark);
    --text-primary: var(--tone-primary-dark);
    --text-secondary: var(--tone-secondary-dark);
    --text-label: var(--tone-label-dark);
    --text-faint: var(--tone-faint-dark);
    --focus-ring: var(--focus-ring-dark);
    --focus-halo: var(--focus-halo-dark);
    color: var(--text-primary) !important;
    background: var(--masthead-surface) !important;
    border-bottom-color: transparent !important;
  }

  .page-shell .site-header .brand-logo-dark {
    display: none !important;
  }

  .page-shell .site-header .brand-logo-light {
    display: block !important;
  }

  .page-shell .site-header .lang-link,
  .page-shell .site-header .menu-button {
    color: rgba(255, 255, 255, 0.96) !important;
  }

  .page-shell .site-header .menu-button span {
    background: rgba(255, 255, 255, 0.96) !important;
  }
}

@media (max-width: 680px) , (orientation: portrait)  {

  html[lang] .page-shell .site-header {
    background: var(--masthead-surface) !important;
    border-bottom-color: transparent !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
  }

  :root {
    --leading-body: 1.66;
    --leading-reading: 1.76;
  }

  html[lang="zh-CN"] {
    --leading-body: 1.72;
    --leading-reading: 1.8;
  }

  .page-shell .hero {
    background: linear-gradient(155deg, var(--forest), var(--forest-2) 72%) !important;
  }

  .page-shell .news-index-item .index-copy p {
    display: none !important;
  }

  html[lang] .page-shell .news-index-item .index-copy h3 {
    color: var(--text-title) !important;
    font-size: 1.125rem !important;
    line-height: 1.5 !important;
    font-weight: var(--weight-body) !important;
    letter-spacing: 0 !important;
  }

  html[lang] .page-shell .news-index-item .index-meta time {
    color: var(--text-label) !important;
    letter-spacing: 0.02em !important;
  }

  html[lang] .page-shell .news-index-item {
    border-bottom-color: var(--line-structural) !important;
    padding: 20px 0 !important;
  }
}

html[lang] {
  --navy: #091e2d;
  --navy-raised: #102c3e;
  --navy-deep: #061620;
  --silver: #b9c7d1;
  --ink: #142c3d;
  --muted: #53606a;
  --quiet: #65717b;
  --paper: #ffffff;
  --paper-raised: #f5f7f8;
  --paper-deep: #edf1f3;
  --forest: #091e2d;
  --forest-2: #061620;
  --retained-navy: #091e2d;

  --masthead-light-core: 0%;
  --masthead-light-falloff: 35%;
  --masthead-surface: radial-gradient(ellipse 120% 120% at 100% 0%, #193b53 var(--masthead-light-core), var(--navy-raised) var(--masthead-light-falloff), var(--navy) 75%, var(--navy-deep) 100%);
  --masthead-top-surface: var(--masthead-surface);

  --browser-chrome: #112e41;
  --contact-surface: linear-gradient(110deg, #092031 0%, #123249 100%);
  --footer-surface: linear-gradient(110deg, #051420 0%, #0c2739 100%);
  --navigation-panel-surface: linear-gradient(115deg, #0d2538 0%, #16354c 100%);
  --navigation-selected-surface: linear-gradient(105deg, rgba(202, 225, 239, .13), rgba(202, 225, 239, .045));
  --control-surface: linear-gradient(110deg, #edf3f7, #dce8f0);
  --control-hover-surface: linear-gradient(110deg, #f5f9fb, #e6f0f6);
  --control-pressed-surface: linear-gradient(110deg, #d7e5ee, #c7dae7);

  --neutral-card-surface: linear-gradient(110deg, #ffffff 0%, #ffffff 35%, #f5f6f7 62%, #e1e4e7 100%);
  --neutral-inset-surface: linear-gradient(95deg, #e5e8ed 0%, #f6f8fb 100%);
  --neutral-career-surface: var(--neutral-card-surface);
  --practice-surface: linear-gradient(110deg, #ffffff 0%, #f7f8f9 65%, #eef0f2 100%);
  --home-profile-surface: linear-gradient(100deg, #fafbfc 0%, #f1f3f6 100%);

  --news-canvas: #e9edf0;
  --news-card-surface: var(--neutral-card-surface);
  --news-related-surface: transparent;
  --home-updates-surface: var(--news-canvas);
  --reading-canvas: #f7f9fb;
  --gold: #aebfca;

  --gutter: clamp(28px, 5.5vw, 96px);
  --measure: 1240px;
  --radius-ui: 4px;

  --tone-title-light: #142c3d;
  --tone-primary-light: #344b5b;
  --tone-secondary-light: #53606a;
  --tone-label-light: #5b6b76;
  --tone-faint-light: #65717b;
  scroll-padding-top: 100px;
}

@media (width <= 680px)  {
  html[lang] {
    --browser-chrome: #071827;
    --mobile-masthead-join: #0a1d2c;
    --masthead-top-surface: linear-gradient(180deg, var(--browser-chrome) 0%, #081a29 50%, var(--mobile-masthead-join) 100%);
    --masthead-surface: linear-gradient(180deg, var(--mobile-masthead-join) 0%, #102a3b 55%, #143247 100%);
    --navigation-selected-surface: linear-gradient(180deg, rgba(202, 225, 239, .05), rgba(202, 225, 239, .02));
  }
}
@layer institutional {
  @media (width <= 680px)  {
    html[lang] body { background-color: var(--browser-chrome) !important; }
  }
}

@media (width > 680px)  {
  html[lang] { --masthead-light-core: 5%; --masthead-light-falloff: 42%; }
}
@media (min-width: 1101px) and (min-aspect-ratio: 8/5)  {
  html[lang] { --masthead-light-core: 9%; --masthead-light-falloff: 48%; }
}

@layer institutional {
  @media (max-width: 1100px) , (aspect-ratio < 8/5)  {

    html[lang] .page-shell .mobile-menu a,
    html[lang] .page-shell .mobile-menu a:is(:hover, :active, :focus, :focus-visible, [aria-current="page"]) {
      color: var(--menu-link-color, #8e9da7) !important;
      background: transparent !important;
      outline: none !important;
      box-shadow: none !important;
      text-decoration: none !important;
      -webkit-tap-highlight-color: transparent;
    }
    html[lang] .page-shell .mobile-menu a[aria-current="page"] {
      background: var(--menu-current-bg, transparent) !important;
      color: var(--menu-current-color, #fff) !important;
    }
    @media (hover: hover) and (pointer: fine)  {
      html[lang] .page-shell .mobile-menu a:hover:not([aria-current="page"]) {
        color: var(--menu-hover-color, #c4cfd7) !important;
      }
    }
    html[lang] .page-shell .mobile-menu:has(a:active) a:not(:active) {
      color: var(--menu-dim-color, #7e909d) !important;
    }
    html[lang] .page-shell .mobile-menu a:active {
      color: var(--menu-current-color, #fff) !important;
    }
    html[lang] .page-shell .mobile-menu a:focus-visible {
      color: var(--menu-current-color, #fff) !important;
      text-decoration: underline !important;
      text-decoration-thickness: 1px !important;
      text-underline-offset: 0.3em;
    }
  }

  .page-shell .article-standard-flow { --article-measure: 780px; --article-gutter: 20px; }
  .page-shell .article-standard-flow :is(.article-hero-grid, .article-reading-grid) {
    width: min(var(--article-measure), calc(100% - var(--article-gutter) * 2)) !important;
    max-width: var(--article-measure) !important;
    margin-inline: auto !important;
    padding-inline: 0 !important;
  }
  .page-shell .article-standard-flow .article-body { width: 100% !important; max-width: none !important; min-width: 0 !important; margin-inline: 0 !important; }
  .page-shell .article-standard-flow .article-body > :is(.article-lead, .article-paragraph, .article-heading, .article-subheading, ul, ol, blockquote, table, .article-figure, .article-media-pair, .article-photo-quartet, .article-actions) {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin-inline: 0 !important;
    box-sizing: border-box !important;
  }
  .page-shell .article-standard-flow .article-body li { max-width: none !important; }
  .page-shell .article-standard-flow .article-body > :is(.article-figure, .article-media-pair, .article-photo-quartet) { left: auto !important; right: auto !important; transform: none !important; }
  .page-shell .article-standard-flow .article-figure img { width: 100% !important; max-width: 100% !important; }

  .page-shell .article .article-actions { border-top-color: transparent !important; }
  @media (min-width: 681px) and (orientation: landscape)  {
    .page-shell .article .article-actions > .text-link {
      display: flex !important;
      width: 100% !important;
      padding-bottom: 4px !important;
      border-bottom: 0 !important;
    }
  }

 @media (min-width: 681px) and (orientation: landscape)  {
  .page-shell .article-standard-flow { --article-gutter: var(--gutter); }
  body { background: #fff !important; }
  .page-shell { background: #fff !important; color: var(--ink) !important; }
  .page-shell .container {
    width: min(var(--measure), calc(100% - var(--gutter) * 2)) !important;
    max-width: var(--measure) !important;
    margin-inline: auto !important;
  }
  .page-shell :is(header, section, article, aside, footer, nav, ul, ol, li, div, p, span, figure, a, summary, details) {
    border: 0 !important;
    box-shadow: none !important;
  }
  .page-shell :is(.subpage-hero, .hero, .hero-copy, .article-hero-grid, .site-header, .section-heading, .desktop-nav a, .text-link, .case-meta)::before,
  .page-shell :is(.subpage-hero, .hero-copy, .article-hero-grid, .site-header, .section-heading, .desktop-nav a, .text-link, .case-meta)::after {
    content: none !important;
  }
  .page-shell :is(.hero-portrait, .desktop-about-gallery, .mobile-hero-gallery) { animation: none !important; }
  .page-shell :is(.section, .profile-document) { padding-block: 100px !important; }
  .page-shell .section-heading { margin-bottom: 44px !important; }
  .page-shell .section-heading h2 { color: var(--ink) !important; }

  .page-shell .site-header {
    position: sticky !important; top: 0 !important; z-index: 100;
    display: grid !important; grid-template-columns: 1fr auto auto !important;
    align-items: center !important; gap: 48px !important;
    min-height: 88px !important; height: 88px !important;
    padding: 0 var(--gutter) !important;
    color: #e7edf1 !important; background: var(--masthead-surface) !important;
    backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
  }
  .page-shell .brand { width: 98px !important; height: 54px !important; opacity: 1 !important; visibility: visible !important; transform: none !important; }
  .page-shell .brand-logo-dark { display: none !important; }
  .page-shell .brand-logo-light { display: block !important; opacity: 1 !important; }
  .page-shell .desktop-nav { display: flex !important; gap: 30px !important; }
  .page-shell .desktop-nav a { padding: 14px 0 !important; color: #adbdc8 !important; background: none !important; }
  .page-shell .desktop-nav a[aria-current="page"] { color: #fff !important; }
  .page-shell .header-actions { gap: 22px !important; }
  .page-shell .lang-link { color: #b9c7d1 !important; padding: 14px 4px !important; }
  .page-shell .contact-link { background: #203a4c !important; color: #fff !important; padding: 12px 20px !important; border-radius: 0 !important; min-height: 42px !important; }
  .page-shell .menu-button { border: 0 !important; }

  .page-shell .hero {
    height: min(740px, calc(100svh - 88px)) !important; min-height: 590px !important;
    padding: 0 !important; color: #fff !important;
    background: var(--masthead-surface) !important;
    --text-title: #fff; --text-primary: #d3dde4; --text-secondary: #b3c3cf;
  }
  .page-shell .hero-grid {
    display: grid !important; grid-template-columns: 1.1fr 0.9fr !important;
    align-items: center !important; height: 100% !important; min-height: 0 !important;
    gap: 64px !important;
  }
  .page-shell .hero-copy { padding: 0 0 58px !important; align-self: center !important; }
  .page-shell .hero h1 {
    display: flex !important; align-items: baseline !important; flex-wrap: wrap;
    gap: 22px !important; margin: 0 0 28px !important;
      color: #f4f6f8 !important;
  }
  .page-shell .hero h1 small { color: #adbecb !important; }
  .page-shell .hero .hero-role-line { color: #b8c6d0 !important; margin: 0 !important; }
  .page-shell .hero .lead { margin: 40px 0 0 !important; max-width: 23em !important; }
  .page-shell .hero .lead-primary { color: #e0e7ec !important; }

  .page-shell .hero .hero-portrait { align-self: end !important; height: 94% !important; width: 100% !important; display: flex; align-items: flex-end !important; transform: none !important; }
  .page-shell .hero :is(.portrait-frame, .portrait-frame picture) { width: 100% !important; height: 100% !important; display: flex !important; align-items: flex-end !important; background: transparent !important; }
  .page-shell .hero .portrait-frame img { width: 100% !important; height: 100% !important; object-fit: contain !important; object-position: center bottom !important; transform: none !important; filter: none !important; }
  @media (min-width: 1101px) and (min-aspect-ratio: 8/5)  {
    html[lang] .page-shell .hero .hero-portrait {
      transform: scale(1.1) !important;
      transform-origin: center bottom;
    }
  }
  .page-shell .button-row { display: flex !important; flex-wrap: wrap; align-items: center; gap: 30px !important; margin-top: 38px !important; }
  .page-shell .btn { display: inline-flex !important; align-items: center; justify-content: center; min-height: 50px !important; padding: 14px 25px !important; border: 0 !important; border-radius: 0 !important; background: #edf1f4 !important; color: var(--navy) !important; transform: none !important; }
  .page-shell .btn.secondary { background: transparent !important; color: #e6edf2 !important; padding-inline: 0 !important; }
  .page-shell .btn.secondary::after { content: "→" !important; display: inline !important; margin-left: 18px; transition: transform 200ms ease; }

  .page-shell .about-section { background: #fff !important; }
  .page-shell .about-grid { display: grid !important; grid-template-columns: 1fr 1.16fr !important; gap: 48px 76px !important; }
  .page-shell .about-panel { grid-column: auto !important; grid-row: auto !important; padding: 0 !important; background: transparent !important; }
  .page-shell .about-panel.photo-panel { grid-column: 1 !important; }
  .page-shell .about-credentials { grid-column: 1 / -1 !important; min-width: 0; background: #f1f4f6 !important; border-radius: var(--radius-ui); overflow: hidden; }
  .page-shell .about-panel.split-panel { display: grid !important; grid-template-columns: 1fr 1.16fr !important; gap: 64px !important; padding: 40px !important; }
  .page-shell .about-panel.split-panel > div { grid-column: auto !important; grid-row: auto !important; margin: 0 !important; padding: 0 !important; }
  .page-shell .about-panel.split-panel .panel-label { margin-bottom: 24px !important; }
  .page-shell .about-panel.split-panel ul { display: grid !important; gap: 20px !important; margin: 0 !important; }
  .page-shell .about-panel.split-panel li { padding: 0 !important; align-content: start !important; }
  html[lang="zh-CN"] .page-shell .about-panel.split-panel > div:first-child { grid-column: 2 !important; grid-row: 1 !important; }
  html[lang="zh-CN"] .page-shell .about-panel.split-panel > div:last-child { grid-column: 1 !important; grid-row: 1 !important; }
  .page-shell .about-panel:is(.dark, .expertise-panel) { display: grid !important; grid-template-columns: 180px minmax(0, 1fr) !important; gap: 28px !important; padding: 32px 40px !important; background: var(--navy) !important; }
  .page-shell .about-panel:is(.dark, .expertise-panel) .panel-label { color: #edf3f7 !important; margin: 0 !important; }
  .page-shell .about-panel:is(.dark, .expertise-panel) ul { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 20px 24px !important; align-content: start; margin: 0 !important; }
  .page-shell .about-panel:is(.dark, .expertise-panel) li { color: #c9d9e4 !important; padding: 0 !important; }

  @supports (grid-template-rows: subgrid) {
    @media (min-width: 901px) and (orientation: landscape)  {
      html[lang="en"] .page-shell .about-panel.split-panel { grid-template-rows: auto repeat(5, auto) !important; row-gap: 20px !important; }
      html[lang="en"] .page-shell .about-panel.split-panel > div { display: grid !important; grid-template-rows: subgrid !important; grid-row: 1 / span 6 !important; }
      html[lang="en"] .page-shell .about-panel.split-panel > div:first-child { grid-column: 1 !important; }
      html[lang="en"] .page-shell .about-panel.split-panel > div:last-child { grid-column: 2 !important; }
      html[lang="en"] .page-shell .about-panel.split-panel ul { display: contents !important; }
      html[lang="en"] .page-shell .about-panel.split-panel .panel-label { margin-bottom: 4px !important; }
    }
  }
  .page-shell :is(.panel-label, .section-label) { display: block; color: var(--ink) !important; margin: 0 0 24px !important; }
  .page-shell :is(.about-panel li, .line-list li) { padding: 10px 0 !important; color: #455563 !important; }
  .page-shell :is(.history-list, .resume-history-list) { display: block !important; margin: 0 !important; }
  .page-shell :is(.history-list, .resume-history-list) li { display: grid !important; grid-template-columns: minmax(0, 1fr) auto !important; gap: 28px !important; padding: 11px 0 !important; }
  .page-shell :is(.history-list, .resume-history-list) li::before { content: none !important; }
  .page-shell .history-role { color: #687883 !important; }
  .page-shell .desktop-about-gallery { height: auto !important; aspect-ratio: auto !important; overflow: visible !important; }
  .page-shell .about-gallery-media { position: relative !important; aspect-ratio: 3 / 2 !important; height: auto !important; border-radius: 0 !important; }
  .page-shell .about-gallery-controls { position: static !important; padding: 12px 0 0 !important; background: none !important; }
  .page-shell .about-gallery-arrows { display: flex !important; gap: 8px; }
  .page-shell .about-gallery-arrows button { background: #edf1f4 !important; border: 0 !important; border-radius: 0 !important; color: #19384c !important; min-width: 44px !important; min-height: 44px !important; }

  .page-shell :is(.recognition-strip, .recognition-strip-mobile) { background: #f1f4f6 !important; padding: 40px 0 !important; overflow: hidden !important; }
  .page-shell .recognition-shell { width: min(var(--measure), calc(100% - var(--gutter) * 2)) !important; margin-inline: auto !important; }
  .page-shell :is(.recognition-rows, .recognition-row, .recognition-track, .recognition-set, .recognition-mobile-set) { width: 100% !important; min-width: 0 !important; max-width: 100% !important; flex: none !important; }
  .page-shell .recognition-rows { display: block !important; }
  .page-shell .recognition-row { mask-image: none !important; -webkit-mask-image: none !important; }
  .page-shell .recognition-row:not(:first-child), .page-shell .recognition-set[aria-hidden="true"], .page-shell .recognition-mobile-line:not(:first-child) { display: none !important; }
  .page-shell .recognition-track { width: 100% !important; animation: none !important; transform: none !important; }
  .page-shell .recognition-set { display: grid !important; grid-template-columns: repeat(5, minmax(0, 1fr)) !important; gap: 20px 38px !important; width: 100% !important; padding: 0 !important; }
  .page-shell .recognition-logo { width: 100% !important; min-width: 0 !important; height: 48px !important; padding: 8px !important; }
  .page-shell .recognition-logo img { max-width: min(150px, 100%) !important; max-height: 34px !important; object-fit: contain !important; filter: grayscale(1) !important; opacity: 0.7 !important; transform: none !important; }

  .page-shell .cases-preview { background: var(--footer-surface) !important; color: #e8edf1 !important; --text-title: #edf2f5; --text-primary: #cad5dd; --text-secondary: #b3c3ce; }
  .page-shell .cases-preview .section-heading h2 { color: #eef3f6 !important; }
  .page-shell .case-grid-head { display: none !important; }
  .page-shell .case-grid { display: grid !important; gap: 40px !important; background: none !important; }
  .page-shell .case-item { background: none !important; border-radius: 0 !important; padding: 0 !important; transform: none !important; }
  .page-shell .case-meta { display: flex !important; flex-wrap: wrap; gap: 6px 16px !important; }

  .page-shell .case-item h3 { max-width: none !important; margin: 0 !important; color: var(--ink) !important; }
  .page-shell .case-scope { display: block !important; }
  .page-shell .case-scope p { margin: 0 !important; color: #5b6b77 !important; }
  .page-shell .cases-preview .case-grid { grid-template-columns: 1fr 1fr !important; gap: 60px 96px !important; }
  .page-shell .cases-preview .case-item { display: flex !important; flex-direction: column; gap: 18px !important; }
  .page-shell .cases-preview .case-item h3 { order: 1; color: #edf2f5 !important; }
  .page-shell .cases-preview .case-meta { order: 2; color: #8ea7b8 !important; }
  .page-shell .cases-preview .case-scope { order: 3; }
  .page-shell .cases-preview .case-scope p { color: #b4c4cf !important; }
  .page-shell .more-row { margin-top: 42px !important; }
  .page-shell .text-link { display: inline-flex !important; align-items: center; gap: 18px; color: #2d526b !important; padding: 10px 0 !important; text-decoration: none !important; }
  .page-shell a.text-link::after { content: "→" !important; display: inline !important; position: static !important; background: none !important; transition: transform 200ms ease; }
  .page-shell .cases-preview .text-link { color: #e2ebf1 !important; }

  .page-shell .timeline-list { display: grid !important; grid-template-columns: 1fr !important; gap: 36px !important; background: none !important; }
  .page-shell .timeline-card { display: grid !important; grid-template-columns: 104px minmax(0, 1fr) !important; align-items: start !important; gap: 36px !important; padding: 0 !important; background: none !important; transform: none !important; }
  .page-shell .timeline-card:has(.media-slot) { grid-template-columns: 104px minmax(0, 1fr) 216px !important; }
  .page-shell .timeline-card .date-block { grid-column: 1 !important; grid-row: 1 !important; padding: 4px 0 0 !important; }
  .page-shell .timeline-card .date-block time { color: #5f7380 !important; }
  .page-shell .timeline-card .timeline-body { align-self: start !important; grid-column: 2 !important; grid-row: 1 !important; min-width: 0 !important; width: 100% !important; }
  .page-shell .timeline-body h3 { margin: 0 !important; color: var(--ink) !important; width: auto !important; max-width: 100% !important; white-space: normal !important; overflow-wrap: anywhere; }
  .page-shell .timeline-body p { margin: 14px 0 0 !important; color: #596b78 !important; }
  .page-shell .timeline-card .media-slot { grid-column: 3 !important; grid-row: 1 !important; align-self: start !important; width: 100% !important; height: auto !important; aspect-ratio: 3 / 2 !important; margin: 0 !important; border-radius: 0 !important; background: #edf1f4 !important; }
  .page-shell :is(.media-slot, .news-index-media) img { width: 100% !important; height: 100% !important; object-fit: cover !important; filter: none !important; transition: transform 500ms ease !important; }

  .page-shell :is(.case-page, .news-page, .services-page, .contact-page) { padding: 0 !important; background: #fff !important; }
  .page-shell :is(.case-page, .news-page, .services-page, .contact-page) > .subpage-hero {
    width: 100% !important; max-width: none !important; min-height: 0 !important;
    margin: 0 !important; padding: 70px max(var(--gutter), calc((100vw - var(--measure)) / 2)) 76px !important;
    background: var(--masthead-surface) !important; --text-title: #eef3f6; --text-primary: #c4d1db; --text-secondary: #b2c3cf;
  }
  .page-shell .subpage-hero h1 { color: #edf2f6 !important; margin: 0 !important; max-width: 17em !important; }
  .page-shell .subpage-hero p { max-width: 820px !important; margin: 24px 0 0 !important; color: #b3c4d0 !important; }
  .page-shell .grouped-cases { display: grid !important; gap: 76px !important; padding-block: 72px 104px !important; }
  .page-shell .case-group { position: relative; padding: 0 0 0 29% !important; margin: 0 !important; }
  .page-shell .case-group-heading { position: absolute !important; left: 0; top: 0; width: 23%; padding: 0 !important; }
  .page-shell .case-group-heading h2 { color: var(--ink) !important; }
  .page-shell .case-group:not([open]) { min-height: 90px; }
  .page-shell .case-group-body { padding: 0 !important; }
  .page-shell .case-group .case-grid { grid-template-columns: 1fr !important; gap: 32px !important; }
  .page-shell .case-group .case-item { display: grid !important; grid-template-columns: 0.95fr 1.1fr !important; gap: 12px 36px !important; }
  .page-shell .case-group .case-item h3 { grid-column: 1; grid-row: 1; }
  .page-shell .case-group .case-meta { grid-column: 1; grid-row: 2; color: #5f7380 !important; }
  .page-shell .case-group .case-scope { grid-column: 2; grid-row: 1 / 3; }

  .page-shell .archive-section { padding-block: 72px 104px !important; }
  .page-shell .news-index-list { display: grid !important; gap: 50px !important; }
  .page-shell .news-index-item, .page-shell .news-index-item.has-media { display: grid !important; grid-template-columns: 114px minmax(0, 1fr) 230px !important; gap: 36px !important; align-items: start !important; padding: 0 !important; background: none !important; transform: none !important; }
  .page-shell .news-index-item:not(.has-media) { grid-template-columns: 114px minmax(0, 1fr) !important; }
  .page-shell .news-index-item .index-meta time { color: #5f7380 !important; }
  .page-shell .news-index-item .index-copy h3 { color: var(--ink) !important; }
  .page-shell .news-index-item .index-copy p { margin-top: 14px !important; color: #5b6c78 !important; }
  .page-shell .news-index-media { margin: 0 !important; width: 100% !important; height: auto !important; aspect-ratio: 3 / 2 !important; border-radius: 0 !important; align-self: start !important; }

  .page-shell .services-page .service-groups { padding-block: 30px 80px !important; }
  .page-shell .services-page .service-group { margin: 0 !important; padding: 0 !important; }
  .page-shell .services-page .service-overview-link { display: block !important; margin-inline: -32px !important; padding: 42px 32px !important; transition: background-color 220ms ease !important; }
  .page-shell .services-page .service-overview-link .group-heading { display: grid !important; grid-template-columns: 0.94fr 1.2fr 62px !important; gap: 44px !important; align-items: start !important; padding: 0 !important; }
  .page-shell .services-page .service-group .group-heading h2 { grid-column: 1 !important; grid-row: 1 !important; color: var(--ink) !important; }
  .page-shell .services-page .service-group .group-heading p { grid-column: 2 !important; grid-row: 1 !important; width: auto !important; max-width: none !important; margin: 0 !important; color: #566b79 !important; }
  .page-shell .services-page .service-group .group-heading .service-entry-action { grid-column: 3 !important; grid-row: 1 !important; padding-top: 8px !important; }
  .page-shell .services-page .service-methods { display: grid !important; grid-template-columns: 0.65fr 1.4fr !important; gap: 76px !important; padding-top: 42px !important; }

  .page-shell .services-page .service-method-list { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 42px 56px !important; }
  .page-shell .services-page .service-method { display: block !important; padding: 0 !important; }
  .page-shell .services-page .service-method h3 { margin-bottom: 18px !important; }
  .page-shell .services-page .service-method p { color: #566b79 !important; }

  .page-shell section.profile-lead { background: var(--masthead-surface) !important; padding: 40px 0 0 !important; height: auto !important; min-height: 0 !important; }
  .page-shell section.profile-lead .profile-lead-inner { grid-template-columns: 1.2fr 0.8fr !important; gap: 72px !important; height: auto !important; min-height: 440px !important; align-items: center !important; }
  .page-shell section.profile-lead .profile-identity { position: static !important; padding: 0 0 52px !important; align-self: center !important; transform: none !important; }
  .page-shell section.profile-lead h1 { color: #edf2f6 !important; margin: 0 0 24px !important; }
  .page-shell section.profile-lead .role { color: #bdcbd5 !important; }
  .page-shell section.profile-lead :is(.contact-lines dt, .contact-lines dd, .contact-lines a, .summary) { color: #b1c2cf !important; }
  .page-shell section.profile-lead .contact-lines { margin-top: 30px !important; }
  .page-shell section.profile-lead .contact-lines > div { display: grid !important; grid-template-columns: 48px minmax(0, 1fr) !important; gap: 12px !important; align-items: baseline !important; }

  .page-shell section.profile-lead .contact-lines dd { margin: 0 !important; }
  .page-shell section.profile-lead .portrait-block { align-self: end !important; width: 100% !important; height: 440px !important; margin: 0 !important; transform: none !important; }
  .page-shell section.profile-lead .portrait-block picture, .page-shell section.profile-lead .portrait-block picture img { width: 100% !important; height: 100% !important; object-fit: contain !important; object-position: center bottom !important; transform: none !important; }
  .page-shell .profile-document-grid { grid-template-columns: 220px minmax(0, 1fr) !important; gap: 92px !important; }
  .page-shell .profile-side-nav { top: 118px !important; }
  .page-shell .profile-side-nav > span { display: none !important; }
  .page-shell .profile-side-nav a { display: block !important; color: #5f7380 !important; padding: 12px 0 !important; background: none !important; }
  .page-shell .profile-side-nav a[aria-current="location"] { color: #122f44 !important; }
  .page-shell .profile-content { display: grid !important; gap: 56px !important; }
  @media (min-width: 1101px) and (min-aspect-ratio: 8/5)  {
    html[lang="en"] .page-shell .profile-page #bio .prose { max-width: 780px !important; }
    html[lang="en"] .page-shell .profile-content .prose p { margin: 0 0 32px !important; }
    html[lang="en"] .page-shell .profile-content .prose p:last-child { margin-bottom: 0 !important; }
  }
  .page-shell .document-section { padding: 0 !important; margin: 0 !important; }
  .page-shell .document-section.expertise-section { display: block !important; }
  .page-shell .expertise-section .expertise-list { gap: 12px 48px !important; }
  .page-shell .expertise-section .expertise-list li { padding: 6px 0 !important; }
  .page-shell :is(.document-section, .support-disclosure) { scroll-margin-top: 24px !important; }
  .page-shell .document-section .section-label { margin-bottom: 24px !important; }
  .page-shell #bio .prose { max-width: none !important; }
  .page-shell .prose { display: block !important; margin: 0 !important; }
  .page-shell .prose p { color: #465b6a !important; margin: 0 0 24px !important; }
  .page-shell .prose p:last-child { margin-bottom: 0 !important; }
  .page-shell .support-grid { gap: 48px !important; }
  .page-shell .support-disclosure summary .section-label { margin: 0 !important; }
  .page-shell .support-disclosure-body { padding-top: 20px !important; }

  .page-shell .article-standard-flow .article-hero { background: var(--masthead-surface) !important; padding: 64px 0 36px !important; }
  .page-shell .article-title h1 { color: var(--ink) !important; }
  .page-shell .article-standard-flow .article-meta { padding: 0 !important; margin-top: 26px !important; }
  .page-shell .article-body :is(.article-paragraph, li) { color: #3c5262 !important; }
  .page-shell .article-body .article-heading { margin-top: 48px !important; }

  .page-shell .home-contact { padding-block: 76px !important; background: var(--contact-surface) !important; }
  .page-shell .home-contact-grid { grid-template-columns: 0.9fr 1.25fr !important; gap: 20px 72px !important; align-items: start !important; }
  .page-shell .home-contact-kicker { grid-column: 1; grid-row: 1 / 3; color: #edf3f6 !important; }
  .page-shell .home-contact-channel { grid-column: 2; display: grid !important; gap: 12px !important; }
  .page-shell .home-contact-channel > span { color: #95adbe !important; }
  .page-shell .home-contact-channel a { color: #edf3f6 !important; }
  .page-shell .home-contact-channel a::after { content: none !important; }
  .page-shell .home-contact-note { grid-column: 2; color: #acc0ce !important; }
  .page-shell .contact-channel { display: block !important; padding-block: 72px 64px !important; margin-block: 0 !important; }
  .page-shell .channel-label { display: none !important; }
  .page-shell .channel-main { display: grid !important; gap: 20px !important; justify-items: start; }
  .page-shell .channel-main a { color: var(--ink) !important; }
  .page-shell .channel-main a:last-child { margin-top: 8px !important; color: #42647a !important; }
  .page-shell .contact-contexts { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: 64px !important; padding: 0 0 96px !important; }
  .page-shell .context-item { padding: 0 !important; background: none !important; }
  .page-shell .context-item h3 { color: var(--ink) !important; margin-bottom: 18px !important; }
  .page-shell .context-item p { color: #5d6e7a !important; }
  .page-shell .footer { background: var(--footer-surface) !important; padding: 68px 0 26px !important; }
  .page-shell .footer-grid { grid-template-columns: 1.25fr 0.9fr 1fr !important; gap: 64px !important; }
  .page-shell .footer-name { color: #d9e3eb !important; }
  .page-shell .footer-grid p { color: #8fa4b3 !important; margin-top: 18px !important; }
  .page-shell .footer-label { color: #8097a7 !important; margin-bottom: 18px !important; }
  .page-shell .footer-nav { display: grid !important; grid-template-columns: repeat(2, max-content) !important; gap: 14px 38px !important; }
  .page-shell :is(.footer-nav a, .footer-email) { color: #bdccd6 !important; }
  .page-shell .footer-bottom { color: #78909f !important; margin-top: 54px !important; padding-top: 0 !important; }

  @media (hover: hover)  {
    .page-shell :is(.desktop-nav a, .lang-link):hover { color: #fff !important; }
    .page-shell .contact-link:hover { background: #315267 !important; }
    .page-shell .btn:not(.secondary):hover { background: #fff !important; }
    .page-shell :is(.btn.secondary, .text-link):hover::after { transform: translateX(5px); }
    .page-shell .services-page .service-overview-link:hover { background: #f1f5f7 !important; }
    .page-shell :is(.timeline-card, .news-index-item):hover h3 { color: #426c85 !important; }
    .page-shell :is(.timeline-card, .news-index-item):hover img { transform: scale(1.025) !important; }
    .page-shell .recognition-logo:hover img { opacity: 1 !important; }
    .page-shell .profile-side-nav a:hover { color: #122f44 !important; }
  }
  .page-shell :is(a, button, summary, [tabindex]):focus-visible { outline: none !important; outline-offset: 5px !important; }

  @media (max-width: 1100px) , (aspect-ratio < 8/5)  {
    .page-shell .site-header { grid-template-columns: 1fr auto !important; gap: 24px !important; }
    .page-shell .desktop-nav { display: none !important; }
    .page-shell .menu-button { display: flex !important; flex-direction: column; justify-content: center; gap: 6px; padding: 10px !important; width: 44px !important; height: 44px !important; color: #fff !important; background: transparent !important; }
    .page-shell .menu-button span { height: 2px !important; width: 24px !important; background: #d4e0e8 !important; }
    .page-shell .mobile-menu { position: fixed !important; inset: 88px 0 0 !important; height: calc(100dvh - 88px) !important; padding: 42px var(--gutter) !important; background: var(--navy) !important; flex-direction: column; justify-content: flex-start; gap: 8px; overflow-y: auto !important; transform: none !important; }
    .page-shell .mobile-menu[data-open] { display: flex !important; opacity: 1 !important; visibility: visible !important; }
    .page-shell .mobile-menu a { color: #8faabc !important; padding: 12px 0 !important; }
    .page-shell .mobile-menu a[aria-current="page"] { color: #fff !important; background: none !important; }
    .page-shell .hero-grid { gap: 36px !important; }

    .page-shell .about-grid { gap: 40px !important; }
    .page-shell .about-panel.split-panel { gap: 32px !important; padding: 28px !important; }
    .page-shell .about-panel:is(.dark, .expertise-panel) { grid-template-columns: 1fr !important; gap: 18px !important; padding: 24px 28px !important; }
    .page-shell .about-panel:is(.dark, .expertise-panel) ul { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
    html[lang="en"] .page-shell :is(.history-list, .resume-history-list) li { grid-template-columns: 1fr !important; gap: 4px !important; }
    html[lang="en"] .page-shell .history-organization { order: 1 !important; }
    html[lang="en"] .page-shell .history-role { order: 2 !important; justify-self: start !important; text-align: left !important; }
    .page-shell .timeline-list { gap: 32px !important; }
    .page-shell .timeline-card { grid-template-columns: 88px minmax(0, 1fr) !important; gap: 24px !important; }
    .page-shell .timeline-card:has(.media-slot) { grid-template-columns: 88px minmax(0, 1fr) 164px !important; }

    .page-shell .news-index-item.has-media { grid-template-columns: 92px 1fr 170px !important; gap: 24px !important; }
    .page-shell .services-page .service-overview-link .group-heading { grid-template-columns: 0.9fr 1.2fr 54px !important; gap: 24px !important; }
    .page-shell .profile-document-grid { display: block !important; }
    .page-shell .profile-side-nav { position: static !important; margin-bottom: 36px !important; }
    .page-shell .profile-side-nav nav { display: flex !important; flex-wrap: wrap; gap: 4px 28px !important; }
    .page-shell .profile-side-nav a { padding: 8px 0 !important; }
    .page-shell .case-group { padding: 0 !important; }
    .page-shell .case-group-heading { position: static !important; width: 100% !important; margin-bottom: 28px !important; }
    .page-shell .footer-grid { gap: 32px !important; }
  }

  @media (max-width: 900px)  {
    .page-shell .about-credentials .about-panel.split-panel { grid-template-columns: minmax(0, 1fr) !important; gap: 32px !important; }
    html[lang] .page-shell .about-credentials .split-panel > div { grid-column: 1 !important; }
    html[lang="zh-CN"] .page-shell .about-credentials .split-panel > div:first-child { grid-row: 2 !important; }
    html[lang="zh-CN"] .page-shell .about-credentials .split-panel > div:last-child { grid-row: 1 !important; }
  }

  @media (prefers-reduced-motion: reduce)  {
    html { scroll-behavior: auto !important; }
    .page-shell *, .page-shell *::before, .page-shell *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  }
}
}

@layer institutional {
 @media (min-width: 681px) and (orientation: landscape)  {
  .page-shell :is(.news-page, :is(#news, #updates)) { background: var(--news-canvas) !important; }
  .page-shell :is(#news, #updates) .section-heading { margin-bottom: 32px !important; }
  .page-shell :is(#news, #updates) .more-row { margin-top: 24px !important; }
  .page-shell .news-page > .subpage-hero { padding-block: 44px 48px !important; }
  .page-shell .news-page .archive-section { padding-block: 36px 72px !important; }
  .page-shell :is(.news-page .news-index-list, :is(#news, #updates) .timeline-list) {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 16px !important;
    align-items: start !important;
  }
  .page-shell .news-page .news-index-entry { min-width: 0; }
  .page-shell :is(.news-page .news-index-item, :is(#news, #updates) .timeline-card),
  .page-shell :is(.news-page .news-index-item.has-media, :is(#news, #updates) .timeline-card:has(.media-slot)),
  .page-shell :is(.news-page .news-index-item:not(.has-media), :is(#news, #updates) .timeline-card:not(:has(.media-slot))) {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: auto minmax(0, 1fr) !important;
    grid-template-areas: "meta" "copy" !important;
    gap: 8px 28px !important;
    align-items: start !important;
    padding: 24px 28px !important;
    background: var(--news-item-surface, var(--news-card-surface)) !important;
    border: 0 !important;
    border-radius: var(--radius-ui) !important;
    box-shadow: none !important;
    overflow: hidden !important;
  }
  .page-shell :is(.news-page .news-index-item.has-media, :is(#news, #updates) .timeline-card:has(.media-slot)) {
    grid-template-columns: minmax(0, 1fr) 224px !important;
    grid-template-areas: "meta media" "copy media" !important;
  }
  .page-shell :is(.news-page .news-index-item .index-meta, :is(#news, #updates) .timeline-card .date-block) {
    grid-area: meta !important;
    display: flex !important;
    flex-direction: row !important;
    justify-content: flex-start !important;
    align-items: center !important;
    gap: 16px !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .page-shell :is(.news-page .news-index-item .index-meta, :is(#news, #updates) .timeline-card .date-block) span { display: inline !important; color: #526575 !important; }
  .page-shell :is(.news-page .news-index-item .index-meta, :is(#news, #updates) .timeline-card .date-block) > :is(time, span) { margin: 0 !important; padding: 0 !important; }
  .page-shell :is(.news-page .news-index-item .index-copy, :is(#news, #updates) .timeline-card .timeline-body) {
    grid-area: copy !important;
    display: block !important;
    min-width: 0 !important;
  }
  .page-shell :is(.news-page .news-index-item .index-copy, :is(#news, #updates) .timeline-card .timeline-body) h3 {
    display: block !important;
    max-width: none !important;
    margin: 0 !important;
    overflow: visible !important;
  }
  .page-shell :is(.news-page .news-index-item .index-copy, :is(#news, #updates) .timeline-card .timeline-body) p {
    display: block !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 8px 0 0 !important;
    color: #5b6871 !important;
  }
  .page-shell :is(.news-page .news-index-item .index-copy, :is(#news, #updates) .timeline-card .timeline-body) small { display: none !important; }
  .page-shell :is(.news-page .news-index-item.has-media .news-index-media, :is(#news, #updates) .timeline-card .media-slot) {
    grid-area: media !important;
    align-self: center !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 3 / 2 !important;
    border-radius: var(--radius-ui) !important;
    margin: 0 !important;
    overflow: hidden !important;
  }
  .page-shell :is(.news-page .news-index-item .news-index-media, :is(#news, #updates) .timeline-card .media-slot) img { object-position: center !important; }
  .page-shell :is(.news-page .news-index-item .news-index-media, :is(#news, #updates) .timeline-card .media-slot) img[src*="legal-industry-rwa"] { object-fit: contain !important; }
  .page-shell :is(.news-page .news-index-item, :is(#news, #updates) .timeline-card):focus-visible { outline: none !important; outline-offset: 4px !important; }
 }
 @media (min-width: 681px) and (orientation: landscape) and (max-width: 1100px) , (min-width: 681px) and (orientation: landscape) and (aspect-ratio < 8/5)  {
  .page-shell :is(.news-page .news-index-item, :is(#news, #updates) .timeline-card),
  .page-shell :is(.news-page .news-index-item.has-media, :is(#news, #updates) .timeline-card:has(.media-slot)),
  .page-shell :is(.news-page .news-index-item:not(.has-media), :is(#news, #updates) .timeline-card:not(:has(.media-slot))) {
    padding: 22px 24px !important;
    column-gap: 24px !important;
  }
  .page-shell :is(.news-page .news-index-item.has-media, :is(#news, #updates) .timeline-card:has(.media-slot)) { grid-template-columns: minmax(0, 1fr) 220px !important; }
 }
 @media (min-width: 681px) and (orientation: landscape) and (max-width: 800px)  {
  .page-shell :is(.news-page .news-index-item.has-media, :is(#news, #updates) .timeline-card:has(.media-slot)) { grid-template-columns: minmax(0, 1fr) 180px !important; }
 }
}

@layer institutional { @media (min-width: 681px) and (orientation: landscape)  {

.page-shell .profile-redesign {grid-column:1 / -1!important;min-width:0!important;background:transparent!important;border:0!important;border-radius: 0!important;scroll-margin-top:130px!important;color:#455563!important;}
.profile-redesign .profile-columns {display:grid!important;grid-template-columns:1fr 1.16fr!important;gap:76px!important;padding:0 0 48px!important;border:0!important;}
.profile-redesign .panel-label {display:block!important;color:var(--ink)!important;margin:0 0 24px!important;border:0!important;}
.profile-redesign ul {list-style:none!important;padding:0!important;margin:0!important;}
.page-shell .profile-redesign li {color:#455563!important;margin:0!important;padding:0!important;border:0!important;background:none!important;}
.profile-redesign .profile-degrees,.profile-redesign .profile-appointments ul {display:grid!important;gap:20px!important;}
.profile-redesign .profile-primary,.profile-redesign .profile-secondary {display:block!important;margin:0!important;}
.page-shell .profile-redesign .profile-education .profile-secondary {text-align:left!important;justify-self:start!important;}
.profile-redesign .profile-licenses {display:grid!important;gap:20px!important;margin-top:20px!important;padding:0!important;border:0!important;}

.profile-redesign .profile-practice {border:0!important;background:var(--practice-surface)!important;padding:32px 40px!important;display:grid!important;grid-template-columns:148px minmax(0,1fr)!important;gap:28px!important;}
.profile-redesign .profile-practice .panel-label {margin:0!important;}
.profile-redesign .profile-practice ul {display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:24px 32px!important;}
@media (max-width: 1100px), (aspect-ratio < 8/5) {.profile-redesign .profile-columns{gap:44px!important}.profile-redesign .profile-practice{grid-template-columns:140px 1fr!important}.profile-redesign .profile-practice ul{grid-template-columns:repeat(2,minmax(0,1fr))!important}}

}}
@layer institutional { @media (min-width: 681px) and (orientation: landscape)  {

 html[lang="en"] .profile-redesign .profile-practice {grid-template-columns:180px minmax(0,1fr)!important;}

 html[lang="en"] .profile-redesign .profile-secondary {text-align:left!important;white-space:normal!important;justify-self:start!important;}
 html[lang="en"] .profile-redesign .profile-licenses li {white-space:normal!important;}
}}

@layer institutional {
  .page-shell .article-standard-flow .article-meta { padding: 0 !important; display: flex !important; flex-wrap: wrap; align-items: baseline; gap: 6px 16px !important; }
  .page-shell .article-standard-flow .article-meta > * { margin: 0 !important; }
  .page-shell .article-standard-flow .article-meta time { white-space: nowrap; }
  .page-shell .article-standard-flow .article-hero { padding-block: 36px 32px !important; }
  .page-shell .article-standard-flow .article-body > :is(.article-paragraph, .article-lead) { margin-block: 0 1.15em !important; }
  .page-shell .article-standard-flow .article-body > :is(.article-figure, .article-media-pair, .article-photo-quartet) { margin-block: 32px !important; }
  .page-shell .article-standard-flow .article-heading { margin-block: 36px 12px !important; scroll-margin-top: 112px; }
  .page-shell .article-standard-flow .article-subheading { margin-block: 28px 10px !important; }
  .page-shell .article-standard-flow .article-figure img { border-radius: var(--radius-ui) !important; }
  .page-shell .article-standard-flow figcaption { padding: 10px 0 0 !important; margin: 0 !important; color: #657682 !important; }
  .page-shell .article-standard-flow .article-body :is(.article-paragraph, .article-lead, li) a { text-decoration: underline !important; text-underline-offset: 3px; text-decoration-color: #9aadb9; overflow-wrap: anywhere; }
  .page-shell .article-standard-flow .article-actions { margin-top: 40px !important; padding-top: 8px !important; }
  .page-shell .article-standard-flow .article-actions > .text-link { width: fit-content !important; min-height: 44px; gap: 12px !important; }
  @media (max-width: 680px) , (orientation: portrait)  {
    .page-shell .article-standard-flow .article-hero { padding-block: 20px 24px !important; }
    .page-shell .article-standard-flow .article-body > :is(.article-paragraph, .article-lead) { margin-bottom: 1.15em !important; }
    .page-shell .article-standard-flow .article-heading { margin-top: 32px !important; scroll-margin-top: 92px; }
  }
}

@layer institutional {
  .page-shell .services-page .service-document { padding-block: 52px 88px !important; }
  .page-shell .service-document .service-area {
    display: flow-root !important;
    position: relative;
    min-height: 44px;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    scroll-margin-top: 120px;
  }
  .page-shell .service-document .service-area + .service-area { margin-top: 72px !important; }
  .page-shell .service-document .service-area-toggle {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 14px;
    align-items: start;
    gap: 14px;
    position: relative;
    float: left;
    width: 28%;
    min-height: 44px;
    padding: 0 !important;
    list-style: none;
    cursor: pointer;
  }
  .page-shell .service-document .service-area-toggle::-webkit-details-marker { display: none; }
  .page-shell .service-document .service-area-toggle::marker { content: ""; }
  .page-shell .service-document .service-area-toggle::after {
    content: "+";
    color: #586d7b;
    text-align: center;
  }
  .page-shell .service-document .service-area[open] > .service-area-toggle::after { content: "-"; }
  .page-shell .service-document .service-area[data-disclosure-closing] > .service-area-toggle::after { content: "+"; }
  .page-shell .service-document .service-area-heading { margin: 0 !important; color: #173448 !important; }
  .page-shell .service-document .service-area-content { min-width: 0; margin-left: 34%; }
  .page-shell .service-document .service-area-intro { margin: 0 0 28px !important; color: #465c6c !important; }
  .page-shell .service-document .service-scope-list {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 26px 36px !important;
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
  }
  .page-shell .service-document .service-scope-item { min-width: 0; padding: 0 !important; margin: 0 !important; background: transparent !important; border: 0 !important; }
  .page-shell .service-document .service-scope-item h3 { margin: 0 0 8px !important; color: #243f50 !important; }
  .page-shell .service-document .service-scope-item p { margin: 0 !important; color: #586d7b !important; }
  @media (max-width: 1100px) , (aspect-ratio < 8/5)  {
    .page-shell .service-document .service-area { padding: 0 !important; min-height: 0; }
    .page-shell .service-document .service-area-toggle { position: static; float: none; width: 100%; align-items: center; }
    .page-shell .service-document .service-area-content { margin-left: 0; padding-top: 20px; }
    .page-shell .service-document .service-area + .service-area { margin-top: 56px !important; }
  }
  @media (max-width: 680px) , (orientation: portrait)  {
    .page-shell .services-page .service-document { width: calc(100% - var(--mobile-gutter) * 2) !important; margin-inline: auto !important; padding-block: 32px 56px !important; }
    .page-shell .service-document .service-area { scroll-margin-top: 92px; }
    .page-shell .service-document .service-area-content { padding-top: 14px; padding-bottom: 14px; }
    .page-shell .service-document .service-area + .service-area { margin-top: 24px !important; }
    .page-shell .service-document .service-area-intro { margin-bottom: 22px !important; }
    .page-shell .service-document .service-scope-list { grid-template-columns: minmax(0, 1fr) !important; gap: 18px !important; }
    .page-shell .service-document .service-scope-item h3 { margin-bottom: 4px !important; }
  }
}

@layer institutional {
  .page-shell main[data-page-frame] {
    --page-banner-height: 224px;
    --page-banner-bottom: 76px;
    --page-content-top: 72px;
    --page-content-bottom: 104px;
    --page-group-gap: 76px;
    --page-column-gutter: max(var(--gutter), calc((100vw - var(--measure)) / 2));
  }
  .page-shell main[data-page-frame] .subpage-hero {
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-end !important;
    align-items: stretch !important;
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: none !important;
    height: var(--page-banner-height) !important;
    min-height: var(--page-banner-height) !important;
    margin: 0 !important;
    padding: 0 var(--page-column-gutter) var(--page-banner-bottom) !important;
    gap: 0 !important;
    background: var(--masthead-surface) !important;
  }
  .page-shell main[data-page-frame] .subpage-hero > :is(h1, .subpage-heading) {
    margin: 0 !important;
    padding: 0 !important;
    color: #edf2f6 !important;
    max-width: none !important;
  }
  .page-shell main[data-page-frame] :is(.grouped-cases, .service-document, .archive-section, .contact-channel, .service-groups) {
    box-sizing: border-box !important;
    width: min(var(--measure), calc(100% - var(--gutter) * 2)) !important;
    max-width: var(--measure) !important;
    margin: 0 auto !important;
    padding: var(--page-content-top) 0 var(--page-content-bottom) !important;
  }
  .page-shell main[data-page-frame] :is(.grouped-cases, .service-document) {
    display: grid !important;
    gap: var(--page-group-gap) !important;
  }
  .page-shell main[data-page-frame] .service-document .service-area + .service-area { margin: 0 !important; }
  .page-shell main[data-page-frame] :is(.case-group, .service-area) {
    display: flow-root !important;
    position: relative !important;
    padding: 0 !important;
    margin: 0 !important;
    min-height: 44px !important;
  }
  .page-shell main[data-page-frame] :is(.case-group-heading, .service-area-toggle) {
    display: grid !important;
    position: relative !important;
    float: left !important;
    width: 28% !important;
    grid-template-columns: minmax(0, 1fr) 14px !important;
    align-items: start !important;
    gap: 12px !important;
    padding: 0 !important;
    margin: 0 !important;
    min-height: 44px !important;
    cursor: pointer;
  }
  .page-shell main[data-page-frame] :is(.case-group-heading, .service-area-toggle)::after {
    content: "+" !important;
    display: block !important;
    align-self: start !important;
    justify-self: end !important;
    padding-top: 3px !important;
    color: #586d7b !important;
  }
  .page-shell main[data-page-frame] [open] > :is(.case-group-heading, .service-area-toggle)::after { content: "-" !important; }
  .page-shell main[data-page-frame] [data-disclosure-closing] > :is(.case-group-heading, .service-area-toggle)::after { content: "+" !important; }
  .page-shell main[data-page-frame] :is(.case-group-body, .service-area-content) { margin-left: 34% !important; }

  .page-shell main[data-page-frame] .service-detail-intro { margin-bottom: 44px; }
  .page-shell main[data-page-frame] .service-detail-intro h1 { margin: 0 0 24px !important; }
  .page-shell main[data-page-frame] .service-detail-intro p { margin: 0 !important; max-width: 900px; }
  .page-shell main[data-page-frame] .article-hero { padding-top: var(--page-content-top) !important; }
  @media (width <= 680px)  {
    .page-shell main[data-page-frame] .article-hero { padding-top: 20px !important; }
  }

  @media (width > 680px)  {
    .page-shell main[data-page-frame] .article-standard-flow .article-hero { padding-top: 20px !important; }
  }
  @media (max-width: 1100px) , (aspect-ratio < 8/5)  {
    .page-shell main[data-page-frame] { --page-banner-height: 208px; }
    .page-shell main[data-page-frame] :is(.case-group-heading, .service-area-toggle) {
      position: static !important;
      float: none !important;
      width: 100% !important;
      box-sizing: border-box !important;
    }
    .page-shell main[data-page-frame] :is(.case-group-body, .service-area-content) {
      margin-left: 0 !important;
      padding-top: 20px !important;
    }
  }
  @media (max-width: 680px) , (orientation: portrait)  {
    .page-shell main[data-page-frame] {
      --page-banner-height: 96px;
      --page-banner-bottom: 20px;
      --page-content-top: 28px;
      --page-content-bottom: 56px;
      --page-group-gap: 15px;
      --page-column-gutter: var(--mobile-gutter);
    }
    .page-shell main[data-page-frame] :is(.grouped-cases, .service-document, .archive-section, .contact-channel, .service-groups) {
      width: calc(100% - var(--mobile-gutter) * 2) !important;
    }
    .page-shell main[data-page-frame] :is(.case-group, .service-area) { padding: 0 !important; margin: 0 !important; min-height: 0 !important; }
    .page-shell main[data-page-frame] :is(.case-group-heading, .service-area-toggle) {
      display: grid !important;
      position: static !important;
      float: none !important;
      width: 100% !important;
      min-height: 44px !important;
      box-sizing: border-box !important;
      grid-template-columns: minmax(0, 1fr) 14px !important;
      gap: 12px !important;
      align-items: start !important;
      padding: 0 !important;
      margin: 0 !important;
    }
    .page-shell main[data-page-frame] :is(.case-group-heading, .service-area-toggle)::after { align-self: start !important; padding-top: 3px !important; }
    .page-shell main[data-page-frame] :is(.case-group-body, .service-area-content) { padding: 8px 0 12px !important; margin: 0 !important; }
    .page-shell main[data-page-frame] .service-detail-intro { margin-bottom: 32px; }
  }
}

@layer institutional {
  html[lang] .page-shell :is(.news-page .news-index-item .index-copy h3, :is(#news, #updates) .timeline-card .timeline-body h3, .mobile-digest .updates .update-list > a > strong) {
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    line-clamp: 2;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: normal !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-height: 2lh !important;
    padding-block: 0 !important;
  }
}

@layer institutional {
  html[lang] .page-shell :is(.news-page .news-index-item .news-index-media, .timeline-card .media-slot, .update-list-media) img[src*="/yingtan-copper-innovation-valley-visit/symposium-cover-20260916-"] {
    object-position: center bottom !important;
  }
}

@layer institutional {
  .page-shell .home-page :is(#news, #updates) { background: var(--home-updates-surface) !important; }
  html[lang] .page-shell .home-page :is(#news, #updates) .timeline-card { background: var(--news-card-surface) !important; }
  html[lang] .page-shell .home-page #mobile-expertise { background: var(--practice-surface) !important; }
}

@layer institutional {

  html[lang] .page-shell main:has(> .news-page) {
    background: var(--news-canvas) !important;
  }
  html[lang] .page-shell main .news-page {
    background: transparent !important;
  }
  html[lang] .page-shell .news-page .news-index-entry > .news-index-item {
    background: var(--news-item-surface, var(--news-card-surface)) !important;
  }
  html[lang] .page-shell .news-page .news-index-entry.news-pair > .news-index-item {
    background: transparent !important;
  }

  html[lang] .page-shell main.profile-page,
  html[lang] .page-shell main:has(> .contact-page) {
    background: var(--home-profile-surface) !important;
  }
  html[lang] .page-shell main:has(> .article-standard-flow) {
    background: var(--reading-canvas) !important;
  }
  html[lang] .page-shell main:has(> .case-page) {
    background: var(--neutral-card-surface) !important;
  }
  html[lang] .page-shell .profile-page .profile-document,
  html[lang] .page-shell main :is(.case-page, .contact-page, .article-standard-flow) {
    background: transparent !important;
  }
}

@layer institutional {

  html[lang] body.menu-open { overflow: visible !important; }
  html[lang] :is(a, button, input, textarea, select, summary, [tabindex]):is(:focus, :focus-visible),
  html[lang] .page-shell :is(a, button, input, textarea, select, summary, [tabindex]):is(:focus, :focus-visible) {
    outline: none !important;
    box-shadow: none !important;
  }
  html[lang] .page-shell :is(a, summary):focus-visible {
    text-decoration-line: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: .22em;
  }
  html[lang] .page-shell .mobile-menu a:focus-visible {
    background: rgba(224, 237, 245, .07) !important;
  }
  html[lang] .page-shell :is(button, input, textarea, select):focus-visible { filter: brightness(.9); }
  html[lang] .page-shell .menu-button:focus-visible { opacity: .72; filter: none; }
}

@layer institutional {
  html[lang] .skip-link,
  html[lang] .page-shell :is(.btn, .contact-link, .menu-button, .about-gallery-arrows button),
  html[lang] .page-shell :is(.profile-practice, .about-panel.dark, .about-panel.expertise-panel),
  html[lang] .page-shell :is(.en-profile-career, .en-profile-credentials, .about-section .profile-columns, .about-gallery-media, .about-section .about-grid > .about-panel:not(.photo-panel)) {
    border-radius: var(--radius-ui) !important;
  }
}

@layer institutional {
  @media (min-width: 681px) and (orientation: landscape)  {
    html[lang] .page-shell .profile-redesign .profile-columns {
      grid-template-columns: minmax(0, 1fr) minmax(0, 1.16fr) !important;
      align-items: stretch !important;
    }
    html[lang] .page-shell .profile-redesign .profile-columns > section {
      display: flex !important;
      flex-direction: column !important;
      min-width: 0 !important;
    }
    html[lang] .page-shell .profile-redesign .profile-columns > section > ul {
      display: flex !important;
      flex-direction: column !important;
      justify-content: space-between !important;
      gap: 20px !important;
      flex: 1 !important;
    }
    html[lang] .page-shell .profile-redesign .profile-columns > section > ul > li {
      flex: 0 0 auto;
    }
    html[lang] .page-shell .profile-redesign .profile-license-entry {
      white-space: normal !important;
    }
  }
}

@layer institutional {
  html[lang="en"] .page-shell .en-profile-tablet { display: none !important; }

  @media (width > 680px)  {
    html[lang="en"] .page-shell .en-profile-editorial {
      --profile-ink: var(--home-profile-ink, #102d3c);
      --profile-muted: var(--home-profile-muted, #5b6a74);
      color: var(--profile-ink);
    }
    html[lang="en"] .page-shell .en-profile-heading {
      display: flex;
      align-items: baseline;
      justify-content: space-between;
      gap: 24px;
      margin-bottom: 36px;
    }
    html[lang="en"] .page-shell .en-profile-heading h2 { margin: 0 !important; }
    html[lang="en"] .page-shell .en-profile-link {
      display: inline-flex;
      align-items: center;
      gap: 22px;
      flex: 0 0 auto;
      padding: 8px 0;
      color: var(--profile-ink) !important;
      text-decoration: none;
      border: 0 !important;
    }
    html[lang="en"] .page-shell .en-profile-link:hover { opacity: .65; }
    html[lang="en"] .page-shell .en-profile-main {
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
      align-items: start;
      gap: clamp(40px, 6vw, 88px);
    }
    html[lang="en"] .page-shell .en-profile-photo { min-width: 0; }
    html[lang="en"] .page-shell .en-profile-photo .about-gallery-media { aspect-ratio: 3 / 2 !important; }
    html[lang="en"] .page-shell .en-profile-photo .about-gallery-controls { margin-top: 12px !important; }
    html[lang="en"] .page-shell .en-profile-photo .about-gallery-arrows button {
      background: transparent !important;
      width: 42px !important;
      height: 42px !important;
      border: 0 !important;
    }
    html[lang="en"] .page-shell .en-profile-photo .about-gallery-arrows button:hover { background: #f0f3f5 !important; }
    html[lang="en"] .page-shell .en-profile-editorial :is(a, button):focus-visible {
      outline: 2px solid var(--profile-ink) !important;
      outline-offset: 4px !important;
    }
    html[lang="en"] .page-shell .en-profile-section-title { margin: 0 0 24px !important; color: var(--profile-ink) !important; }
    html[lang="en"] .page-shell .en-profile-firm { margin: 0 0 6px !important; color: var(--profile-ink) !important; }
    html[lang="en"] .page-shell .en-profile-position { margin: 0 !important; color: var(--profile-ink) !important; }
    html[lang="en"] .page-shell .en-profile-position > span { padding-inline: 8px; color: #91a0a8; }
    html[lang="en"] .page-shell .en-profile-previous { margin-top: 34px; padding-top: 0; border: 0 !important; }
    html[lang="en"] .page-shell .en-profile-editorial :is(ul, li) { list-style: none !important; margin: 0 !important; padding: 0 !important; }
    html[lang="en"] .page-shell .en-profile-editorial li::before { content: none !important; }
    html[lang="en"] .page-shell .en-profile-career-list { display: grid; gap: 20px; }
    html[lang="en"] .page-shell .en-profile-editorial li > strong { display: block; color: var(--profile-ink); }
    html[lang="en"] .page-shell .en-profile-editorial li p { margin: 5px 0 0 !important; color: var(--profile-muted) !important; }
    html[lang="en"] .page-shell .en-profile-credentials {
      margin-top: 48px;
      padding-top: 0;
      border: 0 !important;
    }
    html[lang="en"] .page-shell .en-profile-appointments {
      display: grid;
      grid-template-columns: minmax(0, .72fr) minmax(0, 2fr);
      gap: clamp(32px, 4vw, 64px);
    }
    html[lang="en"] .page-shell .en-profile-appointment-list {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 28px 36px;
    }
    html[lang="en"] .page-shell .en-profile-editorial .english-profile-practice { margin-top: 56px; }
    html[lang="en"] .page-shell .en-profile-editorial .profile-practice { padding: 28px 32px !important; }
    html[lang="en"] .page-shell .en-profile-editorial .profile-practice ul { gap: 24px 32px !important; }
  }

  @media (width > 680px) and (width < 1050px)  {
    html[lang="en"] .page-shell .en-profile-main { gap: 32px; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); }
    html[lang="en"] .page-shell .en-profile-appointment-list { gap: 24px; }
  }

  @media (width > 680px) and (orientation: portrait)  {
    html[lang="en"] .page-shell #mobile-profile > :is(.section-title, .profile-lead, .profile-summary) { display: none !important; }
    html[lang="en"] .page-shell .en-profile-tablet { display: block !important; }
    html[lang="en"] .page-shell .en-profile-tablet .en-profile-career { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 32px; }
    html[lang="en"] .page-shell .en-profile-tablet .en-profile-previous { margin-top: 0; padding-top: 0; border-top: 0 !important; }
    html[lang="en"] .page-shell .en-profile-tablet .en-profile-credentials { margin-top: 36px; }
    html[lang="en"] .page-shell .en-profile-tablet .en-profile-appointments { display: block; }
    html[lang="en"] .page-shell .en-profile-tablet .en-profile-appointment-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 32px; }
  }
}

@layer institutional {

  html[lang] .page-shell :is(header, section, article, aside, footer, nav, ul, ol, li, div, p, span, figure, figcaption, a, summary, details, blockquote, table, thead, tbody, tr, th, td) {
    border: 0 !important;
    box-shadow: none !important;
  }
  html[lang] .page-shell hr {
    display: none !important;
  }
  html[lang] .page-shell :is(.subpage-hero, .hero, .hero-copy, .article-hero-grid, .site-header, .section-heading, .desktop-nav a, .case-meta)::before,
  html[lang] .page-shell :is(.subpage-hero, .hero-copy, .article-hero-grid, .site-header, .section-heading, .desktop-nav a, .case-meta)::after,
  html[lang] .page-shell .mobile-menu a[aria-current="page"]::before {
    content: none !important;
  }
  html[lang] .page-shell :is(.site-header, .hero, section.profile-lead, .subpage-hero, .article-hero) {
    background: var(--masthead-surface) !important;
  }
  html[lang] .page-shell header.site-header {
    background: var(--masthead-top-surface) !important;
    border: 0 !important;
    box-shadow: none !important;
  }
  html[lang] .page-shell .article-hero .article-title h1 {
    color: #edf3f7 !important;
  }
  html[lang] .page-shell .article-hero :is(.article-meta, .article-meta time, .article-meta small, .article-meta a, .summary) {
    color: #b9cbd8 !important;
  }
  html[lang] .page-shell :is(.home-contact, .digest-section.contact) {
    background: var(--contact-surface) !important;
  }
  html[lang] .page-shell .footer {
    background: var(--footer-surface) !important;
  }
}

@layer institutional {
  html[lang] .page-shell :is(.btn:not(.secondary), .about-gallery-arrows button, .en-profile-photo .about-gallery-arrows button) {
    background: var(--control-surface) !important;
    color: #19384c !important;
    border: 0 !important;
    box-shadow: none !important;
  }
  html[lang] .page-shell .contact-link {
    background: var(--navigation-panel-surface) !important;
  }
  @media (hover: hover) and (pointer: fine)  {
    html[lang] .page-shell :is(.btn:not(.secondary), .about-gallery-arrows button, .en-profile-photo .about-gallery-arrows button):hover {
      background: var(--control-hover-surface) !important;
    }
  }
  html[lang] .page-shell :is(.btn:not(.secondary), .about-gallery-arrows button, .en-profile-photo .about-gallery-arrows button):active {
    background: var(--control-pressed-surface) !important;
  }
  html[lang] .page-shell .news-pagination a {
    background: transparent !important;
    border-radius: 0 !important;
    text-decoration: none !important;
    color: #6b7c86 !important;
  }
  html[lang] .page-shell .news-pagination a:is([aria-current="page"], :focus-visible) {
    color: #142c3d !important;
  }
  @media (hover: hover) and (pointer: fine)  {
    html[lang] .page-shell .news-pagination a:hover {
      color: #142c3d !important;
    }
  }
}

@layer institutional {
  html[lang] .page-shell #mobile-profile > :is(.profile-lead, .profile-summary) {
    padding: 0 !important;
    background: transparent !important;
    color: var(--tone-label-light) !important;
  }
  html[lang] .page-shell #mobile-profile > .profile-summary {
    color: #7c8389 !important;
  }
 @media (width > 680px) and (height > 480px)  {
  html[lang] .page-shell :is(.about-section, .mobile-digest .profile, .mobile-digest .expertise) {
    --ink: var(--tone-title-light);
    --home-profile-ink: var(--tone-title-light);
    --home-profile-muted: var(--tone-label-light);
    --profile-primary-color: var(--tone-primary-light);
    background: var(--home-profile-surface) !important;
    color: var(--tone-primary-light) !important;
  }
  html[lang] .page-shell :is(.about-section, .mobile-digest .profile, .mobile-digest .expertise) :is(h2, .panel-label, .section-label) {
    color: var(--tone-title-light) !important;
  }
  html[lang] .page-shell :is(.about-section, .mobile-digest .profile, .mobile-digest .expertise) :is(.history-organization, .profile-primary, .summary-list li, .profile-redesign li) {
    color: var(--tone-primary-light) !important;
  }
  html[lang] .page-shell :is(.about-section, .mobile-digest .profile, .mobile-digest .expertise) :is(.history-role, .profile-secondary, .profile-summary, .section-title > a, .text-link) {
    color: var(--tone-label-light) !important;
  }
  html[lang] .page-shell .about-section .section-heading { margin-bottom: 40px !important; }

  html[lang] .page-shell :is(.about-section .en-profile-career, .about-section .about-grid > .about-panel:not(.photo-panel), #mobile-profile .en-profile-career) {
    --profile-ink: var(--tone-title-light);
    --profile-muted: var(--tone-label-light);
    padding: 28px 32px !important;
    background: var(--neutral-career-surface) !important;
    color: var(--tone-primary-light) !important;
  }
  html[lang] .page-shell :is(.about-section .en-profile-career, .about-section .about-grid > .about-panel:not(.photo-panel), #mobile-profile .en-profile-career) :is(.panel-label, .en-profile-section-title, .en-profile-firm, strong) {
    color: var(--tone-title-light) !important;
  }
  html[lang] .page-shell :is(.about-section .en-profile-career, .about-section .about-grid > .about-panel:not(.photo-panel), #mobile-profile .en-profile-career) :is(p, .history-role) {
    color: var(--tone-label-light) !important;
  }
  html[lang] .page-shell .about-section .profile-columns,
  html[lang] .page-shell .en-profile-editorial .en-profile-credentials {
    background: var(--neutral-card-surface) !important;
    padding: 36px 40px !important;
  }
  html[lang] .page-shell .about-section .profile-practice {
    margin-top: 48px !important;
    padding: 40px !important;
    background: var(--practice-surface) !important;
    border-radius: var(--radius-ui);
  }
  html[lang] .page-shell .about-section .about-gallery-dots button::before {
    background: #bbc6ce !important;
  }
  html[lang] .page-shell .about-section .about-gallery-dots button[data-active]::before {
    background: #31586f !important;
  }
  html[lang] .page-shell .mobile-digest .digest-section.updates { background: var(--home-updates-surface) !important; }
  html[lang] .page-shell .mobile-digest .updates .update-list > a { background: var(--news-card-surface) !important; }
  html[lang] .page-shell .mobile-digest .updates .update-list > a:active { filter: brightness(.96); }

  @media (width > 680px) and (width < 1050px)  {
    html[lang] .page-shell .about-section .profile-columns,
    html[lang] .page-shell .en-profile-editorial .en-profile-credentials,
    html[lang] .page-shell .about-section .profile-practice,
    html[lang] .page-shell #mobile-profile .en-profile-career {
      padding: 28px !important;
    }
  }
 }
 @media (max-width: 1100px) , (aspect-ratio < 8/5)  {
  html[lang] .page-shell :is(.about-section .about-grid > .about-panel:not(.photo-panel), .en-profile-editorial .en-profile-credentials, .about-section .profile-columns) {
    padding: 0 !important;
    background: transparent !important;
  }
 }
}

@layer institutional {
  @media (min-width: 1101px) and (min-aspect-ratio: 8/5)  {

    html[lang] .page-shell section.profile-lead .portrait-block { transform: scale(1.15) !important; transform-origin: center bottom !important; }
    html[lang] .page-shell .profile-page .profile-content { gap: 72px !important; }
    html[lang] .page-shell .profile-page .prose p:not(:last-child) { margin-bottom: 32px !important; }
    html[lang="en"] .page-shell .profile-page .profile-lead .contact-lines > div { grid-template-columns: 64px minmax(0, 1fr) !important; }
    html[lang="en"] .page-shell .profile-page .profile-side-nav a { padding-block: 14px !important; }
    html[lang="en"] .page-shell .profile-page .support-grid { grid-template-columns: minmax(0, 1fr) !important; gap: 64px !important; }
    html[lang="en"] .page-shell .profile-page .support-list > li { padding-block: 14px !important; }
    html[lang="zh-CN"] .page-shell .profile-page .support-grid { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) !important; gap: 64px !important; }
    html[lang="zh-CN"] .page-shell .profile-page :is(.history-list, .support-list) > li { padding-block: 14px !important; }
  }
}

@layer institutional {

  html[lang] .page-shell:has(.home-page),
  html[lang] .page-shell .home-page .mobile-digest {
    background-color: var(--navy-deep) !important;
  }
  html[lang] .page-shell :is(.cases-preview, #mobile-cases, .home-contact, #mobile-contact, .footer) {
    background-color: var(--navy-deep) !important;
  }
  html[lang] .page-shell :is(header.site-header, .hero, section.profile-lead, .subpage-hero, .article-hero) {
    background-size: 100vw 100svh !important;
    background-repeat: no-repeat !important;
    background-color: var(--navy-deep) !important;
    background-position: 0 calc(-1 * var(--navigation-height)) !important;
  }
  html[lang] { background-color: var(--browser-chrome) !important; }
  html[lang] .page-shell header.site-header {
    background-position: 0 0 !important;
    background-color: var(--browser-chrome) !important;
  }
  @media (width <= 680px)  {
    html[lang] .page-shell .home-page .hero {
      --masthead-surface: linear-gradient(180deg, #071827 0%, #091c2b 55%, #0c2232 100%);
    }
    html[lang] .page-shell :is(header.site-header, .hero, section.profile-lead, .subpage-hero, .article-hero) {
      background-size: 100% 100% !important;
      background-position: 0 0 !important;
    }
    html[lang] .page-shell .mobile-menu {
      --masthead-surface: radial-gradient(ellipse 95% 40% at 50% 49%, #123047 0%, #102b40 26%, #0b2233 58%, var(--browser-chrome) 100%);
      background-color: var(--browser-chrome) !important;
    }

    html[lang] body.menu-open .page-shell,
    html[lang] body.menu-open .page-shell .mobile-digest {
      background-color: var(--browser-chrome) !important;
    }
    html[lang] body.menu-open .page-shell header.site-header {
      --masthead-top-surface: linear-gradient(var(--browser-chrome), var(--browser-chrome));
    }
    html[lang] .page-shell :is(.home-contact, .digest-section.contact) {
      background: linear-gradient(180deg, #102a3b 0%, #0f2738 30%, #0c2232 68%, #0a1e2e 100%) !important;
    }
    html[lang] .page-shell .footer {
      background: linear-gradient(180deg, #0a1e2e 0%, #091c2c 25%, #081a29 55%, #071928 78%, var(--browser-chrome) 100%) !important;
    }
  }
}

@layer institutional {
  .page-shell .case-scope p + p { margin-top: 1em !important; }
}

@layer institutional {
  html[lang] .page-shell:has(.contact-page) {
    --contact-page-surface: radial-gradient(ellipse 110% 78% at 100% 0%, #193b53 0%, #102c3e 40%, #071827 100%);
    background: var(--contact-page-surface) !important;
    background-color: var(--browser-chrome) !important;
  }
  html[lang] .page-shell:has(> #main > .contact-page) :is(main[data-page-frame], .contact-page, .contact-page > .subpage-hero, .contact-channel) {
    background: transparent !important;
  }
  @media (width >= 1024px)  {
    html[lang] .page-shell > #main:has(> .contact-page) {
      min-height: calc(100svh - var(--navigation-height)) !important;
    }
  }
  html[lang] .page-shell:has(> #main > .contact-page) header.site-header {
    background: var(--contact-page-surface) !important;
    background-size: 100vw 100svh !important;
    background-position: 0 0 !important;
  }
  html[lang] .page-shell .contact-page :is(h1, .channel-main a) { color: #f2f6f9 !important; }
  html[lang] .page-shell .contact-page :is(.subpage-hero p, .channel-main a:last-child) { color: #bdceda !important; }
  html[lang] .page-shell .contact-page .channel-main a:is(:hover, :focus-visible) {
    color: #fff !important;
    text-decoration: underline !important;
    text-underline-offset: 5px;
  }
  @media (width <= 680px)  {
    html[lang] .page-shell:has(.contact-page) {
      --contact-page-surface: linear-gradient(180deg, var(--browser-chrome) 0px, var(--browser-chrome) 8px, transparent 100px), radial-gradient(ellipse 100% 48% at 100% 36%, #15364c 0%, #0d2639 48%, #071827 100%);
    }
    html[lang] .page-shell:has(> #main > .contact-page) .footer {
      background: transparent !important;
    }
    html[lang] body.menu-open .page-shell:has(> #main > .contact-page) header.site-header {
      background: var(--browser-chrome) !important;
    }
  }
}

@layer institutional {
  @media (width > 680px)  {
    html[lang] .page-shell .footer {
      background: linear-gradient(115deg, #102c40 0%, #0c2435 48%, #071827 100%) !important;
    }
  }
  @media (width > 680px) and (pointer: coarse)  {
    html[lang] .page-shell .footer {
      background: linear-gradient(180deg, #102c40 0%, #0c2435 45%, var(--browser-chrome) 100%) !important;
    }
    html[lang] .page-shell header.site-header,
    html[lang] .page-shell:has(> #main > .contact-page) header.site-header {
      background: linear-gradient(180deg, var(--browser-chrome), transparent 40px), var(--masthead-top-surface) !important;
      background-size: 100% 100%, 100vw 100svh !important;
      background-position: 0 0 !important;
    }
  }
}

@layer institutional {
 @media (max-width: 680px) , (orientation: portrait)  {
  html[lang] {
    --mobile-gutter: clamp(20px, 6.15vw, 24px);
    --mobile-paper: #f3f6f8;
    --mobile-raised: #142f41;
    --line-hairline: transparent;
    --line-structural: transparent;
    --line-hairline-dark: transparent;
    --line-structural-dark: transparent;
    scroll-padding-top: 84px;
  }
  .page-shell { background: #fff !important; color: #142c3d !important; }
  .page-shell :is(.site-header, .hero, section.profile-lead, .subpage-hero) { background: var(--masthead-surface) !important; }
  .page-shell .footer { background: var(--footer-surface) !important; }
  .page-shell .mobile-menu { background: #091e2d !important; }
  .page-shell .mobile-hero-gallery::before,
  .page-shell .mobile-hero-gallery-slide::after { content: none !important; background: none !important; }

  .page-shell :is(.hero h1, .profile-lead h1, .subpage-hero h1) { color: #edf3f7 !important; }

  .page-shell .hero .hero-role-line { color: #b9cbd8 !important; }
  .page-shell .hero .lead-primary { color: #e0e8ee !important; }
  .page-shell .hero .button-row { gap: 12px 20px !important; align-items: center !important; margin-top: 12px !important; }
  .page-shell .btn { display: inline-flex !important; align-items: center !important; justify-content: center !important; width: fit-content !important; min-height: 44px !important; padding: 10px 20px !important; border: 0 !important; border-radius: var(--radius-ui) !important; background: #eaf1f5 !important; color: #102c3e !important; box-shadow: none !important; transform: none !important; transition: background-color 160ms ease, color 160ms ease !important; }
  .page-shell .btn.secondary { gap: 10px !important; padding-inline: 0 !important; border-radius: 0 !important; background: transparent !important; color: #d5e1e9 !important; }

  .page-shell :is(.digest-section p, .prose p, .case-scope p, .context-item p) { color: #465c6c !important; }
  .page-shell .section-label { color: #173448 !important; }
  .page-shell section.profile-lead { overflow: hidden !important; }
  .page-shell section.profile-lead .portrait-block { align-self: end !important; margin-bottom: 0 !important; }
  .page-shell section.profile-lead .role { color: #bdcbd5 !important; }
  .page-shell section.profile-lead .contact-lines :is(dt, dd, a) { color: #adbfcc !important; }
  html[lang] .page-shell .profile-page [data-profile-disclosure] > summary { padding-bottom: 8px !important; }
  .page-shell :is(.digest-section, .document-section, .support-block, .case-group, .case-item, .case-group-heading, .case-group-body, .case-grid, .update-list > a, .matter-list > a, .line-list li, .service-group, .service-method, .news-index-item, .footer-bottom, .recognition-strip, .context-item, .contact-channel) { border: 0 !important; box-shadow: none !important; }
  .page-shell :is(.section-heading, .section-title, .digest-section, .case-meta)::before,
  .page-shell :is(.section-heading, .section-title, .digest-section, .case-meta)::after { content: none !important; }
  .page-shell .recognition-strip { background: #edf1f3 !important; }
  .page-shell .digest-section.matters { background: var(--footer-surface) !important; }
  .page-shell .digest-section.matters :is(h2, .matter-list strong) { color: #e9f0f5 !important; }
  .page-shell .digest-section.matters :is(.section-title a, .matter-list span) { color: #9fb5c5 !important; }
  .page-shell .digest-section.matters .matter-list em { color: #bdcdd8 !important; }
  .page-shell .digest-section.contact { background: var(--contact-surface) !important; }
  .page-shell .digest-section.contact :is(.section-kicker, .contact-actions a) { color: #e7eef4 !important; }
  .page-shell .digest-section.contact .contact-actions a:last-child { display: inline-flex !important; align-items: center !important; gap: 10px !important; width: fit-content !important; min-height: 44px !important; padding: 10px 0 !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; color: #d5e1e9 !important; }
  .page-shell .btn.secondary::after { content: "" !important; display: block !important; flex: 0 0 14px !important; width: 14px !important; height: 14px !important; margin: 0 !important; background: currentColor !important; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M2 8h11M8 3l5 5-5 5' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat !important; transition: transform 160ms ease !important; }
  .page-shell .btn:not(.secondary):active { background: #c7d8e3 !important; }
  .page-shell .btn.secondary:active { color: #fff !important; }
  .page-shell .btn.secondary:active::after { transform: translateX(2px) !important; }
  .page-shell .media-slot { border-radius: 0 !important; box-shadow: none !important; }
  .page-shell :is(.news-index-media, .update-list figure) { border-radius: var(--radius-ui) !important; overflow: hidden !important; box-shadow: none !important; }
  .page-shell .digest-section:not(.matters):not(.contact) .section-title a { color: #526c7d !important; }
  .page-shell .mobile-digest .section-title > a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    box-sizing: border-box !important;
    min-width: 44px !important;
    min-height: 44px !important;
    padding: 0 8px !important;
    margin: calc((1lh - 44px) / 2) -8px !important;
  }
  .page-shell .article-title h1 { color: #142c3d !important; }
  .page-shell .article-hero { background: var(--masthead-surface) !important; }

  .page-shell .site-header { padding-inline: var(--mobile-gutter) !important; }
  .page-shell .article-standard-flow { --article-gutter: var(--mobile-gutter); }
  .page-shell .menu-button { background: transparent !important; border-radius: var(--radius-ui) !important; }
  .page-shell .subpage-hero { padding-inline: var(--mobile-gutter) !important; }

  .page-shell .mobile-menu { padding-inline: var(--mobile-gutter) !important; gap: 8px !important; }
  .page-shell .mobile-menu a { border: 0 !important; box-shadow: none !important; padding: 13px 16px !important; border-radius: var(--radius-ui) !important; }

  .page-shell .digest-section.expertise { background: var(--mobile-paper) !important; }
  html[lang] .page-shell .mobile-digest .expertise .summary-list li { color: #5b6b76 !important; }
  .page-shell .summary-list li { border: 0 !important; padding-block: 10px !important; }
  .page-shell .summary-list li:first-child { padding-top: 0 !important; }
  .page-shell .summary-list li:last-child { padding-bottom: 0 !important; }
  .page-shell .recognition-strip-mobile { background: #fff !important; }

  .page-shell .services-page .service-group { margin: 0 0 16px !important; padding: 0 !important; }
  .page-shell .service-overview-link { display: block !important; padding: 20px !important; border-radius: var(--radius-ui) !important; background: var(--mobile-paper) !important; }
  .page-shell .service-overview-link .group-heading { padding: 0 !important; margin: 0 !important; gap: 12px 14px !important; grid-template-columns: minmax(0, 1fr) auto !important; }
  .page-shell .service-overview-link .group-heading h2 { grid-column: 1 !important; grid-row: 1 !important; }
  .page-shell .service-overview-link .group-heading p { grid-column: 1 / -1 !important; margin: 0 !important; }
  .page-shell .service-overview-link .service-entry-action { grid-column: 2 !important; grid-row: 1 !important; padding: 0 !important; align-self: center !important; }

  .page-shell .service-overview-link:active { background-color: #dfe8ee !important; }

  .page-shell .case-page > .subpage-hero { min-height: 96px !important; padding-block: 24px 20px !important; margin-bottom: 12px !important; }
  .page-shell .case-page .case-group-heading { grid-template-columns: minmax(0, 1fr) 14px !important; column-gap: 12px !important; padding-block: 16px !important; }
  .page-shell .case-page .case-group-heading::after { align-self: center !important; padding-top: 0 !important; }
  .page-shell .case-page .case-group-body { padding-left: 0 !important; padding-bottom: 12px !important; }
  .page-shell .case-page .case-item { gap: 4px !important; }
  .page-shell .case-page .case-item:first-child { padding-top: 0 !important; }
  .page-shell :is(a, button, summary, [tabindex]):focus-visible { outline: none !important; outline-offset: 4px !important; }
  @media (hover: hover) and (pointer: fine)  {
    .page-shell .btn:not(.secondary):hover { background: #fff !important; }
    .page-shell .btn.secondary:hover { color: #fff !important; }
    .page-shell .btn.secondary:hover::after { transform: translateX(3px) !important; }
  }
  @media (prefers-reduced-motion: reduce)  {
    .page-shell .btn,
    .page-shell .btn.secondary::after { transition: none !important; }
  }
 }
}

@layer institutional {
 @media (max-width: 680px) , (orientation: portrait)  {

  .page-shell .news-page { background: var(--news-canvas) !important; }
  .page-shell .news-page .archive-section {
    width: calc(100% - 24px) !important;
    max-width: none !important;
    margin-inline: auto !important;
  }
  .page-shell .news-page .news-index-list { gap: 16px !important; }
  .page-shell .news-page .news-index-item,
  .page-shell .news-page .news-index-item.has-media,
  .page-shell .news-page .news-index-item:not(.has-media) {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: auto auto auto !important;
    grid-template-areas: none !important;
    gap: 0 !important;
    align-items: start !important;
    padding: 0 !important;
    background: var(--news-item-surface, var(--news-card-surface)) !important;
    border-radius: var(--radius-ui) !important;
    box-shadow: none !important;
    overflow: hidden !important;
  }
  .page-shell .news-page .news-index-item .index-meta {
    display: none !important;
  }
  .page-shell .news-page .news-index-item .index-copy { display: contents !important; }
  .page-shell .news-page .news-index-item .index-copy h3 {
    grid-area: 2 / 1 / 3 / -1 !important;
    display: block !important;
    max-width: none !important;
    margin: 16px 18px 0 !important;
    overflow: visible !important;
  }
  .page-shell .news-page .news-index-item .index-copy p {
    grid-area: 3 / 1 / 4 / -1 !important;
    display: -webkit-box !important;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 10px 18px 20px !important;
    color: #5b6871 !important;
  }
  .page-shell .news-page .news-index-item.has-media .news-index-media {
    grid-area: 1 / 1 / 2 / -1 !important;
    align-self: start !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 16 / 9 !important;
    border-radius: 0 !important;
    margin: 0 !important;
  }
  .page-shell .news-page .news-index-item .news-index-media img {
    object-position: center !important;
  }
  .page-shell .news-page .news-index-item .news-index-media img[src*="legal-industry-rwa"] {
    object-fit: contain !important;
  }
  .page-shell .news-page .news-index-item:not(.has-media) .index-copy h3 { margin-top: 2px !important; }
  .page-shell .news-page .news-index-item:active { background: #f7f8f9 !important; }
  @media (min-width: 520px)  {
    .page-shell .news-page .news-index-item.has-media .news-index-media { aspect-ratio: 2 / 1 !important; }
  }
 }
}

@layer institutional {
 @media (max-width: 680px) , (orientation: portrait)  {
  .page-shell .mobile-digest .digest-section.updates { background: var(--home-updates-surface) !important; }
  .page-shell .mobile-digest .updates .update-list {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-auto-rows: auto;
    gap: 12px !important;
    margin-inline: -6px !important;
  }
  .page-shell .mobile-digest .updates .update-list > a,
  .page-shell .mobile-digest .updates .update-list > a:has(.update-list-media) {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) clamp(100px, 28vw, 120px) !important;
    grid-template-rows: auto auto !important;
    grid-template-areas: "title media" "summary media" !important;
    column-gap: 16px !important;
    row-gap: 8px !important;
    align-items: start !important;
    box-sizing: border-box !important;
    height: auto !important;
    min-height: 0 !important;
    min-width: 0 !important;
    padding: 18px 16px !important;
    background: var(--news-card-surface) !important;
    border: 0 !important;
    border-radius: var(--radius-ui) !important;
    box-shadow: none !important;
  }
  .page-shell .mobile-digest .updates .update-list > a > strong {
    grid-area: title !important;
    align-self: start;
    display: -webkit-box !important;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2 !important;
    overflow: hidden !important;
    text-overflow: ellipsis;
    min-width: 0 !important;
    max-height: 2lh;
    padding: 0 !important;
    margin: 0 !important;
    color: #2c4252 !important;
  }
  .page-shell .mobile-digest .updates .update-summary {
    grid-area: summary !important;
    display: -webkit-box !important;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    overflow: hidden !important;
    text-overflow: ellipsis;
    min-width: 0;
    max-height: 2lh;
    padding: 0 !important;
    margin: 0 !important;
    color: #5f6e79 !important;
  }
  .page-shell .mobile-digest .updates .update-list > a:not(:has(.update-list-media)) { grid-template-columns: minmax(0, 1fr) !important; grid-template-areas: "title" "summary" !important; }
  .page-shell .mobile-digest .updates .update-list-media {
    grid-area: media !important;
    align-self: start !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 4 / 3 !important;
    margin: 0 !important;
    border-radius: var(--radius-ui) !important;
    box-shadow: none !important;
  }
  .page-shell .mobile-digest .updates .update-list-media img { width: 100% !important; height: 100% !important; object-fit: cover !important; }
  .page-shell .mobile-digest .updates .update-list > a:active { filter: brightness(.96); }
  @media (max-width: 359px)  {
    .page-shell .mobile-digest .updates .update-list > a:has(.update-list-media) { grid-template-columns: minmax(0, 1fr) 88px !important; column-gap: 12px !important; padding: 16px 14px !important; }
  }
 }
}

@layer institutional {
 @media (max-width: 680px) , (orientation: portrait)  {
  .page-shell .news-page .news-index-item.text-only {
    grid-template-rows: auto auto !important;
    padding: 18px !important;
  }
  .page-shell .news-page .news-index-item.text-only .index-copy h3 {
    grid-area: 1 / 1 / 2 / -1 !important;
    display: -webkit-box !important;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2 !important;
    overflow: hidden !important;
    margin: 0 !important;
  }
  .page-shell .news-page .news-index-item.text-only .index-copy p {
    grid-area: 2 / 1 / 3 / -1 !important;
    margin: 8px 0 0 !important;
    -webkit-line-clamp: 2;
  }
 }
 @media (min-width: 681px) and (orientation: landscape)  {
  .page-shell .news-page .news-index-item.text-only {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-areas: "meta" "copy" !important;
    padding-block: 22px !important;
  }
  .page-shell .news-page .news-index-item.text-only .index-copy p {
    display: -webkit-box !important;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden !important;
  }
 }
}

@layer institutional {
  @media (min-width: 681px) and (orientation: landscape) and (max-width: 1100px) , (min-width: 681px) and (orientation: landscape) and (aspect-ratio < 8/5)  {
    html[lang] {
      --gutter: clamp(28px, 4.2vw, 56px) !important;
      scroll-padding-top: 96px !important;
    }
    .page-shell .site-header {
      height: var(--navigation-height) !important;
      min-height: var(--navigation-height) !important;
      gap: 28px !important;
    }
    .page-shell .header-actions { gap: 16px !important; }
    .page-shell .lang-link { min-width: 44px !important; min-height: 44px !important; display: inline-flex !important; align-items: center; justify-content: center; }
    .page-shell .desktop-nav { gap: 24px !important; }
    .page-shell :is(.section, .profile-document) { padding-block: 64px !important; }
    .page-shell .section-heading { margin-bottom: 32px !important; }

    .page-shell .hero { height: auto !important; min-height: 0 !important; }
    .page-shell .hero-grid { grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr) !important; min-height: clamp(440px, 49vw, 610px) !important; height: auto !important; gap: 36px !important; }
    .page-shell .hero-copy { min-width: 0 !important; padding: 44px 0 !important; }
    .page-shell .hero h1 { gap: 12px !important; margin-bottom: 24px !important; }
    .page-shell .hero .lead { margin-top: 28px !important; }
    .page-shell .hero .hero-portrait { min-width: 0 !important; height: clamp(400px, 47vw, 580px) !important; }
    .page-shell .mobile-hero-gallery { display: none !important; }
    .page-shell .about-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1.16fr) !important; gap: 36px 40px !important; }
    .page-shell .about-panel { min-width: 0 !important; }
    .page-shell .profile-redesign .profile-columns { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr) !important; gap: 40px !important; padding-bottom: 36px !important; align-items: start !important; }
    .page-shell .profile-redesign :is(.profile-education, .profile-appointments) { min-width: 0 !important; }
    html[lang] .page-shell .profile-redesign :is(.profile-primary, .profile-secondary) { min-width: 0 !important; max-width: none !important; width: auto !important; text-align: left !important; justify-self: start !important; overflow-wrap: break-word; }
    .page-shell .profile-redesign :is(.profile-degrees, .profile-appointments ul) { grid-template-columns: minmax(0, 1fr) !important; gap: 22px !important; align-content: start; }
    .page-shell .profile-redesign .profile-degrees > li { display: grid !important; grid-template-columns: minmax(0, 1fr) !important; gap: 4px !important; align-items: start !important; }
    .page-shell .profile-redesign :is(.profile-licenses li, .profile-secondary) { white-space: normal !important; }
    html[lang] .page-shell .profile-redesign .profile-practice { grid-template-columns: minmax(0, 1fr) !important; gap: 28px !important; padding: 32px !important; }
    .page-shell .profile-redesign .profile-practice ul { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 24px 32px !important; }
    .page-shell .cases-preview .case-grid { gap: 40px 48px !important; }

    .page-shell section.profile-lead { padding-top: 24px !important; }
    .page-shell section.profile-lead .profile-lead-inner { grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr) !important; min-height: 360px !important; gap: 32px !important; }
    .page-shell section.profile-lead .profile-identity { min-width: 0 !important; padding-block: 32px !important; }
    .page-shell section.profile-lead .portrait-block { min-width: 0 !important; height: 360px !important; }
    .page-shell section.profile-lead .contact-lines { margin-top: 24px !important; }
    .page-shell section.profile-lead .contact-lines > div { grid-template-columns: 48px minmax(0, 1fr) !important; gap: 10px !important; }
    .page-shell section.profile-lead .contact-lines a { overflow-wrap: anywhere; }
    .page-shell .profile-document-grid { grid-template-columns: minmax(0, 1fr) !important; gap: 0 !important; }
    .page-shell .profile-side-nav { display: none !important; }
    .page-shell .profile-content { min-width: 0 !important; gap: 44px !important; }
    .page-shell :is(.document-section, .support-disclosure) { scroll-margin-top: 24px !important; }
    .page-shell .support-grid { gap: 32px !important; }

    .page-shell main[data-page-frame] {
      --page-banner-height: 172px;
      --page-banner-bottom: 40px;
      --page-content-top: 48px;
      --page-content-bottom: 72px;
      --page-group-gap: 48px;
    }
    .page-shell main[data-page-frame] :is(.case-group-heading, .service-area-toggle) { position: static !important; float: none !important; width: 100% !important; box-sizing: border-box !important; }
    .page-shell main[data-page-frame] :is(.case-group-body, .service-area-content) { margin-left: 0 !important; padding-top: 20px !important; }
    .page-shell .case-group .case-item { grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr) !important; gap: 12px 36px !important; }
    .page-shell .case-group .case-grid { gap: 32px !important; }
    .page-shell .article-standard-flow { --article-gutter: var(--gutter); }
    .page-shell .article-standard-flow .article-hero { padding-block: 44px 32px !important; }
    .page-shell .article-standard-flow .article-meta { flex-wrap: wrap; gap: 10px 20px !important; margin-top: 20px !important; }
    .page-shell .article-standard-flow .article-body { overflow-wrap: anywhere; }
    .page-shell .article-standard-flow .article-body table { display: block; overflow-x: auto; }

    .page-shell .home-contact { padding-block: 56px !important; }
    .page-shell .home-contact-grid { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr) !important; gap: 20px 36px !important; }
    .page-shell :is(.home-contact-channel, .channel-main) { min-width: 0 !important; }
    .page-shell :is(.home-contact-channel, .channel-main) a { overflow-wrap: anywhere; }
    .page-shell .contact-contexts { gap: 32px !important; padding-bottom: 64px !important; }
    .page-shell .footer { padding-top: 48px !important; }
    .page-shell .footer-grid { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr) minmax(0, 1fr) !important; gap: 32px !important; }
    .page-shell .footer-grid > * { min-width: 0; }
    .page-shell .footer-nav { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 0 20px !important; }
    .page-shell :is(.footer-nav a, .footer-email) { display: inline-flex; align-items: center; min-height: 44px; }
    .page-shell .footer-email { overflow-wrap: anywhere; }
    .page-shell .footer-bottom { margin-top: 32px !important; }
  }

  @media (max-width: 1100px) , (aspect-ratio < 8/5)  {
    .page-shell .mobile-menu {
      --menu-link-color: #c5d2dc;
      --menu-current-color: #f5f8fa;
      --menu-hover-color: #f5f8fa;
      --menu-dim-color: #b5c6d2;
      --menu-current-bg: var(--navigation-selected-surface);
      inset: calc(var(--navigation-height) + 8px) var(--gutter) auto auto !important;
      width: var(--menu-width) !important; height: auto !important; min-height: 0 !important; max-height: calc(100dvh - var(--navigation-height) - 24px) !important;
      grid-template-columns: minmax(0, 1fr) !important; align-items: stretch !important; padding: var(--menu-padding) !important; gap: 2px !important; background: var(--navigation-panel-surface) !important; border: 1px solid rgba(185, 211, 226, .18) !important; border-radius: var(--radius-ui) !important;
      box-shadow: 0 4px 12px rgba(9, 30, 45, .10), 0 18px 40px rgba(9, 30, 45, .16) !important; box-sizing: border-box;
      overflow-x: hidden !important; overflow-y: auto !important; overscroll-behavior-y: contain;
    }
    html[lang] .page-shell .mobile-menu { border: 0 !important; }
    html[lang] .page-shell .mobile-menu a { width: 100% !important; max-width: none !important; justify-self: stretch !important; align-self: stretch !important; display: flex !important; align-items: center !important; position: relative !important; min-height: var(--menu-row-height) !important; padding: 10px 36px 10px 16px !important; border: 0 !important; border-radius: var(--radius-ui) !important; box-sizing: border-box; }
    html[lang] .page-shell .mobile-menu a::after { content: "" !important; position: absolute; width: 5px; height: 5px; right: 17px; top: calc(50% - 3px); border: 0; border-top: 1px solid #839cAE; border-right: 1px solid #839cAE; transform: rotate(45deg); }
    html[lang] .page-shell .mobile-menu a[aria-current="page"]::before { content: ""; position: absolute; width: 2px; height: 14px; left: 0; top: calc(50% - 7px); background: #c2d7e4; border-radius: 2px; }
    html[lang] .page-shell .mobile-menu a[aria-current="page"]::after { border-color: #c2d7e4; }
    @media (hover: hover) and (pointer: fine)  {
      html[lang] .page-shell .mobile-menu a:hover:not([aria-current="page"]) { background: rgba(224, 237, 245, .04) !important; }
    }
    html[lang] .page-shell .mobile-menu a:focus-visible { text-decoration: none !important; }
    html[lang] .page-shell .mobile-menu a:focus-visible { outline: none !important; outline-offset: -2px !important; }

  }

  @media (min-width: 681px) and (orientation: landscape) and (max-width: 1100px) and (max-width: 900px) , (min-width: 681px) and (orientation: landscape) and (aspect-ratio < 8/5) and (max-width: 900px)  {
    .page-shell .about-grid { grid-template-columns: minmax(0, 1fr) !important; gap: 36px !important; }
    .page-shell .about-panel.photo-panel { grid-column: 1 !important; width: 100%; max-width: 620px; }
    .page-shell .about-gallery-media { aspect-ratio: 16 / 10 !important; }
    html[lang] .page-shell :is(.history-list, .resume-history-list) li { grid-template-columns: minmax(0, 1fr) auto !important; gap: 12px 24px !important; }
    html[lang] .page-shell :is(.history-list, .resume-history-list) .history-role { max-width: 150px; text-align: right !important; justify-self: end !important; }
    .page-shell .profile-redesign .profile-practice ul { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
    .page-shell .cases-preview .case-grid { grid-template-columns: minmax(0, 1fr) !important; gap: 32px !important; }
    .page-shell .case-group .case-item { display: flex !important; flex-direction: column; gap: 12px !important; }
    .page-shell .case-group .case-item :is(h3, .case-meta, .case-scope) { min-width: 0 !important; }
    .page-shell .contact-contexts { grid-template-columns: minmax(0, 1fr) !important; gap: 28px !important; }
    .page-shell .footer-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important; }
    .page-shell .footer-grid > :last-child { grid-column: 1 / -1; }
  }

  @media (pointer: coarse)  {
    .page-shell :is(.about-gallery-dots, .mobile-hero-gallery-dots) { gap: 0 !important; }
    .page-shell :is(.about-gallery-dots, .mobile-hero-gallery-dots) button { position: relative; min-width: 44px !important; min-height: 44px !important; width: 44px !important; height: 44px !important; padding: 0 !important; background: transparent !important; border-radius: 0 !important; }
    .page-shell .news-pagination :is(a, span) { min-width: 44px !important; min-height: 44px !important; }
    .page-shell .news-previous { min-height: 44px !important; }
  }
}

@layer motion {

  html[lang], html[lang] body {
    background-color: var(--browser-chrome, #112e41) !important;
  }
  :root {
    --motion-feedback: 160ms;
    --motion-surface: 260ms;
    --motion-photo: 420ms;
    --motion-gallery: 480ms;
    --motion-entry: 550ms;
    --motion-quiet-ease: cubic-bezier(0.25, 0.1, 0.25, 1);
    --motion-exit-ease: cubic-bezier(0.4, 0, 1, 1);
  }
  .page-shell a.text-link[data-navigation-back]::after { content: "←" !important; }

  @media (prefers-reduced-motion: no-preference)  {

    .page-shell :is([data-scroll-text="pending"], [data-scroll-text="ready"]) {
      opacity: var(--entry-opacity, 0.6) !important;
      translate: var(--entry-translate, 0 6px);
    }
    .page-shell [data-scroll-text] { transition: none !important; }
    .page-shell :is([data-scroll-text="ready"], [data-scroll-text="running"]) { will-change: opacity, translate; }
    .page-shell [data-motion-card]:is([data-scroll-text="pending"], [data-scroll-text="ready"]) {
      scale: var(--entry-scale, 0.995);
      transform-origin: 50% 50%;
    }
    .page-shell [data-motion-card]:is([data-scroll-text="ready"], [data-scroll-text="running"]) { will-change: opacity, translate, scale; }

    .page-shell main { animation: none !important; }

    .page-shell :is(.desktop-nav a, .lang-link, .contact-link, .btn, .text-link, .profile-side-nav a, .footer-nav a, .footer-email, .home-contact-channel a, .channel-main a, .mobile-menu a, summary, .service-entry-action, .about-gallery-arrows button, .about-gallery-dots button, .mobile-hero-gallery-dots button, .section-title > a, .matter-list a, .update-list a, .contact-actions a, .contact-lines a, .news-pagination a, .news-search-clear, .news-search-reset, .news-pair-secondary) {
      transition: color var(--motion-feedback) ease, background-color 200ms ease, opacity var(--motion-feedback) ease, translate 220ms var(--motion-quiet-ease), scale var(--motion-feedback) var(--motion-quiet-ease) !important;
    }
    .page-shell :is(.btn, .contact-link, .about-gallery-arrows button, .menu-button, .news-search-clear, .news-search-reset):active {
      scale: 0.98;
      translate: 0 1px;
      filter: none !important;
      transition-duration: 80ms !important;
    }
    .page-shell :is(.desktop-nav a, .lang-link, .footer-nav a, .profile-side-nav a, .text-link, .contact-lines a, .contact-actions a, .section-title > a, .news-pagination a):active { opacity: 0.72; }
    .page-shell :is(.about-gallery-dots, .mobile-hero-gallery-dots) button:active { scale: 0.9; }
    .page-shell :is(.timeline-card, .news-index-item, .matter-list a, .update-list a, .news-pair-secondary) {
      transition: translate 220ms var(--motion-quiet-ease), opacity var(--motion-feedback) ease, background-color 200ms ease !important;
    }
    .page-shell :is(.timeline-card, .news-index-item, .matter-list a, .update-list a, .news-pair-secondary):active { translate: 0 1px; opacity: 0.88; }
    @media (hover: none), (pointer: coarse)  {

      .page-shell :is(.btn, .contact-link, .about-gallery-arrows button, .menu-button, .news-search-clear, .news-search-reset, .timeline-card, .news-index-item, .matter-list a, .update-list a, .news-pair-secondary):active {
        scale: none !important;
        translate: none !important;
      }
    }
    .page-shell :is(.timeline-card, .news-index-item, .news-pair-secondary) :is(h3, strong),
    .page-shell .matter-list strong { transition: color var(--motion-feedback) ease, opacity var(--motion-feedback) ease !important; }
    .page-shell :is(.timeline-card, .news-index-item, .update-list a) img { transform: none !important; transition: none !important; }
    .page-shell .recognition-logo img { transition: opacity 220ms ease !important; }
    .page-shell .service-overview-link { transition: background-color 240ms ease !important; }
    .page-shell .service-overview-link:active { background-color: #e8eef2 !important; }
    .page-shell summary:active { opacity: 0.78; }
    .page-shell a[data-navigation-pending] { opacity: 0.65 !important; }

    .page-shell :is(.btn.secondary, .text-link)::after {
      display: inline-block !important;
      transform: none !important;
      transition: translate 220ms var(--motion-quiet-ease) !important;
    }
    .page-shell :is(.section-title > a, .contact-actions a:last-child)::after { transition: translate 220ms var(--motion-quiet-ease) !important; }
    .page-shell :is(.btn.secondary, .text-link, .contact-actions a:last-child):active::after { translate: 2px 0; }
    .page-shell .text-link[data-navigation-back]:active::after { translate: -2px 0; }
    .page-shell .profile-side-nav a[aria-current="location"] { translate: 2px 0; }

    .page-shell .about-gallery-media { overflow: hidden !important; }
    .page-shell .about-gallery-slide { transition: opacity var(--motion-gallery) ease !important; }
    .page-shell .about-gallery-slide img { animation: none !important; }
    .page-shell :is(.about-gallery-dots, .mobile-hero-gallery-dots) button::before {
      transition: width var(--motion-surface) var(--motion-quiet-ease), opacity var(--motion-feedback) ease, background-color var(--motion-feedback) ease !important;
    }
    .page-shell :is(.case-group-heading, .service-area-toggle)::after {
      rotate: -90deg;
      transition: rotate var(--motion-surface) var(--motion-quiet-ease) !important;
    }
    .page-shell [open] > :is(.case-group-heading, .service-area-toggle)::after { rotate: 0deg; }
    .page-shell [data-disclosure-closing] > :is(.case-group-heading, .service-area-toggle)::after { rotate: -90deg; }
    .page-shell [data-disclosure-animating] { box-sizing: border-box !important; overflow: hidden !important; overflow-anchor: none; }

    @media (hover: hover) and (pointer: fine)  {
      .page-shell :is(.btn.secondary, .text-link, .section-title > a):hover::after { translate: 3px 0; }
      .page-shell .text-link[data-navigation-back]:hover::after { translate: -3px 0; }
      .page-shell :is(.timeline-card, .news-index-item, .update-list a):hover img { transform: none !important; }
      .page-shell :is(.desktop-nav a, .lang-link):hover { color: #fff !important; }
      .page-shell .contact-link:hover { background-color: #2c4a5e !important; }
      .page-shell .about-gallery-arrows button:hover { background-color: #dce5eb !important; }
      .page-shell [data-about-gallery-prev]:hover { translate: -2px 0; }
      .page-shell [data-about-gallery-next]:hover { translate: 2px 0; }
      .page-shell .service-overview-link:is(:hover, :focus-visible) .service-entry-action { translate: 3px 0; }
      .page-shell :is(.contact-lines a, .channel-main a, .home-contact-channel a):hover { opacity: 0.82; }
      .page-shell .profile-side-nav a:hover { translate: 2px 0; }
      .page-shell .matter-list a:hover strong { opacity: 0.82; }
    }

    @media (max-width: 1100px) , (aspect-ratio < 8/5)  {

      .page-shell .mobile-menu {
        display: grid !important;
        opacity: 1 !important;
        visibility: hidden !important;
        pointer-events: none !important;
        transform: none !important;
        translate: none !important;
        transition: visibility 0s linear 220ms !important;
      }
      .page-shell .mobile-menu[data-open] {
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        translate: none !important;
        transition-delay: 0s !important;
      }
      .page-shell .mobile-menu a {
        opacity: 0;
        translate: 0 4px;
        transition: color 160ms ease, opacity 180ms ease, translate 220ms ease !important;
      }
      .page-shell .mobile-menu[data-open] a {
        opacity: 1;
        translate: 0 0;
        transition-duration: 160ms, 500ms, 550ms !important;
        transition-delay: 0ms, var(--menu-delay, 0ms), var(--menu-delay, 0ms) !important;
      }
      .page-shell .menu-button { gap: 6px !important; transition: scale 160ms var(--motion-quiet-ease), translate 160ms var(--motion-quiet-ease) !important; }
      .page-shell .menu-button span { transform: none !important; height: 2px !important; transition: translate 220ms var(--motion-quiet-ease), rotate 220ms var(--motion-quiet-ease) !important; }
      .page-shell .menu-button[aria-expanded="true"] span:first-child { translate: 0 4px; rotate: 45deg; }
      .page-shell .menu-button[aria-expanded="true"] span:last-child { translate: 0 -4px; rotate: -45deg; }
    }
    html[data-page-departing]:not([data-menu-persist]) .mobile-menu { visibility: hidden !important; transition: none !important; }
  }

  @media (prefers-reduced-motion: reduce)  {
    html, .page-shell *, .page-shell *::before, .page-shell *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
    .page-shell :is(.btn, .contact-link, .menu-button, .about-gallery-arrows button):active { scale: none; translate: none; }
  }
  @media print  {
    .page-shell [data-scroll-text] { opacity: 1 !important; }
  }
}

@view-transition { navigation: auto; }
@media (prefers-reduced-motion: no-preference)  {
  .page-shell .site-header { view-transition-name: site-header; }
  ::view-transition { pointer-events: none; background: var(--browser-chrome, #112e41); }
  ::view-transition-group(*), ::view-transition-old(*), ::view-transition-new(*) {
    animation: none !important; opacity: 1;
  }
  ::view-transition-old(root), ::view-transition-new(root) { mix-blend-mode: normal; }
  ::view-transition-image-pair(root) { isolation: isolate; }
  ::view-transition-new(root) { animation: site-page-crossfade 550ms ease both !important; }

  ::view-transition-group(site-header), ::view-transition-image-pair(site-header) { background: var(--browser-chrome); }
  @media (max-width: 1100px) , (aspect-ratio < 8/5)  {
    .page-shell .mobile-menu { view-transition-name: site-menu; }
    ::view-transition-old(site-menu) { animation: site-page-fade-out 300ms ease both !important; }
  }
}
@media (prefers-reduced-motion: reduce)  { @view-transition { navigation: none; } }
@keyframes site-text-arrive {
  from { opacity: 0; translate: 0 6px; }
  to { opacity: 1; translate: 0 0; }
}
@keyframes site-page-crossfade { from { opacity: 0; } to { opacity: 1; } }
@keyframes site-page-fade-out { from { opacity: 1; } to { opacity: 0; } }
@keyframes site-card-arrive {
  from { opacity: 0; translate: 0 6px; scale: 0.995; }
  to { opacity: 1; translate: 0 0; scale: 1; }
}

@layer institutional {
  @media (prefers-reduced-motion: no-preference)  {

    html[lang] .page-shell :is(.site-header, .brand, .hero-copy, .hero-grid, .profile-lead-inner, .subpage-hero, .article-hero-grid) {
      animation: none !important; translate: none !important; opacity: 1 !important;
    }
    html[lang] .page-shell :is(.hero-copy > h1, .profile-identity, .subpage-hero > h1, .subpage-heading, .article-title, .hero-portrait, .portrait-block) {
      animation: site-text-arrive 550ms ease backwards !important;
    }
    html[lang] .page-shell :is(.hero-copy > .hero-role-line, .hero-copy > .lead, .hero-copy > .button-row, .subpage-hero > p, .article-hero-grid > .article-meta) {
      animation: site-text-arrive 550ms ease backwards !important;
    }
    html[lang] .page-shell .profile-identity > *,
    html[lang] .page-shell .profile-identity > .contact-lines > div,
    html[lang] .page-shell .article-title > * { animation: none !important; clip-path: none !important; }
    html[lang]:is([data-motion-restored], [data-native-arrival]) .page-shell :is(.hero-copy > h1, .hero-copy > .hero-role-line, .hero-copy > .lead, .hero-copy > .button-row, .profile-identity, .subpage-hero > h1, .subpage-heading, .subpage-hero > p, .article-title, .article-hero-grid > .article-meta, .hero-portrait, .portrait-block) { animation: none !important; }
    .page-shell :is(.timeline-card, .news-index-item, .update-list a) img,
    .page-shell :is(.timeline-card, .news-index-item, .update-list a):hover img {
      transform: none !important; animation: none !important; transition: none !important;
    }
    @media (max-width: 1100px) , (aspect-ratio < 8/5)  {

      html[lang] .page-shell .mobile-menu {
        display: grid !important; opacity: 1 !important;
        visibility: hidden !important; pointer-events: none !important;
        translate: none !important; transform: none !important;
        transition: visibility 0s linear 220ms !important;
      }
      html[lang] .page-shell .mobile-menu[data-open] {
        visibility: visible !important; pointer-events: auto !important;
        transition-delay: 0s !important;
      }
      html[lang] .page-shell .mobile-menu a {
        opacity: 0 !important; translate: 0 4px !important;
        transition: color 160ms ease, opacity 180ms ease, translate 220ms ease !important;
        transition-delay: 0s !important;
      }
      html[lang] .page-shell .mobile-menu[data-open] a {
        opacity: 1 !important; translate: 0 0 !important;
        transition-duration: 160ms, 500ms, 550ms !important;
        transition-delay: 0ms, var(--menu-delay, 0ms), var(--menu-delay, 0ms) !important;
      }
      html[lang][data-menu-restoring] .page-shell .mobile-menu,
      html[lang][data-menu-restoring] .page-shell .mobile-menu a {
        visibility: visible !important; opacity: 1 !important;
        translate: none !important; transition: none !important;
      }
    }
  }
  @media print  {
    .page-shell * { animation: none !important; translate: none !important; clip-path: none !important; }
  }
}

@layer institutional {
  html[lang] { --navigation-height: 88px; }
  @media (max-width: 1100px) , (aspect-ratio < 8/5)  {
    html[lang] { --navigation-height: 76px; --menu-width: clamp(196px, 54vw, 240px); --menu-row-height: 44px; --menu-padding: 6px; }
    html[lang] .page-shell .site-header { height: var(--navigation-height) !important; min-height: var(--navigation-height) !important; }
    html[lang] .page-shell .desktop-nav { display: none !important; }
    html[lang] .page-shell .menu-button { display: inline-flex !important; background: transparent !important; }
    html[lang] .page-shell .profile-side-nav { display: none !important; }
    html[lang] .page-shell .profile-document-grid { grid-template-columns: minmax(0, 1fr) !important; gap: 0 !important; }
    html[lang] .page-shell .mobile-menu { width: min(var(--menu-width), calc(100vw - 2 * var(--gutter))) !important; }
    html[data-menu-restoring] .page-shell .mobile-menu { display: grid !important; opacity: 1 !important; visibility: visible !important; pointer-events: auto !important; translate: none !important; }
    html[data-menu-restoring] .page-shell .mobile-menu a { opacity: 1 !important; translate: none !important; }
  }
  @media (max-width: 680px) , (orientation: portrait)  {
    html[lang] { --navigation-height: 68px; }
    html[lang] .page-shell .hero .hero-portrait { display: none !important; }
    html[lang] .page-shell .mobile-hero-gallery { display: grid !important; }
    html[lang] .page-shell .mobile-hero-gallery-dots { position: absolute !important; inset: auto 0 0 !important; z-index: 2 !important; min-height: 44px !important; align-items: center !important; justify-content: center !important; }
    html[lang] .page-shell .mobile-hero-gallery-dots button { appearance: none !important; height: 44px !important; border: 0 !important; box-shadow: none !important; }
    html[lang] .page-shell .mobile-hero-gallery-dots button::before { top: auto !important; bottom: 6px !important; width: 4px !important; height: 4px !important; border-radius: 2px !important; transform: translateX(-50%) !important; background: rgba(255, 255, 255, .28) !important; }
    html[lang] .page-shell .mobile-hero-gallery-dots button[data-active]::before { width: 14px !important; background: rgba(255, 255, 255, .52) !important; }
  }
  @media (min-width: 681px) and (orientation: portrait)  {
    html[lang] { --menu-width: clamp(280px, 36vw, 380px); --menu-row-height: clamp(48px, 5.2svh, 60px); --menu-padding: 10px; --gutter: clamp(28px, 4.2vw, 48px) !important; --mobile-gutter: var(--gutter) !important; }
    html[lang] .page-shell .hero-grid { width: calc(100% - 2 * var(--gutter)) !important; max-width: none !important; }
    html[lang] .page-shell .mobile-hero-gallery-track { height: min(66.6667vw, calc(100svh - 300px)) !important; min-height: 220px !important; aspect-ratio: auto !important; }
    html[lang] .page-shell .mobile-hero-gallery-slide img { object-position: center 24% !important; }
    html[lang] .page-shell .hero .lead-primary { width: 100% !important; max-width: none !important; }
    html[lang] .page-shell .hero :is(h1, .hero-role-line, .lead) { width: 100% !important; max-width: 760px !important; margin-inline: auto !important; }
    html[lang] .page-shell .digest-section { padding-inline: max(var(--gutter), calc((100vw - 760px) / 2)) !important; }
    html[lang] .page-shell .profile-document-grid { max-width: 760px !important; margin-inline: auto !important; }
    html[lang] .page-shell section.profile-lead { height: auto !important; min-height: 320px !important; }
    html[lang] .page-shell section.profile-lead .profile-lead-inner { --mobile-profile-portrait: clamp(240px, 32vw, 340px); width: calc(100% - 2 * var(--gutter)) !important; max-width: 760px !important; height: auto !important; min-height: 320px !important; grid-template-columns: minmax(0, 1fr) var(--mobile-profile-portrait) !important; gap: 24px !important; }
    html[lang] .page-shell section.profile-lead .profile-identity { width: auto !important; padding: 28px 0 !important; transform: none !important; }
    html[lang] .page-shell section.profile-lead .portrait-block { width: 100% !important; height: 320px !important; margin: 0 !important; transform: none !important; }
  }
  @media (min-width: 681px) and (orientation: landscape) and (max-width: 1100px) , (min-width: 681px) and (orientation: landscape) and (aspect-ratio < 8/5)  {
    html[lang] { --menu-width: clamp(280px, 28vw, 360px); --menu-row-height: clamp(44px, 6svh, 56px); --menu-padding: 10px; }
  }
  @media (min-width: 1101px) and (min-aspect-ratio: 8/5)  {
    html[lang] .page-shell .desktop-nav { display: flex !important; }
    html[lang] .page-shell .menu-button { display: none !important; }
    html[lang] .page-shell .mobile-menu { display: none !important; }
  }
}

@layer institutional {
  @media (width > 680px)  {
    html[lang] .page-shell main[data-page-frame] .case-page {
      --page-content-top: clamp(48px, 5vw, 72px);
      --page-content-bottom: clamp(72px, 7.3vw, 104px);
      --page-group-gap: clamp(48px, 5.3vw, 76px);
    }
    html[lang] .page-shell main[data-page-frame] .case-page .grouped-cases {
      width: min(var(--measure), calc(100% - var(--gutter) * 2)) !important;
    }
    html[lang] .page-shell main[data-page-frame] .case-page .case-group-heading {
      position: relative !important; float: left !important; width: 28% !important;
      min-height: 44px !important; margin: 0 !important; padding: 0 !important;
    }
    html[lang] .page-shell main[data-page-frame] .case-page .case-group-body {
      display: block !important; margin: 0 0 0 34% !important; padding: 0 !important;
    }
    html[lang] .page-shell main[data-page-frame] .case-page .case-grid-head { display: none !important; }
    html[lang] .page-shell main[data-page-frame] .case-page .case-grid {
      display: grid !important; grid-template-columns: minmax(0, 1fr) !important; gap: 32px !important;
    }
    html[lang] .page-shell main[data-page-frame] .case-page .case-item {
      display: grid !important; grid-template-columns: minmax(0, .95fr) minmax(0, 1.1fr) !important;
      gap: 12px clamp(20px, 2.5vw, 36px) !important; min-width: 0 !important; padding: 0 !important;
      background: none !important; border-radius: 0 !important;
    }
    html[lang] .page-shell main[data-page-frame] .case-page .case-item h3 {
      grid-column: 1 !important; grid-row: 1 !important; margin: 0 !important; min-width: 0 !important;
      color: var(--ink) !important;
    }
    html[lang] .page-shell main[data-page-frame] .case-page .case-meta {
      grid-column: 1 !important; grid-row: 2 !important; display: flex !important; flex-wrap: wrap;
      gap: 6px 16px !important; color: #5f7380 !important;
    }
    html[lang] .page-shell main[data-page-frame] .case-page .case-scope {
      grid-column: 2 !important; grid-row: 1 / 3 !important; display: block !important; min-width: 0 !important;
    }
    html[lang] .page-shell main[data-page-frame] .case-page .case-scope p { margin: 0 !important; color: #5b6b77 !important; }
  }
  @media (width <= 680px)  {
    html[lang] .page-shell main[data-page-frame] .case-page { --page-group-gap: 36px; }
    html[lang] .page-shell main[data-page-frame] .case-page .case-group-heading h2 { color: var(--navy) !important; }
    html[lang] .page-shell main[data-page-frame] .case-page .case-group-heading::after { align-self: center !important; padding-top: 0 !important; }
    html[lang] .page-shell main[data-page-frame] .case-page .case-group-body { padding-top: 12px !important; }
  }
}

@layer institutional {
  @media (width <= 680px)  {

    html[lang] .page-shell .site-header .brand-logo {
      transform: translateX(-1.56658%) !important;
    }

    html[lang]:has(body.menu-open) { overflow: hidden !important; }
    html[lang] body.menu-open { overflow: visible !important; }
    html[lang] .page-shell .menu-button {
      width: 44px !important; height: 44px !important; padding: 10px 0 !important;
      align-items: flex-end !important;
      border: 0 !important;
      background: transparent !important;
    }
    html[lang] .page-shell .mobile-menu {
      --menu-link-color: #8e9da7; --menu-current-color: #fff;
      --menu-hover-color: #c4cfd7; --menu-dim-color: #7e909d; --menu-current-bg: var(--navigation-selected-surface);
      inset: 0 !important; width: 100% !important; height: 100dvh !important;
      min-height: 0 !important; max-height: none !important;
      padding: calc(var(--navigation-height) + clamp(20px, 5.2dvh, 44px)) var(--mobile-gutter) max(24px, env(safe-area-inset-bottom)) !important;
      align-content: start !important; grid-auto-rows: max-content !important; gap: 8px !important;
      background: var(--masthead-surface) !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important;
    }
    html[lang] .page-shell .mobile-menu a {
      display: block !important; min-height: 62px !important; padding: 13px 16px !important;
    }
    html[lang] .page-shell .mobile-menu a::before,
    html[lang] .page-shell .mobile-menu a::after { content: none !important; display: none !important; }
    html[lang] .page-shell :is(button, [role="button"], .btn, .contact-link, .section-title > a, .news-pagination a, .news-pagination span, .news-search-reset) {
      border-radius: var(--radius-ui) !important;
    }
    html[lang] .page-shell .mobile-hero-gallery-dots button {
      flex: 0 0 24px !important; width: 24px !important; min-width: 24px !important;
      height: 44px !important; min-height: 44px !important;
    }
    html[lang] .page-shell .mobile-hero-gallery-dots button::before {
      width: 7px !important; height: 7px !important; bottom: 5px !important;
      border-radius: 2px !important; background: rgba(255, 255, 255, .26) !important;
    }
    html[lang] .page-shell .mobile-hero-gallery-dots button[data-active]::before {
      width: 20px !important; background: rgba(255, 255, 255, .54) !important;
    }
  }
  html[lang] .page-shell :is([data-email-link], a[href^="mailto:"])::after {
    content: none !important; display: none !important;
  }
}

@layer institutional {
  @media (max-width: 680px) , (orientation: portrait)  {
    html[lang] .page-shell .mobile-menu {
      background-size: 100vw 100svh !important;
      background-position: 0 0 !important;
      background-repeat: no-repeat !important;
      background-color: var(--browser-chrome) !important;
    }
  }
}

@media (min-width: 1101px) and (min-aspect-ratio: 8/5)  {
  html[lang] {
    --measure: 1120px;
    --desktop-column-inset: max(var(--gutter), calc((100vw - var(--measure)) / 2));
  }
}

@layer institutional {
  @media (min-width: 1101px) and (min-aspect-ratio: 8/5)  {
    html[lang] .page-shell .site-header {
      padding-inline: var(--desktop-column-inset) !important;
    }

    html[lang] .page-shell section.profile-lead .portrait-block {
      transform: translateX(32px) scale(1.15) !important;
    }

    html[lang] .page-shell .hero .hero-portrait {
      transform: translateX(32px) scale(1.1) !important;
    }
  }
}
