/* Paper-only layout, loaded last with media="print"; screen branding is unchanged. */
@page {
  size: A4 portrait;
  margin: 15mm;
}

html:root,
html:root body {
  width: auto !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  background: #fff !important;
  color: #111 !important;
  font: 10.5pt/1.45 Manrope, Arial, sans-serif !important;
}

html:root body *,
html:root body *::before,
html:root body *::after {
  color: #111 !important;
  -webkit-text-fill-color: #111 !important;
  background: transparent !important;
  border-color: #aaa !important;
  box-shadow: none !important;
  text-shadow: none !important;
  animation: none !important;
  transition: none !important;
  transform: none !important;
  backdrop-filter: none !important;
}

html:root body main,
html:root body .wrap,
html:root body .legal-wrap {
  width: 100% !important;
  max-width: none !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
}

html:root body section,
html:root body .legal-main {
  position: static !important;
  width: auto !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  padding: 5mm 0 !important;
  overflow: visible !important;
  break-inside: auto !important;
  page-break-inside: auto !important;
}

html:root body h1 {
  font-size: 25pt !important;
  line-height: 1.15 !important;
  letter-spacing: -.025em !important;
  margin: 2mm 0 4mm !important;
}

html:root body h2 {
  font-size: 17pt !important;
  line-height: 1.2 !important;
  letter-spacing: -.015em !important;
  margin: 0 0 3mm !important;
}

html:root body h3,
html:root body h4 {
  font-size: 12pt !important;
  line-height: 1.3 !important;
  letter-spacing: normal !important;
  margin: 3mm 0 2mm !important;
}

html:root body p,
html:root body li,
html:root body dt,
html:root body dd {
  max-width: none !important;
  font-size: 10.5pt !important;
  line-height: 1.45 !important;
  letter-spacing: normal !important;
  orphans: 3;
  widows: 3;
}

html:root body p {
  margin: 0 0 3mm !important;
}

html:root body h1,
html:root body h2,
html:root body h3,
html:root body h4,
html:root body dt,
html:root body summary {
  break-after: avoid;
  page-break-after: avoid;
}

html:root body a {
  color: #111 !important;
  text-decoration: underline !important;
  text-underline-offset: 2px;
  overflow-wrap: anywhere;
}

html:root body .eyebrow,
html:root body .breadcrumb,
html:root body .legal-date,
html:root body .career-hero-note,
html:root body .job-category,
html:root body .job-opening-meta,
html:root body .job-opening-footer {
  font-size: 8.5pt !important;
  line-height: 1.4 !important;
  letter-spacing: .025em !important;
  margin: 0 0 3mm !important;
}

/* Keep the logo and contact details; omit interactive and purely decorative UI. */
html:root body .brand-intro,
html:root body canvas,
html:root body .skip-link,
html:root body .reading-progress,
html:root body .desktop-nav,
html:root body .mobile-menu,
html:root body .header-cta,
html:root body button:not(.service-card),
html:root body dialog,
html:root body .contact-whatsapp-float,
html:root body .hero-photo,
html:root body .hero-shade,
html:root body .hero-grid,
html:root body .hero-side-note,
html:root body .hero-bottom,
html:root body .career-hero-image,
html:root body .career-hero-bottom,
html:root body .hero-actions,
html:root body .subhero-actions,
html:root body .policy-contact-actions,
html:root body .text-link,
html:root body .button,
html:root body .back-top,
html:root body .status-dot,
html:root body .portrait-bracket,
html:root body .photo-bracket,
html:root body .image-coordinate,
html:root body .service-overlay,
html:root body .service-icon,
html:root body .service-more,
html:root body .service-index,
html:root body .service-page-links,
html:root body .statement-star,
html:root body .jobs-toolbar,
html:root body .job-expand,
html:root body .job-apply-row,
html:root body .initiative-mark,
html:root body .inquiry-panel,
html:root body .inquiry-review,
html:root body .legal-toc,
html:root body .footer-main > div,
html:root body .footer-bottom > div,
html:root body .footer-city,
html:root body .contact-social-footer {
  display: none !important;
}

html:root body .site-header,
html:root body .site-header.is-sticky {
  position: static !important;
  display: block !important;
  width: auto !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 0 0 4mm !important;
  margin: 0 0 3mm !important;
  border: 0 !important;
  border-bottom: .3mm solid #555 !important;
}

html:root body .brand,
html:root body .site-header .brand {
  position: static !important;
  display: block !important;
  width: 43mm !important;
  height: auto !important;
  margin: 0 !important;
  overflow: visible !important;
}

html:root body .brand img,
html:root body .site-header .brand img,
html:root body .leadership-mark > img {
  position: static !important;
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: none !important;
  filter: brightness(0) !important;
}

html:root body .hero-content,
html:root body .career-hero-content,
html:root body .policy-hero-copy,
html:root body .legal-content,
html:root body .section-heading {
  position: static !important;
  display: block !important;
  padding: 0 !important;
  margin: 0 0 4mm !important;
}

html:root body .hero h1 > span,
html:root body .service-region {
  display: inline !important;
  font-size: inherit !important;
}

html:root body .hero h1 > span + span::before {
  content: " ";
}

html:root body .service-region::before {
  content: " – ";
}

html:root body .intro-layout,
html:root body .attitude-layout,
html:root body .policy-hero-layout,
html:root body .policy-practice-layout,
html:root body .leadership-layout,
html:root body .two-column-intro,
html:root body .faq-layout,
html:root body .contact-layout,
html:root body .service-hero-layout,
html:root body .service-two-column,
html:root body .service-contact-layout,
html:root body .service-related-top,
html:root body .contact-linkedin-layout,
html:root body .partners-layout,
html:root body .job-description-grid {
  display: block !important;
  margin: 0 !important;
}

html:root body .policy-principles-grid,
html:root body .process-grid,
html:root body .career-process-grid,
html:root body .service-task-grid,
html:root body .service-step-grid,
html:root body .service-related-links,
html:root body .service-grid {
  display: block !important;
  margin: 3mm 0 0 !important;
  padding: 0 !important;
}

html:root body .policy-principle,
html:root body .practice-list article,
html:root body .process-step,
html:root body .career-process-grid article,
html:root body .service-task-grid article,
html:root body .service-step-grid li,
html:root body .value-row,
html:root body .career-initiative {
  position: static !important;
  display: block !important;
  padding: 3mm 0 !important;
  margin: 0 !important;
  break-inside: avoid;
  page-break-inside: avoid;
}

html:root body .process-step .step-top,
html:root body .career-process-grid article > span {
  position: static !important;
  display: block !important;
  font-size: 8.5pt !important;
  margin: 0 !important;
}

html:root body .step-top i,
html:root body .statement::before,
html:root body .statement::after,
html:root body .attitude-photo::after,
html:root body .policy-hero::before,
html:root body .ceo-portrait::after,
html:root body .service-hero-photo::after,
html:root body .leadership-mark::after,
html:root body .contact-linkedin-card::after {
  display: none !important;
}

html:root body .reveal,
html:root body .js-motion .reveal {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}

/* Captions flow below photographs, so printing without backgrounds is safe. */
html:root body .ceo-portrait,
html:root body .service-hero-photo {
  position: static !important;
  display: block !important;
  width: 60mm !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  aspect-ratio: auto !important;
  margin: 4mm 0 !important;
  overflow: visible !important;
  break-inside: avoid;
  page-break-inside: avoid;
}

html:root body .ceo-portrait > img,
html:root body .service-hero-photo > img {
  position: static !important;
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
  object-fit: contain !important;
  filter: none !important;
}

html:root body .ceo-portrait figcaption,
html:root body .service-hero-photo figcaption {
  position: static !important;
  display: block !important;
  padding: 2mm 0 0 !important;
  margin: 0 !important;
  font-size: 10pt !important;
  line-height: 1.4 !important;
  letter-spacing: normal !important;
}

html:root body .ceo-portrait figcaption > span {
  display: block !important;
  font-size: 10pt !important;
  letter-spacing: normal !important;
  line-height: 1.4 !important;
}

html:root body .ceo-portrait figcaption > span:last-child {
  font-size: 9pt !important;
}

html:root body .attitude-photo,
html:root body .service-hub-image {
  position: static !important;
  display: block !important;
  width: 55mm !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  aspect-ratio: auto !important;
  margin: 3mm 0 !important;
  overflow: visible !important;
  break-inside: avoid;
}

html:root body .attitude-photo img,
html:root body .service-hub-image img {
  position: static !important;
  width: 100% !important;
  height: auto !important;
  max-height: 55mm !important;
  object-fit: contain !important;
  filter: none !important;
}

html:root body .service-card {
  position: static !important;
  display: block !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 3mm 0 !important;
  margin: 0 0 3mm !important;
  text-align: left !important;
  overflow: visible !important;
  break-inside: avoid;
}

html:root body .service-card > img {
  position: static !important;
  display: block !important;
  width: 30mm !important;
  height: 20mm !important;
  object-fit: cover !important;
  filter: none !important;
  margin: 0 0 2mm !important;
}

html:root body .service-card-content,
html:root body .service-short {
  position: static !important;
  display: block !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  font-size: 10pt !important;
  line-height: 1.4 !important;
}

html:root body .service-name {
  display: block !important;
  margin: 0 0 2mm !important;
  font-size: 12pt !important;
  font-weight: 600 !important;
  letter-spacing: normal !important;
}

html:root body .service-hub-card,
html:root body .service-request-box,
html:root body .contact-linkedin-card,
html:root body .partner-card {
  display: block !important;
  padding: 4mm 0 !important;
  margin: 3mm 0 !important;
  min-height: 0 !important;
  break-inside: avoid;
  page-break-inside: avoid;
}

html:root body .contact-linkedin-person,
html:root body .partner-card h3,
html:root body .partner-card h3 > span {
  display: block !important;
  margin: 2mm 0 !important;
  font-size: 12pt !important;
}

html:root body .contact-linkedin-role,
html:root body .contact-linkedin-card-top,
html:root body .contact-linkedin-card-link,
html:root body .partner-card-label {
  font-size: 9pt !important;
  margin: 2mm 0 !important;
  padding: 0 !important;
  letter-spacing: normal !important;
}

html:root body .contact-linkedin-card-arrow,
html:root body .contact-linkedin-card-link > span,
html:root body .partner-card-rule {
  display: none !important;
}

html:root body .leadership-mark,
html:root body .partner-logo-frame {
  display: block !important;
  width: 55mm !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 3mm 0 !important;
  border: 0 !important;
  break-inside: avoid;
}

html:root body .partner-logo-frame img {
  width: 100% !important;
  height: auto !important;
  max-height: 30mm !important;
  object-fit: contain !important;
  filter: grayscale(1) !important;
}

/* Reveal native disclosure contents without changing their on-screen state. */
html:root body details,
html:root body .job-opening,
html:root body .job-opening[hidden] {
  display: block !important;
  height: auto !important;
  overflow: visible !important;
  margin: 3mm 0 !important;
  padding: 3mm 0 !important;
  break-inside: auto !important;
}

html:root body details::details-content {
  display: contents !important;
  content-visibility: visible !important;
  height: auto !important;
  overflow: visible !important;
}

html:root body details > :not(summary) {
  display: block !important;
  content-visibility: visible !important;
  height: auto !important;
}

html:root body summary,
html:root body .job-details-content,
html:root body .faq-list details > p {
  display: block !important;
  padding: 2mm 0 !important;
  font-size: 10.5pt !important;
  line-height: 1.45 !important;
  list-style: none !important;
}

html:root body summary::marker,
html:root body summary::-webkit-details-marker,
html:root body .faq-list summary::after,
html:root body .faq-list summary > span {
  display: none !important;
  content: none !important;
}

html:root body .job-title {
  display: block !important;
  font-size: 15pt !important;
  line-height: 1.3 !important;
  letter-spacing: normal !important;
}

html:root body .job-title small,
html:root body .job-terms {
  font-size: 10pt !important;
  padding: 2mm 0 !important;
}

html:root body .job-description-grid ul,
html:root body .service-request-box ul {
  margin: 2mm 0 4mm !important;
}

html:root body .statement p {
  font-size: 16pt !important;
}

html:root body .statement-caption,
html:root body .leadership-role {
  font-size: 9pt !important;
  line-height: 1.4 !important;
  letter-spacing: normal !important;
}

html:root body .principles-strip .wrap {
  display: block !important;
  padding: 2mm 0 !important;
}

html:root body .principles-strip span {
  display: inline !important;
  font-size: 9pt !important;
  margin-right: 4mm !important;
}

html:root body .legal-content {
  margin-top: 4mm !important;
}

html:root body .legal-content dl {
  display: block !important;
  margin: 0 !important;
}

html:root body .legal-content dd {
  margin: 0 0 3mm !important;
}

html:root body .direct-contact,
html:root body .contact-location,
html:root body .service-contact-details {
  margin: 3mm 0 !important;
}

html:root body .direct-contact > a,
html:root body .service-contact-details > a {
  display: block !important;
  padding: 1mm 0 !important;
  margin: 0 !important;
  font-size: 11pt !important;
  line-height: 1.4 !important;
  letter-spacing: normal !important;
}

html:root body .direct-contact > a > span,
html:root body .service-contact-details > a > span,
html:root body .direct-contact > .contact-whatsapp-inline {
  display: none !important;
}

html:root body .site-footer {
  position: static !important;
  padding: 4mm 0 0 !important;
  margin: 5mm 0 0 !important;
  border-top: .3mm solid #555 !important;
  break-inside: avoid;
}

html:root body .footer-main,
html:root body .footer-bottom,
html:root body .seo-footer-address {
  display: block !important;
  padding: 1mm 0 !important;
  margin: 0 !important;
  border: 0 !important;
  font-size: 9pt !important;
  line-height: 1.5 !important;
}

html:root body .footer-main .footer-brand,
html:root body .footer-main > p {
  display: none !important;
}

html:root body .seo-footer-address > span {
  display: block !important;
  margin: 1mm 0 !important;
}

html:root body .seo-footer-address address {
  font-style: normal !important;
}
