:root {
  --pp-bg: #f7fbfe;
  --pp-surface: #ffffff;
  --pp-surface-soft: #eef7fc;
  --pp-text: #18313b;
  --pp-muted: #5e7078;
  --pp-border: #cfe4ef;
  --pp-primary: #54b2dc;
  --pp-primary-strong: #2e95c3;
  --pp-action-primary-start: #2e95c3;
  --pp-action-primary-end: #54b2dc;
  --pp-strong: #2e95c3;
  --pp-process: #0099cc;
  --pp-category-orange: #df6500;
  --pp-category-teal: #008686;
  --pp-category-green: #009000;
  --pp-required-red: #b43b32;
  --pp-deep: #003d55;
  --pp-ink: #002c3d;
  --pp-night: #082f46;
  --pp-rail-accent: #54b2dc;
  --pp-rail-base: #d7eef8;
  --pp-rail-gradient-start: rgba(255, 255, 255, .42);
  --pp-rail-gradient-end: rgba(255, 255, 255, .30);
  --pp-rail-line: rgba(0, 61, 85, .20);
  --pp-rail-text: rgba(0, 44, 61, .72);
  --pp-rail-active: rgba(84, 178, 220, .18);
  --pp-feature-panel-blue: rgba(84, 178, 220, .48);
  --pp-feature-panel-hover: rgba(226, 248, 255, .24);
  --pp-feature-panel-line: rgba(255, 255, 255, .92);
  --pp-feature-panel-line-soft: rgba(255, 255, 255, .42);
  --pp-slider-control-hover: rgba(84, 178, 220, .94);
  --pp-slider-control-border: rgba(255, 255, 255, .76);
  --pp-layer-white: rgba(255, 255, 255, .96);
  --pp-env-blur-readable: 8px;
  --pp-env-veil-readable: color-mix(in srgb, var(--pp-surface) 72%, transparent);
  --pp-card-shadow: 0 26px 70px rgba(0, 35, 58, .25);
  --pp-image-heading-shadow:
    0 2px 4px rgba(0, 26, 43, .84),
    0 0 14px rgba(0, 26, 43, .38);
  --pp-image-copy-shadow:
    0 1px 2px rgba(0, 26, 43, .86),
    0 0 7px rgba(0, 26, 43, .32);
  --pp-font-body: "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "Yu Gothic", "Meiryo", system-ui, sans-serif;
  --pp-font-display: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Yu Gothic UI", "Meiryo", system-ui, sans-serif;
  --pp-font-latin: "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  --pp-page-title-size: clamp(32px, calc(4 * var(--pp-wide-vw, 1vw)), 56px);
  --pp-page-title-weight: 800;
  --pp-page-title-line-height: 1.05;
  --pp-page-title-letter-spacing: -.07em;
  --pp-page-title-underline-thickness: 4px;
  --pp-page-title-underline-offset: 6px;
  --pp-page-label-size: 11px;
  --pp-page-label-weight: 700;
  --pp-page-label-line-height: 1.2;
  --pp-page-label-letter-spacing: .2em;
  --pp-page-label-gap: 16px;
  --pp-page-lead-size: clamp(14px, calc(1.25 * var(--pp-wide-vw, 1vw)), 17px);
  --pp-page-lead-weight: 700;
  --pp-page-lead-line-height: 1.8;
  --pp-page-lead-letter-spacing: 0;
  --pp-page-intro-height: 248px;
  --pp-header-height: 76px;
  --pp-header-utility-height: 34px;
  --pp-footer-min-height: 286px;
  --pp-rail-width: clamp(240px, calc(19 * var(--pp-wide-vw, 1vw)), 320px);
  --pp-content-max: 1180px;
  --pp-page-heading-top: clamp(74px, calc(9 * var(--pp-wide-vh, 1vh)), 112px);
  --pp-page-heading-gutter: clamp(24px, calc(5 * var(--pp-wide-vw, 1vw)), 72px);
  color-scheme: light;
}

/* CSV issue-based menu refinements: eight wishes, one answer at a time. */
body[data-page="service-csv"] .page-stage > #csv-contact {
  width: 100%;
  margin: 28px 0 0;
}

.csv-issue-reveal-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.csv-issue-reveal-grid .csv-issue-reveal,
.csv-issue-reveal-grid .csv-issue-reveal:nth-child(n + 4) {
  grid-column: auto;
}

.csv-issue-reveal-grid .csv-issue-reveal.is-open {
  grid-column: 1 / -1;
}

.csv-issue-reveal-grid .medicine-issue-reveal__problem {
  min-height: 220px;
  border: 1px solid #176781;
  border-top-width: 4px;
  border-radius: 26px 26px 26px 0;
  background-color: #0a568b;
  background-image: linear-gradient(145deg, rgba(63, 166, 207, .22), rgba(3, 47, 80, .18));
  box-shadow: 0 14px 34px rgba(0, 44, 61, .14);
}

.csv-issue-reveal-grid .csv-issue-reveal:nth-child(n + 5) .medicine-issue-reveal__problem {
  color: #003a4b;
  background-color: rgba(228, 244, 251, .96);
  background-image: linear-gradient(145deg, rgba(255, 255, 255, .42), rgba(73, 170, 210, .1));
}

.csv-issue-reveal-grid .csv-issue-reveal:nth-child(n + 5) .medicine-issue-reveal__problem small {
  color: #159bd2;
}

.csv-issue-reveal-grid .csv-issue-reveal:nth-child(n + 5) .medicine-issue-reveal__answer {
  color: #07516a;
}

.csv-issue-reveal-grid .medicine-issue-reveal__detail {
  grid-template-areas: "solution";
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: auto;
  border-radius: 0 24px 24px 24px;
}

.csv-issue-reveal-grid .medicine-issue-reveal__detail > .csv-issue-answer {
  grid-area: solution;
  padding: clamp(28px, calc(4 * var(--pp-wide-vw, 1vw)), 46px);
  border: 0;
  background: rgba(255, 255, 255, .96);
}

.csv-issue-answer::before {
  display: block;
  margin-bottom: 14px;
  color: #159bd2;
  content: "ANSWER";
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .16em;
}

.csv-issue-answer p {
  margin: 0;
  color: #123f50;
  font-size: clamp(15px, calc(1.5 * var(--pp-wide-vw, 1vw)), 18px);
  line-height: 1.9;
}

.csv-service-flow-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid #159bd2;
  border-bottom: 1px solid #159bd2;
}

.csv-service-flow-grid article {
  position: relative;
  min-height: 300px;
  padding: 34px;
  background: rgba(201, 239, 250, .9);
}

.csv-service-flow-grid article:nth-child(2) {
  background: rgba(183, 220, 243, .9);
}

.csv-service-flow-grid article:nth-child(3) {
  background: rgba(169, 204, 236, .9);
}

.csv-service-flow-grid article + article {
  border-left: 1px dashed rgba(23, 103, 129, .45);
}

.csv-service-flow-grid article + article::before {
  position: absolute;
  top: 47%;
  left: -1px;
  width: 14px;
  height: 14px;
  border-top: 1px solid #159bd2;
  border-right: 1px solid #159bd2;
  content: "";
  background: inherit;
  transform: translate(-50%, -50%) rotate(45deg);
}

.csv-service-flow-grid article > span {
  color: #078fc9;
  font-weight: 900;
  letter-spacing: .15em;
}

.csv-service-flow-grid article > small {
  display: block;
  margin-top: 12px;
  color: #477180;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .12em;
}

.csv-service-flow-grid h3 {
  margin: 20px 0 14px;
  font-size: clamp(20px, calc(2 * var(--pp-wide-vw, 1vw)), 25px);
  line-height: 1.45;
}

.csv-service-flow-grid p {
  margin: 0;
  color: #3c6471;
  line-height: 1.85;
}

.csv-system-toggle {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 22px;
  padding: 0 0 7px;
  border: 0;
  border-bottom: 1px solid #07516a;
  color: #003a4b;
  background: transparent;
  font: inherit;
  font-size: 13px;
  font-weight: 800;
  cursor: pointer;
}

.csv-system-detail {
  --issue-panel-tail-x: 112px;
  --issue-panel-tail-y: 72px;
  position: relative;
  margin-top: 30px;
  width: calc(100% + (var(--issue-panel-tail-x) * 2) - 1px);
  padding: 20px;
  padding-left: calc(var(--issue-panel-tail-x) + 20px);
  overflow: hidden;
  border: 0;
  border-radius: 0;
  background: #fff;
  box-shadow: inset 0 0 0 1px rgba(1, 54, 65, .18);
  clip-path: polygon(var(--issue-panel-tail-x) 0, 100% 0, 100% calc(100% - var(--issue-panel-tail-y)), calc(100% - var(--issue-panel-tail-x)) 100%, 0 100%, var(--issue-panel-tail-x) calc(100% - var(--issue-panel-tail-y)));
  transform: translateX(calc(var(--issue-panel-tail-x) * -1));
}

.csv-system-detail[hidden] {
  display: none;
}

.csv-system-detail::before {
  display: none;
}

.csv-system-detail > header {
  margin-bottom: 24px;
}

.csv-system-detail > header small {
  color: #159bd2;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .16em;
}

.csv-system-detail > header h3 {
  margin: 9px 0 0;
  font-size: clamp(21px, calc(2.3 * var(--pp-wide-vw, 1vw)), 29px);
}

.csv-system-detail .csv-system-table {
  margin: 0;
}

@media (max-width: 720px) {
  .csv-system-detail {
    --issue-panel-tail-x: 46px;
    --issue-panel-tail-y: 30px;
    width: 100%;
    padding: 16px 16px 42px;
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - 30px), calc(100% - 46px) 100%, 0 100%);
    transform: none;
  }

  .csv-issue-reveal-grid,
  .csv-service-flow-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .csv-issue-reveal-grid .medicine-issue-reveal.is-open,
  .csv-issue-reveal-grid .csv-issue-reveal,
  .csv-issue-reveal-grid .csv-issue-reveal:nth-child(n + 4) {
    grid-column: 1;
  }

  .csv-service-flow-grid article {
    min-height: 0;
  }

  .csv-service-flow-grid article + article {
    border-top: 1px dashed rgba(23, 103, 129, .45);
    border-left: 0;
  }

  .csv-service-flow-grid article + article::before {
    display: none;
  }
}

@media (min-width: 721px) and (max-width: 980px) {
  .csv-system-detail {
    padding: 18px 18px 68px;
    padding-left: calc(var(--issue-panel-tail-x) + 18px);
  }
}

/* CSV: eight issue cards. Each card keeps the user/vendor concerns together. */
body[data-page="service-csv"] .csv-issue-pair-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px 20px;
  width: 100%;
  margin-inline: auto;
}

body[data-page="service-csv"] .csv-issue-audience-tabs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0 0 28px;
  border-bottom: 4px solid #2f5d78;
}

body[data-page="service-csv"] .csv-issue-audience-tabs button {
  min-height: 68px;
  padding: 14px clamp(18px, calc(3 * var(--pp-wide-vw, 1vw)), 34px);
  border: 0;
  color: #173642;
  background: rgba(255, 255, 255, .42);
  font: inherit;
  font-size: clamp(13px, calc(1.3 * var(--pp-wide-vw, 1vw)), 16px);
  font-weight: 800;
  text-align: left;
  cursor: pointer;
  transition: color 180ms ease, background-color 180ms ease;
}

body[data-page="service-csv"] .csv-issue-audience-tabs button + button {
  border-left: 1px solid rgba(1, 54, 65, .18);
}

body[data-page="service-csv"] .csv-issue-audience-tabs button[aria-selected="true"] {
  color: #fff;
  background: #2f5d78;
  box-shadow: inset 0 0 0 2px rgba(255, 255, 255, .68);
}

body[data-page="service-csv"] .csv-issue-audience-tabs button:focus-visible {
  outline: 3px solid rgba(84, 178, 220, .58);
  outline-offset: 3px;
}

body[data-page="service-csv"] .csv-issue-pair {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-content: start;
  min-height: 330px;
  padding: 22px;
  overflow: visible;
  border: 1px solid rgba(1, 54, 65, .72);
  border-radius: 24px;
  background: rgba(238, 247, 252, .94);
  transition: border-color .18s ease, background-color .18s ease, box-shadow .18s ease;
}

body[data-page="service-csv"] .csv-issue-pair__questions {
  display: contents;
}

body[data-page="service-csv"] .csv-issue-pair::after {
  position: absolute;
  right: 30px;
  bottom: -24px;
  display: block;
  width: 42px;
  border-top: 1px dashed rgba(1, 54, 65, .62);
  content: "";
  transform: rotate(55deg);
  transform-origin: right center;
}

body[data-page="service-csv"] .csv-issue-pair:not(.is-open):has(.csv-issue-pair__item:is(:hover, :focus-visible, [aria-expanded="true"])) {
  border-color: var(--pp-primary-strong, #2f8eb6);
  background: #e9f5fb;
  box-shadow: 0 8px 22px rgba(32, 104, 136, .12);
}

body[data-page="service-csv"] .csv-issue-pair__item {
  display: flex;
  width: 100%;
  min-height: 0;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  padding: 0;
  border: 0;
  border-radius: 0;
  color: #013641;
  background: transparent;
  box-shadow: none;
  text-align: left;
  cursor: pointer;
}

body[data-page="service-csv"] .csv-issue-pair__item + .csv-issue-pair__item {
  margin-top: 18px;
}

body[data-page="service-csv"] .csv-issue-pair__item:is(:hover, :focus-visible),
body[data-page="service-csv"] .csv-issue-pair__item[aria-expanded="true"] {
  color: #006f9f;
  background: transparent;
  box-shadow: none;
  outline: none;
}

body[data-page="service-csv"] .csv-issue-pair__item:focus-visible {
  outline: 2px solid var(--pp-primary-strong, #2f8eb6);
  outline-offset: 3px;
}

body[data-page="service-csv"] .csv-issue-pair__item small {
  display: block;
  width: fit-content;
  margin: 0 0 10px;
  padding: 4px 7px;
  border: 1px solid var(--pp-primary-strong, #2f8eb6);
  color: var(--pp-primary-strong, #2f8eb6);
  background: #fff;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .12em;
}

body[data-page="service-csv"] .csv-issue-pair__item strong {
  display: block;
  margin: 0;
  color: #27404d;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.75;
  letter-spacing: .01em;
}

body[data-page="service-csv"] .csv-issue-pair__item ul {
  display: grid;
  gap: 10px;
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
}

body[data-page="service-csv"] .csv-issue-pair__item li {
  position: relative;
  margin: 0;
  padding: 0 0 10px 15px;
  border-bottom: 1px solid rgba(1, 54, 65, .14);
  color: #27404d;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.65;
}

body[data-page="service-csv"] .csv-issue-pair__item li:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

body[data-page="service-csv"] .csv-issue-pair__item li::before {
  position: absolute;
  top: .65em;
  left: 0;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--pp-primary-strong, #2f8eb6);
  content: "";
}

body[data-page="service-csv"] .csv-issue-pair__item li em {
  display: block;
  margin-bottom: 2px;
  color: var(--pp-primary-strong, #2f8eb6);
  font-size: 10px;
  font-style: normal;
  font-weight: 800;
  letter-spacing: .08em;
}

body[data-page="service-csv"] .csv-issue-pair__item > span {
  display: flex;
  align-items: center;
  align-self: flex-end;
  gap: 7px;
  margin-top: 8px;
  color: #002c3d;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: .08em;
}

body[data-page="service-csv"] .csv-issue-pair__item > span i {
  font-size: 18px;
  transition: transform .18s ease;
}

body[data-page="service-csv"] .csv-issue-pair__item:is(:hover, :focus-visible) > span i {
  transform: translateX(4px);
}

body[data-page="service-csv"] .csv-issue-answer-bubble {
  position: relative;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  color: #123f50;
  background: transparent;
  box-shadow: none;
}

body[data-page="service-csv"] .csv-issue-answer-bubble[hidden] {
  display: none;
}

body[data-page="service-csv"] .csv-issue-answer-bubble::before {
  display: none;
}

body[data-page="service-csv"] .csv-issue-answer-bubble header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 12px;
  padding-inline: 4px;
}

body[data-page="service-csv"] .csv-issue-answer-bubble header small {
  color: #159bd2;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .14em;
}

body[data-page="service-csv"] .csv-issue-answer-bubble header button {
  display: none;
  align-items: center;
  gap: 6px;
  padding: 4px 0;
  border: 0;
  border-bottom: 1px solid currentColor;
  color: #07516a;
  background: transparent;
  font-size: 12px;
  cursor: pointer;
}

body[data-page="service-csv"] .csv-issue-answer-bubble p {
  margin: 0;
  font-size: clamp(12px, calc(.9 * var(--pp-wide-vw, 1vw)), 14px);
  line-height: 1.7;
}

body[data-page="service-csv"] .csv-issue-answer-bubble__grid {
  display: grid;
  gap: 10px;
}

body[data-page="service-csv"] .csv-issue-answer-bubble__grid > section {
  position: relative;
  display: flex;
  min-height: 0;
  flex-direction: column;
  justify-content: center;
  padding: clamp(16px, calc(1.8 * var(--pp-wide-vw, 1vw)), 22px);
  border: 1px solid rgba(47, 142, 182, .42);
  border-radius: 0;
  background: rgba(255, 255, 255, .98);
  box-shadow: 0 18px 42px rgba(0, 44, 61, .14);
}

body[data-page="service-csv"] .csv-issue-answer-bubble__grid > section[hidden] {
  display: none;
}

body[data-page="service-csv"] .csv-issue-answer-bubble__grid > section::before {
  position: absolute;
  top: 28px;
  left: -18px;
  width: 0;
  height: 0;
  border-top: 14px solid transparent;
  border-right: 18px solid rgba(255, 255, 255, .98);
  border-bottom: 14px solid transparent;
  content: "";
}

body[data-page="service-csv"] .csv-issue-answer-bubble__grid small {
  display: block;
  margin-bottom: 6px;
  color: #159bd2;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .14em;
}

body[data-page="service-csv"] .csv-issue-pair.is-open {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(300px, .88fr) minmax(0, 1.12fr);
  gap: clamp(32px, calc(5 * var(--pp-wide-vw, 1vw)), 56px);
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

body[data-page="service-csv"] .csv-issue-pair.is-open::after {
  display: none;
}

body[data-page="service-csv"] .csv-issue-pair.is-open .csv-issue-pair__questions {
  position: relative;
  display: grid;
  align-content: start;
  gap: 12px;
  min-height: 0;
  padding: 18px 20px;
  border: 1px solid rgba(1, 54, 65, .72);
  border-radius: 24px;
  background: #fff;
}

body[data-page="service-csv"] .csv-issue-pair.is-open .csv-issue-pair__item + .csv-issue-pair__item {
  margin-top: 0;
}

body[data-page="service-csv"] .csv-issue-pair.is-open .csv-issue-pair__item small {
  margin-bottom: 6px;
  padding: 3px 6px;
  font-size: 9px;
}

body[data-page="service-csv"] .csv-issue-pair.is-open .csv-issue-pair__item strong {
  font-size: 12px;
  line-height: 1.65;
}

body[data-page="service-csv"] .csv-issue-pair.is-open .csv-issue-pair__item > span {
  margin-top: 4px;
  font-size: 11px;
}

body[data-page="service-csv"] .csv-issue-pair.is-open .csv-issue-pair__questions::after {
  position: absolute;
  top: 76px;
  right: calc(clamp(40px, calc(6 * var(--pp-wide-vw, 1vw)), 72px) * -1);
  width: clamp(40px, calc(6 * var(--pp-wide-vw, 1vw)), 72px);
  border-top: 1px dashed rgba(1, 54, 65, .5);
  content: "";
}

body[data-page="service-csv"] .csv-issue-pair.is-open .csv-issue-answer-bubble {
  align-self: start;
}

body[data-page="service-csv"] .csv-issue-pair.is-open .csv-issue-pair__item > span {
  font-size: 0;
}

body[data-page="service-csv"] .csv-issue-pair.is-open .csv-issue-pair__item > span::before {
  content: "CLOSE";
  font-size: 11px;
}

body[data-page="service-csv"] .csv-issue-pair.is-open .csv-issue-pair__item > span i {
  font-size: 18px;
  transform: rotate(180deg);
}

@media (max-width: 720px) {
  body[data-page="service-csv"] .csv-issue-pair-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  body[data-page="service-csv"] .csv-issue-pair.is-open {
    grid-template-columns: minmax(0, 1fr);
    gap: 28px;
  }

  body[data-page="service-csv"] .csv-issue-pair.is-open .csv-issue-pair__questions::after {
    display: none;
  }

  body[data-page="service-csv"] .csv-issue-answer-bubble__grid > section::before {
    top: -16px;
    left: 26px;
    border-right: 14px solid transparent;
    border-bottom: 16px solid rgba(255, 255, 255, .98);
    border-left: 14px solid transparent;
    border-top: 0;
  }
}

@media (min-width: 721px) and (max-width: 980px) {
  body[data-page="service-csv"] .csv-issue-pair-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* CSV renewal: user/vendor issue menu, service scope, and consulting flow */
body[data-page="service-csv"] .content-stack {
  gap: 42px;
}

body[data-page="service-csv"] .content-stack > .shared-tail-feature {
  width: calc(100% + (2 * clamp(24px, calc(5 * var(--pp-wide-vw, 1vw)), 72px)));
  max-width: none;
  margin-left: calc(-1 * clamp(24px, calc(5 * var(--pp-wide-vw, 1vw)), 72px));
}

@media (min-width: 781px) {
  body[data-page="service-csv"] .content-stack > .shared-tail-feature > .top-results-divider {
    position: relative;
    inset: auto;
    grid-column: 2;
    grid-row: 1;
    width: 100%;
    height: 100%;
    border-right: 1px solid rgba(255, 255, 255, .92);
    border-left: 1px solid rgba(255, 255, 255, .92);
    transform: none;
  }

  body[data-page="service-csv"] .content-stack > .shared-tail-performance {
    grid-template-columns: minmax(0, 54%) clamp(58px, calc(6 * var(--pp-wide-vw, 1vw)), 84px) minmax(0, 1fr);
  }

  body[data-page="service-csv"] .content-stack > .shared-tail-performance > .top-results-visual {
    grid-column: 1;
    grid-row: 1;
  }

  body[data-page="service-csv"] .content-stack > .shared-tail-performance > .top-results-intro {
    grid-column: 3;
    grid-row: 1;
  }

  body[data-page="service-csv"] .content-stack > .shared-tail-services {
    grid-template-columns: minmax(0, 46%) clamp(58px, calc(6 * var(--pp-wide-vw, 1vw)), 84px) minmax(0, 1fr);
  }

  body[data-page="service-csv"] .content-stack > .shared-tail-services > .top-results-intro {
    grid-column: 1;
    grid-row: 1;
  }

  body[data-page="service-csv"] .content-stack > .shared-tail-services > .top-results-visual {
    grid-column: 3;
    grid-row: 1;
  }
}

/* CSV issues: use the same flat, selectable-list language as the service issue finder. */
body[data-page="service-csv"] .csv-issue-pair-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  border-top: 1px solid rgba(1, 54, 65, .44);
}

body[data-page="service-csv"] .csv-issue-pair,
body[data-page="service-csv"] .csv-issue-pair.is-open {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  min-height: 0;
  padding: 0;
  border: 0;
  border-bottom: 1px solid rgba(1, 54, 65, .44);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

body[data-page="service-csv"] .csv-issue-pair::after,
body[data-page="service-csv"] .csv-issue-pair.is-open::after,
body[data-page="service-csv"] .csv-issue-pair.is-open .csv-issue-pair__questions::after {
  display: none;
}

body[data-page="service-csv"] .csv-issue-pair__questions,
body[data-page="service-csv"] .csv-issue-pair.is-open .csv-issue-pair__questions {
  display: contents;
}

body[data-page="service-csv"] .csv-issue-pair__item,
body[data-page="service-csv"] .csv-issue-pair.is-open .csv-issue-pair__item {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  min-height: 104px;
  margin: 0;
  padding: 20px 22px;
  color: #013641;
  background: rgba(255, 255, 255, .28);
  transition: color .18s ease, background-color .18s ease;
}

body[data-page="service-csv"] .csv-issue-pair__item[hidden] {
  display: none;
}

body[data-page="service-csv"] .csv-issue-pair__item + .csv-issue-pair__item,
body[data-page="service-csv"] .csv-issue-pair.is-open .csv-issue-pair__item + .csv-issue-pair__item {
  margin-top: 0;
  border-left: 0;
}

body[data-page="service-csv"] .csv-issue-pair__item:is(:hover, :focus-visible),
body[data-page="service-csv"] .csv-issue-pair__item[aria-expanded="true"] {
  color: #005f86;
  background: rgba(255, 255, 255, .72);
}

body[data-page="service-csv"] .csv-issue-pair__item small,
body[data-page="service-csv"] .csv-issue-pair.is-open .csv-issue-pair__item small {
  display: none;
}

body[data-page="service-csv"] .csv-issue-pair__item strong,
body[data-page="service-csv"] .csv-issue-pair.is-open .csv-issue-pair__item strong {
  font-size: 13px;
  line-height: 1.7;
}

body[data-page="service-csv"] .csv-issue-pair__item > span,
body[data-page="service-csv"] .csv-issue-pair.is-open .csv-issue-pair__item > span {
  align-self: center;
  margin: 0;
  color: #002c3d;
  font-family: var(--pp-font-latin);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .12em;
}

body[data-page="service-csv"] .csv-issue-pair.is-open .csv-issue-pair__item > span::before {
  content: none;
}

body[data-page="service-csv"] .csv-issue-pair__item > span i,
body[data-page="service-csv"] .csv-issue-pair.is-open .csv-issue-pair__item > span i {
  font-size: 14px;
  transform: none;
}

body[data-page="service-csv"] .csv-issue-pair__item[aria-expanded="true"] > span i {
  transform: rotate(90deg);
}

body[data-page="service-csv"] .csv-issue-answer-bubble,
body[data-page="service-csv"] .csv-issue-pair.is-open .csv-issue-answer-bubble {
  grid-column: 1 / -1;
  padding: clamp(20px, calc(3 * var(--pp-wide-vw, 1vw)), 32px);
  border-top: 1px solid rgba(47, 142, 182, .38);
  background: rgba(238, 247, 252, .9);
}

body[data-page="service-csv"] .csv-issue-answer-bubble__grid > section {
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

body[data-page="service-csv"] .csv-issue-answer-bubble__grid > section::before {
  display: none;
}

@media (max-width: 720px) {
  body[data-page="service-csv"] .csv-issue-audience-tabs {
    grid-template-columns: minmax(0, 1fr);
  }

  body[data-page="service-csv"] .csv-issue-audience-tabs button + button {
    border-top: 1px solid rgba(1, 54, 65, .18);
    border-left: 0;
  }

  body[data-page="service-csv"] .csv-issue-pair,
  body[data-page="service-csv"] .csv-issue-pair.is-open {
    grid-template-columns: minmax(0, 1fr);
  }

  body[data-page="service-csv"] .csv-issue-pair__item + .csv-issue-pair__item,
  body[data-page="service-csv"] .csv-issue-pair.is-open .csv-issue-pair__item + .csv-issue-pair__item {
    border-top: 1px solid rgba(1, 54, 65, .18);
    border-left: 0;
  }
}

@media (max-width: 640px) {
  body[data-page="service-csv"] .content-stack > .shared-tail-feature {
    width: calc(100% + 36px);
    margin-left: -18px;
  }
}

.csv-renewal-section {
  border: 1px solid rgba(30, 145, 190, .28);
  background: rgba(248, 252, 255, .88);
  padding: clamp(34px, calc(5 * var(--pp-wide-vw, 1vw)), 62px) clamp(22px, calc(4.5 * var(--pp-wide-vw, 1vw)), 54px);
  color: #003a4b;
}

body[data-page="service-csv"] .csv-issue-menu {
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  width: 100%;
  max-width: none;
  margin-right: 0;
  margin-left: 0;
  padding: clamp(54px, calc(6 * var(--pp-wide-vw, 1vw)), 84px) clamp(24px, calc(5 * var(--pp-wide-vw, 1vw)), 72px);
  border: 0;
  outline: 0;
  background: transparent;
  box-shadow: none;
}

body[data-page="service-csv"] .csv-issue-menu > .top-about-study__hero-row {
  display: block;
  width: 100%;
  max-width: 100%;
}

body[data-page="service-csv"] .page-intro h1 span {
  padding-bottom: 0;
  border-bottom: 0;
}

body[data-page="service-csv"] .csv-service-menu {
  border: 0;
  background: transparent;
}

body[data-page="service-csv"] #scope > .csv-gap-analysis {
  margin-top: clamp(14px, calc(1.5 * var(--pp-wide-vw, 1vw)), 24px);
  margin-right: clamp(16px, calc(1.8 * var(--pp-wide-vw, 1vw)), 22px);
  margin-left: clamp(16px, calc(1.8 * var(--pp-wide-vw, 1vw)), 22px);
}

.csv-section-heading {
  margin-bottom: 34px;
}

.csv-section-heading > p {
  margin: 0 0 12px;
  color: #159bd2;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .18em;
}

.csv-section-heading > h2 {
  max-width: 760px;
  margin: 0;
  font-size: clamp(27px, calc(3.3 * var(--pp-wide-vw, 1vw)), 42px);
  line-height: 1.28;
  letter-spacing: .035em;
}

.csv-section-heading > span {
  display: block;
  max-width: 720px;
  margin-top: 14px;
  color: #416370;
  line-height: 1.9;
}

body[data-page="service-csv"] :is(#issues, #scope) .csv-section-heading {
  margin-bottom: clamp(28px, calc(3 * var(--pp-wide-vw, 1vw)), 36px);
  color: #fff;
}

body[data-page="service-csv"] :is(#issues, #scope) .csv-section-heading > p {
  margin: 0 0 16px;
  color: #fff;
  font-family: var(--pp-font-latin);
  font-size: 11px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: .2em;
  text-shadow: var(--pp-image-heading-shadow) !important;
}

body[data-page="service-csv"] :is(#issues, #scope) .csv-section-heading > h2 {
  margin: 16px 0 12px;
  color: #fff;
  font-family: var(--pp-font-display);
  font-size: clamp(28px, calc(3.2 * var(--pp-wide-vw, 1vw)), 44px);
  font-weight: 800;
  line-height: 1.05;
  letter-spacing: -.07em;
  text-shadow: var(--pp-image-heading-shadow) !important;
}

body[data-page="service-csv"] :is(#issues, #scope) .csv-section-heading > span {
  margin: 0;
  color: rgba(255, 255, 255, .82);
  font-size: clamp(14px, calc(1.25 * var(--pp-wide-vw, 1vw)), 16px);
  font-weight: 700;
  line-height: 1.8;
  text-shadow: var(--pp-image-heading-shadow) !important;
}

body[data-page="service-csv"] #scope .csv-service-heading-copy {
  display: grid;
  max-width: 760px;
  gap: 8px;
}

body[data-page="service-csv"] #scope .csv-service-heading-copy > span {
  display: block;
}

body[data-page="service-csv"] #scope .csv-service-heading-copy strong {
  font-weight: 800;
}

.csv-service-process-list {
  display: grid;
  gap: clamp(14px, calc(1.5 * var(--pp-wide-vw, 1vw)), 24px);
}

.csv-service-process-card {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 42%) clamp(58px, calc(6 * var(--pp-wide-vw, 1vw)), 84px) minmax(0, 1fr);
  min-width: 0;
  min-height: clamp(200px, calc(19 * var(--pp-wide-vw, 1vw)), 270px);
  overflow: hidden;
  color: #fff;
  background: #071f31;
  isolation: isolate;
}

.csv-service-process-card::before {
  position: absolute;
  inset: -30px;
  z-index: -2;
  content: "";
  background: var(--csv-service-image) center / cover;
  opacity: .42;
  transform: scale(1.08);
}

.csv-service-process-card::after {
  position: absolute;
  inset: 0;
  z-index: -1;
  content: "";
  background: linear-gradient(90deg, rgba(84, 178, 220, .22) 0%, rgba(84, 178, 220, .22) 48%, rgba(4, 27, 43, .34) 100%);
}

.csv-service-process-card__image {
  position: relative;
  grid-area: 1 / 3;
  min-height: 100%;
  overflow: hidden;
  opacity: .38;
  transition: opacity .38s ease, transform .48s ease;
}

.csv-service-process-card__image::after {
  position: absolute;
  inset: 0;
  content: "";
  background: linear-gradient(90deg, rgba(4, 27, 43, .2), rgba(4, 27, 43, .04));
  pointer-events: none;
}

.csv-service-process-card__image img {
  width: 100%;
  height: 100%;
  min-height: 100%;
  object-fit: cover;
  filter: saturate(.82) brightness(.78);
  transition: transform .65s ease;
}

.csv-service-process-card:hover .csv-service-process-card__image img {
  transform: scale(1.015);
}

.csv-service-process-card.is-open .csv-service-process-card__image {
  opacity: 0;
  pointer-events: none;
  transform: scale(1.02);
}

.csv-service-process-card__body {
  grid-area: 1 / 1;
  align-self: stretch;
  min-height: 0;
  padding: clamp(26px, calc(3.3 * var(--pp-wide-vw, 1vw)), 52px);
  color: #fff;
  background: rgba(84, 178, 220, .48);
}

.csv-service-process-card__step {
  display: block;
  margin-bottom: clamp(12px, calc(1.4 * var(--pp-wide-vw, 1vw)), 20px);
  font-family: var(--pp-font-latin);
  font-size: clamp(32px, calc(4 * var(--pp-wide-vw, 1vw)), 56px);
  font-weight: 400;
  line-height: 1;
  letter-spacing: .02em;
}

.csv-service-process-card__body > small {
  display: block;
  margin-bottom: 8px;
  color: rgba(255, 255, 255, .78);
  font-family: var(--pp-font-latin);
  font-size: 10px;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: .16em;
  text-align: center;
}

.csv-service-process-card h3 {
  margin: 0;
  color: #fff;
  font-size: clamp(20px, calc(1.65 * var(--pp-wide-vw, 1vw)), 30px);
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: .04em;
  text-align: center;
}

.csv-service-process-card__detail {
  z-index: 2;
  display: flex;
  grid-area: 1 / 3;
  flex-direction: column;
  justify-content: center;
  padding: clamp(26px, calc(3.3 * var(--pp-wide-vw, 1vw)), 52px);
  background: linear-gradient(135deg, rgba(7, 31, 49, .9), rgba(11, 52, 77, .78));
  opacity: 0;
  pointer-events: none;
  transform: translateX(18px);
  transition: opacity .42s ease, transform .5s cubic-bezier(.2, .75, .2, 1);
}

.csv-service-process-card.is-open .csv-service-process-card__detail {
  opacity: 1;
  pointer-events: auto;
  transform: translateX(0);
}

.csv-service-process-card__detail p {
  margin: 0;
  color: rgba(255, 255, 255, .92);
  font-size: clamp(13px, calc(.9 * var(--pp-wide-vw, 1vw)), 15px);
  line-height: 1.9;
}

.csv-service-process-card__detail ul {
  display: grid;
  gap: 5px;
  margin: 14px 0 0;
  padding: 0 0 0 1.2em;
  color: rgba(255, 255, 255, .92);
  font-size: clamp(12px, calc(.82 * var(--pp-wide-vw, 1vw)), 14px);
  line-height: 1.65;
}

.csv-service-process-card__detail li::marker {
  color: rgba(255, 255, 255, .84);
}

.csv-service-process-card__toggle {
  position: relative;
  z-index: 3;
  display: grid;
  grid-area: 1 / 2;
  place-items: center;
  width: 100%;
  min-width: 0;
  padding: 0;
  color: #fff;
  border: 0;
  border-right: 1px solid rgba(255, 255, 255, .92);
  border-left: 1px solid rgba(255, 255, 255, .92);
  background: rgba(84, 178, 220, .48);
  cursor: pointer;
}

.csv-service-process-card__toggle i {
  font-size: clamp(25px, calc(2.2 * var(--pp-wide-vw, 1vw)), 34px);
  line-height: 1;
  transition: transform 180ms ease;
}

.csv-service-process-card__toggle:is(:hover, :focus-visible) i {
  transform: translateX(6px);
}

.csv-service-process-card.is-open .csv-service-process-card__toggle i {
  transform: rotate(180deg);
}

.csv-service-process-card.is-open .csv-service-process-card__toggle:is(:hover, :focus-visible) i {
  transform: translateX(-6px) rotate(180deg);
}

.csv-service-process-card__toggle:focus-visible {
  outline: 2px solid #fff;
  outline-offset: -5px;
}

.csv-service-process-card .csv-system-toggle {
  align-self: flex-start;
  margin-top: 18px;
  color: #fff;
  border-bottom-color: rgba(255, 255, 255, .88);
}

.csv-audience-tabs {
  display: flex;
  gap: 22px;
  overflow-x: auto;
  padding: 3px 3px 28px;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  scrollbar-color: #3aa6d3 rgba(27, 126, 165, .12);
  scrollbar-width: thin;
}

.csv-audience-tab {
  position: relative;
  display: grid;
  flex: 1 0 0;
  min-width: 0;
  min-height: 246px;
  padding: 30px 30px 24px;
  border: 1px solid #176781;
  border-radius: 30px 30px 30px 0;
  background: rgba(228, 244, 251, .94);
  color: #003a4b;
  text-align: left;
  cursor: pointer;
  scroll-snap-align: center;
  transition: transform .24s ease, background-color .24s ease, color .24s ease, box-shadow .24s ease;
}

.csv-audience-tab::after {
  content: "";
  position: absolute;
  left: 28px;
  bottom: -25px;
  width: 52px;
  height: 25px;
  border-left: 1px dashed rgba(23, 103, 129, .65);
  transform: skewX(34deg);
  transform-origin: top left;
}

.csv-audience-tab:hover,
.csv-audience-tab:focus-visible {
  transform: translateY(-3px);
  box-shadow: 0 14px 34px rgba(0, 67, 88, .12);
  outline: 2px solid #159bd2;
  outline-offset: 3px;
}

.csv-audience-tab.is-active {
  background: #0a568b;
  color: #fff;
}

.csv-audience-tab small {
  align-self: start;
  color: #159bd2;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .16em;
}

.csv-audience-tab.is-active small {
  color: #8edcf5;
}

.csv-audience-tab strong {
  display: block;
  margin: 16px 0 10px;
  font-size: clamp(24px, calc(2.6 * var(--pp-wide-vw, 1vw)), 34px);
  line-height: 1.3;
}

.csv-audience-tab > span {
  align-self: start;
  line-height: 1.75;
}

.csv-audience-tab b {
  align-self: end;
  justify-self: end;
  font-size: 12px;
  letter-spacing: .13em;
}

.csv-audience-tab b i {
  margin-left: 8px;
}

.csv-audience-panels {
  margin-top: 14px;
}

.csv-audience-panel {
  display: grid;
  grid-template-columns: minmax(180px, .45fr) minmax(0, 1.55fr);
  gap: clamp(24px, calc(4 * var(--pp-wide-vw, 1vw)), 46px);
  padding: clamp(28px, calc(4 * var(--pp-wide-vw, 1vw)), 46px);
  border-top: 1px solid #2a9bc9;
  border-bottom: 1px solid rgba(42, 155, 201, .5);
  background: rgba(255, 255, 255, .76);
}

.csv-audience-panel[hidden] {
  display: none;
}

.csv-audience-panel__intro small {
  color: #159bd2;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .15em;
}

.csv-audience-panel__intro h3 {
  margin: 11px 0 0;
  font-size: clamp(21px, calc(2.3 * var(--pp-wide-vw, 1vw)), 28px);
  line-height: 1.45;
}

.csv-audience-panel ul {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.csv-audience-panel li {
  position: relative;
  padding: 12px 4px 12px 28px;
  border-bottom: 1px solid rgba(24, 110, 141, .2);
  line-height: 1.75;
}

.csv-audience-panel li::before {
  content: "✓";
  position: absolute;
  left: 2px;
  top: 12px;
  color: #159bd2;
  font-weight: 900;
}

.csv-service-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.csv-service-card {
  position: relative;
  min-height: 230px;
  margin: 0;
  padding: 30px;
  border: 1px solid rgba(23, 103, 129, .55);
  border-radius: 24px 24px 24px 0;
  background: rgba(226, 244, 251, .8);
}

.csv-service-card > span,
.csv-service-card summary > span {
  color: #159bd2;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .14em;
}

.csv-service-card > small,
.csv-service-card summary > small {
  display: block;
  margin: 12px 0 8px;
  color: #49727f;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .13em;
}

.csv-service-card > h3,
.csv-service-card summary > strong {
  display: block;
  margin: 0 0 16px;
  color: #003a4b;
  font-size: clamp(21px, calc(2.3 * var(--pp-wide-vw, 1vw)), 28px);
  line-height: 1.4;
}

.csv-service-card > p {
  margin: 0;
  color: #365e6b;
  line-height: 1.8;
}

.csv-system-service {
  grid-column: 1 / -1;
  min-height: auto;
  padding: 0;
  background: rgba(218, 239, 248, .9);
}

.csv-system-service summary {
  position: relative;
  padding: 30px 78px 26px 30px;
  cursor: pointer;
  list-style: none;
}

.csv-system-service summary::-webkit-details-marker {
  display: none;
}

.csv-system-service summary > strong {
  margin-bottom: 0;
}

.csv-system-service summary > i {
  position: absolute;
  right: 30px;
  top: 50%;
  color: #159bd2;
  font-size: 22px;
  transform: translateY(-50%);
  transition: transform .2s ease;
}

.csv-system-service[open] summary > i {
  transform: translateY(-50%) rotate(180deg);
}

.csv-system-service > p {
  margin: 0 30px 26px;
  padding-top: 22px;
  border-top: 1px dashed rgba(23, 103, 129, .45);
}

.csv-system-table {
  margin: 0 30px 30px;
  border: 1px solid rgba(23, 103, 129, .42);
  background: rgba(255, 255, 255, .76);
}

.csv-system-table > div {
  display: grid;
  grid-template-columns: 1fr 1fr;
}

.csv-system-table > div + div {
  border-top: 1px solid rgba(23, 103, 129, .24);
}

.csv-system-table span {
  padding: 15px 18px;
  line-height: 1.65;
}

.csv-system-table span + span {
  border-left: 1px solid rgba(23, 103, 129, .24);
}

.csv-system-table__head {
  background: #0a568b;
  color: #fff;
  font-weight: 800;
  letter-spacing: .08em;
}

.csv-flow-section {
  border: 0;
  background: transparent;
}

.csv-flow-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid #159bd2;
  border-bottom: 1px solid #159bd2;
}

.csv-flow-grid article {
  position: relative;
  min-height: 260px;
  padding: 34px;
  background: rgba(201, 239, 250, .9);
}

.csv-flow-grid article:nth-child(2) {
  background: rgba(183, 220, 243, .9);
}

.csv-flow-grid article:nth-child(3) {
  background: rgba(169, 204, 236, .9);
}

.csv-flow-grid article + article {
  border-left: 1px dashed rgba(23, 103, 129, .45);
}

.csv-flow-grid article + article::before {
  content: "";
  position: absolute;
  left: -1px;
  top: 46%;
  width: 14px;
  height: 14px;
  border-top: 1px solid #159bd2;
  border-right: 1px solid #159bd2;
  background: inherit;
  transform: translate(-50%, -50%) rotate(45deg);
}

.csv-flow-grid article > span {
  color: #078fc9;
  font-weight: 900;
  letter-spacing: .15em;
}

.csv-flow-grid h3 {
  margin: 22px 0 14px;
  font-size: clamp(20px, calc(2 * var(--pp-wide-vw, 1vw)), 25px);
}

.csv-flow-grid p {
  margin: 0;
  color: #3c6471;
  line-height: 1.9;
}

/* Match the CSV GAP entry point to the GxP consulting 08 card. */
.csv-gxp-gap-card {
  --csv-gap-image: url("https://www.pharma-planning.com/dcms_media/image/materials_06.jpg");
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 42%) clamp(58px, calc(6 * var(--pp-wide-vw, 1vw)), 84px) minmax(0, 1fr);
  min-width: 0;
  min-height: 354px;
  overflow: hidden;
  background: #071f31;
  color: #fff;
  isolation: isolate;
}

.csv-gxp-gap-card::before {
  content: "";
  position: absolute;
  inset: -30px;
  z-index: -2;
  background: var(--csv-gap-image) center / cover;
  opacity: .42;
  transform: scale(1.08);
}

.csv-gxp-gap-card::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(90deg, rgba(84, 178, 220, .22) 0%, rgba(84, 178, 220, .22) 48%, rgba(4, 27, 43, .34) 100%);
}

.csv-gxp-gap-card__image {
  position: relative;
  grid-area: 1 / 3;
  min-height: 100%;
  overflow: hidden;
  opacity: 1;
  transition: opacity .38s ease, transform .48s ease;
}

.csv-gxp-gap-card__image::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(4, 27, 43, .2), rgba(4, 27, 43, .04));
  pointer-events: none;
}

.csv-gxp-gap-card__image img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 100%;
  object-fit: cover;
  filter: saturate(.82) brightness(.78);
  transition: transform .65s ease;
}

.csv-gxp-gap-card:hover .csv-gxp-gap-card__image img {
  transform: scale(1.015);
}

.csv-gxp-gap-card.is-open .csv-gxp-gap-card__image {
  opacity: 0;
  pointer-events: none;
  transform: scale(1.02);
}

.csv-gxp-gap-card__body {
  grid-area: 1 / 1;
  align-self: stretch;
  min-height: 0;
  padding: clamp(26px, calc(3.3 * var(--pp-wide-vw, 1vw)), 52px);
  background: rgba(84, 178, 220, .48);
}

.csv-gxp-gap-card__step {
  display: block;
  margin-bottom: clamp(12px, calc(1.4 * var(--pp-wide-vw, 1vw)), 20px);
  font-family: var(--pp-font-latin);
  font-size: clamp(32px, calc(4 * var(--pp-wide-vw, 1vw)), 56px);
  font-weight: 400;
  line-height: 1;
  letter-spacing: .02em;
}

.csv-gxp-gap-card h2 {
  margin: 0;
  color: #fff;
  font-size: clamp(20px, calc(1.65 * var(--pp-wide-vw, 1vw)), 30px);
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: .04em;
  text-align: center;
}

.csv-gxp-gap-card h2 small {
  display: block;
  margin-top: 10px;
  color: rgba(255, 255, 255, .76);
  font-family: inherit;
  font-size: clamp(12px, calc(.85 * var(--pp-wide-vw, 1vw)), 14px);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: .06em;
}

.csv-gxp-gap-card__detail {
  z-index: 2;
  display: grid;
  grid-area: 1 / 3;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-content: center;
  column-gap: clamp(24px, calc(3.6 * var(--pp-wide-vw, 1vw)), 54px);
  padding: clamp(26px, calc(3.3 * var(--pp-wide-vw, 1vw)), 52px);
  background: linear-gradient(135deg, rgba(7, 31, 49, .9), rgba(11, 52, 77, .78));
  opacity: 0;
  pointer-events: none;
  transform: translateX(18px);
  transition: opacity .42s ease, transform .5s cubic-bezier(.2, .75, .2, 1);
}

.csv-gxp-gap-card.is-open .csv-gxp-gap-card__detail {
  opacity: 1;
  pointer-events: auto;
  transform: translateX(0);
}

.csv-gxp-gap-card__detail p {
  position: relative;
  max-height: none;
  margin: 0 !important;
  overflow: visible;
  color: rgba(255, 255, 255, .92);
  font-size: clamp(13px, calc(.9 * var(--pp-wide-vw, 1vw)), 15px);
  line-height: 1.9;
}

.csv-gxp-gap-card__detail > p:first-child {
  grid-column: 1 / -1;
  margin-bottom: clamp(14px, calc(1.5 * var(--pp-wide-vw, 1vw)), 22px) !important;
  padding-left: 18px;
}

.csv-gxp-gap-card__detail > p:first-child::before {
  content: "・";
  position: absolute;
  top: 0;
  left: 0;
  color: #fff;
}

.csv-gxp-gap-card__detail p:has(a) {
  border-top: 1px solid rgba(255, 255, 255, .88);
}

.csv-gxp-gap-card__detail p:has(a):nth-last-child(-n + 2) {
  border-bottom: 1px solid rgba(255, 255, 255, .88);
}

.csv-gxp-gap-card__detail a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 44px;
  color: #fff;
  font-size: clamp(12px, calc(1.05 * var(--pp-wide-vw, 1vw)), 15px);
  font-weight: 700;
  line-height: 1.4;
  text-decoration: none;
}

.csv-gxp-gap-card__detail a::after {
  content: "→";
  flex: 0 0 auto;
  font-size: 16px;
  font-weight: 400;
  transition: transform 180ms ease;
}

.csv-gxp-gap-card__detail a:hover::after,
.csv-gxp-gap-card__detail a:focus-visible::after {
  transform: translateX(5px);
}

.csv-gxp-gap-card__detail a:focus-visible {
  outline: 2px solid var(--pp-rail-accent);
  outline-offset: -2px;
}

.csv-gxp-gap-card__toggle {
  position: relative;
  z-index: 3;
  display: grid;
  grid-area: 1 / 2;
  place-items: center;
  width: 100%;
  min-width: 0;
  padding: 0;
  border: 0;
  border-right: 1px solid rgba(255, 255, 255, .92);
  border-left: 1px solid rgba(255, 255, 255, .92);
  background: rgba(84, 178, 220, .48);
  color: #fff;
  cursor: pointer;
}

.csv-gxp-gap-card__toggle i {
  font-size: clamp(25px, calc(2.2 * var(--pp-wide-vw, 1vw)), 34px);
  line-height: 1;
  transition: transform 180ms ease;
}

.csv-gxp-gap-card__toggle:hover i,
.csv-gxp-gap-card__toggle:focus-visible i {
  transform: translateX(6px);
}

.csv-gxp-gap-card.is-open .csv-gxp-gap-card__toggle i {
  transform: rotate(180deg);
}

.csv-gxp-gap-card.is-open .csv-gxp-gap-card__toggle:hover i,
.csv-gxp-gap-card.is-open .csv-gxp-gap-card__toggle:focus-visible i {
  transform: translateX(-6px) rotate(180deg);
}

.csv-gxp-gap-card__toggle:focus-visible {
  outline: 2px solid #fff;
  outline-offset: -5px;
}

@media (max-width: 720px) {
  .csv-renewal-section {
    padding-inline: 18px;
  }

  .csv-audience-tabs {
    margin-inline: -18px;
    padding-inline: 18px;
    scroll-padding-inline: 18px;
  }

  .csv-audience-tab {
    flex-basis: min(calc(84 * var(--pp-wide-vw, 1vw)), 360px);
    min-width: min(calc(84 * var(--pp-wide-vw, 1vw)), 360px);
  }

  .csv-audience-panel {
    grid-template-columns: 1fr;
  }

  .csv-service-grid,
  .csv-flow-grid {
    grid-template-columns: 1fr;
  }

  .csv-flow-grid article {
    min-height: 0;
  }

  .csv-flow-grid article + article {
    border-top: 1px dashed rgba(23, 103, 129, .45);
    border-left: 0;
  }

  .csv-flow-grid article + article::before {
    display: none;
  }

  .csv-gxp-gap-card {
    grid-template-columns: minmax(0, 1fr) 58px;
    min-height: 0;
  }

  .csv-gxp-gap-card::after {
    background: linear-gradient(0deg, rgba(4, 27, 43, .96) 0%, rgba(4, 27, 43, .75) 68%, rgba(4, 27, 43, .2) 100%);
  }

  .csv-gxp-gap-card__image,
  .csv-gxp-gap-card__detail {
    grid-area: 1 / 1 / auto / -1;
    min-height: clamp(320px, calc(92 * var(--pp-wide-vw, 1vw)), 410px);
  }

  .csv-gxp-gap-card__detail {
    grid-template-columns: 1fr;
    padding: 22px 24px;
  }

  .csv-gxp-gap-card__detail p:has(a):nth-last-child(2) {
    border-bottom: 0;
  }

  .csv-gxp-gap-card__body {
    grid-area: 2 / 1;
    padding: 24px;
  }

  .csv-gxp-gap-card__step {
    font-size: clamp(30px, calc(9 * var(--pp-wide-vw, 1vw)), 40px);
  }

  .csv-gxp-gap-card__toggle {
    grid-area: 2 / 2;
    min-height: 126px;
  }

  .csv-service-process-card {
    grid-template-columns: minmax(0, 1fr) 58px;
    min-height: 0;
  }

  .csv-service-process-card::after {
    background: linear-gradient(0deg, rgba(4, 27, 43, .96) 0%, rgba(4, 27, 43, .75) 68%, rgba(4, 27, 43, .2) 100%);
  }

  .csv-service-process-card__image,
  .csv-service-process-card__detail {
    grid-area: 1 / 1 / auto / -1;
    min-height: clamp(155px, calc(48 * var(--pp-wide-vw, 1vw)), 220px);
  }

  .csv-service-process-card__detail {
    padding: 22px 24px;
  }

  .csv-service-process-card__body {
    grid-area: 2 / 1;
    padding: 24px;
  }

  .csv-service-process-card__step {
    font-size: clamp(30px, calc(9 * var(--pp-wide-vw, 1vw)), 40px);
  }

  .csv-service-process-card__toggle {
    grid-area: 2 / 2;
    min-height: 126px;
  }

  .csv-system-service summary {
    padding-right: 56px;
  }

  .csv-system-service summary > i {
    right: 20px;
  }

  .csv-system-table > div {
    grid-template-columns: 1fr;
  }

  .csv-system-table > div:not(.csv-system-table__head) span::before {
    display: block;
    margin-bottom: 5px;
    color: #159bd2;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .12em;
  }

  .csv-system-table > div:not(.csv-system-table__head) span:first-child::before {
    content: "支援内容";
  }

  .csv-system-table > div:not(.csv-system-table__head) span:last-child::before {
    content: "アウトプット";
  }

  .csv-system-table__head {
    display: none;
  }

  .csv-system-table span + span {
    border-top: 1px dashed rgba(23, 103, 129, .24);
    border-left: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .csv-service-process-card__image,
  .csv-service-process-card__image img,
  .csv-service-process-card__detail,
  .csv-service-process-card__toggle i,
  .csv-gxp-gap-card__image,
  .csv-gxp-gap-card__image img,
  .csv-gxp-gap-card__detail,
  .csv-gxp-gap-card__toggle i,
  .csv-gxp-gap-card__detail a::after {
    transition: none;
  }
}

/* TOP FIELD gallery: three visible cards with a full-screen detail viewer. */
body[data-page="home"] #top-field-finder.has-field-gallery {
  position: relative;
}

.top-field-gallery-controls {
  display: flex;
  width: max-content;
  margin: 14px 0 0;
  align-items: center;
  gap: 16px;
  color: #013641;
  font-family: var(--pp-font-latin);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .12em;
}

.top-field-gallery-controls__prev,
.top-field-gallery-controls__next {
  display: grid;
  width: 42px;
  height: 42px;
  padding: 0;
  place-items: center;
  color: #fff;
  border: 0;
  background: #76bbd8;
  font-size: 20px;
  cursor: pointer;
  transition: background-color 180ms ease, transform 180ms ease;
}

.top-field-gallery-controls__prev:is(:hover, :focus-visible),
.top-field-gallery-controls__next:is(:hover, :focus-visible) {
  background: #2f8eb6;
}

.top-field-gallery-controls__prev:is(:hover, :focus-visible) {
  transform: translateX(-3px);
}

.top-field-gallery-controls__next:is(:hover, :focus-visible) {
  transform: translateX(3px);
}

body.field-gallery-open {
  overflow: hidden;
}

.top-field-gallery-modal[hidden] {
  display: none;
}

.top-field-gallery-modal {
  position: fixed;
  z-index: 10000;
  inset: 0;
  display: grid;
  padding: clamp(18px, calc(4 * var(--pp-wide-vw, 1vw)), 58px);
  place-items: center;
  opacity: 0;
  transition: opacity 220ms ease;
}

.top-field-gallery-modal.is-open {
  opacity: 1;
}

.top-field-gallery-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(1, 31, 48, .82);
  backdrop-filter: blur(12px);
}

.top-field-gallery-modal__dialog {
  position: relative;
  display: grid;
  width: min(1240px, 100%);
  height: min(760px, calc(calc(100 * var(--pp-wide-vh, 1vh)) - clamp(36px, calc(8 * var(--pp-wide-vw, 1vw)), 116px)));
  overflow: hidden;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: minmax(0, 1fr);
  color: #fff;
  background: #013641;
  box-shadow: 0 28px 80px rgba(0, 22, 35, .45);
  transform: scale(.98);
  transition: transform 260ms cubic-bezier(.22, 1, .36, 1);
}

.top-field-gallery-modal.is-open .top-field-gallery-modal__dialog {
  transform: scale(1);
}

.top-field-gallery-modal__image-wrap,
.top-field-gallery-modal__image {
  width: 100%;
  height: 100%;
}

.top-field-gallery-modal__image-wrap {
  position: absolute;
  inset: 0;
}

.top-field-gallery-modal__image {
  display: block;
  object-fit: cover;
}

.top-field-gallery-modal__image-wrap::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(1, 35, 65, .9) 0, rgba(1, 35, 65, .58) 42%, rgba(1, 35, 65, .08) 72%);
  content: "";
}

.top-field-gallery-modal__copy {
  position: relative;
  z-index: 2;
  width: min(500px, 52%);
  padding: clamp(44px, calc(7 * var(--pp-wide-vw, 1vw)), 96px) clamp(34px, calc(6 * var(--pp-wide-vw, 1vw)), 84px);
  align-self: center;
}

.top-field-gallery-modal__eyebrow {
  margin: 0 0 16px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .22em;
}

.top-field-gallery-modal__copy h3 {
  margin: 0;
  color: #fff;
  font-size: clamp(34px, calc(5 * var(--pp-wide-vw, 1vw)), 68px);
  font-weight: 500;
  line-height: 1.22;
  letter-spacing: .04em;
}

.top-field-gallery-modal__description {
  margin: 26px 0 0;
  font-size: clamp(14px, calc(1.35 * var(--pp-wide-vw, 1vw)), 18px);
  font-weight: 700;
  line-height: 1.9;
}

.top-field-gallery-modal__link {
  display: inline-flex;
  margin-top: 30px;
  padding: 10px 0;
  align-items: center;
  gap: 18px;
  color: #fff;
  border-bottom: 1px solid rgba(255, 255, 255, .78);
  font-weight: 800;
}

.top-field-gallery-modal__close,
.top-field-gallery-modal__nav {
  position: absolute;
  z-index: 4;
  display: grid;
  width: 54px;
  height: 54px;
  padding: 0;
  place-items: center;
  color: #fff;
  border: 1px solid rgba(255, 255, 255, .78);
  background: rgba(1, 54, 65, .72);
  font-size: 24px;
  cursor: pointer;
}

.top-field-gallery-modal__close {
  top: 0;
  right: 0;
}

.top-field-gallery-modal__nav {
  top: 50%;
  transform: translateY(-50%);
}

.top-field-gallery-modal__nav--prev {
  left: 0;
}

.top-field-gallery-modal__nav--next {
  right: 0;
}

.top-field-gallery-modal__close:is(:hover, :focus-visible),
.top-field-gallery-modal__nav:is(:hover, :focus-visible) {
  background: #4eabd8;
}

.top-field-gallery-modal__count {
  position: absolute;
  z-index: 3;
  right: 22px;
  bottom: 20px;
  font-family: var(--pp-font-latin);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .14em;
}

@media (max-width: 780px) {
  .top-field-gallery-controls {
    margin-top: 12px;
  }

  .top-field-gallery-modal {
    padding: 12px;
  }

  .top-field-gallery-modal__dialog {
    height: calc(calc(100 * var(--pp-wide-vh, 1vh)) - 24px);
  }

  .top-field-gallery-modal__image-wrap::after {
    background: linear-gradient(180deg, rgba(1, 35, 65, .08) 20%, rgba(1, 35, 65, .94) 76%);
  }

  .top-field-gallery-modal__copy {
    width: auto;
    padding: 34px 30px 86px;
    align-self: end;
  }

  .top-field-gallery-modal__copy h3 {
    font-size: clamp(30px, calc(10 * var(--pp-wide-vw, 1vw)), 44px);
  }

  .top-field-gallery-modal__nav {
    top: auto;
    bottom: 12px;
    transform: none;
  }

  .top-field-gallery-modal__count {
    right: 50%;
    bottom: 32px;
    transform: translateX(50%);
  }
}

@media (prefers-reduced-motion: reduce) {
  .top-field-gallery-modal,
  .top-field-gallery-modal__dialog,
  .top-field-gallery-controls__next,
  body[data-page="home"] #top-field-finder.has-field-gallery .top-about-study__field-detail {
    transition: none;
  }
}

/* Cosmetics consulting renewal: medicine service-area family */
body.page-cosmetics .page-stage {
  background:
    linear-gradient(110deg, rgba(246, 249, 250, .93), rgba(248, 248, 244, .94)),
    var(--page-image) center top / cover fixed;
}

body.page-cosmetics .page-intro {
  min-height: 0;
  margin-bottom: 0;
  justify-content: flex-start;
  padding-top: clamp(28px, calc(3.5 * var(--pp-wide-vh, 1vh)), 38px);
  padding-bottom: clamp(24px, calc(3.5 * var(--pp-wide-vw, 1vw)), 38px);
}

body.page-cosmetics[data-page="region01"] .page-intro h1 {
  width: 100%;
  max-width: 30ch;
  margin-bottom: 18px;
  font-size: var(--pp-page-title-size);
  font-weight: var(--pp-page-title-weight);
  line-height: var(--pp-page-title-line-height);
  letter-spacing: var(--pp-page-title-letter-spacing);
  text-shadow: var(--pp-image-heading-shadow) !important;
  text-wrap: wrap;
}

body.page-cosmetics .page-intro .eyebrow {
  text-shadow:
    0 1px 2px rgba(0, 26, 43, .94),
    0 0 12px rgba(0, 26, 43, .48) !important;
}

body.page-cosmetics .page-intro h1,
body.page-cosmetics .page-intro h1 > span,
body.page-cosmetics .page-intro h1 .cosmetics-title-phrase {
  text-shadow:
    0 3px 5px rgba(0, 26, 43, .92),
    0 0 18px rgba(0, 26, 43, .56),
    0 8px 24px rgba(0, 26, 43, .24) !important;
}

body.page-cosmetics .page-intro > p {
  text-shadow:
    0 1px 2px rgba(0, 26, 43, .94),
    0 0 12px rgba(0, 26, 43, .46) !important;
}

body.page-cosmetics .cosmetics-issue-guide {
  padding: clamp(22px, calc(3 * var(--pp-wide-vw, 1vw)), 34px) clamp(22px, calc(4 * var(--pp-wide-vw, 1vw)), 48px) clamp(30px, calc(4.5 * var(--pp-wide-vw, 1vw)), 52px);
  scroll-margin-top: 92px;
}

body.page-cosmetics .cosmetics-issue-guide__head {
  padding: 0 0 clamp(22px, calc(3 * var(--pp-wide-vw, 1vw)), 32px);
  background: transparent;
}

body.page-cosmetics .cosmetics-issue-guide__head > span {
  display: block;
  margin-bottom: 7px;
  color: #2f5d78;
  font-family: var(--pp-font-latin);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .17em;
}

body.page-cosmetics .cosmetics-issue-guide__head h3 {
  width: fit-content;
  margin: 0;
  color: var(--pp-text, #1e2f3a);
  font-size: clamp(25px, calc(2.7 * var(--pp-wide-vw, 1vw)), 38px);
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: .02em;
}

body.page-cosmetics .cosmetics-issue-guide__head p {
  max-width: 46em;
  margin: 10px 0 0;
  color: #455965;
  font-size: clamp(13px, calc(1 * var(--pp-wide-vw, 1vw)), 15px);
  line-height: 1.8;
}

body.page-cosmetics .cosmetics-issue-guide__tabs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

body.page-cosmetics .cosmetics-issue-guide__tabs button {
  --cosmetics-issue-accent: #80ad55;
  --cosmetics-issue-surface: #eef5dc;
  min-width: 0;
  min-height: 64px;
  padding: 9px 14px 7px;
  border: 0;
  border-left: 1px solid rgba(255, 255, 255, .6);
  border-bottom: 4px solid transparent;
  border-radius: 0;
  color: #fff;
  background: var(--cosmetics-issue-accent);
  cursor: pointer;
  font-size: clamp(12px, calc(1.15 * var(--pp-wide-vw, 1vw)), 15px);
  font-weight: 800;
  line-height: 1.3;
  text-align: left;
  transition: color 180ms ease-out, border-color 180ms ease-out, background-color 180ms ease-out;
}

body.page-cosmetics .cosmetics-issue-guide__tabs button:nth-child(2) {
  --cosmetics-issue-accent: #796eaa;
  --cosmetics-issue-surface: #f0edf7;
}

body.page-cosmetics .cosmetics-issue-guide__tabs button:nth-child(3) {
  --cosmetics-issue-accent: #bd4d84;
  --cosmetics-issue-surface: #f8edf3;
}

body.page-cosmetics .cosmetics-issue-guide__tabs button:first-child {
  border-left: 0;
}

body.page-cosmetics .cosmetics-issue-guide__tabs button[aria-selected="true"] {
  border-bottom-color: var(--cosmetics-issue-accent);
  color: var(--cosmetics-issue-accent);
  background: transparent;
}

body.page-cosmetics .cosmetics-issue-guide__tabs button:is(:hover, :focus-visible) {
  filter: brightness(1.05);
}

body.page-cosmetics .cosmetics-issue-guide__tabs button:focus-visible {
  position: relative;
  z-index: 1;
  outline: 2px solid #071b2c;
  outline-offset: 2px;
}

body.page-cosmetics .cosmetics-issue-guide__panels > section {
  --cosmetics-issue-accent: #80ad55;
  --cosmetics-issue-surface: rgba(238, 245, 220, .94);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 28px;
  min-height: 150px;
  padding: clamp(24px, calc(3.2 * var(--pp-wide-vw, 1vw)), 38px) clamp(22px, calc(3.8 * var(--pp-wide-vw, 1vw)), 44px);
  border-bottom: 1px solid var(--cosmetics-issue-accent);
  background: transparent;
}

body.page-cosmetics .cosmetics-issue-guide__panels > section[data-cosmetics-issue-panel="manufacturing"] {
  --cosmetics-issue-accent: #796eaa;
  --cosmetics-issue-surface: rgba(240, 237, 247, .95);
}

body.page-cosmetics .cosmetics-issue-guide__panels > section[data-cosmetics-issue-panel="distribution"] {
  --cosmetics-issue-accent: #bd4d84;
  --cosmetics-issue-surface: rgba(248, 237, 243, .95);
}

body.page-cosmetics .cosmetics-issue-guide__panels > section[hidden] {
  display: none;
}

body.page-cosmetics .cosmetics-issue-guide__item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-width: 0;
  padding: 12px 0;
  border-bottom: 1px solid color-mix(in srgb, var(--cosmetics-issue-accent) 40%, transparent);
  color: #173744;
  font-weight: 700;
  line-height: 1.65;
}

body.page-cosmetics .cosmetics-issue-guide__panels a {
  text-decoration: none;
}

body.page-cosmetics .cosmetics-issue-guide__panels a i {
  flex: 0 0 auto;
  color: var(--cosmetics-issue-accent);
}

@media (max-width: 720px) {
  body.page-cosmetics .cosmetics-issue-guide {
    padding: 28px 16px;
  }

  body.page-cosmetics .cosmetics-issue-guide__tabs button {
    min-height: 58px;
    padding-inline: 9px;
  }

  body.page-cosmetics .cosmetics-issue-guide__panels > section {
    grid-template-columns: 1fr;
    min-height: 0;
    padding: 20px;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.page-cosmetics .cosmetics-issue-guide__tabs button {
    transition: none;
  }
}

/* Shared consultation flow: service-area pages use the same circular step system. */
.pp-consult-flow__steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: clamp(36px, calc(5 * var(--pp-wide-vw, 1vw)), 52px) 0 30px;
  padding: 0 12px;
  list-style: none;
}

.pp-consult-flow__steps > li {
  --pp-consult-ring: #008f87;
  min-width: 0;
  text-align: center;
}

.pp-consult-flow__steps > li:nth-child(2) {
  --pp-consult-ring: #009fbb;
}

.pp-consult-flow__steps > li:nth-child(3) {
  --pp-consult-ring: #4e8bb7;
}

.pp-consult-flow__ring {
  --pp-consult-ring-width: clamp(10px, calc(1.2 * var(--pp-wide-vw, 1vw)), 16px);
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: calc(100% + 24px);
  margin-left: -12px;
  aspect-ratio: 1;
  border: var(--pp-consult-ring-width) solid transparent;
  border-radius: 50%;
  color: var(--pp-consult-ring);
  background: rgba(255, 255, 255, .92);
  text-decoration: none;
  transition: transform 180ms ease;
}

.pp-consult-flow__ring::before {
  position: absolute;
  inset: calc(-1 * var(--pp-consult-ring-width));
  border: var(--pp-consult-ring-width) solid var(--pp-consult-ring);
  border-right-color: color-mix(in srgb, var(--pp-consult-ring) 40%, white);
  border-radius: 50%;
  content: "";
  pointer-events: none;
}

.pp-consult-flow__steps:has(.pp-consult-flow__ring:hover) > li:nth-child(1) .pp-consult-flow__ring::before,
.pp-consult-flow__steps:focus-within > li:nth-child(1) .pp-consult-flow__ring::before {
  animation: pp-consult-ring-spin 15.6s linear both;
}

.pp-consult-flow__steps:has(.pp-consult-flow__ring:hover) > li:nth-child(2) .pp-consult-flow__ring::before,
.pp-consult-flow__steps:focus-within > li:nth-child(2) .pp-consult-flow__ring::before {
  animation: pp-consult-ring-spin 15.6s 1.8s linear both;
}

.pp-consult-flow__steps:has(.pp-consult-flow__ring:hover) > li:nth-child(3) .pp-consult-flow__ring::before,
.pp-consult-flow__steps:focus-within > li:nth-child(3) .pp-consult-flow__ring::before {
  animation: pp-consult-ring-spin 15.6s 3.6s linear both;
}

.pp-consult-flow__steps:has(.pp-consult-flow__ring:hover) > li:nth-child(4) .pp-consult-flow__ring::before,
.pp-consult-flow__steps:focus-within > li:nth-child(4) .pp-consult-flow__ring::before {
  animation: pp-consult-ring-spin 15.6s 5.4s linear both;
}

.pp-consult-flow__steps > li .pp-consult-flow__ring:hover::before {
  animation-delay: 0s;
}

@keyframes pp-consult-ring-spin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

.pp-consult-flow__ring:hover {
  transform: translateY(-5px);
}

.pp-consult-flow__ring:focus-visible {
  outline: 3px solid #004a99;
  outline-offset: 5px;
}

.pp-consult-flow__ring i {
  font-size: 34px;
}

.pp-consult-flow__ring span {
  font-family: var(--pp-font-latin);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .16em;
}

.pp-consult-flow__ring strong {
  font-size: clamp(17px, calc(1.65 * var(--pp-wide-vw, 1vw)), 23px);
  line-height: 1.45;
}

.pp-consult-flow__steps > li > p {
  margin: 24px 0 0;
  padding: 0 18px;
  color: #526570;
  font-size: var(--pp-page-lead-size, clamp(14px, calc(1.25 * var(--pp-wide-vw, 1vw)), 17px));
  font-weight: 700;
  line-height: var(--pp-page-lead-line-height, 1.8);
}

.pp-consult-flow__footer {
  padding-top: 24px;
  border-top: 1px solid #cfe4ef;
  text-align: center;
}

.pp-consult-flow__footer a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border-bottom: 1px solid currentColor;
  color: #08799e;
  font-weight: 700;
  line-height: 1.08;
  text-decoration: none;
}

@media (max-width: 720px) {
  .pp-consult-flow__steps {
    grid-template-columns: 1fr;
    gap: 28px;
    padding: 0;
  }

  .pp-consult-flow__ring {
    width: 230px;
    margin: 0 auto;
  }

  .pp-consult-flow__steps > li > p {
    max-width: 320px;
    margin: 16px auto 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .pp-consult-flow__ring {
    transition: none;
  }

  .pp-consult-flow__ring:hover {
    transform: none;
  }

  .pp-consult-flow__ring::before {
    animation: none !important;
  }
}

body.page-cosmetics .page-intro .eyebrow {
  margin-bottom: 16px;
}

body.page-cosmetics .page-intro p {
  margin-top: 0;
}

body.page-cosmetics .page-intro h1 .cosmetics-title-phrase {
  display: block;
}

@media (min-width: 721px) {
  body.page-cosmetics .page-intro h1 .cosmetics-title-phrase {
    white-space: nowrap;
  }
}

@media (max-width: 720px) {
  body.page-cosmetics[data-page="region01"] .page-intro h1 {
    font-size: clamp(30px, calc(9 * var(--pp-wide-vw, 1vw)), 42px);
  }
}

body.page-cosmetics .content-stack {
  width: min(1180px, calc(100% - clamp(28px, calc(6 * var(--pp-wide-vw, 1vw)), 96px)));
  margin-inline: auto;
}

body.page-cosmetics :is(#cosmetics-results, #cosmetics-services) {
  width: calc(100% + clamp(28px, calc(6 * var(--pp-wide-vw, 1vw)), 96px) + (2 * clamp(24px, calc(5 * var(--pp-wide-vw, 1vw)), 72px)));
  margin-left: calc(-1 * (clamp(24px, calc(5 * var(--pp-wide-vw, 1vw)), 72px) + (clamp(28px, calc(6 * var(--pp-wide-vw, 1vw)), 96px) / 2)));
}

body.page-cosmetics #cosmetics-contact {
  width: calc(100% + (2 * clamp(24px, calc(5 * var(--pp-wide-vw, 1vw)), 72px)));
  margin-left: calc(-1 * clamp(24px, calc(5 * var(--pp-wide-vw, 1vw)), 72px));
}

body.page-cosmetics .cosmetics-renewal {
  display: grid;
  gap: 28px;
  padding: 0;
}

body.page-cosmetics :is(.cosmetics-flow, .cosmetics-service-area) {
  scroll-margin-top: 92px;
}

body.page-cosmetics .cosmetics-section-heading {
  margin-bottom: clamp(32px, calc(5 * var(--pp-wide-vw, 1vw)), 60px);
  text-align: center;
}

body.page-cosmetics .cosmetics-section-heading h3 {
  font-size: clamp(30px, calc(4.2 * var(--pp-wide-vw, 1vw)), 54px);
  letter-spacing: .035em;
}

body.page-cosmetics .cosmetics-section-heading > span {
  display: block;
  max-width: 760px;
  margin: clamp(20px, calc(2.4 * var(--pp-wide-vw, 1vw)), 30px) auto 0;
  font-size: clamp(14px, calc(1.15 * var(--pp-wide-vw, 1vw)), 17px);
  line-height: 2;
}

body.page-cosmetics .cosmetics-flow {
  padding: clamp(34px, calc(5 * var(--pp-wide-vw, 1vw)), 64px);
  border: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
}

body.page-cosmetics .cosmetics-flow__steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0;
  padding: 0;
  list-style: none;
}

body.page-cosmetics .cosmetics-flow__steps li {
  --cosmetics-flow-accent: #21a9c8;
  --cosmetics-flow-surface: #def6fb;
  position: relative;
  min-height: 210px;
  padding: 30px clamp(22px, calc(3 * var(--pp-wide-vw, 1vw)), 42px);
  border-top: 1px solid var(--cosmetics-flow-accent);
  border-bottom: 1px solid var(--cosmetics-flow-accent);
  background: var(--cosmetics-flow-surface);
}

body.page-cosmetics .cosmetics-flow__steps li:nth-child(2) {
  --cosmetics-flow-accent: #1688bd;
  --cosmetics-flow-surface: #d8eef9;
}

body.page-cosmetics .cosmetics-flow__steps li:nth-child(3) {
  --cosmetics-flow-accent: #11699f;
  --cosmetics-flow-surface: #d5e5f4;
}

body.page-cosmetics .cosmetics-flow__steps li + li {
  border-left: 1px dashed rgba(0, 89, 119, .36);
}

body.page-cosmetics .cosmetics-flow__steps li:not(:last-child)::after {
  position: absolute;
  z-index: 1;
  top: 50%;
  right: -8px;
  width: 15px;
  height: 15px;
  border-top: 1px solid var(--cosmetics-flow-accent);
  border-right: 1px solid var(--cosmetics-flow-accent);
  background: var(--cosmetics-flow-surface);
  content: "";
  transform: translateY(-50%) rotate(45deg);
}

body.page-cosmetics .cosmetics-flow__steps span {
  display: block;
  margin-bottom: 16px;
  color: var(--cosmetics-flow-accent);
  font-family: var(--pp-font-latin);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .18em;
}

body.page-cosmetics .cosmetics-flow__steps strong {
  display: block;
  color: #003d52;
  font-size: clamp(18px, calc(1.6 * var(--pp-wide-vw, 1vw)), 23px);
  line-height: 1.5;
}

body.page-cosmetics .cosmetics-flow__steps p {
  margin: 14px 0 0;
  color: #31535f;
  font-size: 14px;
  line-height: 1.9;
}

body.page-cosmetics .cosmetics-inline-link {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  width: fit-content;
  margin: 26px 0 0 auto;
  padding-bottom: 5px;
  border-bottom: 1px solid #199bd3;
  color: #004b63;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
}

body.page-cosmetics .cosmetics-service-field {
  overflow: hidden;
  border: 1px solid rgba(47, 142, 182, .24);
  background: rgba(255, 255, 255, .52);
  box-shadow: none;
  backdrop-filter: blur(12px);
}

body.page-cosmetics .cosmetics-service-field__group-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  padding: 24px clamp(22px, calc(3 * var(--pp-wide-vw, 1vw)), 40px) 20px;
  border-bottom: 1px solid rgba(1, 54, 65, .26);
  background: rgba(255, 255, 255, .52);
  color: #013641;
}

body.page-cosmetics .cosmetics-service-field__group-heading span {
  font-size: clamp(19px, calc(2 * var(--pp-wide-vw, 1vw)), 28px);
  font-weight: 800;
}

body.page-cosmetics .cosmetics-service-field__group-heading strong {
  font-size: 13px;
  letter-spacing: .08em;
}

body.page-cosmetics .cosmetics-service-field__lifecycle {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin: 0;
  padding: 0;
  background: transparent;
  list-style: none;
}

body.page-cosmetics .cosmetics-service-field__lifecycle li {
  display: flex;
  min-height: 94px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 16px 12px;
  border-right: 1px solid #21a9c8;
  border-bottom: 1px solid #21a9c8;
  background: #bceaf3;
  color: #013641;
  text-align: center;
}

body.page-cosmetics .cosmetics-service-field__lifecycle li:last-child {
  border-right: 0;
}

body.page-cosmetics .cosmetics-service-field__lifecycle li:nth-child(2) {
  background: #b8e5f1;
}

body.page-cosmetics .cosmetics-service-field__lifecycle li:nth-child(3) {
  border-color: #1688bd;
  background: #b3dff0;
}

body.page-cosmetics .cosmetics-service-field__lifecycle li:nth-child(4) {
  border-color: #1688bd;
  background: #afd9ef;
}

body.page-cosmetics .cosmetics-service-field__lifecycle li:nth-child(5) {
  border-color: #11699f;
  background: #a9cce6;
}

body.page-cosmetics .cosmetics-service-field__lifecycle strong {
  font-size: clamp(17px, calc(1.7 * var(--pp-wide-vw, 1vw)), 23px);
  line-height: 1.35;
}

body.page-cosmetics .cosmetics-service-field__lifecycle small {
  color: rgba(1, 54, 65, .7);
  font-family: var(--pp-font-latin);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .04em;
}

body.page-cosmetics .cosmetics-service-field__columns {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

body.page-cosmetics .cosmetics-service-field__stage {
  display: flex;
  min-width: 0;
  min-height: 660px;
  flex-direction: column;
  padding: clamp(28px, calc(3.2 * var(--pp-wide-vw, 1vw)), 46px) clamp(22px, calc(2.6 * var(--pp-wide-vw, 1vw)), 38px) clamp(30px, calc(3.2 * var(--pp-wide-vw, 1vw)), 44px);
  border-right: 1px dashed rgba(0, 76, 100, .42);
  background: #def6fb;
}

body.page-cosmetics .cosmetics-service-field__stage:nth-child(2) {
  background: #d8eef9;
}

body.page-cosmetics .cosmetics-service-field__stage:nth-child(3) {
  background: #d5e5f4;
}

body.page-cosmetics .cosmetics-service-field__stage:last-child {
  border-right: 0;
}

body.page-cosmetics .cosmetics-service-field__number {
  color: #199bd3;
  font-family: var(--pp-font-latin);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .18em;
}

body.page-cosmetics .cosmetics-service-field__stage h4 {
  margin: 10px 0 18px;
  padding: 12px 14px;
  border: 1px solid #21a9c8;
  background: #bceaf3;
  color: #003d52;
  font-size: clamp(20px, calc(1.9 * var(--pp-wide-vw, 1vw)), 27px);
  line-height: 1.45;
}

body.page-cosmetics .cosmetics-service-field__stage:nth-child(2) h4 {
  border-color: #1688bd;
  background: #afd9ef;
}

body.page-cosmetics .cosmetics-service-field__stage:nth-child(3) h4 {
  border-color: #11699f;
  background: #a9cce6;
}

body.page-cosmetics .cosmetics-service-field__source {
  margin: 0 0 24px;
  padding: 11px 12px;
  border-left: 3px solid #199bd3;
  background: rgba(208, 235, 246, .66);
  color: #07536c;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.55;
}

body.page-cosmetics .cosmetics-service-field__standards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
  margin-bottom: 24px;
  padding: 8px;
  background: rgba(188, 234, 243, .62);
}

body.page-cosmetics .cosmetics-service-field__standards span {
  display: flex;
  min-height: 70px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 10px 8px;
  border: 1px solid #21a9c8;
  color: #013641;
  text-align: center;
}

body.page-cosmetics .cosmetics-service-field__stage:nth-child(2) .cosmetics-service-field__standards {
  background: rgba(175, 217, 239, .62);
}

body.page-cosmetics .cosmetics-service-field__stage:nth-child(2) .cosmetics-service-field__standards span {
  border-color: #1688bd;
}

body.page-cosmetics .cosmetics-service-field__stage:nth-child(3) .cosmetics-service-field__standards {
  background: rgba(169, 204, 230, .62);
}

body.page-cosmetics .cosmetics-service-field__stage:nth-child(3) .cosmetics-service-field__standards span {
  border-color: #11699f;
}

body.page-cosmetics .cosmetics-service-field__standards span:last-child:nth-child(odd) {
  grid-column: 1 / -1;
}

body.page-cosmetics .cosmetics-service-field__standards strong {
  font-size: 15px;
  line-height: 1.25;
}

body.page-cosmetics .cosmetics-service-field__standards small {
  display: block;
  margin-top: 5px;
  font-size: 10px;
  line-height: 1.35;
}

body.page-cosmetics .cosmetics-service-field__service-heading {
  margin: 0 0 14px;
  padding-top: 18px;
  border-top: 1px dashed rgba(1, 54, 65, .5);
  color: #315b69;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .06em;
}

body.page-cosmetics .cosmetics-service-field__stage > ul,
body.page-cosmetics .cosmetics-service-field__needs ul {
  display: grid;
  gap: 11px;
  margin: 0;
  padding: 0;
  list-style: none;
}

body.page-cosmetics .cosmetics-service-field__stage li {
  position: relative;
  padding-left: 15px;
  color: #173f4d;
  font-size: 13px;
  line-height: 1.75;
}

body.page-cosmetics .cosmetics-service-field__stage li::before {
  position: absolute;
  top: .78em;
  left: 0;
  width: 5px;
  height: 5px;
  background: #199bd3;
  content: "";
  transform: rotate(45deg);
}

body.page-cosmetics .cosmetics-service-field__needs {
  margin-top: 30px;
  padding-top: 24px;
  border-top: 1px dashed rgba(0, 76, 100, .36);
}

body.page-cosmetics .cosmetics-service-field__needs h5 {
  margin: 0 0 16px;
  color: #07536c;
  font-size: 14px;
  font-weight: 800;
  letter-spacing: .04em;
}

body.page-cosmetics .cosmetics-service-field__needs li {
  font-size: 12px;
}

body.page-cosmetics .medicine-service-field-guide__needs ul {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

body.page-cosmetics .medicine-service-field-guide__needs .cosmetics-service-field-guide__consultation-list li {
  padding-left: 0;
}

body.page-cosmetics .medicine-service-field-guide__needs .cosmetics-service-field-guide__consultation-list li::before {
  display: none;
}

body.page-cosmetics .medicine-service-field-guide__service-list > .cosmetics-service-field-guide__motion-label::after {
  right: -19px;
  bottom: 2px;
}

body.page-cosmetics .medicine-service-field-guide__service-list > .cosmetics-service-field-guide__motion-label:hover::after {
  animation: medicine-service-link-redraw 440ms ease both;
}

body.page-cosmetics .cosmetics-service-field__stage a {
  position: relative;
  display: flex;
  align-items: center;
  gap: 7px;
  width: fit-content;
  margin-top: auto;
  padding-top: 28px;
  padding-bottom: 5px;
  color: #004b63;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.55;
  text-decoration: none;
}

body.page-cosmetics .cosmetics-service-field__stage > a::after,
body.page-cosmetics .cosmetics-service-field__needs a::after,
body.page-cosmetics .cosmetics-results a::after {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 1px;
  background: currentColor;
  content: "";
  transform: scaleX(.22);
  transform-origin: left;
  transition: transform 220ms ease;
}

body.page-cosmetics .cosmetics-service-field__needs a {
  display: inline;
  margin: 0;
  padding: 0 0 3px;
}

body.page-cosmetics :is(.cosmetics-service-field__stage > a, .cosmetics-service-field__needs a, .cosmetics-results a):is(:hover, :focus-visible)::after {
  transform: scaleX(1);
}

body.page-cosmetics .cosmetics-results {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: end;
  gap: 12px 30px;
  padding: clamp(30px, calc(4 * var(--pp-wide-vw, 1vw)), 54px);
  border-top: 1px solid rgba(0, 76, 100, .38);
  border-bottom: 1px solid rgba(0, 76, 100, .38);
  background: rgba(255, 255, 255, .54);
}

body.page-cosmetics .cosmetics-results > span {
  grid-column: 1 / -1;
  color: #199bd3;
  font-family: var(--pp-font-latin);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .18em;
}

body.page-cosmetics .cosmetics-results h3 {
  margin: 0;
  color: #003d52;
  font-size: clamp(28px, calc(3 * var(--pp-wide-vw, 1vw)), 42px);
}

body.page-cosmetics .cosmetics-results p {
  margin: 0;
  color: #31535f;
  font-size: 14px;
  line-height: 1.8;
}

body.page-cosmetics .cosmetics-results a {
  position: relative;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0 0 6px;
  color: #004b63;
  font-size: 14px;
  font-weight: 800;
  white-space: nowrap;
  text-decoration: none;
}

body.page-cosmetics .cosmetics-results__links {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 18px;
  border-top: 1px solid rgba(0, 76, 100, .32);
}

body.page-cosmetics .cosmetics-results__links a {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 8px 14px;
  min-height: 112px;
  align-content: center;
  margin: 0;
  padding: 24px clamp(18px, calc(2.4 * var(--pp-wide-vw, 1vw)), 32px);
  border-right: 1px dashed rgba(0, 76, 100, .38);
  white-space: normal;
}

body.page-cosmetics .cosmetics-results__links a:last-child {
  border-right: 0;
}

body.page-cosmetics .cosmetics-results__links small {
  grid-column: 1 / -1;
  color: #199bd3;
  font-family: var(--pp-font-latin);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .12em;
}

body.page-cosmetics .cosmetics-results__links strong {
  font-size: 14px;
  line-height: 1.55;
}

@media (max-width: 980px) {
  body.page-cosmetics .cosmetics-flow__steps,
  body.page-cosmetics .cosmetics-service-field__lifecycle,
  body.page-cosmetics .cosmetics-service-field__columns {
    grid-template-columns: 1fr;
  }

  body.page-cosmetics .cosmetics-flow__steps li + li {
    border-top: 0;
    border-left: 0;
  }

  body.page-cosmetics .cosmetics-flow__steps li:not(:last-child)::after {
    top: auto;
    right: 50%;
    bottom: -8px;
    transform: translateX(50%) rotate(135deg);
  }

  body.page-cosmetics .cosmetics-service-field__lifecycle {
    display: none;
  }

  body.page-cosmetics .cosmetics-service-field__group-heading {
    align-items: flex-start;
    flex-direction: column;
    gap: 6px;
  }

  body.page-cosmetics .cosmetics-service-field__stage {
    min-height: 0;
    border-right: 0;
    border-bottom: 1px dashed rgba(0, 76, 100, .42);
  }

  body.page-cosmetics .cosmetics-service-field__stage:last-child {
    border-bottom: 0;
  }

  body.page-cosmetics .cosmetics-service-field__stage h4 {
    margin-bottom: 14px;
    padding: 14px 16px;
    color: #013641;
  }

  body.page-cosmetics .cosmetics-service-field__stage > a {
    margin-top: 30px;
  }

  body.page-cosmetics .cosmetics-results {
    grid-template-columns: 1fr;
    align-items: start;
  }

  body.page-cosmetics .cosmetics-results > span {
    grid-column: auto;
  }

  body.page-cosmetics .cosmetics-results__links {
    grid-column: auto;
    grid-template-columns: 1fr;
  }

  body.page-cosmetics .cosmetics-results__links a {
    border-right: 0;
    border-bottom: 1px dashed rgba(0, 76, 100, .38);
  }

  body.page-cosmetics .cosmetics-results__links a:last-child {
    border-bottom: 0;
  }
}

@media (max-width: 600px) {
  body.page-cosmetics :is(#cosmetics-results, #cosmetics-services, #cosmetics-contact) {
    width: calc(100% + 36px);
    margin-left: -18px;
  }

  body.page-cosmetics .content-stack {
    width: min(100% - 28px, 1180px);
  }

  body.page-cosmetics .cosmetics-renewal {
    gap: 28px;
    padding-top: 0;
  }

  body.page-cosmetics .cosmetics-flow {
    padding: 28px 16px;
  }

  body.page-cosmetics .cosmetics-flow__steps li {
    min-height: 0;
    padding: 26px 20px;
  }

  body.page-cosmetics .cosmetics-section-heading h3 {
    font-size: clamp(27px, calc(8 * var(--pp-wide-vw, 1vw)), 34px);
    letter-spacing: 0;
  }

  body.page-cosmetics .cosmetics-service-field__stage {
    padding: 28px 20px 34px;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.page-cosmetics :is(.cosmetics-service-field__stage > a, .cosmetics-service-field__needs a, .cosmetics-results a)::after {
    transition: none;
  }

  body.page-cosmetics .medicine-service-field-guide__service-list > .cosmetics-service-field-guide__motion-label:hover::after {
    animation: none;
  }
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

.visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

html {
  scroll-behavior: auto;
  background: var(--pp-bg);
}

body {
  margin: 0;
  color: var(--pp-text);
  background: var(--pp-bg);
  font-family: var(--pp-font-body);
  font-size: 16px;
  line-height: 1.75;
  -webkit-font-smoothing: antialiased;
}

body.nav-open {
  overflow: hidden;
}

a {
  color: inherit;
  text-decoration: none;
}

button,
input,
select {
  font: inherit;
}

img {
  display: block;
  max-width: 100%;
}

/* Keep the renewed corporate preview completely shadow-free on every page. */
body *,
body *::before,
body *::after {
  box-shadow: none !important;
  text-shadow: none !important;
}

.skip-link {
  position: fixed;
  top: 8px;
  left: 8px;
  z-index: 100;
  padding: 10px 16px;
  color: #fff;
  background: var(--pp-ink);
  transform: translateY(-160%);
}

.skip-link:focus {
  transform: translateY(0);
}

[data-site-header] {
  height: var(--pp-header-height);
}

.header-utility-bar {
  position: relative;
  z-index: 19;
  height: var(--pp-header-utility-height);
  margin-top: var(--pp-header-height);
  border-bottom: 1px solid rgba(0, 61, 85, .14);
  background: rgba(247, 251, 254, .98);
}

.header-utility-bar__inner {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0;
  width: min(100% - 40px, 1400px);
  height: 100%;
  margin: 0 auto;
}

.header-utility-bar a {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-height: 100%;
  padding: 0 15px;
  color: #31586a;
  border-left: 1px solid rgba(0, 61, 85, .14);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .03em;
  white-space: nowrap;
}

.header-utility-bar a:last-child {
  border-right: 1px solid rgba(0, 61, 85, .14);
}

.header-utility-bar a:hover,
.header-utility-bar a:focus-visible,
.header-utility-bar a[aria-current="page"] {
  color: var(--pp-primary-strong);
  background: #fff;
}

.header-utility-bar a i {
  font-size: 12px;
  transition: transform 180ms ease-out;
}

.header-utility-bar a:hover i,
.header-utility-bar a:focus-visible i {
  transform: translateX(3px);
}

.site-header {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 20;
  height: var(--pp-header-height);
  overflow: hidden;
  border-bottom: 1px solid rgba(255, 255, 255, .72);
  background: transparent;
  isolation: isolate;
}

.site-header::before,
.site-header::after {
  position: absolute;
  inset: 0;
  pointer-events: none;
  content: "";
}

.site-header::before {
  z-index: -2;
  background: var(--pp-header-image, none) center top / cover no-repeat;
  filter: blur(18px) brightness(2.1) saturate(.55);
  transform: scale(1.12);
}

.site-header::after {
  z-index: -1;
  background: linear-gradient(180deg, var(--pp-rail-gradient-start), var(--pp-rail-gradient-end));
}

body[data-page="home"] .site-header::before {
  filter: blur(18px) brightness(2.05) saturate(.18);
}

body[data-page="home"] .site-header::after {
  background: rgba(255, 255, 255, .52);
}

/* Keep the header edge equally light and shadow-free on every page. */
body .site-header {
  border-bottom-color: rgba(255, 255, 255, .92);
}

body .site-header::after {
  background: rgba(255, 255, 255, .68) !important;
}

body:not([data-page="home"]) .site-header::before {
  filter: blur(18px) brightness(2.35) saturate(.35);
}

body[data-page="home"] .site-header::after {
  background: rgba(255, 255, 255, .52) !important;
}

.header-inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 28px;
  width: min(100% - 40px, 1400px);
  height: 100%;
  margin: 0 auto;
}

.brand {
  display: inline-flex;
  align-items: center;
  min-width: clamp(230px, calc(21 * var(--pp-wide-vw, 1vw)), 300px);
  color: var(--pp-ink);
  font-family: var(--pp-font-latin);
  font-size: 18px;
  font-weight: 800;
  letter-spacing: -.02em;
  white-space: nowrap;
}

.brand span {
  color: var(--pp-primary-strong);
}

.brand img {
  display: block;
  width: clamp(230px, calc(21 * var(--pp-wide-vw, 1vw)), 300px);
  height: auto;
  max-height: 54px;
  object-fit: contain;
  object-position: left center;
}

.global-nav {
  justify-self: center;
}

.global-nav__inner {
  display: contents;
}

.global-nav__heading,
.global-nav__local,
.global-nav__mobile-recruit,
.global-nav__mobile-sitemap,
.global-nav__mobile-privacy,
.global-nav__mobile-contact {
  display: none;
}

.global-nav__primary {
  display: flex;
  align-items: center;
  gap: 2px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.global-nav a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 8px 12px;
  color: #071b2c;
  font-size: 13px;
  font-weight: 700;
  white-space: nowrap;
  border-bottom: 2px solid transparent;
  transition: color 180ms ease-out, border-color 180ms ease-out;
}

.global-nav a:hover,
.global-nav a:focus-visible,
.global-nav a[aria-current="page"] {
  color: var(--pp-deep);
  border-bottom-color: var(--pp-primary);
}

.global-nav__caret {
  display: none;
}

.global-nav__dropdown {
  display: none;
}

@media (min-width: 981px) {
  .site-header {
    overflow: visible;
  }

  .global-nav,
  .global-nav__inner,
  .global-nav__primary,
  .global-nav__primary > li {
    height: 100%;
  }

  .global-nav__primary {
    gap: clamp(8px, calc(.8 * var(--pp-wide-vw, 1vw)), 14px);
  }

  .global-nav__primary > li:not(.global-nav__mobile-contact) > a {
    position: relative;
    height: 100%;
    min-height: var(--pp-header-height);
    padding: 8px clamp(11px, calc(1 * var(--pp-wide-vw, 1vw)), 16px) 3px;
    justify-content: center;
    border-bottom: 0;
  }

  .global-nav__primary > li:not(.global-nav__mobile-contact) > a > span:first-child {
    position: relative;
    transform: translateY(6px);
  }

  .global-nav__primary > li:not(.global-nav__mobile-contact) > a::after {
    position: absolute;
    right: 9px;
    bottom: 0;
    left: 9px;
    height: 3.5px;
    background: transparent;
    content: "";
    transition: background-color 180ms ease-out;
  }

  .global-nav__caret {
    position: absolute;
    bottom: 10px;
    left: 50%;
    display: block;
    color: #2f5d78;
    font-size: 11px;
    line-height: 1;
    transform: translateX(-50%);
    transition: color 180ms ease-out, transform 180ms ease-out;
  }

  .global-nav__primary > li:not(.global-nav__mobile-contact):hover > a::after,
  .global-nav__primary > li:not(.global-nav__mobile-contact):focus-within > a::after,
  .global-nav__primary > li:not(.global-nav__mobile-contact) > a:is(:hover, :focus-visible, [aria-current="page"])::after {
    background: #2f5d78;
  }

  .global-nav__item--dropdown:not(.is-dismissed):is(:hover, :focus-within) > a::after {
    background: #2f5d78 !important;
    transform: scaleX(1) !important;
  }

  .global-nav__primary:has(> li:hover) > li:not(:hover) > a[aria-current="page"]::after,
  .global-nav__primary:has(> li:focus-within) > li:not(:focus-within) > a[aria-current="page"]::after,
  .global-nav.has-persistent-dropdown .global-nav__primary > li:not(.is-open-persistent) > a[aria-current="page"]::after {
    background: transparent;
    transform: scaleX(0) !important;
  }

  .global-nav.has-persistent-dropdown .global-nav__primary > li.is-open-persistent > a::after {
    background: #2f5d78;
    transform: scaleX(1) !important;
  }

  .global-nav__primary > li:not(.global-nav__mobile-contact):hover > a .global-nav__caret,
  .global-nav__primary > li:not(.global-nav__mobile-contact):focus-within > a .global-nav__caret,
  .global-nav__primary > li:not(.global-nav__mobile-contact) > a:is(:hover, :focus-visible, [aria-current="page"]) .global-nav__caret {
    color: #2f5d78;
    transform: translateX(-50%) translateY(1px);
  }

  .global-nav__dropdown {
    position: fixed;
    top: var(--pp-header-height);
    right: 0;
    left: 0;
    z-index: 19;
    display: block;
    color: #fff;
    background:
      linear-gradient(135deg, rgba(0, 45, 69, .60), rgba(0, 80, 111, .48)),
      rgba(0, 43, 64, .32);
    border-top: 1px solid rgba(255, 255, 255, .30);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-8px);
    -webkit-backdrop-filter: blur(8px) saturate(.96);
    backdrop-filter: blur(8px) saturate(.96);
    transition: opacity 180ms ease-out, visibility 180ms ease-out, transform 180ms ease-out;
  }

  .global-nav__dropdown--home {
    max-height: calc(calc(100 * var(--pp-wide-dvh, 1dvh)) - var(--pp-header-height));
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-color: rgba(143, 225, 244, .46) transparent;
    scrollbar-width: thin;
  }

  .global-nav__dropdown--home::-webkit-scrollbar {
    width: 8px;
  }

  .global-nav__dropdown--home::-webkit-scrollbar-thumb {
    border: 2px solid transparent;
    border-radius: 999px;
    background: rgba(143, 225, 244, .46);
    background-clip: padding-box;
  }

  .global-nav__item--dropdown:not(.is-dismissed):hover > .global-nav__dropdown,
  .global-nav__item--dropdown:not(.is-dismissed):focus-within > .global-nav__dropdown,
  .global-nav__item--dropdown.is-open-persistent:not(.is-dismissed) > .global-nav__dropdown {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
  }

  .global-nav.has-persistent-dropdown .global-nav__item--dropdown:not(.is-open-persistent) > .global-nav__dropdown {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-8px);
  }

  .global-nav__dropdown-inner {
    position: relative;
    display: grid;
    grid-template-columns: minmax(220px, .72fr) minmax(0, 2fr);
    gap: clamp(32px, calc(5 * var(--pp-wide-vw, 1vw)), 76px);
    width: min(calc(100% - 64px), 1180px);
    margin: 0 auto;
    padding: 30px 0 76px;
  }

  .global-nav__dropdown-inner--featured {
    grid-template-columns: minmax(170px, .52fr) minmax(0, 3.48fr);
    gap: clamp(24px, calc(2.7 * var(--pp-wide-vw, 1vw)), 40px);
    width: min(calc(100% - 48px), 1340px);
    padding-top: 30px;
  }

  .global-nav__dropdown-inner--featured .global-nav__dropdown-lead {
    grid-column: auto;
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
    gap: 8px;
    padding: 0 24px 0 0;
    border-right: 1px solid rgba(255, 255, 255, .42);
    border-bottom: 0;
  }

  .global-nav__dropdown-inner--featured .global-nav__dropdown-lead > a {
    margin: 4px 0 0;
  }

  .global-nav__company-map {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
    gap: clamp(16px, calc(2 * var(--pp-wide-vw, 1vw)), 28px);
    min-width: 0;
  }

  .global-nav__company-branch {
    position: relative;
    display: grid;
    align-content: start;
    gap: 12px;
    min-width: 0;
  }

  .global-nav__company-branch:not(:last-child)::after {
    position: absolute;
    top: 27px;
    right: calc(clamp(16px, calc(2 * var(--pp-wide-vw, 1vw)), 28px) * -.75);
    width: clamp(9px, calc(1.2 * var(--pp-wide-vw, 1vw)), 16px);
    height: 1px;
    background: rgba(255, 255, 255, .54);
    content: "";
  }

  .global-nav__company-branch > h3 {
    display: flex;
    align-items: center;
    min-height: 62px;
    margin: 0;
    padding: 0;
    color: #fff;
    border: 0;
    background: transparent;
    font-size: clamp(13px, calc(1.05 * var(--pp-wide-vw, 1vw)), 16px);
    font-weight: 800;
    line-height: 1.4;
    letter-spacing: .03em;
  }

  .global-nav .global-nav__company-branch-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 9px;
    width: 100%;
    min-height: 62px;
    padding: 8px 11px;
    color: #fff;
    border: 1px solid var(--pp-header-menu-line, rgba(255, 255, 255, .58));
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
    white-space: normal;
  }

  .global-nav .global-nav__company-branch-heading:is(:hover, :focus-visible) {
    color: var(--pp-header-menu-navy-deep);
    border-color: #fff;
    background: #fff;
  }

  .global-nav__company-branch-body {
    position: relative;
    display: grid;
    align-content: start;
    gap: 6px;
    min-width: 0;
    padding: 7px 0 0 19px;
  }

  .global-nav__company-branch-body::before {
    position: absolute;
    top: 0;
    bottom: 17px;
    left: 9px;
    width: 1px;
    background: rgba(255, 255, 255, .48);
    content: "";
  }

  .global-nav__company-branch-body > :is(a, .global-nav__company-feature-summary) {
    position: relative;
  }

  .global-nav__company-branch-body > :is(a, .global-nav__company-feature-summary)::before {
    position: absolute;
    top: 50%;
    left: -10px;
    width: 10px;
    height: 1px;
    background: rgba(255, 255, 255, .48);
    content: "";
  }

  .global-nav__company-feature-links {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-content: start;
    align-items: start;
    gap: 8px 12px;
  }

  .global-nav__company-contents {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(16px, calc(2 * var(--pp-wide-vw, 1vw)), 28px);
    padding-top: 18px;
    padding-left: 18px;
  }

  .global-nav__company-contents::before {
    top: -12px;
    bottom: 46px;
    left: 7px;
  }

  .global-nav__company-subitems {
    position: relative;
    display: grid;
    align-content: start;
    gap: 5px;
    margin: 0;
    padding: 0 0 0 18px;
    color: #fff;
    list-style: none;
  }

  .global-nav__company-subitems > li {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 48px;
    padding: 5px 7px 5px 0;
    border-bottom: 1px solid rgba(255, 255, 255, .14);
    font-size: 13px;
    font-weight: 700;
    line-height: 1.5;
    cursor: default;
  }

  .global-nav__company-subitems::before {
    position: absolute;
    top: -30px;
    bottom: 24px;
    left: 7px;
    width: 1px;
    background: rgba(255, 255, 255, .48);
    content: "";
  }

  .global-nav__company-subitems > li::before,
  .global-nav__company-feature-links > .global-nav__company-feature-summary::before {
    position: absolute;
    top: 50%;
    left: -11px;
    width: 11px;
    height: 1px;
    background: rgba(255, 255, 255, .48);
    content: "";
  }

  .global-nav__company-feature-links::before {
    bottom: 28px;
  }

  .global-nav__company-feature-links > a::before {
    top: 28px;
  }

  .global-nav__company-branch .global-nav__dropdown-feature-visual {
    aspect-ratio: 2.05 / 1;
  }

  .global-nav__company-branch .global-nav__dropdown-feature-label {
    min-height: 46px;
    padding: 8px 11px;
    font-size: 14px;
  }

  .global-nav__company-branch .global-nav__dropdown-list {
    gap: 6px;
  }

  .global-nav__company-branch .global-nav__dropdown-list > a:not(.global-nav__company-profile-card) {
    min-height: 46px;
  }

  .global-nav__company-basic {
    gap: 7px;
  }

  .global-nav__company-basic > .global-nav__company-basic-cluster,
  .global-nav__company-basic > .global-nav__company-basic-heading {
    position: relative;
  }

  .global-nav__company-basic > .global-nav__company-basic-cluster::before,
  .global-nav__company-basic > .global-nav__company-basic-heading::before {
    position: absolute;
    top: 24px;
    left: -10px;
    width: 10px;
    height: 1px;
    background: rgba(255, 255, 255, .48);
    content: "";
  }

  .global-nav .global-nav__company-basic-heading {
    display: grid;
    grid-template-columns: 32px minmax(0, 1fr) auto;
    align-items: center;
    gap: 8px;
    min-height: 48px;
    padding: 6px 9px;
    color: #e8f8fc;
    border: 1px solid rgba(143, 225, 244, .44);
    background: rgba(0, 42, 61, .28);
    font-size: 13px;
    font-weight: 800;
    line-height: 1.4;
  }

  .global-nav .global-nav__company-basic-heading:hover,
  .global-nav .global-nav__company-basic-heading:focus-visible {
    color: #fff;
    border-color: rgba(255, 255, 255, .86);
    background: rgba(111, 211, 237, .22);
  }

  .global-nav__company-basic-icon {
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    color: #013641;
    border: 1px solid rgba(255, 255, 255, .7);
    border-radius: 50%;
    background: #8fe1f4;
    font-size: 16px;
  }

  .global-nav__company-basic-heading > i:last-child {
    color: #9eeafb;
    font-size: 12px;
    transition: transform 180ms ease-out;
  }

  .global-nav__company-basic-heading:hover > i:last-child,
  .global-nav__company-basic-heading:focus-visible > i:last-child {
    transform: translateX(3px);
  }

  .global-nav__company-basic-cluster {
    display: grid;
    gap: 3px;
  }

  .global-nav__company-basic-cluster .global-nav__company-items {
    position: relative;
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
    margin-left: 7px;
    padding: 2px 0 0 16px;
  }

  .global-nav__company-basic-cluster .global-nav__company-items::before {
    position: absolute;
    top: 0;
    bottom: 9px;
    left: 7px;
    width: 1px;
    background: rgba(255, 255, 255, .42);
    content: "";
  }

  .global-nav__company-basic-cluster .global-nav__company-items li {
    position: relative;
    min-height: 19px;
    padding: 2px 6px 2px 8px;
    border-left: 0;
    border-bottom: 1px solid rgba(255, 255, 255, .12);
    font-size: 10px;
  }

  .global-nav__company-basic-cluster .global-nav__company-items li::before {
    position: absolute;
    top: 50%;
    left: -9px;
    width: 9px;
    height: 1px;
    background: rgba(255, 255, 255, .42);
    content: "";
  }

  .global-nav__company-items {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px 9px;
    min-width: 0;
    margin: 0;
    padding: 0;
    list-style: none;
  }

  .global-nav__company-items li {
    min-width: 0;
    padding: 4px 0 4px 9px;
    color: #dff7fc;
    border-left: 2px solid rgba(143, 225, 244, .68);
    font-size: 11px;
    font-weight: 800;
    line-height: 1.4;
    letter-spacing: .04em;
  }

  .global-nav__dropdown-lead {
    display: grid;
    align-content: start;
    gap: 8px;
    padding-right: 30px;
    border-right: 1px solid rgba(255, 255, 255, .42);
  }

  .global-nav__dropdown-eyebrow {
    font-family: var(--pp-font-latin);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .18em;
    opacity: .76;
  }

  .global-nav__dropdown-lead strong {
    font-size: clamp(23px, calc(2.1 * var(--pp-wide-vw, 1vw)), 32px);
    line-height: 1.3;
  }

  .global-nav__dropdown-lead > a {
    display: inline-flex;
    justify-content: space-between;
    align-items: center;
    width: fit-content;
    min-height: 44px;
    margin-top: 4px;
    padding: 8px 0;
    color: #fff;
    border-bottom: 1px solid rgba(255, 255, 255, .48);
    font-size: 14px;
    font-weight: 700;
    opacity: .88;
  }

  .global-nav__dropdown-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-content: start;
    gap: 14px clamp(18px, calc(2.2 * var(--pp-wide-vw, 1vw)), 34px);
  }

  .global-nav__dropdown-list--compact {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .global-nav__dropdown-list a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    min-height: 58px;
    padding: 11px 16px;
    color: #fff;
    border: 1px solid rgba(255, 255, 255, .86);
    font-size: 15px;
    font-weight: 700;
    letter-spacing: .04em;
    transition: padding 180ms ease-out, background-color 180ms ease-out;
  }

  .global-nav__dropdown-list a:hover,
  .global-nav__dropdown-list a:focus-visible,
  .global-nav__dropdown-lead > a:hover,
  .global-nav__dropdown-lead > a:focus-visible {
    color: #fff;
    background: rgba(111, 211, 237, .36);
  }

  .global-nav__dropdown-list a:hover,
  .global-nav__dropdown-list a:focus-visible {
    padding-right: 20px;
    padding-left: 20px;
  }

  .global-nav .global-nav__dropdown-list a.global-nav__company-profile-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
    gap: 10px;
    min-height: 0;
    padding: 12px 13px 13px;
  }

  .global-nav .global-nav__dropdown-list a.global-nav__company-profile-card:hover,
  .global-nav .global-nav__dropdown-list a.global-nav__company-profile-card:focus-visible {
    padding: 12px 13px 13px;
  }

  .global-nav__company-profile-card-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    min-width: 0;
    font-size: 15px;
    font-weight: 800;
  }

  .global-nav__company-profile-card-heading > i {
    color: #9eeafb;
    transition: transform 180ms ease-out;
  }

  .global-nav__company-profile-card:hover .global-nav__company-profile-card-heading > i,
  .global-nav__company-profile-card:focus-visible .global-nav__company-profile-card-heading > i {
    transform: translateX(3px);
  }

  .global-nav__dropdown-inner--process {
    grid-template-columns: minmax(170px, .5fr) minmax(0, 3.2fr);
    gap: clamp(26px, calc(3.4 * var(--pp-wide-vw, 1vw)), 52px);
    padding-top: 26px;
    padding-bottom: 58px;
  }

  .global-nav__dropdown-inner--reason {
    grid-template-columns: minmax(170px, .5fr) minmax(0, 3.2fr);
    gap: clamp(26px, calc(3.4 * var(--pp-wide-vw, 1vw)), 52px);
    width: min(calc(100% - 48px), 1340px);
    padding-top: 26px;
    padding-bottom: 80px;
  }

  .global-nav__dropdown--services {
    max-height: calc(calc(100 * var(--pp-wide-dvh, 1dvh)) - var(--pp-header-height));
    overflow-y: auto;
  }

  .global-nav__dropdown-inner--services {
    grid-template-columns: minmax(140px, .42fr) minmax(0, 3.58fr);
    gap: clamp(22px, calc(2.4 * var(--pp-wide-vw, 1vw)), 38px);
    width: min(calc(100% - 48px), 1420px);
    padding-top: 22px;
    padding-bottom: 34px;
  }

  .global-nav__services-finder {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-content: start;
    gap: clamp(18px, calc(2.2 * var(--pp-wide-vw, 1vw)), 34px);
    min-width: 0;
  }

  .global-nav__services-finder-switch {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 220px));
    width: min(100%, 440px);
    border: 1px solid rgba(143, 225, 244, .5);
    background: rgba(0, 42, 61, .2);
  }

  .global-nav__services-finder-switch button {
    min-height: 38px;
    padding: 8px 18px;
    color: rgba(255, 255, 255, .88);
    border: 0;
    background: transparent;
    font: inherit;
    font-size: 12px;
    font-weight: 800;
    cursor: pointer;
    transition: color 180ms ease, background-color 180ms ease;
  }

  .global-nav__services-finder-switch button:is(:hover, :focus-visible) {
    color: #fff;
    background: rgba(143, 225, 244, .14);
  }

  .global-nav__services-finder-switch button.is-active {
    color: #07364a;
    background: #8fe1f4;
  }

  .global-nav__services-finder-panel[hidden] {
    display: none;
  }

  .global-nav .global-nav__services-finder-route {
    display: grid;
    grid-template-columns: 32px minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
    min-height: 58px;
    padding: 11px 16px;
    color: #fff;
    border: 1px solid rgba(143, 225, 244, .7);
    background: rgba(255, 255, 255, .04);
    transition: background-color 180ms ease, transform 180ms ease;
  }

  .global-nav .global-nav__services-finder-route:is(:hover, :focus-visible) {
    color: #fff;
    background: rgba(143, 225, 244, .14);
    transform: translateY(-1px);
  }

  .global-nav__services-finder-route > i:first-child {
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    color: #07364a;
    border: 1px solid rgba(255, 255, 255, .75);
    border-radius: 50%;
    background: #8fe1f4;
    font-size: 18px;
  }

  .global-nav__services-finder-route span {
    display: grid;
    gap: 3px;
  }

  .global-nav__services-finder-route strong {
    font-size: 14px;
    letter-spacing: .04em;
  }

  .global-nav__services-finder-route small {
    color: rgba(255, 255, 255, .76);
    font-size: 11px;
  }

  .global-nav__services-map {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: start;
    gap: 16px clamp(18px, calc(2 * var(--pp-wide-vw, 1vw)), 28px);
    min-width: 0;
  }

  .global-nav__services-group {
    position: relative;
    display: grid;
    grid-template-columns: minmax(146px, .92fr) minmax(0, 1.08fr);
    align-items: start;
    gap: 8px;
    min-width: 0;
  }

  .global-nav__services-group h3 {
    margin: 0;
  }

  .global-nav .global-nav__services-heading {
    display: grid;
    grid-template-columns: 36px minmax(0, 1fr) auto;
    align-items: center;
    gap: 8px;
    min-height: 54px;
    padding: 6px 8px;
    color: #e8f8fc;
    border: 1px solid rgba(143, 225, 244, .48);
    background: rgba(0, 42, 61, .32);
    font-size: clamp(10px, calc(.77 * var(--pp-wide-vw, 1vw)), 12px);
    font-weight: 800;
    line-height: 1.4;
    white-space: normal;
    transition: color 180ms ease-out, border-color 180ms ease-out, background-color 180ms ease-out, transform 180ms ease-out;
  }

  .global-nav .global-nav__services-heading:hover,
  .global-nav .global-nav__services-heading:focus-visible {
    color: #fff;
    border-color: rgba(255, 255, 255, .88);
    background: rgba(111, 211, 237, .24);
    transform: translateY(-1px);
  }

  .global-nav__services-icon {
    display: grid;
    place-items: center;
    width: 36px;
    height: 36px;
    color: #013641;
    border: 1px solid rgba(255, 255, 255, .72);
    border-radius: 50%;
    background: #8fe1f4;
    font-size: 18px;
  }

  .global-nav__services-heading > i:last-child,
  .global-nav__services-links i {
    color: #9eeafb;
    font-size: 12px;
    transition: transform 180ms ease-out;
  }

  .global-nav__services-heading:hover > i:last-child,
  .global-nav__services-heading:focus-visible > i:last-child,
  .global-nav__services-links a:hover i,
  .global-nav__services-links a:focus-visible i {
    transform: translateX(3px);
  }

  .global-nav__services-links {
    position: relative;
    display: grid;
    align-content: start;
    gap: 0;
    min-width: 0;
    padding: 1px 0 0 14px;
  }

  .global-nav__services-links::before {
    position: absolute;
    top: 0;
    bottom: 11px;
    left: 6px;
    width: 1px;
    background: rgba(255, 255, 255, .48);
    content: "";
  }

  .global-nav .global-nav__services-links a {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 7px;
    min-height: 25px;
    padding: 3px 4px 3px 8px;
    color: rgba(255, 255, 255, .9);
    border-bottom: 1px solid rgba(255, 255, 255, .12);
    font-size: clamp(9px, calc(.68 * var(--pp-wide-vw, 1vw)), 11px);
    font-weight: 700;
    line-height: 1.35;
    white-space: normal;
    transition: color 180ms ease-out, background-color 180ms ease-out, padding 180ms ease-out;
  }

  .global-nav .global-nav__services-links a::before {
    position: absolute;
    top: 50%;
    left: -8px;
    width: 8px;
    height: 1px;
    background: rgba(255, 255, 255, .48);
    content: "";
  }

  .global-nav .global-nav__services-links a:hover,
  .global-nav .global-nav__services-links a:focus-visible {
    color: #fff;
    background: rgba(111, 211, 237, .2);
    padding-right: 7px;
    padding-left: 11px;
  }

  .global-nav__reason-map {
    display: grid;
    align-content: start;
    gap: 16px;
    min-width: 0;
  }

  .global-nav__reason-block {
    display: grid;
    grid-template-columns: minmax(250px, .9fr) minmax(0, 2.1fr);
    align-items: start;
    gap: clamp(16px, calc(2 * var(--pp-wide-vw, 1vw)), 28px);
    min-width: 0;
  }

  .global-nav .global-nav__reason-block-heading {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 9px;
    min-height: 62px;
    padding: 8px 11px;
    color: #fff;
    border: 1px solid rgba(255, 255, 255, .72);
    background: rgba(0, 42, 61, .28);
    white-space: normal;
    transition: border-color 180ms ease-out, background-color 180ms ease-out, transform 180ms ease-out;
  }

  .global-nav__reason-block--strengths .global-nav__reason-block-heading {
    color: #013641;
    border-color: #8fe1f4;
    background: #8fe1f4;
  }

  .global-nav__reason-block-title {
    display: grid;
    gap: 2px;
    min-width: 0;
  }

  .global-nav__reason-block-title small {
    color: #91e5f7;
    font-family: var(--pp-font-latin);
    font-size: 9px;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: .13em;
  }

  .global-nav__reason-block-title strong {
    color: #fff;
    font-size: clamp(13px, calc(1.05 * var(--pp-wide-vw, 1vw)), 16px);
    line-height: 1.35;
    letter-spacing: .02em;
  }

  .global-nav__reason-block--strengths .global-nav__reason-block-title :is(small, strong),
  .global-nav__reason-block--strengths .global-nav__reason-block-heading > i {
    color: #013641;
  }

  .global-nav .global-nav__reason-block-heading:hover,
  .global-nav .global-nav__reason-block-heading:focus-visible {
    color: #fff;
    border-color: #fff;
    background: rgba(111, 211, 237, .28);
    transform: translateY(-1px);
  }

  .global-nav .global-nav__reason-block--strengths .global-nav__reason-block-heading:hover,
  .global-nav .global-nav__reason-block--strengths .global-nav__reason-block-heading:focus-visible {
    color: #013641;
    background: #a6ecfa;
  }

  .global-nav__reason-block-body {
    position: relative;
    display: grid;
    align-items: stretch;
    gap: clamp(12px, calc(1.4 * var(--pp-wide-vw, 1vw)), 20px);
    min-width: 0;
    padding: 0 0 0 18px;
  }

  .global-nav__reason-block-body--strengths {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .global-nav__reason-block-body--principles {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .global-nav__reason-block-body::before {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 7px;
    width: 1px;
    background: rgba(255, 255, 255, .48);
    content: "";
  }

  .global-nav__reason-block-body::after {
    position: absolute;
    top: 31px;
    right: 0;
    left: 7px;
    height: 1px;
    background: rgba(255, 255, 255, .34);
    content: "";
  }

  .global-nav .global-nav__reason-node {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr) auto;
    align-items: center;
    gap: 9px;
    min-height: 62px;
    padding: 8px 10px;
    color: #fff;
    border: 1px solid rgba(143, 225, 244, .46);
    background: rgba(0, 42, 61, .52);
    white-space: normal;
    transition: border-color 180ms ease-out, background-color 180ms ease-out, transform 180ms ease-out;
  }

  .global-nav .global-nav__reason-node:hover,
  .global-nav .global-nav__reason-node:focus-visible {
    color: #fff;
    border-color: rgba(255, 255, 255, .88);
    background: rgba(111, 211, 237, .24);
    transform: translateY(-1px);
  }

  .global-nav__reason-icon {
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    color: #013641;
    border: 1px solid rgba(255, 255, 255, .72);
    border-radius: 50%;
    background: #8fe1f4;
    font-size: 17px;
  }

  .global-nav__reason-node > span {
    display: grid;
    gap: 2px;
    min-width: 0;
  }

  .global-nav__reason-node strong {
    font-size: clamp(11px, calc(.9 * var(--pp-wide-vw, 1vw)), 14px);
    line-height: 1.35;
    letter-spacing: .02em;
  }

  .global-nav__reason-node small {
    color: rgba(255, 255, 255, .68);
    font-size: clamp(8px, calc(.65 * var(--pp-wide-vw, 1vw)), 10px);
    font-weight: 500;
    line-height: 1.4;
  }

  .global-nav__reason-node > i:last-child {
    color: #9eeafb;
    font-size: 13px;
    transition: transform 180ms ease-out;
  }

  .global-nav__reason-node:hover > i:last-child,
  .global-nav__reason-node:focus-visible > i:last-child {
    transform: translateX(3px);
  }

  .global-nav__dropdown-inner--home {
    grid-template-columns: minmax(150px, .42fr) minmax(0, 3.58fr);
    gap: clamp(24px, calc(2.6 * var(--pp-wide-vw, 1vw)), 42px);
    width: min(calc(100% - 48px), 1340px);
    padding-top: 24px;
    padding-bottom: 80px;
  }

  .global-nav__home-map {
    display: grid;
    grid-template-columns: minmax(0, 2.65fr) minmax(0, .86fr) minmax(0, 1fr);
    align-items: start;
    gap: clamp(12px, calc(1.3 * var(--pp-wide-vw, 1vw)), 20px);
    min-width: 0;
  }

  .global-nav__home-branch {
    position: relative;
    display: grid;
    align-content: start;
    gap: 12px;
    min-width: 0;
  }

  .global-nav__home-branch:not(:last-child)::after {
    position: absolute;
    top: 29px;
    right: calc(clamp(12px, calc(1.3 * var(--pp-wide-vw, 1vw)), 20px) * -.78);
    width: calc(clamp(12px, calc(1.3 * var(--pp-wide-vw, 1vw)), 20px) * .58);
    height: 1px;
    background: rgba(255, 255, 255, .52);
    content: "";
  }

  .global-nav__home-branch--primary {
    grid-column: 1;
    grid-row: 1;
  }

  .global-nav__home-branch--performance {
    grid-column: 2;
    grid-row: 1;
    margin-top: 168px;
  }

  .global-nav__home-branch--news {
    grid-column: 2;
    grid-row: 1;
    margin-top: 240px;
  }

  .global-nav__home-branch--catalog::after,
  .global-nav__home-branch--performance::after,
  .global-nav__home-branch--news::after {
    display: none;
  }

  .global-nav__home-branch--special {
    grid-column: 3;
    grid-row: 1;
  }

  .global-nav__home-branch--catalog {
    grid-column: 2;
    grid-row: 1;
  }

  @media (max-width: 1200px) {
    .global-nav__home-map {
      grid-template-columns: minmax(0, 2.2fr) minmax(0, 1fr);
    }

    .global-nav__home-branch--special {
      grid-column: 2;
      grid-row: 2;
    }
  }

  .global-nav .global-nav__home-branch-heading {
    display: grid;
    grid-template-columns: 27px minmax(0, 1fr) auto;
    align-items: center;
    gap: 8px;
    min-height: 58px;
    padding: 8px 10px;
    color: #fff;
    border: 1px solid rgba(255, 255, 255, .74);
    background: rgba(0, 42, 61, .28);
    white-space: normal;
    transition: border-color 180ms ease-out, background-color 180ms ease-out, transform 180ms ease-out;
  }

  .global-nav__home-branch-heading > span:first-child {
    display: grid;
    place-items: center;
    width: 27px;
    height: 27px;
    color: #9eeafb;
    border: 1px solid rgba(158, 234, 251, .72);
    border-radius: 50%;
    background: rgba(0, 43, 64, .52);
    font-family: var(--pp-font-latin);
    font-size: 9px;
    font-weight: 800;
    line-height: 1;
  }

  .global-nav__home-branch-title {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 2px;
    min-width: 0;
  }

  .global-nav__home-branch-title small {
    color: #91e5f7;
    font-family: var(--pp-font-latin);
    font-size: 9px;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: .1em;
    overflow-wrap: anywhere;
  }

  .global-nav__home-branch-title strong {
    color: #fff;
    font-size: clamp(12px, calc(.95 * var(--pp-wide-vw, 1vw)), 15px);
    line-height: 1.35;
    letter-spacing: .02em;
    text-wrap: balance;
  }

  .global-nav__home-branch-heading > i {
    font-size: 14px;
    transition: transform 180ms ease-out;
  }

  .global-nav__home-branch--primary .global-nav__home-branch-heading {
    color: #013641;
    border-color: #8fe1f4;
    background: #8fe1f4;
  }

  .global-nav__home-branch--primary .global-nav__home-branch-heading :is(span:first-child, small, strong, i) {
    color: #013641;
  }

  .global-nav__home-branch--primary .global-nav__home-branch-heading > span:first-child {
    border-color: rgba(1, 54, 65, .34);
    background: rgba(255, 255, 255, .38);
  }

  .global-nav .global-nav__home-branch-heading:hover,
  .global-nav .global-nav__home-branch-heading:focus-visible {
    color: #fff;
    border-color: #fff;
    background: rgba(111, 211, 237, .28);
    transform: translateY(-1px);
  }

  .global-nav .global-nav__home-branch--primary .global-nav__home-branch-heading:hover,
  .global-nav .global-nav__home-branch--primary .global-nav__home-branch-heading:focus-visible {
    color: #013641;
    background: #a6ecfa;
  }

  .global-nav__home-branch--special {
    padding-left: 0;
  }

  .global-nav__home-branch--special .global-nav__home-branch-heading {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .global-nav__home-branch--special .global-nav__home-branch-heading > span:first-child {
    display: none;
  }

  .global-nav .global-nav__home-branch--special .global-nav__home-branch-heading {
    color: #173443;
    border-color: #f6d985;
    background: #f6d985;
  }

  .global-nav .global-nav__home-branch--special .global-nav__home-branch-heading :is(span:first-child, small, strong, i) {
    color: #173443;
  }

  .global-nav .global-nav__home-branch--special .global-nav__home-branch-title strong,
  .global-nav .global-nav__home-branch--special .global-nav__home-links a {
    font-family: "Times New Roman", Times, var(--pp-font-body);
  }

  .global-nav .global-nav__home-branch--special .global-nav__home-branch-heading > span:first-child {
    width: 32px;
    border-color: rgba(23, 52, 67, .34);
    border-radius: 2px;
    background: rgba(255, 255, 255, .42);
    font-size: 10px;
  }

  .global-nav .global-nav__home-branch--special .global-nav__home-branch-heading:hover,
  .global-nav .global-nav__home-branch--special .global-nav__home-branch-heading:focus-visible {
    color: #173443;
    border-color: #fff0b5;
    background: #ffe7a0;
  }

  .global-nav__home-branch--special .global-nav__home-branch-body::before,
  .global-nav .global-nav__home-branch--special .global-nav__home-links a::before {
    background: rgba(246, 217, 133, .72);
  }

  .global-nav .global-nav__home-branch--special .global-nav__home-links a:hover,
  .global-nav .global-nav__home-branch--special .global-nav__home-links a:focus-visible {
    background: rgba(246, 217, 133, .18);
  }

  .global-nav__home-branch--special .global-nav__home-links i {
    color: #f6d985;
  }

  .global-nav__home-branch-heading:hover > i,
  .global-nav__home-branch-heading:focus-visible > i {
    transform: translateX(3px);
  }

  .global-nav__home-branch-body {
    position: relative;
    display: grid;
    gap: 10px;
    min-width: 0;
    padding: 7px 0 0 16px;
  }

  .global-nav__home-branch-body::before {
    position: absolute;
    top: 0;
    bottom: 10px;
    left: 7px;
    width: 1px;
    background: rgba(255, 255, 255, .48);
    content: "";
  }

  .global-nav__home-branch--heading-only .global-nav__home-branch-body {
    display: none;
  }

  .global-nav__home-links {
    display: grid;
    gap: 2px;
    min-width: 0;
  }

  .global-nav .global-nav__home-links a {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 8px;
    min-height: 30px;
    padding: 4px 5px 4px 10px;
    color: rgba(255, 255, 255, .92);
    border: 0;
    border-bottom: 1px solid rgba(255, 255, 255, .14);
    font-size: clamp(10px, calc(.76 * var(--pp-wide-vw, 1vw)), 12px);
    font-weight: 700;
    line-height: 1.35;
    white-space: normal;
    transition: color 180ms ease-out, background-color 180ms ease-out, padding 180ms ease-out;
  }

  .global-nav .global-nav__home-links a::before {
    position: absolute;
    top: 50%;
    left: -9px;
    width: 9px;
    height: 1px;
    background: rgba(255, 255, 255, .48);
    content: "";
  }

  .global-nav .global-nav__home-links a:hover,
  .global-nav .global-nav__home-links a:focus-visible {
    color: #fff;
    background: rgba(111, 211, 237, .22);
    padding-right: 8px;
    padding-left: 13px;
  }

  .global-nav__home-links i {
    color: #9eeafb;
    font-size: 12px;
  }

  .global-nav .global-nav__home-links .global-nav__home-field-link {
    grid-template-columns: 32px minmax(0, 1fr) auto;
    min-height: 44px;
    padding-top: 6px;
    padding-bottom: 6px;
  }

  .global-nav__home-field-icon {
    display: grid;
    place-items: center;
    flex: 0 0 30px;
    width: 30px;
    height: 30px;
    color: #013641;
    border: 1px solid rgba(255, 255, 255, .7);
    border-radius: 50%;
    background: #8fe1f4;
    font-size: 16px;
  }

  .global-nav__home-subgroup {
    position: relative;
    display: grid;
    grid-template-columns: minmax(112px, .8fr) minmax(0, 1.35fr);
    gap: 8px;
    min-width: 0;
    padding-bottom: 2px;
  }

  .global-nav__home-subgroup h4 {
    margin: 0;
  }

  .global-nav .global-nav__home-subgroup-heading {
    display: grid;
    grid-template-columns: 32px minmax(0, 1fr) auto;
    align-items: center;
    gap: 8px;
    min-height: 48px;
    padding: 5px 8px;
    color: #e8f8fc;
    border: 1px solid rgba(143, 225, 244, .44);
    background: rgba(0, 42, 61, .28);
    font-size: 9px;
    font-weight: 700;
    line-height: 1.45;
  }

  .global-nav .global-nav__home-subgroup-heading:hover,
  .global-nav .global-nav__home-subgroup-heading:focus-visible {
    color: #fff;
    border-color: rgba(255, 255, 255, .86);
    background: rgba(111, 211, 237, .22);
  }

  .global-nav__home-subgroup-heading > i:last-child {
    color: #9eeafb;
    font-size: 12px;
  }

  .global-nav__home-branch--services .global-nav__home-branch-body {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: start;
    gap: 10px;
  }

  .global-nav__home-switch {
    display: inline-grid;
    grid-template-columns: repeat(2, minmax(96px, 1fr));
    grid-column: 1 / -1;
    justify-self: start;
    gap: 2px;
    padding: 2px;
    border: 1px solid rgba(143, 225, 244, .5);
    background: rgba(0, 42, 61, .28);
  }

  .global-nav__home-switch button {
    min-height: 32px;
    padding: 5px 16px;
    color: rgba(255, 255, 255, .82);
    border: 0;
    background: transparent;
    font: inherit;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .06em;
    cursor: pointer;
    transition: color 180ms ease-out, background-color 180ms ease-out;
  }

  .global-nav__home-switch button:hover,
  .global-nav__home-switch button:focus-visible {
    color: #fff;
    background: rgba(143, 225, 244, .16);
  }

  .global-nav__home-switch button.is-active {
    color: #00384a;
    background: #8fe1f4;
  }

  .global-nav__home-panel {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-column: 1 / -1;
    align-items: start;
    gap: 10px;
    min-width: 0;
  }

  .global-nav__home-panel[hidden] {
    display: none;
  }

  .global-nav__home-panel--concerns {
    row-gap: 8px;
  }

  .global-nav__home-concern-group h4 {
    margin: 0;
  }

  .global-nav__home-concern-group .global-nav__home-subgroup-heading {
    min-height: 54px;
    font-size: 10px;
  }

  .global-nav .global-nav__home-issue-shortcut {
    display: grid;
    grid-template-columns: 32px minmax(0, 1fr) auto;
    grid-column: 1 / -1;
    align-items: center;
    gap: 10px;
    min-height: 50px;
    padding: 7px 10px;
    color: #013641;
    border: 1px solid rgba(143, 225, 244, .88);
    background: rgba(143, 225, 244, .94);
    white-space: normal;
    transition: border-color 180ms ease-out, background-color 180ms ease-out, transform 180ms ease-out;
  }

  .global-nav .global-nav__home-issue-shortcut > i:first-child {
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    color: #013641;
    border: 1px solid rgba(1, 54, 65, .24);
    border-radius: 50%;
    background: rgba(255, 255, 255, .38);
    font-size: 16px;
  }

  .global-nav__home-issue-shortcut > span {
    display: grid;
    gap: 2px;
    min-width: 0;
  }

  .global-nav__home-issue-shortcut strong {
    font-size: clamp(11px, calc(.82 * var(--pp-wide-vw, 1vw)), 13px);
    line-height: 1.35;
  }

  .global-nav__home-issue-shortcut small {
    font-size: 9px;
    font-weight: 600;
    line-height: 1.35;
  }

  .global-nav .global-nav__home-issue-shortcut > i:last-child {
    font-size: 13px;
    transition: transform 180ms ease-out;
  }

  .global-nav .global-nav__home-issue-shortcut:hover,
  .global-nav .global-nav__home-issue-shortcut:focus-visible {
    color: #013641;
    border-color: #fff;
    background: #a6ecfa;
    transform: translateY(-1px);
  }

  .global-nav .global-nav__home-issue-shortcut:hover > i:last-child,
  .global-nav .global-nav__home-issue-shortcut:focus-visible > i:last-child {
    transform: translateX(3px);
  }

  .global-nav__home-branch--services .global-nav__home-subgroup {
    grid-template-columns: minmax(0, 1fr);
    gap: 3px;
  }

  .global-nav__home-branch--services .global-nav__home-subgroup h4 {
    min-height: 48px;
  }

  .global-nav__home-panel[data-header-home-panel="services"] {
    grid-template-columns: minmax(0, 1fr);
    gap: 7px;
  }

  .global-nav__home-panel[data-header-home-panel="services"] .global-nav__home-subgroup {
    grid-template-columns: minmax(132px, .38fr) minmax(0, 1.62fr);
    align-items: stretch;
    gap: 10px;
    padding: 7px;
    border: 1px solid rgba(143, 225, 244, .2);
    background: rgba(0, 42, 61, .14);
  }

  .global-nav__home-panel[data-header-home-panel="services"] .global-nav__home-subgroup h4 {
    min-height: 0;
    min-width: 0;
  }

  .global-nav__home-panel[data-header-home-panel="services"] .global-nav__home-subgroup-heading {
    height: 100%;
    min-width: 0;
    width: 100%;
    white-space: normal;
    line-break: strict;
    overflow-wrap: anywhere;
  }

  .global-nav__home-panel[data-header-home-panel="services"] .global-nav__home-subgroup-heading > span {
    min-width: 0;
  }

  .global-nav__home-panel[data-header-home-panel="services"] .global-nav__home-links {
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
    align-content: start;
    column-gap: 8px;
  }

  .global-nav__process-map {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: start;
    gap: clamp(16px, calc(2 * var(--pp-wide-vw, 1vw)), 28px);
    min-width: 0;
  }

  .global-nav__process-phase {
    position: relative;
    display: grid;
    align-content: start;
    gap: 12px;
    min-width: 0;
  }

  .global-nav__process-phase:not(:last-child)::after {
    position: absolute;
    top: 27px;
    right: calc(clamp(16px, calc(2 * var(--pp-wide-vw, 1vw)), 28px) * -.75);
    width: clamp(9px, calc(1.2 * var(--pp-wide-vw, 1vw)), 16px);
    height: 1px;
    background: rgba(255, 255, 255, .54);
    content: "";
  }

  .global-nav .global-nav__process-phase-heading {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 8px 10px;
    min-height: 54px;
    padding: 9px 11px;
    color: #fff;
    border: 1px solid rgba(255, 255, 255, .7);
    background: rgba(0, 42, 61, .28);
    white-space: normal;
    transition: border-color 180ms ease-out, background-color 180ms ease-out, transform 180ms ease-out;
  }

  .global-nav__process-phase-heading > span {
    color: #91e5f7;
    font-family: var(--pp-font-latin);
    font-size: 10px;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: .12em;
  }

  .global-nav__process-phase-heading > strong {
    color: #fff;
    font-size: clamp(13px, calc(1.05 * var(--pp-wide-vw, 1vw)), 16px);
    line-height: 1.4;
    letter-spacing: .02em;
    text-wrap: balance;
  }

  .global-nav__process-phase-heading > i {
    font-size: 15px;
    transition: transform 180ms ease-out;
  }

  .global-nav__process-phase--active .global-nav__process-phase-heading {
    color: #013641;
    border-color: #8fe1f4;
    background: #8fe1f4;
    box-shadow: 0 10px 24px rgba(0, 26, 42, .16);
  }

  .global-nav__process-phase--active .global-nav__process-phase-heading > span,
  .global-nav__process-phase--active .global-nav__process-phase-heading > strong,
  .global-nav__process-phase--active .global-nav__process-phase-heading > i {
    color: #013641;
  }

  .global-nav .global-nav__process-phase-heading:hover,
  .global-nav .global-nav__process-phase-heading:focus-visible {
    border-color: #fff;
    background: rgba(111, 211, 237, .24);
    transform: translateY(-1px);
  }

  .global-nav .global-nav__process-phase--active .global-nav__process-phase-heading:hover,
  .global-nav .global-nav__process-phase--active .global-nav__process-phase-heading:focus-visible {
    color: #013641;
    border-color: #fff;
    background: #a6ecfa;
  }

  .global-nav__process-phase-heading:hover > i,
  .global-nav__process-phase-heading:focus-visible > i {
    transform: translateX(3px);
  }

  .global-nav__process-flow {
    position: relative;
    display: grid;
    gap: 5px;
    align-content: start;
    margin: 0;
    padding: 7px 0 0 19px;
    list-style: none;
  }

  .global-nav__process-flow::before {
    position: absolute;
    top: 0;
    bottom: 17px;
    left: 9px;
    width: 1px;
    background: rgba(255, 255, 255, .48);
    content: "";
  }

  .global-nav__process-flow li {
    position: relative;
    display: grid;
    grid-template-columns: 26px minmax(0, 1fr);
    align-items: center;
    gap: 8px;
    min-width: 0;
    min-height: 30px;
    padding: 3px 7px 3px 0;
    border-bottom: 1px solid rgba(255, 255, 255, .14);
    text-align: left;
  }

  .global-nav__process-flow li::before {
    position: absolute;
    top: 50%;
    left: -10px;
    width: 10px;
    height: 1px;
    background: rgba(255, 255, 255, .48);
    content: "";
  }

  .global-nav__process-number {
    display: grid;
    place-items: center;
    width: 24px;
    height: 24px;
    color: #9eeafb;
    border: 1px solid rgba(158, 234, 251, .68);
    border-radius: 50%;
    background: rgba(0, 43, 64, .54);
    font-family: var(--pp-font-latin);
    font-size: 9px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: .04em;
    font-variant-numeric: tabular-nums;
  }

  .global-nav__process-label {
    display: grid;
    gap: 2px;
    color: rgba(255, 255, 255, .92);
    font-size: clamp(10px, calc(.84 * var(--pp-wide-vw, 1vw)), 13px);
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: .02em;
    text-wrap: balance;
  }

  .global-nav__process-label strong {
    font: inherit;
  }

  .global-nav__process-label small {
    color: rgba(255, 255, 255, .68);
    font-size: clamp(8px, calc(.66 * var(--pp-wide-vw, 1vw)), 10px);
    font-weight: 500;
    line-height: 1.45;
    letter-spacing: .01em;
  }

  .global-nav__process-flow li.global-nav__process-step--detailed {
    align-items: start;
    min-height: 48px;
    padding-top: 5px;
    padding-bottom: 5px;
  }

  .global-nav__process-step--detailed .global-nav__process-number {
    margin-top: 1px;
  }

  .global-nav__dropdown-features {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-content: start;
    gap: 14px clamp(14px, calc(1.5 * var(--pp-wide-vw, 1vw)), 22px);
  }

  .global-nav__dropdown-features > h3,
  .global-nav__dropdown-groups h3 {
    margin: 0;
    color: #fff;
    font-size: clamp(16px, calc(1.35 * var(--pp-wide-vw, 1vw)), 20px);
    font-weight: 800;
    line-height: 1.4;
    letter-spacing: .05em;
  }

  .global-nav__dropdown-features > h3 {
    grid-column: 1 / -1;
  }

  .global-nav .global-nav__dropdown-feature {
    display: grid;
    grid-template-rows: auto auto;
    align-content: start;
    align-items: stretch;
    min-height: 0;
    padding: 0;
    color: #fff;
    border: 1px solid rgba(255, 255, 255, .72);
    background: rgba(0, 32, 50, .18);
    overflow: hidden;
    transition: background-color 180ms ease-out, border-color 180ms ease-out, transform 180ms ease-out;
  }

  .global-nav__dropdown-feature-visual {
    display: block;
    aspect-ratio: 1.72 / 1;
    overflow: hidden;
    background: rgba(0, 32, 50, .32);
  }

  .global-nav__dropdown-feature-visual img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: saturate(.86) brightness(.84);
    transition: filter 180ms ease-out, transform 320ms ease-out;
  }

  .global-nav__dropdown-feature:first-child .global-nav__dropdown-feature-visual img {
    object-position: 50% 36%;
  }

  .global-nav__dropdown-feature:nth-of-type(2) .global-nav__dropdown-feature-visual img {
    object-position: 18% 62%;
  }

  .global-nav__dropdown-feature-label {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    min-height: 52px;
    padding: 10px 14px;
    color: #fff;
    font-size: 15px;
    font-weight: 800;
    letter-spacing: .04em;
  }

  .global-nav .global-nav__dropdown-feature:hover,
  .global-nav .global-nav__dropdown-feature:focus-visible {
    color: #fff;
    border-color: #fff;
    background: rgba(111, 211, 237, .36);
    transform: translateY(-2px);
  }

  .global-nav__dropdown-feature:hover .global-nav__dropdown-feature-visual img,
  .global-nav__dropdown-feature:focus-visible .global-nav__dropdown-feature-visual img {
    filter: saturate(.96) brightness(.94);
    transform: scale(1.025);
  }

  .global-nav .global-nav__company-feature-links .global-nav__company-feature-summary {
    position: relative;
  }

  .global-nav__dropdown-groups {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-content: start;
    gap: clamp(24px, calc(3 * var(--pp-wide-vw, 1vw)), 44px);
  }

  .global-nav__dropdown-groups > section {
    display: grid;
    align-content: start;
    gap: 14px;
    min-width: 0;
  }

  .global-nav__dropdown-close {
    position: absolute;
    top: auto;
    right: 0;
    bottom: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    padding: 0;
    color: #fff;
    border: 1px solid rgba(255, 255, 255, .72);
    background: transparent;
    font: inherit;
    font-size: 25px;
    line-height: 1;
    cursor: pointer;
  }

  .global-nav__dropdown-close:hover,
  .global-nav__dropdown-close:focus-visible {
    color: #fff;
    background: rgba(255, 255, 255, .12);
  }
}

.header-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}

.header-utility-links {
  display: flex;
  align-items: center;
  min-width: 0;
  border-left: 1px solid rgba(0, 61, 85, .16);
}

.header-recruit,
.header-sitemap,
.header-privacy {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-height: 44px;
  padding: 8px 2px;
  color: #234657;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .03em;
  white-space: nowrap;
  transition: color 180ms ease-out;
}

.header-sitemap,
.header-privacy {
  min-height: 32px;
  padding: 1px 7px;
  font-size: 9px;
  line-height: 1.25;
}

.header-recruit i,
.header-sitemap i,
.header-privacy i {
  font-size: 13px;
  transition: transform 180ms ease-out;
}

.header-recruit:hover,
.header-recruit:focus-visible,
.header-sitemap:hover,
.header-sitemap:focus-visible,
.header-sitemap[aria-current="page"],
.header-privacy:hover,
.header-privacy:focus-visible,
.header-privacy[aria-current="page"] {
  color: var(--pp-primary-strong);
}

.header-recruit:hover i,
.header-recruit:focus-visible i,
.header-sitemap:hover i,
.header-sitemap:focus-visible i,
.header-privacy:hover i,
.header-privacy:focus-visible i {
  transform: translateX(3px);
}

.header-contact,
.button-primary,
.button-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  min-height: 44px;
  padding: 10px 20px;
  border: 1px solid transparent;
  border-radius: 4px;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.25;
  white-space: nowrap;
  transition: transform 180ms ease-out, background-color 180ms ease-out, border-color 180ms ease-out;
}

.header-contact,
.button-primary {
  color: #fff;
  background: var(--pp-deep);
}

.header-contact {
  gap: 9px;
  min-height: 46px;
  padding-right: 22px;
  padding-left: 22px;
  border-radius: 999px;
  border-color: rgba(255, 255, 255, .62);
  background: linear-gradient(135deg, var(--pp-primary-strong), var(--pp-primary));
  letter-spacing: .04em;
}

.header-contact::after {
  display: none;
  content: none;
}

.header-contact-icon {
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  font-size: 17px;
  line-height: 1;
  transform-origin: 42% 58%;
}

.header-contact:hover,
.button-primary:hover {
  background: var(--pp-ink);
  transform: translateY(-1px);
}

.header-contact:hover {
  background: linear-gradient(135deg, #277fa6, var(--pp-primary-strong));
}

.header-contact:hover .header-contact-icon,
.header-contact:focus-visible .header-contact-icon {
  animation: pp-contact-envelope-flight 520ms cubic-bezier(.22, .8, .3, 1) both;
}

@keyframes pp-contact-envelope-flight {
  0%, 100% {
    transform: translate3d(0, 0, 0) rotate(0deg);
  }

  45% {
    transform: translate3d(2px, -2px, 0) rotate(-7deg);
  }
}

@media (prefers-reduced-motion: reduce) {
  .header-contact:hover .header-contact-icon,
  .header-contact:focus-visible .header-contact-icon {
    animation: none;
  }
}

.button-secondary {
  color: var(--pp-deep);
  border-color: var(--pp-border);
  background: var(--pp-surface);
}

.button-secondary:hover {
  border-color: var(--pp-primary);
  transform: translateY(-1px);
}

.header-contact:active,
.button-primary:active,
.button-secondary:active {
  transform: translateY(1px);
}

.nav-toggle {
  display: none;
  min-width: 74px;
  min-height: 44px;
  padding: 8px 10px;
  gap: 7px;
  color: var(--pp-ink);
  border: 1px solid var(--pp-border);
  border-radius: 4px;
  background: #fff;
  font-family: var(--pp-font-latin);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
}

.nav-toggle__icon {
  display: inline-flex;
  width: 18px;
  height: 14px;
  flex: 0 0 18px;
  flex-direction: column;
  justify-content: space-between;
}

.nav-toggle__icon span {
  display: block;
  width: 100%;
  height: 2px;
  border-radius: 999px;
  background: currentColor;
  transform-origin: center;
  transition: transform 180ms ease-out, opacity 180ms ease-out;
}

.nav-toggle[aria-expanded="true"] .nav-toggle__icon span:first-child {
  transform: translateY(6px) rotate(45deg);
}

.nav-toggle[aria-expanded="true"] .nav-toggle__icon span:nth-child(2) {
  opacity: 0;
}

.nav-toggle[aria-expanded="true"] .nav-toggle__icon span:last-child {
  transform: translateY(-6px) rotate(-45deg);
}

.nav-toggle__label {
  line-height: 1;
}

:focus-visible {
  outline: 3px solid rgba(84, 178, 220, .8);
  outline-offset: 3px;
}

.regulated-page {
  position: relative;
  display: grid;
  grid-template-columns: var(--pp-rail-width) minmax(0, 1fr);
  min-height: calc(calc(100 * var(--pp-wide-dvh, 1dvh)) - var(--pp-header-height));
  isolation: isolate;
  background: #0b3046;
}

.regulated-page::before,
.regulated-page::after {
  position: fixed;
  top: var(--pp-header-height);
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
  pointer-events: none;
}

.regulated-page::before {
  z-index: -3;
  background-image: var(--page-image);
  background-position: center;
  background-size: cover;
  filter: blur(18px) saturate(.72) contrast(.94);
  opacity: 1;
  transform: scale(1.12);
  transition: none;
}

.regulated-page.is-background-changing::before {
  opacity: 1;
}

/* Keep every atmospheric background on its first, page-defining image. */
body .pp-process-background__image,
body .pp-explore-background__image {
  opacity: 0 !important;
  transition: none !important;
}

body .pp-process-background__image:first-child,
body .pp-explore-background__image:first-child {
  opacity: 1 !important;
}

/* PROCESS: one calm, bright consultation image across the page background. */
body[data-page="process"] #pp-process-explore .pp-process-background__image {
  background-image:
    linear-gradient(rgba(5, 27, 44, .56), rgba(5, 27, 44, .56)),
    url("https://www.pharma-planning.com/dcms_media/image/%E5%90%8D%E7%A7%B0%E6%9C%AA%E8%A8%AD%E5%AE%9A%20%28800%20x%20800%20px%29%20%2818%29%201%20%281%29.png") !important;
  background-position: center;
  filter: blur(24px) saturate(.52) contrast(.88) brightness(1.12);
  transform: scale(1.15);
}

body[data-page="process"] #pp-process-explore .pp-process-background::after {
  position: absolute;
  inset: 0;
  display: block !important;
  background:
    linear-gradient(rgba(255, 255, 255, .36), rgba(255, 255, 255, .36)),
    rgba(84, 178, 220, .42);
  content: "";
  pointer-events: none;
}

/* GxP: use the approved FAQ artwork as one brighter page-wide atmosphere. */
body:is([data-page="service-gmp"], [data-page="service-gxp"], [data-page="service-rd-support"], [data-page="service-audit"], [data-page="service-fda"], [data-page="service-cmc"]) #pp-process-explore .pp-process-background {
  background: #dce8f0;
}

body:is([data-page="service-gmp"], [data-page="service-gxp"], [data-page="service-rd-support"], [data-page="service-audit"], [data-page="service-fda"], [data-page="service-cmc"]) #pp-process-explore .pp-process-background__image {
  display: none !important;
}

body:is([data-page="service-gmp"], [data-page="service-gxp"], [data-page="service-rd-support"], [data-page="service-audit"], [data-page="service-fda"], [data-page="service-cmc"]) #pp-process-explore .pp-process-background__image:first-child {
  inset: -6%;
  display: block !important;
  opacity: 1 !important;
  background-image:
    linear-gradient(115deg, rgba(8, 43, 62, .24), rgba(37, 108, 148, .12)),
    url("images/gxp-banner-faq.jpg") !important;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  filter: blur(24px) saturate(.58) contrast(.90) brightness(1.10);
  transform: scale(1.18);
}

/* Give GMP and CMC the same quiet, warm-white atmospheric canvas. */
body:is([data-page="service-gmp"], [data-page="service-cmc"]) #pp-process-explore .pp-process-background {
  background: #faf7ef;
}

body:is([data-page="service-gmp"], [data-page="service-cmc"]) #pp-process-explore .pp-process-background__image:first-child {
  background-image:
    linear-gradient(rgba(252, 249, 241, .84), rgba(252, 249, 241, .84)),
    url("images/gxp-banner-faq.jpg") !important;
  filter: blur(27px) saturate(.35) contrast(.84) brightness(1.20);
}

body[data-page="home"] .regulated-page.has-cinematic-hero {
  background: #fff;
}

body[data-page="home"] .regulated-page.has-cinematic-hero::before {
  background-image:
    linear-gradient(rgba(255, 255, 255, .88), rgba(255, 255, 255, .88)),
    url("images/gxp-banner-faq.jpg") !important;
  filter: blur(27px) saturate(.35) contrast(.84) brightness(1.20);
  transform: scale(1.18);
}

/* COMPANY: carry TOP's quiet white atmospheric blur across the whole page. */
body[data-page="company"] .regulated-page {
  background: #fff;
}

body[data-page="company"] .regulated-page::before {
  background-image:
    linear-gradient(rgba(255, 255, 255, .88), rgba(255, 255, 255, .88)),
    var(--page-image) !important;
  filter: blur(27px) saturate(.35) contrast(.84) brightness(1.20);
  transform: scale(1.18);
}

body[data-page="reason"] .pp-explore-card__step {
  font-family: var(--pp-font-latin);
}

/* MEDICINE: keep the PROCESS page's calm, bright atmosphere while using the
   approved medicine visual as the single page-wide background. */
:is(body[data-page="region01"], body[data-page="region02"], body[data-page="region03"], body[data-page="service-csv"]) .regulated-page {
  background: #dcebf3;
}

:is(body[data-page="region01"], body[data-page="region02"], body[data-page="region03"], body[data-page="service-csv"]) .regulated-page::before {
  filter: blur(26px) saturate(.52) contrast(.88) brightness(1.15);
  transform: scale(1.18);
}

:is(body[data-page="region01"], body[data-page="region02"], body[data-page="region03"], body[data-page="service-csv"]) .regulated-page::after {
  background:
    linear-gradient(rgba(255, 255, 255, .38), rgba(255, 255, 255, .38)),
    rgba(84, 178, 220, .38);
  background-size: auto;
}

/* CSV: keep the page-wide atmospheric blur, without the regulated grid. */
body[data-page="service-csv"] .regulated-page::after {
  background-image: linear-gradient(rgba(255, 255, 255, .38), rgba(255, 255, 255, .38));
  background-color: rgba(84, 178, 220, .38);
  background-repeat: no-repeat;
  background-size: auto;
}

body[data-page="service-csv"] .csv-gamp-note {
  display: block;
  max-width: 72ch;
  margin-top: 8px;
  font-size: .78em;
  font-weight: 500;
  line-height: 1.75;
}

:is(body[data-page="region01"], body[data-page="region02"], body[data-page="region03"]) .page-intro {
  color: var(--pp-ink);
}

:is(body[data-page="region01"], body[data-page="region02"], body[data-page="region03"]) .eyebrow {
  color: var(--pp-primary-strong);
}

:is(body[data-page="region01"], body[data-page="region02"], body[data-page="region03"]) .page-intro p {
  color: rgba(0, 44, 61, .82);
}

/* REASON uses the same single, page-wide atmospheric image as TOP. */
body[data-page="reason"] #特徴② .pp-explore-background__image {
  background-image: url("images/hero-pharma-book-whale-fusion-v2.png") !important;
}

body[data-page="reason"] #特徴② .pp-explore-background::after {
  content: none;
}

.regulated-page::after {
  z-index: -2;
  background:
    linear-gradient(90deg, rgba(255, 255, 255, .055) 1px, transparent 1px),
    linear-gradient(rgba(255, 255, 255, .045) 1px, transparent 1px),
    linear-gradient(115deg, rgba(0, 45, 61, .40), rgba(0, 74, 153, .20)),
    linear-gradient(180deg,
      rgba(11, 48, 70, 0) 0%,
      rgba(11, 48, 70, 0) 70%,
      rgba(11, 48, 70, .58) 88%,
      #0b3046 100%);
  background-size: 64px 64px, 64px 64px, auto, auto;
}

.regulated-page.has-cinematic-hero::after {
  content: none;
}

.regulated-page.has-cinematic-hero::before {
  background-image: var(--page-image);
}

body:is([data-page="results"], [data-page="process"]) .regulated-page::before,
body:is([data-page="results"], [data-page="process"]) .regulated-page::after {
  content: none;
}

body[data-page="results"] .regulated-page::before {
  content: "";
  filter: blur(24px) saturate(.72) contrast(.94);
  transform: scale(1.15);
}

body[data-page="services"] .regulated-page::after {
  content: none;
}

.page-rail {
  position: relative;
  min-width: 0;
  background: linear-gradient(180deg, var(--pp-rail-gradient-start), var(--pp-rail-gradient-end));
  background-color: var(--pp-rail-base);
  border-right: 1px solid rgba(0, 61, 85, .18);
  backdrop-filter: blur(10px) brightness(2.1) saturate(.55);
  -webkit-backdrop-filter: blur(10px) brightness(2.1) saturate(.55);
}

.rail-inner {
  position: sticky;
  top: var(--pp-header-height);
  display: flex;
  flex-direction: column;
  height: calc(calc(100 * var(--pp-wide-dvh, 1dvh)) - var(--pp-header-height));
  min-height: 620px;
  padding: clamp(34px, calc(5 * var(--pp-wide-vw, 1vw)), 64px) 30px 38px;
  color: var(--pp-ink);
  backdrop-filter: blur(10px) saturate(.55);
  -webkit-backdrop-filter: blur(10px) saturate(.55);
}

.rail-mark {
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  border-top: 2px solid var(--pp-rail-accent);
  border-left: 2px solid var(--pp-rail-accent);
}

.rail-context {
  margin: 22px 0 0;
  color: rgba(0, 44, 61, .86);
  font-family: var(--pp-font-latin);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .1em;
}

.rail-nav {
  margin-top: auto;
  border-top: 1px solid var(--pp-rail-line);
}

.rail-nav a {
  position: relative;
  display: grid;
  gap: 4px;
  min-height: 70px;
  padding: 15px 34px 14px 12px;
  color: var(--pp-rail-text);
  border-bottom: 1px solid var(--pp-rail-line);
  transition: color 250ms ease, background-color 250ms ease, padding-left 250ms ease;
}

.rail-nav a::after {
  position: absolute;
  top: 50%;
  right: 14px;
  width: 7px;
  height: 7px;
  border-right: 1px solid currentColor;
  border-bottom: 1px solid currentColor;
  content: "";
  transform: translateY(-65%) rotate(45deg);
}

.rail-nav a:hover,
.rail-nav a:focus-visible,
.rail-nav a[aria-current="location"] {
  color: var(--pp-ink);
  background: var(--pp-rail-active);
  padding-left: 18px;
}

.rail-nav a[aria-current="location"]::before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 3px;
  background: var(--pp-rail-accent);
  content: "";
}

.rail-nav a[aria-current="location"]::after {
  transform: translateY(-30%) rotate(225deg);
}

.rail-en {
  font-family: var(--pp-font-latin);
  font-size: 10px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: .17em;
}

.rail-ja {
  font-size: 14px;
  font-weight: 700;
  line-height: 1.5;
}

body[data-page="contact"] .rail-nav .contact-rail-purpose.is-active::after {
  transform: translateY(-30%) rotate(225deg);
}

body[data-page="contact"] .rail-nav .contact-rail-purpose[data-contact-rail-purpose="recruit"]::after {
  transform: translateY(-25%) rotate(-45deg);
}

.page-stage {
  --pp-page-stage-gutter: clamp(24px, calc(5 * var(--pp-wide-vw, 1vw)), 72px);
  min-width: 0;
  padding: clamp(74px, calc(9 * var(--pp-wide-vh, 1vh)), 112px) var(--pp-page-stage-gutter) 96px;
}

.stage-inner {
  width: min(100%, var(--pp-content-max));
  margin: 0 auto;
}

.page-intro {
  max-width: 800px;
  min-height: var(--pp-page-intro-height);
  margin-bottom: 38px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  color: #fff;
}

.eyebrow {
  display: block;
  margin-bottom: 14px;
  color: rgba(255, 255, 255, .88);
  font-family: var(--pp-font-latin);
  font-size: var(--pp-page-label-size);
  font-weight: var(--pp-page-label-weight);
  line-height: var(--pp-page-label-line-height);
  letter-spacing: var(--pp-page-label-letter-spacing);
}

.page-intro h1 {
  margin: 0;
  font-family: var(--pp-font-display);
  font-size: var(--pp-page-title-size);
  font-weight: var(--pp-page-title-weight);
  line-height: var(--pp-page-title-line-height);
  letter-spacing: var(--pp-page-title-letter-spacing);
  text-wrap: balance;
}

.page-intro h1 span {
  display: inline-block;
  padding-bottom: var(--pp-page-title-underline-offset);
  border-bottom: var(--pp-page-title-underline-thickness) solid var(--pp-primary);
}

.page-intro p {
  max-width: 62ch;
  margin: 24px 0 0;
  color: rgba(255, 255, 255, .9);
  font-size: var(--pp-page-lead-size);
  font-weight: var(--pp-page-lead-weight);
  line-height: var(--pp-page-lead-line-height);
  letter-spacing: var(--pp-page-lead-letter-spacing);
}

.intro-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 28px;
}

.content-stack {
  display: grid;
  gap: 28px;
}

.surface {
  position: relative;
  padding: clamp(24px, calc(4 * var(--pp-wide-vw, 1vw)), 36px);
  border-top: 4px solid var(--pp-primary);
  background: var(--pp-layer-white);
  box-shadow: var(--pp-card-shadow);
}

.surface.accent {
  border-top: 4px solid var(--pp-primary);
}

.surface.soft {
  background: rgba(238, 247, 252, .94);
}

.section-heading {
  margin: 0 0 12px;
  color: var(--pp-ink);
  font-family: var(--pp-font-display);
  font-size: clamp(24px, calc(3 * var(--pp-wide-vw, 1vw)), 32px);
  line-height: 1.3;
  letter-spacing: normal;
}

.section-lead {
  max-width: 66ch;
  margin: 0 0 26px;
  color: var(--pp-muted);
}

.feature-grid,
.service-grid,
.link-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.feature-item,
.service-card,
.link-card {
  position: relative;
  min-width: 0;
  padding: 24px;
  border: 0;
  border-top: 4px solid var(--pp-primary);
  border-radius: 0;
  background: var(--top-service-card-surface);
  box-shadow: 0 18px 50px rgba(0, 35, 58, .18);
}

.feature-item h3,
.service-card h3,
.link-card h3 {
  margin: 0 0 10px;
  color: var(--pp-primary-strong);
  font-size: 19px;
  line-height: 1.45;
}

.feature-item p,
.service-card p,
.link-card p {
  margin: 0;
  color: var(--pp-muted);
  font-size: 14px;
}

.service-card:nth-child(1),
.service-card:nth-child(4),
.service-card:nth-child(5) {
  background: linear-gradient(145deg, rgba(255, 255, 255, .96) 55%, rgba(231, 245, 251, .94));
}

.service-card a,
.link-card a,
.text-link {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  margin-top: 14px;
  color: var(--pp-deep);
  font-weight: 800;
  text-decoration: underline;
  text-decoration-color: var(--pp-primary);
  text-decoration-thickness: 2px;
  text-underline-offset: 5px;
}

.tag-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 14px 0 0;
  padding: 0;
  list-style: none;
}

.tag-list li {
  padding: 4px 10px;
  color: var(--pp-deep);
  border: 1px solid var(--pp-border);
  border-radius: 999px;
  background: var(--pp-surface-soft);
  font-size: 12px;
  font-weight: var(--pp-page-label-weight);
}

.process-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  padding: 1px;
  background: var(--pp-border);
}

.process-item {
  min-width: 0;
  padding: 26px;
  background: #fff;
}

.process-item strong {
  display: block;
  margin-bottom: 8px;
  color: var(--pp-primary-strong);
  font-size: 18px;
}

.process-item p {
  margin: 0;
  color: var(--pp-muted);
  font-size: 14px;
}

.metric-grid {
  display: grid;
  grid-template-columns: 1.25fr .75fr .75fr;
  gap: 14px;
}

.metric {
  padding: 22px;
  border: 1px solid var(--pp-border);
  background: #fff;
}

.metric strong {
  display: block;
  color: var(--pp-ink);
  font-size: clamp(24px, calc(3 * var(--pp-wide-vw, 1vw)), 38px);
  line-height: 1.2;
}

.metric span {
  display: block;
  margin-top: 8px;
  color: var(--pp-muted);
  font-size: 13px;
}

.result-list {
  display: grid;
  gap: 12px;
}

.result-item {
  display: grid;
  grid-template-columns: 130px minmax(0, 1fr);
  gap: 24px;
  padding: 20px 0;
  border-bottom: 1px solid var(--pp-border);
}

.result-item:last-child {
  border-bottom: 0;
}

.result-meta {
  color: var(--pp-deep);
  font-family: var(--pp-font-latin);
  font-size: 12px;
  font-weight: 800;
}

.result-item h3 {
  margin: 0 0 6px;
  color: var(--pp-ink);
  font-size: 17px;
}

.result-item p {
  margin: 0;
  color: var(--pp-muted);
  font-size: 14px;
}

.detail-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(240px, .7fr);
  gap: 28px;
}

.scope-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.scope-list li {
  min-height: 62px;
  padding: 15px 16px;
  border-left: 4px solid var(--pp-primary);
  background: var(--pp-surface-soft);
  font-size: 14px;
  font-weight: 700;
}

.aside-note {
  padding: 24px;
  color: #fff;
  background: var(--pp-ink);
}

.aside-note h3 {
  margin: 0 0 12px;
  font-size: 18px;
}

.aside-note p {
  margin: 0;
  color: rgba(255, 255, 255, .82);
  font-size: 14px;
}

/* Medicine region page: source-backed content in the same numbered editorial
   rhythm used by the PROCESS page. */
.medicine-section {
  position: relative;
  overflow: hidden;
  background: rgba(255, 255, 255, .72);
  box-shadow: 0 22px 56px rgba(0, 44, 61, .14);
}

.medicine-section {
  padding: clamp(28px, calc(4.5 * var(--pp-wide-vw, 1vw)), 52px);
}

.medicine-section-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
  gap: clamp(18px, calc(3 * var(--pp-wide-vw, 1vw)), 34px);
  margin-bottom: clamp(26px, calc(4 * var(--pp-wide-vw, 1vw)), 44px);
  padding-bottom: clamp(18px, calc(2.5 * var(--pp-wide-vw, 1vw)), 28px);
  border-bottom: 1px solid rgba(0, 61, 85, .20);
}

.medicine-section-head > span {
  color: var(--pp-primary-strong);
  font-family: var(--pp-font-latin);
  font-size: clamp(36px, calc(5 * var(--pp-wide-vw, 1vw)), 58px);
  font-weight: 300;
  line-height: .95;
  letter-spacing: -.06em;
}

.medicine-section-head p {
  margin: 0 0 8px;
  color: var(--pp-primary-strong);
  font-family: var(--pp-font-latin);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .16em;
}

.medicine-section-head h2 {
  margin: 0;
  color: var(--pp-ink);
  font-family: var(--pp-font-display);
  font-size: clamp(28px, calc(3.2 * var(--pp-wide-vw, 1vw)), 44px);
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: -.045em;
  text-wrap: balance;
}

.medicine-area-figure {
  margin: 0;
  padding: clamp(16px, calc(3 * var(--pp-wide-vw, 1vw)), 30px);
  border: 1px solid rgba(0, 61, 85, .16);
  background: #fff;
}

.medicine-area-figure img {
  display: block;
  width: 100%;
  height: auto;
}

.medicine-area-figure figcaption {
  display: none;
}

.medicine-service-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  padding: 1px;
  background: rgba(0, 61, 85, .16);
}

.medicine-support-map {
  margin-bottom: clamp(30px, calc(4.2 * var(--pp-wide-vw, 1vw)), 54px);
  padding: clamp(22px, calc(3.2 * var(--pp-wide-vw, 1vw)), 38px);
  border: 1px solid rgba(0, 61, 85, .15);
  background: rgba(247, 252, 255, .98);
}

.medicine-support-map__journey {
  display: grid;
  grid-template-columns: minmax(82px, .7fr) repeat(5, minmax(0, 1fr));
  align-items: stretch;
  gap: 4px;
}

.medicine-support-map__process,
.medicine-support-map__phase {
  position: relative;
  display: flex;
  min-height: 96px;
  flex-direction: column;
  justify-content: center;
  padding: 16px 18px;
  color: var(--pp-ink);
  border: 0;
  border-radius: 0;
  background: #e4f2f8;
  text-align: left;
}

.medicine-support-map__process {
  color: #fff;
  background: var(--pp-primary-strong);
  font-size: 13px;
  font-weight: 800;
  line-height: 1.55;
  letter-spacing: .04em;
}

.medicine-support-map__phase {
  cursor: pointer;
  transition: color 220ms ease, background-color 220ms ease, transform 220ms ease;
}

.medicine-support-map__phase-arrow {
  position: absolute;
  top: 50%;
  right: -8px;
  z-index: 4;
  color: rgba(0, 61, 85, .62);
  font-size: 16px;
  transform: translateY(-50%);
}

.medicine-support-map__phase strong,
.medicine-support-map__phase small {
  position: relative;
  z-index: 2;
}

.medicine-support-map__phase strong {
  font-family: var(--pp-font-display);
  font-size: clamp(15px, calc(1.35 * var(--pp-wide-vw, 1vw)), 19px);
  line-height: 1.35;
}

.medicine-support-map__phase small {
  margin-top: 7px;
  color: rgba(0, 44, 61, .7);
  font-family: var(--pp-font-latin);
  font-size: 9px;
  font-weight: 800;
  line-height: 1.45;
}

.medicine-support-map__phase:nth-child(2) { background: #dce8a8; }
.medicine-support-map__phase:nth-child(3) { background: #b7ded1; }
.medicine-support-map__phase:nth-child(4) { background: #8bcbd2; }
.medicine-support-map__phase:nth-child(5) { background: #aaa5d1; }
.medicine-support-map__phase:nth-child(6) { background: #d480ac; }

.medicine-support-map__phase:hover,
.medicine-support-map__phase:focus-visible,
.medicine-support-map__phase.is-active {
  z-index: 3;
  color: #fff;
  background: var(--pp-primary-strong);
  outline: 0;
  transform: translateY(-4px);
}

.medicine-support-map__phase:hover small,
.medicine-support-map__phase:focus-visible small,
.medicine-support-map__phase.is-active small {
  color: rgba(255, 255, 255, .82);
}

.medicine-support-map__phase:hover .medicine-support-map__phase-arrow,
.medicine-support-map__phase:focus-visible .medicine-support-map__phase-arrow,
.medicine-support-map__phase.is-active .medicine-support-map__phase-arrow {
  color: var(--pp-primary-strong);
}

.medicine-support-map__standards {
  display: grid;
  grid-template-columns: 2.35fr 3fr;
  gap: 4px;
  margin: 12px 0 0 calc((100% + 20px) / 6);
}

.medicine-support-map__standards span {
  padding: 10px 16px;
  color: #fff;
  background: linear-gradient(90deg, #64b8aa, #5590b6);
  font-family: var(--pp-font-latin);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .03em;
}

.medicine-support-map__standards span:last-child {
  background: linear-gradient(90deg, #5590b6, #b56191);
}

.medicine-support-map__summary {
  display: grid;
  grid-template-columns: minmax(110px, .3fr) minmax(0, 1.15fr) minmax(0, 1fr);
  gap: clamp(16px, calc(2.6 * var(--pp-wide-vw, 1vw)), 30px);
  align-items: center;
  min-height: 108px;
  margin-top: 20px;
  padding: 20px clamp(20px, calc(3 * var(--pp-wide-vw, 1vw)), 34px);
  color: #fff;
  background: #0a354b;
}

.medicine-support-map__summary span {
  color: #8dd3ec;
  font-family: var(--pp-font-latin);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .14em;
}

.medicine-support-map__summary strong {
  font-size: clamp(16px, calc(1.6 * var(--pp-wide-vw, 1vw)), 21px);
  line-height: 1.55;
}

.medicine-support-map__summary p {
  margin: 0;
  color: rgba(255, 255, 255, .78);
  font-size: 12px;
  line-height: 1.8;
}

.medicine-support-groups {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  margin-bottom: clamp(34px, calc(5 * var(--pp-wide-vw, 1vw)), 62px);
  padding: 1px;
  background: rgba(0, 61, 85, .16);
}

.medicine-support-group {
  padding: clamp(24px, calc(3 * var(--pp-wide-vw, 1vw)), 36px);
  background: rgba(238, 247, 252, .98);
}

.medicine-support-group--operations {
  background: rgba(243, 241, 249, .98);
}

.medicine-support-group header > span,
.medicine-service-subhead > span {
  color: var(--pp-primary-strong);
  font-family: var(--pp-font-latin);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .16em;
}

.medicine-support-group h3,
.medicine-service-subhead h3 {
  margin: 8px 0 8px;
  color: var(--pp-ink);
  font-family: var(--pp-font-display);
  font-size: clamp(22px, calc(2.2 * var(--pp-wide-vw, 1vw)), 30px);
  line-height: 1.35;
}

.medicine-support-group header p,
.medicine-service-subhead p {
  margin: 0;
  color: var(--pp-muted);
  font-size: 12px;
  line-height: 1.75;
}

.medicine-support-group__links {
  display: grid;
  margin-top: 22px;
  border-top: 1px solid rgba(0, 61, 85, .18);
}

.medicine-support-group__links a {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 2px 18px;
  min-height: 76px;
  align-content: center;
  padding: 12px 6px;
  color: var(--pp-ink);
  border-bottom: 1px solid rgba(0, 61, 85, .18);
  transition: color 200ms ease, padding-left 200ms ease;
}

.medicine-support-group__links a:hover,
.medicine-support-group__links a:focus-visible {
  color: var(--pp-primary-strong);
  padding-left: 12px;
}

.medicine-support-group__links strong {
  font-size: 15px;
  line-height: 1.4;
}

.medicine-support-group__links small {
  color: var(--pp-muted);
  font-size: 10px;
  line-height: 1.5;
}

.medicine-support-group__links .ph {
  grid-column: 2;
  grid-row: 1 / 3;
  align-self: center;
  color: var(--pp-primary-strong);
  font-size: 18px;
}

.medicine-service-subhead {
  margin: 0 0 22px;
  padding-top: 4px;
}

.medicine-service-card {
  position: relative;
  display: grid;
  grid-template-columns: minmax(130px, .72fr) minmax(0, 1fr);
  min-height: 190px;
  overflow: hidden;
  color: var(--pp-ink);
  background: #fff;
  transition: color 260ms ease, background-color 260ms ease;
}

.medicine-service-card:last-child:nth-child(odd) {
  grid-column: 1 / -1;
  grid-template-columns: minmax(180px, .36fr) minmax(0, 1fr);
}

.medicine-service-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(.82) contrast(.94);
  transition: transform 650ms cubic-bezier(.22, .8, .3, 1), filter 260ms ease;
}

.medicine-service-card > div {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  padding: clamp(22px, calc(3 * var(--pp-wide-vw, 1vw)), 34px);
}

.medicine-service-card h3 {
  margin: 0;
  font-size: clamp(18px, calc(1.55 * var(--pp-wide-vw, 1vw)), 24px);
  line-height: 1.45;
}

.medicine-service-card > div > span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 16px;
  color: var(--pp-primary-strong);
  font-size: 13px;
  font-weight: 800;
}

.medicine-service-card__index {
  position: absolute;
  top: 12px;
  left: 12px;
  z-index: 1;
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  color: #fff;
  background: rgba(0, 44, 61, .86);
  font-family: var(--pp-font-latin);
  font-size: 11px;
  font-weight: 800;
}

.medicine-service-card:hover,
.medicine-service-card:focus-visible {
  color: #002c3d;
  background: rgba(231, 245, 251, .98);
}

.medicine-service-card:hover img,
.medicine-service-card:focus-visible img {
  filter: saturate(.96) contrast(.98);
  transform: scale(1.035);
}

:is(body[data-page="region01"], body[data-page="region02"], body[data-page="region03"]) .page-stage > .company-contact-feature {
  width: 100%;
  margin-top: 28px;
  margin-bottom: 0;
  margin-left: 0;
}

:is(body[data-page="news"], body[data-page="news-a49"], body[data-page="news-a70"], body[data-page="news-article"]) .page-stage > .company-contact-feature {
  width: calc(100% + (2 * clamp(24px, calc(5 * var(--pp-wide-vw, 1vw)), 72px)));
  max-width: none;
  margin: 28px 0 0 calc(-1 * clamp(24px, calc(5 * var(--pp-wide-vw, 1vw)), 72px));
}

@media (max-width: 640px) {
  :is(body[data-page="news"], body[data-page="news-a49"], body[data-page="news-a70"], body[data-page="news-article"]) .page-stage > .company-contact-feature {
    width: calc(100% + 36px);
    margin-left: -18px;
  }
}

/* Region detail pages keep their main content inset, while the shared tail
   scenes align to the same full stage width used across the other pages. */
:is(body[data-page="region01"], body[data-page="region02"], body[data-page="region03"]) .stage-inner > .content-stack > :is(#medicine-performance, #medicine-contact, #medical-device-performance, #medical-device-contact, #engineering-performance, #engineering-contact) {
  width: calc(100% + (2 * clamp(24px, calc(5 * var(--pp-wide-vw, 1vw)), 72px)));
  max-width: none;
  margin-left: calc(-1 * clamp(24px, calc(5 * var(--pp-wide-vw, 1vw)), 72px));
}

@media (max-width: 640px) {
  :is(body[data-page="region01"], body[data-page="region02"], body[data-page="region03"]) .stage-inner > .content-stack > :is(#medicine-performance, #medicine-contact, #medical-device-performance, #medical-device-contact, #engineering-performance, #engineering-contact) {
    width: calc(100% + 36px);
    margin-left: -18px;
  }
}

:is(body[data-page="region01"], body[data-page="region02"], body[data-page="region03"]) .medicine-gap-feature,
:is(body[data-page="region01"], body[data-page="region02"], body[data-page="region03"]) .company-performance-feature {
  width: 100%;
  margin-left: 0;
  margin-top: 0;
  scroll-margin-top: var(--pp-header-height);
  box-shadow: 0 22px 56px rgba(0, 44, 61, .14);
}

.page-stage > .region-wide-tail {
  width: calc(100% + (2 * clamp(24px, calc(5 * var(--pp-wide-vw, 1vw)), 72px)));
  max-width: none;
  margin: 28px 0 0 calc(-1 * clamp(24px, calc(5 * var(--pp-wide-vw, 1vw)), 72px));
}

/* Shared region-page tail: services and contact always stay inside the stage
   to the right of the persistent rail. */
:is(body[data-page="region01"], body[data-page="region02"], body[data-page="region03"]) .region-wide-tail > :is(.shared-tail-feature, .company-contact-feature) {
  width: 100%;
  max-width: none;
  margin-left: 0;
}

@media (min-width: 781px) {
  :is(body[data-page="region01"], body[data-page="region02"], body[data-page="region03"]) .region-wide-tail > .shared-tail-services {
    grid-template-columns: minmax(0, 46%) clamp(58px, calc(6 * var(--pp-wide-vw, 1vw)), 84px) minmax(0, 1fr);
  }

  :is(body[data-page="region01"], body[data-page="region02"], body[data-page="region03"]) .shared-tail-services > .top-results-intro {
    grid-column: 1;
    grid-row: 1;
  }

  :is(body[data-page="region01"], body[data-page="region02"], body[data-page="region03"]) .shared-tail-services > .top-results-divider {
    position: relative;
    inset: auto;
    grid-column: 2;
    grid-row: 1;
    width: 100%;
    height: 100%;
    border-right: 1px solid rgba(255, 255, 255, .92);
    border-left: 1px solid rgba(255, 255, 255, .92);
    transform: none;
  }

  :is(body[data-page="region01"], body[data-page="region02"], body[data-page="region03"]) .shared-tail-services > .top-results-visual {
    grid-column: 3;
    grid-row: 1;
  }
}

@media (max-width: 640px) {
  .page-stage > .region-wide-tail {
    width: calc(100% + 36px);
    margin-left: -18px;
  }
}

@media (min-width: 781px) {
  :is(body[data-page="region01"], body[data-page="region02"], body[data-page="region03"]) .content-stack > .shared-tail-performance {
    grid-template-columns: minmax(0, 54%) clamp(58px, calc(6 * var(--pp-wide-vw, 1vw)), 84px) minmax(0, 1fr);
  }

  :is(body[data-page="region01"], body[data-page="region02"], body[data-page="region03"]) .content-stack > .shared-tail-performance > .top-results-divider {
    position: relative;
    inset: auto;
    grid-column: 2;
    grid-row: 1;
    width: 100%;
    height: 100%;
    border-right: 1px solid rgba(255, 255, 255, .92);
    border-left: 1px solid rgba(255, 255, 255, .92);
    transform: none;
  }

  :is(body[data-page="region01"], body[data-page="region02"], body[data-page="region03"]) .content-stack > .shared-tail-performance > .top-results-visual {
    grid-column: 1;
    grid-row: 1;
  }

  :is(body[data-page="region01"], body[data-page="region02"], body[data-page="region03"]) .content-stack > .shared-tail-performance > .top-results-intro {
    grid-column: 3;
    grid-row: 1;
  }
}

.medicine-gap-feature {
  isolation: isolate;
}

.medicine-gap-feature-intro h2 {
  font-family: var(--pp-font-display);
  letter-spacing: .02em;
}

.medicine-gap-feature-toc {
  padding: clamp(28px, calc(3.5 * var(--pp-wide-vw, 1vw)), 48px) clamp(36px, calc(5 * var(--pp-wide-vw, 1vw)), 78px);
}

.medicine-gap-feature-toc .top-region-feature-menu-title {
  margin-bottom: 14px;
  font-size: clamp(18px, calc(1.7 * var(--pp-wide-vw, 1vw)), 24px);
}

.medicine-gap-feature-toc .top-results-toc-links {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: clamp(24px, calc(3 * var(--pp-wide-vw, 1vw)), 42px);
}

.medicine-gap-feature-toc .top-results-toc-links a {
  min-height: 76px;
}

:is(body[data-page="region01"], body[data-page="region02"]) .medicine-gap-feature-toc .top-results-toc-links a:last-child {
  grid-column: auto;
}

:is(body[data-page="region01"], body[data-page="region02"]) .medicine-gap-feature-toc .top-results-toc-links a:nth-child(2) {
  border-bottom: initial;
}

.medicine-gap-feature-toc .top-results-toc-links a.is-active {
  color: #fff;
  background: rgba(84, 178, 220, .16);
}

.medicine-gap-feature-toc .top-region-feature-link-copy {
  padding: 8px 8px 8px 0;
}

.medicine-gap-feature-toc .top-region-feature-link-copy strong {
  font-size: clamp(15px, calc(1.25 * var(--pp-wide-vw, 1vw)), 18px);
}

.medicine-gap-feature-toc .top-region-feature-link-copy small {
  max-width: 28ch;
  font-size: 10px;
}

.medicine-gap-feature-slide img {
  filter: saturate(.66) contrast(.98) brightness(.72);
}

@media (max-width: 1180px) {
  .medicine-support-map__process,
  .medicine-support-map__phase {
    padding-inline: 12px;
  }

  .medicine-support-map__summary {
    grid-template-columns: minmax(96px, .25fr) minmax(0, 1fr);
  }

  .medicine-support-map__summary p {
    grid-column: 1 / -1;
  }

  .medicine-service-grid {
    grid-template-columns: 1fr;
  }

  .medicine-service-card:last-child:nth-child(odd) {
    grid-column: auto;
    grid-template-columns: minmax(130px, .72fr) minmax(0, 1fr);
  }
}

@media (max-width: 720px) {
  .medicine-section-head {
    grid-template-columns: 1fr;
  }

  .medicine-section-head > span {
    font-size: 34px;
  }

  .medicine-area-figure {
    overflow-x: auto;
  }

  .medicine-area-figure img {
    width: 760px;
    max-width: none;
  }

  .medicine-area-figure figcaption {
    position: sticky;
    left: 0;
    display: block;
    width: min(100%, 281px);
    margin-top: 12px;
    color: var(--pp-muted);
    font-size: 11px;
    line-height: 1.6;
  }

  .medicine-service-card,
  .medicine-service-card:last-child:nth-child(odd) {
    grid-template-columns: 1fr;
  }

  .medicine-service-card img {
    aspect-ratio: 16 / 9;
  }

  .medicine-support-map {
    overflow: visible;
    padding: 18px;
  }

  .medicine-support-map__journey {
    display: grid;
    width: auto;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  .medicine-support-map__process {
    grid-column: 1 / -1;
    min-height: 64px;
  }

  .medicine-support-map__phase {
    min-height: 82px;
    padding: 14px;
  }

  .medicine-support-map__phase-arrow {
    display: none;
  }

  .medicine-support-map__phase:last-child {
    grid-column: 1 / -1;
  }

  .medicine-support-map__standards {
    width: auto;
    grid-template-columns: 1fr;
    margin-left: 0;
  }

  .medicine-support-map__summary {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .medicine-support-map__summary p {
    grid-column: auto;
  }

  .medicine-support-groups {
    grid-template-columns: 1fr;
  }

  .medicine-support-group {
    padding: 24px 20px;
  }

  .medicine-gap-feature-toc .top-results-toc-links {
    grid-template-columns: 1fr;
  }

  .medicine-gap-feature-toc .top-results-toc-links a,
  .medicine-gap-feature-toc .top-results-toc-links a:nth-child(2) {
    min-height: 64px;
    border-bottom: 0;
  }

  .medicine-gap-feature-toc .top-results-toc-links a:last-child {
    border-bottom: 1px solid rgba(255, 255, 255, .92);
  }

}

@media (prefers-reduced-motion: reduce) {
  .medicine-service-card,
  .medicine-service-card img {
    transition: none;
  }
}

/* Match issue classifications to the stage colors used in Service Area. */
body[data-page="region01"] .medicine-issue-dialog .medicine-issue-reveal[data-service-area="gmp"] {
  --issue-reveal-accent: #1688bd;
}

body[data-page="region01"] .medicine-issue-dialog .medicine-issue-reveal[data-service-area="approval"] {
  --issue-reveal-accent: #21a9c8;
}

body[data-page="region01"] .medicine-issue-dialog .medicine-issue-reveal[data-service-area="market"] {
  --issue-reveal-accent: #11699f;
}

body[data-page="region01"] .medicine-issue-dialog .medicine-issue-reveal__problem small {
  color: var(--issue-reveal-accent);
}

.company-facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0;
}

.company-facts div {
  display: grid;
  grid-template-columns: 100px 1fr;
  gap: 18px;
  padding: 16px 0;
  border-bottom: 1px solid var(--pp-border);
}

.company-facts div:nth-child(odd) {
  margin-right: 24px;
}

.company-facts dt {
  color: var(--pp-muted);
  font-size: 13px;
  font-weight: 700;
}

.company-facts dd {
  margin: 0;
  color: var(--pp-ink);
  font-weight: 700;
}

.company-overview-shell {
  min-height: clamp(620px, calc(48 * var(--pp-wide-vw, 1vw)), 840px);
  padding: clamp(54px, calc(7 * var(--pp-wide-vw, 1vw)), 96px) clamp(30px, calc(6 * var(--pp-wide-vw, 1vw)), 76px);
  color: var(--pp-ink);
  background: #fff;
  transition: color 220ms ease, background-color 220ms ease;
}

.company-overview-heading {
  margin-bottom: clamp(62px, calc(9 * var(--pp-wide-vw, 1vw)), 120px);
}

.company-overview-heading-only {
  min-height: 0;
  padding-bottom: clamp(54px, calc(7 * var(--pp-wide-vw, 1vw)), 96px);
}

.company-overview-heading-only .company-overview-heading {
  margin-bottom: 0;
}

.company-overview-heading h2 {
  margin: 0;
  color: inherit;
  font-family: var(--pp-font-display);
  font-size: clamp(30px, calc(3 * var(--pp-wide-vw, 1vw)), 48px);
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: -.045em;
  white-space: nowrap;
}

.company-overview-heading p {
  margin: 24px 0 0;
  color: inherit;
  font-family: var(--pp-font-latin);
  font-size: clamp(18px, calc(2 * var(--pp-wide-vw, 1vw)), 28px);
  font-weight: 500;
  letter-spacing: .28em;
}

.company-overview-menu {
  display: grid;
  border-top: 1px solid #aaa;
}

.company-overview-link {
  position: relative;
  display: grid;
  grid-template-columns: minmax(190px, .55fr) minmax(0, 1.45fr);
  align-items: center;
  gap: 28px;
  min-height: 126px;
  padding: 24px 0;
  color: #111;
  border-bottom: 1px solid #aaa;
  background: #fff;
  overflow: hidden;
  transition: color 180ms ease, background-color 180ms ease, padding 180ms ease;
}

.company-overview-link:hover,
.company-overview-link:focus-visible,
.company-overview-link.is-preview-target {
  color: #fff;
  background: #000;
  padding-right: 30px;
  padding-left: 30px;
}

.company-overview-link:focus-visible {
  z-index: 1;
  outline: 3px solid var(--pp-primary);
  outline-offset: -6px;
}

.company-overview-shell.is-preview-active {
  color: #fff;
  background-color: #002c3d;
  background-image:
    linear-gradient(90deg, rgba(0, 32, 44, .88), rgba(0, 32, 44, .38)),
    var(--company-preview-image);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

.company-overview-shell.is-preview-active[data-preview-mode="signboard"] {
  background-image:
    linear-gradient(90deg, rgba(0, 44, 61, .98) 0%, rgba(0, 44, 61, .82) 43%, rgba(0, 44, 61, .18) 100%),
    var(--company-preview-image);
  background-position: center, right 10% center;
  background-size: cover, min(calc(54 * var(--pp-wide-vw, 1vw)), 720px) auto;
}

.company-overview-shell.is-preview-active[data-preview-mode="portrait"] {
  background-image:
    linear-gradient(90deg, rgba(0, 44, 61, .98) 0%, rgba(0, 44, 61, .86) 48%, rgba(0, 44, 61, .18) 100%),
    var(--company-preview-image);
  background-position: center, right center;
  background-size: cover, auto 100%;
}

.company-overview-shell.is-preview-active .company-overview-menu {
  border-top-color: #fff;
}

.company-overview-shell.is-preview-active .company-overview-link {
  color: #fff;
  border-bottom-color: #fff;
  background: transparent;
  text-shadow: 0 2px 14px rgba(0, 0, 0, .82);
}

.company-overview-shell.is-preview-active .company-overview-link:hover,
.company-overview-shell.is-preview-active .company-overview-link:focus-visible,
.company-overview-shell.is-preview-active .company-overview-link.is-preview-target {
  background: #000;
  text-shadow: none;
}

.company-overview-ja {
  display: inline-flex;
  align-items: center;
  gap: 20px;
  font-size: clamp(18px, calc(2 * var(--pp-wide-vw, 1vw)), 24px);
  font-weight: 800;
  letter-spacing: .06em;
  white-space: nowrap;
}

.company-overview-ja::before {
  width: 9px;
  height: 9px;
  background: var(--pp-primary);
  border-radius: 50%;
  content: "";
}

.company-overview-ja i {
  font-size: 32px;
  font-weight: 300;
}

.company-overview-link strong {
  min-width: 0;
  color: #d4d4d4;
  font-family: var(--pp-font-latin);
  font-size: clamp(27px, calc(3.4 * var(--pp-wide-vw, 1vw)), 54px);
  font-weight: 300;
  line-height: 1.05;
  letter-spacing: .015em;
}

.company-overview-shell.is-preview-active .company-overview-link strong {
  color: rgba(255, 255, 255, .78);
}

.company-section {
  scroll-margin-top: calc(var(--pp-header-height) + 2px);
}

.company-section-visual {
  position: relative;
  isolation: isolate;
  display: flex;
  min-height: clamp(250px, calc(24 * var(--pp-wide-vw, 1vw)), 360px);
  padding: clamp(54px, calc(6 * var(--pp-wide-vw, 1vw)), 92px);
  overflow: hidden;
  align-items: flex-end;
  color: #fff;
  background: #0b3046;
}

.company-section-visual::before {
  position: absolute;
  z-index: -2;
  inset: -28px;
  background-image: var(--company-section-image);
  background-position: center;
  background-size: cover;
  content: "";
  filter: blur(18px) saturate(.72) contrast(.96);
  transform: scale(1.12);
}

.company-section-visual::after {
  position: absolute;
  z-index: -1;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(4, 27, 40, .82) 0%, rgba(4, 27, 40, .56) 52%, rgba(4, 27, 40, .38) 100%),
    linear-gradient(0deg, rgba(0, 0, 0, .18), rgba(0, 0, 0, .04));
  content: "";
}

.company-section-visual-title {
  position: relative;
  z-index: 1;
}

.company-section-visual .company-section-visual-title > span {
  display: block;
  margin: 0 0 var(--pp-page-label-gap);
  color: #fff;
  font-family: var(--pp-font-latin);
  font-size: var(--pp-page-label-size);
  font-weight: 700;
  letter-spacing: var(--pp-page-label-letter-spacing);
  line-height: var(--pp-page-label-line-height);
}

.company-section-visual .company-section-visual-title > h2 {
  display: inline-block;
  position: relative;
  margin: 0;
  padding: 0;
  color: #fff;
  border-bottom: 0;
  font-family: var(--pp-font-display);
  font-size: var(--pp-page-title-size);
  font-weight: var(--pp-page-title-weight);
  line-height: var(--pp-page-title-line-height);
  letter-spacing: var(--pp-page-title-letter-spacing);
  text-decoration: underline;
  text-decoration-color: #fff;
  text-decoration-thickness: var(--pp-page-title-underline-thickness);
  text-underline-offset: var(--pp-page-title-underline-offset);
  text-shadow: 0 2px 12px rgba(0, 0, 0, .16);
}

.company-section-visual .company-section-visual-title > h2::before {
  content: none;
}

.company-section-en {
  display: block;
  margin-bottom: 9px;
  color: var(--pp-primary-strong);
  font-family: var(--pp-font-latin);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .17em;
}

.company-philosophy-simple {
  position: relative;
  isolation: isolate;
  display: grid;
  width: 100cqw;
  min-height: clamp(420px, calc(34 * var(--pp-wide-vw, 1vw)), 520px);
  margin-block: 0;
  margin-left: calc((100% - 100cqw) / 2);
  overflow: hidden;
  grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
  color: #fff;
  background: rgba(5, 27, 44, .58);
}

body[data-page="company"] .page-intro + .company-philosophy-simple {
  margin-top: 0;
}

body[data-page="company"] .content-stack > .company-philosophy-simple:first-child {
  margin-top: 0;
}

.company-philosophy-simple::before {
  position: absolute;
  z-index: 0;
  inset: -10px;
  background-image:
    linear-gradient(rgba(5, 27, 44, .36), rgba(5, 27, 44, .36)),
    var(--company-section-image);
  background-position: 50% 24%;
  background-size: cover;
  background-repeat: no-repeat;
  content: "";
  filter: none;
  transform: scale(1.005);
}

.company-philosophy-simple::after {
  content: none;
}

.company-philosophy-intro {
  position: relative;
  z-index: 2;
  display: flex;
  grid-column: 1;
  grid-row: 1;
  min-width: 0;
  padding: clamp(64px, calc(7 * var(--pp-wide-vw, 1vw)), 104px) clamp(54px, calc(7 * var(--pp-wide-vw, 1vw)), 106px);
  flex-direction: column;
  justify-content: center;
  background: rgba(5, 27, 44, .58);
  backdrop-filter: none;
}

.company-philosophy-intro h2 {
  margin: 0;
  color: #fff;
  font-family: var(--pp-font-display);
  font-size: clamp(42px, calc(4.4 * var(--pp-wide-vw, 1vw)), 62px);
  font-weight: 400;
  line-height: 1.18;
  letter-spacing: .08em;
  white-space: nowrap;
}

.company-philosophy-en {
  margin: 26px 0 0;
  color: #fff;
  font-family: "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: .2em;
}

.company-philosophy-toggle {
  position: absolute;
  z-index: 3;
  top: 0;
  bottom: 0;
  left: 46%;
  display: grid;
  width: clamp(72px, calc(6 * var(--pp-wide-vw, 1vw)), 96px);
  height: auto;
  place-items: center;
  color: #fff;
  border: 0;
  border-right: 0;
  border-left: 0;
  border-radius: 0;
  background: rgba(84, 178, 220, .28);
  backdrop-filter: none;
  cursor: pointer;
  transform: translateX(-50%);
  transition: background-color 180ms ease;
}

.company-philosophy-simple:not(.company-message-feature) .company-philosophy-toggle {
  background: rgba(84, 178, 220, .28);
}

.company-philosophy-toggle-icon {
  color: #fff;
  font-size: 34px;
  transition: transform 220ms ease;
}

.company-philosophy-toggle:hover .company-philosophy-toggle-icon,
.company-philosophy-toggle:focus-visible .company-philosophy-toggle-icon {
  transform: translateX(6px);
}

.company-philosophy-simple.is-open .company-philosophy-toggle-icon {
  transform: rotate(180deg);
}

.company-philosophy-simple.is-open .company-philosophy-toggle:hover .company-philosophy-toggle-icon,
.company-philosophy-simple.is-open .company-philosophy-toggle:focus-visible .company-philosophy-toggle-icon {
  transform: translateX(-6px) rotate(180deg);
}

.company-philosophy-toggle:focus-visible {
  outline: 0;
}

.company-philosophy-visual {
  position: relative;
  z-index: 1;
  grid-column: 2;
  grid-row: 1;
  min-width: 0;
  overflow: hidden;
  background: rgba(5, 27, 44, .28);
}

.company-philosophy-content {
  position: absolute;
  z-index: 2;
  inset: 0;
  display: flex;
  padding-block: clamp(48px, calc(5 * var(--pp-wide-vw, 1vw)), 80px);
  padding-inline: clamp(54px, calc(7 * var(--pp-wide-vw, 1vw)), 106px);
  flex-direction: column;
  justify-content: center;
  color: #fff;
  background: rgba(5, 27, 44, .9);
  backdrop-filter: blur(2px);
  text-align: left;
}

.company-philosophy-content,
.company-philosophy-content * {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  opacity: 1 !important;
}

.company-philosophy-content[hidden] {
  display: none;
}

.company-philosophy-simple.is-open .company-philosophy-toggle {
  background: rgba(84, 178, 220, .48);
  backdrop-filter: none;
}

.company-philosophy-content h3 {
  margin: 0;
  font-family: var(--pp-font-display);
  font-size: clamp(22px, 2.4cqw, 34px);
  font-weight: 800;
  line-height: 1.35;
  letter-spacing: .04em;
  color: #fff;
  text-shadow: 0 0 1px #fff, 0 2px 16px rgba(0, 0, 0, .36);
}

.company-principles {
  display: grid;
  gap: 12px;
  max-width: 660px;
  margin: clamp(24px, 3cqw, 36px) 0 0;
}

.company-principles p {
  margin: 0;
  padding: 0;
  color: #fff;
  font-family: "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "Yu Gothic", Meiryo, system-ui, sans-serif;
  font-size: clamp(13px, 1.25cqw, 18px);
  font-weight: 700;
  line-height: 1.85;
  letter-spacing: .02em;
  text-shadow: 0 0 1px rgba(255, 255, 255, .92), 0 2px 16px rgba(0, 0, 0, .38);
}

.company-principles p::before {
  content: none;
}

/* The two philosophy statements are the main content of this panel. */
@media (min-width: 781px) {
  body[data-page="company"] #company-philosophy-content .company-principles {
    margin-top: 0;
    gap: 24px;
  }

  body[data-page="company"] #company-philosophy-content .company-principles p {
    font-size: clamp(18px, calc(1.4 * var(--pp-wide-vw, 1vw)), 20px);
    line-height: 1.8;
  }
}

.company-message-feature {
  min-height: clamp(460px, calc(38 * var(--pp-wide-vw, 1vw)), 580px);
  grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr);
}

.company-message-feature::before {
  inset: 0 46% 0 0;
  background-color: #071b2c;
  background-image: var(--company-section-image);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  filter: none;
  transform: none;
}

.company-message-feature-intro {
  grid-column: 2;
  grid-row: 1;
  padding: clamp(64px, calc(7 * var(--pp-wide-vw, 1vw)), 104px) clamp(54px, calc(7 * var(--pp-wide-vw, 1vw)), 106px);
  background: rgba(84, 178, 220, .48);
}

.company-message-feature-visual {
  grid-column: 1;
  grid-row: 1;
  overflow: hidden;
  background: rgba(5, 27, 44, .12);
}

.company-message-feature-toggle {
  left: 54%;
  color: #fff;
  border-right-color: rgba(255, 255, 255, .92);
  border-left-color: rgba(255, 255, 255, .92);
  background: rgba(84, 178, 220, .48);
  transform: translateX(-50%);
}

.company-message-feature-toggle .company-philosophy-toggle-icon {
  color: #fff;
}

.company-message-feature-toggle:hover .company-philosophy-toggle-icon,
.company-message-feature-toggle:focus-visible .company-philosophy-toggle-icon {
  transform: translateX(-6px);
}

.company-message-feature.is-open .company-message-feature-toggle .company-philosophy-toggle-icon {
  transform: rotate(180deg);
}

.company-message-feature.is-open .company-message-feature-toggle:hover .company-philosophy-toggle-icon,
.company-message-feature.is-open .company-message-feature-toggle:focus-visible .company-philosophy-toggle-icon {
  transform: translateX(6px) rotate(180deg);
}

.company-message-feature-content {
  padding-block: clamp(40px, calc(4.5 * var(--pp-wide-vw, 1vw)), 72px);
  padding-inline: clamp(54px, calc(7 * var(--pp-wide-vw, 1vw)), 106px);
  background: rgba(5, 27, 44, .62);
  backdrop-filter: blur(2px);
}

.company-philosophy-simple:not(.company-message-feature)::before {
  background-image:
    linear-gradient(rgba(5, 27, 44, .56), rgba(5, 27, 44, .56)),
    var(--company-section-image);
}

.company-philosophy-simple:not(.company-message-feature) .company-philosophy-intro {
  background: rgba(84, 178, 220, .48);
  backdrop-filter: none;
}

.company-philosophy-simple:not(.company-message-feature) .company-philosophy-visual {
  background: transparent;
  backdrop-filter: none;
}

.company-philosophy-simple:not(.company-message-feature) .company-philosophy-content {
  background: rgba(5, 27, 44, .62);
  backdrop-filter: blur(2px);
}

.company-philosophy-simple:not(.company-message-feature).is-open .company-philosophy-toggle {
  background: rgba(84, 178, 220, .28);
  backdrop-filter: none;
}

@media (min-width: 781px) {
  .company-philosophy-simple:not(.company-message-feature) .company-philosophy-intro {
    background:
      linear-gradient(
        90deg,
        rgba(84, 178, 220, .48) 0 calc(100% - clamp(36px, calc(3 * var(--pp-wide-vw, 1vw)), 48px)),
        transparent calc(100% - clamp(36px, calc(3 * var(--pp-wide-vw, 1vw)), 48px))
      );
    box-shadow: none;
  }

  .company-philosophy-simple:not(.company-message-feature) .company-philosophy-content {
    position: relative;
    inset: auto;
    height: 100%;
    background: rgba(5, 27, 44, .62);
    backdrop-filter: blur(2px);
  }

  .company-philosophy-simple:not(.company-message-feature).is-open .company-philosophy-toggle {
    background: rgba(84, 178, 220, .28);
    backdrop-filter: none;
  }

  .company-message-feature::before {
    right: calc(46% - clamp(36px, calc(3 * var(--pp-wide-vw, 1vw)), 48px));
  }

  .company-message-feature-intro {
    background:
      linear-gradient(
        90deg,
        transparent 0 clamp(36px, calc(3 * var(--pp-wide-vw, 1vw)), 48px),
        rgba(84, 178, 220, .48) clamp(36px, calc(3 * var(--pp-wide-vw, 1vw)), 48px)
      );
  }

  .company-message-feature-content {
    right: calc(-1 * clamp(36px, calc(3 * var(--pp-wide-vw, 1vw)), 48px));
    padding-right: calc(clamp(54px, calc(7 * var(--pp-wide-vw, 1vw)), 106px) + clamp(36px, calc(3 * var(--pp-wide-vw, 1vw)), 48px));
  }
}

.company-message-feature-content h3 {
  font-size: clamp(24px, 2.4cqw, 34px);
}

.company-message-feature-copy {
  display: grid;
  gap: 9px;
  margin-top: 20px;
}

.company-message-feature-copy p {
  margin: 0;
  color: #fff;
  font-size: clamp(13px, 1.25cqw, 17px);
  font-weight: 700;
  line-height: 1.72;
  letter-spacing: .02em;
}

.company-message-feature-signature {
  padding-top: 4px;
  text-align: right;
}

.company-message-feature-signature strong {
  font-family: "HGP行書体", "HG行書体", "Klee One", "Yuji Syuku", cursive;
  font-size: 1.3em;
  font-weight: 600;
}

.company-message-section {
  width: 100%;
  margin-top: 0 !important;
  background: #fff;
}

.company-message-hero {
  display: flex;
  min-height: clamp(250px, calc(24 * var(--pp-wide-vw, 1vw)), 360px);
  background: #0b3046;
}

.company-message-title {
  align-self: end;
  padding: 0;
}

.company-message-title span {
  display: block;
  margin-bottom: 24px;
  color: #7b858a;
  font-family: var(--pp-font-latin);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .22em;
}

.company-message-title h2 {
  position: relative;
  margin: 0;
  padding-left: 28px;
  color: #252525;
  font-family: var(--pp-font-display);
  font-size: clamp(34px, calc(4 * var(--pp-wide-vw, 1vw)), 54px);
  font-weight: 400;
  line-height: 1.25;
  letter-spacing: .08em;
}

.company-message-title h2::before {
  position: absolute;
  top: .58em;
  left: 0;
  width: 10px;
  height: 2px;
  background: var(--pp-primary);
  border-radius: 50%;
  content: "";
}

.company-message-hero > img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: clamp(420px, calc(38 * var(--pp-wide-vw, 1vw)), 580px);
  object-fit: cover;
  object-position: center top;
  filter: saturate(.82) contrast(.98);
}

.company-message-copy {
  width: min(calc(100% - clamp(48px, calc(12 * var(--pp-wide-vw, 1vw)), 180px)), 980px);
  margin: 0 auto;
  padding: clamp(72px, calc(9 * var(--pp-wide-vw, 1vw)), 126px) 0;
  color: var(--pp-text);
  font-family: "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "Yu Gothic", Meiryo, system-ui, sans-serif;
  font-size: clamp(16px, calc(1.45 * var(--pp-wide-vw, 1vw)), 19px);
}

.company-message-copy p {
  margin: 0 0 1.8em;
  line-height: 2.25;
  letter-spacing: .04em;
}

.company-message-copy p:last-child {
  margin-bottom: 0;
}

.company-message-signature {
  padding-top: 28px;
  text-align: right;
}

.company-message-signature strong {
  display: inline-block;
  margin-top: 8px;
  color: var(--pp-ink);
  font-family: "HGP行書体", "HG行書体", "Klee One", "Yuji Syuku", cursive;
  font-size: clamp(30px, calc(4 * var(--pp-wide-vw, 1vw)), 44px);
  font-weight: 400;
  line-height: 1.25;
  letter-spacing: .08em;
  transform: rotate(-2deg);
  transform-origin: right center;
}

.company-profile-section {
  position: relative;
  isolation: isolate;
  width: 100%;
  margin-top: 0 !important;
  overflow: hidden;
  background: #0b3046;
}

.company-profile-section::before {
  position: absolute;
  z-index: -2;
  inset: -28px;
  background:
    linear-gradient(rgba(5, 27, 44, .56), rgba(5, 27, 44, .56)),
    url("images/hero-pharma-book-whale-fusion-v2.png") 50% 35% / cover no-repeat;
  content: "";
  filter: none;
  transform: scale(1.005);
}

.company-profile-section::after {
  position: absolute;
  z-index: -1;
  inset: 0;
  background: rgba(84, 178, 220, .48);
  content: "";
  pointer-events: none;
}

.company-profile-banner {
  display: flex;
  align-items: center;
  min-height: clamp(230px, calc(20 * var(--pp-wide-vw, 1vw)), 320px);
  padding: clamp(54px, calc(6 * var(--pp-wide-vw, 1vw)), 92px);
  background: transparent;
  backdrop-filter: none;
}

.company-profile-banner::before {
  background-image: none;
  filter: none;
  transform: none;
}

.company-profile-banner::after {
  background: none;
}

.company-profile-banner .company-section-visual-title > span {
  color: #fff;
}

.company-profile-banner .company-section-visual-title > h2 {
  position: relative;
  margin: 0;
  padding-left: 0;
  color: #fff;
  text-decoration-color: rgba(255, 255, 255, .82);
  font-family: var(--pp-font-display);
  font-size: var(--pp-page-title-size);
  font-weight: var(--pp-page-title-weight);
  line-height: var(--pp-page-title-line-height);
  letter-spacing: var(--pp-page-title-letter-spacing);
  text-decoration: underline;
  text-decoration-thickness: var(--pp-page-title-underline-thickness);
  text-underline-offset: var(--pp-page-title-underline-offset);
}

.company-profile-banner .company-section-visual-title > h2::before {
  content: none;
}

.company-profile-content {
  position: relative;
  z-index: 1;
  isolation: isolate;
  width: min(calc(100% - clamp(48px, calc(12 * var(--pp-wide-vw, 1vw)), 180px)), 1120px);
  margin: 0 auto;
  padding: clamp(36px, calc(4 * var(--pp-wide-vw, 1vw)), 56px) 0 clamp(96px, calc(11 * var(--pp-wide-vw, 1vw)), 150px);
}

.company-profile-content::before {
  content: none;
}

.company-profile-content h3 {
  position: relative;
  margin: 0;
  padding-bottom: 24px;
  color: #252525;
  font-family: var(--pp-font-display);
  font-size: clamp(26px, calc(2.8 * var(--pp-wide-vw, 1vw)), 38px);
  font-weight: 500;
  letter-spacing: .08em;
}

.company-profile-content h3::after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 54px;
  height: 2px;
  background: #111;
  content: "";
}

.company-profile-content h3::before {
  position: absolute;
  z-index: 1;
  bottom: -3px;
  left: -1px;
  width: 8px;
  height: 8px;
  background: var(--pp-primary);
  border-radius: 50%;
  content: "";
}

.company-profile-section .company-facts-source {
  position: relative;
  margin-top: 0;
  border-top: 0;
}

.company-profile-section .company-facts-source::before,
.company-profile-section .company-facts-source > div::after {
  position: absolute;
  right: 0;
  left: 0;
  height: 1px;
  background: rgba(255, 255, 255, .72);
  content: "";
  pointer-events: none;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 720ms cubic-bezier(.22, .74, .22, 1);
}

.company-profile-section .company-facts-source::before {
  top: 0;
}

.company-profile-section .company-facts-source.is-lines-visible::before,
.company-profile-section .company-facts-source > div.is-line-visible::after {
  transform: scaleX(1);
}

.company-profile-section .company-facts-source div,
.company-profile-section .company-facts-source div:nth-child(odd) {
  position: relative;
  padding: 26px 0;
  border-bottom: 0;
  background: transparent;
}

.company-profile-section .company-facts-source > div::after {
  bottom: 0;
  transition-delay: var(--company-line-delay, 0ms);
}

.company-profile-section .company-facts-source dt {
  color: #fff;
  font-family: "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "Yu Gothic", Meiryo, system-ui, sans-serif;
  font-size: clamp(14px, calc(1.25 * var(--pp-wide-vw, 1vw)), 16px);
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: .03em;
}

.company-profile-section .company-facts-source dd {
  color: #fff;
  font-family: "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "Yu Gothic", Meiryo, system-ui, sans-serif;
  font-size: clamp(14px, calc(1.2 * var(--pp-wide-vw, 1vw)), 16px);
  font-weight: 600;
  line-height: 1.85;
  letter-spacing: .015em;
}

.company-profile-section .company-facts-source dd span {
  color: rgba(255, 255, 255, .72);
  font-family: var(--pp-font-latin);
  font-size: .9em;
  font-weight: 500;
  letter-spacing: .03em;
}

@media (prefers-reduced-motion: reduce) {
  .company-profile-section .company-facts-source::before,
  .company-profile-section .company-facts-source > div::after {
    transition: none;
    transform: scaleX(1);
  }
}

.company-access-section {
  position: relative;
  isolation: isolate;
  width: 100%;
  margin-top: calc(0px - clamp(24px, calc(2.5 * var(--pp-wide-vw, 1vw)), 40px)) !important;
  overflow: hidden;
  background: #0b3046;
}

.company-access-map-background {
  position: absolute;
  z-index: 0;
  inset: -42px;
  overflow: hidden;
  pointer-events: none;
}

.company-access-map-background iframe {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100% !important;
  min-height: max(100%, 1100px);
  border: 0;
  opacity: 1;
  filter: blur(18px) saturate(.72) contrast(.94);
  transform: scale(1.12);
}

.company-access-section::after {
  position: absolute;
  z-index: 1;
  inset: 0;
  background:
    linear-gradient(115deg, rgba(0, 31, 49, .58), rgba(0, 55, 91, .34)),
    linear-gradient(180deg, rgba(0, 20, 35, .12), rgba(0, 20, 35, .26));
  content: "";
  pointer-events: none;
}

.company-access-heading {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  min-height: clamp(280px, calc(27 * var(--pp-wide-vw, 1vw)), 410px);
  padding: clamp(54px, calc(6 * var(--pp-wide-vw, 1vw)), 92px);
  background: transparent;
}

.company-access-heading::before,
.company-access-heading::after {
  content: none;
}

.company-access-heading .company-section-visual-title {
  width: min(100%, 920px);
}

.company-access-heading .company-section-visual-title > h2 {
  margin: 0;
  padding: 0;
  color: #fff;
  font-family: var(--pp-font-display);
  font-size: var(--pp-page-title-size);
  font-weight: var(--pp-page-title-weight);
  line-height: var(--pp-page-title-line-height);
  letter-spacing: var(--pp-page-title-letter-spacing);
  text-decoration: underline;
  text-decoration-color: #fff;
  text-decoration-thickness: var(--pp-page-title-underline-thickness);
  text-underline-offset: var(--pp-page-title-underline-offset);
}

.company-access-heading .company-section-visual-title > h2::before {
  content: none;
}

.company-access-content {
  position: relative;
  z-index: 2;
  width: min(calc(100% - clamp(48px, calc(12 * var(--pp-wide-vw, 1vw)), 180px)), 1120px);
  margin: 0 auto;
  padding: clamp(28px, calc(3.5 * var(--pp-wide-vw, 1vw)), 48px) 0 clamp(72px, calc(8 * var(--pp-wide-vw, 1vw)), 112px);
  background: transparent;
}

.company-access-layout {
  background: transparent;
}

.company-access-content > h3 {
  position: relative;
  margin: 0;
  padding-bottom: 24px;
  color: #252525;
  font-family: var(--pp-font-display);
  font-size: clamp(26px, calc(2.8 * var(--pp-wide-vw, 1vw)), 38px);
  font-weight: 500;
  letter-spacing: .08em;
}

.company-access-content > h3::after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 54px;
  height: 2px;
  background: #111;
  content: "";
}

.company-access-content > h3::before {
  position: absolute;
  z-index: 1;
  bottom: -3px;
  left: -1px;
  width: 8px;
  height: 8px;
  background: var(--pp-primary);
  border-radius: 50%;
  content: "";
}

.company-access-intro {
  max-width: 62ch;
  margin: 24px 0 0;
  color: rgba(255, 255, 255, .9);
  text-shadow: 0 2px 14px rgba(0, 20, 34, .34);
  font-size: var(--pp-page-lead-size);
  font-weight: var(--pp-page-lead-weight);
  line-height: var(--pp-page-lead-line-height);
  letter-spacing: var(--pp-page-lead-letter-spacing);
}

.company-access-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
  gap: clamp(14px, calc(1.8 * var(--pp-wide-vw, 1vw)), 22px);
}

.company-access-section .company-map-frame {
  position: relative;
  width: 100%;
  min-height: 0;
  margin: 0;
  overflow: hidden;
  border: 0;
  background: transparent;
  aspect-ratio: 16 / 9;
}

.company-access-section .company-map-frame iframe {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 0;
  border: 0;
}

.company-access-section .company-map-link {
  display: inline-flex;
  align-items: center;
  justify-self: end;
  gap: 6px;
  padding: 0 0 3px;
  color: #fff;
  border-bottom: 1px solid currentColor;
  font-size: clamp(13px, calc(1.1 * var(--pp-wide-vw, 1vw)), 15px);
  font-weight: 700;
  line-height: 1.35;
  text-decoration: none;
  transition: opacity .2s ease;
}

.company-access-section .company-map-link:hover {
  opacity: .72;
}

.company-access-section .company-map-link i {
  font-size: 1.05em;
}

.company-access-office {
  padding-top: 4px;
  color: #111;
}

.company-access-office h3 {
  margin: 0 0 22px;
  color: #111;
  font-family: var(--pp-font-display);
  font-size: clamp(23px, calc(2.5 * var(--pp-wide-vw, 1vw)), 32px);
  font-weight: 700;
  line-height: 1.5;
}

.company-access-office p {
  margin: 0 0 34px;
  color: #111;
  font-size: clamp(15px, calc(1.4 * var(--pp-wide-vw, 1vw)), 18px);
  line-height: 2;
}

.company-message-grid {
  display: grid;
  grid-template-columns: minmax(180px, .35fr) minmax(0, 1fr);
  align-items: start;
  gap: clamp(28px, calc(5 * var(--pp-wide-vw, 1vw)), 58px);
  margin-top: 28px;
}

.company-representative {
  margin: 0;
}

.company-representative img {
  display: block;
  width: 100%;
  aspect-ratio: 200 / 177;
  object-fit: cover;
  border-top: 4px solid var(--pp-primary);
}

.company-representative figcaption {
  padding: 14px 2px 0;
  color: var(--pp-muted);
  font-size: 13px;
  line-height: 1.7;
}

.company-representative figcaption strong {
  color: var(--pp-ink);
  font-size: 17px;
}

.company-facts-source {
  grid-template-columns: 1fr;
  margin-top: 26px;
  border-top: 1px solid var(--pp-border);
}

.company-facts-source div,
.company-facts-source div:nth-child(odd) {
  grid-template-columns: minmax(110px, .24fr) minmax(0, 1fr);
  gap: 26px;
  margin-right: 0;
  padding: 19px 0;
}

.company-facts-source dt {
  color: var(--pp-primary-strong);
}

.company-facts-source dd {
  font-weight: 600;
  line-height: 1.8;
}

.company-facts-source dd > span {
  color: var(--pp-muted);
  font-family: var(--pp-font-latin);
  font-size: 13px;
  font-weight: 500;
}

.company-facts-source ul {
  margin: 10px 0 0;
  padding-left: 1.2em;
}

.company-external-links {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.company-map-link {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: var(--pp-deep);
  border-bottom: 1px solid currentColor;
  font-weight: 700;
}

.company-external-links a {
  display: inline-grid;
  width: 46px;
  height: 46px;
  place-items: center;
  color: #fff;
  border: 1px solid currentColor;
  border-radius: 50%;
  background: var(--pp-deep);
  transition: color .2s ease, background-color .2s ease, transform .2s ease;
}

.company-external-links a i {
  font-size: 25px;
  font-weight: 400;
}

.company-gmp-meister-logo-image {
  display: block;
  width: 28px;
  height: 28px;
  object-fit: contain;
}

.company-external-links a:hover,
.company-external-links a:focus-visible {
  color: #fff;
  background: var(--pp-primary-strong);
  transform: translateY(-2px);
}

.company-access-office .company-map-link {
  gap: 16px;
  padding-bottom: 6px;
  color: #111;
  border-bottom: 2px solid #111;
  font-size: clamp(16px, calc(1.7 * var(--pp-wide-vw, 1vw)), 20px);
  font-weight: 600;
}

.company-access-office .company-map-link i {
  color: #111;
  font-size: 28px;
  font-weight: 400;
}

.company-access-office .company-map-link:hover,
.company-access-office .company-map-link:focus-visible {
  color: #111;
  opacity: .68;
}

.company-access-copy {
  display: grid;
  grid-template-columns: minmax(180px, .8fr) minmax(260px, 1.2fr) auto;
  align-items: start;
  gap: 28px;
  margin: 26px 0;
  padding: 22px 0;
  border-top: 1px solid var(--pp-border);
  border-bottom: 1px solid var(--pp-border);
}

.company-access-copy p {
  margin: 0;
  line-height: 1.8;
}

.company-map-frame {
  min-height: 360px;
  border-top: 4px solid var(--pp-primary);
  background: var(--pp-surface-soft);
}

.company-map-frame iframe {
  display: block;
  width: 100%;
  height: clamp(360px, calc(45 * var(--pp-wide-vw, 1vw)), 520px);
  border: 0;
}

.company-photo-credit {
  margin: -10px 0 0;
  padding: 12px 16px;
  color: var(--pp-muted);
  background: #fff;
  font-size: 11px;
  line-height: 1.6;
}

.company-photo-credit a {
  color: var(--pp-deep);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.company-results-link-section {
  position: relative;
  isolation: isolate;
  min-height: clamp(300px, calc(30 * var(--pp-wide-vw, 1vw)), 420px);
  overflow: hidden;
  color: #fff;
}

.company-results-link-section::before {
  position: absolute;
  z-index: -2;
  inset: -28px;
  background: url("images/pp-results-performance-workspace-v1.png") center / cover no-repeat;
  content: "";
  filter: blur(18px) saturate(.78) contrast(.92);
  transform: scale(1.12);
}

.company-results-link-section::after {
  position: absolute;
  z-index: -1;
  inset: 0;
  background: linear-gradient(100deg, rgba(6, 25, 38, .9) 0%, rgba(9, 35, 51, .68) 52%, rgba(17, 43, 59, .36) 100%);
  content: "";
}

.company-results-link-inner {
  display: grid;
  align-content: center;
  width: min(calc(100% - clamp(48px, calc(12 * var(--pp-wide-vw, 1vw)), 180px)), 1120px);
  min-height: inherit;
  margin: 0 auto;
  padding: clamp(54px, calc(6 * var(--pp-wide-vw, 1vw)), 88px) 0;
}

.company-results-link-inner > span {
  display: block;
  margin: 0 0 var(--pp-page-label-gap);
  font-family: var(--pp-font-latin);
  font-size: var(--pp-page-label-size);
  font-weight: var(--pp-page-label-weight);
  line-height: var(--pp-page-label-line-height);
  letter-spacing: var(--pp-page-label-letter-spacing);
}

.company-results-link-inner h2 {
  justify-self: start;
  margin: 0;
  color: #fff;
  font-family: var(--pp-font-display);
  font-size: var(--pp-page-title-size);
  font-weight: var(--pp-page-title-weight);
  line-height: var(--pp-page-title-line-height);
  letter-spacing: var(--pp-page-title-letter-spacing);
  text-decoration: underline;
  text-decoration-color: #fff;
  text-decoration-thickness: var(--pp-page-title-underline-thickness);
  text-underline-offset: var(--pp-page-title-underline-offset);
}

.company-results-link-inner p {
  max-width: 62ch;
  margin: 24px 0 0;
  color: rgba(255, 255, 255, .9);
  font-size: var(--pp-page-lead-size);
  font-weight: var(--pp-page-lead-weight);
  line-height: var(--pp-page-lead-line-height);
  letter-spacing: var(--pp-page-lead-letter-spacing);
}

.company-results-link-inner a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  justify-self: center;
  width: min(100%, 600px);
  min-height: 76px;
  margin-top: clamp(34px, calc(4 * var(--pp-wide-vw, 1vw)), 54px);
  color: #fff;
  border: 1px solid rgba(255, 255, 255, .72);
  background: rgba(255, 255, 255, .08);
  font-size: clamp(16px, calc(1.6 * var(--pp-wide-vw, 1vw)), 20px);
  font-weight: 600;
  text-decoration: none;
  backdrop-filter: blur(4px);
  transition:
    color .2s ease,
    background .2s ease,
    border-color .2s ease;
}

.company-results-link-inner a:hover {
  color: var(--pp-deep);
  border-color: #fff;
  background: rgba(255, 255, 255, .94);
}

body[data-page="company"] .regulated-page::after {
  content: none;
}

body[data-page="company"] .page-rail {
  display: block;
  z-index: 4;
  grid-column: 1;
  grid-row: 1;
  align-self: stretch;
  height: auto;
}

body[data-page="company"] .rail-inner {
  position: sticky;
  top: var(--pp-header-height);
  height: calc(calc(100 * var(--pp-wide-dvh, 1dvh)) - var(--pp-header-height));
  min-height: 0;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

body[data-page="company"] .page-stage {
  grid-column: 2;
  grid-row: 1;
  padding: 0;
  container-type: inline-size;
}

body[data-page="company"] .stage-inner {
  width: 100%;
  max-width: none;
}

body[data-page="company"] .page-intro {
  position: relative;
  max-width: none;
  min-height: var(--pp-page-intro-height);
  margin: 0;
  padding:
    42px
    clamp(36px, calc(7 * var(--pp-wide-vw, 1vw)), 92px)
    42px
    clamp(36px, calc(7 * var(--pp-wide-vw, 1vw)), 92px);
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  justify-content: center;
  gap: 0;
  overflow: hidden;
  color: #fff;
  background: transparent;
  text-shadow: 0 2px 18px rgba(0, 0, 0, .64);
  isolation: isolate;
}

body[data-page="company"] .page-intro::before {
  content: none;
}

body[data-page="company"] .page-intro::after {
  content: none;
}

body[data-page="company"] .page-intro > * {
  position: relative;
  z-index: 1;
}

body[data-page="company"] .page-intro .eyebrow {
  display: block;
  margin: 0 0 var(--pp-page-label-gap);
  color: #fff;
  font-family: var(--pp-font-latin);
  font-size: var(--pp-page-label-size);
  font-weight: 700;
  line-height: var(--pp-page-label-line-height);
  letter-spacing: var(--pp-page-label-letter-spacing);
}

body[data-page="company"] .page-intro .eyebrow::before {
  content: none;
}

body[data-page="company"] .page-intro h1 {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 0;
  margin: 0;
  padding: 0;
  color: #fff;
  background: transparent;
  box-shadow: none;
  font-family: var(--pp-font-display);
  margin-bottom: clamp(18px, calc(2 * var(--pp-wide-vw, 1vw)), 26px);
  font-size: var(--pp-page-title-size);
  font-weight: var(--pp-page-title-weight);
  line-height: var(--pp-page-title-line-height);
  letter-spacing: var(--pp-page-title-letter-spacing);
  text-shadow: 0 4px 18px rgba(0, 0, 0, .38);
}

body[data-page="company"] .page-intro h1::before {
  content: none;
}

body[data-page="company"] .page-intro h1::after {
  content: none;
}

body[data-page="company"] .page-intro h1 span {
  padding: 0;
  border-bottom: 0;
  text-decoration: underline;
  text-decoration-thickness: var(--pp-page-title-underline-thickness);
  text-underline-offset: var(--pp-page-title-underline-offset);
  writing-mode: horizontal-tb;
  text-orientation: mixed;
}

body[data-page="company"] .page-intro p {
  max-width: 66ch;
  margin: 0;
  color: #fff;
  font-size: var(--pp-page-lead-size);
  font-weight: var(--pp-page-lead-weight);
  line-height: var(--pp-page-lead-line-height);
  letter-spacing: var(--pp-page-lead-letter-spacing);
  text-align: left;
  text-shadow: 0 3px 16px rgba(0, 26, 43, .52);
}

body[data-page="company"] .content-stack {
  width: 100%;
  gap: 28px;
  padding-bottom: 96px;
}

body[data-page="company"] .content-stack > .surface,
body[data-page="company"] .content-stack > .contact-band,
body[data-page="company"] .content-stack > .company-photo-credit {
  width: min(calc(100% - clamp(36px, calc(7 * var(--pp-wide-vw, 1vw)), 92px)), var(--pp-content-max));
  margin-right: auto;
  margin-left: auto;
}

body[data-page="company"] .company-section:not(.company-philosophy-simple),
body[data-page="company"] .company-photo-credit,
body[data-page="company"] .contact-band {
  margin-top: 28px;
}

body[data-page="company"] .surface {
  background: #fff;
}

body[data-page="company"] .surface.soft {
  background: #eef7fc;
}

.contact-band {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 28px;
  padding: 32px;
  color: #fff;
  background: var(--pp-ink);
}

.contact-band h2 {
  margin: 0 0 6px;
  font-size: 24px;
}

.contact-band p {
  margin: 0;
  color: rgba(255, 255, 255, .78);
}

.site-footer {
  position: relative;
  z-index: 5;
  min-height: var(--pp-footer-min-height);
  overflow: hidden;
  color: #34454d;
  border-top: 1px solid rgba(0, 61, 85, .18);
  background: transparent;
  isolation: isolate;
}

.site-footer::before,
.site-footer::after {
  position: absolute;
  inset: 0;
  pointer-events: none;
  content: "";
}

.site-footer::before {
  z-index: -2;
  background: url("images/company/footer-contact-bg-original.jpg") center / cover no-repeat;
  filter: blur(18px) contrast(1.32) saturate(1.14) brightness(.96);
  transform: scale(1.12);
}

.site-footer::after {
  z-index: -1;
  background: linear-gradient(180deg, var(--pp-rail-gradient-start), var(--pp-rail-gradient-end));
}

.footer-inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1.2fr 2fr;
  gap: 48px;
  width: min(100% - 40px, 1400px);
  margin: 0 auto;
  padding: 56px 0 32px;
}

.footer-brand {
  display: inline-flex;
  max-width: min(100%, 320px);
  align-items: center;
  text-decoration: none;
}

.footer-brand img {
  display: block;
  width: clamp(230px, calc(21 * var(--pp-wide-vw, 1vw)), 300px);
  height: auto;
  max-height: 54px;
  object-fit: contain;
  object-position: left center;
  filter: none;
  opacity: 1;
}

.footer-note {
  max-width: 35ch;
  margin: 14px 0 0;
  color: #69777d;
  font-size: 13px;
}

.footer-nav {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px 24px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.footer-nav a {
  display: inline-flex;
  min-height: 40px;
  align-items: center;
  color: #46565d;
  font-size: 13px;
}

.footer-nav a:hover,
.footer-nav a:focus-visible {
  color: var(--pp-deep);
  text-decoration: underline;
  text-underline-offset: 5px;
}

.footer-bottom {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  width: 100%;
  margin: 0;
  padding: 18px max(20px, calc((100% - 1200px) / 2)) 26px;
  color: #66747a;
  border-top: 1px solid rgba(0, 61, 85, .16);
  background: transparent;
  font-family: var(--pp-font-latin);
  font-size: 11px;
}

.footer-bottom a {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  min-height: 32px;
  color: #46565d;
  font-family: var(--pp-font-ja);
  font-size: 12px;
  font-weight: 700;
}

.footer-bottom a i {
  font-size: 12px;
  transition: transform 180ms ease-out;
}

.footer-bottom a:hover,
.footer-bottom a:focus-visible,
.footer-bottom a[aria-current="page"] {
  color: var(--pp-deep);
}

.footer-bottom a:hover i,
.footer-bottom a:focus-visible i {
  transform: translateX(3px);
}

.footer-utility {
  display: inline-flex;
  align-items: center;
  gap: 22px;
}

/* Sitemap */
body[data-page="sitemap"] .regulated-page {
  background: #f4f8fb;
}

body[data-page="sitemap"] .page-stage {
  background: #f4f8fb;
  padding-top: clamp(120px, calc(15 * var(--pp-wide-vh, 1vh)), 145px);
}

body[data-page="sitemap"] .rail-context:empty,
body[data-page="sitemap"] .rail-en:empty,
body[data-page="sitemap"] .rail-mark {
  display: none;
}

body[data-page="sitemap"] .page-intro {
  display: block;
  width: 100%;
  max-width: 920px;
  min-height: auto;
  margin: 0 auto 32px;
  color: #143f56;
}

body[data-page="sitemap"] .page-intro .eyebrow {
  margin-bottom: 10px;
  color: #3b839f;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .18em;
  text-shadow: none !important;
}

body[data-page="sitemap"] .page-intro h1 {
  color: #104f6b;
  font-size: var(--pp-page-title-size);
  font-weight: var(--pp-page-title-weight);
  line-height: var(--pp-page-title-line-height);
  letter-spacing: var(--pp-page-title-letter-spacing);
  text-shadow: none !important;
}

body[data-page="sitemap"] .page-intro h1 span {
  padding-bottom: 0;
  border-bottom: 0;
  text-shadow: none !important;
  filter: none !important;
}

.sitemap-intro {
  padding: clamp(54px, calc(7 * var(--pp-wide-vw, 1vw)), 104px) clamp(28px, calc(6 * var(--pp-wide-vw, 1vw)), 96px);
  color: #fff;
  background:
    linear-gradient(120deg, rgba(0, 48, 73, .98), rgba(0, 92, 126, .86)),
    url("images/hero-pharma-book-whale-fusion-v2.png") center 38% / cover no-repeat;
}

.sitemap-intro__eyebrow {
  margin: 0 0 12px;
  color: #9fe9f7;
  font-family: var(--pp-font-latin);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .18em;
}

.sitemap-intro h2 {
  margin: 0;
  font-family: var(--pp-font-display);
  font-size: clamp(34px, calc(4.4 * var(--pp-wide-vw, 1vw)), 64px);
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: .02em;
}

.sitemap-intro > p:not(.sitemap-intro__eyebrow) {
  max-width: 660px;
  margin: 22px 0 0;
  color: rgba(255, 255, 255, .86);
  font-size: clamp(14px, calc(1.15 * var(--pp-wide-vw, 1vw)), 17px);
  line-height: 1.9;
}

.sitemap-home-link {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  min-height: 48px;
  margin-top: 30px;
  padding: 0 18px;
  color: #fff;
  border: 1px solid rgba(255, 255, 255, .58);
  font-weight: 700;
}

.sitemap-home-link i,
.sitemap-group a i {
  transition: transform 180ms ease-out;
}

.sitemap-home-link:hover i,
.sitemap-home-link:focus-visible i,
.sitemap-group a:hover i,
.sitemap-group a:focus-visible i {
  transform: translateX(4px);
}

.sitemap-directory {
  position: relative;
  display: block;
  width: min(100%, 900px);
  margin: 0 auto;
  padding: 8px 0 18px 28px;
  background: transparent;
}

.sitemap-directory::before {
  position: absolute;
  top: 18px;
  bottom: 34px;
  left: 8px;
  width: 2px;
  background: #9fd2e5;
  content: "";
}

.sitemap-group {
  position: relative;
  min-width: 0;
  padding: 0 0 clamp(42px, calc(6 * var(--pp-wide-vw, 1vw)), 68px) 34px;
  background: transparent;
}

.sitemap-group:last-child {
  padding-bottom: 0;
}

.sitemap-group::before {
  position: absolute;
  top: 17px;
  left: -20px;
  width: 54px;
  border-top: 2px solid #9fd2e5;
  content: "";
}

.sitemap-group::after {
  position: absolute;
  top: 11px;
  left: -25px;
  width: 12px;
  height: 12px;
  border: 3px solid #f4f8fb;
  border-radius: 50%;
  background: var(--pp-primary-strong);
  box-sizing: border-box;
  content: "";
}

.sitemap-group > header {
  position: relative;
  z-index: 1;
  padding: 0 0 0 18px;
  border-left: 6px solid var(--pp-primary-strong);
}

.sitemap-group header h2 {
  margin: 0;
  color: var(--pp-deep);
  font-size: clamp(21px, calc(2 * var(--pp-wide-vw, 1vw)), 27px);
  font-weight: 800;
  line-height: 1.4;
}

.sitemap-group nav {
  position: relative;
  display: block;
  width: min(100%, 760px);
  margin: 20px 0 0 10px;
  padding: 2px 0 2px 28px;
  border-left: 2px solid #b8ddeb;
}

.sitemap-group a {
  position: relative;
  display: grid;
  grid-template-columns: 12px minmax(0, 1fr);
  align-items: center;
  gap: 11px;
  min-height: 38px;
  padding: 6px 10px 6px 0;
  color: #163849;
  font-size: clamp(13px, calc(1.1 * var(--pp-wide-vw, 1vw)), 15px);
  font-weight: 600;
  line-height: 1.45;
}

.sitemap-group a::before {
  position: absolute;
  top: 50%;
  right: 100%;
  width: 28px;
  border-top: 1px solid #b8ddeb;
  content: "";
}

.sitemap-group a i {
  display: grid;
  place-items: center;
  width: 12px;
  height: 12px;
  color: var(--pp-primary-strong);
  font-size: 44px;
  line-height: 0;
  overflow: visible;
}

.sitemap-group a span {
  min-width: 0;
}

.sitemap-group .sitemap-link--branch {
  font-weight: 800;
}

.sitemap-group .sitemap-link--branch:not(:first-child) {
  margin-top: 18px;
}

.sitemap-group .sitemap-link--level-2 {
  margin-left: 18px;
  font-weight: 650;
}

.sitemap-group .sitemap-link--level-3 {
  margin-left: 36px;
  color: #315866;
  font-size: clamp(12px, calc(1 * var(--pp-wide-vw, 1vw)), 14px);
  font-weight: 550;
}

.sitemap-group .sitemap-link--level-4 {
  margin-left: 54px;
}

.sitemap-group :is(.sitemap-link--level-2, .sitemap-link--level-3, .sitemap-link--level-4)::before {
  width: 12px;
}

.sitemap-group a:hover,
.sitemap-group a:focus-visible {
  color: var(--pp-primary-strong);
  background: #f0f8fc;
}

/* Each heading is a real page; nested lists represent its content and child pages. */
.sitemap-directory--pages .sitemap-group {
  scroll-margin-top: calc(var(--pp-header-height) + 24px);
}

body[data-page="sitemap"] .rail-inner {
  justify-content: flex-start;
}

body[data-page="sitemap"] .rail-nav {
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: none;
}

body[data-page="sitemap"] .rail-nav::-webkit-scrollbar {
  display: none;
}

.sitemap-directory--pages .sitemap-page-link {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  width: fit-content;
  min-height: 44px;
  padding: 4px 8px;
  margin-left: -8px;
  color: inherit;
  font: inherit;
}

.sitemap-directory--pages .sitemap-page-link::before,
.sitemap-directory--pages nav {
  border: 0;
}

.sitemap-directory--pages .sitemap-page-link::before {
  content: none;
}

.sitemap-directory--pages .sitemap-page-link small {
  align-self: center;
  font-size: 12px;
  font-weight: 500;
}

.sitemap-directory--pages nav {
  width: auto;
  margin: 16px 0 0 10px;
  padding: 0;
}

.sitemap-children {
  list-style: none;
  margin: 0;
  padding: 0 0 0 28px;
}

.sitemap-children > li {
  position: relative;
  margin: 0;
  padding: 0 0 0 12px;
}

.sitemap-children > li::before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: -28px;
  border-left: 1px solid #b8ddeb;
  content: "";
}

.sitemap-children > li:last-child::before {
  bottom: auto;
  height: 22px;
}

.sitemap-children > li::after {
  position: absolute;
  top: 22px;
  left: -28px;
  width: 32px;
  border-top: 1px solid #b8ddeb;
  content: "";
}

.sitemap-children > li > a {
  display: block;
  min-height: 44px;
  padding: 10px 8px;
  box-sizing: border-box;
}

.sitemap-children > li > a::before {
  content: none;
}

.sitemap-children .sitemap-children {
  margin: 4px 0 12px 8px;
}

.sitemap-children .sitemap-children a {
  font-size: 13px;
  font-weight: 500;
}

.sitemap-directory--pages a:focus-visible {
  outline: 2px solid var(--pp-primary-strong);
  outline-offset: 2px;
}

@media (max-width: 520px) {
  .sitemap-children {
    padding-left: 18px;
  }

  .sitemap-children > li::before,
  .sitemap-children > li::after {
    left: -18px;
  }

  .sitemap-children > li::after {
    width: 22px;
  }

  .sitemap-children .sitemap-children {
    margin-left: 0;
  }
}

@media (max-width: 900px) {
  .sitemap-directory {
    width: 100%;
  }
}

body[data-page="sitemap"] .page-stage > .company-contact-feature {
  margin-top: 0;
}

@media (max-width: 520px) {
  .footer-bottom {
    align-items: flex-start;
    flex-direction: column-reverse;
    gap: 4px;
  }

  .sitemap-group nav {
    margin-top: 14px;
    padding-left: 20px;
  }

  .sitemap-directory {
    padding-left: 18px;
  }

  .sitemap-directory::before {
    left: 4px;
  }

  .sitemap-group {
    padding-left: 24px;
  }

  .sitemap-group::before {
    left: -14px;
    width: 38px;
  }

  .sitemap-group::after {
    left: -19px;
  }
}

/* Privacy policy */
body[data-page="privacy"] .regulated-page,
body[data-page="privacy"] .page-stage {
  background: #fff;
}

body[data-page="privacy"] .page-stage {
  padding-top: clamp(120px, calc(15 * var(--pp-wide-vh, 1vh)), 145px);
}

:is(body[data-page="sitemap"], body[data-page="privacy"]) .page-stage > .company-contact-feature {
  width: calc(100% + (2 * var(--pp-page-stage-gutter)));
  margin-top: 28px;
  margin-right: 0;
  margin-left: calc(-1 * var(--pp-page-stage-gutter));
}

body[data-page="privacy"] .page-intro {
  display: block;
  width: 100%;
  max-width: 920px;
  min-height: auto;
  margin: 0 auto 32px;
  color: #143f56;
}

body[data-page="privacy"] .page-intro .eyebrow {
  margin-bottom: 10px;
  color: #3b839f;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .18em;
  text-shadow: none !important;
}

body[data-page="privacy"] .page-intro h1 {
  color: #104f6b;
  font-size: var(--pp-page-title-size);
  font-weight: var(--pp-page-title-weight);
  line-height: var(--pp-page-title-line-height);
  letter-spacing: var(--pp-page-title-letter-spacing);
  text-shadow: none !important;
}

body[data-page="privacy"] .page-intro h1 span {
  padding-bottom: 0;
  border-bottom: 0;
  text-shadow: none !important;
  filter: none !important;
}

body[data-page="privacy"] .page-intro p {
  margin-top: 14px;
  color: #476b7b;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.8;
  text-shadow: none !important;
}

.privacy-document {
  width: min(100% - clamp(36px, calc(8 * var(--pp-wide-vw, 1vw)), 120px), 820px);
  margin: clamp(32px, calc(5 * var(--pp-wide-vw, 1vw)), 64px) auto clamp(54px, calc(7 * var(--pp-wide-vw, 1vw)), 86px);
  padding: 0;
  color: #28424e;
  background: #fff;
}

.privacy-document__lead {
  padding-bottom: clamp(24px, calc(3 * var(--pp-wide-vw, 1vw)), 34px);
}

.privacy-document__lead p {
  margin: 0;
  font-size: clamp(15px, calc(1.2 * var(--pp-wide-vw, 1vw)), 17px);
  line-height: 2;
}

.privacy-document__lead p + p {
  margin-top: 14px;
}

.privacy-toc {
  display: grid;
  grid-template-columns: 88px minmax(0, 1fr);
  gap: clamp(18px, calc(3 * var(--pp-wide-vw, 1vw)), 34px);
  align-items: start;
  margin: 0 0 clamp(14px, calc(2 * var(--pp-wide-vw, 1vw)), 22px);
  padding: clamp(20px, calc(3 * var(--pp-wide-vw, 1vw)), 28px);
  border-top: 1px solid #9bcde2;
  border-bottom: 1px solid #c9e0ea;
  background: #f3f9fc;
}

.privacy-toc > p {
  margin: 0;
  color: #0a719d;
  font-family: var(--pp-font-latin);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .18em;
}

.privacy-toc > div {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: clamp(22px, calc(4 * var(--pp-wide-vw, 1vw)), 44px);
}

.privacy-toc a {
  position: relative;
  display: block;
  padding: 8px 22px 8px 0;
  border-bottom: 1px solid #d7e7ee;
  color: #28424e;
  font-size: 14px;
  font-weight: 700;
}

.privacy-toc a::after {
  position: absolute;
  top: 50%;
  right: 2px;
  width: 6px;
  height: 6px;
  border-right: 1px solid #2696c2;
  border-bottom: 1px solid #2696c2;
  content: "";
  transform: translateY(-65%) rotate(45deg);
}

.privacy-toc a:hover,
.privacy-toc a:focus-visible {
  color: #0877a5;
}

.privacy-section {
  position: relative;
  padding: clamp(32px, calc(4.5 * var(--pp-wide-vw, 1vw)), 46px) 0;
  scroll-margin-top: calc(var(--pp-header-height) + 20px);
  border-bottom: 1px solid #d5e5ec;
}

.privacy-section__number {
  display: none;
}

.privacy-section h2 {
  margin: 0 0 24px;
  padding-left: clamp(14px, calc(2 * var(--pp-wide-vw, 1vw)), 20px);
  border-left: 4px solid var(--pp-primary);
  color: #08364a;
  font-size: clamp(20px, calc(2 * var(--pp-wide-vw, 1vw)), 26px);
  line-height: 1.5;
}

.privacy-section p,
.privacy-section li {
  font-size: 15px;
  line-height: 1.95;
}

.privacy-section p {
  margin: 0;
}

.privacy-section p + p {
  margin-top: 14px;
}

.privacy-section ol {
  display: grid;
  gap: 10px;
  margin: 20px 0 0;
  padding-left: 1.6em;
}

.privacy-external-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 46px;
  padding: 8px 16px;
  color: #fff;
  background: var(--pp-primary-strong);
  font-weight: 700;
}

.privacy-external-link:hover,
.privacy-external-link:focus-visible {
  color: #fff;
  background: var(--pp-deep);
}

.privacy-signature {
  display: grid;
  justify-items: end;
  gap: 4px;
  margin-top: clamp(30px, calc(4 * var(--pp-wide-vw, 1vw)), 42px);
  padding: clamp(22px, calc(3 * var(--pp-wide-vw, 1vw)), 30px);
  border-left: 3px solid #55b6db;
  background: #eef8fc;
  text-align: right;
}

.privacy-signature p {
  margin: 0;
  line-height: 1.8;
}

@media (max-width: 640px) {
  .header-utility-bar__inner {
    width: 100%;
  }

  .header-utility-bar a {
    flex: 1 1 50%;
    justify-content: center;
    padding: 0 8px;
    font-size: 10px;
  }

  .footer-utility {
    align-items: flex-start;
    flex-direction: column;
    gap: 0;
  }

  .privacy-document {
    width: calc(100% - 32px);
  }

  .privacy-toc {
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
    padding: 20px;
  }

  .privacy-toc > div {
    grid-template-columns: minmax(0, 1fr);
  }

  .privacy-section h2 {
    margin-bottom: 20px;
    padding-left: 14px;
  }
}

@media (max-width: 1180px) {
  .global-nav__primary > li > a {
    padding-right: 8px;
    padding-left: 8px;
    font-size: 12px;
  }

  .header-contact {
    padding-right: 14px;
    padding-left: 14px;
  }
}

@media (max-width: 980px) {
  :root {
    --pp-header-height: 68px;
    --pp-footer-min-height: 0px;
  }

  .site-header {
    overflow: visible;
  }

  .header-inner {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: clamp(12px, calc(3 * var(--pp-wide-vw, 1vw)), 28px);
    width: min(100% - 28px, 940px);
  }

  .brand {
    min-width: 0;
  }

  .brand img {
    width: min(230px, calc(56 * var(--pp-wide-vw, 1vw)));
  }

  .nav-toggle {
    position: relative;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 86px;
    min-height: 48px;
    border-color: rgba(0, 74, 153, .28);
    border-radius: 2px;
    box-shadow: 0 8px 24px rgba(0, 44, 61, .08);
  }

  .header-actions {
    grid-column: 2;
    justify-self: end;
  }

  .header-contact {
    display: none;
  }

  .header-sitemap {
    display: none;
  }

  .header-utility-links {
    display: none;
  }

  .header-recruit {
    display: none;
  }

  .global-nav {
    position: fixed;
    top: var(--pp-header-height);
    right: 0;
    bottom: 0;
    left: 0;
    justify-self: stretch;
    display: block;
    width: 100%;
    padding: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    background: rgba(0, 44, 61, .30);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 180ms ease-out, visibility 180ms ease-out;
  }

  .global-nav.is-open {
    display: block;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }

  .global-nav__inner {
    display: block;
    width: min(440px, calc(100% - 24px));
    min-height: 100%;
    margin-left: auto;
    padding: 30px 28px 48px;
    border-left: 1px solid rgba(78, 171, 216, .38);
    background: linear-gradient(180deg, rgba(247, 251, 254, .995), rgba(255, 255, 255, .995));
    box-shadow: -24px 0 56px rgba(0, 44, 61, .20);
    transform: translateX(24px);
    transition: transform 220ms cubic-bezier(.22, 1, .36, 1);
  }

  .global-nav.is-open .global-nav__inner {
    transform: translateX(0);
  }

  .global-nav__heading,
  .global-nav__local-heading {
    display: block;
    margin: 0 0 10px;
    padding-top: 12px;
    color: var(--pp-primary-strong);
    border-top: 3px solid var(--pp-primary);
    font-family: var(--pp-font-latin);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .14em;
  }

  .global-nav__heading {
    grid-column: auto;
  }

  .global-nav__primary {
    display: grid;
    grid-column: auto;
    align-content: start;
    justify-items: stretch;
    width: 100%;
    margin: 0;
  }

  .global-nav__primary > li {
    width: 100%;
    min-width: 0;
  }

  .global-nav a {
    position: relative;
    box-sizing: border-box;
    width: 100%;
    justify-content: space-between;
    min-height: 56px;
    padding: 12px 56px 12px 10px;
    border-bottom: 1px solid var(--pp-border);
    font-size: 15px;
  }

  .global-nav__primary > li:not(.global-nav__mobile-contact) > a > span:first-child {
    min-width: 0;
    line-height: 1.45;
    white-space: normal;
    overflow-wrap: anywhere;
  }

  .global-nav__primary > li:not(.global-nav__mobile-contact) > a::after {
    position: absolute;
    top: 50%;
    right: 20px;
    width: 7px;
    height: 7px;
    border-top: 1px solid currentColor;
    border-right: 1px solid currentColor;
    content: "";
    transform: translateY(-50%) rotate(45deg);
  }

  .global-nav__primary > li > a:hover,
  .global-nav__primary > li > a:focus-visible,
  .global-nav__primary > li > a[aria-current="page"] {
    color: var(--pp-deep);
    background: rgba(84, 178, 220, .12);
  }

  .global-nav__mobile-contact {
    display: block;
  }

  .global-nav__mobile-sitemap {
    display: block;
  }

  .global-nav__mobile-privacy {
    display: block;
  }

  .global-nav__mobile-recruit {
    display: block;
  }

  .global-nav__mobile-recruit a,
  .global-nav__mobile-sitemap a,
  .global-nav__mobile-privacy a {
    padding-right: 18px;
    padding-left: 18px;
  }

  .global-nav__mobile-contact a {
    justify-content: space-between;
    color: #fff;
    border-bottom: 0;
    background: var(--pp-primary-strong);
    padding-right: 18px;
    padding-left: 18px;
  }

  .global-nav__local {
    display: block;
    min-width: 0;
    margin-top: 30px;
  }

  .global-nav__local[hidden] {
    display: none;
  }

  .global-nav__local-list {
    display: grid;
    grid-template-columns: 1fr;
    align-content: start;
    gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
    border-top: 1px solid var(--pp-border);
  }

  .global-nav__local-list li {
    min-width: 0;
  }

  .global-nav__local-link {
    display: grid !important;
    min-height: 62px !important;
    height: auto !important;
    padding: 10px 28px 10px 10px !important;
    gap: 3px;
    align-content: center;
    color: #071b2c !important;
    border-bottom: 1px solid var(--pp-border) !important;
    background: transparent !important;
    font-size: 13px !important;
    white-space: normal !important;
  }

  .global-nav__local-link:hover,
  .global-nav__local-link:focus-visible,
  .global-nav__local-link[aria-current],
  .global-nav__local-link.is-active {
    color: var(--pp-deep) !important;
    background: rgba(84, 178, 220, .14) !important;
  }

  .global-nav__local-link :is(.rail-en, .pp-explore-menu__en, .pp-process-menu__en, b) {
    font-size: 9px !important;
    font-weight: 800 !important;
    letter-spacing: .14em !important;
  }

  .global-nav__local-link :is(.rail-ja, .pp-explore-menu__ja, .pp-process-menu__ja, strong) {
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1.45 !important;
  }

  .page-rail,
  body #特徴② .pp-explore-menu,
  body #pp-process-explore .pp-process-menu {
    display: none !important;
  }

  .regulated-page {
    display: block;
  }

  .page-rail {
    position: sticky;
    top: var(--pp-header-height);
    z-index: 6;
    height: auto;
    border-right: 0;
    border-bottom: 1px solid rgba(255, 255, 255, .20);
  }

  .rail-inner {
    position: static;
    display: block;
    height: auto;
    min-height: 0;
    padding: 0 18px;
  }

  .rail-mark,
  .rail-context {
    display: none;
  }

  .rail-nav {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 0;
    border-top: 0;
  }

  .rail-nav a {
    min-height: 58px;
    padding: 10px 24px 10px 10px;
  }

  .rail-nav a:nth-child(odd) {
    border-right: 1px solid var(--pp-rail-line);
  }

  .rail-nav a::after {
    right: 10px;
  }

  .rail-nav a[aria-current="location"]::before {
    top: auto;
    right: 0;
    bottom: 0;
    left: auto;
    width: 44px;
    height: 2px;
  }

  .rail-en {
    font-size: 9px;
  }

  .rail-ja {
    font-size: 12px;
  }

  .page-stage {
    padding-top: 52px;
  }

  .feature-grid,
  .service-grid,
  .link-grid {
    grid-template-columns: 1fr;
  }

  .process-list,
  .metric-grid {
    grid-template-columns: 1fr;
  }

  .detail-grid {
    grid-template-columns: 1fr;
  }

  .company-facts {
    grid-template-columns: 1fr;
  }

  .company-facts div:nth-child(odd) {
    margin-right: 0;
  }

  body[data-page="company"] .page-rail {
    position: relative;
    top: auto;
    height: auto;
  }

  body[data-page="company"] .rail-inner {
    height: auto;
  }

  body[data-page="company"] .page-intro {
    padding-left: clamp(36px, calc(7 * var(--pp-wide-vw, 1vw)), 92px);
  }

  .company-overview-link {
    grid-template-columns: minmax(150px, .5fr) minmax(0, 1.5fr);
    gap: 22px;
    min-height: 108px;
    padding: 20px 24px;
  }

  .company-overview-link strong {
    font-size: clamp(26px, calc(4 * var(--pp-wide-vw, 1vw)), 38px);
  }

  .company-section {
    scroll-margin-top: calc(var(--pp-header-height) + 116px);
  }

  body[data-page="company"] .company-section {
    scroll-margin-top: calc(var(--pp-header-height) + 2px);
  }

  .company-access-copy {
    grid-template-columns: 1fr 1.25fr;
  }

  .company-access-copy .company-map-link {
    grid-column: 1 / -1;
    justify-self: start;
  }
}

@media (max-width: 780px) {
  body[data-page="company"] .page-intro {
    min-height: var(--pp-page-intro-height);
  }
}

/* Keep the GMP Meister® rail hover aligned with the yellow header department. */
body[data-page="home"] .rail-nav a[href="#meister"]:hover,
body[data-page="home"] .rail-nav a[href="#meister"]:focus-visible {
  color: #173443 !important;
  background-color: rgba(246, 217, 133, .72) !important;
}

/* Region01 medicine: fuse the lifecycle rails to the 01/02/03 service-area grid. */
body[data-page="region01"] .medicine-service-field-guide__group--medicine .medicine-service-field-guide__group-stages {
  align-items: stretch;
}

body[data-page="region01"] .medicine-service-field-guide__group--medicine :is(
  .medicine-service-field-guide__stage--development,
  .medicine-service-field-guide__stage--manufacturing,
  .medicine-service-field-guide__stage--distribution
) {
  align-self: stretch;
}

body[data-page="region01"] .medicine-service-field-guide__group--medicine .medicine-service-coverage-map {
  margin-top: -14px;
  padding-top: 0;
  border-top: 0;
}

body[data-page="region01"] .medicine-service-field-guide__group--medicine .medicine-service-coverage-map__heading {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

body[data-page="region01"] .medicine-service-field-guide__group--medicine .medicine-service-coverage-map__scroll {
  padding-top: 0;
}

@media (max-width: 720px) {
  body[data-page="region01"] .medicine-service-field-guide__group--medicine .medicine-service-coverage-map {
    margin-top: -14px;
    padding-top: 0;
  }
}

@media (max-width: 640px) {
  .header-inner {
    grid-template-columns: 1fr auto;
  }

  .header-actions {
    grid-column: 2;
  }

  .brand {
    font-size: 16px;
  }

  .brand img {
    width: min(200px, calc(58 * var(--pp-wide-vw, 1vw)));
  }

  .global-nav__inner {
    display: block;
    width: min(440px, calc(100% - 18px));
    min-height: 100%;
    padding: 24px 22px 40px;
  }

  .global-nav__heading,
  .global-nav__local-heading {
    margin-top: 0;
  }

  .global-nav__local {
    margin-top: 30px;
  }

  .global-nav__local-list {
    grid-template-columns: 1fr;
  }

  .page-stage {
    --pp-page-stage-gutter: 18px;
    padding: 44px var(--pp-page-stage-gutter) 64px;
  }

  .page-intro h1 {
    font-size: clamp(30px, calc(9 * var(--pp-wide-vw, 1vw)), 38px);
  }

  .surface {
    padding: 24px 20px;
  }

  body[data-page="company"] .page-intro {
    min-height: var(--pp-page-intro-height);
    padding: 30px 22px;
    grid-template-columns: 1fr;
    grid-template-areas:
      "title"
      "lead";
    justify-items: center;
    row-gap: 16px;
    background-position: 54% center;
  }

  body[data-page="company"] .page-intro .eyebrow {
    padding-left: 0;
    font-size: var(--pp-page-label-size);
    text-align: center;
  }

  body[data-page="company"] .page-intro h1 {
    font-size: var(--pp-page-title-size);
    width: auto;
    min-height: 0;
    padding: 0;
  }

  body[data-page="company"] .page-intro p {
    max-width: 34ch;
    font-size: 13px;
    line-height: 1.8;
  }

  .company-overview-link {
    display: flex;
    min-height: 96px;
    padding: 18px 20px;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 10px;
  }

  .company-overview-ja {
    gap: 12px;
    font-size: 16px;
  }

  .company-overview-ja::before {
    width: 7px;
    height: 7px;
  }

  .company-overview-ja i {
    font-size: 24px;
  }

  .company-overview-link strong {
    padding-left: 19px;
    font-size: clamp(22px, calc(7 * var(--pp-wide-vw, 1vw)), 30px);
    line-height: 1.15;
  }

  .company-overview-heading h2 {
    font-size: clamp(26px, calc(8 * var(--pp-wide-vw, 1vw)), 34px);
    white-space: normal;
  }

  .company-philosophy-banner {
    min-height: 0;
    padding: 68px 24px 18px;
  }

  .company-profile-banner {
    min-height: 220px;
    padding: 44px 24px;
  }

  .company-access-heading {
    min-height: 260px;
    padding: 44px 24px;
  }

  .company-philosophy-content {
    min-height: 0;
    padding: 28px 28px;
  }

  .company-philosophy-simple {
    min-height: 560px;
    grid-template-columns: 1fr;
    grid-template-rows: 250px 310px;
    background-position: center;
  }

  .company-philosophy-simple.is-open {
    min-height: 560px;
  }

  .company-philosophy-intro {
    grid-column: 1;
    grid-row: 1;
    padding: 56px 30px 64px;
  }

  .company-philosophy-intro h2 {
    font-size: clamp(38px, calc(12 * var(--pp-wide-vw, 1vw)), 52px);
  }

  .company-philosophy-visual {
    grid-column: 1;
    grid-row: 2;
  }

  .company-philosophy-toggle {
    top: 230px;
    right: 0;
    bottom: auto;
    left: 0;
    width: 100%;
    height: 40px;
    border-top: 0;
    border-right: 0;
    border-bottom: 0;
    border-left: 0;
    transform: none;
  }

  .company-philosophy-toggle-icon {
    font-size: 28px;
    transform: rotate(90deg);
  }

  .company-message-feature {
    grid-template-columns: 1fr;
  }

  .company-message-feature-intro {
    grid-column: 1;
    grid-row: 1;
  }

  .company-message-feature-visual {
    grid-column: 1;
    grid-row: 2;
  }

  .company-message-feature-toggle {
    left: 0;
    transform: none;
  }

  .company-message-feature-content {
    padding: 24px 24px 22px;
    overflow-y: auto;
  }

  .company-message-feature-copy {
    gap: 7px;
    margin-top: 14px;
  }

  .company-message-feature-copy p {
    font-size: 11px;
    line-height: 1.6;
  }

  .company-philosophy-toggle:hover .company-philosophy-toggle-icon,
  .company-philosophy-toggle:focus-visible .company-philosophy-toggle-icon {
    transform: translateY(4px) rotate(90deg);
  }

  .company-philosophy-simple.is-open .company-philosophy-toggle-icon {
    transform: rotate(-90deg);
  }

  .company-philosophy-simple.is-open .company-philosophy-toggle:hover .company-philosophy-toggle-icon,
  .company-philosophy-simple.is-open .company-philosophy-toggle:focus-visible .company-philosophy-toggle-icon {
    transform: translateY(-4px) rotate(-90deg);
  }

  .company-philosophy-simple::before {
    inset: 250px 0 0;
    background-position: 18% 10%;
    background-size: cover;
    opacity: 1;
  }

  .company-philosophy-simple::after {
    inset: 0;
    background: rgba(3, 27, 41, .78);
  }

  .company-philosophy-content h3 {
    font-size: clamp(24px, calc(7 * var(--pp-wide-vw, 1vw)), 32px);
  }

  .company-principles {
    gap: 18px;
    margin-top: 32px;
  }

  .company-principles p {
    padding: 0;
    font-size: 16px;
    line-height: 2;
    letter-spacing: .03em;
  }

  .company-message-hero {
    min-height: 220px;
    padding: 44px 24px;
  }

  .company-message-title {
    min-height: 0;
    padding: 0;
  }

  .company-section-visual .company-section-visual-title > h2 {
    font-size: var(--pp-page-title-size);
  }

  .company-message-copy {
    width: calc(100% - 44px);
    padding: 64px 0 76px;
    font-size: 15px;
  }

  .company-profile-content {
    width: calc(100% - 44px);
    padding: 36px 0 88px;
  }

  .company-access-content {
    width: calc(100% - 44px);
    padding: 24px 0 72px;
  }

  .company-access-layout {
    grid-template-columns: 1fr;
    gap: 34px;
  }

  .company-profile-content h3 {
    font-size: 30px;
  }

  .company-access-section .company-map-frame {
    min-height: 0;
    aspect-ratio: 4 / 3;
  }

  .company-results-link-section {
    min-height: 0;
  }

  .company-results-link-inner {
    width: calc(100% - 44px);
    min-height: 0;
    padding: 56px 0 64px;
  }

  .company-results-link-inner a {
    min-height: 62px;
  }

  .company-access-office h3 {
    font-size: 24px;
  }

  .company-message-grid {
    grid-template-columns: 1fr;
  }

  .company-representative {
    width: min(100%, 260px);
  }

  .company-facts-source div,
  .company-facts-source div:nth-child(odd) {
    grid-template-columns: 1fr;
    gap: 6px;
  }

  .company-access-copy {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .company-access-copy .company-map-link {
    grid-column: auto;
  }

  .company-map-frame {
    min-height: 320px;
  }

  .company-map-frame iframe {
    height: 320px;
  }

  .scope-list {
    grid-template-columns: 1fr;
  }

  .result-item {
    grid-template-columns: 1fr;
    gap: 6px;
  }

  .contact-band {
    grid-template-columns: 1fr;
    padding: 26px 22px;
  }

  .footer-inner {
    grid-template-columns: 1fr;
    gap: 34px;
    width: min(100% - 40px, 1200px);
    margin: 0 auto;
    padding: 56px 0 32px;
  }

  .footer-nav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
  }
}

@media (prefers-reduced-transparency: reduce) {
  .site-header,
  .rail-inner {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }

  .site-header {
    background: #fff;
  }
}

.external-body-loading {
  min-height: calc(60 * var(--pp-wide-vh, 1vh));
  display: grid;
  place-items: center;
  padding: 80px 24px;
  color: var(--pp-muted);
  background: var(--pp-surface);
}

.external-body-host,
.external-body-host > #特徴②,
.external-body-host > #pp-process-explore {
  width: 100%;
}

.top-component-stack {
  display: grid;
  gap: 26px;
  margin: 34px 0 44px;
}

body[data-page="home"] .top-component-stack {
  margin-bottom: 0;
}

/* Compact archive preview directly below the home news carousel link. */
body[data-page="home"] .home-news-index {
  min-width: 0;
  padding: 0 clamp(16px, calc(2 * var(--pp-wide-vw, 1vw)), 32px) 28px;
  background: #fff;
}

.home-news-index__tabs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-bottom: 3px solid #2f5d78;
}

.home-news-index__tabs button {
  min-width: 0;
  min-height: 64px;
  padding: 10px 16px;
  border: 0;
  color: #071b2c;
  background: #fff;
  font: inherit;
  font-size: 13px;
  font-weight: 800;
  text-align: left;
  cursor: pointer;
}

.home-news-index__tabs button[data-news-filter="GMP Meister"] .home-news-index__tab-label {
  font-family: "Hiragino Sans", var(--pp-font-body);
}

.home-news-index__tab-brand {
  font-family: "Times New Roman", Times, serif;
}

.home-news-index__tabs button.is-active {
  color: #fff;
  background: #2f5d78;
}

.home-news-index__tabs button:not(.is-active):is(:hover, :focus-visible) {
  color: #fff;
  background: #2f5d78;
}

.home-news-index__tabs button:focus-visible,
.home-news-index__row a:focus-visible {
  outline: 3px solid #2f8eb6;
  outline-offset: -3px;
}

.home-news-index__row a {
  position: relative;
  display: grid;
  grid-template-columns: 90px 72px 128px minmax(0, 1fr) 24px;
  gap: 14px;
  align-items: center;
  min-height: 72px;
  padding: 14px 12px;
  border-bottom: 1px solid #cfe4ef;
  color: #1e2f3a;
  text-decoration: none;
  cursor: pointer;
  transition: color 180ms ease-out, border-color 180ms ease-out, background-color 180ms ease-out, box-shadow 180ms ease-out, transform 180ms ease-out;
}

.home-news-index__row a:is(:hover, :focus-visible) {
  z-index: 2;
  border-color: transparent;
  color: var(--pp-primary-strong, #2f8eb6);
  background: #fff;
  box-shadow: 0 10px 26px rgba(56, 80, 94, .22) !important;
  transform: translateY(-1px);
}

.home-news-index__visual {
  display: block;
  width: 72px;
  height: 52px;
  overflow: hidden;
  border: 1px solid #cfe4ef;
  background: #f5f9fb;
}

.home-news-index__visual img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.home-news-index__row a:is(:hover, :focus-visible) h3,
.home-news-index__row a:is(:hover, :focus-visible) time,
.home-news-index__row a:is(:hover, :focus-visible) .home-news-index__arrow {
  color: var(--pp-primary-strong, #2f8eb6);
}

.home-news-index__row time {
  color: #5d7483;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .06em;
}

.home-news-index__category {
  justify-self: start;
  padding: 5px 8px;
  border: 1px solid #aac7d9;
  color: #013641;
  font-size: 11px;
  font-weight: 700;
}

.home-news-index__labels {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
}

.home-news-index__status {
  padding: 5px 7px;
  color: #fff;
  background: #338fb9;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.3;
  white-space: nowrap;
}

.home-news-index__status--new {
  color: #fff;
  background: var(--pp-required-red, #b43b32);
}

.home-news-index__tab-status {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 5px 9px;
  margin-top: 4px;
  font-size: 9px;
  font-weight: 700;
  line-height: 1.2;
}

.home-news-index__tab-badge {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  white-space: nowrap;
}

.home-news-index__tab-badge--open {
  color: #2e95c3;
}

.home-news-index__tab-badge--open .home-news-index__tab-badge-label {
  padding: 2px 4px;
  border: 1px solid currentColor;
}

.home-news-index__tab-badge--new {
  color: var(--pp-required-red, #b43b32);
}

.home-news-index__tab-badge-number {
  display: inline-grid;
  width: 16px;
  height: 16px;
  place-items: center;
  border: 1px solid transparent;
  border-radius: 50%;
  font-size: 10px;
}

.home-news-index__tabs button:is(.is-active, :hover, :focus-visible) .home-news-index__tab-badge {
  color: #fff;
}

.home-news-index__tabs button:is(.is-active, :hover, :focus-visible) .home-news-index__tab-badge--new {
  padding: 2px 4px;
  background: var(--pp-required-red, #b43b32);
}

.home-news-index__category--meister {
  border-color: #a68a33;
  color: #fff;
  background: #b89d43;
}

.home-news-index__row h3 {
  min-width: 0;
  margin: 0;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.55;
}

.home-news-index__arrow {
  justify-self: end;
  font-size: 18px;
}

.home-news-index__more {
  position: relative;
  display: inline-flex;
  width: max-content;
  min-height: 0;
  margin: 16px 0 0 auto;
  align-items: center;
  gap: 7px;
  padding: 0 0 3px;
  color: #013641;
  font-size: clamp(13px, calc(1.1 * var(--pp-wide-vw, 1vw)), 15px);
  font-weight: 700;
  text-decoration: none;
}

.home-news-index__more::after {
  position: absolute;
  right: 0;
  bottom: -1px;
  left: 0;
  height: 1px;
  background: currentColor;
  content: "";
}

.home-news-index__more[hidden] {
  display: none;
}

.home-news-index__more:is(:hover, :focus-visible) {
  color: #013641;
}

.home-news-index__more:is(:hover, :focus-visible)::after {
  animation: medicine-service-link-redraw 440ms ease both;
}

.home-news-index__more:focus-visible {
  outline: 3px solid var(--pp-primary-strong, #2f8eb6);
  outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
  .home-news-index__more:is(:hover, :focus-visible)::after {
    animation: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .home-news-index__row a,
  .home-news-index__tabs button {
    transition: none;
  }
}

@media (max-width: 700px) {
  .home-news-index__tabs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .home-news-index__tabs button {
    min-height: 48px;
    padding: 10px 12px;
  }

  .home-news-index__row a {
    grid-template-columns: 72px minmax(0, 1fr) 24px;
    gap: 8px 12px;
    padding: 16px 4px;
  }

  .home-news-index__visual {
    grid-column: 1;
    grid-row: 1 / 4;
  }

  .home-news-index__row time,
  .home-news-index__labels,
  .home-news-index__row h3 {
    grid-column: 2;
  }

  .home-news-index__arrow {
    grid-column: 3;
    grid-row: 1 / 4;
  }
}

.top-component {
  position: relative;
  width: 100%;
  min-width: 0;
  overflow: hidden;
}

.top-banner-component {
  overflow: hidden;
}

.rail-banner-slot {
  width: 100%;
  margin-top: clamp(18px, calc(3 * var(--pp-wide-vh, 1vh)), 28px);
  margin-bottom: 14px;
}

.rail-banner-slot .top-banner-component {
  width: 100%;
}

.top-banner-component #jrfa5kansaine4000 {
  --top-banner-card-width: min(300px, calc(calc(100 * var(--pp-wide-vw, 1vw)) - 48px));
  z-index: 1;
  overflow: hidden !important;
}

.top-banner-component #jrfa5kansaine4000 .jrf-cro-banner::after {
  display: none !important;
  content: none !important;
  background-image: none !important;
}

.rail-banner-slot .top-banner-component #jrfa5kansaine4000 {
  --top-banner-card-width: min(280px, calc(var(--pp-rail-width) - 41px));
}

.top-banner-component #jrfa5kansaine4000 .shell {
  margin-top: 0 !important;
  padding: 0 !important;
  z-index: 1;
  overflow: hidden !important;
}

.top-banner-component #jrfa5kansaine4000 .banner-layout {
  width: var(--top-banner-card-width) !important;
  height: calc(var(--top-banner-card-width) * .596667) !important;
  margin-inline: auto !important;
  overflow: hidden !important;
  scrollbar-width: none;
}

.top-banner-component #jrfa5kansaine4000 .banner-layout::-webkit-scrollbar {
  display: none;
}

.top-banner-component #jrfa5kansaine4000 .callout-stack {
  position: relative !important;
  inset: auto !important;
  display: flex !important;
  grid-template-columns: none !important;
  gap: 0 !important;
  width: max-content !important;
  height: calc(var(--top-banner-card-width) * .596667) !important;
  margin: 0 !important;
  padding: 0 !important;
  animation: none !important;
  transform: translate3d(calc(var(--top-banner-index, 0) * var(--top-banner-card-width) * -1), 0, 0) !important;
  transition: transform 600ms cubic-bezier(.22, 1, .36, 1);
  will-change: transform;
}

.top-banner-component #jrfa5kansaine4000 .jrf-cro-wrapper,
.top-banner-component #jrfa5kansaine4000 .kansain-wrapper,
.top-banner-component #jrfa5kansaine4000 .learning-wrapper {
  flex: 0 0 var(--top-banner-card-width) !important;
  width: var(--top-banner-card-width) !important;
  height: calc(var(--top-banner-card-width) * .596667) !important;
  margin: 0 !important;
}

.top-banner-component #jrfa5kansaine4000 .jrf-cro-wrapper,
.top-banner-component #jrfa5kansaine4000 .kansain-wrapper,
.top-banner-component #jrfa5kansaine4000 .learning-wrapper,
.top-banner-component #jrfa5kansaine4000 .jrf-cro-banner,
.top-banner-component #jrfa5kansaine4000 .line-parent,
.top-banner-component #jrfa5kansaine4000 .learning-line-parent {
  border-radius: 0 !important;
}

.top-banner-carousel-controls {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: var(--top-banner-card-width);
  margin: 14px auto 0;
  color: rgba(255, 255, 255, .85);
  font-family: var(--pp-font-latin);
}

.top-banner-carousel-count {
  display: inline-flex;
  align-items: baseline;
  gap: 5px;
  min-width: 58px;
  margin-right: 6px;
  font-size: 12px;
  letter-spacing: .08em;
  font-variant-numeric: tabular-nums;
  justify-content: center;
}

.top-banner-carousel-count strong {
  font-weight: 700;
}

.top-banner-carousel-next {
  position: relative;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, .48);
  border-radius: 50%;
  color: #fff;
  background: rgba(0, 50, 71, .72);
  cursor: pointer;
  transition:
    color .22s ease,
    background-color .22s ease,
    transform .18s ease;
}

.top-banner-carousel-next::before {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 8px;
  height: 8px;
  border-top: 1px solid currentColor;
  border-right: 1px solid currentColor;
  content: "";
  transform: translate(-65%, -50%) rotate(45deg);
}

.top-banner-carousel-next:hover {
  color: var(--pp-deep);
  background: #fff;
}

.top-banner-carousel-next:focus-visible {
  color: var(--pp-deep);
  background: #fff;
  outline: 2px solid #fff;
  outline-offset: 2px;
}

.top-banner-carousel-next .ph {
  display: none;
}

.rail-banner-slot .top-banner-carousel-controls {
  margin-top: 10px;
}

.rail-banner-slot .top-banner-carousel-count {
  color: var(--pp-ink);
}

.rail-banner-slot .top-banner-carousel-next {
  width: 44px;
  height: 44px;
}

/* The rail banner is about 61% of its former 300px width.
   Remove the component's minimum type sizes so its copy scales with the card. */
.rail-banner-slot #jrfa5kansaine4000 .jrf-cro-heading {
  font-size: calc(var(--top-banner-card-width) * .059);
  color: #0b2235;
  text-shadow: none;
}

.rail-banner-slot #jrfa5kansaine4000 .jrf-cro-image {
  display: block;
  top: 6%;
  right: 2%;
  left: auto;
  z-index: 9;
  width: 36%;
  height: 88%;
  object-fit: contain;
  object-position: center;
  opacity: 1;
  filter:
    brightness(1.12)
    contrast(1.18)
    drop-shadow(0 1px 1px rgba(0, 18, 31, .96))
    drop-shadow(0 0 5px rgba(0, 18, 31, .78));
}

.rail-banner-slot #jrfa5kansaine4000 .jrf-cro-green {
  display: block;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  border-radius: 0;
  background: linear-gradient(
    90deg,
    rgba(244, 211, 94, .98) 0%,
    rgba(244, 211, 94, .94) 42%,
    rgba(244, 211, 94, .18) 72%,
    rgba(244, 211, 94, 0) 100%
  );
}

.rail-banner-slot #jrfa5kansaine4000 .jrf-cro-copy-box {
  top: 35%;
  width: 55%;
  height: 32%;
  font-size: calc(var(--top-banner-card-width) * .034);
  background: rgba(255, 255, 255, .84) !important;
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
}

.rail-banner-slot #jrfa5kansaine4000 .jrf-cro-button {
  top: 72%;
  width: 47%;
  height: 18%;
  font-size: calc(var(--top-banner-card-width) * .045);
  color: #0b2235 !important;
  border-color: #0b2235 !important;
  border-radius: 0 !important;
  background: rgba(255, 255, 255, .84) !important;
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
}

.rail-banner-slot #jrfa5kansaine4000 .jrf-cro-button:hover,
.rail-banner-slot #jrfa5kansaine4000 .jrf-cro-button:focus-visible {
  color: #fff !important;
  border-color: #0b2235 !important;
  background: #0b2235 !important;
}

.rail-banner-slot #jrfa5kansaine4000 .main-title {
  font-size: calc(var(--top-banner-card-width) * .059);
}

.rail-banner-slot #jrfa5kansaine4000 .solid-doses {
  font-size: calc(var(--top-banner-card-width) * .073);
}

.rail-banner-slot #jrfa5kansaine4000 .main-date {
  font-size: calc(var(--top-banner-card-width) * .083);
}

.rail-banner-slot #jrfa5kansaine4000 .date-band-text {
  font-size: calc(var(--top-banner-card-width) * .035);
}

.rail-banner-slot #jrfa5kansaine4000 .main-status {
  font-size: calc(var(--top-banner-card-width) * .074);
}

.rail-banner-slot #jrfa5kansaine4000 .main-status-text {
  display: flex;
  flex-direction: column;
  white-space: nowrap;
}

.rail-banner-slot #jrfa5kansaine4000 .learning-max-label,
.rail-banner-slot #jrfa5kansaine4000 .learning-discount-unit,
.rail-banner-slot #jrfa5kansaine4000 .learning-start-date {
  font-size: calc(var(--top-banner-card-width) * .037);
}

.rail-banner-slot #jrfa5kansaine4000 .learning-discount-value {
  font-size: calc(var(--top-banner-card-width) * .128);
}

.rail-banner-slot #jrfa5kansaine4000 .learning-price-label {
  font-size: calc(var(--top-banner-card-width) * .054);
}

@media (prefers-reduced-motion: reduce) {
  .top-banner-component #jrfa5kansaine4000 .callout-stack,
  .top-banner-carousel-next {
    transition: none;
  }
}

.top-news-component {
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.top-news-component #お知らせ①-widget {
  margin: 0;
  background: transparent !important;
}

.top-news-component #お知らせ①-widget::before,
.top-news-component #お知らせ①-widget::after {
  content: none !important;
}

.top-news-component #お知らせ①-widget .news-filter {
  display: none !important;
}

.top-news-component #お知らせ①-widget .news-body {
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 0 !important;
}

.top-news-component #お知らせ①-widget .news-body::before {
  content: none !important;
}

.top-news-component #お知らせ①-widget .news-list-area,
.top-news-component #お知らせ①-widget #お知らせ①-list {
  width: 100% !important;
  max-width: none !important;
}

.component-loading,
.component-error {
  margin: 0;
  padding: 28px;
  border-radius: 18px;
  background: rgba(255, 255, 255, .68);
  color: var(--pp-muted);
}

.top-section-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, .78fr);
  gap: 38px;
  align-items: end;
  margin-bottom: 30px;
}

.top-section-head .section-lead {
  margin: 0;
}

.top-section-label {
  display: block;
  margin-bottom: 12px;
  color: var(--pp-primary-strong);
  font-family: var(--pp-font-latin);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .19em;
  line-height: 1.2;
}

/* TOP: three brochure-backed main services with a quiet Explore-style reveal. */
.top-main-services {
  position: relative;
  padding: clamp(42px, calc(6 * var(--pp-wide-vw, 1vw)), 72px) 0 clamp(18px, calc(3 * var(--pp-wide-vw, 1vw)), 34px);
  scroll-margin-top: calc(var(--pp-header-height) + 18px);
}

.top-main-services-head {
  display: block;
  margin-bottom: clamp(28px, calc(4 * var(--pp-wide-vw, 1vw)), 46px);
  padding-inline: clamp(4px, calc(1.2 * var(--pp-wide-vw, 1vw)), 14px);
}

.top-main-services-head .top-section-label {
  margin-bottom: 16px;
  color: #fff;
  font-family: var(--pp-font-latin);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .2em;
}

.top-main-services-head .section-heading {
  margin: 0;
  color: #fff;
  font-size: clamp(32px, calc(4 * var(--pp-wide-vw, 1vw)), 56px);
  font-weight: 800;
  line-height: 1.16;
  letter-spacing: -.05em;
  text-shadow: var(--pp-image-heading-shadow);
  text-wrap: balance;
}

.top-main-services-list {
  display: grid;
  gap: clamp(16px, calc(2 * var(--pp-wide-vw, 1vw)), 24px);
}

.top-main-service {
  min-width: 0;
}

.top-main-service-card {
  position: relative;
  isolation: isolate;
  display: block;
  min-height: clamp(360px, calc(33 * var(--pp-wide-vw, 1vw)), 460px);
  overflow: hidden;
  color: #fff;
  border: 1px solid rgba(255, 255, 255, .34);
  background: #071f31;
  box-shadow: 0 14px 34px rgba(0, 35, 58, .18);
  text-decoration: none;
  transition:
    border-color 180ms cubic-bezier(.2, .8, .2, 1),
    box-shadow 180ms cubic-bezier(.2, .8, .2, 1),
    transform 180ms cubic-bezier(.2, .8, .2, 1);
}

.top-main-service-media {
  position: absolute;
  z-index: 0;
  inset: 0;
  margin: 0;
  overflow: hidden;
  background: #071f31;
}

.top-main-service-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  filter: saturate(.78) contrast(.95) brightness(.76);
  transform: scale(1.015);
  transition:
    filter 220ms cubic-bezier(.2, .8, .2, 1),
    transform 220ms cubic-bezier(.2, .8, .2, 1);
}

.top-main-service-copy {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 56%) minmax(0, 44%);
  min-width: 0;
  min-height: clamp(360px, calc(33 * var(--pp-wide-vw, 1vw)), 460px);
  padding: 0;
  background: transparent;
}

.top-main-service-title,
.top-main-service-detail {
  display: grid;
  align-content: center;
  min-width: 0;
  transition: background-color 180ms cubic-bezier(.2, .8, .2, 1);
}

.top-main-service-title {
  padding: clamp(38px, calc(5 * var(--pp-wide-vw, 1vw)), 70px);
  border-right: 1px solid rgba(255, 255, 255, .34);
  background: rgba(26, 121, 162, .58);
}

.top-main-service-detail {
  padding: clamp(38px, calc(4.4 * var(--pp-wide-vw, 1vw)), 62px);
  background: rgba(5, 27, 44, .82);
}

.top-main-service-meta {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 20px;
  margin-bottom: clamp(22px, calc(3 * var(--pp-wide-vw, 1vw)), 34px);
  padding-bottom: 14px;
  border-bottom: 1px solid rgba(255, 255, 255, .52);
  color: #fff;
  font-family: var(--pp-font-latin);
}

.top-main-service-meta > span {
  font-size: clamp(48px, calc(5.2 * var(--pp-wide-vw, 1vw)), 78px);
  font-weight: 300;
  font-variant-numeric: tabular-nums;
  line-height: .82;
  letter-spacing: -.05em;
}

.top-main-service-meta > small {
  padding-bottom: 2px;
  color: rgba(255, 255, 255, .78);
  font-size: 11px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: .12em;
}

.top-main-service-copy h3 {
  max-width: 18em;
  margin: 0;
  color: #fff;
  font-family: var(--pp-font-display);
  font-size: clamp(24px, calc(2.4 * var(--pp-wide-vw, 1vw)), 36px);
  font-weight: 700;
  line-height: 1.48;
  letter-spacing: .015em;
  text-shadow: var(--pp-image-heading-shadow);
  text-wrap: balance;
}

.top-main-service-copy p {
  max-width: 40em;
  margin: 0;
  color: rgba(255, 255, 255, .9);
  font-size: clamp(14px, calc(1.1 * var(--pp-wide-vw, 1vw)), 16px);
  line-height: 1.9;
}

.top-main-service-action {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 18px;
  margin-top: clamp(28px, calc(4 * var(--pp-wide-vw, 1vw)), 46px);
  padding-top: 18px;
  border-top: 1px solid rgba(255, 255, 255, .48);
  color: #fff;
  font-size: clamp(15px, calc(1.3 * var(--pp-wide-vw, 1vw)), 18px);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: .04em;
}

.top-main-service-action .ph {
  flex: 0 0 auto;
  font-size: 22px;
  transition: transform 180ms cubic-bezier(.2, .8, .2, 1);
}

.top-main-service-card:hover,
.top-main-service-card:focus-visible {
  color: #fff;
  border-color: rgba(255, 255, 255, .78);
  box-shadow: 0 20px 44px rgba(0, 35, 58, .24);
  transform: translateY(-1px);
}

.top-main-service-card:focus-visible {
  outline: 3px solid var(--pp-primary);
  outline-offset: 3px;
}

.top-main-service-card:hover .top-main-service-media img,
.top-main-service-card:focus-visible .top-main-service-media img {
  filter: saturate(.84) contrast(.98) brightness(.82);
  transform: scale(1.055);
}

.top-main-service-card:hover .top-main-service-title,
.top-main-service-card:focus-visible .top-main-service-title {
  background: rgba(26, 121, 162, .5);
}

.top-main-service-card:hover .top-main-service-detail,
.top-main-service-card:focus-visible .top-main-service-detail {
  background: rgba(5, 27, 44, .76);
}

.top-main-service-card:hover .top-main-service-action .ph,
.top-main-service-card:focus-visible .top-main-service-action .ph {
  transform: translateX(6px);
}

.top-main-services.is-enhanced .top-main-service {
  opacity: 0;
  transform: translateX(24px);
}

.top-main-services.is-enhanced .top-main-service:nth-child(even) {
  transform: translateX(-24px);
}

.top-main-services.is-enhanced .top-main-service.is-inview {
  opacity: 1;
  transform: translateX(0);
  transition:
    opacity 440ms cubic-bezier(.22, 1, .36, 1),
    transform 440ms cubic-bezier(.22, 1, .36, 1);
}

@media (max-width: 780px) {
  .top-main-services {
    padding-top: 42px;
    scroll-margin-top: calc(var(--pp-header-height) + 112px);
  }

  .top-main-services-head {
    padding-inline: 0;
  }

  .top-main-services-head .top-section-label {
    margin-bottom: 14px;
    font-size: 10px;
  }

  .top-main-services-head .section-heading {
    font-size: clamp(30px, calc(9 * var(--pp-wide-vw, 1vw)), 38px);
    line-height: 1.3;
  }

  .top-main-service-card {
    min-height: 430px;
  }

  .top-main-service-copy {
    grid-template-columns: 1fr;
    grid-template-rows: minmax(220px, auto) minmax(180px, auto);
    min-height: 430px;
  }

  .top-main-service-title {
    padding: 30px 24px 28px;
    border-right: 0;
    border-bottom: 1px solid rgba(255, 255, 255, .34);
    background: rgba(26, 121, 162, .66);
  }

  .top-main-service-detail {
    padding: 26px 24px 30px;
    background: rgba(5, 27, 44, .86);
  }

  .top-main-service-meta {
    margin-bottom: 22px;
  }

  .top-main-service-copy h3 {
    font-size: clamp(22px, calc(6.4 * var(--pp-wide-vw, 1vw)), 28px);
  }

  .top-main-service-copy p {
    font-size: 14px;
    line-height: 1.8;
  }

  .top-main-service-action {
    margin-top: 22px;
    padding-top: 14px;
  }

  .top-main-services.is-enhanced .top-main-service,
  .top-main-services.is-enhanced .top-main-service:nth-child(even) {
    transform: translateX(12px);
  }

  .top-main-services.is-enhanced .top-main-service.is-inview {
    transform: translateX(0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .top-main-services.is-enhanced .top-main-service,
  .top-main-services.is-enhanced .top-main-service:nth-child(even),
  .top-main-services.is-enhanced .top-main-service.is-inview {
    opacity: 1;
    transform: none;
    transition: none;
  }

  .top-main-service-card,
  .top-main-service-media img,
  .top-main-service-title,
  .top-main-service-detail,
  .top-main-service-action .ph {
    transition: none;
  }
}

/* TOP main services: the same full-photo, blue/navy split and menu behavior as 分野から探す. */
.top-main-services.top-main-services-feature {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: minmax(0, 42%) clamp(58px, calc(6 * var(--pp-wide-vw, 1vw)), 84px) minmax(0, 1fr);
  width: 100cqw;
  min-height: 560px;
  margin-left: calc((100% - 100cqw) / 2);
  padding: 0;
  overflow: hidden;
  background: #071f31;
  scroll-margin-top: calc(var(--pp-header-height) + 18px);
}

.top-main-services-slides,
.top-main-services-slide,
.top-main-services-slide img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.top-main-services-slides {
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
}

.top-main-services-slide {
  margin: 0;
  opacity: 0;
  transition: opacity 900ms ease;
}

.top-main-services-slide.is-active {
  opacity: 1;
}

.top-main-services-slide img {
  display: block;
  object-fit: cover;
  object-position: center;
  filter: saturate(.74) contrast(.94) brightness(.72);
  transform: scale(1.015);
}

.top-main-services-slide[data-main-service-owner="1"] img {
  object-position: 50% 54%;
}

.top-main-services-intro {
  position: relative;
  z-index: 2;
  grid-column: 1;
  grid-row: 1;
  display: grid;
  align-content: center;
  min-width: 0;
  padding-block: clamp(44px, calc(5 * var(--pp-wide-vw, 1vw)), 70px);
  padding-inline: clamp(54px, calc(7 * var(--pp-wide-vw, 1vw)), 106px);
  color: #fff;
  background: var(--pp-feature-panel-blue);
}

.top-main-services-intro .top-section-label {
  display: block;
  margin-bottom: 22px;
  color: #fff;
  font-family: var(--pp-font-latin);
  font-size: 11px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: .2em;
}

.top-main-services-intro h2 {
  max-width: 11em;
  margin: 0;
  color: #fff;
  font-family: var(--pp-font-display);
  font-size: clamp(36px, calc(3.6 * var(--pp-wide-vw, 1vw)), 52px);
  font-weight: 400;
  line-height: 1.18;
  letter-spacing: .02em;
  text-shadow: var(--pp-image-heading-shadow);
  text-wrap: balance;
}

.top-main-services-heading-kana {
  display: inline-block;
  font-size: .82em;
  letter-spacing: .01em;
  transform: translateY(-.02em);
}

.top-main-services-divider {
  position: relative;
  z-index: 3;
  grid-column: 2;
  grid-row: 1;
  display: grid;
  place-items: center;
  width: 100%;
  min-width: 0;
  min-height: 100%;
  padding: 1px 6px;
  color: #fff;
  border: 0;
  border-right: 1px solid var(--pp-feature-panel-line);
  border-left: 1px solid var(--pp-feature-panel-line);
  background: var(--pp-feature-panel-blue);
  cursor: pointer;
}

.top-main-services-divider:focus-visible {
  outline: 3px solid #fff;
  outline-offset: -5px;
}

.top-main-services-divider-icon {
  display: block;
  width: 34px;
  height: 34px;
  font-size: 34px;
  line-height: 34px;
  transition: transform 180ms cubic-bezier(.2, .8, .2, 1);
}

.top-main-services-divider:hover .top-main-services-divider-icon,
.top-main-services-divider:focus-visible .top-main-services-divider-icon {
  transform: translateX(6px);
}

.top-main-services-feature.is-menu-open .top-main-services-divider-icon {
  transform: rotate(180deg);
}

.top-main-services-feature.is-menu-open .top-main-services-divider:hover .top-main-services-divider-icon,
.top-main-services-feature.is-menu-open .top-main-services-divider:focus-visible .top-main-services-divider-icon {
  transform: translateX(-6px) rotate(180deg);
}

.top-main-services-visual {
  position: relative;
  z-index: 1;
  grid-column: 3;
  grid-row: 1;
  min-width: 0;
  background: rgba(5, 27, 44, .28);
}

.top-main-services-menu {
  display: grid;
  align-content: start;
  height: 100%;
  padding-block: clamp(76px, calc(9 * var(--pp-wide-vw, 1vw)), 112px) clamp(24px, calc(3 * var(--pp-wide-vw, 1vw)), 40px);
  padding-inline: clamp(32px, calc(4.5 * var(--pp-wide-vw, 1vw)), 64px);
  overflow-y: auto;
  color: #fff;
  background: linear-gradient(135deg, rgba(7, 31, 49, .9), rgba(11, 52, 77, .78));
  -webkit-backdrop-filter: blur(2px);
  backdrop-filter: blur(2px);
}

.top-main-services-menu[hidden] {
  display: none;
}

.top-main-services-menu-title {
  margin: 0 0 18px;
  color: #fff;
  font-size: clamp(20px, calc(2 * var(--pp-wide-vw, 1vw)), 28px);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: .04em;
}

.top-main-services-links {
  display: grid;
}

.top-main-services-group {
  position: relative;
  border-top: 1px solid rgba(255, 255, 255, .72);
}

.top-main-services-group:last-child {
  border-bottom: 1px solid rgba(255, 255, 255, .72);
}

.top-main-services-group-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 52px;
  align-items: stretch;
}

.top-main-services-page-link {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 20px;
  min-width: 0;
  padding: 15px 12px 15px 0;
  color: #fff;
  text-decoration: none;
  transition: background-color 180ms cubic-bezier(.2, .8, .2, 1);
}

.top-main-services-page-link:hover,
.top-main-services-page-link:focus-visible,
.top-main-services-page-link.is-active,
.top-main-services-group:has(.top-main-services-group-toggle:hover) .top-main-services-page-link {
  background: rgba(84, 178, 220, .13);
}

.top-main-services-page-link:focus-visible,
.top-main-services-group-toggle:focus-visible,
.top-main-services-submenu a:focus-visible {
  outline: 2px solid #fff;
  outline-offset: -2px;
}

.top-main-services-group-toggle {
  display: grid;
  place-items: center;
  width: 52px;
  min-height: 52px;
  padding: 0;
  color: #fff;
  border: 0;
  background: transparent;
  cursor: pointer;
}

.top-main-services-group-toggle .ph {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border: 1px solid rgba(255, 255, 255, .56);
  border-radius: 50%;
  font-size: 16px;
  transition: color 180ms ease, background-color 180ms ease, transform 180ms cubic-bezier(.2, .8, .2, 1);
}

.top-main-services-group-toggle:hover .ph,
.top-main-services-group.is-open .top-main-services-group-toggle .ph {
  color: #08334c;
  background: rgba(255, 255, 255, .92);
}

.top-main-services-group.is-open .top-main-services-group-toggle .ph {
  transform: rotate(180deg);
}

.top-main-services-submenu {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: clamp(18px, calc(2 * var(--pp-wide-vw, 1vw)), 28px);
  padding: 4px 0 18px;
  border-top: 1px solid rgba(255, 255, 255, .18);
}

.top-main-services-submenu[hidden] {
  display: none;
}

.top-main-services-submenu a {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-rows: auto auto;
  align-items: center;
  gap: 3px 8px;
  min-width: 0;
  padding: 10px 6px 9px 0;
  color: #fff;
  border-bottom: 1px solid rgba(255, 255, 255, .16);
  text-decoration: none;
  transition: color 180ms ease, background-color 180ms ease, padding-left 180ms cubic-bezier(.2, .8, .2, 1);
}

.top-main-services-submenu a > span {
  color: rgba(255, 255, 255, .58);
  font-family: var(--pp-font-latin);
  font-size: 8px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: .15em;
}

.top-main-services-submenu a > strong {
  min-width: 0;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.4;
}

.top-main-services-submenu a > .ph {
  grid-column: 2;
  grid-row: 1 / span 2;
  color: rgba(255, 255, 255, .62);
  font-size: 14px;
  transition: transform 180ms cubic-bezier(.2, .8, .2, 1);
}

.top-main-services-submenu a:hover,
.top-main-services-submenu a:focus-visible {
  color: #fff;
  background: rgba(84, 178, 220, .11);
  padding-left: 8px;
}

.top-main-services-submenu a:hover > .ph,
.top-main-services-submenu a:focus-visible > .ph {
  transform: translate(3px, -3px);
}

.top-main-services-link-copy,
.top-main-services-link-copy > strong,
.top-main-services-link-copy > small {
  display: block;
  min-width: 0;
}

.top-main-services-link-meta {
  display: flex;
  align-items: baseline;
  gap: 12px;
  margin-bottom: 5px;
  color: rgba(255, 255, 255, .76);
  font-family: var(--pp-font-latin);
}

.top-main-services-link-meta b {
  color: #fff;
  font-size: 17px;
  font-weight: 500;
  font-variant-numeric: tabular-nums;
  letter-spacing: .08em;
}

.top-main-services-link-meta small {
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .12em;
}

.top-main-services-link-copy > strong {
  color: #fff;
  font-size: clamp(15px, calc(1.35 * var(--pp-wide-vw, 1vw)), 18px);
  font-weight: 700;
  line-height: 1.45;
}

.top-main-services-link-copy > small {
  margin-top: 5px;
  color: rgba(255, 255, 255, .74);
  font-size: 11px;
  font-weight: 500;
  line-height: 1.55;
}

.top-main-services-page-link > .ph {
  flex: 0 0 auto;
  font-size: 20px;
  transition: transform 180ms cubic-bezier(.2, .8, .2, 1);
}

.top-main-services-page-link:hover > .ph,
.top-main-services-page-link:focus-visible > .ph {
  transform: translateX(6px);
}

@media (max-width: 780px) {
  .top-main-services.top-main-services-feature {
    grid-template-columns: 1fr;
    min-height: 0;
    padding: 0;
    scroll-margin-top: calc(var(--pp-header-height) + 112px);
  }

  .top-main-services-intro {
    grid-column: 1;
    grid-row: 1;
    min-height: 270px;
    padding: 38px 24px;
  }

  .top-main-services-intro .top-section-label {
    margin-bottom: 16px;
    font-size: 10px;
  }

  .top-main-services-intro h2 {
    max-width: 10em;
    font-size: clamp(30px, calc(9 * var(--pp-wide-vw, 1vw)), 42px);
    line-height: 1.18;
  }

  .top-main-services-divider {
    grid-column: 1;
    grid-row: 2;
    min-height: 62px;
    border-top: 1px solid var(--pp-feature-panel-line);
    border-right: 0;
    border-bottom: 1px solid var(--pp-feature-panel-line);
    border-left: 0;
  }

  .top-main-services-divider-icon {
    transform: rotate(90deg);
  }

  .top-main-services-divider:hover .top-main-services-divider-icon,
  .top-main-services-divider:focus-visible .top-main-services-divider-icon {
    transform: translateY(5px) rotate(90deg);
  }

  .top-main-services-feature.is-menu-open .top-main-services-divider-icon {
    transform: rotate(-90deg);
  }

  .top-main-services-feature.is-menu-open .top-main-services-divider:hover .top-main-services-divider-icon,
  .top-main-services-feature.is-menu-open .top-main-services-divider:focus-visible .top-main-services-divider-icon {
    transform: translateY(-5px) rotate(-90deg);
  }

  .top-main-services-visual {
    grid-column: 1;
    grid-row: 3;
  }

  .top-main-services-menu {
    padding: 30px 24px 34px;
  }

  .top-main-services-menu-title {
    margin-bottom: 14px;
    font-size: 21px;
  }

  .top-main-services-group-head {
    grid-template-columns: minmax(0, 1fr) 54px;
  }

  .top-main-services-page-link {
    gap: 14px;
    padding: 14px 0;
  }

  .top-main-services-submenu {
    grid-template-columns: 1fr;
    padding-bottom: 16px;
  }

  .top-main-services-link-copy > strong {
    font-size: 15px;
  }

  .top-main-services-link-copy > small {
    font-size: 10px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .top-main-services-slide,
  .top-main-services-divider-icon,
  .top-main-services-page-link,
  .top-main-services-page-link > .ph,
  .top-main-services-group-toggle .ph,
  .top-main-services-submenu a,
  .top-main-services-submenu a > .ph {
    transition: none;
  }
}

/* TOP business gateway: image-led index inspired by the reference behavior. */
.top-business-gateway {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: minmax(0, 56%) minmax(420px, 44%);
  width: 100cqw;
  min-height: clamp(590px, calc(54 * var(--pp-wide-vw, 1vw)), 720px);
  margin-left: calc((100% - 100cqw) / 2);
  overflow: hidden;
  color: #fff;
  background: #071f31;
  scroll-margin-top: calc(var(--pp-header-height) + 18px);
}

.top-business-gateway__images {
  position: relative;
  min-width: 0;
  overflow: hidden;
  background: #0d354d;
}

.top-business-gateway__image,
.top-business-gateway__image img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.top-business-gateway__image {
  margin: 0;
  opacity: 0;
  transform: scale(1.025);
  transition: opacity 620ms ease, transform 900ms cubic-bezier(.2, .8, .2, 1);
}

.top-business-gateway__image::after {
  position: absolute;
  inset: 0;
  content: "";
  background: linear-gradient(90deg, rgba(4, 28, 44, .08), rgba(4, 28, 44, .3));
}

.top-business-gateway__image.is-active {
  z-index: 1;
  opacity: 1;
  transform: scale(1);
}

.top-business-gateway__image img {
  display: block;
  object-fit: cover;
  object-position: center;
  filter: saturate(.82) contrast(.96) brightness(.84);
}

.top-business-gateway__image[data-business-gateway-image="1"] img {
  object-position: 50% 55%;
}

.top-business-gateway__content {
  position: relative;
  z-index: 2;
  display: grid;
  align-content: center;
  min-width: 0;
  padding: clamp(54px, calc(6 * var(--pp-wide-vw, 1vw)), 88px) clamp(38px, calc(5 * var(--pp-wide-vw, 1vw)), 76px);
  background: linear-gradient(145deg, rgba(8, 37, 56, .98), rgba(7, 31, 49, .94));
}

.top-business-gateway__heading {
  margin-bottom: clamp(28px, calc(3 * var(--pp-wide-vw, 1vw)), 44px);
}

.top-business-gateway__heading .top-section-label {
  display: block;
  margin-bottom: 13px;
  color: #70c5e4;
  font-family: var(--pp-font-latin);
  font-size: 10px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: .2em;
}

.top-business-gateway__heading h2 {
  margin: 0;
  color: #fff;
  font-family: var(--pp-font-display);
  font-size: clamp(26px, calc(2.5 * var(--pp-wide-vw, 1vw)), 38px);
  font-weight: 600;
  line-height: 1.35;
  letter-spacing: .03em;
}

.top-business-gateway__nav {
  display: grid;
  border-top: 1px solid rgba(255, 255, 255, .54);
}

.top-business-gateway__link {
  position: relative;
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr) 32px;
  align-items: center;
  gap: 16px;
  min-height: 92px;
  padding: 18px 4px;
  overflow: hidden;
  color: #fff;
  border-bottom: 1px solid rgba(255, 255, 255, .54);
  text-decoration: none;
  transition: padding-left 260ms cubic-bezier(.2, .8, .2, 1), background-color 220ms ease;
}

.top-business-gateway__link::before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 4px;
  content: "";
  background: #54b2dc;
  transform: scaleY(0);
  transform-origin: center;
  transition: transform 240ms cubic-bezier(.2, .8, .2, 1);
}

.top-business-gateway__link:hover,
.top-business-gateway__link:focus-visible,
.top-business-gateway__link.is-active {
  padding-left: 18px;
  background: rgba(84, 178, 220, .12);
  outline: none;
}

.top-business-gateway__link:hover::before,
.top-business-gateway__link:focus-visible::before,
.top-business-gateway__link.is-active::before {
  transform: scaleY(1);
}

.top-business-gateway__link:focus-visible {
  box-shadow: inset 0 0 0 2px #fff;
}

.top-business-gateway__number {
  color: rgba(255, 255, 255, .7);
  font-family: var(--pp-font-latin);
  font-size: 14px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  letter-spacing: .12em;
}

.top-business-gateway__label {
  position: relative;
  display: grid;
  min-width: 0;
  overflow: hidden;
  font-size: clamp(15px, calc(1.2 * var(--pp-wide-vw, 1vw)), 18px);
  font-weight: 700;
  line-height: 1.55;
  letter-spacing: .025em;
}

.top-business-gateway__label > span {
  grid-column: 1;
  grid-row: 1;
  display: block;
  min-width: 0;
  transition: transform 340ms cubic-bezier(.2, .8, .2, 1);
}

.top-business-gateway__label > span:last-child {
  color: #a8e6f7;
  transform: translateY(110%);
}

.top-business-gateway__link:hover .top-business-gateway__label > span:first-child,
.top-business-gateway__link:focus-visible .top-business-gateway__label > span:first-child,
.top-business-gateway__link.is-active .top-business-gateway__label > span:first-child {
  transform: translateY(-110%);
}

.top-business-gateway__link:hover .top-business-gateway__label > span:last-child,
.top-business-gateway__link:focus-visible .top-business-gateway__label > span:last-child,
.top-business-gateway__link.is-active .top-business-gateway__label > span:last-child {
  transform: translateY(0);
}

.top-business-gateway__link > .ph {
  font-size: 22px;
  transition: color 220ms ease, transform 260ms cubic-bezier(.2, .8, .2, 1);
}

.top-business-gateway__link:hover > .ph,
.top-business-gateway__link:focus-visible > .ph,
.top-business-gateway__link.is-active > .ph {
  color: #a8e6f7;
  transform: translateX(7px);
}

@media (max-width: 920px) {
  .top-business-gateway {
    grid-template-columns: minmax(0, 48%) minmax(380px, 52%);
  }

  .top-business-gateway__content {
    padding-inline: clamp(28px, calc(4 * var(--pp-wide-vw, 1vw)), 44px);
  }
}

@media (max-width: 780px) {
  .top-business-gateway {
    display: block;
    min-height: 0;
    padding: 38px 24px 42px;
    background: linear-gradient(150deg, #0c3a54, #071f31);
  }

  .top-business-gateway__images {
    display: none;
  }

  .top-business-gateway__content {
    display: block;
    padding: 0;
    background: transparent;
  }

  .top-business-gateway__heading {
    margin-bottom: 24px;
  }

  .top-business-gateway__heading h2 {
    font-size: clamp(25px, calc(7 * var(--pp-wide-vw, 1vw)), 34px);
  }

  .top-business-gateway__nav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1px;
    border: 1px solid rgba(255, 255, 255, .28);
    background: rgba(255, 255, 255, .28);
  }

  .top-business-gateway__link {
    isolation: isolate;
    grid-template-columns: 1fr auto;
    grid-template-rows: auto 1fr auto;
    align-items: end;
    gap: 12px;
    min-height: 210px;
    padding: 20px;
    border: 0;
    background-image: linear-gradient(180deg, rgba(4, 28, 44, .2), rgba(4, 28, 44, .88)), var(--business-card-image);
    background-position: center;
    background-size: cover;
  }

  .top-business-gateway__link::before {
    top: 0;
    right: 0;
    bottom: auto;
    width: auto;
    height: 4px;
    transform: scaleX(0);
  }

  .top-business-gateway__link:hover,
  .top-business-gateway__link:focus-visible,
  .top-business-gateway__link.is-active {
    padding-left: 20px;
    background-color: transparent;
  }

  .top-business-gateway__link:hover::before,
  .top-business-gateway__link:focus-visible::before,
  .top-business-gateway__link.is-active::before {
    transform: scaleX(1);
  }

  .top-business-gateway__number {
    grid-column: 1 / -1;
    align-self: start;
  }

  .top-business-gateway__label {
    grid-column: 1;
    grid-row: 3;
    font-size: 14px;
    line-height: 1.55;
  }

  .top-business-gateway__label > span:last-child {
    display: none;
  }

  .top-business-gateway__link:hover .top-business-gateway__label > span:first-child,
  .top-business-gateway__link:focus-visible .top-business-gateway__label > span:first-child,
  .top-business-gateway__link.is-active .top-business-gateway__label > span:first-child {
    transform: none;
  }

  .top-business-gateway__link > .ph {
    grid-column: 2;
    grid-row: 3;
  }
}

@media (max-width: 460px) {
  .top-business-gateway {
    padding-inline: 18px;
  }

  .top-business-gateway__nav {
    grid-template-columns: minmax(0, 1fr);
  }

  .top-business-gateway__link {
    min-height: 180px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .top-business-gateway__image,
  .top-business-gateway__link,
  .top-business-gateway__link::before,
  .top-business-gateway__label > span,
  .top-business-gateway__link > .ph {
    transition: none;
  }
}

/* TOP service overview: aqua editorial field with three domains and a nine-cell catalog. */
.top-business-gateway {
  display: block;
  min-height: 0;
  padding: clamp(54px, calc(6 * var(--pp-wide-vw, 1vw)), 84px) clamp(34px, calc(5 * var(--pp-wide-vw, 1vw)), 72px);
  color: #07354d;
  background: linear-gradient(135deg, #dff3fa 0%, #c9e9f4 100%);
}

.top-business-gateway__masthead {
  position: relative;
  isolation: isolate;
  display: grid;
  align-content: end;
  min-height: clamp(180px, calc(20 * var(--pp-wide-vw, 1vw)), 270px);
  padding: clamp(34px, calc(4 * var(--pp-wide-vw, 1vw)), 58px);
  overflow: hidden;
  color: #fff;
  background: #4eabd8;
}

.top-business-gateway__masthead .top-section-label {
  position: relative;
  z-index: 2;
  display: block;
  margin-bottom: 13px;
  color: #fff;
  font-family: var(--pp-font-latin);
  font-size: 10px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: .2em;
}

.top-business-gateway__masthead h2 {
  position: relative;
  z-index: 2;
  max-width: 15em;
  margin: 0;
  color: #fff;
  font-family: var(--pp-font-display);
  font-size: clamp(30px, calc(3.8 * var(--pp-wide-vw, 1vw)), 52px);
  font-weight: 700;
  line-height: 1.18;
  letter-spacing: .02em;
}

.top-business-gateway__word {
  position: absolute;
  right: -.03em;
  bottom: -.27em;
  z-index: 1;
  color: rgba(255, 255, 255, .17);
  font-family: var(--pp-font-latin);
  font-size: clamp(112px, calc(18 * var(--pp-wide-vw, 1vw)), 250px);
  font-weight: 800;
  line-height: .8;
  letter-spacing: -.07em;
  pointer-events: none;
}

.top-business-gateway__fields {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 8px;
  margin-top: 8px;
}

.top-business-gateway__field {
  position: relative;
  isolation: isolate;
  grid-column: span 3;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-rows: auto 1fr auto;
  align-items: end;
  gap: 12px;
  min-height: clamp(310px, calc(31 * var(--pp-wide-vw, 1vw)), 430px);
  padding: clamp(24px, calc(2.5 * var(--pp-wide-vw, 1vw)), 36px);
  overflow: hidden;
  color: #fff;
  text-decoration: none;
  background: #0c3a54;
}

.top-business-gateway__field--medicine {
  grid-column: span 5;
}

.top-business-gateway__field:last-child {
  grid-column: span 4;
}

.top-business-gateway__field img,
.top-business-gateway__field-shade {
  position: absolute;
  inset: 0;
  z-index: -2;
  width: 100%;
  height: 100%;
}

.top-business-gateway__field img {
  display: block;
  object-fit: cover;
  object-position: center;
  filter: saturate(.76) contrast(.94) brightness(.86);
  transition: transform 520ms cubic-bezier(.2, .8, .2, 1), filter 260ms ease;
}

.top-business-gateway__field-shade {
  z-index: -1;
  background: linear-gradient(180deg, rgba(4, 30, 47, .06) 28%, rgba(4, 30, 47, .88) 100%);
}

.top-business-gateway__field-number {
  grid-column: 1 / -1;
  align-self: start;
  font-family: var(--pp-font-latin);
  font-size: 13px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  letter-spacing: .16em;
}

.top-business-gateway__field strong {
  grid-column: 1;
  grid-row: 3;
  max-width: 18em;
  font-family: var(--pp-font-display);
  font-size: clamp(17px, calc(1.65 * var(--pp-wide-vw, 1vw)), 24px);
  font-weight: 700;
  line-height: 1.55;
  letter-spacing: .025em;
}

.top-business-gateway__field > .ph {
  grid-column: 2;
  grid-row: 3;
  font-size: 25px;
  transition: transform 220ms cubic-bezier(.2, .8, .2, 1);
}

.top-business-gateway__field:hover img,
.top-business-gateway__field:focus-visible img {
  filter: saturate(.88) contrast(.98) brightness(.94);
  transform: scale(1.045);
}

.top-business-gateway__field:hover > .ph,
.top-business-gateway__field:focus-visible > .ph {
  transform: translateX(7px);
}

.top-business-gateway__field:focus-visible,
.top-business-gateway__catalog-heading:focus-visible,
.top-business-gateway__service-grid a:focus-visible {
  z-index: 4;
  outline: 3px solid #fff;
  outline-offset: -6px;
}

.top-business-gateway__catalog {
  display: grid;
  grid-template-columns: minmax(210px, 25%) minmax(0, 1fr);
  margin-top: 8px;
  background: #4eabd8;
}

.top-business-gateway__catalog-heading {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-content: end;
  gap: 12px;
  min-height: 100%;
  padding: clamp(28px, calc(3 * var(--pp-wide-vw, 1vw)), 44px);
  color: #fff;
  text-decoration: none;
  background: #4eabd8;
}

.top-business-gateway__catalog-heading > span {
  grid-column: 1 / -1;
  align-self: start;
  font-family: var(--pp-font-latin);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .16em;
}

.top-business-gateway__catalog-heading > strong {
  font-family: var(--pp-font-display);
  font-size: clamp(22px, calc(2 * var(--pp-wide-vw, 1vw)), 30px);
  line-height: 1.4;
}

.top-business-gateway__catalog-heading > .ph {
  align-self: center;
  font-size: 26px;
  transition: transform 220ms cubic-bezier(.2, .8, .2, 1);
}

.top-business-gateway__catalog-heading:hover > .ph,
.top-business-gateway__catalog-heading:focus-visible > .ph {
  transform: translateX(7px);
}

.top-business-gateway__service-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  min-width: 0;
  background: rgba(255, 255, 255, .7);
}

.top-business-gateway__service-grid a {
  position: relative;
  isolation: isolate;
  display: grid;
  align-items: end;
  min-width: 0;
  min-height: clamp(105px, calc(10 * var(--pp-wide-vw, 1vw)), 142px);
  padding: 14px;
  overflow: hidden;
  color: #fff;
  text-decoration: none;
  background-color: #0c3a54;
  background-image: linear-gradient(180deg, rgba(6, 36, 53, .15), rgba(6, 36, 53, .88)), var(--business-service-image);
  background-position: center;
  background-size: cover;
}

.top-business-gateway__service-grid a::after {
  position: absolute;
  inset: 0;
  z-index: -1;
  content: "";
  background: rgba(78, 171, 216, .12);
  opacity: 0;
  transition: opacity 200ms ease;
}

.top-business-gateway__service-grid a:hover::after,
.top-business-gateway__service-grid a:focus-visible::after {
  opacity: 1;
}

.top-business-gateway__service-grid span {
  position: relative;
  z-index: 2;
  font-size: clamp(11px, calc(.9 * var(--pp-wide-vw, 1vw)), 14px);
  font-weight: 700;
  line-height: 1.55;
  letter-spacing: .02em;
}

@media (max-width: 900px) {
  .top-business-gateway__field,
  .top-business-gateway__field--medicine,
  .top-business-gateway__field:last-child {
    grid-column: span 4;
  }

  .top-business-gateway__catalog {
    grid-template-columns: minmax(180px, 28%) minmax(0, 1fr);
  }
}

@media (max-width: 780px) {
  .top-business-gateway {
    padding: 32px 20px 38px;
  }

  .top-business-gateway__masthead {
    min-height: 190px;
    padding: 30px 24px;
  }

  .top-business-gateway__masthead h2 {
    font-size: clamp(28px, calc(8 * var(--pp-wide-vw, 1vw)), 38px);
  }

  .top-business-gateway__word {
    right: -.06em;
    font-size: clamp(92px, calc(28 * var(--pp-wide-vw, 1vw)), 145px);
  }

  .top-business-gateway__fields {
    grid-template-columns: minmax(0, 1fr);
  }

  .top-business-gateway__field,
  .top-business-gateway__field--medicine,
  .top-business-gateway__field:last-child {
    grid-column: 1;
    min-height: 250px;
    padding: 24px;
  }

  .top-business-gateway__field strong {
    font-size: 18px;
  }

  .top-business-gateway__catalog {
    grid-template-columns: minmax(0, 1fr);
  }

  .top-business-gateway__catalog-heading {
    grid-template-columns: 44px minmax(0, 1fr) auto;
    min-height: 112px;
    padding: 24px;
  }

  .top-business-gateway__catalog-heading > span {
    grid-column: 1;
    align-self: center;
  }

  .top-business-gateway__catalog-heading > strong {
    grid-column: 2;
    align-self: center;
    font-size: 21px;
  }

  .top-business-gateway__catalog-heading > .ph {
    grid-column: 3;
  }

  .top-business-gateway__service-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .top-business-gateway__service-grid a {
    min-height: 132px;
    padding: 16px;
  }

  .top-business-gateway__service-grid span {
    font-size: 12px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .top-business-gateway__field img,
  .top-business-gateway__field > .ph,
  .top-business-gateway__catalog-heading > .ph,
  .top-business-gateway__service-grid a::after {
    transition: none;
  }
}

/* Yomiuri ABOUT-inspired placement: overview at left, 01-03 stacked at right. */
.top-business-gateway__composition {
  display: grid;
  grid-template-columns: minmax(0, 1.72fr) minmax(248px, .78fr);
  gap: 8px;
  margin-top: 8px;
}

.top-business-gateway__catalog {
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: auto minmax(0, 1fr);
  margin: 0;
  border: 1px solid rgba(255, 255, 255, .82);
  background: rgba(255, 255, 255, .38);
}

.top-business-gateway__catalog-heading {
  grid-template-columns: 17px 42px minmax(0, 1fr) 38px;
  align-content: center;
  align-items: center;
  min-height: 112px;
  padding: 24px clamp(22px, calc(2.5 * var(--pp-wide-vw, 1vw)), 36px);
  color: #07577c;
  border-bottom: 1px solid rgba(7, 87, 124, .16);
  background: rgba(255, 255, 255, .56);
}

.top-business-gateway__square {
  display: block;
  width: 14px;
  height: 14px;
  border: 2px solid #1598c8;
  background: rgba(255, 255, 255, .78);
}

.top-business-gateway__catalog-heading > .top-business-gateway__square {
  grid-column: 1;
}

.top-business-gateway__catalog-heading > .top-business-gateway__catalog-number {
  grid-column: 2;
  align-self: center;
  color: #1598c8;
  font-size: 13px;
  letter-spacing: .13em;
}

.top-business-gateway__catalog-heading > strong {
  grid-column: 3;
  color: #07577c;
  font-size: clamp(23px, calc(2.25 * var(--pp-wide-vw, 1vw)), 32px);
}

.top-business-gateway__catalog-heading > .ph {
  grid-column: 4;
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  color: #07577c;
  border: 1px solid rgba(7, 87, 124, .32);
  background: rgba(255, 255, 255, .54);
}

.top-business-gateway__catalog-heading:hover > .ph,
.top-business-gateway__catalog-heading:focus-visible > .ph {
  color: #fff;
  background: #1598c8;
  transform: translate(3px, -3px);
}

.top-business-gateway__service-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-auto-rows: minmax(122px, 1fr);
  gap: 1px;
  background: rgba(255, 255, 255, .82);
}

.top-business-gateway__service-grid a {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 10px;
  min-height: 122px;
  padding: 18px;
  color: #07577c;
  background-color: #dff3fa;
  background-image:
    linear-gradient(180deg, rgba(255, 255, 255, .02) 35%, rgba(247, 253, 255, .94) 84%, rgba(247, 253, 255, .98) 100%),
    var(--business-service-image);
  filter: none;
}

.top-business-gateway__service-grid a::after {
  background: rgba(78, 171, 216, .16);
}

.top-business-gateway__service-grid span {
  grid-column: 1;
  color: #07577c;
  text-shadow: 0 1px 0 rgba(255, 255, 255, .78);
}

.top-business-gateway__service-grid .ph {
  position: relative;
  z-index: 2;
  grid-column: 2;
  align-self: end;
  color: #1598c8;
  font-size: 17px;
  transition: transform 200ms ease;
}

.top-business-gateway__service-grid a:hover .ph,
.top-business-gateway__service-grid a:focus-visible .ph {
  transform: translate(3px, -3px);
}

.top-business-gateway__fields {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
}

.top-business-gateway__field,
.top-business-gateway__field--medicine,
.top-business-gateway__field:last-child {
  grid-column: 1;
  display: block;
  min-height: 0;
  padding: 0;
  color: #07577c;
  border: 1px solid rgba(255, 255, 255, .82);
  background: #bfe4f1;
}

.top-business-gateway__field img {
  filter: saturate(.76) contrast(.92) brightness(1.04);
}

.top-business-gateway__field-shade {
  background: linear-gradient(180deg, rgba(255, 255, 255, .02) 22%, rgba(246, 252, 254, .96) 100%);
}

.top-business-gateway__field .top-business-gateway__square {
  position: absolute;
  top: 17px;
  left: 17px;
  z-index: 2;
}

.top-business-gateway__field-number {
  position: absolute;
  top: 16px;
  left: 47px;
  z-index: 2;
  color: #07577c;
  font-size: 12px;
}

.top-business-gateway__field strong {
  position: absolute;
  right: 64px;
  bottom: 18px;
  left: 18px;
  z-index: 2;
  max-width: none;
  color: #07577c;
  font-size: clamp(15px, calc(1.35 * var(--pp-wide-vw, 1vw)), 20px);
  line-height: 1.42;
  text-shadow: 0 1px 0 rgba(255, 255, 255, .8);
}

.top-business-gateway__field > .ph {
  position: absolute;
  right: 17px;
  bottom: 17px;
  z-index: 2;
  display: grid;
  width: 36px;
  height: 36px;
  place-items: center;
  color: #07577c;
  border: 1px solid rgba(7, 87, 124, .32);
  background: rgba(255, 255, 255, .64);
  font-size: 18px;
}

.top-business-gateway__field:hover img,
.top-business-gateway__field:focus-visible img {
  filter: saturate(.88) contrast(.96) brightness(1.08);
}

.top-business-gateway__field:hover > .ph,
.top-business-gateway__field:focus-visible > .ph {
  color: #fff;
  background: #1598c8;
  transform: translate(3px, -3px);
}

.top-business-gateway__field:focus-visible,
.top-business-gateway__catalog-heading:focus-visible,
.top-business-gateway__service-grid a:focus-visible {
  outline-color: #1598c8;
}

@media (max-width: 980px) {
  .top-business-gateway__composition {
    grid-template-columns: minmax(0, 1.48fr) minmax(220px, .72fr);
  }

  .top-business-gateway__catalog-heading {
    grid-template-columns: 15px 34px minmax(0, 1fr) 34px;
    padding-inline: 20px;
  }

  .top-business-gateway__service-grid a {
    padding: 14px;
  }
}

@media (max-width: 780px) {
  .top-business-gateway__composition {
    grid-template-columns: minmax(0, 1fr);
  }

  .top-business-gateway__catalog-heading {
    grid-template-columns: 15px 34px minmax(0, 1fr) 36px;
    min-height: 96px;
    padding: 20px;
  }

  .top-business-gateway__catalog-heading > .top-business-gateway__square,
  .top-business-gateway__catalog-heading > .top-business-gateway__catalog-number,
  .top-business-gateway__catalog-heading > strong,
  .top-business-gateway__catalog-heading > .ph {
    align-self: center;
  }

  .top-business-gateway__service-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-rows: 126px;
  }

  .top-business-gateway__service-grid a {
    min-height: 126px;
  }

  .top-business-gateway__fields {
    grid-template-rows: none;
  }

  .top-business-gateway__field,
  .top-business-gateway__field--medicine,
  .top-business-gateway__field:last-child {
    min-height: 190px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .top-business-gateway__service-grid .ph {
    transition: none;
  }
}

/* ABOUT layout study: structure only, ready for approved imagery. */
.top-about-study {
  padding: clamp(54px, calc(6 * var(--pp-wide-vw, 1vw)), 84px) clamp(34px, calc(5 * var(--pp-wide-vw, 1vw)), 72px);
  color: #07577c;
  background: #f1faff;
  border-top: 1px solid rgba(78, 171, 216, .28);
}

.top-about-study__heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
  padding: 0 0 clamp(25px, calc(3 * var(--pp-wide-vw, 1vw)), 40px);
  border-bottom: 1px solid rgba(7, 87, 124, .24);
}

.top-about-study__heading > span {
  color: #1598c8;
  font-family: var(--pp-font-latin);
  font-size: clamp(42px, calc(6 * var(--pp-wide-vw, 1vw)), 82px);
  font-weight: 700;
  line-height: .9;
  letter-spacing: -.04em;
}

.top-about-study__heading h2 {
  margin: 0;
  color: #07577c;
  font-family: var(--pp-font-display);
  font-size: clamp(21px, calc(2.15 * var(--pp-wide-vw, 1vw)), 30px);
  line-height: 1.3;
}

.top-about-study__composition {
  display: grid;
  grid-template-columns: minmax(0, 1.72fr) minmax(248px, .78fr);
  gap: 8px;
  margin-top: 8px;
}

.top-about-study__overview,
.top-about-study__topics article {
  border: 1px solid rgba(78, 171, 216, .42);
  background: rgba(255, 255, 255, .64);
}

.top-about-study__overview > header {
  display: grid;
  grid-template-columns: 17px 42px minmax(0, 1fr) 38px;
  align-items: center;
  gap: 12px;
  min-height: 112px;
  padding: 24px clamp(22px, calc(2.5 * var(--pp-wide-vw, 1vw)), 36px);
  border-bottom: 1px solid rgba(78, 171, 216, .32);
}

.top-about-study__square {
  display: block;
  width: 14px;
  height: 14px;
  border: 2px solid #1598c8;
}

.top-about-study__number {
  color: #1598c8;
  font-family: var(--pp-font-latin);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .13em;
}

.top-about-study__overview strong {
  font-family: var(--pp-font-display);
  font-size: clamp(23px, calc(2.25 * var(--pp-wide-vw, 1vw)), 32px);
  line-height: 1.3;
}

.top-about-study__overview > header .ph,
.top-about-study__topics .ph {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border: 1px solid rgba(7, 87, 124, .32);
  font-size: 20px;
}

.top-about-study__nine-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  background: rgba(78, 171, 216, .24);
}

.top-about-study__nine-grid > span {
  position: relative;
  display: grid;
  min-height: clamp(120px, calc(11 * var(--pp-wide-vw, 1vw)), 150px);
  place-items: center;
  color: rgba(7, 87, 124, .46);
  background:
    linear-gradient(135deg, rgba(255, 255, 255, .74), rgba(217, 242, 251, .78));
}

.top-about-study__nine-grid > span::before,
.top-about-study__nine-grid > span::after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 42%;
  height: 1px;
  content: "";
  background: rgba(21, 152, 200, .22);
}

.top-about-study__nine-grid > span::before {
  transform: translate(-50%, -50%) rotate(34deg);
}

.top-about-study__nine-grid > span::after {
  transform: translate(-50%, -50%) rotate(-34deg);
}

.top-about-study__nine-grid b {
  position: absolute;
  top: 12px;
  left: 13px;
  z-index: 1;
  font-family: var(--pp-font-latin);
  font-size: 10px;
  letter-spacing: .12em;
}

.top-about-study__topics {
  display: grid;
  grid-template-rows: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.top-about-study__topics article {
  position: relative;
  display: grid;
  grid-template-columns: 17px 34px minmax(0, 1fr) 38px;
  align-items: end;
  gap: 10px;
  min-height: 0;
  padding: 22px 18px;
  overflow: hidden;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, .78), rgba(208, 238, 249, .7));
}

.top-about-study__topics article::before,
.top-about-study__topics article::after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 45%;
  height: 1px;
  content: "";
  background: rgba(21, 152, 200, .16);
}

.top-about-study__topics article::before {
  transform: translate(-50%, -50%) rotate(22deg);
}

.top-about-study__topics article::after {
  transform: translate(-50%, -50%) rotate(-22deg);
}

.top-about-study__topics article > * {
  position: relative;
  z-index: 1;
}

.top-about-study__topics strong {
  max-width: 18em;
  font-family: var(--pp-font-display);
  font-size: clamp(15px, calc(1.35 * var(--pp-wide-vw, 1vw)), 20px);
  line-height: 1.45;
}

@media (max-width: 780px) {
  .top-about-study {
    padding: 38px 20px 44px;
  }

  .top-about-study__heading {
    display: grid;
    gap: 14px;
  }

  .top-about-study__composition {
    grid-template-columns: minmax(0, 1fr);
  }

  .top-about-study__overview > header {
    grid-template-columns: 15px 34px minmax(0, 1fr) 36px;
    min-height: 96px;
    padding: 20px;
  }

  .top-about-study__nine-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .top-about-study__nine-grid > span {
    min-height: 126px;
  }

  .top-about-study__topics article {
    min-height: 160px;
  }
}

/* Yomiuri ABOUT reference: preserve the four-surface design before content mapping. */
.top-about-study--reference {
  padding-top: clamp(70px, calc(8 * var(--pp-wide-vw, 1vw)), 112px);
  padding-bottom: clamp(70px, calc(8 * var(--pp-wide-vw, 1vw)), 112px);
  background: linear-gradient(135deg, #effaff 0%, #dff3fa 52%, #ecf9fc 100%);
}

.top-about-study--reference .top-about-study__heading {
  display: block;
  padding-bottom: clamp(34px, calc(4 * var(--pp-wide-vw, 1vw)), 54px);
  border-bottom: 0;
}

.top-about-study--reference .top-about-study__heading h2 {
  color: #1598c8;
  font-family: var(--pp-font-latin);
  font-size: clamp(54px, calc(8 * var(--pp-wide-vw, 1vw)), 108px);
  font-weight: 700;
  line-height: .82;
  letter-spacing: -.065em;
}

.top-about-study--reference .top-about-study__composition {
  grid-template-columns: minmax(0, 1.72fr) minmax(248px, .78fr);
  gap: 10px;
  margin-top: 0;
}

.top-about-study--reference .top-about-study__overview,
.top-about-study--reference .top-about-study__topics article {
  color: #fff;
  border: 0;
  background: linear-gradient(135deg, #4eabd8 0%, #65bdd7 54%, #7bcac2 100%);
}

.top-about-study--reference .top-about-study__overview > header {
  grid-template-columns: 18px minmax(0, 1fr) 44px;
  min-height: 132px;
  padding: 30px clamp(26px, calc(3 * var(--pp-wide-vw, 1vw)), 44px);
  border-bottom-color: rgba(255, 255, 255, .48);
}

.top-about-study--reference .top-about-study__overview strong {
  color: #fff;
  font-size: clamp(24px, calc(2.45 * var(--pp-wide-vw, 1vw)), 35px);
}

.top-about-study--reference .top-about-study__square {
  border-color: #fff;
  background: rgba(255, 255, 255, .16);
}

.top-about-study--reference .top-about-study__overview > header .ph,
.top-about-study--reference .top-about-study__topics .ph {
  color: #fff;
  border-color: rgba(255, 255, 255, .7);
  background: rgba(255, 255, 255, .08);
}

.top-about-study--reference .top-about-study__nine-grid {
  gap: 2px;
  background: rgba(255, 255, 255, .54);
}

.top-about-study--reference .top-about-study__nine-grid > span {
  min-height: clamp(118px, calc(11 * var(--pp-wide-vw, 1vw)), 152px);
  background:
    radial-gradient(circle at 72% 25%, rgba(255, 255, 255, .58), transparent 30%),
    linear-gradient(135deg, rgba(78, 171, 216, .92), rgba(123, 202, 194, .74));
}

.top-about-study--reference .top-about-study__nine-grid > span:nth-child(3n + 2) {
  background:
    radial-gradient(circle at 30% 72%, rgba(255, 255, 255, .48), transparent 34%),
    linear-gradient(145deg, rgba(92, 191, 208, .9), rgba(141, 208, 185, .72));
}

.top-about-study--reference .top-about-study__nine-grid > span:nth-child(3n) {
  background:
    linear-gradient(35deg, rgba(255, 255, 255, .18) 0 28%, transparent 28% 100%),
    linear-gradient(135deg, rgba(47, 142, 182, .84), rgba(111, 200, 202, .7));
}

.top-about-study--reference .top-about-study__nine-grid > span::before,
.top-about-study--reference .top-about-study__nine-grid > span::after {
  content: none;
}

.top-about-study--reference .top-about-study__topics {
  gap: 10px;
}

.top-about-study--reference .top-about-study__topics article {
  grid-template-columns: 18px 34px minmax(0, 1fr) 42px;
  padding: 28px 22px;
}

.top-about-study--reference .top-about-study__topics article:nth-child(2) {
  background: linear-gradient(135deg, #5bb3d4 0%, #76c9ca 52%, #8bd2bd 100%);
}

.top-about-study--reference .top-about-study__topics article:nth-child(3) {
  background: linear-gradient(135deg, #2f8eb6 0%, #5ab6cc 54%, #82cabd 100%);
}

.top-about-study--reference .top-about-study__topics article::before {
  top: -34%;
  left: auto;
  right: -8%;
  width: 74%;
  height: 132%;
  border-radius: 50%;
  background: rgba(255, 255, 255, .1);
  transform: none;
}

.top-about-study--reference .top-about-study__topics article::after {
  right: 16%;
  bottom: -46%;
  top: auto;
  left: auto;
  width: 46%;
  height: 90%;
  border-radius: 50%;
  background: rgba(255, 255, 255, .08);
  transform: none;
}

.top-about-study--reference .top-about-study__number,
.top-about-study--reference .top-about-study__topics strong {
  color: #fff;
}

.top-about-study--reference .top-about-study__topics strong {
  font-size: clamp(16px, calc(1.45 * var(--pp-wide-vw, 1vw)), 21px);
}

@media (max-width: 780px) {
  .top-about-study--reference .top-about-study__composition {
    grid-template-columns: minmax(0, 1fr);
  }

  .top-about-study--reference .top-about-study__overview > header {
    grid-template-columns: 18px minmax(0, 1fr) 42px;
    min-height: 108px;
    padding: 24px 20px;
  }

  .top-about-study--reference .top-about-study__nine-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .top-about-study--reference .top-about-study__nine-grid > span {
    min-height: 92px;
  }

  .top-about-study--reference .top-about-study__topics article {
    min-height: 150px;
  }
}

/* Exact ABOUT block geometry: large title panel, one lead panel, three cards. */
.top-about-study--reference {
  width: 100cqw;
  max-width: none;
  margin-left: calc((100% - 100cqw) / 2);
  padding: clamp(54px, calc(5 * var(--pp-wide-vw, 1vw)), 84px) clamp(16px, calc(1.5 * var(--pp-wide-vw, 1vw)), 24px);
  color: #171717;
  border-top: 0;
  background: transparent;
}

.top-about-study--reference .top-about-study__hero-row {
  display: grid;
  grid-template-columns: minmax(260px, .5fr) minmax(0, 1.5fr);
  align-items: stretch;
  gap: clamp(20px, calc(2 * var(--pp-wide-vw, 1vw)), 32px);
}

.top-about-study--reference .top-about-study__heading {
  display: grid;
  align-content: end;
  gap: 0;
  min-width: 0;
  padding: 0 0 clamp(20px, calc(2 * var(--pp-wide-vw, 1vw)), 30px);
}

.top-about-study--reference .top-about-study__aqua-art {
  display: block;
  width: 100%;
  aspect-ratio: 2.15 / 1;
  margin-bottom: clamp(20px, calc(2.5 * var(--pp-wide-vw, 1vw)), 34px);
  background: transparent;
}

.top-about-study--reference .top-about-study__heading h2 {
  display: inline-block;
  width: fit-content;
  margin: 0 0 0 calc(max(calc(3.5 * var(--pp-wide-vw, 1vw)), (100cqw - 1180px) / 2) + 36px - clamp(16px, calc(1.5 * var(--pp-wide-vw, 1vw)), 24px));
  padding: 0;
  color: #fff;
  font-family: var(--pp-font-display);
  font-size: clamp(36px, calc(3.6 * var(--pp-wide-vw, 1vw)), 52px);
  font-weight: 400;
  line-height: 1.18;
  letter-spacing: .02em;
  white-space: nowrap;
  text-shadow: var(--pp-image-heading-shadow) !important;
}

.top-about-study--reference .top-about-study__eyebrow {
  display: block;
  width: fit-content;
  margin: 0 0 16px calc(max(calc(3.5 * var(--pp-wide-vw, 1vw)), (100cqw - 1180px) / 2) + 36px - clamp(16px, calc(1.5 * var(--pp-wide-vw, 1vw)), 24px));
  color: #fff;
  font-family: "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: .2em;
  text-shadow: var(--pp-image-heading-shadow) !important;
}

.top-about-study--reference .top-about-study__feature {
  --top-about-study-image-inset: clamp(14px, calc(1.25 * var(--pp-wide-vw, 1vw)), 20px);
  position: relative;
  min-width: 0;
  overflow: hidden;
  color: inherit;
  border: 1px solid #111;
  background: #f0f4f5;
  text-decoration: none;
}

.top-about-study--reference .top-about-study__feature--overview {
  --top-about-study-image-inset: 0;
  min-height: clamp(250px, calc(22 * var(--pp-wide-vw, 1vw)), 290px);
  aspect-ratio: auto;
  border: 0;
  background: transparent;
}

.top-about-study--reference .top-about-study__feature.top-about-study__feature--overview > strong {
  top: 0;
  left: 0;
  padding: 5px 8px 6px;
  background: rgba(11, 48, 70, .88);
  font-size: clamp(16px, calc(1.65 * var(--pp-wide-vw, 1vw)), 24px);
}

.top-about-study--reference .top-about-study__image-frame {
  position: absolute;
  inset: var(--top-about-study-image-inset);
  display: block;
  overflow: hidden;
  background:
    linear-gradient(24deg, transparent 0 44%, rgba(255, 255, 255, .76) 44.3% 56%, transparent 56.3%),
    radial-gradient(ellipse at 68% 42%, rgba(42, 55, 61, .24) 0 13%, transparent 13.4%),
    linear-gradient(132deg, #dce2e4 0%, #f8f9f9 48%, #c8d0d3 100%);
  filter: none;
}

.top-about-study--reference .top-about-study__feature strong {
  position: absolute;
  top: calc(var(--top-about-study-image-inset) + 8px);
  left: calc(var(--top-about-study-image-inset) + 8px);
  z-index: 2;
  display: block;
  max-width: calc(100% - 44px);
  padding: 5px 8px 6px;
  color: #fff;
  background: #111;
  font-family: var(--pp-font-display);
  font-size: clamp(16px, calc(1.65 * var(--pp-wide-vw, 1vw)), 24px);
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: .01em;
  transition: background-color .2s ease;
}

.top-about-study--reference .top-about-study__card-row .top-about-study__feature:hover > strong,
.top-about-study--reference .top-about-study__card-row .top-about-study__feature:focus-visible > strong {
  background: rgba(84, 178, 220, .94);
}

.top-about-study--reference .top-about-study__arrow {
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 2;
  display: grid;
  width: clamp(52px, calc(5 * var(--pp-wide-vw, 1vw)), 72px);
  aspect-ratio: 1;
  place-items: center;
  color: #171717;
  border-top: 1px solid #111;
  border-left: 1px solid #111;
  background: rgba(255, 255, 255, .92);
  font-size: clamp(19px, calc(2 * var(--pp-wide-vw, 1vw)), 28px);
}

.top-about-study--reference .top-about-study__card-row .top-about-study__arrow {
  display: none;
}

.top-about-study--reference .top-about-study__card-row .top-about-study__feature:hover .top-about-study__arrow,
.top-about-study--reference .top-about-study__card-row .top-about-study__feature:focus-visible .top-about-study__arrow {
  background: rgba(84, 178, 220, .94);
}

.top-about-study--reference .top-about-study__card-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(12px, calc(1.1 * var(--pp-wide-vw, 1vw)), 18px);
  margin-top: clamp(22px, calc(2.4 * var(--pp-wide-vw, 1vw)), 36px);
}

.top-about-study--reference .top-about-study__card-row .top-about-study__feature {
  --top-about-study-card-inset: clamp(18px, calc(2 * var(--pp-wide-vw, 1vw)), 26px);
  --top-about-study-image-inset: 0;
  display: block;
  min-height: 0;
  padding: var(--top-about-study-card-inset);
  aspect-ratio: 1.38 / 1;
  border: 1px solid rgba(0, 61, 85, .20);
  background: rgba(255, 255, 255, .68);
  transition: border-color 180ms ease;
}

.top-about-study--reference .top-about-study__card-row .top-about-study__feature > strong {
  position: absolute;
  top: calc(var(--top-about-study-card-inset) + clamp(8px, calc(.8 * var(--pp-wide-vw, 1vw)), 12px));
  left: clamp(10px, calc(1.15 * var(--pp-wide-vw, 1vw)), 16px);
  display: block;
  max-width: calc(100% - clamp(28px, calc(3 * var(--pp-wide-vw, 1vw)), 42px));
  min-height: auto;
  padding: 5px 8px 6px;
  color: #fff;
  background: var(--pp-ink, #013641);
  font-size: clamp(13px, calc(1.25 * var(--pp-wide-vw, 1vw)), 18px);
  line-height: 1.2;
}

.top-about-study--reference .top-about-study__card-row .top-about-study__image-frame {
  position: relative;
  inset: auto;
  display: block;
  width: 100%;
  height: 100%;
  min-height: 0;
  background: #f2f2f2;
}

.top-about-study--reference .top-about-study__card-row .top-about-study__image-frame img {
  filter: contrast(1.06) saturate(1.02);
  transition: filter 220ms ease, transform 320ms ease;
}

.top-about-study--reference .top-about-study__card-row .top-about-study__image-frame::after {
  position: absolute;
  z-index: 1;
  inset: 0;
  background: transparent;
  content: "";
  pointer-events: none;
  transition: background-color 180ms ease;
}

.top-about-study--reference .top-about-study__card-row .top-about-study__feature:hover .top-about-study__image-frame::after,
.top-about-study--reference .top-about-study__card-row .top-about-study__feature:focus-visible .top-about-study__image-frame::after {
  background: rgba(194, 228, 245, .12);
}

.top-about-study--reference .top-about-study__card-row .top-about-study__feature:hover .top-about-study__image-frame img,
.top-about-study--reference .top-about-study__card-row .top-about-study__feature:focus-visible .top-about-study__image-frame img {
  filter: contrast(1.02) saturate(1.06);
  transform: scale(1.025);
}

.top-about-study--reference .top-about-study__card-row .top-about-study__feature:hover > strong,
.top-about-study--reference .top-about-study__card-row .top-about-study__feature:focus-visible > strong {
  background: var(--pp-ink, #013641);
}

.top-about-study--reference .top-about-study__card-row .top-about-study__arrow {
  right: 0;
  bottom: 0;
  display: grid;
  width: 52px;
  height: 52px;
  aspect-ratio: auto;
  color: #fff;
  border: 1px solid rgba(255, 255, 255, .76);
  background: rgba(92, 160, 190, .82);
  font-size: 0;
  transition: background-color 180ms ease;
}

.top-about-study--reference .top-about-study__card-row .top-about-study__feature:hover .top-about-study__arrow,
.top-about-study--reference .top-about-study__card-row .top-about-study__feature:focus-visible .top-about-study__arrow {
  color: #fff;
  background: rgba(84, 178, 220, .94);
}

.top-about-study--reference .top-about-study__feature--history .top-about-study__image-frame {
  background:
    repeating-linear-gradient(8deg, transparent 0 16px, rgba(70, 76, 78, .17) 16px 17px),
    linear-gradient(135deg, #d5dadc, #f4f5f5 56%, #bfc7ca);
}

.top-about-study--reference .top-about-study__image-frame--pair {
  position: relative;
  display: block;
  isolation: isolate;
  background: #fff;
}

.top-about-study--reference .top-about-study__image-frame--pair img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  animation: top-about-study-pair-slide 10s cubic-bezier(.7, 0, .3, 1) infinite;
  will-change: transform;
}

.top-about-study--reference .top-about-study__image-frame--pair img:first-child {
  animation-delay: -5s;
}

.top-about-study--reference .top-about-study__image-frame--pair img:nth-child(2) {
  animation-delay: 0s;
}

@keyframes top-about-study-pair-slide {
  0% {
    transform: translate3d(100%, 0, 0);
  }

  8%,
  50% {
    transform: translate3d(0, 0, 0);
  }

  58%,
  100% {
    transform: translate3d(-100%, 0, 0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .top-about-study--reference .top-about-study__image-frame--pair img {
    animation: none;
    transform: none;
  }

  .top-about-study--reference .top-about-study__image-frame--pair img:nth-child(2) {
    display: none;
  }
}

.top-about-study--reference .top-about-study__image-frame--photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.top-about-study--reference .top-about-study__service-viewport {
  height: 100%;
}

.top-about-study--reference .top-about-study__service-track {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: repeat(5, clamp(76px, calc(6.4 * var(--pp-wide-vw, 1vw)), 84px));
  gap: clamp(8px, calc(.75 * var(--pp-wide-vw, 1vw)), 12px);
  height: auto;
  align-content: center;
}

.top-about-study--reference .top-about-study__service-slide {
  --top-service-card-surface: rgba(255, 255, 255, .68);
  position: relative;
  display: block;
  min-width: 0;
  overflow: hidden;
  box-sizing: border-box;
  padding: 0;
  border: 1px solid rgba(0, 61, 85, .20);
  outline: 0;
  background: rgba(255, 255, 255, .68);
  transition: background-color 180ms cubic-bezier(.2, .8, .2, 1),
    border-color 180ms cubic-bezier(.2, .8, .2, 1),
    transform 180ms cubic-bezier(.2, .8, .2, 1);
}

.top-about-study--reference .top-about-study__service-slide:hover,
.top-about-study--reference .top-about-study__service-slide:focus-visible {
  --top-service-card-surface: rgba(194, 228, 245, .72);
  border-color: rgba(0, 61, 85, .20);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}

.top-about-study--reference .top-about-study__service-slide::before {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: rgba(194, 228, 245, .14);
  content: "";
  opacity: 0;
  transition: opacity 180ms cubic-bezier(.2, .8, .2, 1);
}

.top-about-study--reference .top-about-study__service-slide::after {
  content: none;
}

.top-about-study--reference .top-about-study__service-image {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 70%;
  height: 100%;
  object-fit: cover;
  filter: contrast(1.08) saturate(1.02);
  transform: scale(1.01);
  transition: filter 180ms cubic-bezier(.2, .8, .2, 1),
    transform 300ms cubic-bezier(.2, .8, .2, 1);
}

.top-about-study--reference .top-about-study__service-slide:hover::before,
.top-about-study--reference .top-about-study__service-slide:focus-visible::before {
  opacity: 1;
}

.top-about-study--reference .top-about-study__service-slide:hover .top-about-study__service-image,
.top-about-study--reference .top-about-study__service-slide:focus-visible .top-about-study__service-image {
  filter: contrast(1.03) saturate(1.06);
  transform: scale(1.045);
}

.top-about-study--reference .top-about-study__service-copy {
  position: absolute;
  z-index: 2;
  left: clamp(8px, calc(.85 * var(--pp-wide-vw, 1vw)), 12px);
  bottom: clamp(8px, calc(.85 * var(--pp-wide-vw, 1vw)), 12px);
  display: flex;
  flex-direction: column;
  max-width: calc(100% - clamp(54px, calc(5 * var(--pp-wide-vw, 1vw)), 62px));
  align-items: flex-start;
  justify-content: flex-start;
  color: var(--pp-deep);
  background: transparent;
  text-align: left;
}

.top-about-study--reference .top-about-study__service-copy b {
  display: flex;
  min-width: clamp(30px, calc(2.8 * var(--pp-wide-vw, 1vw)), 34px);
  min-height: 20px;
  box-sizing: border-box;
  padding: 1px clamp(6px, calc(.55 * var(--pp-wide-vw, 1vw)), 8px) 2px;
  align-items: center;
  justify-content: center;
  color: #fff;
  background: var(--pp-ink, #013641);
  font-family: "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  font-size: clamp(14px, calc(1.45 * var(--pp-wide-vw, 1vw)), 16px);
  font-weight: 400;
  line-height: 1;
  letter-spacing: -.06em;
  font-variant-numeric: tabular-nums;
}

.top-about-study--reference .top-about-study__service-copy strong {
  position: static;
  top: auto;
  left: auto;
  z-index: auto;
  display: block;
  width: fit-content;
  max-width: 100%;
  min-height: 20px;
  min-width: 0;
  box-sizing: border-box;
  margin: 0;
  padding: 1px clamp(6px, calc(.55 * var(--pp-wide-vw, 1vw)), 8px) 2px;
  color: #111;
  border: 1px solid #111;
  background: var(--top-service-card-surface);
  font-family: var(--pp-font-display);
  font-size: clamp(11px, calc(1 * var(--pp-wide-vw, 1vw)), 13px);
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: .01em;
  white-space: nowrap;
  align-content: center;
  overflow: hidden;
  text-overflow: ellipsis;
  transition: background-color 180ms cubic-bezier(.2, .8, .2, 1);
}

.top-about-study--reference .top-about-study__service-arrow {
  position: absolute;
  z-index: 3;
  right: -1px;
  bottom: -1px;
  display: grid;
  width: 52px;
  height: 52px;
  box-sizing: border-box;
  place-items: center;
  color: #fff;
  border: 1px solid rgba(255, 255, 255, .76);
  background: rgba(92, 160, 190, .82);
  font-size: 0;
  transition: background-color 180ms cubic-bezier(.2, .8, .2, 1);
}

.top-about-study--reference :is(
  .top-about-study__service-arrow,
  .top-about-study__card-row .top-about-study__arrow
) > span {
  display: block;
  width: 14px;
  height: 14px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(45deg);
}

.top-about-study--reference .top-about-study__service-slide:hover {
  border-color: rgba(0, 61, 85, .20);
  outline: 0;
  box-shadow: none;
  transform: translateY(-2px);
}

.top-about-study--reference .top-about-study__service-slide:hover .top-about-study__service-arrow,
.top-about-study--reference .top-about-study__service-slide:focus-visible .top-about-study__service-arrow {
  background: rgba(84, 178, 220, .94);
}

.top-about-study--reference .top-about-study__service-slide:focus-visible {
  border-color: rgba(0, 61, 85, .20);
  outline: 2px solid rgba(27, 151, 203, .88);
  outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
  .top-about-study--reference .top-about-study__service-slide,
  .top-about-study--reference .top-about-study__service-copy strong,
  .top-about-study--reference .top-about-study__service-arrow {
    transition: none;
  }

  .top-about-study--reference .top-about-study__service-slide:hover {
    transform: none;
  }
}

.top-about-study--reference .top-about-study__feature--keyword .top-about-study__image-frame {
  background:
    radial-gradient(circle at 50% 30%, rgba(57, 63, 66, .25), transparent 29%),
    linear-gradient(145deg, #edf0f1, #c8d0d3 58%, #f7f8f8);
}

.top-about-study--reference .top-about-study__feature--message .top-about-study__image-frame {
  background:
    radial-gradient(ellipse at 62% 28%, rgba(49, 55, 58, .32) 0 15%, transparent 15.5%),
    linear-gradient(118deg, #f6f7f7, #d1d7d9 54%, #eef0f0);
}

@media (max-width: 920px) {
  .top-about-study--reference .top-about-study__hero-row {
    grid-template-columns: minmax(270px, .92fr) minmax(0, 1.08fr);
    gap: 20px;
  }

}

@media (min-width: 781px) and (max-width: 1280px) {
  body[data-page="company"] :is(
    #philosophy .company-philosophy-intro,
    #message .company-message-feature-intro
  ) {
    padding-inline: clamp(24px, calc(2.8 * var(--pp-wide-vw, 1vw)), 34px);
  }

  body[data-page="company"] :is(
    #philosophy .company-philosophy-intro h2,
    #message .company-message-feature-intro h2
  ) {
    font-size: clamp(38px, calc(4 * var(--pp-wide-vw, 1vw)), 44px);
    letter-spacing: .04em;
  }
}

@media (max-width: 780px) {
  .top-about-study--reference {
    padding: 54px 20px 62px;
  }

  .top-about-study--reference .top-about-study__heading h2 {
    margin-left: 18px;
  }

  .top-about-study--reference .top-about-study__eyebrow {
    margin-left: 18px;
  }

  .top-about-study--reference .top-about-study__hero-row {
    grid-template-columns: minmax(0, 1fr);
  }

  .top-about-study--reference .top-about-study__heading {
    display: grid;
    padding-bottom: 0;
  }

  .top-about-study--reference .top-about-study__aqua-art {
    max-height: 230px;
  }

  .top-about-study--reference .top-about-study__feature--overview {
    min-height: 360px;
    aspect-ratio: auto;
  }

  .top-about-study--reference .top-about-study__service-track {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: repeat(5, 76px);
  }

  .top-about-study--reference .top-about-study__service-copy {
    max-width: calc(100% - 52px);
  }

  .top-about-study--reference .top-about-study__card-row {
    grid-template-columns: minmax(0, 1fr);
  }

  .top-about-study--reference .top-about-study__card-row .top-about-study__feature {
    min-height: 210px;
    aspect-ratio: auto;
  }
}

@media (max-width: 560px) {
  .top-about-study--reference :is(
    .top-about-study__service-arrow,
    .top-about-study__card-row .top-about-study__arrow
  ) {
    width: 44px;
    height: 44px;
  }

  .top-about-study--reference .top-about-study__service-track {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: repeat(9, 78px);
    gap: 10px;
  }

  .top-about-study--reference .top-about-study__feature--overview {
    min-height: 0;
  }

  .top-about-study--reference .top-about-study__service-copy b {
    min-width: 30px;
    min-height: 20px;
    font-size: 14px;
  }

  .top-about-study--reference .top-about-study__service-copy strong {
    font-size: 11px;
  }
}

/* TOP finder study: keep all three fields and nine services visible at once. */
body[data-page="home"] .top-about-study--reference {
  display: flex;
  flex-direction: column;
  gap: clamp(56px, calc(6 * var(--pp-wide-vw, 1vw)), 84px);
  padding-inline: clamp(34px, calc(5 * var(--pp-wide-vw, 1vw)), 82px);
  scroll-margin-top: calc(var(--pp-header-height) + 12px);
}

body[data-page="home"] .top-about-study--reference .top-about-study__hero-row {
  order: 2;
  display: block;
}

body[data-page="home"] .top-about-study--reference .top-about-study__heading {
  grid-area: finder-heading;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: end;
  gap: clamp(16px, calc(2 * var(--pp-wide-vw, 1vw)), 28px);
  min-width: 0;
  padding: 0 0 clamp(18px, calc(1.7 * var(--pp-wide-vw, 1vw)), 24px);
  border-bottom: 1px solid rgba(0, 54, 65, .34);
}

body[data-page="home"] .top-about-study--reference .top-about-study__aqua-art {
  display: none;
}

body[data-page="home"] .top-about-study--reference .top-about-study__eyebrow,
body[data-page="home"] .top-about-study--reference .top-about-study__heading h2 {
  margin: 0;
}

body[data-page="home"] .top-about-study--reference .top-about-study__eyebrow {
  padding-bottom: 8px;
}

body[data-page="home"] .top-about-study--reference .top-about-study__heading h2 {
  font-size: clamp(34px, calc(3.5 * var(--pp-wide-vw, 1vw)), 50px);
  line-height: 1.08;
  white-space: normal;
}

body[data-page="home"] .top-about-study--reference .top-about-study__group-heading {
  display: grid;
  gap: 0;
  min-width: 0;
  padding-bottom: clamp(18px, calc(1.8 * var(--pp-wide-vw, 1vw)), 26px);
}

body[data-page="home"] .top-about-study--reference .top-about-study__group-heading > span {
  display: block;
  margin-bottom: var(--pp-page-label-gap, 16px);
  color: rgba(255, 255, 255, .82);
  font-family: var(--pp-font-latin);
  font-size: var(--pp-page-label-size, 11px);
  font-weight: 700;
  line-height: var(--pp-page-label-line-height, 1.2);
  letter-spacing: var(--pp-page-label-letter-spacing, .2em);
  text-shadow: var(--pp-image-heading-shadow) !important;
}

body[data-page="home"] .top-about-study--reference .top-about-study__group-heading h3 {
  margin: 0;
  color: #fff;
  font-family: var(--pp-font-display);
  font-size: clamp(36px, calc(3.6 * var(--pp-wide-vw, 1vw)), 52px);
  font-weight: 400;
  line-height: 1.18;
  letter-spacing: .02em;
  white-space: nowrap;
  text-shadow: var(--pp-image-heading-shadow) !important;
}

body[data-page="home"] .top-about-study--reference .top-about-study__card-row {
  order: 1;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-template-rows: auto clamp(180px, calc(18 * var(--pp-wide-vw, 1vw)), 232px);
  align-items: stretch;
  gap: clamp(10px, calc(1 * var(--pp-wide-vw, 1vw)), 14px);
  margin: 0;
}

body[data-page="home"] :is(#top-field-finder, #top-service-finder) {
  scroll-margin-top: calc(var(--pp-header-height) + 12px);
}

body[data-page="home"] .top-about-study--reference .top-about-study__card-row > .top-about-study__group-heading {
  grid-column: 1 / -1;
}

body[data-page="home"] .top-about-study--reference .top-about-study__card-row .top-about-study__feature {
  --top-about-study-card-inset: 12px;
  min-height: clamp(180px, calc(18 * var(--pp-wide-vw, 1vw)), 232px);
  padding: var(--top-about-study-card-inset);
  aspect-ratio: auto;
}

body[data-page="home"] .top-about-study--reference .top-about-study__card-row .top-about-study__feature > strong {
  top: calc(var(--top-about-study-card-inset) + 8px);
  padding: 6px 9px 7px;
  font-size: clamp(15px, calc(1.35 * var(--pp-wide-vw, 1vw)), 19px);
  font-weight: 800;
}

body[data-page="home"] .top-about-study--reference .top-about-study__feature--overview {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  gap: clamp(10px, calc(1 * var(--pp-wide-vw, 1vw)), 14px);
  min-height: 0;
  padding-left: 0;
  border-left: 0;
}

body[data-page="home"] .top-about-study--reference .top-about-study__service-viewport {
  height: auto;
}

body[data-page="home"] .top-about-study--reference .top-about-study__service-track {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-template-rows: repeat(3, 132px);
  align-content: stretch;
  gap: clamp(10px, calc(1 * var(--pp-wide-vw, 1vw)), 14px);
  height: auto;
}

body[data-page="home"] .top-about-study--reference .top-about-study__service-copy {
  max-width: calc(100% - 68px);
}

body[data-page="home"] .top-about-study--reference .top-about-study__service-copy strong {
  max-height: 2.5em;
  padding: 5px 8px 6px;
  color: #fff;
  border-color: var(--pp-ink, #013641);
  background: rgba(0, 44, 61, .94);
  font-size: clamp(13px, calc(1.2 * var(--pp-wide-vw, 1vw)), 16px);
  font-weight: 800;
  line-height: 1.18;
  white-space: normal;
}

body[data-page="home"] .top-about-study--reference [data-field-family="medicine"],
body[data-page="home"] .top-about-study--reference [data-service-family="medicine"] {
  --top-family-accent: #21a9c8;
  --top-family-accent-hover: #35b6d2;
}

body[data-page="home"] .top-about-study--reference [data-field-family="medical-device"],
body[data-page="home"] .top-about-study--reference [data-service-family="medical-device"] {
  --top-family-accent: #1688bd;
  --top-family-accent-hover: #2f9bc9;
}

body[data-page="home"] .top-about-study--reference [data-field-family="engineering"],
body[data-page="home"] .top-about-study--reference [data-service-family="engineering"] {
  --top-family-accent: #238f8b;
  --top-family-accent-hover: #1d7d7a;
}

body[data-page="home"] .top-about-study--reference .top-about-study__card-row [data-field-family] > strong,
body[data-page="home"] .top-about-study--reference [data-service-family] .top-about-study__service-copy strong {
  color: #013641;
  border-color: var(--top-family-accent);
  background: color-mix(in srgb, var(--top-family-accent) 18%, rgba(255, 255, 255, .9));
  box-shadow: inset 0 0 0 3px rgba(255, 255, 255, .62) !important;
}

body[data-page="home"] .top-about-study--reference .top-family-link-label {
  position: relative;
  display: inline-block;
  width: fit-content;
  max-width: 100%;
  padding-bottom: 2px;
}

body[data-page="home"] .top-about-study--reference .top-family-link-label::after {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 1px;
  background: var(--top-family-accent);
  content: "";
  transform: scaleX(1);
  transform-origin: right center;
}

body[data-page="home"] .top-about-study--reference :is([data-field-family], [data-service-family]):is(:hover, :focus-visible) .top-family-link-label::after {
  animation: medicine-service-link-redraw 440ms ease both;
}

body[data-page="home"] .top-about-study--reference :is(.top-about-study__arrow, .top-about-study__service-arrow) {
  display: none !important;
}

body[data-page="home"] .top-about-study--reference .top-about-study__service-copy {
  max-width: calc(100% - 24px);
}

@media (prefers-reduced-motion: reduce) {
  body[data-page="home"] .top-about-study--reference :is([data-field-family], [data-service-family]):is(:hover, :focus-visible) .top-family-link-label::after {
    animation: none;
  }
}

@media (max-width: 960px) {
  body[data-page="home"] .top-about-study--reference {
    gap: 52px;
  }
}

@media (max-width: 780px) {
  body[data-page="home"] .top-about-study--reference {
    display: flex;
    flex-direction: column;
    gap: 32px;
    padding-inline: 20px;
  }

  body[data-page="home"] .top-about-study--reference .top-about-study__group-heading h3 {
    font-size: clamp(30px, calc(9 * var(--pp-wide-vw, 1vw)), 42px);
  }

  body[data-page="home"] .top-about-study--reference .top-about-study__heading {
    order: 0;
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
  }

  body[data-page="home"] .top-about-study--reference .top-about-study__eyebrow {
    padding-bottom: 0;
  }

  body[data-page="home"] .top-about-study--reference .top-about-study__card-row {
    order: 1;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto repeat(3, 190px);
  }

  body[data-page="home"] .top-about-study--reference .top-about-study__feature--overview {
    order: 2;
    padding: 32px 0 0;
    border-top: 1px solid rgba(0, 54, 65, .34);
    border-left: 0;
  }

  body[data-page="home"] .top-about-study--reference .top-about-study__service-track {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: repeat(9, 86px);
  }

  body[data-page="home"] .top-about-study--reference .top-about-study__card-row .top-about-study__feature {
    min-height: 190px;
  }
}

@media (max-width: 560px) {
  body[data-page="home"] .top-about-study--reference .top-about-study__heading h2 {
    font-size: clamp(30px, calc(9 * var(--pp-wide-vw, 1vw)), 40px);
  }

  body[data-page="home"] .top-about-study--reference .top-about-study__service-track {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: repeat(9, 86px);
  }
}

.top-service-grid,
.top-domain-grid,
.top-results-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  margin-bottom: 24px;
  border: 1px solid rgba(84, 178, 220, .24);
  background: rgba(84, 178, 220, .24);
}

.top-service-card,
.top-domain-card,
.top-results-grid article {
  position: relative;
  min-width: 0;
  padding: 28px;
  background: rgba(255, 255, 255, .96);
  transition: transform 180ms ease, background-color 180ms ease, box-shadow 180ms ease;
}

.top-service-card::before {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 5px;
  background: var(--pp-primary);
  content: "";
}

.top-service-card:hover,
.top-domain-card:hover {
  z-index: 1;
  background: #fff;
  box-shadow: 0 18px 44px rgba(0, 35, 58, .18);
  transform: translateY(-3px);
}

.top-card-number {
  display: block;
  margin-bottom: 18px;
  color: rgba(84, 178, 220, .24);
  font-family: var(--pp-font-latin);
  font-size: 52px;
  font-weight: 800;
  line-height: 1;
}

.top-service-card h3,
.top-domain-card h3,
.top-results-grid h3 {
  margin: 0 0 12px;
  color: var(--pp-deep);
  font-size: 20px;
  line-height: 1.45;
}

.top-service-card p,
.top-domain-card p,
.top-results-grid p {
  margin: 0 0 18px;
  color: var(--pp-muted);
  font-size: 14px;
}

.top-service-section {
  border-top: 0;
  background: transparent;
  box-shadow: none;
}

.top-service-section .top-section-label {
  margin-bottom: 16px;
  color: #fff;
  font-family: "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: .2em;
}

.top-service-section .section-heading {
  display: inline-block;
  margin: 0;
  padding: 0;
  color: #fff;
  font-size: clamp(32px, calc(4 * var(--pp-wide-vw, 1vw)), 56px);
  font-weight: 800;
  line-height: 1.05;
  letter-spacing: -.07em;
  text-decoration: underline;
  text-decoration-thickness: 4px;
  text-underline-offset: 6px;
}

.top-service-original-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px 2%;
  margin-top: 48px;
}

.top-service-original-card {
  position: relative;
  display: grid;
  place-items: center;
  min-width: 0;
  height: 250px;
  overflow: hidden;
  isolation: isolate;
  background: var(--service-image) center / cover no-repeat;
  color: #fff;
  text-align: center;
  text-decoration: none;
}

.top-service-original-card::before {
  position: absolute;
  inset: 0;
  z-index: -1;
  background: rgba(0, 0, 0, .4);
  content: "";
  transition: background-color .3s ease;
}

.top-service-original-card::after {
  position: absolute;
  inset: 6px;
  border: 2px solid #fff;
  content: "";
  opacity: 0;
  transition: opacity .3s ease;
}

.top-service-original-card h3 {
  margin: 0;
  padding: 0 12px;
  color: #fff;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.45;
  text-shadow: 0 1px 5px rgba(0, 0, 0, .36);
  transition: transform .3s ease;
}

.top-service-original-card span {
  position: absolute;
  bottom: 50px;
  left: 50%;
  z-index: 1;
  width: 130px;
  padding: 6px 16px;
  background: #4eabd8;
  color: #fff;
  font-size: 14px;
  line-height: 1.45;
  opacity: 0;
  transform: translate(-50%, 8px);
  transition: opacity .3s ease, transform .3s ease;
}

.top-service-original-card:hover,
.top-service-original-card:focus-visible {
  color: #fff;
}

.top-service-original-card:hover::before,
.top-service-original-card:focus-visible::before {
  background: rgba(31, 97, 129, .8);
}

.top-service-original-card:hover::after,
.top-service-original-card:focus-visible::after,
.top-service-original-card:hover span,
.top-service-original-card:focus-visible span {
  opacity: 1;
}

.top-service-original-card:hover h3,
.top-service-original-card:focus-visible h3 {
  transform: translateY(-30px);
}

.top-service-original-card:hover span,
.top-service-original-card:focus-visible span {
  transform: translate(-50%, 0);
}

.top-region-section {
  padding: clamp(32px, calc(5 * var(--pp-wide-vw, 1vw)), 52px) 0 34px;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.top-region-section .top-section-head {
  display: block;
  margin-bottom: 38px;
  padding-inline: 36px;
  text-align: left;
}

.top-region-section .top-section-label {
  margin-bottom: 16px;
  color: #fff;
  font-family: "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: .2em;
}

.top-region-section .section-heading {
  display: inline-block;
  margin: 0;
  padding: 0;
  color: #fff;
  font-size: clamp(32px, calc(4 * var(--pp-wide-vw, 1vw)), 56px);
  font-weight: 800;
  line-height: 1.05;
  letter-spacing: -.07em;
  text-decoration: underline;
  text-decoration-thickness: 4px;
  text-underline-offset: 6px;
}

.top-region-section .top-domain-grid {
  gap: clamp(20px, calc(2.5 * var(--pp-wide-vw, 1vw)), 30px);
  margin: 0;
  border: 0;
  background: transparent;
}

.top-region-section .top-domain-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  min-height: 298px;
  padding: 20px;
  color: #172a35;
  background: #fff;
  box-shadow: 0 1px 10px rgba(19, 55, 71, .14);
  text-align: center;
}

.top-region-section .top-domain-card img {
  width: 144px;
  height: 144px;
  margin-bottom: 12px;
  object-fit: cover;
}

.top-region-section .top-domain-card h3 {
  margin: 0;
  color: #172a35;
  font-size: 23px;
  font-weight: 400;
  line-height: 1.35;
}

.top-region-section .top-domain-card p {
  margin: 0 0 16px;
  color: #172a35;
  font-size: 15px;
  line-height: 1.55;
}

.top-region-section .top-domain-card span {
  display: grid;
  place-items: center;
  width: 100%;
  min-height: 33px;
  margin-top: auto;
  color: #188fc2;
  border: 1px solid #21a1d5;
  font-size: 14px;
  line-height: 1.2;
  transition: color 180ms ease, background-color 180ms ease;
}

.top-region-section .top-domain-card:hover {
  box-shadow: 0 8px 22px rgba(19, 55, 71, .16);
  transform: translateY(-2px);
}

.top-region-section .top-domain-card:hover span,
.top-region-section .top-domain-card:focus-visible span {
  color: #fff;
  background: #2e95c3;
}

.top-meister-section {
  position: relative;
  z-index: 0;
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  min-height: 420px;
  overflow: hidden;
  border: 0;
  background: transparent;
  box-shadow: none;
  isolation: isolate;
}

.top-meister-section::before,
.top-meister-section::after {
  content: none;
}

.top-meister-visual {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  min-height: 420px;
  overflow: hidden;
  background: transparent;
}

.top-meister-visual::after {
  content: none;
}

.top-meister-visual span {
  position: relative;
  z-index: 1;
  display: inline-block;
  color: #fff;
  font-family: Meiryo, "Hiragino Kaku Gothic ProN", sans-serif;
  font-size: clamp(32px, calc(4 * var(--pp-wide-vw, 1vw)), 56px);
  font-weight: 400;
  line-height: 1.05;
  letter-spacing: 0;
  padding-bottom: 22px;
  text-decoration: none;
  white-space: nowrap;
}

.top-meister-visual span::after {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 18px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='18' viewBox='0 0 64 18'%3E%3Cpath d='M0 9C8 0 16 0 24 9S40 18 48 9S56 0 64 9' fill='none' stroke='%23f3c84b' stroke-width='2' stroke-linecap='round'/%3E%3Cpath d='M0 9C8 18 16 18 24 9S40 0 48 9S56 18 64 9' fill='none' stroke='%23f3c84b' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
  background-position: left center;
  background-repeat: repeat-x;
  background-size: 64px 18px;
  content: "";
}

.top-meister-visual sup {
  position: relative;
  top: -.55em;
  margin-left: .08em;
  font-size: .46em;
  line-height: 0;
}

.top-meister-copy {
  position: relative;
  z-index: 1;
  align-self: center;
  padding: clamp(32px, calc(5 * var(--pp-wide-vw, 1vw)), 58px);
  color: #fff;
  background: transparent;
}

.top-meister-copy .top-section-label {
  color: #fff;
}

.top-meister-copy h2 {
  margin: 0 0 20px;
  color: #fff;
  font-family: var(--pp-font-display);
  font-size: clamp(30px, calc(4 * var(--pp-wide-vw, 1vw)), 44px);
  line-height: 1.25;
}

.top-meister-copy p {
  margin: 0 0 26px;
  color: rgba(255, 255, 255, .86);
}

.top-meister-links {
  display: block;
}

.top-meister-links .button-secondary {
  display: flex;
  width: 100%;
  min-height: 76px;
  align-items: center;
  justify-content: center;
  gap: 18px;
  color: var(--pp-primary);
  border-color: var(--pp-primary);
  border-radius: 0;
  background: #fff;
  font-size: 20px;
  font-weight: 400;
  transition: color .3s ease, background-color .3s ease, border-color .3s ease;
}

.top-meister-links .button-secondary .ph {
  font-size: 12px;
}

.top-meister-links .button-secondary:hover {
  color: #fff;
  border-color: #329bd2;
  background: #329bd2;
  transform: none;
}

.top-meister-links .button-secondary:active {
  transform: none;
}

.top-results-grid article {
  min-height: 190px;
}

.top-results-grid article > span {
  display: inline-flex;
  margin-bottom: 26px;
  padding: 5px 10px;
  color: #fff;
  background: var(--pp-deep);
  font-family: var(--pp-font-latin);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
}

.top-results-section {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
  column-gap: 0;
  width: 100cqw;
  min-height: clamp(560px, calc(42 * var(--pp-wide-vw, 1vw)), 680px);
  margin-left: calc((100% - 100cqw) / 2);
  overflow: hidden;
  color: #fff;
  background: #071b2c;
}

.top-results-section::after {
  display: none;
}

.top-results-intro {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  padding: clamp(64px, calc(7 * var(--pp-wide-vw, 1vw)), 104px) clamp(54px, calc(7 * var(--pp-wide-vw, 1vw)), 106px);
  background: rgba(5, 27, 44, .90);
}

.top-results-intro h2 {
  margin: 0;
  color: #fff;
  font-family: var(--pp-font-display);
  font-size: clamp(48px, calc(5 * var(--pp-wide-vw, 1vw)), 70px);
  font-weight: 400;
  line-height: 1.18;
  letter-spacing: .16em;
}

.top-results-en {
  margin: 28px 0 0;
  color: #fff;
  font-family: "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: .2em;
}

.top-results-lead {
  margin: clamp(46px, calc(5 * var(--pp-wide-vw, 1vw)), 66px) 0 0;
  color: rgba(255, 255, 255, .92);
  font-size: clamp(15px, calc(1.4 * var(--pp-wide-vw, 1vw)), 18px);
  font-weight: 600;
  line-height: 2;
}

.top-results-primary-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: #fff;
  text-decoration: none;
  width: min(100%, 330px);
  margin-top: clamp(46px, calc(5 * var(--pp-wide-vw, 1vw)), 68px);
  font-size: clamp(20px, calc(2 * var(--pp-wide-vw, 1vw)), 26px);
  font-weight: 700;
  letter-spacing: .04em;
}

.top-results-primary-link span {
  margin-left: 18px;
  font-size: 1.35em;
  font-weight: 300;
  transition: transform 180ms ease;
}

.top-results-primary-link:hover span,
.top-results-primary-link:focus-visible span {
  transform: translateX(6px);
}

.top-results-primary-link:focus-visible {
  outline: 2px solid var(--pp-rail-accent);
  outline-offset: 6px;
}

.top-results-divider {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 46%;
  z-index: 3;
  display: grid;
  width: clamp(72px, calc(6 * var(--pp-wide-vw, 1vw)), 96px);
  height: auto;
  place-items: center;
  color: #fff;
  border: 0;
  border-right: 1px solid rgba(255, 255, 255, .92);
  border-left: 1px solid rgba(255, 255, 255, .92);
  border-radius: 0;
  background: rgba(5, 27, 44, .92);
  text-decoration: none;
  cursor: pointer;
  transform: translateX(-50%);
  transition: color 180ms ease, background-color 180ms ease;
}

.top-results-divider-mark {
  display: block;
  width: 0;
  height: 0;
  border-top: 18px solid transparent;
  border-bottom: 18px solid transparent;
  border-left: 18px solid #fff;
  transform: translateX(2px);
  transition: transform 180ms ease;
}

.top-results-divider:hover,
.top-results-divider:focus-visible {
  color: #fff;
  background: rgba(5, 27, 44, .98);
}

.top-results-divider:hover .top-results-divider-mark,
.top-results-divider:focus-visible .top-results-divider-mark {
  transform: translateX(7px);
}

.top-results-section.is-toc-open .top-results-divider-mark {
  transform: translateX(-2px) rotate(180deg);
}

.top-results-section.is-toc-open .top-results-divider:hover .top-results-divider-mark,
.top-results-section.is-toc-open .top-results-divider:focus-visible .top-results-divider-mark {
  transform: translateX(-7px) rotate(180deg);
}

.top-results-divider:focus-visible {
  outline: 0;
}

.top-results-visual {
  position: relative;
  min-width: 0;
  height: 100%;
  margin: 0;
  background: transparent;
}

#results > .top-results-intro {
  grid-column: 2;
  grid-row: 1;
}

#results {
  isolation: isolate;
  grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr);
  background: #071b2c;
}

#results::before {
  position: absolute;
  inset: 0;
  z-index: 0;
  content: "";
  background:
    linear-gradient(rgba(5, 27, 44, .36), rgba(5, 27, 44, .36)),
    url("images/pp-results-performance-analytics-v1.png") center / cover no-repeat;
  transform: none;
}

#results > .top-results-divider {
  left: 54%;
}

#results > .top-results-divider .top-results-divider-icon {
  font-size: 34px;
  transition: transform 180ms ease;
}

#results > .top-results-divider:hover .top-results-divider-icon,
#results > .top-results-divider:focus-visible .top-results-divider-icon {
  transform: translateX(-6px);
}

#results.is-toc-open > .top-results-divider .top-results-divider-icon {
  transform: rotate(180deg);
}

#results.is-toc-open > .top-results-divider:hover .top-results-divider-icon,
#results.is-toc-open > .top-results-divider:focus-visible .top-results-divider-icon {
  transform: translateX(6px) rotate(180deg);
}

#results > .top-results-visual {
  position: relative;
  z-index: 1;
  grid-column: 1;
  grid-row: 1;
  overflow: hidden;
  background: rgba(5, 27, 44, .28);
}

#results > .top-results-divider .top-results-divider-mark {
  border-right: 18px solid #fff;
  border-left: 0;
  transform: translateX(-2px);
}

#results > .top-results-divider:hover .top-results-divider-mark,
#results > .top-results-divider:focus-visible .top-results-divider-mark {
  transform: translate(-18px, 10px);
}

#results.is-toc-open > .top-results-divider .top-results-divider-mark {
  transform: translateX(2px) rotate(180deg);
}

#results.is-toc-open > .top-results-divider:hover .top-results-divider-mark,
#results.is-toc-open > .top-results-divider:focus-visible .top-results-divider-mark {
  transform: translateX(7px) rotate(180deg);
}

.top-results-toc {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 0;
  padding: clamp(38px, calc(5 * var(--pp-wide-vw, 1vw)), 72px) clamp(56px, calc(8 * var(--pp-wide-vw, 1vw)), 126px);
  color: #fff;
  background: rgba(5, 27, 44, .90);
  backdrop-filter: blur(2px);
}

.top-results-toc[hidden] {
  display: none;
}

.top-results-toc-label {
  margin: 0 0 20px;
  color: rgba(255, 255, 255, .72);
  font-family: var(--pp-font-latin);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .2em;
}

.top-results-toc h3 {
  margin: 0 0 32px;
  color: #fff;
  font-size: clamp(28px, calc(3 * var(--pp-wide-vw, 1vw)), 42px);
  font-weight: 500;
  line-height: 1.45;
  letter-spacing: .06em;
}

.top-results-toc-links {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: clamp(30px, calc(5 * var(--pp-wide-vw, 1vw)), 72px);
  align-content: center;
  height: auto;
}

.top-results-toc a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 50px;
  color: #fff;
  border-top: 1px solid rgba(255, 255, 255, .92);
  font-size: clamp(15px, calc(1.4 * var(--pp-wide-vw, 1vw)), 18px);
  font-weight: 700;
  text-decoration: none;
}

.top-results-toc .top-results-toc-primary {
  width: 100%;
  min-height: 54px;
  margin-bottom: 18px;
  border-top: 0;
  border-bottom: 0;
  font-size: clamp(20px, calc(2 * var(--pp-wide-vw, 1vw)), 28px);
  letter-spacing: .04em;
}

.top-results-toc a:nth-last-child(-n + 2) {
  border-bottom: 1px solid rgba(255, 255, 255, .92);
}

.top-results-toc > .top-results-toc-primary {
  border-bottom: 0 !important;
}

.top-results-toc-note {
  max-width: 32em;
  margin: 0;
  color: rgba(255, 255, 255, .78);
  font-size: clamp(14px, calc(1.15 * var(--pp-wide-vw, 1vw)), 16px);
  font-weight: 500;
  line-height: 1.9;
  letter-spacing: .035em;
}

.top-results-toc a span {
  margin-left: 18px;
  font-size: 1.25em;
  font-weight: 300;
  transition: transform 180ms ease;
}

.top-results-toc a:hover span,
.top-results-toc a:focus-visible span {
  transform: translateX(6px);
}

body[data-page="home"] #top-results-toc a > .ph {
  flex: 0 0 auto;
  margin-left: 16px;
  font-size: 18px;
  transition: transform 180ms ease;
}

body[data-page="home"] #top-results-toc a:hover > .ph,
body[data-page="home"] #top-results-toc a:focus-visible > .ph {
  transform: translate(4px, -4px);
}

.top-results-toc a:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 4px;
}

.top-region-feature {
  isolation: isolate;
  background: #071f31;
}

.top-region-feature-intro {
  background: var(--pp-feature-panel-blue);
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}

.top-region-feature-divider {
  border-right: 1px solid var(--pp-feature-panel-line);
  border-left: 1px solid var(--pp-feature-panel-line);
  background: var(--pp-feature-panel-blue);
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  transform: translateX(-50%);
}

.top-region-feature-divider:hover,
.top-region-feature-divider:focus-visible {
  background: var(--pp-feature-panel-blue);
}

.top-region-feature-intro h2 {
  font-size: clamp(36px, calc(3.6 * var(--pp-wide-vw, 1vw)), 52px);
  letter-spacing: .02em;
  white-space: nowrap;
}

.top-region-heading-kana,
.shared-heading-kana {
  display: inline-block;
  font-size: .82em;
  letter-spacing: .01em;
  transform: translateY(-.02em);
}

body[data-page="home"] #results > .top-results-intro h2 {
  font-size: clamp(36px, calc(3.6 * var(--pp-wide-vw, 1vw)), 52px);
  letter-spacing: .04em;
  white-space: nowrap;
}

.top-region-feature-visual {
  position: relative;
  z-index: 1;
  background: rgba(5, 27, 44, .28);
}

.top-region-feature-slides,
.top-region-feature-slide,
.top-region-feature-slide img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.top-region-feature-slides {
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
}

.top-region-feature-slide {
  margin: 0;
  opacity: 0;
  transition: opacity 900ms ease;
}

.top-region-feature-slide.is-active {
  opacity: 1;
}

.top-region-feature-slide img {
  display: block;
  object-fit: cover;
  filter: saturate(.74) contrast(.94) brightness(.72);
  transform: scale(1.015);
}

.top-region-feature-slide:nth-child(2) img {
  object-position: 50% 54%;
}

.top-region-feature-visual::after {
  display: none;
}

.top-region-feature-divider-icon {
  font-size: 34px;
  transition: transform 180ms ease;
}

.top-region-feature-divider:hover .top-region-feature-divider-icon,
.top-region-feature-divider:focus-visible .top-region-feature-divider-icon {
  transform: translateX(6px);
}

.top-region-feature.is-toc-open .top-region-feature-divider-icon {
  transform: rotate(180deg);
}

.top-region-feature.is-toc-open .top-region-feature-divider:hover .top-region-feature-divider-icon,
.top-region-feature.is-toc-open .top-region-feature-divider:focus-visible .top-region-feature-divider-icon {
  transform: translateX(-6px) rotate(180deg);
}

.top-region-feature-menu-title {
  margin: 0 0 24px;
  color: #fff;
  font-size: clamp(20px, calc(2 * var(--pp-wide-vw, 1vw)), 28px);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: .04em;
}

.top-region-feature-toc {
  z-index: 3;
  background: linear-gradient(135deg, rgba(7, 31, 49, .9), rgba(11, 52, 77, .78));
  -webkit-backdrop-filter: blur(2px);
  backdrop-filter: blur(2px);
}

.top-region-feature-toc .top-results-toc-links {
  align-items: stretch;
}

.top-region-feature-toc .top-results-toc-links a:last-child {
  grid-column: 1 / -1;
}

.top-region-feature-toc .top-results-toc-links a:nth-child(2) {
  border-bottom: 0;
}

.top-region-feature-link-copy {
  min-width: 0;
  padding: 9px 0;
}

.top-region-feature-link-copy strong,
.top-region-feature-link-copy small {
  display: block;
}

@media (min-width: 781px) {
  body[data-page="home"] .top-results-section:not(.company-contact-feature) {
    min-height: 500px;
  }

  body[data-page="home"] .top-results-section:not(.company-contact-feature) > .top-results-intro {
    padding-block: clamp(40px, calc(4 * var(--pp-wide-vw, 1vw)), 58px);
  }

  body[data-page="home"] .top-region-feature {
    grid-template-columns: minmax(0, 46%) clamp(58px, calc(6 * var(--pp-wide-vw, 1vw)), 84px) minmax(0, 1fr);
  }

  body[data-page="home"] #results {
    grid-template-columns: minmax(0, 54%) clamp(58px, calc(6 * var(--pp-wide-vw, 1vw)), 84px) minmax(0, 1fr);
  }

  body[data-page="home"] #top-services {
    grid-template-columns: minmax(0, 46%) clamp(58px, calc(6 * var(--pp-wide-vw, 1vw)), 84px) minmax(0, 1fr);
  }

  body[data-page="home"] #top-services > .top-results-intro {
    grid-column: 1;
    grid-row: 1;
  }

  body[data-page="home"] #top-services > .top-results-divider {
    position: relative;
    inset: auto;
    grid-column: 2;
    grid-row: 1;
    width: 100%;
    height: 100%;
    border-right: 1px solid rgba(255, 255, 255, .92);
    border-left: 1px solid rgba(255, 255, 255, .92);
    transform: none;
  }

  body[data-page="home"] #top-services > .top-results-visual {
    grid-column: 3;
    grid-row: 1;
  }

  body[data-page="home"] .top-region-feature > .top-results-intro {
    grid-column: 1;
    grid-row: 1;
  }

  body[data-page="home"] .top-region-feature > .top-results-visual {
    grid-column: 3;
    grid-row: 1;
  }

  body[data-page="home"] #results > .top-results-visual {
    grid-column: 1;
    grid-row: 1;
  }

  body[data-page="home"] #results > .top-results-intro {
    grid-column: 3;
    grid-row: 1;
    background: var(--pp-feature-panel-blue);
  }

  body[data-page="home"] .top-region-feature > .top-results-divider,
  body[data-page="home"] #results > .top-results-divider {
    position: relative;
    inset: auto;
    grid-column: 2;
    grid-row: 1;
    width: 100%;
    height: 100%;
    border-right: 1px solid var(--pp-feature-panel-line);
    border-left: 1px solid var(--pp-feature-panel-line);
    background: var(--pp-feature-panel-blue);
    backdrop-filter: none;
    transform: none;
  }

  body[data-page="home"] .top-region-feature > .top-results-divider:hover,
  body[data-page="home"] .top-region-feature > .top-results-divider:focus-visible,
  body[data-page="home"] #results > .top-results-divider:hover,
  body[data-page="home"] #results > .top-results-divider:focus-visible {
    background: var(--pp-feature-panel-blue);
  }

  body[data-page="home"] #results .top-results-toc {
    background: linear-gradient(135deg, rgba(7, 31, 49, .9), rgba(11, 52, 77, .78));
  }
}

.top-region-feature-link-copy strong {
  font-size: clamp(16px, calc(1.5 * var(--pp-wide-vw, 1vw)), 20px);
  line-height: 1.35;
}

.top-region-feature-link-copy small {
  margin-top: 3px;
  color: rgba(255, 255, 255, .72);
  font-size: 11px;
  font-weight: 500;
  line-height: 1.45;
}

.top-region-feature-toc a > .ph {
  flex: 0 0 auto;
  margin-left: 18px;
  font-size: 18px;
  transition: transform 180ms ease;
}

.top-region-feature-toc a:hover > .ph,
.top-region-feature-toc a:focus-visible > .ph {
  transform: translateX(6px);
}

.top-meister-feature {
  isolation: isolate;
  background: #071b2c;
}

.top-meister-feature::before {
  position: absolute;
  inset: 0;
  z-index: 0;
  content: "";
  background:
    linear-gradient(rgba(129, 92, 18, .42), rgba(103, 72, 14, .46)),
    url("images/meister/gmp-meister-branding-school-of-athens.jpg") 12% center / cover no-repeat;
}

.top-meister-feature-visual {
  position: relative;
  z-index: 1;
  background: rgba(119, 83, 16, .22);
}

.top-meister-feature-intro h2 {
  font-family: "Helvetica Neue", Arial, Meiryo, sans-serif;
  font-size: 50px;
  font-weight: 400;
  line-height: 1.06;
  letter-spacing: -.025em;
  white-space: nowrap;
}

.top-meister-feature-intro h2 sup {
  position: relative;
  top: -.7em;
  margin-left: .08em;
  font-size: .42em;
  line-height: 0;
}

.top-meister-feature-intro {
  background:
    radial-gradient(circle at 22% 28%, rgba(213, 173, 69, .34), transparent 42%),
    linear-gradient(135deg, rgba(111, 81, 20, .88), rgba(157, 117, 27, .78));
  backdrop-filter: blur(8px) saturate(.82);
}

.top-meister-feature-divider-icon {
  font-size: 34px;
  transition: transform 180ms ease;
}

.top-meister-feature-divider {
  border-right-color: rgba(246, 217, 133, .76);
  border-left-color: rgba(246, 217, 133, .76);
  background: rgba(119, 83, 16, .92);
}

.top-meister-feature-divider:hover,
.top-meister-feature-divider:focus-visible {
  background: rgba(91, 62, 11, .98);
}

.top-meister-feature-divider:hover .top-meister-feature-divider-icon,
.top-meister-feature-divider:focus-visible .top-meister-feature-divider-icon {
  transform: translateX(6px);
}

.top-meister-feature.is-toc-open .top-meister-feature-divider-icon {
  transform: rotate(180deg);
}

.top-meister-feature.is-toc-open .top-meister-feature-divider:hover .top-meister-feature-divider-icon,
.top-meister-feature.is-toc-open .top-meister-feature-divider:focus-visible .top-meister-feature-divider-icon {
  transform: translateX(-6px) rotate(180deg);
}

.top-meister-feature-menu-title {
  margin: 0 0 24px;
  color: #fff;
  font-family: "Helvetica Neue", Arial, Meiryo, sans-serif;
  font-size: clamp(20px, calc(2 * var(--pp-wide-vw, 1vw)), 28px);
  font-weight: 300;
  line-height: 1.3;
  letter-spacing: -.025em;
}

.top-meister-feature-menu-title sup {
  position: relative;
  top: -.48em;
  margin-left: .08em;
  font-size: .48em;
  line-height: 0;
}

.top-meister-feature-toc {
  z-index: 3;
  background: rgba(91, 62, 11, .90);
}

#top-meister-toc .top-meister-feature-menu-title a {
  justify-content: flex-start;
  color: inherit;
  border-top: 0;
  border-bottom: 0;
  text-decoration: none;
}

.top-meister-feature-menu-title a:is(:hover, :focus-visible) {
  text-decoration: underline;
  text-underline-offset: .18em;
}

.top-meister-feature-toc .top-results-toc-links {
  align-items: stretch;
}

.top-meister-feature-toc .top-results-toc-links a:last-child {
  grid-column: 1 / -1;
}

.top-meister-feature-toc .top-results-toc-links a:nth-last-child(2) {
  border-bottom: 0;
}

.top-meister-feature-link-copy {
  min-width: 0;
  padding: 8px 0;
}

.top-meister-feature-link-copy strong,
.top-meister-feature-link-copy small {
  display: block;
}

.top-meister-feature-link-copy strong {
  font-size: clamp(14px, calc(1.4 * var(--pp-wide-vw, 1vw)), 19px);
  line-height: 1.3;
}

.top-meister-feature-link-copy small {
  margin-top: 3px;
  color: rgba(255, 255, 255, .72);
  font-size: 11px;
  font-weight: 500;
  line-height: 1.4;
}

.top-meister-feature-toc a > .ph {
  flex: 0 0 auto;
  margin-left: 16px;
  font-size: 18px;
  transition: transform 180ms ease;
}

.top-meister-feature-toc a:hover > .ph,
.top-meister-feature-toc a:focus-visible > .ph {
  transform: translate(4px, -4px);
}

@media (prefers-reduced-motion: reduce) {
  .top-region-feature-slide {
    transition: none;
  }
}

.page_results {
  color: var(--pp-text);
  background: transparent;
}

.page_results [data-page-content] {
  min-height: calc(calc(100 * var(--pp-wide-dvh, 1dvh)) - var(--pp-header-height));
  background: transparent;
}

.page_results .external-body-host {
  display: block;
  padding: clamp(54px, calc(7 * var(--pp-wide-vw, 1vw)), 88px) 0 88px;
  background: transparent;
}

/* The final RESULTS contact scene meets the footer without an empty spacer. */
body[data-page="results"] .external-body-host:has(> #pp-results-local > .company-contact-feature:last-child) {
  padding-bottom: 0;
}

.page_results #pp-results-local {
  display: block;
  width: 100%;
}

.results-local-heading {
  position: relative;
  isolation: isolate;
  width: min(1240px, calc(100% - 24px));
  margin: 0 auto 34px;
  padding: 0 12px 18px;
  border-bottom: 0;
}

.page_results .results-local-heading::before {
  content: none;
}

.results-local-heading span {
  display: block;
  margin: 0 0 var(--pp-page-label-gap);
  color: #fff;
  font-family: var(--pp-font-latin);
  font-size: var(--pp-page-label-size);
  font-weight: 700;
  line-height: var(--pp-page-label-line-height);
  letter-spacing: var(--pp-page-label-letter-spacing);
}

.results-local-heading h1 {
  display: inline-block;
  margin: 0;
  padding: 0;
  color: #fff;
  font-family: var(--pp-font-display);
  font-size: var(--pp-page-title-size);
  font-weight: var(--pp-page-title-weight);
  line-height: var(--pp-page-title-line-height);
  letter-spacing: var(--pp-page-title-letter-spacing);
  text-decoration: underline;
  text-decoration-thickness: var(--pp-page-title-underline-thickness);
  text-underline-offset: var(--pp-page-title-underline-offset);
}

.results-local-heading p {
  margin: 14px 0 0;
  color: rgba(255, 255, 255, .88);
  font-size: var(--pp-page-lead-size);
  font-weight: var(--pp-page-lead-weight);
  line-height: var(--pp-page-lead-line-height);
  letter-spacing: var(--pp-page-lead-letter-spacing);
}

.rail-news-menu {
  display: grid;
  gap: 0;
  margin-top: auto;
  color: var(--pp-ink);
  border-top: 1px solid var(--pp-rail-line);
}

.rail-news-row {
  position: relative;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 12px;
  align-items: center;
  min-height: 70px;
  padding: 15px 10px 14px 12px;
  color: var(--pp-rail-text);
  border-bottom: 1px solid var(--pp-rail-line);
  transition: color 250ms ease, background-color 250ms ease, padding-left 250ms ease;
}

.rail-news-row > .rail-news-label {
  display: block;
  min-width: 0;
}

.rail-news-title > b {
  grid-column: 1;
  grid-row: 1;
  font-family: var(--pp-font-latin);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .17em;
  line-height: 1.2;
}

.rail-news-title {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  grid-template-rows: auto auto;
  column-gap: 10px;
  row-gap: 4px;
  align-items: center;
  min-width: 0;
  white-space: nowrap;
}

.rail-news-title > strong {
  grid-column: 1;
  grid-row: 2;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.5;
}

.rail-news-title > em {
  grid-column: 2;
  grid-row: 1 / 3;
  align-self: center;
  justify-self: end;
  margin-right: 12px;
}

.rail-news-row > .ph {
  position: absolute;
  top: 50%;
  right: 11px;
  font-size: 13px;
  transform: translateY(-50%);
}

.rail-news-row {
  grid-template-columns: minmax(0, 1fr);
}

.rail-news-row.is-active {
  min-height: 70px;
  padding-left: 18px;
  color: var(--pp-ink);
  background: var(--pp-rail-active);
  box-shadow: none;
}

.rail-news-row:hover,
.rail-news-row:focus-visible {
  padding-left: 18px;
  color: var(--pp-ink);
  background: var(--pp-rail-active);
}

.rail-news-row.is-active::before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 3px;
  background: var(--pp-rail-accent);
  content: "";
}

.rail-news-row em {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 1px;
  min-width: 0;
  color: #ed6b20;
  font-style: normal;
  line-height: 1;
  white-space: nowrap;
}

.rail-news-row em .rail-seminar-status-group {
  display: inline-flex;
  height: 18px;
  align-items: center;
  justify-content: flex-end;
  gap: 5px;
}

.rail-news-row em .rail-seminar-open-group .rail-seminar-status-label {
  color: #2e95c3;
}

.rail-news-row em .rail-seminar-new-group .rail-seminar-status-label {
  color: var(--pp-required-red, #b43b32);
}

.rail-news-row em .rail-seminar-status-label {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .02em;
  line-height: 18px;
}

.rail-news-row em .rail-seminar-status-count {
  display: inline-grid;
  place-items: center;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  flex: 0 0 auto;
  border-radius: 999px;
  color: #fff;
  background: #2e95c3;
  font-family: var(--pp-font-latin);
  font-size: 10px;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
}

.rail-news-row em .rail-seminar-new-count {
  width: 18px;
  min-width: 18px;
  padding: 0;
  border: 0;
  color: #fff;
  background: var(--pp-required-red, #b43b32);
}

.rail-news-row em small {
  font-size: 10px;
  font-weight: 800;
}

.rail-news-row em .filter-status-badge-label {
  font-size: 9px;
  font-weight: 800;
}

.rail-news-row em .filter-status-badge-icon {
  display: none;
  width: 16px;
  height: 16px;
  flex: 0 0 16px;
  object-fit: contain;
}

.rail-news-row em .filter-status-badge-number {
  display: inline-grid;
  place-items: center;
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  border: 0;
  border-radius: 999px;
  color: #fff;
  background: #ed6b20;
  font-family: var(--pp-font-latin);
  font-size: 9px;
  font-weight: 800;
}

.rail-news-row em > .ph {
  font-size: 20px;
}

.rail-news-row em > b {
  display: inline-grid;
  place-items: center;
  width: 22px;
  height: 22px;
  border: 1px solid currentColor;
  border-radius: 50%;
  font-family: var(--pp-font-latin);
  font-size: 11px;
}

.rail-news-menu + .rail-nav {
  margin-top: 0;
  border-top: 0;
}

.top-news-component #お知らせ①-widget .news-header {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto;
  column-gap: clamp(18px, calc(3 * var(--pp-wide-vw, 1vw)), 42px);
  align-items: end;
}

.top-news-component #お知らせ①-widget .news-heading-en {
  grid-column: 1 / -1;
}

.top-news-component #お知らせ①-widget .news-heading {
  grid-column: 1;
  position: relative;
  width: max-content;
  text-decoration: none !important;
}

.top-news-component #お知らせ①-widget .news-heading::before {
  content: none !important;
}

.top-news-component #お知らせ①-widget .news-heading::after {
  position: absolute !important;
  right: -8px !important;
  bottom: -10px !important;
  left: -2px !important;
  top: auto !important;
  width: calc(100% + 10px) !important;
  height: 15px !important;
  background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 20' preserveAspectRatio='none'%3E%3Cdefs%3E%3ClinearGradient id='u' x1='0' y1='0' x2='1' y2='.25'%3E%3Cstop offset='0' stop-color='%23d8f5fb'/%3E%3Cstop offset='.55' stop-color='%239ddded'/%3E%3Cstop offset='1' stop-color='%236bc5df'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath fill='url(%23u)' d='M2 15C40 10 77 12 116 10c43-2 82-4 122-9-19 8-39 12-62 14-49 4-104 4-151 3-10 0-18-1-23-3Z'/%3E%3Cpath fill='%23e8faff' opacity='.72' d='M8 14c49-2 98-1 149-6-42 8-92 8-139 8Z'/%3E%3Cpath fill='%2378cce3' opacity='.72' d='m184 10 56-9-40 13Z'/%3E%3Cpath fill='%23dff7fc' d='m199 7 38-5-29 8Z'/%3E%3C/svg%3E") center / 100% 100% no-repeat !important;
  color: transparent !important;
  content: "" !important;
  pointer-events: none;
  transform: rotate(-.8deg) !important;
}

.top-news-heading-more {
  grid-column: 2;
  display: inline-flex;
  gap: 10px;
  align-items: center;
  margin-bottom: 4px;
  padding: 6px 0;
  color: #fff;
  border-bottom: 1px solid rgba(255, 255, 255, .72);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.2;
  white-space: nowrap;
  transition: color .2s ease, border-color .2s ease;
}

.top-news-heading-more:hover,
.top-news-heading-more:focus-visible {
  color: var(--pp-rail-accent);
  border-bottom-color: var(--pp-rail-accent);
}

.top-news-heading-more .ph {
  font-size: 14px;
}

@media (min-width: 981px) {
  .rail-inner {
    min-height: 0;
    padding-top: clamp(6px, 2dvh, 24px);
    padding-bottom: clamp(4px, 1.2dvh, 18px);
  }

  .rail-context {
    margin-top: clamp(6px, 1.5dvh, 16px);
  }

  .rail-banner-slot {
    margin-top: clamp(28px, 5dvh, 48px);
  }

  .rail-banner-slot .top-banner-component #jrfa5kansaine4000 {
    --top-banner-card-width: calc(var(--pp-rail-width) - 41px);
  }

  .rail-banner-slot .top-banner-carousel-controls {
    margin-top: clamp(3px, .8dvh, 8px);
  }

  .rail-banner-slot .top-banner-carousel-next {
    width: clamp(22px, 4.5dvh, 36px);
    height: clamp(22px, 4.5dvh, 36px);
  }

  .rail-news-row {
    min-height: clamp(34px, 6.5dvh, 48px);
    gap: 4px;
    padding-top: clamp(1px, .6dvh, 5px);
    padding-bottom: clamp(1px, .6dvh, 5px);
  }

  .rail-news-row.is-active {
    min-height: clamp(34px, 6.5dvh, 48px);
  }

  .rail-news-title {
    row-gap: clamp(1px, .4dvh, 4px);
  }

  .rail-news-title > b {
    font-size: clamp(8px, 1.3dvh, 10px);
  }

  .rail-news-title > strong {
    font-size: clamp(11px, 1.9dvh, 14px);
    line-height: 1.3;
  }

  .rail-news-row em .filter-status-badge-icon {
    width: clamp(14px, 2.2dvh, 16px);
    height: clamp(14px, 2.2dvh, 16px);
  }

  .rail-news-row em .filter-status-badge-number {
    width: clamp(16px, 2.5dvh, 18px);
    height: clamp(16px, 2.5dvh, 18px);
    font-size: 9px;
  }

  .rail-news-row em .rail-seminar-status-count {
    width: 18px;
    min-width: 18px;
    height: 18px;
    padding-inline: 0;
    font-size: 10px;
  }

  .rail-news-menu + .rail-nav {
    margin-top: 0;
  }

  .rail-nav a {
    gap: clamp(1px, .4dvh, 4px);
    min-height: clamp(34px, 6.5dvh, 48px);
    padding-top: clamp(1px, .6dvh, 5px);
    padding-bottom: clamp(1px, .6dvh, 5px);
  }

  .rail-en {
    font-size: clamp(8px, 1.3dvh, 10px);
  }

  .rail-ja {
    font-size: clamp(11px, 1.9dvh, 14px);
    line-height: 1.3;
  }
}

.has-cinematic-hero .page-stage {
  padding: 0;
  container-type: inline-size;
}

.has-cinematic-hero .stage-inner {
  width: 100%;
  max-width: none;
}

.has-cinematic-hero .top-component-stack,
.has-cinematic-hero .content-stack {
  width: min(calc(100% - clamp(36px, 7vw, 92px)), var(--pp-content-max));
  margin-right: auto;
  margin-left: auto;
}

.cinematic-hero {
  --cinematic-transition-duration: 1500ms;
  --cinematic-transition-easing: cubic-bezier(.45, 0, .55, 1);
  position: relative;
  min-height: clamp(560px, 40vw, 800px);
  overflow: hidden;
  color: #fff;
  background: var(--pp-ink);
  isolation: isolate;
}

.cinematic-hero-media,
.cinematic-hero-shade,
.cinematic-slide,
.cinematic-slide img,
.cinematic-hero-video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.cinematic-hero-media {
  z-index: -3;
  overflow: hidden;
}

.cinematic-slide {
  z-index: 0;
  margin: 0;
  opacity: 0;
  transform: translateZ(0);
  transition: opacity var(--cinematic-transition-duration) var(--cinematic-transition-easing);
  will-change: opacity;
}

.cinematic-slide.is-active {
  opacity: 1;
  z-index: 1;
}

.cinematic-slide-image {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.cinematic-slide-sequence-layer {
  z-index: calc(1 + var(--cinematic-sequence-step, 0));
  opacity: 0;
  transform: translateZ(0);
  transition: opacity 1000ms var(--cinematic-transition-easing);
  will-change: opacity;
}

.cinematic-slide-sequence-layer.is-visible {
  opacity: 1;
}

.cinematic-slide-sequence-layer[data-hero-sequence-step="6"] {
  transition-duration: 1200ms;
}

.cinematic-slide-sequence-layer[data-hero-sequence-step="7"] {
  transition-duration: 1200ms;
}

.cinematic-slide.is-sequence-resetting .cinematic-slide-sequence-layer {
  transition: none;
}

.cinematic-slide-transition,
.cinematic-slide-transition-late,
.cinematic-slide-reveal {
  z-index: 2;
  opacity: 0;
  transform: translateZ(0);
  will-change: opacity;
}

.cinematic-slide-transition {
  transition: opacity 900ms var(--cinematic-transition-easing);
}

.cinematic-slide-transition-late {
  z-index: 3;
  transition: opacity 900ms var(--cinematic-transition-easing);
}

.cinematic-slide-reveal {
  z-index: 4;
  transition: opacity 900ms var(--cinematic-transition-easing);
}

.cinematic-slide.is-transitioning .cinematic-slide-transition {
  opacity: 1;
}

.cinematic-slide.is-transitioning-late .cinematic-slide-transition-late {
  opacity: 1;
}

.cinematic-slide.is-revealed .cinematic-slide-reveal {
  opacity: 1;
}

.cinematic-slide img,
.cinematic-hero-video {
  object-fit: cover;
  object-position: center;
}

.cinematic-slide img {
  animation: none;
  backface-visibility: hidden;
  will-change: auto;
}

@media (min-width: 561px) {
  .cinematic-slide[data-hero-slide-index="1"] .cinematic-slide-image img,
  .cinematic-slide[data-hero-slide-index="2"] .cinematic-slide-image img {
    transform: scale(1.03);
  }

  .cinematic-slide[data-hero-slide-index="1"] .cinematic-slide-image img {
    transform-origin: right center;
  }

  .cinematic-slide[data-hero-slide-index="2"] .cinematic-slide-image img {
    transform-origin: left center;
  }
}

@media (max-width: 560px) {
  .cinematic-slide:is([data-hero-reveal], [data-hero-sequence]) .cinematic-slide-image::before {
    position: absolute;
    inset: -24px;
    z-index: 0;
    content: "";
    background: var(--cinematic-mobile-fill) center / cover no-repeat;
    filter: blur(18px) saturate(.82);
    transform: scale(1.08);
  }

  .cinematic-slide:is([data-hero-reveal], [data-hero-sequence]) .cinematic-slide-image img {
    z-index: 1;
    object-fit: contain;
  }
}

.cinematic-hero-video {
  z-index: 3;
  opacity: 0;
  transition: opacity var(--cinematic-transition-duration) var(--cinematic-transition-easing);
  will-change: opacity;
}

.cinematic-hero-video.is-ready {
  opacity: 1;
}

.cinematic-slide[data-hero-slide-index="0"] .cinematic-hero-video {
  filter: brightness(1.02) saturate(.98) contrast(1.02);
}

.cinematic-hero-shade::before,
.cinematic-hero-shade::after {
  position: absolute;
  inset: 0;
  content: "";
  transition: opacity var(--cinematic-transition-duration) var(--cinematic-transition-easing);
  will-change: opacity;
}

.cinematic-hero-shade::before {
  background:
    linear-gradient(90deg, rgba(0, 26, 43, .50) 0%, rgba(0, 44, 61, .14) 50%, rgba(0, 26, 43, .22) 100%),
    linear-gradient(180deg, rgba(0, 26, 43, .08) 30%, rgba(0, 26, 43, .54) 100%);
  opacity: 1;
}

.cinematic-hero-shade::after {
  background:
    linear-gradient(90deg, rgba(0, 38, 57, .40) 0%, rgba(0, 66, 92, .08) 52%, rgba(0, 38, 57, .18) 100%),
    linear-gradient(180deg, rgba(0, 38, 57, .04) 28%, rgba(0, 38, 57, .38) 100%);
  opacity: 0;
}

.cinematic-hero[data-hero-active="0"] .cinematic-hero-shade::after {
  opacity: 1;
}

.cinematic-hero[data-hero-active="0"] .cinematic-hero-shade::before {
  opacity: 0;
}

.cinematic-hero-shade {
  z-index: -1;
}

.cinematic-hero-copy {
  position: absolute;
  top: 9%;
  right: clamp(8%, 10vw, 15%);
  z-index: 2;
}

.cinematic-lockup {
  position: relative;
  display: grid;
  grid-template-columns: auto auto auto;
  gap: clamp(18px, 2.8vw, 42px);
  align-items: center;
  min-height: 440px;
}

.cinematic-lockup::before,
.cinematic-lockup::after {
  position: absolute;
  width: 72px;
  height: 72px;
  border: 0;
  background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='1' y2='1'%3E%3Cstop offset='0' stop-color='%23d8f5fb'/%3E%3Cstop offset='.52' stop-color='%239ddded'/%3E%3Cstop offset='1' stop-color='%236bc5df'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath fill='url(%23g)' d='M15 97C8 93 7 84 8 72l2-43C10 17 15 10 25 7c12-4 28-1 42 0l24 2c-8 5-17 6-27 7l-29 1c-9 1-12 5-12 15l-1 38c0 14-1 23-7 27Z'/%3E%3Cpath fill='%23e8faff' opacity='.7' d='M13 73c1-23-1-45 5-56 3-5 9-7 17-8-8 4-11 9-12 19l-2 45c0 10-1 17-5 21-3-6-3-12-3-21Z'/%3E%3Cpath fill='%2385d4e8' opacity='.76' d='M48 8c18-1 35 0 50 1-10 3-21 4-33 5L43 15c14-3 27-4 40-4-12 0-23 1-35 3Z'/%3E%3Cpath fill='%23c7edf7' d='M70 8 100 9 77 12Z'/%3E%3Cpath fill='%2378cce3' opacity='.72' d='m68 13 29-2-21 5Z'/%3E%3Cpath fill='%23dff7fc' opacity='.8' d='m76 7 21 1-15 2Z'/%3E%3C/svg%3E") center / contain no-repeat;
  content: "";
  filter: none;
  opacity: .98;
}

.cinematic-lockup::before {
  top: -18px;
  right: 54px;
  transform: scaleX(-1) rotate(-1deg);
}

.cinematic-lockup::after {
  bottom: -18px;
  left: 54px;
  transform: scaleY(-1) rotate(-1deg);
}

/* Hero key-mark studies: preserve the opposing corner direction while comparing white multi-line treatments. */
body[data-hero-mark="triple"] .cinematic-lockup-core::before,
body[data-hero-mark="triple"] .cinematic-lockup-core::after {
  background:
    linear-gradient(90deg, rgba(255, 255, 255, .98), rgba(255, 255, 255, .98)) 8px 8px / 56px 1px no-repeat,
    linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(255, 255, 255, .98)) 63px 8px / 1px 56px no-repeat,
    linear-gradient(90deg, rgba(255, 255, 255, .72), rgba(255, 255, 255, .72)) 14px 14px / 44px 1px no-repeat,
    linear-gradient(180deg, rgba(255, 255, 255, .72), rgba(255, 255, 255, .72)) 57px 14px / 1px 44px no-repeat,
    linear-gradient(90deg, rgba(255, 255, 255, .48), rgba(255, 255, 255, .48)) 20px 20px / 32px 1px no-repeat,
    linear-gradient(180deg, rgba(255, 255, 255, .48), rgba(255, 255, 255, .48)) 51px 20px / 1px 32px no-repeat;
}

body[data-hero-mark="grid"] .cinematic-lockup-core::before,
body[data-hero-mark="grid"] .cinematic-lockup-core::after {
  background:
    linear-gradient(90deg, rgba(255, 255, 255, .94), rgba(255, 255, 255, .94)) 6px 18px / 60px 1px no-repeat,
    linear-gradient(90deg, rgba(255, 255, 255, .78), rgba(255, 255, 255, .78)) 6px 28px / 60px 1px no-repeat,
    linear-gradient(90deg, rgba(255, 255, 255, .62), rgba(255, 255, 255, .62)) 6px 38px / 60px 1px no-repeat,
    linear-gradient(180deg, rgba(255, 255, 255, .94), rgba(255, 255, 255, .94)) 34px 6px / 1px 60px no-repeat,
    linear-gradient(180deg, rgba(255, 255, 255, .78), rgba(255, 255, 255, .78)) 44px 6px / 1px 60px no-repeat,
    linear-gradient(180deg, rgba(255, 255, 255, .62), rgba(255, 255, 255, .62)) 54px 6px / 1px 60px no-repeat;
}

body[data-hero-mark="offset"] .cinematic-lockup-core::before,
body[data-hero-mark="offset"] .cinematic-lockup-core::after {
  background:
    linear-gradient(90deg, rgba(255, 255, 255, .96), rgba(255, 255, 255, .96)) 4px 12px / 62px 1px no-repeat,
    linear-gradient(90deg, rgba(255, 255, 255, .74), rgba(255, 255, 255, .74)) 14px 22px / 52px 1px no-repeat,
    linear-gradient(90deg, rgba(255, 255, 255, .52), rgba(255, 255, 255, .52)) 24px 32px / 42px 1px no-repeat,
    linear-gradient(180deg, rgba(255, 255, 255, .96), rgba(255, 255, 255, .96)) 60px 4px / 1px 62px no-repeat,
    linear-gradient(180deg, rgba(255, 255, 255, .74), rgba(255, 255, 255, .74)) 50px 14px / 1px 52px no-repeat,
    linear-gradient(180deg, rgba(255, 255, 255, .52), rgba(255, 255, 255, .52)) 40px 24px / 1px 42px no-repeat;
}

/* Comparison modes render as clean white linework instead of the brush mask. */
body[data-hero-mark] .cinematic-lockup-core::before,
body[data-hero-mark] .cinematic-lockup-core::after {
  -webkit-mask: none;
  mask: none;
}

.cinematic-lockup-brand,
.cinematic-lockup-action,
.cinematic-lockup-core h1 {
  writing-mode: vertical-rl;
  text-orientation: upright;
}

.cinematic-lockup-brand {
  display: flex;
  align-items: center;
  gap: 14px;
  color: #fff;
  text-shadow: 0 4px 18px rgba(0, 26, 43, .44);
}

.cinematic-lockup-brand b {
  font-family: var(--pp-font-latin);
  font-size: clamp(36px, 4vw, 58px);
  letter-spacing: .10em;
  line-height: 1;
}

.cinematic-lockup-brand span {
  font-size: clamp(34px, 3.5vw, 54px);
  font-weight: 800;
  letter-spacing: .18em;
  line-height: 1.35;
}

.cinematic-lockup-brand .cinematic-lockup-period {
  position: relative;
  inset-inline-start: -.16em;
  font: inherit;
  letter-spacing: 0;
}

.cinematic-lockup-brand .cinematic-lockup-comma {
  position: relative;
  inset-inline-start: -.18em;
  font: inherit;
  letter-spacing: 0;
}

.cinematic-lockup-core {
  position: relative;
  display: grid;
  place-items: center;
  width: clamp(112px, 10vw, 150px);
  min-height: clamp(330px, 34vw, 470px);
  padding: 32px 20px;
  background: transparent;
  box-shadow: none;
}

.cinematic-lockup-core h1 {
  margin: 0;
  color: #fff;
  font-family: var(--pp-font-display);
  font-size: clamp(46px, 5vw, 74px);
  font-weight: 800;
  letter-spacing: .22em;
  line-height: 1;
}

.cinematic-lockup-action {
  color: #fff;
  font-size: clamp(34px, 3.5vw, 54px);
  font-weight: 800;
  letter-spacing: .18em;
  line-height: 1.35;
  text-shadow: 0 4px 18px rgba(0, 26, 43, .44);
}

@media (min-width: 981px) {
  .cinematic-lockup-brand span,
  .cinematic-lockup-action {
    font-size: 50px;
  }

  .cinematic-lockup-brand {
    align-self: end;
    transform: translate(-10px, 18px);
  }

  .cinematic-lockup-core {
    transform: translateY(-18px);
  }
}

.cinematic-hero-support {
  position: absolute;
  right: clamp(30px, 5vw, 76px);
  bottom: clamp(30px, 5vw, 64px);
  left: clamp(30px, 5vw, 76px);
  z-index: 2;
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 32px;
  pointer-events: none;
}

.cinematic-hero-support > p {
  max-width: 48ch;
  margin: 0;
  color: rgba(255, 255, 255, .92);
  font-size: 14px;
  font-weight: 700;
  text-shadow: 0 3px 16px rgba(0, 26, 43, .52);
}

.cinematic-hero-support .intro-actions {
  margin: 0 210px 0 0;
  pointer-events: auto;
}

.cinematic-controls {
  position: absolute;
  right: clamp(30px, 5vw, 76px);
  bottom: 16px;
  z-index: 3;
  display: flex;
  align-items: center;
  gap: 18px;
}

.cinematic-counter {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: var(--pp-font-latin);
  font-size: 10px;
}

.cinematic-counter b {
  font-size: 17px;
}

.cinematic-counter i {
  display: block;
  width: 34px;
  height: 1px;
  background: rgba(255, 255, 255, .62);
}

.cinematic-dots {
  display: flex;
  gap: 7px;
}

.cinematic-dots button,
.cinematic-toggle {
  color: #fff;
  border: 0;
  background: transparent;
  cursor: pointer;
}

.cinematic-dots button {
  width: 28px;
  height: 28px;
  padding: 12px 3px;
}

.cinematic-dots button span {
  display: block;
  width: 100%;
  height: 2px;
  background: rgba(255, 255, 255, .38);
}

.cinematic-dots button.is-active span {
  background: #fff;
}

.cinematic-toggle {
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 6px;
  font-family: var(--pp-font-latin);
  font-size: 9px;
  letter-spacing: .12em;
}

@keyframes cinematic-drift {
  from { transform: scale(1.035); }
  to { transform: scale(1.01); }
}

@media (max-width: 780px) {
  .top-component-stack {
    gap: 18px;
    margin: 28px 0 34px;
  }

  .top-section-head {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .top-service-grid,
  .top-domain-grid,
  .top-results-grid {
    grid-template-columns: 1fr;
  }

  .top-results-section {
    grid-template-columns: 1fr;
    min-height: 0;
    scroll-margin-top: calc(var(--pp-header-height) + 112px);
  }

  .top-results-intro {
    min-height: 560px;
    padding: 56px 30px 64px;
  }

  .top-results-intro h2 {
    font-size: clamp(38px, 12vw, 52px);
  }

  .top-region-feature-intro h2,
  body[data-page="home"] #results > .top-results-intro h2,
  .top-meister-feature-intro h2 {
    font-size: clamp(30px, 9vw, 42px);
  }

  .top-results-en {
    margin-top: 18px;
  }

  .top-results-lead {
    margin-top: 34px;
    font-size: 15px;
  }

  .top-results-primary-link {
    margin-top: 34px;
  }

  .top-results-divider {
    top: 560px;
    right: auto;
    bottom: 0;
    left: 0;
    display: grid;
    width: 56px;
    height: auto;
    border: 0;
    border-right: 1px solid rgba(255, 255, 255, .92);
    border-left: 1px solid rgba(255, 255, 255, .92);
    border-radius: 0;
    transform: none;
  }

  .top-results-section::after {
    display: none;
  }

  .top-results-visual {
    height: min(72vw, 420px);
  }

  #results > .top-results-intro {
    grid-column: 1;
    grid-row: 1;
  }

  #results {
    grid-template-columns: 1fr;
  }

  #results > .top-results-divider {
    left: 0;
  }

  #results > .top-results-visual {
    grid-column: 1;
    grid-row: 2;
  }

  .top-results-toc {
    justify-content: flex-start;
    overflow-y: auto;
    padding: 20px 24px 24px 78px;
  }

  .top-results-toc-label {
    margin-bottom: 10px;
  }

  .top-results-toc h3 {
    margin-bottom: 18px;
    font-size: 24px;
  }

  .top-results-toc a {
    min-height: 42px;
    font-size: 14px;
  }

  .top-results-toc .top-results-toc-primary {
    min-height: 46px;
    margin-bottom: 8px;
    font-size: 18px;
  }

  .top-results-toc-note {
    font-size: 13px;
    line-height: 1.75;
  }

  .top-results-toc-links {
    grid-template-columns: 1fr;
  }

  .top-results-toc a:nth-last-child(-n + 2) {
    border-bottom: 0;
  }

  .top-results-toc a:last-child {
    border-bottom: 1px solid rgba(255, 255, 255, .92);
  }

  .page_results .external-body-host {
    padding: 36px 0 56px;
  }

  .results-local-heading {
    margin-bottom: 22px;
    padding: 0 4px 22px;
  }

  .results-local-heading h1 {
    font-size: var(--pp-page-title-size);
  }

  .top-region-section {
    padding: 36px 18px 28px;
  }

  .top-region-section .top-section-head {
    padding-inline: 0;
  }

  .top-region-section .top-domain-card {
    min-height: 0;
  }

  .top-service-original-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 28px;
  }

  .top-service-original-card::before {
    background: rgba(31, 97, 129, .8);
  }

  .top-service-original-card::after,
  .top-service-original-card span {
    opacity: 1;
  }

  .top-service-original-card h3 {
    transform: translateY(-30px);
  }

  .top-service-original-card span {
    transform: translate(-50%, 0);
  }

  .top-meister-section {
    grid-template-columns: 1fr;
  }

  .top-meister-visual {
    min-height: 250px;
  }

  .cinematic-hero {
    min-height: 660px;
  }

  .cinematic-hero-copy {
    top: 62px;
    right: 50%;
    transform: translateX(50%);
  }

  .cinematic-lockup {
    gap: 14px;
    min-height: 390px;
  }

  .cinematic-lockup-core {
    width: 92px;
    min-height: 310px;
  }

  .cinematic-lockup::before,
  .cinematic-lockup::after {
    width: 38px;
    height: 38px;
  }

  .cinematic-hero-support {
    right: 22px;
    bottom: 94px;
    left: 22px;
    display: block;
  }

  .cinematic-hero-support > p {
    max-width: 44ch;
  }

  .cinematic-hero-support .intro-actions {
    margin: 18px 0 0;
  }

  .cinematic-controls {
    right: 18px;
    bottom: 12px;
    left: 18px;
    justify-content: space-between;
  }
}

@media (max-width: 560px) {
  .top-service-original-grid {
    grid-template-columns: 1fr;
  }

  .top-service-original-card {
    width: min(100%, 360px);
    margin-inline: auto;
  }
}

@media (max-width: 980px) {
  :root {
    --pp-page-title-size: clamp(30px, 9vw, 38px);
    --pp-page-title-underline-thickness: 3px;
    --pp-page-title-underline-offset: 5px;
    --pp-page-label-size: 10px;
    --pp-page-label-gap: 14px;
  }

  .top-service-section .top-section-label {
    margin-bottom: 14px;
    font-size: 10px;
  }

  .top-service-section .section-heading {
    font-size: clamp(30px, 9vw, 38px);
    text-decoration-thickness: 3px;
    text-underline-offset: 5px;
  }
}

@media (max-width: 980px) {
  .rail-banner-slot {
    display: none;
  }

  .rail-news-menu {
    display: none;
  }

  .rail-news-menu + .rail-nav {
    margin-top: 0;
  }
}

/* Company: reuse TOP's support-results component, with only the vertical scale reduced. */
.company-performance-feature {
  isolation: isolate;
  grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr);
  min-height: clamp(290px, calc(22 * var(--pp-wide-vw, 1vw)), 340px);
  background: #071f31;
}

body[data-page="company"] .company-philosophy-toggle,
body[data-page="company"] .top-results-divider,
body[data-page="company"] .company-philosophy-toggle:hover,
body[data-page="company"] .company-philosophy-toggle:focus-visible,
body[data-page="company"] .top-results-divider:hover,
body[data-page="company"] .top-results-divider:focus-visible {
  background: rgba(84, 178, 220, .48);
  backdrop-filter: none;
}

body[data-page="company"] .company-philosophy-simple .company-philosophy-toggle,
body[data-page="company"] .company-philosophy-simple.is-open .company-philosophy-toggle {
  background: rgba(84, 178, 220, .48);
}

.company-performance-feature > .top-results-intro,
.company-services-feature > .top-results-intro {
  background: rgba(84, 178, 220, .48);
}

.company-performance-feature > .top-results-divider,
.company-services-feature > .top-results-divider,
.company-performance-feature > .top-results-divider:hover,
.company-performance-feature > .top-results-divider:focus-visible,
.company-services-feature > .top-results-divider:hover,
.company-services-feature > .top-results-divider:focus-visible {
  background: rgba(84, 178, 220, .48);
}

.company-performance-feature .top-results-toc {
  background: rgba(5, 27, 44, .90);
}

.company-services-feature .top-results-toc {
  background: linear-gradient(135deg, rgba(7, 31, 49, .9), rgba(11, 52, 77, .78));
}

.company-performance-feature::before {
  position: absolute;
  inset: 0;
  z-index: 0;
  content: "";
  background:
    linear-gradient(rgba(5, 27, 44, .36), rgba(5, 27, 44, .36)),
    url("images/pp-results-performance-analytics-v1.png") center / cover no-repeat;
  pointer-events: none;
}

.company-performance-feature > .top-results-intro {
  grid-column: 2;
  grid-row: 1;
  padding-block: clamp(24px, calc(2.7 * var(--pp-wide-vw, 1vw)), 38px);
  padding-inline: clamp(38px, 5.5cqw, 86px);
}

.company-performance-feature > .top-results-intro h2 {
  font-size: clamp(36px, calc(3.6 * var(--pp-wide-vw, 1vw)), 52px);
  letter-spacing: .02em;
  white-space: nowrap;
}

.company-performance-feature > .top-results-intro .top-results-en {
  margin-top: 16px;
}

.company-performance-feature > .top-results-intro .top-results-lead {
  margin-top: clamp(18px, calc(1.7 * var(--pp-wide-vw, 1vw)), 24px);
  font-size: clamp(12px, calc(1 * var(--pp-wide-vw, 1vw)), 15px);
  line-height: 1.65;
}

.company-performance-feature > .top-results-divider {
  left: 54%;
}

.company-performance-feature > .top-results-divider .top-results-divider-icon {
  font-size: 34px;
  transition: transform 180ms ease;
}

.company-performance-feature > .top-results-divider:hover .top-results-divider-icon,
.company-performance-feature > .top-results-divider:focus-visible .top-results-divider-icon {
  transform: translateX(-6px);
}

.company-performance-feature.is-toc-open > .top-results-divider .top-results-divider-icon {
  transform: rotate(180deg);
}

.company-performance-feature.is-toc-open > .top-results-divider:hover .top-results-divider-icon,
.company-performance-feature.is-toc-open > .top-results-divider:focus-visible .top-results-divider-icon {
  transform: translateX(6px) rotate(180deg);
}

.company-performance-feature > .top-results-visual {
  position: relative;
  z-index: 1;
  grid-column: 1;
  grid-row: 1;
  overflow: hidden;
  background: rgba(5, 27, 44, .28);
}

.company-performance-feature .top-results-toc {
  padding-block: clamp(24px, calc(2.7 * var(--pp-wide-vw, 1vw)), 38px);
  padding-inline: clamp(42px, 6cqw, 96px);
}

@media (max-width: 780px) {
  .company-performance-feature {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .company-performance-feature > .top-results-intro {
    grid-column: 1;
    grid-row: 1;
    min-height: 230px;
    padding: 30px 28px 34px;
  }

  .company-performance-feature > .top-results-intro h2 {
    font-size: clamp(30px, calc(9 * var(--pp-wide-vw, 1vw)), 42px);
  }

  .company-performance-feature > .top-results-intro .top-results-lead {
    margin-top: 20px;
    font-size: 13px;
  }

  .company-performance-feature > .top-results-divider {
    top: 230px;
    bottom: 0;
    left: 0;
    width: 56px;
  }

  .company-performance-feature > .top-results-visual {
    grid-column: 1;
    grid-row: 2;
    height: 300px;
  }

  .company-performance-feature .top-results-toc {
    padding: 18px 22px 20px 72px;
  }
}

.company-services-feature {
  isolation: isolate;
  min-height: clamp(430px, calc(35 * var(--pp-wide-vw, 1vw)), 520px);
  background: #071f31;
}

.company-services-feature::before {
  position: absolute;
  inset: 0;
  z-index: 0;
  content: "";
  background: linear-gradient(rgba(5, 27, 44, .42), rgba(5, 27, 44, .42));
  pointer-events: none;
}

.company-services-slides {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
}

.company-services-slide {
  position: absolute;
  inset: 0;
  margin: 0;
  opacity: 0;
  transform: scale(1);
  transition: opacity .52s ease;
}

.company-services-slide.is-active {
  opacity: 1;
  transform: scale(1);
}

.company-services-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(.82) brightness(.78);
}

/* Keep the cosmetics products inside the visible crop instead of showing the white tabletop first. */
.company-services-slide[data-company-service-index="15"] img {
  transform: scaleX(-1);
}

.company-services-feature > .top-results-intro {
  padding: clamp(42px, calc(4.8 * var(--pp-wide-vw, 1vw)), 70px) clamp(42px, calc(5.5 * var(--pp-wide-vw, 1vw)), 82px);
}

.company-services-feature > .top-results-intro h2 {
  font-size: clamp(42px, calc(4.5 * var(--pp-wide-vw, 1vw)), 62px);
}

.company-services-feature > .top-results-intro .top-results-en {
  margin-top: 18px;
}

.company-services-feature > .top-results-divider {
  left: 46%;
}

.company-services-feature > .top-results-divider .top-results-divider-icon {
  font-size: 34px;
  transition: transform 180ms ease;
}

.company-services-feature > .top-results-divider:hover .top-results-divider-icon,
.company-services-feature > .top-results-divider:focus-visible .top-results-divider-icon {
  transform: translateX(6px);
}

.company-services-feature.is-toc-open > .top-results-divider .top-results-divider-icon {
  transform: rotate(180deg);
}

.company-services-feature.is-toc-open > .top-results-divider:hover .top-results-divider-icon,
.company-services-feature.is-toc-open > .top-results-divider:focus-visible .top-results-divider-icon {
  transform: translateX(-6px) rotate(180deg);
}

.company-services-feature > .top-results-visual {
  position: relative;
  z-index: 1;
  overflow: hidden;
  background: rgba(5, 27, 44, .28);
}

.company-services-feature .top-results-toc {
  padding: clamp(22px, calc(2.7 * var(--pp-wide-vw, 1vw)), 38px) clamp(30px, calc(4 * var(--pp-wide-vw, 1vw)), 60px);
}

.company-services-feature .top-results-toc-links {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: clamp(24px, calc(3.6 * var(--pp-wide-vw, 1vw)), 54px);
}

.company-services-feature .top-results-toc a {
  min-height: 34px;
  font-size: clamp(11px, calc(.95 * var(--pp-wide-vw, 1vw)), 14px);
  line-height: 1.3;
}

.company-services-feature .top-results-toc-links a.is-image-active {
  color: #fff;
  border-bottom-color: #66d7ef;
}

.company-services-feature .top-results-toc-links a.is-image-active span {
  transform: translateX(4px);
}

.company-services-feature .top-results-toc .top-results-toc-primary {
  min-height: 42px;
  margin-bottom: 6px;
  font-size: clamp(17px, calc(1.55 * var(--pp-wide-vw, 1vw)), 22px);
}

@media (min-width: 781px) {
  body[data-page="company"] .company-philosophy-simple:not(.company-message-feature) {
    grid-template-columns: minmax(0, 1fr) clamp(58px, calc(6 * var(--pp-wide-vw, 1vw)), 84px) minmax(0, 2fr);
  }

  body[data-page="company"] .company-message-feature {
    grid-template-columns: minmax(0, 2fr) clamp(58px, calc(6 * var(--pp-wide-vw, 1vw)), 84px) minmax(0, 1fr);
  }

  body[data-page="company"] .company-performance-feature {
    grid-template-columns: minmax(0, 54%) clamp(58px, calc(6 * var(--pp-wide-vw, 1vw)), 84px) minmax(0, 1fr);
  }

  body[data-page="company"] .company-services-feature {
    grid-template-columns: minmax(0, 46%) clamp(58px, calc(6 * var(--pp-wide-vw, 1vw)), 84px) minmax(0, 1fr);
  }

  body[data-page="company"] .company-philosophy-toggle,
  body[data-page="company"] .top-results-divider {
    position: relative;
    inset: auto;
    grid-column: 2;
    grid-row: 1;
    width: 100%;
    height: 100%;
    border-right: 1px solid rgba(255, 255, 255, .92);
    border-left: 1px solid rgba(255, 255, 255, .92);
    transform: none;
  }

  body[data-page="company"] .company-philosophy-simple:not(.company-message-feature) .company-philosophy-intro,
  body[data-page="company"] .company-services-feature > .top-results-intro {
    grid-column: 1;
    grid-row: 1;
    background: rgba(84, 178, 220, .48);
  }

  body[data-page="company"] .company-philosophy-simple:not(.company-message-feature) .company-philosophy-visual,
  body[data-page="company"] .company-services-feature > .top-results-visual {
    grid-column: 3;
    grid-row: 1;
  }

  body[data-page="company"] .company-message-feature::before {
    right: 33.333%;
  }

  body[data-page="company"] .company-message-feature-visual,
  body[data-page="company"] .company-performance-feature > .top-results-visual {
    grid-column: 1;
    grid-row: 1;
  }

  body[data-page="company"] .company-message-feature-intro,
  body[data-page="company"] .company-performance-feature > .top-results-intro {
    grid-column: 3;
    grid-row: 1;
    background: rgba(84, 178, 220, .48);
  }

  /* Keep the portrait behind both message controls so the shared blue
     overlay reads with the same transparency across the full row. */
  body[data-page="company"] .company-message-feature::before {
    right: 0;
  }

}

@media (max-width: 780px) {
  .company-services-feature {
    min-height: 0;
  }

  .company-services-feature > .top-results-intro {
    min-height: 260px;
    padding: 34px 28px 40px;
  }

  .company-services-feature > .top-results-divider {
    top: 260px;
    left: 0;
  }

  .company-services-feature > .top-results-visual {
    height: 410px;
  }

  .company-services-feature .top-results-toc {
    padding: 18px 20px 20px 72px;
  }

  .company-services-feature .top-results-toc-links {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 14px;
  }

  .company-services-feature .top-results-toc a {
    min-height: 34px;
    font-size: 10.5px;
    line-height: 1.25;
  }

  .company-services-feature .top-results-toc .top-results-toc-primary {
    min-height: 40px;
    margin-bottom: 4px;
    font-size: 17px;
  }
}

/* Company contact: support-results interaction with source-faithful contact copy. */
.company-contact-feature {
  --pp-contact-min-height: 320px;
  grid-template-rows: minmax(0, 1fr);
  height: var(--pp-contact-min-height);
  min-height: var(--pp-contact-min-height);
}

.company-contact-feature > .top-results-visual {
  height: auto;
  min-height: 0;
}

.company-contact-feature::before {
  background:
    linear-gradient(rgba(5, 27, 44, .14), rgba(5, 27, 44, .14)),
    url("images/company/footer-contact-bg-original.jpg") center / cover no-repeat;
  filter: contrast(1.32) saturate(1.14) brightness(.96);
}

.company-contact-feature > .top-results-divider,
.company-contact-feature > .top-results-divider:hover,
.company-contact-feature > .top-results-divider:focus-visible {
  background: rgba(84, 178, 220, .48);
}

.company-contact-feature > .top-results-intro {
  min-height: var(--pp-contact-min-height);
  padding-inline: clamp(28px, 3.4cqw, 48px);
  background: rgba(84, 178, 220, .48);
  text-shadow: 0 2px 12px rgba(3, 24, 39, .38);
}

.company-contact-feature > .top-results-intro h2 {
  font-size: clamp(38px, calc(4.2 * var(--pp-wide-vw, 1vw)), 58px) !important;
  line-height: 1.18 !important;
}

.company-contact-feature > .top-results-intro .top-results-en {
  margin: 16px 0 0 !important;
  font-size: 11px !important;
  line-height: 1.2 !important;
}

.company-contact-feature > .top-results-intro .top-results-lead {
  margin: clamp(18px, calc(1.7 * var(--pp-wide-vw, 1vw)), 24px) 0 0 !important;
  font-size: clamp(12px, calc(1 * var(--pp-wide-vw, 1vw)), 15px) !important;
  line-height: 1.65 !important;
}

.external-body-host .company-contact-feature {
  width: 100%;
  margin-top: 28px;
  margin-bottom: 0;
  margin-left: 0;
}

.external-body-host .shared-tail-feature {
  width: 100%;
  margin-top: 28px;
  margin-left: 0;
}

@media (min-width: 781px) {
  .external-body-host .shared-tail-feature > .top-results-divider {
    position: relative;
    inset: auto;
    grid-column: 2;
    grid-row: 1;
    width: 100%;
    height: 100%;
    border-right: 1px solid rgba(255, 255, 255, .92);
    border-left: 1px solid rgba(255, 255, 255, .92);
    transform: none;
  }

  .external-body-host .shared-tail-performance {
    grid-template-columns: minmax(0, 54%) clamp(58px, calc(6 * var(--pp-wide-vw, 1vw)), 84px) minmax(0, 1fr);
  }

  .external-body-host .shared-tail-performance > .top-results-visual {
    grid-column: 1;
    grid-row: 1;
  }

  .external-body-host .shared-tail-performance > .top-results-intro {
    grid-column: 3;
    grid-row: 1;
  }

  .external-body-host .shared-tail-services {
    grid-template-columns: minmax(0, 46%) clamp(58px, calc(6 * var(--pp-wide-vw, 1vw)), 84px) minmax(0, 1fr);
  }

  .external-body-host .shared-tail-services > .top-results-intro {
    grid-column: 1;
    grid-row: 1;
  }

  .external-body-host .shared-tail-services > .top-results-visual {
    grid-column: 3;
    grid-row: 1;
  }
}

.content-stack > .company-contact-feature {
  width: 100%;
  margin-top: 0;
  margin-bottom: 0;
  margin-left: 0;
}

/* The shared contact image continues directly into the common footer. */
.company-contact-feature:last-child {
  margin-bottom: 0 !important;
}

.content-stack:has(> .company-contact-feature:last-child) {
  padding-bottom: 0 !important;
}

/* A final contact scene owns the page edge; do not leave stage padding below it. */
body:has(.company-contact-feature) .page-stage {
  padding-bottom: 0 !important;
}

/* Imported page families must meet the footer at the same edge as native pages. */
.external-body-host:has(.company-contact-feature),
.external-body-host :is(.pp-process-stage, .pp-explore-stage):has(> .company-contact-feature:last-child) {
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}

body[data-page="services"] .page-stage > .company-contact-feature,
body[data-page="service-gxp"] .page-stage > .company-contact-feature {
  width: calc(100% + (2 * clamp(24px, calc(5 * var(--pp-wide-vw, 1vw)), 72px)));
  margin-top: 28px;
  margin-bottom: 0;
  margin-left: calc(-1 * clamp(24px, calc(5 * var(--pp-wide-vw, 1vw)), 72px));
}


.company-contact-feature .top-results-divider-icon::before {
  display: block;
  width: 12px;
  height: 12px;
  border-bottom: 2px solid currentColor;
  border-left: 2px solid currentColor;
  content: "" !important;
  transform: rotate(225deg) !important;
}

.company-contact-feature.is-toc-open .top-results-divider-icon::before {
  transform: rotate(225deg) !important;
}

.company-contact-feature > .top-results-divider .top-results-divider-icon {
  transform: none !important;
  transition: transform 180ms ease !important;
}

.company-contact-feature > .top-results-divider:hover .top-results-divider-icon,
.company-contact-feature > .top-results-divider:focus-visible .top-results-divider-icon {
  transform: translateX(-6px) !important;
}

.company-contact-feature.is-toc-open > .top-results-divider .top-results-divider-icon {
  transform: rotate(180deg) !important;
}

.company-contact-feature.is-toc-open > .top-results-divider:hover .top-results-divider-icon,
.company-contact-feature.is-toc-open > .top-results-divider:focus-visible .top-results-divider-icon {
  transform: translateX(6px) rotate(180deg) !important;
}

@media (min-width: 781px) {
  .company-contact-feature {
    grid-template-columns: minmax(0, 54%) clamp(58px, calc(6 * var(--pp-wide-vw, 1vw)), 84px) minmax(0, 1fr);
  }

  .company-contact-feature > .top-results-divider {
    position: relative;
    inset: auto;
    grid-column: 2;
    grid-row: 1;
    width: 100%;
    height: 100%;
    border-right: 1px solid rgba(255, 255, 255, .92);
    border-left: 1px solid rgba(255, 255, 255, .92);
    transform: none;
  }

  .company-contact-feature > .top-results-visual {
    grid-column: 1;
    grid-row: 1;
  }

  .company-contact-feature > .top-results-intro {
    grid-column: 3;
    grid-row: 1;
  }
}

.company-contact-feature .company-contact-content {
  position: relative;
  inset: auto;
  height: 100%;
  min-height: 0;
  padding: 32px clamp(42px, 6cqw, 96px);
  overflow-y: auto;
  color: #fff;
}

.company-contact-kicker {
  margin: 0 0 8px;
  color: rgba(255, 255, 255, .7);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .2em;
}

.company-contact-content h3 {
  margin: 0 0 16px;
  font-size: clamp(22px, calc(2 * var(--pp-wide-vw, 1vw)), 30px);
}

.company-contact-content > p {
  max-width: 620px;
  margin: 0;
  font-size: clamp(13px, calc(1 * var(--pp-wide-vw, 1vw)), 15px);
  line-height: 1.8;
}

.company-contact-details {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px 20px;
  margin-top: 18px;
}

.company-contact-details p {
  margin: 0;
  color: rgba(255, 255, 255, .84);
  font-size: 12px;
  line-height: 1.65;
}

.company-contact-phone {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  width: max-content;
  align-self: end;
  color: #fff;
  font-family: "Arial Black", Arial, Helvetica, sans-serif !important;
  font-size: clamp(14px, calc(1.2 * var(--pp-wide-vw, 1vw)), 16px) !important;
  font-weight: 700 !important;
  line-height: 1.75 !important;
  letter-spacing: 0;
  text-decoration: none;
  white-space: nowrap;
}

.company-contact-phone-icon {
  flex: 0 0 auto;
  width: 32px;
  height: 32px;
  fill: #fff;
  transform: scaleX(-1);
}

.company-contact-details .company-contact-phone + p {
  grid-column: 1;
}

.company-contact-details p:last-child {
  grid-column: 2;
  grid-row: 1 / span 2;
}

.company-contact-form-link {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  min-height: 54px;
  margin-top: 18px;
  padding: 8px 0;
  border-top: 1px solid rgba(255, 255, 255, .82);
  border-right: 0;
  border-bottom: 1px solid rgba(255, 255, 255, .82);
  border-left: 0;
  background: transparent;
  color: #fff;
  font-family: "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro",
    "Yu Gothic", "Meiryo", system-ui, sans-serif !important;
  font-size: clamp(19px, calc(1.75 * var(--pp-wide-vw, 1vw)), 23px) !important;
  font-weight: 900 !important;
  line-height: 1.75 !important;
  text-decoration: none;
  transition: color 180ms ease, border-color 180ms ease, opacity 180ms ease;
}

.company-contact-form-label {
  min-width: 0;
  white-space: normal;
}

.company-contact-form-icon {
  flex: 0 0 32px;
  width: 32px;
  height: 32px;
  fill: currentColor;
}

.company-contact-form-link:hover,
.company-contact-form-link:focus-visible {
  border-color: #fff;
  color: rgba(255, 255, 255, .82);
  background: transparent;
}

@media (max-width: 780px) {
  .company-contact-feature {
    grid-template-rows: none;
    height: auto;
    min-height: 0;
  }

  .company-contact-feature > .top-results-intro {
    grid-column: 1;
    grid-row: 1;
    min-height: 180px;
  }

  .company-contact-feature > .top-results-divider {
    position: relative;
    inset: auto;
    grid-column: 1;
    grid-row: 2;
    width: 100%;
    height: 56px;
    border: 0;
    border-block: 1px solid rgba(255, 255, 255, .92);
  }

  .company-contact-feature > .top-results-visual {
    grid-column: 1;
    grid-row: 3;
    height: auto;
  }

  .company-contact-feature:not(.is-toc-open) > .top-results-visual {
    display: none;
  }

  .company-contact-feature .company-contact-content {
    height: 280px;
    min-height: 280px;
    padding: 32px 28px;
  }

  .company-contact-details {
    grid-template-columns: 1fr;
  }

  .company-contact-details .company-contact-phone + p,
  .company-contact-details p:last-child {
    grid-column: 1;
    grid-row: auto;
  }

  .company-contact-form-link {
    gap: 10px;
    font-size: 16px !important;
    line-height: 1.5 !important;
  }

}

@media (prefers-reduced-motion: reduce) {
  .cinematic-slide,
  .cinematic-slide img,
  .cinematic-slide-transition,
  .cinematic-slide-transition-late,
  .cinematic-slide-reveal,
  .cinematic-hero-video,
  .cinematic-hero-shade::before,
  .cinematic-hero-shade::after {
    animation: none;
    transition: none;
  }


}

/* Use the same understated text-link treatment as the news heading. */
.top-service-original-card span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: auto;
  min-width: 0;
  padding: 6px 0;
  border: 0;
  border-bottom: 1px solid rgba(255, 255, 255, .72);
  background: transparent;
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.2;
  white-space: nowrap;
}

.top-service-original-card span::after {
  content: "→";
  display: inline-block;
  font-size: 14px;
  line-height: 1;
  text-shadow: 0 4px 18px rgba(0, 26, 43, .44);
}

/* Shared final contact scene for feature, results and process pages. */
.shared-page-contact {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) 80px minmax(300px, .9fr);
  min-height: 340px;
  overflow: hidden;
  color: #fff;
  background:
    linear-gradient(90deg, rgba(7, 42, 62, .88) 0 55%, rgba(55, 150, 194, .64) 100%),
    url("images/company/footer-contact-bg-original.jpg") center / cover no-repeat;
  border-top: 1px solid rgba(255, 255, 255, .3);
  scroll-margin-top: calc(var(--pp-header-height) + 20px);
}

.shared-page-contact__details,
.shared-page-contact__title {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(34px, calc(5 * var(--pp-wide-vw, 1vw)), 68px);
}

.shared-page-contact__details > p {
  max-width: 48em;
  margin: 0 0 24px;
  font-size: 14px;
  line-height: 1.9;
}

.shared-page-contact__phone {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  width: fit-content;
  color: #fff;
}

.shared-page-contact__phone .company-contact-phone-icon {
  width: 34px;
  height: 34px;
  fill: currentColor;
  flex: 0 0 auto;
}

.shared-page-contact__phone strong {
  font-size: clamp(26px, calc(3 * var(--pp-wide-vw, 1vw)), 40px);
  line-height: 1;
  letter-spacing: .02em;
}

.shared-page-contact__details > span {
  margin-top: 12px;
  font-size: 13px;
}

.shared-page-contact__form {
  display: flex;
  justify-content: space-between;
  margin-top: 24px;
  padding: 15px 0;
  color: #fff;
  border-top: 1px solid rgba(255, 255, 255, .72);
  border-bottom: 1px solid rgba(255, 255, 255, .72);
  font-weight: 800;
}

.shared-page-contact__divider {
  display: grid;
  place-items: center;
  background: rgba(64, 176, 220, .34);
  border-right: 1px solid rgba(255, 255, 255, .55);
  border-left: 1px solid rgba(255, 255, 255, .55);
  font-size: 34px;
}

.shared-page-contact__title h2 {
  margin: 0;
  font-size: clamp(42px, calc(5 * var(--pp-wide-vw, 1vw)), 70px);
  font-weight: 400;
  line-height: 1.18;
}

.shared-page-contact__title p {
  margin: 24px 0 0;
  font-family: var(--pp-font-latin);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .18em;
}

.shared-page-contact__title > span {
  margin-top: 24px;
  font-size: 13px;
  font-weight: 700;
}

body[data-page="services"] .rail-inner {
  min-height: 0;
  overflow-y: auto;
  padding: 24px 20px;
}

body[data-page="services"] .rail-context {
  margin-top: 14px;
}

body[data-page="services"] .rail-nav a {
  min-height: 49px;
  gap: 2px;
  padding: 8px 28px 7px 10px;
}

body[data-page="service-gxp"] .rail-inner {
  min-height: 0;
  overflow-y: auto;
  padding: 22px 20px;
}

body[data-page="service-gxp"] .rail-context {
  margin-top: 12px;
}

body[data-page="service-gxp"] .rail-nav a {
  min-height: 51px;
  gap: 2px;
  padding: 8px 28px 7px 10px;
}

body[data-page="service-gxp"] .rail-ja {
  font-size: 11px;
  line-height: 1.25;
}

.gxp-domain {
  display: grid;
  grid-template-columns: minmax(210px, .72fr) minmax(0, 1.9fr);
  min-height: 290px;
  padding: 0;
  overflow: hidden;
  border-top: 0;
}

.gxp-domain__heading {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-width: 0;
  padding: clamp(28px, calc(4 * var(--pp-wide-vw, 1vw)), 46px);
  color: #fff;
  background:
    linear-gradient(150deg, rgba(84, 178, 220, .94), rgba(46, 149, 195, .96) 58%, rgba(0, 61, 85, .98));
  isolation: isolate;
}

.gxp-domain:nth-of-type(even) .gxp-domain__heading {
  background:
    linear-gradient(150deg, rgba(0, 61, 85, .98), rgba(20, 103, 135, .97) 58%, rgba(84, 178, 220, .94));
}

.gxp-domain__heading::after {
  position: absolute;
  inset: 18px;
  z-index: -1;
  border: 1px solid rgba(255, 255, 255, .25);
  content: "";
}

.gxp-domain__number {
  position: absolute;
  top: 24px;
  left: clamp(28px, calc(4 * var(--pp-wide-vw, 1vw)), 46px);
  color: rgba(255, 255, 255, .7);
  font-family: var(--pp-font-latin);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .18em;
}

.gxp-domain__heading p {
  max-width: 28ch;
  margin: 0 0 12px;
  color: rgba(255, 255, 255, .76);
  font-family: var(--pp-font-latin);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .02em;
  line-height: 1.5;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.gxp-domain__heading h2 {
  margin: 0;
  font-family: var(--pp-font-latin);
  font-size: clamp(48px, calc(6 * var(--pp-wide-vw, 1vw)), 82px);
  font-weight: 800;
  line-height: .9;
  letter-spacing: -.055em;
}

.gxp-domain__ja {
  display: block;
  margin-top: 18px;
  padding-top: 14px;
  border-top: 1px solid rgba(255, 255, 255, .36);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.6;
}

.gxp-domain__body {
  align-self: center;
  min-width: 0;
  padding: clamp(30px, calc(5 * var(--pp-wide-vw, 1vw)), 60px);
}

.gxp-domain__body h3 {
  max-width: 34ch;
  margin: 0 0 26px;
  color: var(--pp-ink);
  font-family: var(--pp-font-display);
  font-size: clamp(21px, calc(2.6 * var(--pp-wide-vw, 1vw)), 29px);
  line-height: 1.45;
    letter-spacing: normal;
  text-wrap: balance;
}

.gxp-support-list {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.gxp-domain--primary .gxp-support-list {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 28px;
}

.gxp-support-list li {
  position: relative;
  padding: 13px 8px 13px 24px;
  color: var(--pp-text);
  border-bottom: 1px solid var(--pp-border);
  font-size: 15px;
  font-weight: 600;
  line-height: 1.75;
}

.gxp-support-list li::before {
  position: absolute;
  top: 22px;
  left: 2px;
  width: 9px;
  height: 9px;
  background: var(--pp-rail-accent);
  content: "";
  transform: rotate(45deg);
}

.gxp-support-list li a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--pp-deep);
  text-decoration: underline;
  text-decoration-color: var(--pp-primary);
  text-decoration-thickness: 2px;
  text-underline-offset: 5px;
}

.gxp-domain--primary .gxp-support-list li a {
  font-size: 13px;
}

.gxp-support-list li a:hover,
.gxp-support-list li a:focus-visible {
  color: var(--pp-primary-strong);
}

.gxp-link-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 22px;
  margin-top: 28px;
}

.gxp-link-row a,
.gxp-gap__link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 44px;
  color: var(--pp-deep);
  border-bottom: 2px solid var(--pp-primary);
  font-size: 13px;
  font-weight: 800;
  transition: color 180ms ease, border-color 180ms ease, transform 180ms ease;
}

.gxp-link-row a:hover,
.gxp-link-row a:focus-visible,
.gxp-gap__link:hover,
.gxp-gap__link:focus-visible {
  color: var(--pp-primary-strong);
  border-color: var(--pp-deep);
  transform: translateY(-1px);
}

.gxp-gap {
  display: grid;
  grid-template-columns: minmax(170px, .55fr) minmax(0, 1.45fr);
  gap: clamp(28px, calc(5 * var(--pp-wide-vw, 1vw)), 64px);
  align-items: center;
  padding: clamp(32px, calc(5 * var(--pp-wide-vw, 1vw)), 58px);
  border-top: 4px solid var(--pp-rail-accent);
  background:
    linear-gradient(128deg, rgba(255, 255, 255, .98), rgba(232, 246, 252, .96));
}

.gxp-gap__mark {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: end;
  min-height: 170px;
  padding: 24px;
  color: #fff;
  background: linear-gradient(145deg, var(--pp-rail-accent), var(--pp-deep));
  box-shadow: 18px 20px 0 rgba(84, 178, 220, .13);
}

.gxp-gap__mark span {
  font-family: var(--pp-font-latin);
  font-size: clamp(42px, calc(5 * var(--pp-wide-vw, 1vw)), 68px);
  font-weight: 800;
  line-height: .9;
  letter-spacing: -.05em;
}

.gxp-gap__mark i {
  font-size: 26px;
}

.gxp-gap .eyebrow {
  color: var(--pp-primary-strong);
}

.gxp-gap p {
  max-width: 66ch;
  margin: 0;
  color: var(--pp-text);
  font-size: 15px;
  line-height: 1.9;
}

.gxp-gap__link {
  margin-top: 24px;
}

body[data-page="services"] .rail-ja {
  font-size: 12px;
  line-height: 1.25;
}

@media (max-width: 980px) {
  body[data-page="services"] .rail-inner {
    overflow: visible;
    padding: 0 18px;
  }

  body[data-page="services"] .rail-nav {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  body[data-page="services"] .rail-nav a {
    min-height: 54px;
  }

  body[data-page="service-gxp"] .rail-inner {
    overflow: visible;
    padding: 0 18px;
  }

  body[data-page="service-gxp"] .rail-nav {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  body[data-page="service-gxp"] .rail-nav a {
    min-height: 54px;
  }

  .shared-page-contact {
    grid-template-columns: 1fr 58px minmax(250px, .8fr);
  }

  .shared-page-contact__details,
  .shared-page-contact__title {
    padding: 34px 28px;
  }
}

@media (max-width: 680px) {
  body[data-page="services"] .rail-nav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body[data-page="service-gxp"] .rail-nav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .gxp-domain,
  .gxp-gap {
    grid-template-columns: 1fr;
  }

  .gxp-domain {
    min-height: 0;
  }

  .gxp-domain__heading {
    min-height: 235px;
  }

  .gxp-domain__body {
    padding: 30px 24px 36px;
  }

  .gxp-domain--primary .gxp-support-list {
    grid-template-columns: 1fr;
  }

  .gxp-gap__mark {
    min-height: 130px;
  }

  body[data-page="service-gxp"] .page-stage > .company-contact-feature {
    width: calc(100% + 36px);
    margin-left: -18px;
  }

  .shared-page-contact {
    grid-template-columns: 1fr;
  }

  .shared-page-contact__divider {
    min-height: 52px;
    border: 0;
    border-top: 1px solid rgba(255, 255, 255, .55);
    border-bottom: 1px solid rgba(255, 255, 255, .55);
    transform: rotate(90deg);
  }
}

body[data-page="region01"] .medicine-service-coverage-map__phases li > :is(a, span) {
  padding-right: 10px;
}

/* Final shared sizing layer for the Region01 and CMC regulatory arrow maps. */
body[data-page="region01"] .pp-regulatory-arrow-map__phases li,
body[data-page="service-cmc"] #pp-process-explore .pp-regulatory-arrow-map__phases li {
  height: 60px;
  min-height: 60px;
}

body[data-page="region01"] .pp-regulatory-arrow-map__phases li > :is(a, span) {
  min-height: 60px;
  padding: 8px 18px 8px 12px;
}

body[data-page="region01"] .pp-regulatory-arrow-map__phases strong,
body[data-page="service-cmc"] #pp-process-explore .pp-regulatory-arrow-map__phases strong {
  font-size: 14px;
  line-height: 1.15;
}

body[data-page="region01"] .pp-regulatory-arrow-map__phases small,
body[data-page="service-cmc"] #pp-process-explore .pp-regulatory-arrow-map__phases small {
  display: block;
  margin-top: 4px;
  color: rgba(255, 255, 255, .86);
  font-family: var(--pp-font-latin, "Segoe UI", sans-serif);
  font-size: 9px;
  font-weight: 700;
  line-height: 1.1;
}

body[data-page="region01"] .pp-regulatory-arrow-map__phases a::after {
  display: none !important;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field {
  padding-right: 12px;
  padding-left: 12px;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__diagram {
  padding-right: 0;
  padding-left: 0;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__service-area-group {
  padding-right: 8px;
  padding-left: 8px;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__canvas {
  width: calc(100% + 24px);
  margin-right: -12px;
  margin-left: -12px;
}

/* CMC uses the same area-heading anatomy as the medicine service guide. */
body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__service-heading {
  display: flex;
  align-items: baseline;
  gap: 16px;
  margin: 0 0 14px;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(1, 54, 65, .28);
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__service-heading span {
  flex: 0 0 auto;
  padding: 6px 10px;
  border: 1px solid var(--pp-primary, #4eabd8);
  color: #013641;
  font-family: var(--pp-font-display);
  font-size: clamp(17px, calc(1.6 * var(--pp-wide-vw, 1vw)), 23px);
  font-weight: 800;
  line-height: 1.25;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__service-heading strong {
  color: #013641;
  font-family: var(--pp-font-display);
  font-size: clamp(17px, calc(1.55 * var(--pp-wide-vw, 1vw)), 22px);
  line-height: 1.4;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__service-heading + .pp-cmc-field__definition {
  margin-top: 0;
}

@media (max-width: 680px) {
  body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__canvas {
    width: 100%;
    margin-right: 0;
    margin-left: 0;
  }

  body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__service-heading {
    align-items: flex-start;
    gap: 10px;
  }

  body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__service-heading span,
  body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__service-heading strong {
    font-size: 15px;
  }
}

body[data-page="service-cmc"] #pp-process-explore :is(
  .pp-cmc-field__topic-row--compact,
  .pp-cmc-field__rocket-phases,
  .pp-cmc-field__standard-bands,
  .pp-cmc-field__callouts
) {
  min-width: 760px;
}

/* Region01 service structure proposal 2: connect fields, lifecycle, standards and support. */
body[data-page="region01"] .service-fusion-concept {
  margin: clamp(-20px, calc(-1.5 * var(--pp-wide-vw, 1vw)), -8px) 0 clamp(64px, calc(7 * var(--pp-wide-vw, 1vw)), 96px);
  scroll-margin-top: calc(var(--pp-header-height, 72px) + 16px);
  color: var(--pp-text, #18313b);
}

body[data-page="region01"] .service-fusion-concept__header {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(280px, .85fr);
  align-items: end;
  gap: 32px;
  padding: clamp(28px, calc(3 * var(--pp-wide-vw, 1vw)), 40px);
  color: #fff;
  background: linear-gradient(112deg, var(--pp-deep, #003d55) 0%, #07556f 68%, #177ca4 100%);
}

body[data-page="region01"] .service-fusion-concept__heading {
  display: grid;
  min-width: 0;
  grid-template-columns: max-content minmax(0, 1fr);
  align-items: center;
  gap: 10px 14px;
}

body[data-page="region01"] .service-fusion-concept__eyebrow {
  font-family: "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  font-size: 10px;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: .18em;
}

body[data-page="region01"] .service-fusion-concept__proposal {
  justify-self: start;
  padding: 4px 8px;
  color: var(--pp-deep, #003d55);
  background: #fff;
  font-size: 11px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: .08em;
}

body[data-page="region01"] .service-fusion-concept__heading h3 {
  grid-column: 1 / -1;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  margin: 0;
  font-size: clamp(27px, calc(3 * var(--pp-wide-vw, 1vw)), 38px);
  font-weight: 800;
  line-height: 1.25;
  letter-spacing: -.045em;
  overflow-wrap: anywhere;
}

body[data-page="region01"] .service-fusion-concept__header > p {
  margin: 0;
  color: rgba(255, 255, 255, .86);
  font-size: 14px;
  line-height: 1.9;
}

body[data-page="region01"] .service-fusion-concept__map {
  border: 1px solid rgba(0, 61, 85, .22);
  border-top: 0;
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 18px 50px rgba(0, 44, 61, .10);
}

body[data-page="region01"] .service-fusion-concept__layer {
  display: grid;
  grid-template-columns: 132px minmax(0, 1fr);
  border-bottom: 1px solid var(--pp-border, #cfe4ef);
}

body[data-page="region01"] .service-fusion-concept__layer-heading {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  padding: 22px 20px;
  color: #fff;
  background: var(--pp-deep, #003d55);
}

body[data-page="region01"] .service-fusion-concept__layer-heading small {
  color: rgba(255, 255, 255, .66);
  font-family: "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  font-size: 9px;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: .17em;
}

body[data-page="region01"] .service-fusion-concept__layer-heading strong {
  font-size: 15px;
  line-height: 1.45;
}

body[data-page="region01"] .service-fusion-concept__stage-board {
  display: grid;
  gap: 10px;
  padding: 16px;
  background: #f5fafc;
}

body[data-page="region01"] .service-fusion-concept__stage-row {
  display: grid;
  grid-template-columns: 178px minmax(0, 1fr);
  min-width: 0;
  border: 1px solid rgba(0, 61, 85, .18);
  background: #fff;
}

body[data-page="region01"] .service-fusion-concept__stage-row > header {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 4px;
  padding: 14px 16px;
  color: var(--pp-deep, #003d55);
  border-right: 1px solid rgba(0, 61, 85, .16);
  background: #fff;
}

body[data-page="region01"] .service-fusion-concept__stage-row > header strong {
  font-size: 14px;
  line-height: 1.45;
}

body[data-page="region01"] .service-fusion-concept__stage-row > header small {
  color: var(--pp-muted, #5e7078);
  font-size: 9px;
  font-weight: 700;
  line-height: 1.35;
}

body[data-page="region01"] .service-fusion-concept__stage-row--cosmetics {
  border-color: rgba(104, 67, 131, .28);
  background: rgba(239, 231, 246, .44);
}

body[data-page="region01"] .service-fusion-concept__stage-row--cosmetics > header {
  border-color: rgba(104, 67, 131, .24);
  background: rgba(239, 231, 246, .72);
}

body[data-page="region01"] .service-fusion-concept__stage-scroll {
  min-width: 0;
  overflow-x: auto;
  scrollbar-color: var(--pp-primary-strong, #2e95c3) transparent;
  scrollbar-width: thin;
}

body[data-page="region01"] .service-fusion-concept__stage-track {
  display: grid;
  min-width: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

body[data-page="region01"] .service-fusion-concept__stage-track--medicine {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

body[data-page="region01"] .service-fusion-concept__stage-track--cosmetics {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

body[data-page="region01"] .service-fusion-concept__stage-track li {
  position: relative;
  min-width: 0;
  color: #fff;
  clip-path: polygon(0 0, calc(100% - 13px) 0, 100% 50%, calc(100% - 13px) 100%, 0 100%, 13px 50%);
}

body[data-page="region01"] .service-fusion-concept__stage-track li:first-child {
  clip-path: polygon(0 0, calc(100% - 13px) 0, 100% 50%, calc(100% - 13px) 100%, 0 100%);
}

body[data-page="region01"] .service-fusion-concept__stage-track :is(a, li > span) {
  display: flex;
  min-height: 66px;
  flex-direction: column;
  justify-content: center;
  gap: 3px;
  padding: 9px 18px 9px 12px;
  color: inherit;
  text-align: center;
  text-decoration: none;
}

body[data-page="region01"] .service-fusion-concept__stage-track :is(a, li > span)::after {
  display: none;
}

body[data-page="region01"] .service-fusion-concept__stage-track strong {
  font-size: 13px;
  line-height: 1.2;
}

body[data-page="region01"] .service-fusion-concept__stage-track small {
  color: rgba(255, 255, 255, .88);
  font-family: var(--pp-font-latin, "Segoe UI", sans-serif);
  font-size: 8px;
  font-weight: 700;
  line-height: 1.25;
}

body[data-page="region01"] .service-fusion-concept__stage-track--cosmetics span:not(.ph) {
  font-family: var(--pp-font-latin, "Segoe UI", sans-serif);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .12em;
}

body[data-page="region01"] .service-fusion-concept__stage-track a:is(:hover, :focus-visible) {
  filter: brightness(.88) saturate(1.08);
}

body[data-page="region01"] .service-fusion-concept__stage-track--medicine .is-research { background: #439cb2; }
body[data-page="region01"] .service-fusion-concept__stage-track--medicine .is-nonclinical { background: #71dddd; }
body[data-page="region01"] .service-fusion-concept__stage-track--medicine .is-clinical { background: #60c8e4; }
body[data-page="region01"] .service-fusion-concept__stage-track--medicine .is-approval { background: #91bfcb; }
body[data-page="region01"] .service-fusion-concept__stage-track--medicine .is-market,
body[data-page="region01"] .service-fusion-concept__stage-track--medicine .is-distribution { background: #a2b3b7; }

body[data-page="region01"] .service-fusion-concept__stage-track--cosmetics .is-development { background: #4ba0b8; }
body[data-page="region01"] .service-fusion-concept__stage-track--cosmetics .is-manufacturing { background: #789ea8; }
body[data-page="region01"] .service-fusion-concept__stage-track--cosmetics .is-distribution { background: #777a74; }

body[data-page="region01"] .service-fusion-concept__stage-destinations {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  border: 1px solid var(--pp-border, #cfe4ef);
  background: var(--pp-border, #cfe4ef);
}

body[data-page="region01"] .service-fusion-concept__stage-destinations a {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  min-width: 0;
  min-height: 72px;
  padding: 11px 13px;
  color: var(--pp-deep, #003d55);
  border-top: 3px solid var(--pp-primary-strong, #2e95c3);
  background: #fff;
  text-decoration: none;
  transition: background-color 180ms ease;
}

body[data-page="region01"] .service-fusion-concept__stage-destinations a.is-cosmetics {
  border-top-color: #684383;
  background: rgba(239, 231, 246, .72);
}

body[data-page="region01"] .service-fusion-concept__stage-destinations a:is(:hover, :focus-visible) {
  background: #e9f6fb;
}

body[data-page="region01"] .service-fusion-concept__stage-destinations a.is-cosmetics:is(:hover, :focus-visible) {
  background: rgba(227, 211, 239, .9);
}

body[data-page="region01"] .service-fusion-concept__stage-destinations .ph {
  color: var(--pp-primary-strong, #2e95c3);
  font-size: 22px;
}

body[data-page="region01"] .service-fusion-concept__stage-destinations .is-cosmetics .ph {
  color: #684383;
}

body[data-page="region01"] .service-fusion-concept__stage-destinations span {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 3px;
}

body[data-page="region01"] .service-fusion-concept__stage-destinations small {
  color: var(--pp-muted, #5e7078);
  font-size: 8px;
  font-weight: 800;
  line-height: 1.35;
  letter-spacing: .04em;
}

body[data-page="region01"] .service-fusion-concept__stage-destinations strong {
  font-size: 12px;
  line-height: 1.45;
}

body[data-page="region01"] .service-fusion-concept__domains {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  padding: 1px;
  background: var(--pp-border, #cfe4ef);
}

body[data-page="region01"] .service-fusion-concept__domain-head {
  display: flex;
  min-height: 82px;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  padding: 17px 20px;
  color: var(--pp-deep, #003d55);
  background: #fff;
  text-decoration: none;
  transition: color 180ms ease, background-color 180ms ease;
}

body[data-page="region01"] .service-fusion-concept__domain-head:is(:hover, :focus-visible) {
  color: #fff;
  background: var(--pp-primary-strong, #2e95c3);
}

body[data-page="region01"] .service-fusion-concept__domain-head span {
  font-size: clamp(15px, calc(1.4 * var(--pp-wide-vw, 1vw)), 18px);
  font-weight: 800;
  line-height: 1.45;
}

body[data-page="region01"] .service-fusion-concept__domain-head small {
  font-family: "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  font-size: 9px;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: .08em;
}

body[data-page="region01"] .service-fusion-concept__domain {
  display: flex;
  min-width: 0;
  flex-direction: column;
  background: #fff;
  scroll-margin-top: calc(var(--pp-header-height, 72px) + 18px);
}

body[data-page="region01"] .service-fusion-concept__domain-body {
  position: relative;
  display: flex;
  min-height: 270px;
  flex: 1;
  flex-direction: column;
  align-items: stretch;
  padding: 30px 20px 22px;
  border-top: 1px solid var(--pp-border, #cfe4ef);
}

body[data-page="region01"] .service-fusion-concept__connector {
  position: absolute;
  top: 0;
  left: 50%;
  width: 1px;
  height: 22px;
  background: var(--pp-primary-strong, #2e95c3);
  transform: translateX(-50%);
}

body[data-page="region01"] .service-fusion-concept__connector::after {
  position: absolute;
  right: -3px;
  bottom: -1px;
  width: 7px;
  height: 7px;
  border-right: 1px solid var(--pp-primary-strong, #2e95c3);
  border-bottom: 1px solid var(--pp-primary-strong, #2e95c3);
  content: "";
  transform: rotate(45deg);
}

body[data-page="region01"] .service-fusion-concept__standard-title {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5px;
  margin: 0 0 13px;
  color: var(--pp-deep, #003d55);
  text-align: center;
}

body[data-page="region01"] .service-fusion-concept__standard-title small {
  color: var(--pp-muted, #5e7078);
  font-size: 10px;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: .12em;
}

body[data-page="region01"] .service-fusion-concept__standard-title strong {
  font-size: clamp(24px, calc(2.4 * var(--pp-wide-vw, 1vw)), 34px);
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: -.035em;
}

body[data-page="region01"] .service-fusion-concept__standard-group {
  display: flex;
  min-width: 0;
  flex-direction: column;
}

body[data-page="region01"] .service-fusion-concept__standard-group + .service-fusion-concept__standard-group {
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid var(--pp-border, #cfe4ef);
}

body[data-page="region01"] .service-fusion-concept__standard-group .service-fusion-concept__standard-tags {
  min-height: 0;
  margin-bottom: 12px;
}

body[data-page="region01"] .service-fusion-concept__standard-group .service-fusion-concept__consulting-link {
  margin-top: 0;
}

body[data-page="region01"] .service-fusion-concept__standard-group--other .service-fusion-concept__standard-title strong {
  font-size: clamp(19px, calc(1.8 * var(--pp-wide-vw, 1vw)), 25px);
  letter-spacing: -.02em;
}

body[data-page="region01"] .service-fusion-concept__standard-tags {
  display: flex;
  min-height: 60px;
  flex-wrap: wrap;
  align-content: flex-start;
  justify-content: center;
  gap: 6px;
  margin: 0 0 18px;
  padding: 0;
  list-style: none;
}

body[data-page="region01"] .service-fusion-concept__standard-tags li {
  padding: 6px 8px;
  color: var(--pp-deep, #003d55);
  border: 1px solid rgba(46, 149, 195, .38);
  background: var(--pp-surface-soft, #eef7fc);
  font-family: "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  font-size: 10px;
  font-weight: 800;
  line-height: 1;
}

body[data-page="region01"] .service-fusion-concept__standard-note {
  min-height: 60px;
  margin: 0 0 18px;
  color: var(--pp-muted, #5e7078);
  font-size: 11px;
  font-weight: 700;
  line-height: 1.65;
  text-align: center;
}

body[data-page="region01"] .service-fusion-concept__consulting-link {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  min-height: 68px;
  margin-top: auto;
  padding: 14px 16px;
  color: #fff;
  background: var(--pp-deep, #003d55);
  text-decoration: none;
  transition: background-color 180ms ease;
}

body[data-page="region01"] .service-fusion-concept__consulting-links {
  display: grid;
  gap: 8px;
  margin-top: auto;
}

body[data-page="region01"] .service-fusion-concept__consulting-links .service-fusion-concept__consulting-link {
  margin-top: 0;
}

body[data-page="region01"] .service-fusion-concept__consulting-link--secondary {
  color: var(--pp-deep, #003d55);
  border: 1px solid var(--pp-primary-strong, #2e95c3);
  background: #fff;
}

body[data-page="region01"] .service-fusion-concept__consulting-link--secondary small {
  color: var(--pp-primary-strong, #2e95c3);
}

body[data-page="region01"] .service-fusion-concept__consulting-link--secondary:is(:hover, :focus-visible) {
  color: #fff;
}

body[data-page="region01"] .service-fusion-concept__consulting-link:is(:hover, :focus-visible) {
  background: var(--pp-primary-strong, #2e95c3);
}

body[data-page="region01"] .service-fusion-concept__consulting-link span {
  display: flex;
  flex-direction: column;
  gap: 3px;
}

body[data-page="region01"] .service-fusion-concept__consulting-link small {
  color: rgba(255, 255, 255, .62);
  font-family: "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  font-size: 8px;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: .16em;
}

body[data-page="region01"] .service-fusion-concept__consulting-link strong {
  font-size: 13px;
  line-height: 1.45;
}

body[data-page="region01"] .service-fusion-concept__consulting-link .ph {
  color: var(--pp-primary, #54b2dc);
  font-size: 17px;
}

body[data-page="region01"] .service-fusion-concept__scroll {
  min-width: 0;
  overflow-x: auto;
  background: var(--pp-surface-soft, #eef7fc);
  scrollbar-color: var(--pp-primary-strong, #2e95c3) transparent;
  scrollbar-width: thin;
}

body[data-page="region01"] .service-fusion-concept__timeline {
  min-width: 780px;
  padding: 24px 26px 28px;
}

body[data-page="region01"] .service-fusion-concept__phases {
  position: relative;
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  margin: 0;
  padding: 0 0 20px;
  list-style: none;
}

body[data-page="region01"] .service-fusion-concept__phases::before {
  position: absolute;
  right: 8.3%;
  bottom: 5px;
  left: 8.3%;
  height: 2px;
  background: var(--pp-primary, #54b2dc);
  content: "";
}

body[data-page="region01"] .service-fusion-concept__phases li {
  position: relative;
  min-width: 0;
}

body[data-page="region01"] .service-fusion-concept__phases li::after {
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 12px;
  height: 12px;
  border: 3px solid var(--pp-primary, #54b2dc);
  border-radius: 50%;
  background: #fff;
  content: "";
  transform: translate(-50%, 50%);
}

body[data-page="region01"] .service-fusion-concept__phases :is(a, span) {
  display: flex;
  min-height: 54px;
  flex-direction: column;
  justify-content: center;
  gap: 3px;
  padding: 7px 8px;
  color: var(--pp-deep, #003d55);
  text-align: center;
  text-decoration: none;
}

body[data-page="region01"] .service-fusion-concept__phases a:is(:hover, :focus-visible) {
  color: var(--pp-primary-strong, #2e95c3);
}

body[data-page="region01"] .service-fusion-concept__phases strong {
  font-size: 13px;
  line-height: 1.35;
}

body[data-page="region01"] .service-fusion-concept__phases small {
  color: var(--pp-muted, #5e7078);
  font-family: "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  font-size: 8px;
  line-height: 1.2;
}

body[data-page="region01"] .service-fusion-concept__standards {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  grid-template-rows: repeat(2, minmax(54px, auto));
  gap: 8px;
  margin-top: 16px;
}

body[data-page="region01"] .service-fusion-concept__standards a {
  display: flex;
  min-width: 0;
  flex-direction: column;
  justify-content: center;
  gap: 3px;
  padding: 9px 11px;
  color: var(--pp-deep, #003d55);
  border: 1px solid rgba(46, 149, 195, .40);
  border-left: 4px solid var(--pp-primary, #54b2dc);
  background: #fff;
  text-decoration: none;
  transition: transform 180ms ease, border-color 180ms ease;
}

body[data-page="region01"] .service-fusion-concept__standards a:is(:hover, :focus-visible) {
  border-color: var(--pp-primary-strong, #2e95c3);
  transform: translateY(-2px);
}

body[data-page="region01"] .service-fusion-concept__standards strong {
  font-family: "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  font-size: 12px;
  line-height: 1.2;
}

body[data-page="region01"] .service-fusion-concept__standards small {
  color: var(--pp-muted, #5e7078);
  font-size: 9px;
  font-weight: 700;
  line-height: 1.35;
}

body[data-page="region01"] .service-fusion-concept__standards .is-glp { grid-column: 2; grid-row: 1; }
body[data-page="region01"] .service-fusion-concept__standards .is-gcp { grid-column: 3; grid-row: 1; }
body[data-page="region01"] .service-fusion-concept__standards .is-gmp { grid-column: 2 / 6; grid-row: 2; }
body[data-page="region01"] .service-fusion-concept__standards .is-postmarket { grid-column: 5; grid-row: 1; }
body[data-page="region01"] .service-fusion-concept__standards .is-gdp { grid-column: 6; grid-row: 1; }

body[data-page="region01"] .service-fusion-concept__support-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  padding: 1px;
  background: var(--pp-border, #cfe4ef);
}

body[data-page="region01"] .service-fusion-concept__support-grid a {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-content: center;
  gap: 5px 10px;
  min-height: 104px;
  padding: 18px;
  color: var(--pp-deep, #003d55);
  background: #fff;
  text-decoration: none;
  transition: background-color 180ms ease, transform 180ms ease;
}

body[data-page="region01"] .service-fusion-concept__support-grid a:is(:hover, :focus-visible) {
  z-index: 1;
  background: #f4fbfe;
  transform: translateY(-2px);
}

body[data-page="region01"] .service-fusion-concept__support-grid strong {
  font-size: 14px;
  line-height: 1.45;
}

body[data-page="region01"] .service-fusion-concept__support-grid span {
  grid-column: 1 / -1;
  color: var(--pp-muted, #5e7078);
  font-size: 10px;
  line-height: 1.6;
}

body[data-page="region01"] .service-fusion-concept__support-grid .ph {
  align-self: center;
  color: var(--pp-primary-strong, #2e95c3);
  font-size: 16px;
}

body[data-page="region01"] .service-fusion-concept :is(a, [tabindex="0"]):focus-visible {
  outline: 3px solid var(--pp-primary, #54b2dc);
  outline-offset: -3px;
}

body[data-page="region01"] .service-fusion-concept__summary {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 2px 14px;
  align-items: center;
  margin: 0;
  padding: 22px 28px;
  color: #fff;
  background: var(--pp-primary-strong, #2e95c3);
}

body[data-page="region01"] .service-fusion-concept__summary > span {
  grid-row: 1 / 3;
  font-family: "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  font-size: 36px;
  font-weight: 300;
  line-height: 1;
  text-align: center;
}

body[data-page="region01"] .service-fusion-concept__summary strong {
  font-size: 16px;
  line-height: 1.5;
}

body[data-page="region01"] .service-fusion-concept__summary small {
  color: rgba(255, 255, 255, .82);
  font-size: 11px;
  line-height: 1.6;
}

@media (max-width: 920px) {
  body[data-page="region01"] .service-fusion-concept__header {
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
  }

  body[data-page="region01"] .service-fusion-concept__layer {
    grid-template-columns: 108px minmax(0, 1fr);
  }

  body[data-page="region01"] .service-fusion-concept__support-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  body[data-page="region01"] .service-fusion-concept {
    margin-top: -8px;
    margin-bottom: 56px;
  }

  body[data-page="region01"] .service-fusion-concept__header {
    padding: 24px 20px;
  }

  body[data-page="region01"] .service-fusion-concept__heading h3 {
    font-size: 26px;
  }

  body[data-page="region01"] .service-fusion-concept__layer {
    grid-template-columns: minmax(0, 1fr);
  }

  body[data-page="region01"] .service-fusion-concept__layer-heading {
    min-height: 0;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
    padding: 10px 16px;
  }

  body[data-page="region01"] .service-fusion-concept__stage-board {
    padding: 12px;
  }

  body[data-page="region01"] .service-fusion-concept__stage-row {
    grid-template-columns: minmax(0, 1fr);
  }

  body[data-page="region01"] .service-fusion-concept__stage-row > header {
    padding: 11px 14px;
    border-right: 0;
    border-bottom: 1px solid rgba(0, 61, 85, .16);
  }

  body[data-page="region01"] .service-fusion-concept__stage-row--cosmetics > header {
    border-color: rgba(104, 67, 131, .24);
  }

  body[data-page="region01"] .service-fusion-concept__stage-track {
    min-width: 660px;
  }

  body[data-page="region01"] .service-fusion-concept__stage-destinations {
    grid-template-columns: minmax(0, 1fr);
  }

  body[data-page="region01"] .service-fusion-concept__domains,
  body[data-page="region01"] .service-fusion-concept__support-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  body[data-page="region01"] .service-fusion-concept__domain-head {
    min-height: 68px;
    padding: 14px 18px;
  }

  body[data-page="region01"] .service-fusion-concept__domain-body {
    min-height: 0;
  }

  body[data-page="region01"] .service-fusion-concept__support-grid a {
    min-height: 88px;
  }

  body[data-page="region01"] .service-fusion-concept__summary {
    grid-template-columns: 34px minmax(0, 1fr);
    padding: 20px 18px;
  }
}

@media (prefers-reduced-motion: reduce) {
  body[data-page="region01"] .service-fusion-concept :is(a, .service-fusion-concept__standards a) {
    transition: none;
  }
}

/* Academy detail: a source-backed curriculum page with one clear learning sequence. */
body[data-page="service-academy"] .page-intro {
  max-width: 850px;
}

body[data-page="service-academy"] .page-intro > p {
  max-width: 720px;
}

body[data-page="service-academy"] .academy-placeholder {
  min-height: 360px;
  border-top: 4px solid var(--pp-primary, #4eabd8);
}

body[data-page="service-academy"] .academy-placeholder > p {
  max-width: 680px;
  margin: 18px 0 0;
  color: var(--pp-muted, #64727c);
  line-height: 1.8;
}

body[data-page="service-academy"] .academy-placeholder__planned {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 28px;
}

body[data-page="service-academy"] .academy-placeholder__planned span {
  padding: 9px 12px;
  border: 1px solid var(--pp-border, #cfe4ef);
  color: var(--pp-deep, #004a99);
  background: var(--pp-surface-soft, #eef7fc);
  font-size: 13px;
  font-weight: 700;
}

body[data-page="service-academy"] .page-stage > :is(.shared-tail-feature, .company-contact-feature) {
  width: calc(100% + (2 * clamp(24px, calc(5 * var(--pp-wide-vw, 1vw)), 72px)));
  margin-top: 28px;
  margin-right: 0;
  margin-bottom: 0;
  margin-left: calc(-1 * clamp(24px, calc(5 * var(--pp-wide-vw, 1vw)), 72px));
}

@media (min-width: 781px) {
  body[data-page="service-academy"] .page-stage > .shared-tail-services {
    grid-template-columns: minmax(0, 46%) clamp(58px, calc(6 * var(--pp-wide-vw, 1vw)), 84px) minmax(0, 1fr);
  }

  body[data-page="service-academy"] .shared-tail-services > .top-results-intro {
    grid-column: 1;
    grid-row: 1;
  }

  body[data-page="service-academy"] .shared-tail-services > .top-results-divider {
    position: relative;
    inset: auto;
    grid-column: 2;
    grid-row: 1;
    width: 100%;
    height: 100%;
    border-right: 1px solid rgba(255, 255, 255, .92);
    border-left: 1px solid rgba(255, 255, 255, .92);
    transform: none;
  }

  body[data-page="service-academy"] .shared-tail-services > .top-results-visual {
    grid-column: 3;
    grid-row: 1;
  }
}

body[data-page="service-academy"] .academy-overview,
body[data-page="service-academy"] .academy-program {
  border-top: 4px solid var(--pp-primary, #4eabd8);
}

body[data-page="service-academy"] .academy-overview .section-lead {
  max-width: 780px;
}

body[data-page="service-academy"] .academy-principles {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  margin-top: 28px;
  background: var(--pp-border, #cfe4ef);
  border: 1px solid var(--pp-border, #cfe4ef);
}

body[data-page="service-academy"] .academy-principles article {
  min-width: 0;
  padding: 26px 24px;
  background: #fff;
}

body[data-page="service-academy"] .academy-principles i {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  margin-bottom: 20px;
  border: 1px solid rgba(47, 142, 182, .45);
  color: var(--pp-primary-strong, #2f8eb6);
  font-size: 23px;
}

body[data-page="service-academy"] .academy-principles h3,
body[data-page="service-academy"] .academy-audience-grid h3,
body[data-page="service-academy"] .academy-program__steps h3 {
  margin: 0;
  color: var(--pp-ink, #013641);
}

body[data-page="service-academy"] .academy-principles h3 {
  font-size: 18px;
}

body[data-page="service-academy"] .academy-principles p {
  margin: 10px 0 0;
  color: var(--pp-muted, #64727c);
  font-size: 14px;
  line-height: 1.75;
}

body[data-page="service-academy"] .academy-course {
  display: grid;
  grid-template-columns: minmax(250px, .78fr) minmax(0, 1.45fr);
  gap: 0;
  padding: 0;
  overflow: hidden;
}

body[data-page="service-academy"] .academy-course__visual {
  position: relative;
  min-height: 100%;
  overflow: hidden;
  background: var(--pp-ink, #013641);
}

body[data-page="service-academy"] .academy-course__visual::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(1, 54, 65, .08), rgba(1, 54, 65, .72));
  content: "";
  pointer-events: none;
}

body[data-page="service-academy"] .academy-course__visual img {
  width: 100%;
  height: 100%;
  min-height: 510px;
  object-fit: cover;
  transition: transform 180ms cubic-bezier(.2, .8, .2, 1);
}

body[data-page="service-academy"] .academy-course:is(:hover, :focus-within) .academy-course__visual img {
  transform: scale(1.035);
}

body[data-page="service-academy"] .academy-course__visual > span {
  position: absolute;
  z-index: 1;
  right: 22px;
  bottom: 22px;
  left: 22px;
  padding-top: 12px;
  border-top: 1px solid rgba(255, 255, 255, .65);
  color: #fff;
  font-family: var(--pp-font-latin, "Segoe UI", sans-serif);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .18em;
}

body[data-page="service-academy"] .academy-course__content {
  padding: clamp(28px, calc(4 * var(--pp-wide-vw, 1vw)), 48px);
}

body[data-page="service-academy"] .academy-course__content > p {
  margin: 18px 0 0;
  line-height: 1.8;
}

body[data-page="service-academy"] .academy-audience-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin-top: 28px;
}

body[data-page="service-academy"] .academy-audience-grid > div {
  padding: 20px;
  border-top: 3px solid var(--pp-primary, #4eabd8);
  background: var(--pp-surface-soft, #eef7fc);
}

body[data-page="service-academy"] .academy-audience-grid h3 {
  font-size: 16px;
}

body[data-page="service-academy"] .academy-audience-grid ul {
  display: grid;
  gap: 9px;
  margin: 14px 0 0;
  padding-left: 1.25em;
  color: var(--pp-text, #1e2f3a);
  font-size: 13px;
  line-height: 1.65;
}

body[data-page="service-academy"] .academy-audience-grid li::marker {
  color: var(--pp-primary-strong, #2f8eb6);
}

body[data-page="service-academy"] .academy-source-link {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  gap: 10px;
  margin-top: 24px;
  padding: 0 2px 5px;
  border-bottom: 1px solid currentColor;
  color: var(--pp-deep, #004a99);
  font-weight: 700;
  text-decoration: none;
}

body[data-page="service-academy"] .academy-source-link:is(:hover, :focus-visible) {
  color: var(--pp-primary-strong, #2f8eb6);
}

body[data-page="service-academy"] .academy-source-link:focus-visible {
  outline: 2px solid var(--pp-primary-strong, #2f8eb6);
  outline-offset: 4px;
}

body[data-page="service-academy"] .academy-program__steps {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
  margin: 30px 0 0;
  padding: 0;
  list-style: none;
}

body[data-page="service-academy"] .academy-program__steps::before {
  position: absolute;
  top: 23px;
  right: 10%;
  left: 10%;
  height: 1px;
  background: var(--pp-primary, #4eabd8);
  content: "";
}

body[data-page="service-academy"] .academy-program__steps li {
  position: relative;
  z-index: 1;
  min-width: 0;
}

body[data-page="service-academy"] .academy-program__steps li > span {
  display: grid;
  width: 46px;
  height: 46px;
  place-items: center;
  margin-bottom: 18px;
  background: var(--pp-ink, #013641);
  color: #fff;
  font-family: var(--pp-font-latin, "Segoe UI", sans-serif);
  font-size: 12px;
  font-weight: 700;
}

body[data-page="service-academy"] .academy-program__steps h3 {
  font-size: 16px;
}

body[data-page="service-academy"] .academy-program__steps p {
  margin: 8px 0 0;
  color: var(--pp-muted, #64727c);
  font-size: 13px;
  line-height: 1.7;
}

body[data-page="service-academy"] .academy-topic-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  margin: 28px 0 0;
  padding: 1px;
  background: var(--pp-border, #cfe4ef);
  list-style: none;
}

body[data-page="service-academy"] .academy-topic-list li {
  display: grid;
  gap: 7px;
  padding: 22px 24px;
  background: rgba(255, 255, 255, .94);
}

body[data-page="service-academy"] .academy-topic-list strong {
  color: var(--pp-deep, #004a99);
  font-size: 16px;
}

body[data-page="service-academy"] .academy-topic-list span {
  color: var(--pp-muted, #64727c);
  font-size: 13px;
  line-height: 1.6;
}

@media (max-width: 980px) {
  body[data-page="service-academy"] .academy-principles {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body[data-page="service-academy"] .academy-principles article:last-child {
    grid-column: 1 / -1;
  }

  body[data-page="service-academy"] .academy-course {
    grid-template-columns: minmax(0, 1fr);
  }

  body[data-page="service-academy"] .academy-course__visual img {
    height: min(calc(52 * var(--pp-wide-vw, 1vw)), 420px);
    min-height: 300px;
  }

  body[data-page="service-academy"] .academy-program__steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body[data-page="service-academy"] .academy-program__steps::before {
    display: none;
  }
}

@media (max-width: 640px) {
  body[data-page="service-academy"] .page-stage > :is(.shared-tail-feature, .company-contact-feature) {
    width: calc(100% + 36px);
    margin-left: -18px;
  }

  body[data-page="service-academy"] .academy-principles,
  body[data-page="service-academy"] .academy-audience-grid,
  body[data-page="service-academy"] .academy-program__steps,
  body[data-page="service-academy"] .academy-topic-list {
    grid-template-columns: minmax(0, 1fr);
  }

  body[data-page="service-academy"] .academy-principles article:last-child {
    grid-column: auto;
  }

  body[data-page="service-academy"] .academy-course__content {
    padding: 25px 21px 28px;
  }

  body[data-page="service-academy"] .academy-course__visual img {
    height: calc(64 * var(--pp-wide-vw, 1vw));
    min-height: 230px;
  }

  body[data-page="service-academy"] .academy-program__steps {
    gap: 0;
  }

  body[data-page="service-academy"] .academy-program__steps li {
    display: grid;
    grid-template-columns: 46px minmax(0, 1fr);
    gap: 16px;
    padding-bottom: 22px;
  }

  body[data-page="service-academy"] .academy-program__steps li:not(:last-child)::after {
    position: absolute;
    top: 46px;
    bottom: 0;
    left: 22px;
    width: 1px;
    background: var(--pp-primary, #4eabd8);
    content: "";
  }

  body[data-page="service-academy"] .academy-program__steps li > span {
    margin-bottom: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  body[data-page="service-academy"] .academy-course__visual img {
    transition: none;
  }
}

/* Region01: consolidated GxP content. */
body[data-page="region01"] .medicine-gxp-overview {
  margin: clamp(58px, calc(7 * var(--pp-wide-vw, 1vw)), 96px) 0;
  scroll-margin-top: 96px;
}

@media (min-width: 721px) {
  body[data-page="region01"] :is(
    .medicine-gxp-overview,
    #cosmetics-consulting
  ) > .medicine-service-section-heading {
    width: 100%;
    margin-right: 0;
    margin-left: 0;
  }

  body[data-page="region01"] #cosmetics-flow > .medicine-service-area-heading {
    width: calc(100% + (2 * clamp(30px, calc(4.5 * var(--pp-wide-vw, 1vw)), 54px)));
    max-width: none;
    margin-right: calc(clamp(30px, calc(4.5 * var(--pp-wide-vw, 1vw)), 54px) * -1);
    margin-left: calc(clamp(30px, calc(4.5 * var(--pp-wide-vw, 1vw)), 54px) * -1);
  }
}

body[data-page="region01"] .medicine-gxp-overview__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(18px, calc(2.4 * var(--pp-wide-vw, 1vw)), 26px);
  margin-top: clamp(30px, calc(4 * var(--pp-wide-vw, 1vw)), 52px);
}

body[data-page="region01"] .medicine-gxp-overview__card {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 42%) minmax(0, 1fr);
  min-width: 0;
  min-height: 270px;
  overflow: hidden;
  border-top: 0;
  background: #08293c;
  box-shadow: 0 18px 46px rgba(0, 25, 45, .24);
  scroll-margin-top: 96px;
}

body[data-page="region01"] .medicine-gxp-overview__image {
  position: absolute;
  inset: 0 auto 0 0;
  width: 50%;
  overflow: hidden;
  background: #dbe9f1;
}

body[data-page="region01"] .medicine-gxp-overview__image::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(38, 141, 181, .48), rgba(4, 27, 43, .32));
  content: "";
  pointer-events: none;
}

body[data-page="region01"] .medicine-gxp-overview__image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(.76) brightness(.78) contrast(.94);
  transition: transform .65s ease;
}

body[data-page="region01"] .medicine-gxp-overview__card:hover .medicine-gxp-overview__image img {
  transform: scale(1.035);
}

body[data-page="region01"] .medicine-gxp-overview__body {
  position: relative;
  z-index: 1;
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: minmax(0, 42%) minmax(0, 1fr);
  min-height: 270px;
  padding: 0;
}

body[data-page="region01"] .medicine-gxp-overview__summary,
body[data-page="region01"] .medicine-gxp-overview__detail {
  display: flex;
  min-width: 0;
  flex-direction: column;
  justify-content: center;
  padding: clamp(28px, calc(3.4 * var(--pp-wide-vw, 1vw)), 48px);
}

body[data-page="region01"] .medicine-gxp-overview__summary {
  grid-column: 1;
  color: #fff;
  background: rgba(84, 178, 220, .48);
}

body[data-page="region01"] .medicine-gxp-overview__detail {
  grid-column: 2;
  background: rgba(4, 27, 43, .94);
}

body[data-page="region01"] .medicine-gxp-overview__number {
  display: block;
  margin-bottom: clamp(14px, calc(1.4 * var(--pp-wide-vw, 1vw)), 20px);
  color: #fff;
  font-family: var(--pp-font-latin, "Segoe UI", sans-serif);
  font-size: clamp(38px, calc(4 * var(--pp-wide-vw, 1vw)), 56px);
  font-weight: 400;
  line-height: 1;
  letter-spacing: .02em;
}

body[data-page="region01"] .medicine-gxp-overview__card h4 {
  margin: 0;
  color: #fff;
  font-size: clamp(22px, calc(2 * var(--pp-wide-vw, 1vw)), 30px);
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: .04em;
}

body[data-page="region01"] .medicine-gxp-overview__card h4 small {
  display: block;
  margin-top: 10px;
  color: rgba(255, 255, 255, .78);
  font-family: var(--pp-font-latin, "Segoe UI", sans-serif);
  font-size: 11px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: .06em;
}

body[data-page="region01"] .medicine-gxp-overview__label {
  margin: 18px 0 0;
  color: rgba(255, 255, 255, .92);
  font-size: 13px;
  font-weight: 800;
}

body[data-page="region01"] .medicine-gxp-overview__card ul {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

body[data-page="region01"] .medicine-gxp-overview__card li {
  position: relative;
  margin: 0;
  padding-left: 18px;
  color: rgba(255, 255, 255, .92);
  font-size: clamp(13px, calc(1 * var(--pp-wide-vw, 1vw)), 15px);
  line-height: 1.75;
}

body[data-page="region01"] .medicine-gxp-overview__card li::before {
  position: absolute;
  top: .68em;
  left: 1px;
  width: 7px;
  height: 7px;
  background: #54b2dc;
  content: "";
  transform: rotate(45deg);
}

body[data-page="region01"] .medicine-gxp-overview__card li a {
  color: #fff;
  font-weight: 700;
  text-underline-offset: .2em;
}

body[data-page="region01"] .medicine-gxp-overview__cta {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 44px;
  margin-top: 24px;
  padding: 10px 16px;
  border: 1px solid rgba(255, 255, 255, .82);
  color: #fff;
  background: rgba(84, 178, 220, .28);
  font-size: 13px;
  font-weight: 800;
  line-height: 1.4;
  text-decoration: none;
}

body[data-page="region01"] .medicine-gxp-overview__cta:hover,
body[data-page="region01"] .medicine-gxp-overview__cta:focus-visible {
  background: rgba(84, 178, 220, .48);
}

body[data-page="region01"] #pp-gxp-gap-analysis {
  scroll-margin-top: 96px;
}

@media (max-width: 780px) {
  body[data-page="region01"] .medicine-gxp-overview__grid {
    grid-template-columns: 1fr;
  }

  body[data-page="region01"] .medicine-gxp-overview__card {
    grid-template-columns: minmax(0, 1fr);
  }

  body[data-page="region01"] .medicine-gxp-overview__image {
    position: relative;
    inset: auto;
    width: 100%;
    height: clamp(170px, calc(48 * var(--pp-wide-vw, 1vw)), 230px);
  }

  body[data-page="region01"] .medicine-gxp-overview__body {
    grid-column: 1;
    grid-template-columns: minmax(0, 1fr);
  }

  body[data-page="region01"] .medicine-gxp-overview__summary,
  body[data-page="region01"] .medicine-gxp-overview__detail {
    grid-column: 1;
    padding: 24px;
  }
}

@media (prefers-reduced-motion: reduce) {
  body[data-page="region01"] .medicine-gxp-overview__image img {
    transition: none;
  }
}

/* 2026-08-31 サービス変更: keyword search and service-card filtering on TOP. */
body[data-page="home"] #top-service-finder.top-about-study__feature--overview {
  grid-template-rows: auto auto minmax(0, 1fr);
  gap: clamp(16px, calc(1.8 * var(--pp-wide-vw, 1vw)), 24px);
}

body[data-page="home"] #top-service-finder .top-service-search {
  display: grid;
  gap: 14px;
  margin: 0;
  padding: clamp(18px, calc(2 * var(--pp-wide-vw, 1vw)), 26px);
  border: 1px solid var(--pp-border, #cfe4ef);
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 12px 30px rgba(0, 74, 153, .10);
}

body[data-page="home"] #top-service-finder .top-service-search__field {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 62px;
  min-height: 60px;
  overflow: hidden;
  border: 2px solid var(--pp-primary-strong, #2f8eb6);
  border-radius: 999px;
  background: var(--pp-surface, #fff);
  transition: border-color 180ms ease, box-shadow 180ms ease;
}

body[data-page="home"] #top-service-finder .top-service-search__field:focus-within {
  border-color: var(--pp-deep, #004a99);
  box-shadow: 0 0 0 4px rgba(78, 171, 216, .20);
}

body[data-page="home"] #top-service-finder .top-service-search__field input {
  width: 100%;
  min-width: 0;
  min-height: 56px;
  padding: 0 clamp(20px, calc(2.3 * var(--pp-wide-vw, 1vw)), 30px);
  border: 0;
  outline: 0;
  color: var(--pp-text, #1e2f3a);
  background: transparent;
  font-family: var(--pp-font-body);
  font-size: clamp(15px, calc(1.35 * var(--pp-wide-vw, 1vw)), 18px);
  line-height: 1.4;
}

body[data-page="home"] #top-service-finder .top-service-search__field input::placeholder {
  color: var(--pp-muted, #64727c);
  opacity: .82;
}

body[data-page="home"] #top-service-finder .top-service-search__field button {
  display: grid;
  min-width: 62px;
  min-height: 56px;
  padding: 0;
  place-items: center;
  border: 0;
  border-left: 1px solid rgba(255, 255, 255, .36);
  color: #fff;
  background: var(--pp-primary-strong, #2f8eb6);
  cursor: pointer;
  font-size: 24px;
  transition: background-color 180ms ease;
}

body[data-page="home"] #top-service-finder .top-service-search__field button:is(:hover, :focus-visible) {
  background: var(--pp-deep, #004a99);
}

body[data-page="home"] #top-service-finder .top-service-search__field button:focus-visible,
body[data-page="home"] #top-service-finder .top-service-search__suggestions button:focus-visible {
  outline: 2px solid var(--pp-deep, #004a99);
  outline-offset: 3px;
}

body[data-page="home"] #top-service-finder .top-service-search__suggestions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

body[data-page="home"] #top-service-finder .top-service-search__suggestions > span {
  margin-right: 2px;
  color: var(--pp-muted, #64727c);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .08em;
}

body[data-page="home"] #top-service-finder .top-service-search__suggestions button {
  min-height: 36px;
  padding: 7px 14px;
  border: 1px solid var(--pp-border, #cfe4ef);
  border-radius: 999px;
  color: var(--pp-deep, #004a99);
  background: #fff;
  cursor: pointer;
  font-family: var(--pp-font-body);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.25;
  transition: color 180ms ease, border-color 180ms ease, background-color 180ms ease;
}

body[data-page="home"] #top-service-finder .top-service-search__suggestions button:is(:hover, .is-active) {
  color: #fff;
  border-color: var(--pp-primary-strong, #2f8eb6);
  background: var(--pp-primary-strong, #2f8eb6);
}

body[data-page="home"] #top-service-finder .top-service-search__status {
  margin: -2px 0 0;
  color: var(--pp-muted, #64727c);
  font-size: 12px;
  line-height: 1.5;
  text-align: right;
}

body[data-page="home"] #top-service-finder .top-about-study__service-track {
  grid-template-rows: none;
  grid-auto-rows: clamp(154px, calc(15 * var(--pp-wide-vw, 1vw)), 188px);
}

body[data-page="home"] #top-service-finder .top-about-study__service-slide[hidden] {
  display: none !important;
}

body[data-page="home"] #top-service-finder .top-service-search__empty {
  margin: 0;
  padding: 36px 24px;
  color: var(--pp-muted, #64727c);
  border: 1px solid var(--pp-border, #cfe4ef);
  background: rgba(255, 255, 255, .94);
  font-size: 14px;
  line-height: 1.7;
  text-align: center;
}

@media (max-width: 780px) {
  body[data-page="home"] #top-service-finder.top-about-study__feature--overview {
    padding-top: 32px;
  }

  body[data-page="home"] #top-service-finder .top-service-search {
    gap: 12px;
    padding: 16px;
  }

  body[data-page="home"] #top-service-finder .top-service-search__field {
    grid-template-columns: minmax(0, 1fr) 54px;
    min-height: 52px;
  }

  body[data-page="home"] #top-service-finder .top-service-search__field input,
  body[data-page="home"] #top-service-finder .top-service-search__field button {
    min-height: 48px;
  }

  body[data-page="home"] #top-service-finder .top-service-search__field button {
    min-width: 54px;
    font-size: 21px;
  }

  body[data-page="home"] #top-service-finder .top-service-search__suggestions {
    gap: 7px;
  }

  body[data-page="home"] #top-service-finder .top-service-search__suggestions button {
    min-height: 34px;
    padding: 7px 12px;
    font-size: 11px;
  }

  body[data-page="home"] #top-service-finder .top-about-study__service-track {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: none;
    grid-auto-rows: 150px;
  }
}

@media (max-width: 560px) {
  body[data-page="home"] #top-service-finder .top-about-study__service-track {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: none;
    grid-auto-rows: 148px;
  }
}

@media (prefers-reduced-motion: reduce) {
  body[data-page="home"] #top-service-finder :is(
    .top-service-search__field,
    .top-service-search__field button,
    .top-service-search__suggestions button
  ) {
    transition: none;
  }
}

/* CSV: reuse the medicine lifecycle stage palette for the three support fields. */
body[data-page="service-csv"] #scope .csv-service-process-card:nth-child(1) {
  --csv-service-surface: #adbd3f;
  --csv-service-rule: #adbd3f;
  --csv-service-marker: #fff;
}

body[data-page="service-csv"] #scope .csv-service-process-card:nth-child(2) {
  --csv-service-surface: #56b5bb;
  --csv-service-rule: #56b5bb;
  --csv-service-marker: #fff;
}

body[data-page="service-csv"] #scope .csv-service-process-card:nth-child(3) {
  --csv-service-surface: #796eaa;
  --csv-service-rule: #796eaa;
  --csv-service-marker: #fff;
}

/* Final Region03 tab icon: child details open underneath every green rocket. */
body[data-page="region03"] .engineering-service-field-guide .engineering-phase-tab {
  grid-template-columns: minmax(0, 1fr) auto;
  padding-right: 10px;
}

body[data-page="region03"] .engineering-service-field-guide .engineering-phase-tab > i {
  position: static;
  display: block;
  width: auto;
  height: auto;
  grid-column: 2;
  grid-row: 1;
  align-self: center;
  margin-left: 6px;
  border: 0;
  border-radius: 0;
  color: #fff;
  background: transparent;
  font-size: 15px;
  line-height: 1;
  transform: none !important;
}

body[data-page="region03"] .engineering-service-field-guide .engineering-phase-tab > i::before {
  transform: none !important;
}

/* Final CMC/medicine alignment: match the medicine panel's usable width. */
body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__service-area-group {
  padding-right: 8px;
  padding-left: 8px;
}

@media (max-width: 680px) {
  body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__canvas {
    width: 100%;
    margin-right: 0;
    margin-left: 0;
  }
}

/* Shared regulatory arrow component: Region01 and CMC use the same geometry and bilingual rhythm. */
.pp-regulatory-arrow-map__phases {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

body[data-page="region01"] .pp-regulatory-arrow-map__phases {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

body[data-page="service-cmc"] #pp-process-explore .pp-regulatory-arrow-map__phases {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.pp-regulatory-arrow-map__phases li {
  position: relative;
  display: grid;
  min-height: 58px;
  place-items: center;
  padding: 0;
  color: #fff;
  clip-path: polygon(0 0, calc(100% - 14px) 0, 100% 50%, calc(100% - 14px) 100%, 0 100%, 14px 50%);
  text-align: center;
}

.pp-regulatory-arrow-map__phases li:first-child {
  clip-path: polygon(0 0, calc(100% - 14px) 0, 100% 50%, calc(100% - 14px) 100%, 0 100%);
}

.pp-regulatory-arrow-map__phases li > :is(a, span),
body[data-page="service-cmc"] #pp-process-explore .pp-regulatory-arrow-map__phases li {
  min-height: 58px;
}

.pp-regulatory-arrow-map__phases li > :is(a, span) {
  display: grid;
  width: 100%;
  height: 100%;
  place-content: center;
  padding: 8px 22px 8px 14px;
  color: inherit;
  text-decoration: none;
}

.pp-regulatory-arrow-map__phases strong {
  font-size: 14px;
  line-height: 1.2;
}

.pp-regulatory-arrow-map__phases small {
  display: block;
  margin-top: 4px;
  color: rgba(255, 255, 255, .86);
  font-family: var(--pp-font-latin, "Segoe UI", sans-serif);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .01em;
  line-height: 1.15;
}

.pp-regulatory-arrow-map__phases a::after {
  display: none !important;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field {
  padding-right: 12px;
  padding-left: 12px;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__diagram {
  padding-right: 0;
  padding-left: 0;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__service-area-group {
  padding-right: 8px;
  padding-left: 8px;
}

body[data-page="service-cmc"] #pp-process-explore :is(
  .pp-cmc-field__topic-row--compact,
  .pp-cmc-field__rocket-phases,
  .pp-cmc-field__standard-bands,
  .pp-cmc-field__callouts
) {
  min-width: 760px;
}

/* Final TOP FIELD overlap layer: keep the numbered marker outside the image crop. */
body[data-page="home"] #top-field-finder .top-about-study__feature {
  overflow: visible;
}

body[data-page="home"] #top-field-finder .top-about-study__image-frame {
  overflow: hidden;
}

body[data-page="home"] #top-field-finder .top-about-study__field-number {
  top: 0;
  left: 4px;
  transform: translate(-20%, -24%);
}

@media (max-width: 780px) {
  body[data-page="home"] #top-field-finder .top-about-study__feature {
    overflow: visible;
  }

  body[data-page="home"] #top-field-finder .top-about-study__field-number {
    top: 0;
    left: 4px;
    transform: translate(-16%, -18%);
  }
}

.top-service-original-card:hover span,
.top-service-original-card:focus-visible span {
  background: transparent;
  color: var(--pp-rail-accent);
  border-bottom-color: var(--pp-rail-accent);
}

/* C brush: preserve the original bracket directions while using a true dry-brush texture. */
.cinematic-lockup::before,
.cinematic-lockup::after {
  width: 108px;
  height: 108px;
  background: transparent url("images/hero-brush-c-aqua-v2.svg") center / contain no-repeat;
  filter: drop-shadow(0 2px 7px rgba(15, 103, 139, .16));
}

.cinematic-lockup::before {
  top: -31px;
  right: 38px;
  transform: scaleX(-1);
}

.cinematic-lockup::after {
  bottom: -31px;
  left: 38px;
  transform: scaleY(-1);
}

/* Use the same C brush texture for the NEWS heading's quick underline. */
.top-news-component #お知らせ①-widget .news-heading {
  text-decoration: none !important;
}

.top-news-component #お知らせ①-widget .news-heading::after {
  bottom: -34px !important;
  height: 68px !important;
  background: transparent url("images/hero-brush-c-handdrawn-v6.png") center / 100% 100% no-repeat !important;
  filter: contrast(1.12) saturate(.72);
  image-rendering: auto;
  opacity: .72;
  transform: none !important;
}

/* A straight, close-set crayon underline for the SERVICE heading. */
.top-service-section .section-heading {
  position: relative;
  text-decoration: none !important;
}

.top-service-section .section-heading::after {
  display: none;
  content: none;
}

/* Match single-card service flows to the spacing and type scale used on PROCESS. */
body:is([data-page="service-gmp"], [data-page="service-gxp"], [data-page="service-gctp"], [data-page="service-rd-support"], [data-page="service-audit"], [data-page="service-fda"], [data-page="service-cmc"], [data-page="service-engineering"]) #pp-process-explore .pp-process-scene {
  padding-top: 0;
  padding-bottom: 0;
}

body:is([data-page="service-gmp"], [data-page="service-gxp"], [data-page="service-gctp"], [data-page="service-rd-support"], [data-page="service-audit"], [data-page="service-fda"], [data-page="service-cmc"], [data-page="service-engineering"]) #pp-process-explore .pp-process-scene + .pp-process-scene {
  margin-top: clamp(14px, calc(1.5 * var(--pp-wide-vw, 1vw)), 24px) !important;
}

body:is([data-page="service-gmp"], [data-page="service-gxp"], [data-page="service-gctp"], [data-page="service-rd-support"], [data-page="service-audit"], [data-page="service-fda"], [data-page="service-cmc"], [data-page="service-engineering"]) #pp-process-explore .pp-process-slider__track {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

body:is([data-page="service-gmp"], [data-page="service-gxp"], [data-page="service-gctp"], [data-page="service-rd-support"], [data-page="service-audit"], [data-page="service-fda"], [data-page="service-cmc"], [data-page="service-engineering"]) #pp-process-explore .pp-process-card__step {
  margin-bottom: clamp(12px, calc(1.4 * var(--pp-wide-vw, 1vw)), 20px);
  font-size: clamp(32px, calc(4 * var(--pp-wide-vw, 1vw)), 56px);
  font-weight: 400;
  line-height: 1;
  letter-spacing: .02em;
}

body:is([data-page="service-gmp"], [data-page="service-gxp"], [data-page="service-gctp"], [data-page="service-rd-support"], [data-page="service-audit"], [data-page="service-fda"], [data-page="service-cmc"], [data-page="service-engineering"]) #pp-process-explore .pp-process-card h4 {
  margin: 0;
  font-size: clamp(20px, calc(1.65 * var(--pp-wide-vw, 1vw)), 30px);
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: .04em;
}

body:is([data-page="service-gmp"], [data-page="service-gxp"], [data-page="service-gctp"], [data-page="service-rd-support"], [data-page="service-audit"], [data-page="service-fda"], [data-page="service-cmc"], [data-page="service-engineering"]) #pp-process-explore .pp-process-card__detail p {
  font-size: clamp(13px, calc(.9 * var(--pp-wide-vw, 1vw)), 15px);
  line-height: 1.9;
}

body:is([data-page="service-gxp"], [data-page="service-gctp"], [data-page="service-rd-support"], [data-page="service-audit"], [data-page="service-fda"], [data-page="service-cmc"], [data-page="service-engineering"]) #pp-process-explore :is(.pp-gxp-card__full, .pp-engineering-card__full) {
  font-family: inherit;
  font-size: clamp(12px, calc(.85 * var(--pp-wide-vw, 1vw)), 14px);
  line-height: 1.5;
}

/* Shared hand-drawn title underline across company, reason, results and process pages. */
body[data-page="company"] .page-intro h1 span,
.company-profile-banner .company-section-visual-title > h2,
.company-access-heading .company-section-visual-title > h2,
#特徴② .pp-explore-scene h2,
.results-local-heading h1,
#pp-process-explore .pp-process-overview h2,
#pp-process-explore .pp-process-scene__head h3 {
  position: relative !important;
  display: inline-block !important;
  width: fit-content !important;
  padding-bottom: 0 !important;
  border-bottom: 0 !important;
  text-decoration: none !important;
}

#pp-process-explore .pp-process-scene__head h3 {
  font-size: clamp(28px, calc(3.2 * var(--pp-wide-vw, 1vw)), 44px) !important;
}

/* Keep image-backed page headings legible without placing a band behind them. */
.cinematic-hero :is(.cinematic-lockup-brand, .cinematic-lockup-core h1, .cinematic-lockup-action, .cinematic-hero-support > p),
.page-intro :is(.eyebrow, h1, p),
.page-intro h1 > span,
.page-intro .contact-responsive-phrase,
.top-main-services-intro :is(.top-section-label, h2),
.top-service-section .top-section-head :is(.top-section-label, .section-heading),
.top-region-section .top-section-head :is(.top-section-label, .section-heading),
.top-meister-copy :is(.top-section-label, h2, p),
.results-local-heading :is(span, h1, p),
#特徴② .pp-explore-scene :is(h2, p),
#特徴② .pp-explore-scene__head > span,
#pp-process-explore .pp-process-overview > :is(span, h2, p),
#pp-process-explore .pp-process-scene__head > :is(span, h3, p),
.company-philosophy-intro > :is(h2, .company-philosophy-en),
.company-section-visual-title > :is(span, h2, p),
.top-results-intro > :is(h2, p),
.top-main-services-heading-kana,
.top-region-heading-kana,
.company-contact-feature .shared-heading-kana,
.contact-purpose-heading > :is(span, h2, p),
.contact-section-heading > :is(span, h2, p),
.contact-section-heading .contact-responsive-phrase {
  text-shadow: var(--pp-image-heading-shadow) !important;
}

/* The TOP hero message uses clean white lettering without a drop shadow. */
body[data-page="home"] .cinematic-hero :is(
  .cinematic-lockup-brand,
  .cinematic-lockup-core h1,
  .cinematic-lockup-action
) {
  text-shadow: none !important;
}

/* A tighter shared shadow keeps kana, kanji and Latin text equally legible at
   the smaller contact-copy sizes without the dense-kanji halo of title blur. */
.contact-section-heading .contact-responsive-phrase,
.contact-purpose-option > strong,
.contact-purpose-option > .contact-purpose-description,
.contact-purpose-option > .contact-purpose-meta > :is(b, small),
.contact-purpose-option > .ph {
  text-shadow: var(--pp-image-copy-shadow) !important;
}

/* Keep the primary heading region at one shared height on every inner page. */
.results-local-heading,
#pp-process-explore .pp-process-overview,
#特徴② .pp-explore-stage > .pp-explore-scene:first-of-type .pp-explore-scene__head {
  min-height: var(--pp-page-intro-height);
  display: flex;
  flex-direction: column;
  justify-content: center;
}

/* Align only the first major heading on inner pages to the REASON page.
   TOP keeps its existing section rhythm and horizontal placement. */
body[data-page="company"] .page-intro {
  min-height: calc(var(--pp-page-intro-height) + 84px);
  padding-top: 136px;
  justify-content: flex-start;
}

body[data-page="services"] .top-service-section > .top-section-head {
  transform: translateY(18px);
}

body[data-page="company"] .page-intro h1 span::after,
.company-profile-banner .company-section-visual-title > h2::after,
.company-access-heading .company-section-visual-title > h2::after,
#特徴② .pp-explore-scene h2::after,
.results-local-heading h1::after,
#pp-process-explore .pp-process-overview h2::after,
#pp-process-explore .pp-process-scene__head h3::after {
  display: none !important;
  content: none !important;
}

@media (max-width: 720px) {
  :root {
    --pp-page-intro-height: 220px;
  }

  body[data-page="company"] .page-intro {
    min-height: calc(var(--pp-page-intro-height) + 64px);
    padding-top: 93px;
  }

  body[data-page="services"] .top-service-section > .top-section-head {
    transform: translateY(42px);
  }

  body[data-page="process"] #pp-process-explore .pp-process-overview {
    transform: translateY(20px);
  }

  .cinematic-lockup::before,
  .cinematic-lockup::after {
    width: 54px;
    height: 54px;
  }
}

/* Once the white core panel is removed, the brush brackets hug QUALITY itself. */
.cinematic-lockup::before,
.cinematic-lockup::after {
  content: none;
}

.cinematic-lockup-core {
  width: clamp(92px, calc(8 * var(--pp-wide-vw, 1vw)), 126px);
  min-height: clamp(180px, calc(22 * var(--pp-wide-vw, 1vw)), 280px);
  padding: 18px 12px;
}

body[data-page="home"] .cinematic-lockup-core::before,
body[data-page="home"] .cinematic-lockup-core::after {
  position: absolute;
  z-index: -1;
  width: 54px;
  height: 70px;
  -webkit-mask: none;
  mask: none;
  content: "";
  filter: none;
  pointer-events: none;
}

body[data-page="home"] .cinematic-lockup-core::before {
  top: -42px;
  right: -18px;
  left: auto;
  background:
    linear-gradient(90deg, rgba(255,255,255,.98), rgba(255,255,255,.98)) 14px 3px / 30px 2px no-repeat,
    linear-gradient(90deg, rgba(255,255,255,.86), rgba(255,255,255,.86)) 4px 13px / 45px 1px no-repeat,
    linear-gradient(90deg, rgba(255,255,255,.72), rgba(255,255,255,.72)) 9px 24px / 40px 2px no-repeat,
    linear-gradient(90deg, rgba(255,255,255,.56), rgba(255,255,255,.56)) 0 34px / 47px 1px no-repeat,
    linear-gradient(180deg, rgba(255,255,255,.54), rgba(255,255,255,.54)) 30px 16px / 1px 42px no-repeat,
    linear-gradient(180deg, rgba(255,255,255,.72), rgba(255,255,255,.72)) 38px 8px / 2px 51px no-repeat,
    linear-gradient(180deg, rgba(255,255,255,.88), rgba(255,255,255,.88)) 46px 2px / 1px 62px no-repeat,
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,255,255,.98)) 52px 13px / 2px 54px no-repeat;
  transform: none;
}

body[data-page="home"] .cinematic-lockup-core::after {
  bottom: -42px;
  right: auto;
  left: -18px;
  background:
    linear-gradient(90deg, rgba(255,255,255,.56), rgba(255,255,255,.56)) 7px 35px / 47px 1px no-repeat,
    linear-gradient(90deg, rgba(255,255,255,.72), rgba(255,255,255,.72)) 5px 46px / 40px 2px no-repeat,
    linear-gradient(90deg, rgba(255,255,255,.86), rgba(255,255,255,.86)) 5px 57px / 45px 1px no-repeat,
    linear-gradient(90deg, rgba(255,255,255,.98), rgba(255,255,255,.98)) 10px 67px / 30px 2px no-repeat,
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,255,255,.98)) 0 3px / 2px 54px no-repeat,
    linear-gradient(180deg, rgba(255,255,255,.88), rgba(255,255,255,.88)) 7px 6px / 1px 62px no-repeat,
    linear-gradient(180deg, rgba(255,255,255,.72), rgba(255,255,255,.72)) 14px 11px / 2px 51px no-repeat,
    linear-gradient(180deg, rgba(255,255,255,.54), rgba(255,255,255,.54)) 23px 12px / 1px 42px no-repeat;
  transform: none;
}

@media (max-width: 720px) {
  body[data-page="home"] .cinematic-lockup-core::before {
    top: -38px;
    right: -14px;
    left: auto;
    transform: scale(.82);
    transform-origin: right bottom;
  }

  body[data-page="home"] .cinematic-lockup-core::after {
    bottom: -38px;
    right: auto;
    left: -14px;
    transform: scale(.82);
    transform-origin: left top;
  }
}

/* Shared key-bracket motif: opening mark in the rail, closing mark in the footer. */
body .rail-mark,
body #特徴② .pp-explore-menu__mark,
body #pp-process-explore .pp-process-menu__mark {
  width: 30px !important;
  height: 34px !important;
  margin: 0 !important;
  flex: 0 0 34px !important;
  border: 0 !important;
  background:
    linear-gradient(90deg, rgba(84, 178, 220, .98), rgba(84, 178, 220, .98)) 2px 2px / 25px 2px no-repeat,
    linear-gradient(90deg, rgba(84, 178, 220, .82), rgba(84, 178, 220, .82)) 6px 8px / 20px 1px no-repeat,
    linear-gradient(90deg, rgba(84, 178, 220, .62), rgba(84, 178, 220, .62)) 10px 14px / 15px 1px no-repeat,
    linear-gradient(180deg, rgba(84, 178, 220, .98), rgba(84, 178, 220, .98)) 2px 2px / 2px 29px no-repeat,
    linear-gradient(180deg, rgba(84, 178, 220, .82), rgba(84, 178, 220, .82)) 8px 7px / 1px 23px no-repeat,
    linear-gradient(180deg, rgba(84, 178, 220, .62), rgba(84, 178, 220, .62)) 14px 12px / 1px 17px no-repeat !important;
}

body .rail-context,
body #特徴② .pp-explore-menu__context,
body #pp-process-explore .pp-process-menu__context {
  margin-top: 8px !important;
}

.site-footer .footer-bottom {
  padding-right: max(66px, calc((100% - 1200px) / 2));
}

.site-footer .footer-bottom::after {
  position: absolute;
  right: max(20px, calc((100% - 1400px) / 2));
  bottom: 14px;
  width: 30px;
  height: 34px;
  background:
    linear-gradient(90deg, rgba(84, 178, 220, .62), rgba(84, 178, 220, .62)) 5px 18px / 15px 1px no-repeat,
    linear-gradient(90deg, rgba(84, 178, 220, .82), rgba(84, 178, 220, .82)) 4px 24px / 20px 1px no-repeat,
    linear-gradient(90deg, rgba(84, 178, 220, .98), rgba(84, 178, 220, .98)) 3px 30px / 25px 2px no-repeat,
    linear-gradient(180deg, rgba(84, 178, 220, .62), rgba(84, 178, 220, .62)) 15px 5px / 1px 17px no-repeat,
    linear-gradient(180deg, rgba(84, 178, 220, .82), rgba(84, 178, 220, .82)) 21px 4px / 1px 23px no-repeat,
    linear-gradient(180deg, rgba(84, 178, 220, .98), rgba(84, 178, 220, .98)) 27px 3px / 2px 29px no-repeat;
  content: "";
  pointer-events: none;
}

.top-banner-carousel-next {
  background-color: rgba(92, 160, 190, .82);
}

@media (max-width: 560px) {
  .site-footer .footer-bottom::after {
    right: 16px;
    transform: scale(.82);
    transform-origin: right bottom;
  }
}

/* Contact page: source-faithful fields within the shared regulated layout. */
body[data-page="contact"] .regulated-page::before {
  filter: blur(34px) saturate(.60) contrast(.90) brightness(1.08);
  transform: scale(1.20);
}

body[data-page="contact"] .regulated-page::after {
  background:
    linear-gradient(180deg, rgba(248, 250, 252, .76), rgba(224, 233, 239, .72)),
    linear-gradient(115deg, rgba(8, 39, 57, .10), rgba(255, 255, 255, .28));
  background-size: auto;
}

body[data-page="contact"] .page-stage {
  padding-bottom: 0;
}

body[data-page="contact"] .page-intro {
  position: relative;
  max-width: 1040px;
  padding: clamp(24px, calc(3.4 * var(--pp-wide-vw, 1vw)), 42px);
  color: var(--pp-deep);
  border-left: 0;
  background: transparent;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

body[data-page="contact"] .page-intro::before {
  display: none;
  content: none;
}

body[data-page="contact"] .page-intro .eyebrow {
  color: var(--pp-strong);
  text-shadow: none !important;
}

body[data-page="contact"] .page-intro p {
  max-width: none;
  color: rgba(0, 44, 61, .76);
  text-shadow: none !important;
  white-space: nowrap;
}

body[data-page="contact"] .page-intro h1 span {
  padding-bottom: 0;
  color: var(--pp-deep);
  border-bottom: 0;
  text-shadow: 0 1px 0 rgba(255, 255, 255, .84) !important;
}

.contact-form-surface {
  padding: 0;
  overflow: hidden;
  border-top-width: 1px;
  background: transparent;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.contact-purpose {
  position: relative;
  display: grid;
  grid-template-columns: minmax(210px, .76fr) minmax(0, 2.24fr);
  width: 100%;
  max-width: none;
  overflow: hidden;
  color: #fff;
  border-bottom: 1px solid var(--pp-feature-panel-line);
  background: var(--pp-feature-panel-blue);
  isolation: isolate;
}

.contact-purpose::before {
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    radial-gradient(circle at 14% 16%, rgba(225, 248, 255, .28), transparent 30%),
    linear-gradient(118deg, rgba(13, 76, 105, .18), rgba(255, 255, 255, .04));
  content: "";
  pointer-events: none;
}

.contact-purpose-heading {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  padding: clamp(28px, calc(4 * var(--pp-wide-vw, 1vw)), 52px) clamp(24px, calc(3.4 * var(--pp-wide-vw, 1vw)), 44px);
  border-right: 1px solid var(--pp-feature-panel-line);
  background: rgba(10, 66, 93, .16);
}

.contact-purpose-heading > span,
.contact-purpose-meta small {
  font-family: var(--pp-font-latin);
  font-size: 10px;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: .17em;
}

.contact-purpose-heading h2 {
  margin: 14px 0 0;
  font-size: clamp(24px, calc(2.5 * var(--pp-wide-vw, 1vw)), 34px);
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: -.035em;
  text-wrap: balance;
}

.contact-purpose-heading h2 > span {
  display: block;
}

.contact-purpose-heading p {
  max-width: 24ch;
  margin: 18px 0 0;
  color: rgba(255, 255, 255, .88);
  font-size: 13px;
  line-height: 1.75;
}

.contact-purpose-options {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  min-width: 0;
}

.contact-purpose-option {
  position: relative;
  display: grid;
  grid-template-rows: auto 1fr auto;
  align-content: start;
  min-width: 0;
  min-height: 220px;
  padding: clamp(24px, calc(3 * var(--pp-wide-vw, 1vw)), 38px) clamp(20px, calc(2.4 * var(--pp-wide-vw, 1vw)), 32px) 26px;
  appearance: none;
  color: #fff;
  border: 0;
  border-left: 1px solid var(--pp-feature-panel-line-soft);
  border-radius: 0;
  background: rgba(210, 242, 252, .08);
  font: inherit;
  text-align: left;
  text-decoration: none;
  cursor: pointer;
  transition: background-color 180ms ease, transform 180ms ease;
}

.contact-purpose-option:first-child {
  border-left: 0;
}

.contact-purpose-option:hover,
.contact-purpose-option:focus-visible,
.contact-purpose-option.is-active {
  background: var(--pp-feature-panel-hover);
}

.contact-purpose-option:focus-visible {
  z-index: 2;
  outline: 2px solid #fff;
  outline-offset: -5px;
}

.contact-purpose-option:active {
  transform: translateY(1px);
}

.contact-purpose-option:disabled {
  opacity: .58;
  cursor: default;
  transform: none;
}

.contact-purpose-option.is-active::after {
  position: absolute;
  right: 22px;
  bottom: 0;
  left: 22px;
  height: 3px;
  background: #fff;
  content: "";
}

.contact-purpose-meta {
  display: flex;
  gap: 10px;
  align-items: baseline;
  color: rgba(255, 255, 255, .9);
}

.contact-purpose-meta b {
  font-family: var(--pp-font-latin);
  font-size: 28px;
  font-weight: 400;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}

.contact-purpose-option > strong {
  align-self: center;
  margin: 24px 0 16px;
  font-size: clamp(16px, calc(1.45 * var(--pp-wide-vw, 1vw)), 20px);
  font-weight: 700;
  line-height: 1.5;
  text-wrap: balance;
}

.contact-purpose-description {
  padding-right: 28px;
  color: rgba(255, 255, 255, .86);
  font-size: 12px;
  line-height: 1.65;
}

.contact-purpose-option > .ph {
  position: absolute;
  right: 22px;
  bottom: 26px;
  font-size: 20px;
}

.contact-form-content {
  padding: clamp(30px, calc(4 * var(--pp-wide-vw, 1vw)), 52px);
}

.contact-form-surface [hidden] {
  display: none !important;
}

.contact-section-heading {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  margin-bottom: clamp(22px, calc(3 * var(--pp-wide-vw, 1vw)), 36px);
  padding-bottom: 0;
  border-bottom: 0;
}

.contact-consultation-guide {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  gap: clamp(24px, calc(4 * var(--pp-wide-vw, 1vw)), 56px);
  margin: 0 0 clamp(26px, calc(3 * var(--pp-wide-vw, 1vw)), 38px);
  padding: clamp(24px, calc(3.4 * var(--pp-wide-vw, 1vw)), 40px);
  color: var(--pp-ink);
  border-left: 4px solid var(--pp-strong);
  background: rgba(255, 255, 255, .82);
  box-shadow: 0 16px 40px rgba(0, 61, 85, .10);
}

.contact-consultation-guide > div:first-child > span,
.contact-form-group-heading > span {
  color: var(--pp-strong);
  font-family: var(--pp-font-latin);
  font-size: 10px;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: .17em;
}

.contact-consultation-guide h3 {
  margin: 10px 0 10px;
  color: var(--pp-deep);
  font-size: clamp(22px, calc(2.2 * var(--pp-wide-vw, 1vw)), 30px);
  line-height: 1.4;
}

.contact-consultation-guide p {
  margin: 0;
  color: var(--pp-muted);
  font-size: 13px;
  line-height: 1.8;
}

.contact-consultation-examples {
  padding-left: clamp(20px, calc(3 * var(--pp-wide-vw, 1vw)), 38px);
  border-left: 1px solid rgba(0, 61, 85, .18);
}

.contact-consultation-examples strong {
  display: block;
  margin-bottom: 10px;
  color: var(--pp-deep);
  font-size: 14px;
}

.contact-consultation-examples ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px 22px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.contact-consultation-examples li {
  position: relative;
  padding-left: 15px;
  color: var(--pp-muted);
  font-size: 12px;
  line-height: 1.65;
}

.contact-consultation-examples li::before {
  position: absolute;
  top: .62em;
  left: 0;
  width: 6px;
  height: 6px;
  background: var(--pp-strong);
  content: "";
  transform: rotate(45deg);
}

.contact-recruit-guide {
  display: flex;
  gap: 22px;
  align-items: center;
  justify-content: space-between;
  min-height: 78px;
  margin: 0 0 clamp(26px, calc(3 * var(--pp-wide-vw, 1vw)), 38px);
  padding: 16px clamp(20px, calc(3 * var(--pp-wide-vw, 1vw)), 32px);
  color: var(--pp-deep);
  border: 1px solid rgba(0, 61, 85, .24);
  background: rgba(236, 248, 252, .88);
  text-decoration: none;
  transition: border-color 180ms ease, background-color 180ms ease;
}

.contact-recruit-guide:hover,
.contact-recruit-guide:focus-visible {
  border-color: var(--pp-strong);
  background: rgba(255, 255, 255, .94);
}

.contact-recruit-guide:focus-visible {
  outline: 3px solid rgba(84, 178, 220, .28);
  outline-offset: 2px;
}

.contact-recruit-guide > span {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 4px 18px;
  align-items: baseline;
}

.contact-recruit-guide small {
  grid-row: 1 / span 2;
  align-self: center;
  color: var(--pp-strong);
  font-family: var(--pp-font-latin);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .16em;
}

.contact-recruit-guide strong {
  font-size: 15px;
  line-height: 1.5;
}

.contact-recruit-guide em {
  color: var(--pp-muted);
  font-size: 11px;
  font-style: normal;
  line-height: 1.6;
}

.contact-recruit-guide > .ph {
  flex: 0 0 auto;
  color: var(--pp-strong);
  font-size: 22px;
}

.contact-section-heading > span,
.contact-confirmation header > span,
.contact-complete > span,
.contact-phone-copy > span {
  color: var(--pp-strong);
  font-family: var(--pp-font-latin);
  font-size: 11px;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: .18em;
}

.contact-section-heading h2 {
  margin: 0;
  color: var(--pp-deep);
  font-family: var(--pp-font-display);
  font-size: clamp(28px, calc(3.2 * var(--pp-wide-vw, 1vw)), 44px);
  font-weight: 800;
  line-height: 1.05;
  letter-spacing: -.07em;
  text-wrap: balance;
  text-shadow: none !important;
}

.contact-section-heading > span {
  color: var(--pp-strong);
  font-weight: 700;
  letter-spacing: .2em;
  text-shadow: none !important;
}

.contact-section-heading p {
  max-width: none;
  margin: 0;
  color: rgba(0, 44, 61, .76);
  line-height: 1.9;
  text-shadow: none !important;
  white-space: nowrap;
}

.contact-responsive-phrase {
  display: inline;
}

.contact-progress {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(24px, calc(3 * var(--pp-wide-vw, 1vw)), 36px);
  width: calc(100% - clamp(36px, calc(8 * var(--pp-wide-vw, 1vw)), 96px));
  max-width: 760px;
  margin: 0 auto clamp(26px, calc(3 * var(--pp-wide-vw, 1vw)), 38px);
  padding: 0;
  list-style: none;
}

.contact-progress li {
  position: relative;
  display: flex;
  min-height: 52px;
  gap: 9px;
  align-items: center;
  justify-content: center;
  color: #fff;
  border: 1px solid rgba(255, 255, 255, .68);
  background: rgba(61, 190, 222, .76);
  box-shadow: inset 0 0 0 1px rgba(0, 61, 85, .05);
  backdrop-filter: blur(8px) saturate(.88);
  -webkit-backdrop-filter: blur(8px) saturate(.88);
}

.contact-progress li.is-current {
  color: #fff;
  border-color: rgba(255, 255, 255, .94);
  background: rgba(50, 155, 210, .94);
  box-shadow:
    inset 0 -3px 0 rgba(255, 255, 255, .94),
    0 8px 24px rgba(0, 61, 85, .14);
}

.contact-progress li.is-complete {
  background: rgba(84, 178, 220, .88);
}

.contact-progress span {
  font-size: clamp(12px, calc(1.3 * var(--pp-wide-vw, 1vw)), 15px);
  font-weight: 700;
  line-height: 1.45;
  text-align: center;
}

.contact-progress-arrow {
  position: absolute;
  top: 50%;
  right: calc(clamp(-18px, calc(-1.5 * var(--pp-wide-vw, 1vw)), -12px) - .5em);
  z-index: 1;
  color: rgba(46, 149, 195, .88);
  font-size: 18px;
  line-height: 1;
  transform: translateY(-50%);
}

.contact-privacy-overview a,
.contact-privacy-consent a {
  display: inline-flex;
  gap: 6px;
  align-items: center;
  color: var(--pp-deep);
  font-weight: 700;
  line-height: 1.08;
  text-decoration: none;
  border-bottom: 1px solid currentColor;
  transition: opacity 200ms ease;
}

.contact-privacy-overview a i,
.contact-privacy-consent a i {
  flex: 0 0 auto;
  font-size: 1.1em;
  line-height: 1;
}

.contact-privacy-overview a:hover,
.contact-privacy-overview a:focus-visible,
.contact-privacy-consent a:hover,
.contact-privacy-consent a:focus-visible {
  opacity: .7;
}

.contact-privacy-overview {
  margin: 0 0 24px;
  padding: clamp(18px, calc(2.4 * var(--pp-wide-vw, 1vw)), 26px);
  color: var(--pp-ink);
  border: 1px solid rgba(0, 61, 85, .34);
  background: rgba(255, 255, 255, .66);
}

.contact-privacy-overview h3 {
  margin: 0 0 12px;
  font-size: clamp(18px, calc(1.8 * var(--pp-wide-vw, 1vw)), 24px);
  font-weight: 700;
  line-height: 1.5;
}

.contact-privacy-overview p {
  max-width: 72ch;
  margin: 0;
  color: var(--pp-muted);
  line-height: 1.9;
}

.contact-form {
  display: block;
  border-top: 0;
}

.contact-form-group {
  margin-bottom: 22px;
  overflow: hidden;
  border: 1px solid rgba(0, 61, 85, .22);
  background: rgba(255, 255, 255, .72);
}

.contact-form-group-heading {
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  padding: 18px 20px;
  border-bottom: 1px solid rgba(0, 61, 85, .18);
  background: rgba(230, 246, 252, .86);
}

.contact-form-group-heading > span {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  color: #fff;
  background: var(--pp-strong);
  font-size: 14px;
  letter-spacing: .04em;
}

.contact-form-group-heading h3 {
  margin: 0;
  color: var(--pp-deep);
  font-size: clamp(18px, calc(1.8 * var(--pp-wide-vw, 1vw)), 24px);
  line-height: 1.4;
}

.contact-form-group-heading p {
  margin: 3px 0 0;
  color: var(--pp-muted);
  font-size: 12px;
  line-height: 1.65;
}

.contact-optional-details {
  margin-bottom: 22px;
  border: 1px solid rgba(0, 61, 85, .22);
  background: rgba(255, 255, 255, .72);
}

.contact-optional-details summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 16px;
  align-items: center;
  min-height: 70px;
  padding: 14px 20px;
  color: var(--pp-deep);
  background: rgba(230, 246, 252, .86);
  cursor: pointer;
  list-style: none;
}

.contact-optional-details summary::-webkit-details-marker {
  display: none;
}

.contact-optional-details summary span {
  font-size: 16px;
  font-weight: 700;
}

.contact-optional-details summary b {
  display: inline-grid;
  place-items: center;
  width: 34px;
  height: 34px;
  margin-right: 10px;
  color: #fff;
  background: var(--pp-strong);
  font-family: var(--pp-font-latin);
  font-size: 12px;
}

.contact-optional-details summary small {
  color: var(--pp-muted);
  font-size: 11px;
}

.contact-optional-details summary .ph {
  font-size: 18px;
  transition: transform 180ms ease;
}

.contact-optional-details[open] summary .ph {
  transform: rotate(180deg);
}

.contact-optional-fields {
  border-top: 1px solid rgba(0, 61, 85, .18);
}

.contact-form-errors,
.contact-privacy-consent,
.contact-actions,
.contact-field-wide {
  grid-column: 1 / -1;
}

.contact-form-errors {
  margin-bottom: 20px;
  padding: 14px 16px;
  color: #7a1e2a;
  border-left: 3px solid #b94758;
  background: rgba(185, 71, 88, .08);
  font-weight: 700;
}

.contact-field {
  display: grid;
  grid-template-columns: minmax(190px, 34%) minmax(0, 1fr);
  align-items: stretch;
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
  border-bottom: 1px solid rgba(0, 61, 85, .2);
  background: rgba(255, 255, 255, .80);
}

.contact-field > label,
.contact-field > legend,
.contact-field > .contact-field-group-label {
  display: block;
  width: 100%;
  margin: 0;
  padding: 17px 18px;
  color: var(--pp-ink);
  background: rgba(84, 178, 220, .14);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.6;
}

.contact-required,
.contact-optional {
  display: inline-block;
  margin-left: 8px;
  padding: 1px 7px 2px;
  color: #fff;
  background: var(--pp-strong);
  font-size: 10px;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: .08em;
  vertical-align: 2px;
}

.contact-optional {
  color: rgba(0, 44, 61, .68);
  background: rgba(0, 61, 85, .1);
}

.contact-required {
  background: var(--pp-required-red);
}

.contact-field :is(input[type="text"], input[type="email"], input[type="tel"], textarea) {
  display: block;
  width: 100%;
  min-height: 50px;
  padding: 11px 14px;
  color: var(--pp-ink);
  border: 1px solid rgba(0, 61, 85, .25);
  border-radius: 0;
  outline: 0;
  background: rgba(255, 255, 255, .86);
  font: inherit;
  transition: border-color 180ms ease, background-color 180ms ease;
}

.contact-field :is(input, textarea)::placeholder {
  color: rgba(45, 75, 87, .50);
  opacity: 1;
}

.contact-field > :is(input[type="text"], input[type="email"], input[type="tel"], textarea) {
  grid-column: 2;
  width: calc(100% - 36px);
  margin: 12px 18px;
}

.contact-field textarea {
  min-height: 118px;
  resize: vertical;
}

.contact-field :is(input[type="text"], input[type="email"], input[type="tel"], textarea):hover {
  border-color: rgba(46, 149, 195, .58);
}

.contact-field :is(input[type="text"], input[type="email"], input[type="tel"], textarea):focus {
  border-color: var(--pp-strong);
  background: #fff;
  outline: 3px solid rgba(84, 178, 220, .2);
  outline-offset: 0;
}

.contact-name-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.contact-field > .contact-name-grid,
.contact-field > .contact-choice-grid {
  grid-column: 2;
  margin: 15px 18px;
}

.contact-inquiry-controls {
  display: grid;
  grid-column: 2;
  gap: 9px;
  min-width: 0;
  margin: 12px 18px 16px;
}

.contact-inquiry-controls > label {
  display: flex;
  align-items: center;
  min-height: 24px;
  color: var(--pp-ink);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.6;
}

.contact-select-shell {
  position: relative;
}

.contact-select-shell::after {
  position: absolute;
  top: 50%;
  right: 18px;
  width: 8px;
  height: 8px;
  border-right: 1px solid var(--pp-deep);
  border-bottom: 1px solid var(--pp-deep);
  content: "";
  pointer-events: none;
  transform: translateY(-65%) rotate(45deg);
}

.contact-select-shell select {
  display: block;
  width: 100%;
  min-height: 50px;
  padding: 11px 46px 11px 14px;
  appearance: none;
  color: var(--pp-ink);
  border: 1px solid rgba(0, 61, 85, .25);
  border-radius: 0;
  outline: 0;
  background: rgba(255, 255, 255, .86);
  cursor: pointer;
  transition: border-color 180ms ease, background-color 180ms ease;
}

.contact-select-shell select:hover {
  border-color: rgba(46, 149, 195, .58);
}

.contact-select-shell select:focus {
  border-color: var(--pp-strong);
  background: #fff;
  outline: 3px solid rgba(84, 178, 220, .2);
  outline-offset: 0;
}

.contact-field-hint {
  margin: -1px 0 5px;
  color: var(--pp-muted);
  font-size: 11px;
  line-height: 1.65;
}

.contact-inquiry-controls textarea {
  min-height: 96px;
}

.contact-name-grid label {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 8px;
  align-items: center;
  color: var(--pp-muted);
  font-size: 12px;
}

.contact-choice-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.contact-choice-grid label {
  position: relative;
  cursor: pointer;
}

.contact-choice-grid input {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  opacity: 0;
}

.contact-choice-grid span {
  display: inline-flex;
  min-height: 42px;
  padding: 8px 15px;
  align-items: center;
  color: rgba(0, 44, 61, .74);
  border: 1px solid rgba(0, 61, 85, .2);
  background: rgba(255, 255, 255, .72);
  transition: color 180ms ease, border-color 180ms ease, background-color 180ms ease;
}

.contact-choice-grid input:checked + span {
  color: #fff;
  border-color: var(--pp-strong);
  background: var(--pp-strong);
}

.contact-choice-grid input:focus-visible + span {
  outline: 3px solid rgba(84, 178, 220, .48);
  outline-offset: 2px;
}

.contact-privacy-consent {
  margin-top: 28px;
  padding: 24px;
  color: var(--pp-ink);
  border-top: 1px solid rgba(0, 61, 85, .2);
  border-bottom: 1px solid rgba(0, 61, 85, .2);
  background: rgba(238, 247, 252, .8);
}

.contact-privacy-consent p {
  margin: 0 0 16px;
}

.contact-privacy-consent > label {
  display: inline-flex;
  gap: 10px;
  align-items: center;
  font-weight: 700;
  cursor: pointer;
}

.contact-privacy-consent input {
  width: 20px;
  height: 20px;
  accent-color: var(--pp-strong);
}

.contact-actions {
  display: flex;
  justify-content: center;
  margin-top: 8px;
}

.contact-actions-split {
  justify-content: space-between;
}

.contact-primary-button,
.contact-secondary-button {
  display: inline-flex;
  min-height: 62px;
  padding: 16px 34px;
  gap: 12px;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--pp-strong);
  border-radius: 0;
  color: #fff;
  background: var(--pp-strong);
  font: inherit;
  font-size: 17px;
  font-weight: 700;
  cursor: pointer;
  transition: color 180ms ease, background-color 180ms ease, transform 180ms ease;
}

.contact-primary-button {
  min-width: min(100%, 320px);
  border-color: var(--pp-primary-strong);
  background: linear-gradient(135deg, var(--pp-action-primary-start), var(--pp-action-primary-end));
  box-shadow: 0 12px 28px rgba(0, 61, 85, .24);
}

.contact-secondary-button {
  color: var(--pp-deep);
  background: transparent;
}

.contact-primary-button:hover,
.contact-primary-button:focus-visible {
  border-color: var(--pp-slider-control-border);
  background: var(--pp-slider-control-hover);
  box-shadow: none;
  transform: none;
}

.contact-secondary-button:hover,
.contact-secondary-button:focus-visible {
  color: #fff;
  background: var(--pp-strong);
}

.contact-primary-button:active,
.contact-secondary-button:active {
  transform: translateY(1px);
}

.contact-confirmation,
.contact-complete {
  scroll-margin-top: calc(var(--pp-header-height) + 24px);
}

.contact-confirmation header,
.contact-complete {
  color: var(--pp-ink);
}

.contact-confirmation h3,
.contact-complete h3 {
  margin: 8px 0 10px;
  font-family: var(--pp-font-display);
  font-size: clamp(28px, calc(3 * var(--pp-wide-vw, 1vw)), 40px);
  font-weight: 500;
}

.contact-confirmation header p,
.contact-complete p {
  margin: 0;
  color: var(--pp-muted);
}

.contact-review {
  display: grid;
  grid-template-columns: minmax(150px, .42fr) minmax(0, 1.58fr);
  margin: 32px 0 24px;
  border-top: 1px solid rgba(0, 61, 85, .22);
}

.contact-review dt,
.contact-review dd {
  margin: 0;
  padding: 16px 18px;
  border-bottom: 1px solid rgba(0, 61, 85, .16);
  white-space: pre-wrap;
}

.contact-review dt {
  color: var(--pp-ink);
  background: rgba(84, 178, 220, .12);
  font-weight: 700;
}

.contact-review dd {
  color: var(--pp-muted);
}

.contact-preview-notice {
  padding: 14px 16px;
  color: var(--pp-ink);
  border-left: 3px solid var(--pp-primary);
  background: rgba(84, 178, 220, .1);
}

.contact-complete {
  min-height: 360px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
}

.contact-complete .contact-secondary-button {
  margin-top: 28px;
}

.contact-phone-section {
  display: grid;
  grid-template-columns: minmax(0, .85fr) minmax(360px, 1.15fr);
  min-height: 330px;
  margin-top: 0;
  color: #fff;
  background:
    linear-gradient(90deg, rgba(0, 44, 61, .94) 0 43%, rgba(84, 178, 220, .68) 43% 100%),
    url("images/company/footer-contact-bg-original.jpg") center / cover;
}

.contact-phone-copy,
.contact-phone-details {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(30px, calc(5 * var(--pp-wide-vw, 1vw)), 64px);
}

.contact-phone-copy h2 {
  margin: 10px 0 18px;
  font-family: var(--pp-font-display);
  font-size: clamp(30px, calc(4 * var(--pp-wide-vw, 1vw)), 48px);
  font-weight: 500;
  line-height: 1.2;
}

.contact-phone-copy p {
  max-width: 34ch;
  margin: 0;
  color: rgba(255, 255, 255, .86);
  line-height: 1.8;
}

.contact-phone-copy > span {
  color: rgba(255, 255, 255, .82);
}

.contact-phone-details {
  border-left: 1px solid rgba(255, 255, 255, .7);
}

.contact-phone-details > a {
  display: inline-flex;
  gap: 14px;
  align-items: center;
  color: #fff;
  font-family: var(--pp-font-latin);
  font-size: clamp(28px, calc(4 * var(--pp-wide-vw, 1vw)), 46px);
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  letter-spacing: -.025em;
}

.contact-phone-details > a i {
  font-size: .74em;
}

.contact-phone-details > p {
  margin: 14px 0 24px;
  color: rgba(255, 255, 255, .9);
}

.contact-phone-details address {
  color: rgba(255, 255, 255, .82);
  font-style: normal;
  line-height: 1.7;
}

@media (max-width: 820px) {
  .contact-consultation-guide {
    grid-template-columns: 1fr;
  }

  .contact-consultation-examples {
    padding-top: 20px;
    padding-left: 0;
    border-top: 1px solid rgba(0, 61, 85, .18);
    border-left: 0;
  }

  .contact-consultation-examples ul {
    grid-template-columns: 1fr;
  }

  .contact-recruit-guide > span {
    grid-template-columns: 1fr;
    gap: 3px;
  }

  .contact-recruit-guide small {
    grid-row: auto;
  }

  .contact-optional-details summary {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .contact-optional-details summary small {
    display: none;
  }

  .contact-purpose {
    grid-template-columns: 1fr;
  }

  .contact-purpose-heading {
    padding: 30px 28px;
    border-right: 0;
    border-bottom: 1px solid rgba(255, 255, 255, .46);
  }

  .contact-purpose-heading h2 > span {
    display: inline;
  }

  .contact-purpose-heading p {
    max-width: none;
  }

  .contact-purpose-option {
    min-height: 190px;
  }

  .contact-section-heading {
    grid-template-columns: 1fr;
  }

  .contact-section-heading p {
    grid-row: auto;
    grid-column: auto;
    margin-top: 8px;
  }

  .contact-field,
  .contact-form-errors,
  .contact-privacy-consent,
  .contact-actions {
    grid-column: 1;
  }

  .contact-field {
    display: block;
  }

  .contact-field > label,
  .contact-field > legend,
  .contact-field > .contact-field-group-label {
    padding: 14px 16px;
  }

  .contact-field > :is(input[type="text"], input[type="email"], input[type="tel"], textarea) {
    width: calc(100% - 32px);
    margin: 14px 16px 18px;
  }

  .contact-field > .contact-name-grid,
  .contact-field > .contact-choice-grid {
    margin: 14px 16px 18px;
  }

  .contact-inquiry-controls {
    margin: 14px 16px 18px;
  }

  .contact-phone-section {
    grid-template-columns: 1fr;
  }

  .contact-phone-details {
    border-top: 1px solid rgba(255, 255, 255, .7);
    border-left: 0;
  }
}

/* Match the service finder: white question cards keep their shadow when opened. */
body[data-page="service-cmc"] #pp-process-explore .pp-cmc-case-issue-dialog .medicine-issue-reveal > .medicine-issue-reveal__problem,
body[data-page="service-cmc"] #pp-process-explore .pp-cmc-case-issue-dialog .medicine-issue-reveal.is-open > .medicine-issue-reveal__problem,
body[data-page="service-cmc"] #pp-cmc-case-studies .pp-cmc-case-issue-dialog .medicine-issue-reveal > .medicine-issue-reveal__problem,
body[data-page="service-cmc"] #pp-cmc-case-studies .pp-cmc-case-issue-dialog .medicine-issue-reveal.is-open > .medicine-issue-reveal__problem {
  background: rgba(255, 255, 255, .94) !important;
  border: 1px solid rgba(24, 55, 74, .08) !important;
  box-shadow: 0 12px 28px rgba(17, 43, 57, .15) !important;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-case-issue-dialog .medicine-issue-reveal > .medicine-issue-reveal__problem:is(:hover, :focus-visible),
body[data-page="service-cmc"] #pp-cmc-case-studies .pp-cmc-case-issue-dialog .medicine-issue-reveal > .medicine-issue-reveal__problem:is(:hover, :focus-visible) {
  box-shadow: 0 16px 34px rgba(17, 43, 57, .2) !important;
}

/* Keep every support-example card visible; issue tags select and move a matching card. */
body[data-page="service-cmc"] #pp-process-explore .pp-cmc-case-issue-dialog .medicine-issue-reveal,
body[data-page="service-cmc"] #pp-process-explore .pp-cmc-case-issue-dialog .medicine-issue-reveal:not(.is-tag-selected),
body[data-page="service-cmc"] #pp-process-explore .pp-cmc-case-issue-dialog .medicine-issue-reveal.is-tag-selected {
  display: contents !important;
}

.pp-cmc-related-video {
  width: min(100%, 900px);
  margin: clamp(52px, calc(8 * var(--pp-wide-vw, 1vw)), 96px) auto 0;
}

.pp-cmc-related-video__heading {
  margin-bottom: 24px;
  text-align: center;
}

.pp-cmc-related-video__heading small {
  display: block;
  margin-bottom: 7px;
  color: #1595c4;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .14em;
}

.pp-cmc-related-video__heading h3 {
  margin: 0;
  color: #1e3543;
  font-size: clamp(1.75rem, calc(3.4 * var(--pp-wide-vw, 1vw)), 2.75rem);
  line-height: 1.2;
}

.pp-cmc-related-video__frame {
  position: relative;
  overflow: hidden;
  width: min(100%, 760px);
  margin-inline: auto;
  aspect-ratio: 16 / 9;
  background: #18374a;
  border: 1px solid rgba(23, 79, 105, .18);
  box-shadow: 0 16px 38px rgba(17, 43, 57, .16);
}

.pp-cmc-related-video__poster {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  padding: 0;
  color: #fff;
  text-align: left;
  background: linear-gradient(135deg, #173d53, #2f718c);
  border: 0;
  cursor: pointer;
}

.pp-cmc-related-video__poster img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .45s ease;
}

.pp-cmc-related-video__shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(9, 41, 58, .82) 0%, rgba(9, 41, 58, .34) 54%, rgba(9, 41, 58, .16) 100%);
}

.pp-cmc-related-video__play {
  position: absolute;
  top: 50%;
  left: 50%;
  display: grid;
  width: clamp(58px, calc(8 * var(--pp-wide-vw, 1vw)), 78px);
  aspect-ratio: 1;
  place-items: center;
  color: #173d53;
  font-size: clamp(24px, calc(3 * var(--pp-wide-vw, 1vw)), 34px);
  background: rgba(255, 255, 255, .94);
  border-radius: 50%;
  box-shadow: 0 12px 30px rgba(0, 25, 38, .28);
  transform: translate(-50%, -50%);
  transition: transform .25s ease, background-color .25s ease;
}

.pp-cmc-related-video__play i {
  margin-left: .12em;
}

.pp-cmc-related-video__copy {
  position: absolute;
  bottom: clamp(20px, calc(4 * var(--pp-wide-vw, 1vw)), 40px);
  left: clamp(20px, calc(4 * var(--pp-wide-vw, 1vw)), 42px);
  display: grid;
  gap: 6px;
}

.pp-cmc-related-video__copy small {
  font-family: var(--pp-font-latin);
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .16em;
}

.pp-cmc-related-video__copy strong {
  font-size: clamp(1rem, calc(2.2 * var(--pp-wide-vw, 1vw)), 1.55rem);
  line-height: 1.4;
}

.pp-cmc-related-video__poster:hover img,
.pp-cmc-related-video__poster:focus-visible img {
  transform: scale(1.025);
}

.pp-cmc-related-video__poster:hover .pp-cmc-related-video__play,
.pp-cmc-related-video__poster:focus-visible .pp-cmc-related-video__play {
  background: #fff;
  transform: translate(-50%, -50%) scale(1.07);
}

.pp-cmc-related-video__poster:focus-visible {
  outline: 3px solid #1595c4;
  outline-offset: -3px;
}

.pp-cmc-related-video__external {
  width: min(100%, 760px);
  margin: 12px auto 0;
  text-align: right;
}

.pp-cmc-related-video__external a {
  color: #2f5d78;
  font-size: .82rem;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: .28em;
}

.pp-cmc-related-video__frame iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

/* CMC issues are controlled exclusively by the five issue tags. */
body[data-page="service-cmc"] #pp-process-explore .pp-cmc-case-issue-dialog {
  display: block !important;
  margin-top: 22px !important;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-case-issue-dialog .medicine-issue-reveal:not(.is-tag-selected) {
  display: none !important;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-case-issue-dialog .medicine-issue-reveal.is-tag-selected {
  display: grid !important;
  grid-template-columns: minmax(0, 1.08fr) minmax(300px, .92fr) !important;
  column-gap: 24px !important;
  align-items: start;
  width: 100% !important;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-case-issue-dialog .medicine-issue-reveal.is-tag-selected > .medicine-issue-reveal__connector {
  display: none !important;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-case-issue-dialog .medicine-issue-reveal.is-tag-selected > .medicine-issue-reveal__problem {
  display: grid !important;
  grid-column: 1 !important;
  width: 100% !important;
  margin: 0 !important;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-case-issue-dialog .medicine-issue-reveal.is-tag-selected > .medicine-issue-reveal__detail {
  display: grid !important;
  grid-column: 2 !important;
  grid-row: auto !important;
  width: 100% !important;
  margin: 0 !important;
  padding: clamp(22px, calc(3 * var(--pp-wide-vw, 1vw)), 34px) !important;
  background: rgba(255, 255, 255, .88) !important;
  border: 1px solid rgba(24, 55, 74, .12) !important;
  border-radius: 3px !important;
  box-shadow: none !important;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-case-issue-dialog .medicine-issue-reveal.is-tag-selected > .medicine-issue-reveal__detail[hidden] {
  display: none !important;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-case-issue-dialog .medicine-issue-reveal.is-tag-selected > .medicine-issue-reveal__detail:is(:hover, :focus-within) {
  box-shadow: 0 14px 32px rgba(17, 43, 57, .16) !important;
}

@media (max-width: 820px) {
  body[data-page="service-cmc"] #pp-process-explore .pp-cmc-case-issue-dialog .medicine-issue-reveal.is-tag-selected {
    grid-template-columns: 1fr !important;
    row-gap: 14px !important;
  }

  body[data-page="service-cmc"] #pp-process-explore .pp-cmc-case-issue-dialog .medicine-issue-reveal.is-tag-selected > .medicine-issue-reveal__problem,
  body[data-page="service-cmc"] #pp-process-explore .pp-cmc-case-issue-dialog .medicine-issue-reveal.is-tag-selected > .medicine-issue-reveal__detail {
    grid-column: 1 !important;
  }
}

@media (max-width: 560px) {
  body[data-page="contact"] .page-stage {
    padding-right: 0;
    padding-left: 0;
  }

  body[data-page="contact"] .page-intro {
    margin-right: 18px;
    margin-left: 18px;
    padding: 28px 18px;
  }

  body[data-page="contact"] .page-intro p,
  .contact-section-heading p {
    font-size: clamp(12px, calc(3.45 * var(--pp-wide-vw, 1vw)), 14px);
    line-height: 1.85;
    white-space: normal;
  }

  .contact-responsive-phrase {
    display: inline-block;
  }

  .contact-form-surface {
    padding: 0;
  }

  .contact-purpose-options {
    grid-template-columns: 1fr;
  }

  .contact-purpose-option {
    grid-template-columns: auto minmax(0, 1fr) auto;
    grid-template-rows: auto auto;
    gap: 8px 18px;
    align-items: center;
    min-height: 132px;
    padding: 22px 24px;
    border-top: 1px solid rgba(255, 255, 255, .42);
    border-left: 0;
  }

  .contact-purpose-option:first-child {
    border-top: 0;
  }

  .contact-purpose-meta {
    grid-row: 1 / -1;
  }

  .contact-purpose-meta small {
    display: none;
  }

  .contact-purpose-option > strong {
    grid-column: 2;
    align-self: end;
    margin: 0;
    font-size: 17px;
  }

  .contact-purpose-description {
    grid-column: 2;
    align-self: start;
    padding-right: 0;
  }

  .contact-purpose-option > .ph {
    position: static;
    grid-column: 3;
    grid-row: 1 / -1;
  }

  .contact-form-content {
    padding: 28px 18px 36px;
  }

  .contact-progress li {
    min-height: 50px;
    gap: 5px;
  }

  .contact-progress {
    gap: 16px;
    width: 100%;
    margin-bottom: 38px;
  }

  .contact-progress span {
    font-size: 12px;
  }

  .contact-progress-arrow {
    right: calc(-8px - .5em);
    font-size: 13px;
  }

  .contact-actions-split {
    align-items: stretch;
    flex-direction: column;
  }

  .contact-name-grid {
    grid-template-columns: 1fr;
  }

  .contact-review {
    grid-template-columns: 1fr;
  }

  .contact-review dt {
    border-bottom: 0;
  }

  .contact-phone-copy,
  .contact-phone-details {
    padding: 34px 22px;
  }
}

/* One translucent left-rail surface lets every page-specific background image
   continue behind its category navigation, following the TOP composition. */
body .page-rail,
body #特徴② .pp-explore-menu,
body #pp-process-explore .pp-process-menu {
  color: var(--pp-ink);
  border-right-color: rgba(0, 61, 85, .18);
  background: linear-gradient(180deg, var(--pp-rail-gradient-start), var(--pp-rail-gradient-end)) !important;
  background-color: transparent !important;
  backdrop-filter: blur(6px) brightness(1.08) saturate(.72);
  -webkit-backdrop-filter: blur(6px) brightness(1.08) saturate(.72);
}

body .rail-inner,
body #pp-process-explore .pp-process-menu__inner {
  color: var(--pp-ink);
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

body #特徴② .pp-explore-menu__inner {
  color: var(--pp-ink);
  border-right-color: rgba(0, 61, 85, .18);
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

body[data-page="home"] .page-rail {
  background: linear-gradient(180deg, var(--pp-rail-gradient-start), var(--pp-rail-gradient-end));
  backdrop-filter: blur(6px) brightness(1.08) saturate(.72);
  -webkit-backdrop-filter: blur(6px) brightness(1.08) saturate(.72);
}

body[data-page="home"] .rail-inner {
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

@media (min-width: 981px) {
  body[data-page="home"] .page-rail {
    z-index: 4;
  }

  body[data-page="home"] .top-news-component {
    z-index: auto;
    width: calc(100% + var(--pp-rail-width) + clamp(36px, calc(7 * var(--pp-wide-vw, 1vw)), 92px));
    margin-left: calc(0px - var(--pp-rail-width) - clamp(18px, calc(3.5 * var(--pp-wide-vw, 1vw)), 46px));
  }
}

body .top-banner-component .jrf-cro-image {
  filter: brightness(1.12) contrast(1.18) !important;
}

body .cinematic-lockup::before,
body .cinematic-lockup::after,
body .cinematic-lockup-core::before,
body .cinematic-lockup-core::after {
  filter: none !important;
}

body[data-page="home"] .top-news-component #お知らせ①-widget .お知らせ①-item,
body[data-page="home"] .top-news-component #お知らせ①-widget .お知らせ①-card-content {
  box-shadow: none !important;
}

body #pp-process-explore .pp-process-menu__context {
  color: rgba(0, 44, 61, .86);
}

body #pp-process-explore .pp-process-menu__link:hover,
body #pp-process-explore .pp-process-menu__link:focus-visible,
body #pp-process-explore .pp-process-menu__link.is-active {
  color: var(--pp-ink);
}

/* Keep the GMP Meister® brand lockup separate from category navigation. */
.top-meister-feature-intro h2,
.rail-nav a[href="#meister"] .rail-ja {
  font-family: "Times New Roman", Times, serif;
}

.top-meister-feature-menu-title,
.top-meister-feature-toc {
  font-family: "Hiragino Sans", var(--pp-font-body);
}

.rail-nav a[href="#meister"] .rail-en {
  font-family: var(--pp-font-latin);
  font-size: 10px !important;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: .17em;
}

.rail-nav a[href="#meister"] .rail-ja {
  font-size: 14px !important;
  line-height: 1.5;
  letter-spacing: .04em;
}

.rail-nav a[href="#meister"]:hover,
.rail-nav a[href="#meister"]:focus-visible {
  color: #173443 !important;
  background-color: rgba(246, 217, 133, .56) !important;
}

/* Shared one-line feature heading scale across every page tail. */
.top-region-feature-intro h2,
body[data-page="home"] #results > .top-results-intro h2,
.company-performance-feature > .top-results-intro h2,
.company-services-feature > .top-results-intro h2,
.company-contact-feature > .top-results-intro h2 {
  font-size: clamp(36px, calc(3.6 * var(--pp-wide-vw, 1vw)), 52px) !important;
  letter-spacing: .02em !important;
  white-space: nowrap;
}

@media (max-width: 780px) {
  .top-region-feature-intro h2,
  body[data-page="home"] #results > .top-results-intro h2,
  .company-performance-feature > .top-results-intro h2,
  .company-services-feature > .top-results-intro h2,
  .company-contact-feature > .top-results-intro h2 {
    font-size: clamp(30px, calc(9 * var(--pp-wide-vw, 1vw)), 42px) !important;
  }
}

/* Dark source imagery must not create a false header shadow on embedded pages. */
body:is([data-page="reason"], [data-page="process"]) .site-header::before {
  filter: blur(18px) brightness(2.35) saturate(.35);
}

body:is([data-page="reason"], [data-page="process"]) .site-header::after {
  background: rgba(255, 255, 255, .68) !important;
}

/* Category headings use the CORPORATE label voice on every page. */
.rail-context,
body #特徴② .pp-explore-menu__context,
body #pp-process-explore .pp-process-menu__context {
  color: var(--pp-rail-accent) !important;
  font-family: var(--pp-font-latin) !important;
  font-size: 25px !important;
  font-weight: 900 !important;
  line-height: 1.2 !important;
  letter-spacing: .1em !important;
}

body[data-page="home"] .rail-context {
  display: none !important;
}

.rail-en,
.rail-news-title > b {
  font-family: var(--pp-font-latin);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .17em;
}

body #pp-process-explore .pp-process-menu__en {
  font-family: var(--pp-font-latin);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .17em;
}

/* One desktop category contract across native, TOP, reason, and process rails. */
@media screen and (min-width: 981px) {
  body .rail-nav a,
  body .rail-news-row,
  body #特徴② .pp-explore-menu__link,
  body #pp-process-explore .pp-process-menu__link {
    min-height: 49px !important;
    gap: 2px !important;
    padding: 8px 28px 7px 10px !important;
  }

  body .rail-nav a:hover,
  body .rail-nav a:focus-visible,
  body .rail-nav a[aria-current="location"],
  body .rail-news-row:hover,
  body .rail-news-row:focus-visible,
  body .rail-news-row.is-active,
  body #特徴② .pp-explore-menu__link:hover,
  body #特徴② .pp-explore-menu__link:focus-visible,
  body #特徴② .pp-explore-menu__link.is-active,
  body #pp-process-explore .pp-process-menu__link:hover,
  body #pp-process-explore .pp-process-menu__link:focus-visible,
  body #pp-process-explore .pp-process-menu__link.is-active {
    padding-left: 10px !important;
  }
}

/* Keep long category lists usable without showing a visual scrollbar. */
.rail-inner,
body #特徴② .pp-explore-menu__inner,
body #pp-process-explore .pp-process-menu__inner {
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.rail-inner::-webkit-scrollbar,
body #特徴② .pp-explore-menu__inner::-webkit-scrollbar,
body #pp-process-explore .pp-process-menu__inner::-webkit-scrollbar {
  display: none;
  width: 0;
  height: 0;
}

.rail-en,
.rail-news-title > b,
body #特徴② .pp-explore-menu__en,
body #pp-process-explore .pp-process-menu__en {
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: .17em !important;
}

.rail-ja,
.rail-news-title > strong,
body #特徴② .pp-explore-menu__ja,
body #pp-process-explore .pp-process-menu__ja {
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
}

body[data-page="services"] .rail-nav a[href="#service-medical-device"] .rail-ja {
  font-size: 12px !important;
  letter-spacing: -.02em;
  white-space: nowrap;
}

.rail-nav a[aria-current="location"]::before,
.rail-news-row.is-active::before,
body #特徴② .pp-explore-menu__link.is-active::before,
body #pp-process-explore .pp-process-menu__link.is-active::before {
  display: none !important;
  content: none !important;
}

@media screen and (max-width: 980px) {
  body #pp-process-explore .pp-process-menu {
    border-bottom-color: rgba(0, 61, 85, .20);
  }

  body #pp-process-explore .pp-process-menu__link:nth-child(odd) {
    border-right-color: var(--pp-rail-line);
  }

  .rail-en,
  .rail-news-title > b,
  body #pp-process-explore .pp-process-menu__en {
    font-size: 10px;
  }
}

@media screen and (min-width: 981px) {
  .rail-inner,
  body[data-page="company"] .rail-inner {
    top: var(--pp-header-height);
    height: calc(calc(100 * var(--pp-wide-dvh, 1dvh)) - var(--pp-header-height));
  }

  body #pp-process-explore .pp-process-menu__inner {
    top: var(--pp-header-height, 76px);
    height: calc(calc(100 * var(--pp-wide-dvh, 1dvh)) - var(--pp-header-height, 76px));
  }
}

/* Service rail is the shared interaction and spacing reference. */
@media screen and (min-width: 981px) {
  body .rail-inner,
  body #特徴② .pp-explore-menu__inner,
  body #pp-process-explore .pp-process-menu__inner {
    padding: 24px 20px !important;
  }

  body .rail-mark,
  body #特徴② .pp-explore-menu__mark,
  body #pp-process-explore .pp-process-menu__mark {
    width: 18px !important;
    height: 18px !important;
    margin: 0 !important;
    flex-basis: 18px !important;
    border-top: 2px solid #54b2dc !important;
    border-left: 2px solid #54b2dc !important;
  }

  body .rail-context,
  body #特徴② .pp-explore-menu__context,
  body #pp-process-explore .pp-process-menu__context {
    margin: 14px 0 0 !important;
  }
}

body .rail-nav a,
body .rail-news-row,
body #特徴② .pp-explore-menu__link,
body #pp-process-explore .pp-process-menu__link {
  height: auto !important;
  min-height: 51px !important;
  align-content: center;
  color: rgba(0, 44, 61, .72) !important;
  background-color: transparent !important;
  transition: color 180ms ease, background-color 180ms ease !important;
}

/* Process embeds carry a white divider in their source markup. Match the
   shared category rail's quiet corporate-ink divider instead. */
body #pp-process-explore .pp-process-menu__link {
  border-bottom-color: rgba(0, 61, 85, .20) !important;
}

body #pp-process-explore .pp-process-menu__list {
  border-top-color: rgba(0, 61, 85, .20) !important;
}

body .rail-nav a:hover,
body .rail-nav a:focus-visible,
body .rail-nav a[aria-current="location"],
body .rail-nav a[aria-current="page"],
body .rail-news-row:hover,
body .rail-news-row:focus-visible,
body .rail-news-row.is-active,
body #特徴② .pp-explore-menu__link:hover,
body #特徴② .pp-explore-menu__link:focus-visible,
body #特徴② .pp-explore-menu__link.is-active,
body #pp-process-explore .pp-process-menu__link:hover,
body #pp-process-explore .pp-process-menu__link:focus-visible,
body #pp-process-explore .pp-process-menu__link.is-active {
  color: #002c3d !important;
  background-color: rgba(84, 178, 220, .18) !important;
}

@media screen and (min-width: 981px) {
  body .rail-mark,
  body #特徴② .pp-explore-menu__mark,
  body #pp-process-explore .pp-process-menu__mark {
    width: 30px !important;
    height: 34px !important;
    margin: 0 !important;
    flex-basis: 34px !important;
    border: 0 !important;
  }

  body .rail-context,
  body #特徴② .pp-explore-menu__context,
  body #pp-process-explore .pp-process-menu__context {
    margin-top: 8px !important;
  }
}

/* CONTACT only: quiet editorial consultation desk.
   Every selector is page-scoped so TOP and the other inner pages stay intact. */
body[data-page="contact"] .regulated-page {
  background: linear-gradient(180deg, #f7f8f8 0, #eef2f4 420px, #f7f8f9 100%);
}

body[data-page="contact"] .regulated-page::before,
body[data-page="contact"] .regulated-page::after {
  content: none;
}

body[data-page="contact"] .page-rail {
  z-index: 3;
  border-right-color: #d9e0e3;
  background: transparent !important;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

body[data-page="contact"] .page-rail .rail-inner {
  position: relative;
  z-index: 1;
}

body[data-page="contact"] .page-stage {
  padding: clamp(58px, calc(8 * var(--pp-wide-vh, 1vh)), 94px) clamp(28px, calc(5.8 * var(--pp-wide-vw, 1vw)), 84px) 88px;
}

body[data-page="contact"] .page-intro {
  display: grid;
  grid-template-columns: minmax(360px, 1.12fr) minmax(270px, .88fr);
  grid-template-rows: auto auto;
  column-gap: clamp(40px, calc(6 * var(--pp-wide-vw, 1vw)), 88px);
  align-items: end;
  max-width: none;
  min-height: 258px;
  margin: 0;
  padding: clamp(42px, calc(5 * var(--pp-wide-vw, 1vw)), 68px) clamp(36px, calc(5 * var(--pp-wide-vw, 1vw)), 72px);
  color: #092b39;
  border-top: 1px solid #ccd5d9;
  border-bottom: 1px solid #ccd5d9;
  background: rgba(255, 255, 255, .94);
}

body[data-page="contact"] .page-intro .eyebrow {
  grid-column: 1;
  grid-row: 1;
  margin-bottom: 18px;
  color: #2e95c3;
  font-size: 10px;
  letter-spacing: .24em;
}

body[data-page="contact"] .page-intro h1 {
  grid-column: 1;
  grid-row: 2;
  font-size: clamp(42px, calc(4.2 * var(--pp-wide-vw, 1vw)), 56px);
  font-weight: 700;
  line-height: 1.08;
  letter-spacing: -.055em;
  white-space: nowrap;
}

body[data-page="contact"] .page-intro h1 span {
  color: #092b39;
  text-shadow: none !important;
}

body[data-page="contact"] .page-intro p {
  grid-column: 2;
  grid-row: 2;
  max-width: 40em;
  margin: 0;
  padding: 5px 0 5px clamp(24px, calc(3 * var(--pp-wide-vw, 1vw)), 42px);
  color: #52636b;
  border-left: 1px solid #ccd5d9;
  font-size: 15px;
  font-weight: 500;
  line-height: 2;
  text-shadow: none !important;
  white-space: normal;
}

body[data-page="contact"] .contact-form-surface {
  overflow: visible;
  border: 0;
  background: #fff;
  box-shadow: none;
}

body[data-page="contact"] .contact-form-content {
  padding: clamp(48px, calc(6 * var(--pp-wide-vw, 1vw)), 80px) clamp(36px, calc(5 * var(--pp-wide-vw, 1vw)), 72px) clamp(58px, calc(7 * var(--pp-wide-vw, 1vw)), 92px);
}

body[data-page="contact"] .contact-section-heading {
  grid-template-columns: minmax(360px, 1.12fr) minmax(270px, .88fr);
  grid-template-rows: auto auto;
  column-gap: clamp(40px, calc(6 * var(--pp-wide-vw, 1vw)), 88px);
  align-items: end;
  margin-bottom: 0;
  padding-bottom: clamp(32px, calc(4 * var(--pp-wide-vw, 1vw)), 48px);
  border-bottom: 1px solid #d8dfe2;
}

body[data-page="contact"] .contact-section-heading > span {
  grid-column: 1;
  grid-row: 1;
  margin-bottom: 12px;
  color: #2e95c3;
  letter-spacing: .24em;
}

body[data-page="contact"] .contact-section-heading h2 {
  grid-column: 1;
  grid-row: 2;
  color: #092b39;
  font-size: clamp(32px, calc(3.1 * var(--pp-wide-vw, 1vw)), 42px);
  font-weight: 700;
  line-height: 1.18;
  letter-spacing: -.055em;
  white-space: nowrap;
}

body[data-page="contact"] .contact-section-heading p {
  grid-column: 2;
  grid-row: 2;
  margin: 0;
  padding: 4px 0 4px clamp(24px, calc(3 * var(--pp-wide-vw, 1vw)), 42px);
  color: #5d6b71;
  border-left: 1px solid #d8dfe2;
  font-size: 14px;
  line-height: 2;
  white-space: normal;
}

body[data-page="contact"] .contact-consultation-guide {
  grid-template-columns: minmax(260px, .82fr) minmax(320px, 1.18fr);
  gap: 0;
  margin: 0 0 clamp(32px, calc(4 * var(--pp-wide-vw, 1vw)), 48px);
  padding: 0;
  color: #092b39;
  border: 0;
  background: #eef2f3;
  box-shadow: none;
}

body[data-page="contact"] .contact-consultation-guide > div:first-child {
  padding: clamp(32px, calc(4.2 * var(--pp-wide-vw, 1vw)), 54px) clamp(28px, calc(3.8 * var(--pp-wide-vw, 1vw)), 48px);
  color: #fff;
  background: #092b39;
}

body[data-page="contact"] .contact-consultation-guide > div:first-child > span {
  color: #71c6e7;
  letter-spacing: .22em;
}

body[data-page="contact"] .contact-consultation-guide h3 {
  margin: 16px 0;
  color: #fff;
  font-size: clamp(24px, calc(2.5 * var(--pp-wide-vw, 1vw)), 34px);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: -.035em;
}

body[data-page="contact"] .contact-consultation-guide p {
  color: rgba(255, 255, 255, .76);
  font-size: 13px;
  line-height: 1.9;
}

body[data-page="contact"] .contact-consultation-examples {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(32px, calc(4.2 * var(--pp-wide-vw, 1vw)), 54px) clamp(28px, calc(4.2 * var(--pp-wide-vw, 1vw)), 54px);
  border: 0;
}

body[data-page="contact"] .contact-consultation-examples strong {
  margin-bottom: 18px;
  color: #092b39;
  font-size: 15px;
}

body[data-page="contact"] .contact-consultation-examples li {
  color: #4f6067;
  font-size: 13px;
}

body[data-page="contact"] .contact-consultation-examples li::before {
  width: 5px;
  height: 5px;
  background: #2e95c3;
  transform: none;
}

body[data-page="contact"] .contact-recruit-guide {
  min-height: 86px;
  margin: 0 0 clamp(34px, calc(4 * var(--pp-wide-vw, 1vw)), 48px);
  padding: 20px 0;
  color: #092b39;
  border: 0;
  border-top: 1px solid #d8dfe2;
  border-bottom: 1px solid #d8dfe2;
  background: #fff;
}

body[data-page="contact"] .contact-recruit-guide:hover,
body[data-page="contact"] .contact-recruit-guide:focus-visible {
  border-color: #2e95c3;
  background: #f6f9fa;
}

body[data-page="contact"] .contact-recruit-guide small,
body[data-page="contact"] .contact-recruit-guide > .ph {
  color: #2e95c3;
}

body[data-page="contact"] .contact-progress {
  gap: 0;
  width: 100%;
  max-width: none;
  margin: 0 0 clamp(34px, calc(4 * var(--pp-wide-vw, 1vw)), 48px);
}

body[data-page="contact"] .contact-progress li {
  min-height: 66px;
  padding: 16px clamp(12px, calc(2 * var(--pp-wide-vw, 1vw)), 24px);
  justify-content: flex-start;
  color: #79868b;
  border: 0;
  border-top: 1px solid #d8dfe2;
  border-bottom: 1px solid #d8dfe2;
  background: #fff;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

body[data-page="contact"] .contact-progress li + li {
  border-left: 1px solid #d8dfe2;
}

body[data-page="contact"] .contact-progress li::before {
  content: none;
}

body[data-page="contact"] .contact-progress li.is-current,
body[data-page="contact"] .contact-progress li.is-complete {
  color: #092b39;
  border-color: #d8dfe2;
  background: #fff;
  box-shadow: inset 0 3px 0 #2e95c3;
}

body[data-page="contact"] .contact-progress li.is-current::before,
body[data-page="contact"] .contact-progress li.is-complete::before {
  color: #2e95c3;
}

body[data-page="contact"] .contact-progress-arrow {
  right: -9px;
  z-index: 2;
  display: inline-flex;
  width: 18px;
  height: 22px;
  align-items: center;
  justify-content: center;
  color: #72868f;
  background: transparent;
  font-size: 14px;
}

body[data-page="contact"] .contact-progress li.is-current .contact-progress-arrow,
body[data-page="contact"] .contact-progress li.is-complete .contact-progress-arrow {
  color: #2e95c3;
}

body[data-page="contact"] .contact-privacy-overview {
  margin: 0 0 clamp(30px, calc(4 * var(--pp-wide-vw, 1vw)), 44px);
  padding: clamp(22px, calc(3 * var(--pp-wide-vw, 1vw)), 30px) 0;
  border: 0;
  border-bottom: 1px solid #d8dfe2;
  background: #fff;
}

body[data-page="contact"] .contact-privacy-overview h3 {
  color: #092b39;
  font-size: 18px;
}

body[data-page="contact"] .contact-form-group,
body[data-page="contact"] .contact-optional-details {
  margin-bottom: clamp(28px, calc(4 * var(--pp-wide-vw, 1vw)), 42px);
  border: 0;
  border-top: 1px solid #cbd4d8;
  border-bottom: 1px solid #cbd4d8;
  background: #fff;
}

body[data-page="contact"] .contact-form-group-heading {
  grid-template-columns: 64px minmax(0, 1fr);
  gap: clamp(18px, calc(3 * var(--pp-wide-vw, 1vw)), 34px);
  padding: clamp(26px, calc(3.6 * var(--pp-wide-vw, 1vw)), 42px) 0;
  border-bottom: 1px solid #d8dfe2;
  background: #fff;
}

body[data-page="contact"] .contact-form-group-heading > span {
  display: block;
  width: auto;
  height: auto;
  place-items: initial;
  color: #2e95c3;
  background: transparent;
  font-size: 28px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: -.04em;
}

body[data-page="contact"] .contact-form-group-heading h3 {
  color: #092b39;
  font-size: clamp(21px, calc(2.2 * var(--pp-wide-vw, 1vw)), 28px);
}

body[data-page="contact"] .contact-form-group-heading p {
  margin-top: 7px;
  color: #68767c;
  font-size: 13px;
}

body[data-page="contact"] .contact-field {
  border-bottom-color: #e0e5e7;
  background: #fff;
}

body[data-page="contact"] .contact-field:last-child {
  border-bottom: 0;
}

body[data-page="contact"] .contact-field > label,
body[data-page="contact"] .contact-field > legend {
  padding: 20px 18px;
  color: #203e49;
  background: #f3f5f5;
}

body[data-page="contact"] .contact-field :is(input[type="text"], input[type="email"], input[type="tel"], textarea) {
  color: #173642;
  border-color: #c7d0d4;
  background: #fff;
}

body[data-page="contact"] .contact-field :is(input[type="text"], input[type="email"], input[type="tel"], textarea):focus {
  border-color: #2e95c3;
  outline: 2px solid rgba(46, 149, 195, .18);
}

body[data-page="contact"] .contact-optional-details summary {
  min-height: 88px;
  padding: 20px 0;
  color: #092b39;
  background: #fff;
}

body[data-page="contact"] .contact-optional-details summary b {
  color: #2e95c3;
  background: transparent;
  font-size: 20px;
  font-weight: 400;
}

body[data-page="contact"] .contact-privacy-consent {
  margin-top: 0;
  padding: clamp(24px, calc(3 * var(--pp-wide-vw, 1vw)), 32px);
  color: #173642;
  border: 0;
  background: #eef2f3;
}

body[data-page="contact"] .contact-primary-button {
  border-color: #092b39;
  background: #092b39;
  box-shadow: none;
}

body[data-page="contact"] .contact-primary-button:hover,
body[data-page="contact"] .contact-primary-button:focus-visible {
  color: #fff;
  border-color: #2e95c3;
  background: #2e95c3;
}

body[data-page="contact"] .contact-secondary-button {
  color: #092b39;
  border-color: #092b39;
}

/* CONTACT split view: empathy and examples stay prominent on the left while
   the required form remains compact and scannable on the right. */
body[data-page="contact"] .contact-entry-layout {
  display: grid;
  grid-template-columns: minmax(420px, 1.22fr) minmax(300px, .78fr);
  gap: clamp(28px, calc(4 * var(--pp-wide-vw, 1vw)), 56px);
  align-items: start;
  padding-top: clamp(42px, calc(5 * var(--pp-wide-vw, 1vw)), 66px);
}

body[data-page="contact"] .contact-entry-layout > .contact-consultation-guide {
  position: relative;
  z-index: 1;
  align-self: stretch;
  min-height: 100%;
  display: block;
  margin: 0;
  padding: clamp(28px, calc(3.2 * var(--pp-wide-vw, 1vw)), 40px) clamp(24px, calc(3 * var(--pp-wide-vw, 1vw)), 36px);
  background: transparent;
  isolation: isolate;
}

body[data-page="contact"] .contact-entry-layout > .contact-consultation-guide::before {
  position: absolute;
  z-index: -1;
  top: 0;
  right: 0;
  bottom: 0;
  left: calc(-1 * (var(--pp-rail-width) + clamp(72px, calc(11 * var(--pp-wide-vw, 1vw)), 160px)));
  background: linear-gradient(145deg, #8dd3ec 0%, #54b2dc 48%, #349bc7 100%);
  content: "";
  pointer-events: none;
}

body[data-page="contact"] .contact-consultation-copy {
  padding: clamp(34px, calc(4 * var(--pp-wide-vw, 1vw)), 48px) clamp(30px, calc(3.5 * var(--pp-wide-vw, 1vw)), 42px);
  color: #092b39;
  background: rgba(255, 255, 255, .96);
}

body[data-page="contact"] .contact-entry-layout .contact-consultation-guide > .contact-consultation-copy {
  color: #092b39;
  background: rgba(255, 255, 255, .96);
}

body[data-page="contact"] .contact-entry-layout .contact-consultation-guide > .contact-consultation-copy > span {
  color: #2e95c3;
}

body[data-page="contact"] .contact-entry-layout .contact-consultation-guide > .contact-consultation-copy h3 {
  color: #092b39;
}

body[data-page="contact"] .contact-entry-layout .contact-consultation-guide > .contact-consultation-copy p {
  color: #5b6b72;
}

body[data-page="contact"] .contact-consultation-copy > span {
  color: #2e95c3;
  font-family: var(--pp-font-latin);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .22em;
}

body[data-page="contact"] .contact-consultation-copy h3 {
  max-width: 13em;
  margin: 22px 0 20px;
  color: #092b39;
  font-size: clamp(29px, calc(2.4 * var(--pp-wide-vw, 1vw)), 36px);
  line-height: 1.38;
  letter-spacing: -.04em;
}

body[data-page="contact"] .contact-consultation-copy p {
  max-width: 34em;
  color: #5b6b72;
  font-size: 14px;
  line-height: 2;
}

body[data-page="contact"] .contact-consultation-reassurance {
  margin-top: 30px;
  padding-top: 24px;
  border-top: 1px solid #d7dfe2;
}

body[data-page="contact"] .contact-consultation-reassurance strong,
body[data-page="contact"] .contact-consultation-reassurance span {
  display: block;
}

body[data-page="contact"] .contact-consultation-reassurance strong {
  color: #092b39;
  font-size: 14px;
  line-height: 1.7;
}

body[data-page="contact"] .contact-consultation-reassurance span {
  margin-top: 5px;
  color: #69787e;
  font-size: 12px;
  line-height: 1.7;
}

body[data-page="contact"] .contact-entry-layout .contact-consultation-examples {
  padding: clamp(26px, calc(3 * var(--pp-wide-vw, 1vw)), 36px) clamp(30px, calc(3.5 * var(--pp-wide-vw, 1vw)), 42px);
  background: transparent;
}

body[data-page="contact"] .contact-entry-layout .contact-consultation-examples > strong {
  color: #092b39;
}

body[data-page="contact"] .contact-entry-layout .contact-consultation-examples ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 22px;
}

body[data-page="contact"] .contact-entry-layout .contact-consultation-examples li {
  display: block;
  padding: 14px 0 16px;
  border-top: 1px solid rgba(9, 43, 57, .24);
}

body[data-page="contact"] .contact-entry-layout .contact-consultation-examples li::before {
  content: none;
}

body[data-page="contact"] .contact-entry-layout .contact-consultation-examples li b {
  display: block;
  margin-bottom: 5px;
  color: #092b39;
  font-size: 13px;
  line-height: 1.65;
}

body[data-page="contact"] .contact-entry-layout .contact-consultation-examples li span {
  color: rgba(9, 43, 57, .78);
  font-size: 12px;
  line-height: 1.75;
}

body[data-page="contact"] .contact-entry-layout .contact-recruit-guide {
  margin: 0;
  padding: 20px clamp(24px, calc(3 * var(--pp-wide-vw, 1vw)), 36px);
  border: 0;
  border-top: 1px solid rgba(9, 43, 57, .22);
  background: rgba(255, 255, 255, .92);
}

body[data-page="contact"] .contact-entry-panel {
  min-width: 0;
}

body[data-page="contact"] .contact-entry-panel .contact-progress {
  margin-bottom: 16px;
}

body[data-page="contact"] .contact-entry-panel .contact-progress li {
  min-height: 44px;
  padding: 8px 9px;
  justify-content: center;
}

body[data-page="contact"] .contact-entry-panel .contact-progress li::before {
  font-size: 9px;
}

body[data-page="contact"] .contact-entry-panel .contact-progress span {
  font-size: 11px;
}

body[data-page="contact"] .contact-entry-panel .contact-progress-guidance {
  margin: 0 0 14px;
  padding: 0 0 14px;
  color: #5b6b72;
  border-bottom: 1px solid #d8dfe2;
}

body[data-page="contact"] .contact-entry-panel .contact-progress-guidance p {
  margin: 0;
  font-size: 11px;
  line-height: 1.8;
}

body[data-page="contact"] .contact-entry-panel .contact-progress-guidance p + p {
  margin-top: 2px;
}

body[data-page="contact"] .contact-entry-panel .contact-privacy-overview {
  margin-bottom: 14px;
  padding: 10px 0 13px;
}

body[data-page="contact"] .contact-entry-panel .contact-privacy-overview h3 {
  margin-bottom: 6px;
  font-size: 12px;
}

body[data-page="contact"] .contact-entry-panel .contact-privacy-overview p {
  max-width: none;
  font-size: 10px;
  line-height: 1.6;
  white-space: nowrap;
}

body[data-page="contact"] .contact-entry-panel .contact-form-group,
body[data-page="contact"] .contact-entry-panel .contact-optional-details {
  margin-bottom: 14px;
}

body[data-page="contact"] .contact-entry-panel .contact-form-group-heading {
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 10px;
  padding: 12px 0;
}

body[data-page="contact"] .contact-entry-panel .contact-form-group-heading > span {
  font-size: 18px;
}

body[data-page="contact"] .contact-entry-panel .contact-form-group-heading h3 {
  font-size: 17px;
}

body[data-page="contact"] .contact-entry-panel .contact-form-group-heading p {
  display: none;
}

body[data-page="contact"] .contact-entry-panel .contact-field {
  display: grid;
  grid-template-columns: minmax(98px, 34%) minmax(0, 1fr);
}

body[data-page="contact"] .contact-entry-panel .contact-field > label,
body[data-page="contact"] .contact-entry-panel .contact-field > legend,
body[data-page="contact"] .contact-entry-panel .contact-field > .contact-field-group-label {
  padding: 10px;
  font-size: 12px;
}

body[data-page="contact"] .contact-entry-panel .contact-field > :is(input[type="text"], input[type="email"], input[type="tel"], textarea) {
  grid-column: 2;
  width: calc(100% - 20px);
  min-height: 40px;
  margin: 7px 10px;
}

body[data-page="contact"] .contact-entry-panel .contact-field textarea {
  min-height: 84px;
}

body[data-page="contact"] .contact-entry-panel .contact-field > .contact-name-grid,
body[data-page="contact"] .contact-entry-panel .contact-field > .contact-choice-grid {
  grid-column: 2;
  margin: 7px 10px;
}

body[data-page="contact"] .contact-entry-panel .contact-name-grid {
  gap: 10px;
}

body[data-page="contact"] .contact-entry-panel .contact-name-grid label {
  grid-template-columns: 22px minmax(0, 1fr);
}

body[data-page="contact"] .contact-entry-panel .contact-name-controls {
  display: grid;
  grid-column: 2;
  min-width: 0;
  gap: 12px;
  margin: 7px 10px;
}

body[data-page="contact"] .contact-entry-panel .contact-name-kana {
  display: grid;
  min-width: 0;
  gap: 6px;
}

body[data-page="contact"] .contact-entry-panel .contact-name-kana-label {
  color: var(--pp-ink);
  font-size: 12px;
  font-weight: 700;
}

body[data-page="contact"] .contact-entry-panel .contact-name-grid label > span {
  white-space: nowrap;
}

@media (min-width: 981px) {
  body[data-page="contact"] .contact-entry-panel .contact-form-group[aria-labelledby="contact-group-contact"] > .contact-field > :is(label, legend, .contact-field-group-label),
  body[data-page="contact"] .contact-entry-panel .contact-form-group[aria-labelledby="contact-group-contact"] .contact-name-grid label > span {
    text-align: right;
  }
}

@media (max-width: 980px) {
  body[data-page="contact"] .contact-entry-panel .contact-name-controls {
    margin: 10px 12px 12px;
  }
}

body[data-page="contact"] .contact-entry-panel .contact-optional-details summary {
  min-height: 52px;
  padding: 8px 0;
}

body[data-page="contact"] .contact-entry-panel .contact-optional-details summary span {
  font-size: 13px;
}

body[data-page="contact"] .contact-entry-panel .contact-optional-details summary small {
  display: none;
}

body[data-page="contact"] .contact-entry-panel .contact-privacy-consent {
  padding: 14px;
  font-size: 11px;
}

body[data-page="contact"] .contact-entry-panel .contact-privacy-consent p {
  margin-bottom: 10px;
}

body[data-page="contact"] .contact-entry-panel .contact-primary-button,
body[data-page="contact"] .contact-entry-panel .contact-secondary-button {
  min-height: 48px;
  padding: 10px 20px;
  font-size: 13px;
}

@media (max-width: 980px) {
  body[data-page="contact"] .contact-entry-layout {
    grid-template-columns: 1fr;
  }

  body[data-page="contact"] .contact-entry-panel .contact-privacy-overview p {
    white-space: normal;
  }

  body[data-page="contact"] .contact-entry-layout > .contact-consultation-guide {
    position: static;
    padding: 20px;
  }

  body[data-page="contact"] .contact-entry-layout > .contact-consultation-guide::before {
    left: 0;
  }

  body[data-page="contact"] .contact-consultation-copy h3 {
    font-size: clamp(26px, calc(8 * var(--pp-wide-vw, 1vw)), 34px);
    line-height: 1.45;
  }

  body[data-page="contact"] .contact-entry-panel .contact-field {
    display: block;
  }

  body[data-page="contact"] .contact-entry-panel .contact-field > :is(input[type="text"], input[type="email"], input[type="tel"], textarea) {
    width: calc(100% - 24px);
    margin: 10px 12px 12px;
  }

  body[data-page="contact"] .contact-entry-panel .contact-field > .contact-name-grid,
  body[data-page="contact"] .contact-entry-panel .contact-field > .contact-choice-grid {
    margin: 10px 12px 12px;
  }
}

@media (max-width: 560px) {
  body[data-page="contact"] .contact-entry-layout .contact-consultation-examples ul {
    grid-template-columns: 1fr;
  }
}

/* CONTACT: Social PLUS-inspired rich category pane. The support content lives
   inside the category rail itself; the right side is reserved for the form. */
@media (min-width: 981px) {
  body[data-page="contact"] {
    --contact-rich-rail-width: clamp(520px, calc(44 * var(--pp-wide-vw, 1vw)), 700px);
  }

  body[data-page="contact"] .regulated-page {
    grid-template-columns: var(--contact-rich-rail-width) minmax(0, 1fr);
    background: transparent;
  }

  body[data-page="contact"] .regulated-page::before,
  body[data-page="contact"] .regulated-page::after {
    content: "";
  }

  body[data-page="contact"] .page-rail {
    isolation: isolate;
    color: var(--pp-ink);
    border-right: 1px solid rgba(0, 61, 85, .18);
    background: rgba(244, 247, 248, .38) !important;
    background-color: transparent !important;
    backdrop-filter: blur(6px) brightness(1.08) saturate(.72);
    -webkit-backdrop-filter: blur(6px) brightness(1.08) saturate(.72);
  }

  body[data-page="contact"] .page-rail::before,
  body[data-page="contact"] .page-rail::after {
    position: absolute;
    inset: 0;
    content: "";
    pointer-events: none;
  }

  body[data-page="contact"] .page-rail::before {
    z-index: -2;
    background: url("images/gxp-banner-faq.jpg") 42% center / cover no-repeat;
    filter: blur(24px) saturate(.72) contrast(.94) brightness(1.04);
    transform: scale(1.13);
  }

  body[data-page="contact"] .page-rail::after {
    z-index: -1;
    background:
      linear-gradient(90deg, rgba(255, 255, 255, .24), rgba(84, 178, 220, .14)),
      linear-gradient(180deg, rgba(244, 249, 251, .52), rgba(205, 225, 237, .48));
  }

  body[data-page="contact"] .rail-inner {
    position: sticky !important;
    top: var(--pp-header-height) !important;
    display: grid;
    grid-template-columns: 150px minmax(0, 1fr);
    grid-template-rows: 72px auto auto;
    gap: 0 30px;
    height: calc(calc(100 * var(--pp-wide-dvh, 1dvh)) - var(--pp-header-height));
    min-height: 620px;
    padding: 24px 20px !important;
    overflow-y: auto;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  body[data-page="contact"] .rail-mark {
    display: block !important;
    grid-column: 1;
    grid-row: 1;
    align-self: start;
  }

  body[data-page="contact"] .rail-context {
    display: block !important;
    grid-column: 1;
    grid-row: 1;
    align-self: start;
    margin: 42px 0 0 !important;
  }

  body[data-page="contact"] .rail-nav {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-column: 1 / -1;
    grid-row: 3;
    align-self: end;
    margin-top: auto;
    border-top: 1px solid var(--pp-rail-line);
  }

  body[data-page="contact"] .rail-nav a {
    height: auto !important;
    min-height: 49px !important;
    padding: 8px 28px 7px 10px !important;
    color: rgba(0, 44, 61, .72) !important;
    border-bottom-color: rgba(0, 61, 85, .20);
    background-color: transparent !important;
  }

  body[data-page="contact"] .rail-nav a + a {
    border-left: 1px solid var(--pp-rail-line);
  }

  body[data-page="contact"] .rail-nav .rail-en {
    font-size: 10px !important;
    font-weight: 700 !important;
    letter-spacing: .17em !important;
  }

  body[data-page="contact"] .rail-nav .rail-ja {
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.5 !important;
  }

  body[data-page="contact"] .rail-nav a:hover,
  body[data-page="contact"] .rail-nav a:focus-visible,
  body[data-page="contact"] .rail-nav a[aria-current="location"],
  body[data-page="contact"] .rail-nav a.is-active {
    padding-left: 10px !important;
    color: #002c3d !important;
    background-color: rgba(84, 178, 220, .18) !important;
  }

  body[data-page="contact"] .contact-rail-richness {
    grid-column: 1 / -1;
    grid-row: 2;
    align-self: start;
    justify-self: center;
    width: min(390px, calc(100% - 20px));
    min-width: 0;
    margin-top: 0;
  }

  body[data-page="contact"] .contact-rail-heading {
    text-align: center;
  }

  body[data-page="contact"] .contact-rail-heading > span {
  color: #071b2c;
    font-family: var(--pp-font-latin);
    font-size: 10px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: .17em;
  }

  body[data-page="contact"] .contact-rail-heading h2 {
    margin: 0 0 12px;
    color: #0c4565;
    font-size: clamp(30px, calc(2.5 * var(--pp-wide-vw, 1vw)), 40px);
    line-height: 1.25;
    letter-spacing: -.045em;
  }

  body[data-page="contact"] .contact-rail-heading p {
    max-width: 38em;
    margin: 0 auto;
    color: var(--pp-rail-text);
    font-size: 13px;
    line-height: 1.8;
  }

  body[data-page="contact"] .contact-rail-capabilities {
    margin-top: 14px;
    padding: 11px 0 12px;
    border-top: 1px solid var(--pp-rail-line);
    border-bottom: 1px solid var(--pp-rail-line);
  }

  body[data-page="contact"] .contact-rail-capabilities h3,
  body[data-page="contact"] .contact-rail-cases h3 {
    margin: 0 0 8px;
    color: #092b39;
    font-size: 14px;
    text-align: center;
  }

  body[data-page="contact"] .contact-rail-capabilities ul {
    margin: 0;
    padding: 0 0 0 1.4em;
    color: #315b70;
    font-size: 12px;
    line-height: 1.7;
  }

  body[data-page="contact"] .contact-rail-capabilities strong {
    display: block;
    margin-top: 7px;
    color: #0c4565;
    font-size: 12px;
    text-align: center;
  }

  body[data-page="contact"] .contact-rail-cases {
    margin-top: 14px;
    padding: 14px 18px 10px;
    background: rgba(255, 255, 255, .42);
  }

  body[data-page="contact"] .contact-rail-cases ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 16px;
    margin: 0;
    padding: 0;
    list-style: none;
  }

  body[data-page="contact"] .contact-rail-cases li {
    padding: 7px 0 8px;
    border-top: 1px solid var(--pp-rail-line);
  }

  body[data-page="contact"] .contact-rail-cases b,
  body[data-page="contact"] .contact-rail-cases span {
    display: block;
  }

  body[data-page="contact"] .contact-rail-cases b {
    color: #092b39;
    font-size: 12px;
  }

  body[data-page="contact"] .contact-rail-cases span {
    margin-top: 2px;
    color: rgba(9, 43, 57, .72);
    font-size: 11px;
    line-height: 1.65;
  }

  body[data-page="contact"] .contact-rail-recruit {
    display: flex;
    gap: 16px;
    align-items: center;
    justify-content: space-between;
    margin-top: 10px;
    padding: 9px 14px;
    color: #092b39;
    border: 1px solid var(--pp-rail-line);
    background: rgba(255, 255, 255, .30);
    text-decoration: none;
  }

  body[data-page="contact"] .contact-rail-recruit span {
    display: grid;
    gap: 2px;
  }

  body[data-page="contact"] .contact-rail-recruit small {
    color: rgba(9, 43, 57, .66);
    font-family: var(--pp-font-latin);
    font-size: 8px;
    font-weight: 800;
    letter-spacing: .17em;
  }

  body[data-page="contact"] .contact-rail-recruit strong {
    font-size: 10px;
  }

  body[data-page="contact"] .page-stage {
    padding: clamp(28px, calc(4 * var(--pp-wide-vh, 1vh)), 40px) clamp(34px, calc(4 * var(--pp-wide-vw, 1vw)), 58px) 70px;
    background: #eef1f3;
    box-shadow: inset 1px 0 #d3dadd;
  }

  body[data-page="contact"] .contact-form-surface {
    background: #eef1f3;
  }

  body[data-page="contact"] .page-intro {
    display: none;
  }

  body[data-page="contact"] .contact-form-content {
    padding: 0 0 54px;
  }

  body[data-page="contact"] .contact-section-heading {
    display: none;
  }

  body[data-page="contact"] .contact-entry-layout {
    display: block;
    padding-top: 0;
  }
}

@media (min-width: 981px) and (max-height: 800px) {
  body[data-page="contact"] .rail-inner {
    grid-template-rows: 50px auto 47px;
    min-height: 0;
    padding: 12px 20px !important;
  }

  body[data-page="contact"] .rail-context {
    margin-top: 30px !important;
  }

  body[data-page="contact"] .rail-nav a {
    height: auto !important;
    min-height: 45px !important;
    padding-top: 5px !important;
    padding-bottom: 5px !important;
  }
}

@media (max-width: 980px) {
  body[data-page="contact"] .contact-rail-richness {
    display: none;
  }
}

@media (max-width: 820px) {
  body[data-page="contact"] .page-intro,
  body[data-page="contact"] .contact-section-heading,
  body[data-page="contact"] .contact-consultation-guide {
    grid-template-columns: 1fr;
  }

  body[data-page="contact"] .page-intro {
    min-height: 0;
  }

  body[data-page="contact"] .page-intro p,
  body[data-page="contact"] .contact-section-heading p {
    grid-column: 1;
    grid-row: auto;
    margin-top: 26px;
    padding: 24px 0 0;
    border-top: 1px solid #d8dfe2;
    border-left: 0;
  }

  body[data-page="contact"] .contact-consultation-examples {
    padding-top: clamp(28px, calc(5 * var(--pp-wide-vw, 1vw)), 42px);
    border-top: 0;
  }
}

@media (max-width: 560px) {
  body[data-page="contact"] .page-stage {
    padding: 28px 0 56px;
  }

  body[data-page="contact"] .page-intro {
    margin: 0 16px;
    padding: 34px 22px 38px;
  }

  body[data-page="contact"] .page-intro h1 {
    font-size: clamp(36px, calc(12 * var(--pp-wide-vw, 1vw)), 48px);
    white-space: normal;
  }

  body[data-page="contact"] .contact-form-surface {
    margin-top: 18px;
  }

  body[data-page="contact"] .contact-form-content {
    padding: 38px 18px 52px;
  }

  body[data-page="contact"] .contact-section-heading h2 {
    font-size: clamp(28px, calc(8.2 * var(--pp-wide-vw, 1vw)), 36px);
    white-space: normal;
  }

  body[data-page="contact"] .contact-consultation-guide {
    margin-right: -18px;
    margin-left: -18px;
  }

  body[data-page="contact"] .contact-consultation-guide > div:first-child,
  body[data-page="contact"] .contact-consultation-examples {
    padding: 32px 24px;
  }

  body[data-page="contact"] .contact-consultation-examples ul {
    grid-template-columns: 1fr;
  }

  body[data-page="contact"] .contact-recruit-guide {
    padding-right: 4px;
    padding-left: 4px;
  }

  body[data-page="contact"] .contact-progress li {
    min-height: 64px;
    padding: 13px 9px;
    justify-content: center;
    flex-direction: column;
    gap: 5px;
  }

  body[data-page="contact"] .contact-progress span {
    font-size: 11px;
  }

  body[data-page="contact"] .contact-form-group-heading {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  body[data-page="contact"] .contact-form-group-heading > span {
    font-size: 22px;
  }

  body[data-page="contact"] .contact-optional-details summary {
    padding-right: 4px;
    padding-left: 4px;
  }
}

/* Match CONTACT step numerals to the PROCESS numeral system while retaining
   the existing contact-blue color. */
body[data-page="contact"] .contact-entry-panel .contact-form-group-heading {
  grid-template-columns: 64px minmax(0, 1fr);
}

body[data-page="contact"] .contact-entry-panel .contact-form-group-heading > span,
body[data-page="contact"] .contact-entry-panel .contact-optional-details summary b {
  width: auto;
  height: auto;
  color: #2e95c3;
  background: transparent;
  font-family: var(--pp-font-latin);
  font-size: clamp(32px, calc(4 * var(--pp-wide-vw, 1vw)), 56px);
  font-weight: 400;
  line-height: 1;
  letter-spacing: .02em;
}

@media (max-width: 480px) {
  body[data-page="contact"] .contact-entry-panel .contact-form-group-heading > span,
  body[data-page="contact"] .contact-entry-panel .contact-optional-details summary b {
    font-size: clamp(30px, calc(9 * var(--pp-wide-vw, 1vw)), 40px);
  }
}

/* Wide CONTACT layouts have enough room to prioritize reading comfort over
   the compact desktop type scale. */
@media (min-width: 1440px) {
  body[data-page="contact"] .contact-rail-richness {
    width: min(460px, calc(100% - 20px));
  }

  body[data-page="contact"] .contact-rail-heading p {
    font-size: 15px;
    line-height: 1.9;
  }

  body[data-page="contact"] .contact-rail-capabilities h3,
  body[data-page="contact"] .contact-rail-cases h3 {
    font-size: 16px;
  }

  body[data-page="contact"] .contact-rail-capabilities ul,
  body[data-page="contact"] .contact-rail-capabilities strong {
    font-size: 14px;
    line-height: 1.8;
  }

  body[data-page="contact"] .contact-rail-cases b {
    font-size: 14px;
  }

  body[data-page="contact"] .contact-rail-cases span {
    font-size: 13px;
    line-height: 1.75;
  }

  body[data-page="contact"] .contact-entry-panel .contact-progress span,
  body[data-page="contact"] .contact-entry-panel .contact-progress-guidance p {
    font-size: 13px;
  }

  body[data-page="contact"] .contact-entry-panel .contact-privacy-overview h3 {
    font-size: 14px;
  }

  body[data-page="contact"] .contact-entry-panel .contact-privacy-overview p {
    font-size: 12px;
    line-height: 1.75;
  }

  body[data-page="contact"] .contact-entry-panel .contact-field > label,
  body[data-page="contact"] .contact-entry-panel .contact-field > legend,
  body[data-page="contact"] .contact-entry-panel .contact-field > .contact-field-group-label {
    font-size: 14px;
    line-height: 1.65;
  }

  body[data-page="contact"] .contact-entry-panel .contact-field-hint,
  body[data-page="contact"] .contact-entry-panel .contact-name-grid label,
  body[data-page="contact"] .contact-entry-panel .contact-choice-grid label {
    font-size: 13px;
  }

  body[data-page="contact"] .contact-entry-panel .contact-optional-details summary span,
  body[data-page="contact"] .contact-entry-panel .contact-primary-button,
  body[data-page="contact"] .contact-entry-panel .contact-secondary-button {
    font-size: 15px;
  }

  body[data-page="contact"] .contact-entry-panel .contact-privacy-consent {
    font-size: 13px;
    line-height: 1.8;
  }
}

/* Match CONTACT group headings to the PROCESS card heading scale. */
body[data-page="contact"] .contact-entry-panel .contact-form-group-heading h3,
body[data-page="contact"] .contact-entry-panel .contact-optional-details summary .contact-optional-title {
  font-size: clamp(20px, calc(1.65 * var(--pp-wide-vw, 1vw)), 30px);
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: .04em;
}

/* CONTACT form rows: separate field labels from the editable area at a glance. */
body[data-page="contact"] .contact-entry-panel .contact-field {
  border-right: 1px solid #c8d5dc;
  border-bottom-color: #c8d5dc;
  border-left: 1px solid #c8d5dc;
  background: #e7ecef;
}

body[data-page="contact"] .contact-entry-panel .contact-field > label,
body[data-page="contact"] .contact-entry-panel .contact-field > legend,
body[data-page="contact"] .contact-entry-panel .contact-field > .contact-field-group-label {
  background: #cfe9f6;
}

body[data-page="contact"] .contact-entry-panel .contact-field > :is(
  input[type="text"],
  input[type="email"],
  input[type="tel"],
  textarea,
  .contact-name-grid,
  .contact-choice-grid,
  .contact-inquiry-controls
) {
  box-shadow: -1px 0 0 #c8d5dc;
}

body[data-page="contact"] .contact-entry-panel .contact-select-shell select,
body[data-page="contact"] .contact-entry-panel .contact-field :is(input[type="text"], input[type="email"], input[type="tel"], textarea) {
  background: #fff;
}

/* CONTACT: a translucent gray right pane with simple white form sections. */
body[data-page="contact"] #main-content {
  background: rgba(226, 232, 236, .72);
}

body[data-page="contact"] .contact-form-surface,
body[data-page="contact"] .contact-form-content,
body[data-page="contact"] .contact-entry-panel {
  background: transparent;
}

body[data-page="contact"] .contact-entry-panel .contact-form-group,
body[data-page="contact"] .contact-entry-panel .contact-optional-details {
  overflow: hidden;
  border: 1px solid rgba(117, 139, 151, .28);
  background: #fff;
  box-shadow: none;
}

body[data-page="contact"] .contact-entry-panel .contact-form-group-heading {
  padding-right: clamp(18px, calc(2 * var(--pp-wide-vw, 1vw)), 28px);
  padding-left: clamp(18px, calc(2 * var(--pp-wide-vw, 1vw)), 28px);
  border-bottom: 1px solid #dfe6ea;
  background: #fff;
}

body[data-page="contact"] .contact-entry-panel .contact-field {
  border-right: 0;
  border-bottom-color: #e3e9ec;
  border-left: 0;
  background: #fff;
}

body[data-page="contact"] .contact-entry-panel .contact-field > label,
body[data-page="contact"] .contact-entry-panel .contact-field > legend,
body[data-page="contact"] .contact-entry-panel .contact-field > .contact-field-group-label {
  background: #f7f9fa;
}

body[data-page="contact"] .contact-entry-panel .contact-field > :is(
  input[type="text"],
  input[type="email"],
  input[type="tel"],
  textarea,
  .contact-name-grid,
  .contact-choice-grid,
  .contact-inquiry-controls
) {
  box-shadow: none;
}

/* CONTACT: remove the duplicate row label and align all three group headings. */
body[data-page="contact"] .contact-entry-panel .contact-inquiry-field {
  grid-template-columns: minmax(0, 1fr);
}

body[data-page="contact"] .contact-entry-panel .contact-inquiry-field > .contact-inquiry-controls {
  grid-column: 1;
}

body[data-page="contact"] .contact-entry-panel .contact-optional-details summary {
  grid-template-columns: 64px minmax(0, 1fr) auto;
  gap: 10px;
  padding: 12px clamp(18px, calc(2 * var(--pp-wide-vw, 1vw)), 28px);
}

body[data-page="contact"] .contact-entry-panel .contact-optional-details summary > b {
  display: block;
  margin: 0;
}

/* PRIVACY: keep the informational title crisp on the light background. */
body[data-page="privacy"] .page-intro :is(.eyebrow, h1, h1 > span, p) {
  text-shadow: none !important;
  filter: none !important;
}

/* GMP: match the clean medical-device title system without a text shadow. */
body[data-page="service-gmp"] .pp-process-overview {
  display: block;
  width: 100%;
  max-width: 920px;
  min-height: 0;
  margin: 0 auto 32px;
  padding: 0;
  text-align: left;
}

body[data-page="service-gmp"] #pp-process-explore .pp-process-overview > span {
  display: block;
  margin-bottom: 10px;
  color: #3b839f !important;
  font-size: 11px;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: .18em;
}

body[data-page="service-gmp"] #pp-process-explore .pp-process-overview h2 {
  display: block !important;
  width: auto !important;
  margin: 0;
  color: #104f6b !important;
  font-size: var(--pp-page-title-size, clamp(32px, calc(4 * var(--pp-wide-vw, 1vw)), 56px));
  font-weight: var(--pp-page-title-weight, 800);
  line-height: var(--pp-page-title-line-height, 1.05);
  letter-spacing: var(--pp-page-title-letter-spacing, -.07em);
}

body[data-page="service-gmp"] #pp-process-explore .pp-process-overview p {
  margin: 14px 0 0;
  color: #476b7b !important;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.8;
}

body[data-page="service-gmp"] #pp-process-explore .pp-process-overview,
body[data-page="service-gmp"] #pp-process-explore .pp-process-overview > :is(span, h2, p),
body[data-page="service-gmp"] #pp-process-explore .pp-process-overview > :is(span, h2, p) *,
body[data-page="service-gmp"] #pp-process-explore .pp-process-overview > :is(span, h2, p)::before,
body[data-page="service-gmp"] #pp-process-explore .pp-process-overview > :is(span, h2, p)::after {
  text-shadow: none !important;
  filter: none !important;
}

@media (max-width: 640px) {
  body[data-page="service-gmp"] .pp-process-overview p {
    font-size: 14px;
  }
}

/* MEDICINE / brochure-led information architecture */
:is(body[data-page="region01"], body[data-page="region02"], body[data-page="region03"]) .page-intro {
  width: 100%;
  max-width: none;
}

:is(body[data-page="region01"], body[data-page="region02"], body[data-page="region03"]) .page-intro .eyebrow {
  color: #fff;
  font-size: var(--pp-page-label-size);
  font-weight: var(--pp-page-label-weight);
  line-height: var(--pp-page-label-line-height);
  letter-spacing: var(--pp-page-label-letter-spacing);
  text-shadow: var(--pp-image-copy-shadow) !important;
}

:is(body[data-page="region01"], body[data-page="region02"], body[data-page="region03"]) .page-intro h1 {
  max-width: 30ch;
  color: #fff;
  font-size: var(--pp-page-title-size);
  font-weight: var(--pp-page-title-weight);
  line-height: var(--pp-page-title-line-height);
  letter-spacing: var(--pp-page-title-letter-spacing);
  text-shadow: var(--pp-image-heading-shadow) !important;
}

:is(body[data-page="region01"], body[data-page="region02"], body[data-page="region03"]) .page-intro h1 span {
  padding-bottom: 0;
  border-bottom: 0;
}

:is(body[data-page="region01"], body[data-page="region02"], body[data-page="region03"]) .page-intro p {
  max-width: 760px;
  color: #fff;
  font-size: clamp(14px, calc(1.25 * var(--pp-wide-vw, 1vw)), 17px);
  font-weight: 700;
  line-height: 1.8;
  text-shadow: var(--pp-image-copy-shadow) !important;
}

@media (min-width: 981px) {
  body[data-page="region03"] .page-intro p {
    width: max-content;
    max-width: 100%;
    white-space: nowrap;
  }
}

.medicine-brochure {
  color: var(--pp-ink);
  background: transparent;
  border-top: 0;
  box-shadow: none;
}

.medicine-brochure-process,
.medicine-brochure-issues {
  padding: clamp(34px, calc(5 * var(--pp-wide-vw, 1vw)), 68px);
}

/* Region 01 issue menu: compact question list with one persistent answer panel. */
.medicine-issue-organization {
  display: grid;
  grid-template-columns: minmax(300px, .72fr) minmax(0, 1.48fr);
  grid-template-rows: repeat(5, minmax(0, 1fr));
  gap: 10px clamp(30px, calc(3 * var(--pp-wide-vw, 1vw)), 44px);
  align-items: stretch;
}

.medicine-issue-organization .medicine-issue-reveal,
.medicine-issue-organization .medicine-issue-reveal:nth-child(n + 4),
.medicine-issue-organization .medicine-issue-reveal.is-open {
  display: contents;
}

.medicine-issue-organization .medicine-issue-reveal__problem {
  display: grid;
  grid-column: 1;
  grid-template-areas: "tag label answer" "question question answer";
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 5px 10px;
  min-height: 94px;
  padding: 13px 14px 13px 17px;
  border: 1px solid rgba(1, 54, 65, .54);
  border-radius: 16px;
  color: var(--pp-ink, #013641);
  background: rgba(244, 250, 253, .94);
  background-image: none;
  box-shadow: none;
  font: inherit;
  text-align: left;
  cursor: pointer;
  transition: border-color 180ms ease, background-color 180ms ease, box-shadow 180ms ease;
}

.medicine-issue-organization .medicine-issue-reveal:nth-child(1) .medicine-issue-reveal__problem { grid-row: 1; }
.medicine-issue-organization .medicine-issue-reveal:nth-child(2) .medicine-issue-reveal__problem { grid-row: 2; }
.medicine-issue-organization .medicine-issue-reveal:nth-child(3) .medicine-issue-reveal__problem { grid-row: 3; }
.medicine-issue-organization .medicine-issue-reveal:nth-child(4) .medicine-issue-reveal__problem { grid-row: 4; }
.medicine-issue-organization .medicine-issue-reveal:nth-child(5) .medicine-issue-reveal__problem { grid-row: 5; }

.medicine-issue-organization .medicine-issue-reveal__problem::before {
  display: none;
}

.medicine-issue-organization .medicine-issue-reveal.is-open .medicine-issue-reveal__problem,
.medicine-issue-organization .medicine-issue-reveal__problem:hover {
  border-color: var(--pp-primary-strong, #2f8eb6);
  background: #e9f5fb;
  box-shadow: 0 8px 22px rgba(32, 104, 136, .12);
  transform: none;
}

.medicine-issue-organization .medicine-issue-reveal__problem:focus-visible {
  border-color: var(--pp-primary-strong, #2f8eb6);
  outline: 2px solid var(--pp-primary-strong, #2f8eb6);
  outline-offset: 3px;
  box-shadow: none;
  transform: none;
}

.medicine-issue-organization .medicine-issue-reveal__problem small {
  grid-area: tag;
  width: fit-content;
  margin: 0;
  padding: 3px 6px;
  border: 1px solid var(--issue-reveal-accent);
  color: var(--pp-primary-strong, #2f8eb6);
  background: #fff;
  font-size: 9px;
  letter-spacing: .13em;
}

.medicine-issue-organization .medicine-issue-reveal__problem-label {
  grid-area: label;
  margin: 0;
  color: var(--pp-ink, #013641);
  font-size: 13px;
  font-weight: 800;
  line-height: 1.3;
}

.medicine-issue-organization .medicine-issue-reveal__problem strong {
  grid-area: question;
  max-width: none;
  color: #27404d;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.55;
  letter-spacing: 0;
}

.medicine-issue-reveal__answer {
  grid-area: answer;
  display: grid;
  align-self: stretch;
  align-content: center;
  justify-items: center;
  gap: 6px;
  min-width: 68px;
  padding-left: 13px;
  border-left: 1px solid rgba(1, 54, 65, .18);
  color: var(--pp-primary-strong, #2f8eb6);
  font-family: var(--pp-font-latin, "Segoe UI", sans-serif);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .12em;
}

.medicine-issue-reveal__answer i {
  font-size: 18px;
  transition: transform 180ms cubic-bezier(.2, .8, .2, 1);
}

.medicine-issue-reveal.is-open .medicine-issue-reveal__answer i,
.medicine-issue-reveal__problem:hover .medicine-issue-reveal__answer i,
.medicine-issue-reveal__problem:focus-visible .medicine-issue-reveal__answer i {
  transform: translateX(4px);
}

.medicine-issue-organization .medicine-issue-reveal__connector {
  display: none;
}

.medicine-issue-organization .medicine-issue-reveal__detail,
.medicine-issue-organization .medicine-issue-reveal__detail[hidden] {
  grid-column: 2;
  grid-row: 1 / 6;
  grid-template-areas: "solution results" "services services";
  grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
  grid-template-rows: minmax(0, 1fr) auto;
  align-content: start;
  align-self: stretch;
  min-height: 0;
  overflow: hidden;
  border: 1px solid rgba(1, 54, 65, .26);
  color: var(--pp-ink, #013641);
  background: #fff;
  box-shadow: 0 14px 34px rgba(32, 104, 136, .1);
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 38px), calc(100% - 56px) 100%, 0 100%);
}

.medicine-issue-organization .medicine-issue-reveal__detail[hidden] {
  display: none;
}

.medicine-issue-organization .medicine-issue-reveal__detail:not([hidden]) {
  display: grid;
}

.medicine-issue-organization .medicine-issue-reveal__detail > section {
  min-width: 0;
  margin: 0;
  padding: clamp(20px, calc(2 * var(--pp-wide-vw, 1vw)), 27px);
  color: var(--pp-ink, #013641);
  background: #fff;
}

.medicine-issue-organization .medicine-issue-reveal__detail > section:nth-child(1) {
  grid-area: solution;
  border-right: 1px solid rgba(1, 54, 65, .14);
  background: #edf3f5;
}

.medicine-issue-organization .medicine-issue-reveal__detail > section:nth-child(2) {
  grid-area: results;
  border-bottom: 0;
}

.medicine-issue-organization .medicine-issue-reveal__detail > section:nth-child(3) {
  grid-area: services;
  align-self: auto;
  width: auto;
  margin: 0;
  padding: 18px clamp(20px, calc(2 * var(--pp-wide-vw, 1vw)), 27px) 24px;
  border: 0;
  border-top: 1px solid rgba(1, 54, 65, .14);
  border-radius: 0;
  background: #e7f0f4;
}

.medicine-issue-organization .medicine-issue-reveal__detail h4 {
  margin: 0 0 14px;
  padding: 5px 9px;
  font-size: 13px;
}

.medicine-issue-organization .medicine-issue-reveal__detail ul {
  gap: 6px;
  font-size: 12px;
  line-height: 1.65;
}

.medicine-issue-organization .medicine-issue-reveal__results {
  grid-template-columns: minmax(0, 1fr);
  gap: 9px;
}

.medicine-issue-organization .medicine-issue-reveal__results > a,
.medicine-issue-organization .medicine-issue-reveal__results > a:first-child {
  display: grid;
  gap: 5px;
  min-width: 0;
  padding: 11px 12px;
  border: 1px solid rgba(78, 171, 216, .32);
  color: var(--pp-ink, #013641);
  background: #f9fcfe;
  text-decoration: none;
}

.medicine-issue-organization .medicine-issue-reveal__results > a .medicine-issue-reveal__result-meta {
  color: var(--pp-muted, #64727c);
  font-size: 10px;
}

.medicine-issue-organization .medicine-issue-reveal__result-title {
  display: flex;
  align-items: flex-start;
  gap: 7px;
  color: var(--pp-deep, #004a99);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0;
}

.medicine-issue-organization .medicine-issue-reveal__result-title strong {
  color: inherit;
  font-size: inherit;
  line-height: 1.55;
  text-decoration: underline;
  text-decoration-color: rgba(78, 171, 216, .78);
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
}

.medicine-issue-organization .medicine-issue-reveal__result-title i {
  flex: 0 0 auto;
  margin-top: 3px;
  color: var(--pp-primary-strong, #2f8eb6);
  font-size: 13px;
  line-height: 1;
  transition: transform 180ms cubic-bezier(.2, .8, .2, 1);
}

.medicine-issue-organization .medicine-issue-reveal__results > a:hover .medicine-issue-reveal__result-title i,
.medicine-issue-organization .medicine-issue-reveal__results > a:focus-visible .medicine-issue-reveal__result-title i {
  transform: translate(2px, -2px);
}

.medicine-issue-organization .medicine-issue-reveal__results > a:hover .medicine-issue-reveal__result-title,
.medicine-issue-organization .medicine-issue-reveal__results > a:focus-visible .medicine-issue-reveal__result-title {
  color: var(--pp-primary-strong, #2f8eb6);
}

.medicine-issue-organization .medicine-issue-reveal__services {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.medicine-issue-organization .medicine-issue-reveal__services span {
  padding: 7px 10px;
  font-size: 11px;
}

@media (max-width: 980px) {
  .medicine-issue-organization {
    grid-template-columns: minmax(250px, .72fr) minmax(0, 1.28fr);
    column-gap: 24px;
  }

  .medicine-issue-organization .medicine-issue-reveal__problem {
    min-height: 100px;
  }

  .medicine-issue-organization .medicine-issue-reveal__detail,
  .medicine-issue-organization .medicine-issue-reveal__detail:not([hidden]) {
    grid-template-areas: "solution" "results" "services";
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto;
  }

  .medicine-issue-organization .medicine-issue-reveal__detail > section:nth-child(1) {
    border-right: 0;
    border-bottom: 1px solid rgba(1, 54, 65, .14);
  }
}

@media (max-width: 720px) {
  .medicine-issue-organization {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: none;
    gap: 10px;
  }

  .medicine-issue-organization .medicine-issue-reveal,
  .medicine-issue-organization .medicine-issue-reveal:nth-child(n + 4),
  .medicine-issue-organization .medicine-issue-reveal.is-open {
    display: grid;
    grid-column: 1;
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
  }

  .medicine-issue-organization .medicine-issue-reveal__problem,
  .medicine-issue-organization .medicine-issue-reveal:nth-child(n) .medicine-issue-reveal__problem {
    grid-row: auto;
    min-height: 92px;
    padding: 12px 13px 12px 15px;
    border-radius: 14px;
  }

  .medicine-issue-organization .medicine-issue-reveal__detail,
  .medicine-issue-organization .medicine-issue-reveal__detail:not([hidden]) {
    grid-column: 1;
    grid-row: auto;
    grid-template-areas: "solution" "results" "services";
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto;
    clip-path: none;
  }

  .medicine-issue-organization .medicine-issue-reveal__detail[hidden] {
    display: none;
  }
}

/* Region 01 issue menu: three-column index, selected issue left, answer bubble right. */
.medicine-issue-dialog {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: start;
  gap: clamp(16px, calc(1.8 * var(--pp-wide-vw, 1vw)), 24px);
}

.medicine-issue-dialog .medicine-issue-reveal,
.medicine-issue-dialog .medicine-issue-reveal:nth-child(n + 4) {
  grid-column: span 1;
  min-width: 0;
}

.medicine-issue-dialog .medicine-issue-reveal__connector {
  display: none;
}

.medicine-issue-dialog .medicine-issue-reveal.is-open {
  order: -1;
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: minmax(260px, .7fr) 34px minmax(0, 1.3fr);
  align-items: center;
  min-width: 0;
}

.medicine-issue-dialog .medicine-issue-reveal.is-open .medicine-issue-reveal__problem {
  grid-column: 1;
  grid-row: 1;
  min-height: 320px;
}

.medicine-issue-dialog .medicine-issue-reveal.is-open .medicine-issue-reveal__connector {
  display: block;
  grid-column: 2;
  grid-row: 1;
  width: 34px;
  height: 1px;
  margin: 0;
  background: rgba(255, 255, 255, .72);
  clip-path: none;
}

.medicine-issue-dialog .medicine-issue-reveal__detail {
  position: relative;
  grid-column: 3;
  grid-row: 1;
  grid-template-areas:
    "solution results"
    "services services";
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  grid-template-rows: auto auto;
  gap: 0;
  overflow: visible;
  border: 1px solid rgba(1, 54, 65, .24);
  color: var(--pp-ink, #013641);
  background: #fff;
  box-shadow: 0 18px 42px rgba(0, 44, 61, .16);
  clip-path: none;
}

.medicine-issue-dialog .medicine-issue-reveal__detail::before {
  position: absolute;
  top: 52px;
  left: -18px;
  width: 18px;
  height: 30px;
  content: "";
  background: #fff;
  clip-path: polygon(100% 0, 100% 100%, 0 50%);
}

.medicine-issue-dialog .medicine-issue-reveal__detail[hidden] {
  display: none;
}

.medicine-issue-dialog .medicine-issue-reveal__detail > section {
  min-width: 0;
  padding: clamp(20px, calc(2 * var(--pp-wide-vw, 1vw)), 28px);
  color: var(--pp-ink, #013641);
  background: #fff;
}

.medicine-issue-dialog .medicine-issue-reveal__detail > section:nth-child(1) {
  grid-area: solution;
  border-right: 1px solid rgba(1, 54, 65, .14);
  background: #edf3f5;
}

.medicine-issue-dialog .medicine-issue-reveal__detail > section:nth-child(2) {
  grid-area: results;
}

.medicine-issue-dialog .medicine-issue-reveal__detail > section:nth-child(3) {
  grid-area: services;
  border-top: 1px solid rgba(1, 54, 65, .14);
  background: #f5f9fb;
}

.medicine-issue-dialog .medicine-issue-reveal__detail h4 {
  display: inline-block;
  margin: 0 0 15px;
  padding: 5px 9px;
  border: 1px solid rgba(1, 54, 65, .64);
  color: var(--pp-ink, #013641);
  background: #fff;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .05em;
}

.medicine-issue-dialog .medicine-issue-reveal__detail ul {
  gap: 7px;
  padding-left: 1.2em;
  color: #27404d;
  font-size: 12px;
  line-height: 1.7;
  list-style: disc;
}

.medicine-issue-dialog .medicine-issue-reveal__detail li {
  padding-left: 0;
}

.medicine-issue-dialog .medicine-issue-reveal__detail li::before {
  display: none;
}

.medicine-issue-dialog .medicine-issue-reveal__results {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 9px;
}

.medicine-issue-dialog .medicine-issue-reveal__results > a,
.medicine-issue-dialog .medicine-issue-reveal__results > a:first-child {
  gap: 5px;
  padding: 11px 12px;
  border: 1px solid rgba(78, 171, 216, .32);
  color: var(--pp-ink, #013641);
  background: #f9fcfe;
}

.medicine-issue-dialog .medicine-issue-reveal__results > a span {
  color: var(--pp-muted, #64727c);
}

.medicine-issue-dialog .medicine-issue-reveal__result-title strong {
  color: var(--pp-deep, #004a99);
  font-size: 13px;
  line-height: 1.55;
}

.medicine-issue-dialog .medicine-issue-reveal__services span {
  border-color: rgba(47, 142, 182, .36);
  color: var(--pp-ink, #013641);
  background: #fff;
}

@media (max-width: 980px) {
  .medicine-issue-dialog {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .medicine-issue-dialog .medicine-issue-reveal.is-open {
    grid-template-columns: minmax(235px, .72fr) 24px minmax(0, 1.28fr);
  }

  .medicine-issue-dialog .medicine-issue-reveal.is-open .medicine-issue-reveal__connector {
    width: 24px;
  }

  .medicine-issue-dialog .medicine-issue-reveal__detail {
    grid-template-areas: "solution" "results" "services";
    grid-template-columns: minmax(0, 1fr);
  }

  .medicine-issue-dialog .medicine-issue-reveal__detail > section:nth-child(1) {
    border-right: 0;
    border-bottom: 1px solid rgba(1, 54, 65, .14);
  }
}

@media (max-width: 620px) {
  .medicine-issue-dialog {
    grid-template-columns: minmax(0, 1fr);
  }

  .medicine-issue-dialog .medicine-issue-reveal.is-open {
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
  }

  .medicine-issue-dialog .medicine-issue-reveal.is-open .medicine-issue-reveal__problem {
    grid-column: 1;
    grid-row: 1;
    min-height: 270px;
  }

  .medicine-issue-dialog .medicine-issue-reveal.is-open .medicine-issue-reveal__connector {
    display: none;
  }

  .medicine-issue-dialog .medicine-issue-reveal__detail {
    grid-column: 1;
    grid-row: 2;
  }

  .medicine-issue-dialog .medicine-issue-reveal__detail::before {
    display: none;
  }
}

/* CMC support: source-backed field map adapted from the supplied management-field reference. */
body[data-page="service-cmc"] #pp-process-explore .pp-process-overview {
  margin-bottom: clamp(24px, calc(3 * var(--pp-wide-vw, 1vw)), 42px);
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field {
  margin: 0 0 clamp(38px, calc(5 * var(--pp-wide-vw, 1vw)), 72px);
  padding: clamp(24px, calc(3.5 * var(--pp-wide-vw, 1vw)), 48px);
  border: 1px solid transparent;
  background: transparent;
  color: var(--pp-ink);
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__heading {
  width: min(100%, 1050px);
  margin: 0 auto clamp(24px, calc(3 * var(--pp-wide-vw, 1vw)), 38px);
  text-align: left;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field > .pp-cmc-field__heading:not(.pp-cmc-field__cases-heading) {
  padding: clamp(24px, calc(3 * var(--pp-wide-vw, 1vw)), 40px);
  border: 0;
  background: transparent;
  box-shadow: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__heading > span {
  display: block;
  margin-bottom: var(--pp-page-label-gap, 16px);
  color: var(--pp-primary-strong);
  font-family: var(--pp-font-latin);
  font-size: var(--pp-page-label-size, 11px);
  font-weight: var(--pp-page-label-weight, 800);
  line-height: var(--pp-page-label-line-height, 1.2);
  letter-spacing: var(--pp-page-label-letter-spacing, .2em);
  text-shadow: 0 1px 3px rgba(255, 255, 255, .98), 0 0 12px rgba(255, 255, 255, .88) !important;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__heading h3 {
  display: inline-block;
  width: fit-content;
  margin: var(--pp-page-label-gap, 16px) 0 12px;
  padding: 0;
  border: 0;
  color: var(--pp-ink);
  font-family: var(--pp-font-display);
  font-size: clamp(28px, calc(3.2 * var(--pp-wide-vw, 1vw)), 44px);
  font-weight: var(--pp-page-title-weight, 800);
  line-height: var(--pp-page-title-line-height, 1.05);
  letter-spacing: var(--pp-page-title-letter-spacing, -.07em);
  text-shadow: 0 2px 4px rgba(255, 255, 255, .98), 0 0 18px rgba(255, 255, 255, .92) !important;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__cases-heading {
  margin: clamp(50px, calc(6 * var(--pp-wide-vw, 1vw)), 82px) 0 0;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__canvas {
  display: grid;
  grid-template-columns: minmax(190px, 24%) minmax(0, 1fr);
  min-height: 410px;
  background: transparent;
  box-shadow: none;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__rail {
  position: relative;
  z-index: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: 100%;
  padding: clamp(24px, calc(3 * var(--pp-wide-vw, 1vw)), 38px);
  overflow: hidden;
  background-image: url("images/services/top_service_bg05.jpg");
  background-position: center;
  background-size: cover;
  color: #fff;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__rail::before {
  position: absolute;
  z-index: -1;
  inset: 0;
  background: rgba(0, 54, 65, .84);
  content: "";
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__rail span {
  margin-bottom: auto;
  font-family: var(--pp-font-latin);
  font-size: clamp(40px, calc(5 * var(--pp-wide-vw, 1vw)), 72px);
  font-weight: 700;
  line-height: 1;
  letter-spacing: -.06em;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__rail strong {
  display: block;
  margin-bottom: 12px;
  font-size: clamp(19px, calc(2.1 * var(--pp-wide-vw, 1vw)), 28px);
  line-height: 1.45;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__rail p {
  margin: 0;
  color: rgba(255, 255, 255, .82);
  font-size: 13px;
  line-height: 1.8;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__body {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: clamp(24px, calc(3 * var(--pp-wide-vw, 1vw)), 42px);
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__lifecycle {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0;
  margin: 0 0 clamp(26px, calc(3 * var(--pp-wide-vw, 1vw)), 38px);
  padding: 0;
  list-style: none;
  background: rgba(255, 255, 255, .62);
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__lifecycle li {
  position: relative;
  min-width: 0;
  padding: 13px 8px;
  border-right: 1px dotted rgba(1, 54, 65, .35);
  background: transparent;
  color: rgba(1, 54, 65, .68);
  font-size: clamp(13px, calc(1.2 * var(--pp-wide-vw, 1vw)), 17px);
  font-weight: 700;
  line-height: 1.35;
  text-align: center;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__lifecycle li:last-child {
  border-right: 0;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__lifecycle li.is-focus {
  background: var(--pp-deep);
  color: #fff;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__lifecycle small {
  display: block;
  margin-top: 4px;
  font-family: var(--pp-font-latin);
  font-size: 8px;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: .02em;
  opacity: .75;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__areas {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(14px, calc(2 * var(--pp-wide-vw, 1vw)), 24px);
  flex: 1;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__areas article {
  display: flex;
  flex-direction: column;
  padding: clamp(18px, calc(2.2 * var(--pp-wide-vw, 1vw)), 28px);
  border: 1px solid var(--pp-border);
  background: var(--pp-surface-soft);
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__areas i {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  margin-bottom: 20px;
  border: 1px solid var(--pp-primary-strong);
  color: var(--pp-primary-strong);
  font-size: 25px;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__areas h4 {
  margin: 0 0 14px;
  font-size: clamp(16px, calc(1.45 * var(--pp-wide-vw, 1vw)), 21px);
  font-weight: 700;
  line-height: 1.55;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__areas p {
  margin: 0;
  color: var(--pp-text);
  font-size: 13px;
  line-height: 1.9;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  width: min(100%, 420px);
  min-height: 48px;
  margin: 22px 0 0 auto;
  padding: 10px 0 8px;
  border-bottom: 1px solid var(--pp-primary-strong);
  color: var(--pp-ink);
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__link i {
  flex: 0 0 auto;
  color: var(--pp-primary-strong);
  font-size: 18px;
  transition: transform 180ms ease;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__link:hover i,
body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__link:focus-visible i {
  transform: translateY(4px);
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__link:focus-visible {
  outline: 2px solid var(--pp-primary-strong);
  outline-offset: 4px;
}

@media (max-width: 900px) {
  body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__canvas {
    grid-template-columns: 1fr;
  }

  body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__rail {
    min-height: 210px;
  }
}

@media (max-width: 680px) {
  body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field {
    padding: 20px 14px 24px;
  }

  body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__body {
    padding: 18px 14px 22px;
  }

  body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__lifecycle,
  body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__areas {
    grid-template-columns: 1fr;
  }

  body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__lifecycle li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    text-align: left;
  }

  body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__lifecycle small {
    display: inline;
    margin: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__link i {
    transition: none;
  }
}

/* CMC field illustration refinement: wide editorial stage with source-backed HTML labels. */
body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__canvas {
  grid-template-columns: minmax(0, 1fr);
  min-height: 0;
  overflow: hidden;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__rail {
  justify-content: flex-start;
  min-height: 0;
  background: #d9f2fa;
  background-image: none;
  color: var(--pp-ink);
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__rail::before {
  display: none;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__rail span {
  margin-bottom: clamp(34px, calc(5 * var(--pp-wide-vw, 1vw)), 74px);
  color: var(--pp-primary-strong);
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__rail strong {
  padding: 14px 0;
  border-top: 1px solid rgba(1, 54, 65, .28);
  border-bottom: 1px solid rgba(1, 54, 65, .28);
  font-size: clamp(18px, calc(1.75 * var(--pp-wide-vw, 1vw)), 25px);
  line-height: 1.7;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__rail p {
  margin-top: auto;
  color: var(--pp-ink);
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__diagram {
  min-width: 0;
  padding: clamp(24px, calc(3 * var(--pp-wide-vw, 1vw)), 42px) clamp(20px, calc(3 * var(--pp-wide-vw, 1vw)), 42px) clamp(20px, calc(2.5 * var(--pp-wide-vw, 1vw)), 34px);
  background: transparent;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__topic-row {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 0 2% -22px;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__topic-row span {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 8px 12px;
  border: 1px solid var(--pp-border);
  background: rgba(255, 255, 255, .94);
  color: var(--pp-ink);
  font-size: clamp(12px, calc(1 * var(--pp-wide-vw, 1vw)), 15px);
  font-weight: 700;
  line-height: 1.45;
  text-align: center;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__stage {
  position: relative;
  aspect-ratio: 2 / 1;
  margin: 0;
  overflow: hidden;
  background: transparent;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__filters {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
  pointer-events: none;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__stage > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__stage > .pp-cmc-field__illustration {
  position: relative;
  z-index: 1;
  clip-path: polygon(7.45% 13.75%, 94.75% 13.75%, 94.75% 63.81%, 100% 85.01%, 0 85.01%, 7.45% 63.81%);
  filter: none;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__callouts {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0;
  margin-top: 0;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__callouts > span {
  align-self: stretch;
  justify-self: stretch;
  max-width: none;
  min-width: 0;
  padding: 12px 10px;
  border: 1px solid rgba(1, 54, 65, .45);
  border-top: 0;
  background: rgba(255, 255, 255, .94);
  color: var(--pp-ink);
  font-size: clamp(10px, calc(.85 * var(--pp-wide-vw, 1vw)), 13px);
  font-weight: 700;
  line-height: 1.55;
  text-align: center;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__callouts > span:nth-child(1) {
  grid-column: 2;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__callouts > span:nth-child(2) {
  grid-column: 3;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__callouts > span:nth-child(3) {
  grid-column: 4;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__callout--detailed {
  justify-self: stretch;
  max-width: none;
  text-align: left;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__callout--detailed ul {
  display: grid;
  gap: 2px;
  margin: 0;
  padding: 0 0 0 1.15em;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__callout--detailed li {
  margin: 0;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__callout--detailed li > a {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: inherit;
  line-height: 1.45;
  text-decoration: none;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__callout--detailed li > a > span {
  padding-bottom: 1px;
  background-image: linear-gradient(currentColor, currentColor);
  background-position: 0 100%;
  background-repeat: no-repeat;
  background-size: 100% 1px;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__callout--detailed li > a:is(:hover, :focus-visible) > span {
  animation: pp-cmc-service-line-redraw 440ms ease both;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__callout--detailed li > a i {
  color: var(--pp-primary-strong);
  font-size: 12px;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__callout--ctd {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__term-trigger {
  position: relative;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  min-height: 28px;
  margin-top: 7px;
  padding: 4px 8px 3px;
  border-bottom: 1px solid currentColor;
  color: var(--pp-primary-strong);
  font-size: 11px;
  font-weight: 700;
  line-height: 1.35;
  text-decoration: none;
  pointer-events: auto;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__term-trigger:hover,
body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__term-trigger:focus-visible {
  color: var(--pp-deep);
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__term-trigger:focus-visible {
  outline: 2px solid var(--pp-primary-strong);
  outline-offset: 3px;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__term-trigger--heading {
  margin-top: 14px;
  color: #fff;
  font-size: 13px;
  text-shadow: 0 2px 4px rgba(0, 26, 43, .84), 0 0 14px rgba(0, 26, 43, .38) !important;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__diagram .pp-cmc-field__lifecycle {
  margin-bottom: 0;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-glossary {
  margin-top: clamp(24px, calc(3 * var(--pp-wide-vw, 1vw)), 36px);
  padding-top: clamp(22px, calc(3 * var(--pp-wide-vw, 1vw)), 32px);
  border-top: 1px solid var(--pp-border);
  scroll-margin-top: calc(var(--pp-header-height, 72px) + 24px);
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-glossary__heading {
  margin-bottom: 18px;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-glossary__heading > span {
  display: block;
  margin-bottom: 7px;
  color: var(--pp-primary-strong);
  font-family: var(--pp-font-latin, "Segoe UI", sans-serif);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .17em;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-glossary__heading h4 {
  margin: 0;
  color: var(--pp-ink);
  font-size: clamp(18px, calc(2 * var(--pp-wide-vw, 1vw)), 24px);
  line-height: 1.45;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-glossary__items {
  display: grid;
  gap: 12px;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-glossary details {
  border: 1px solid var(--pp-border);
  border-top: 4px solid var(--pp-primary);
  background: var(--pp-surface, #fff);
  scroll-margin-top: calc(var(--pp-header-height, 72px) + 24px);
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-glossary summary {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  min-height: 58px;
  padding: 10px 18px;
  color: var(--pp-ink);
  cursor: pointer;
  list-style: none;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-glossary summary::-webkit-details-marker {
  display: none;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-glossary summary > span {
  color: var(--pp-primary-strong);
  font-family: var(--pp-font-latin, "Segoe UI", sans-serif);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .12em;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-glossary summary strong {
  font-size: 16px;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-glossary summary > i {
  color: var(--pp-primary-strong);
  font-size: 18px;
  transition: transform .18s ease;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-glossary details[open] summary > i {
  transform: rotate(180deg);
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-glossary summary:focus-visible {
  outline: 2px solid var(--pp-primary-strong);
  outline-offset: -4px;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-glossary__body {
  padding: 0 clamp(18px, calc(3 * var(--pp-wide-vw, 1vw)), 28px) clamp(20px, calc(3 * var(--pp-wide-vw, 1vw)), 28px);
  border-top: 1px solid var(--pp-border);
  color: var(--pp-text);
  font-size: clamp(13px, calc(1.1 * var(--pp-wide-vw, 1vw)), 15px);
  line-height: 1.9;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-glossary__body p {
  margin: 18px 0 0;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-glossary__body ul {
  display: grid;
  gap: 8px;
  margin: 14px 0 0;
  padding-left: 1.35em;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-glossary__body li {
  margin: 0;
}

@media (prefers-reduced-motion: reduce) {
  body[data-page="service-cmc"] #pp-process-explore .pp-cmc-glossary summary > i {
    transition: none;
  }
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__diagram .pp-cmc-field__lifecycle {
  margin: 20px 0 0;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-inline-term-panel {
  margin-top: clamp(16px, calc(2 * var(--pp-wide-vw, 1vw)), 24px);
  scroll-margin-top: calc(var(--pp-header-height, 72px) + 12px);
  overflow: hidden;
  border: 1px solid rgba(0, 61, 85, .16);
  background: rgba(224, 240, 247, .42);
  -webkit-backdrop-filter: blur(10px) saturate(.9);
  backdrop-filter: blur(10px) saturate(.9);
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-inline-term-panel.pp-cmc-inline-term-panel--heading {
  width: min(680px, 100%);
  margin: 14px auto 0;
  text-align: left;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-inline-term-panel.pp-cmc-inline-term-panel--heading {
  overflow: visible;
  border: 0;
  background: transparent;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-inline-term-panel.pp-cmc-inline-term-panel--heading > summary {
  width: max-content;
  min-height: 28px;
  margin: 0 auto;
  justify-content: center;
  gap: 5px;
  padding: 4px 8px 3px;
  border-bottom: 1px solid currentColor;
  background: transparent;
  color: #fff;
  text-shadow: 0 2px 4px rgba(0, 26, 43, .84), 0 0 14px rgba(0, 26, 43, .38);
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-inline-term-panel.pp-cmc-inline-term-panel--heading > summary span {
  color: inherit;
  font-family: inherit;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.35;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-inline-term-panel.pp-cmc-inline-term-panel--heading > summary i {
  color: inherit;
  font-size: 13px;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-inline-term-panel.pp-cmc-inline-term-panel--heading[open] > summary {
  border-bottom-color: currentColor;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-inline-term-panel.pp-cmc-inline-term-panel--heading > div {
  margin-top: 12px;
  border: 1px solid rgba(0, 61, 85, .16);
  background: rgba(224, 240, 247, .88);
  text-shadow: none;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-inline-term-panel.pp-cmc-inline-term-panel--heading > .pp-cmc-inline-term-panel__toggle {
  display: flex;
  width: max-content;
  min-height: 28px;
  margin: 0 auto;
  align-items: center;
  justify-content: center;
  gap: 5px;
  padding: 4px 8px 3px;
  border: 0;
  border-bottom: 1px solid currentColor;
  background: transparent;
  color: #fff;
  font-family: inherit;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.35;
  text-shadow: 0 2px 4px rgba(0, 26, 43, .84), 0 0 14px rgba(0, 26, 43, .38);
  cursor: pointer;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-inline-term-panel__toggle i {
  color: inherit;
  font-size: 13px;
  transition: transform .18s ease;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-inline-term-panel__toggle[aria-expanded="true"] .pp-cmc-inline-term-panel__caret {
  transform: rotate(180deg);
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-inline-term-panel__toggle[aria-expanded="true"] + div {
  animation: engineering-panel-drop 260ms cubic-bezier(.2, .8, .2, 1) both;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-inline-term-panel__toggle:focus-visible {
  outline: 2px solid var(--pp-primary-strong);
  outline-offset: 3px;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-term-tabs {
  width: min(760px, 100%);
  margin: 24px auto 0;
  text-align: left;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-term-tabs__intro {
  width: min(780px, 100%);
  margin: 0;
  color: var(--pp-text);
  font-size: var(--pp-page-lead-size, clamp(14px, calc(1.25 * var(--pp-wide-vw, 1vw)), 17px));
  font-weight: var(--pp-page-lead-weight, 700);
  line-height: var(--pp-page-lead-line-height, 1.8);
  letter-spacing: var(--pp-page-lead-letter-spacing, 0);
  text-align: left;
  text-shadow: 0 1px 3px rgba(255, 255, 255, .98), 0 0 12px rgba(255, 255, 255, .82) !important;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-term-tabs__list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  margin: 0;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-term-tabs__list button {
  display: grid;
  align-items: center;
  min-width: 0;
  min-height: 64px;
  padding: 9px 13px 7px;
  border: 0;
  border-left: 1px solid rgba(255, 255, 255, .42);
  border-bottom: 4px solid #2f5d78;
  border-radius: 0;
  background: transparent;
  color: #071b2c;
  font: 800 clamp(12px, calc(1 * var(--pp-wide-vw, 1vw)), 14px)/1.3 var(--pp-font-display);
  text-align: left;
  cursor: pointer;
  transition: color 180ms ease-out, background-color 180ms ease-out, border-color 180ms ease-out;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-term-tabs__list button:first-child {
  border-left: 0;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-term-tabs__list button:not(.is-active) {
  border-bottom-color: #2f5d78 !important;
  background: transparent !important;
  color: #071b2c !important;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-term-tabs__list button:not(.is-active):is(:hover, :focus-visible) {
  border-bottom-color: #2f5d78 !important;
  background: rgba(78, 171, 216, .1) !important;
  color: #071b2c !important;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-term-tabs__list button.is-active {
  border-bottom-color: #2f5d78 !important;
  background: #2f5d78 !important;
  color: #fff !important;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-term-tabs__list button:focus-visible {
  position: relative;
  z-index: 1;
  outline: 2px solid #071b2c;
  outline-offset: 2px;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-term-tabs__panel {
  min-height: 176px;
  padding: clamp(24px, calc(3 * var(--pp-wide-vw, 1vw)), 40px) clamp(22px, calc(3.4 * var(--pp-wide-vw, 1vw)), 48px) clamp(28px, calc(3.4 * var(--pp-wide-vw, 1vw)), 46px);
  border: 0;
  background: transparent;
  color: #263943;
  text-shadow: none;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-term-tabs__panel p,
body[data-page="service-cmc"] #pp-process-explore .pp-cmc-term-tabs__panel li {
  color: #263943;
  font-size: clamp(13px, calc(1 * var(--pp-wide-vw, 1vw)), 15px);
  line-height: 1.9;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-term-tabs__panel[hidden] {
  display: none !important;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-term-tabs__panel p:first-child {
  margin-top: 0;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-term-tabs__panel > :last-child {
  margin-bottom: 0;
}

@media (max-width: 760px) {
  body[data-page="service-cmc"] #pp-process-explore .pp-cmc-term-tabs__list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  body[data-page="service-cmc"] #pp-process-explore .pp-cmc-term-tabs__list button {
    min-height: 54px;
    padding-inline: 10px;
  }

  body[data-page="service-cmc"] #pp-process-explore .pp-cmc-term-tabs__panel {
    min-height: 0;
    padding: 22px 20px 26px;
  }
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__term-trigger--inline {
  font-family: inherit;
  cursor: pointer;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__term-trigger--inline i {
  transition: transform .18s ease;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__term-trigger--inline[aria-expanded="true"] i {
  transform: rotate(180deg);
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-inline-term-content {
  margin: 14px 20% 0;
  padding: clamp(16px, calc(2 * var(--pp-wide-vw, 1vw)), 22px);
  border: 1px solid rgba(0, 61, 85, .16);
  background: rgba(224, 240, 247, .88);
  color: var(--pp-text);
  font-size: clamp(12px, calc(1 * var(--pp-wide-vw, 1vw)), 14px);
  line-height: 1.85;
  text-align: left;
  animation: engineering-panel-drop 260ms cubic-bezier(.2, .8, .2, 1) both;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-inline-term-content p {
  margin: 0;
}

@media (max-width: 680px) {
  body[data-page="service-cmc"] #pp-process-explore .pp-cmc-inline-term-content {
    margin-inline: 0;
  }
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-inline-term-panel > summary {
  display: flex;
  min-height: 64px;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 14px clamp(20px, calc(3 * var(--pp-wide-vw, 1vw)), 32px);
  background: rgba(197, 229, 240, .62);
  color: var(--pp-ink);
  cursor: pointer;
  list-style: none;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-inline-term-panel > summary::-webkit-details-marker {
  display: none;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-inline-term-panel > summary span {
  color: var(--pp-ink);
  font-family: var(--pp-font-display);
  font-size: clamp(16px, calc(1.7 * var(--pp-wide-vw, 1vw)), 21px);
  font-weight: 800;
  line-height: 1.35;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-inline-term-panel > summary i {
  color: var(--pp-primary-strong);
  font-size: 19px;
  transition: transform .18s ease;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-inline-term-panel[open] > summary {
  border-bottom: 1px solid rgba(0, 61, 85, .14);
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-inline-term-panel[open] > summary .pp-cmc-inline-term-panel__caret {
  transform: rotate(180deg);
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-inline-term-panel > summary:focus-visible {
  outline: 2px solid var(--pp-primary-strong);
  outline-offset: -4px;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-inline-term-panel > div {
  padding: clamp(20px, calc(3 * var(--pp-wide-vw, 1vw)), 32px);
  color: var(--pp-text);
  font-size: clamp(13px, calc(1.1 * var(--pp-wide-vw, 1vw)), 15px);
  line-height: 1.9;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-inline-term-panel[open] > div {
  animation: engineering-panel-drop 260ms cubic-bezier(.2, .8, .2, 1) both;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-inline-term-panel p {
  margin: 0;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-inline-term-panel p + p {
  margin-top: 18px;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-inline-term-panel ul {
  display: grid;
  gap: 8px;
  margin: 14px 0 0;
  padding-left: 1.35em;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-inline-term-panel li {
  margin: 0;
}

@media (prefers-reduced-motion: reduce) {
  body[data-page="service-cmc"] #pp-process-explore .pp-cmc-inline-term-panel > summary i {
    transition: none;
  }

  body[data-page="service-cmc"] #pp-process-explore .pp-cmc-inline-term-panel[open] > div {
    animation: none;
  }
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-term-dialog {
  width: min(680px, calc(calc(100 * var(--pp-wide-vw, 1vw)) - 32px));
  max-width: none;
  max-height: min(calc(78 * var(--pp-wide-vh, 1vh)), 720px);
  margin: auto;
  padding: clamp(28px, calc(4 * var(--pp-wide-vw, 1vw)), 48px);
  overflow: auto;
  border: 1px solid var(--pp-border);
  background: #fff;
  color: var(--pp-ink);
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-term-dialog::backdrop {
  background: rgba(0, 35, 50, .58);
  backdrop-filter: blur(3px);
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-term-dialog__close {
  position: absolute;
  top: 14px;
  right: 14px;
  display: grid;
  width: 38px;
  height: 38px;
  padding: 0;
  border: 1px solid var(--pp-border);
  background: #fff;
  color: var(--pp-deep);
  cursor: pointer;
  place-items: center;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-term-dialog__close:hover,
body[data-page="service-cmc"] #pp-process-explore .pp-cmc-term-dialog__close:focus-visible {
  border-color: var(--pp-primary-strong);
  color: var(--pp-primary-strong);
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-term-dialog__close:focus-visible {
  outline: 2px solid var(--pp-primary-strong);
  outline-offset: 3px;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-term-dialog__eyebrow {
  display: block;
  margin-bottom: 8px;
  color: var(--pp-primary-strong);
  font-family: var(--pp-font-latin, "Segoe UI", sans-serif);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .17em;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-term-dialog h4 {
  margin: 0;
  padding: 0 46px 16px 0;
  border-bottom: 3px solid var(--pp-primary);
  color: var(--pp-ink);
  font-size: clamp(22px, calc(3 * var(--pp-wide-vw, 1vw)), 30px);
  line-height: 1.35;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-term-dialog__body {
  color: var(--pp-text);
  font-size: clamp(14px, calc(1.3 * var(--pp-wide-vw, 1vw)), 16px);
  line-height: 1.9;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-term-dialog__body p {
  margin: 20px 0 0;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-term-dialog__body ul {
  display: grid;
  gap: 8px;
  margin: 16px 0 0;
  padding-left: 1.35em;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-term-dialog__body li {
  margin: 0;
}

@media (max-width: 900px) {
  body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__canvas {
    grid-template-columns: 1fr;
  }

  body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__rail {
    padding: 24px;
  }

  body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__rail span {
    margin-bottom: 18px;
    font-size: 42px;
  }

  body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__rail strong {
    width: fit-content;
  }

  body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__rail p {
    margin-top: 18px;
  }
}

@media (max-width: 680px) {
  body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__diagram {
    padding: 18px 14px 22px;
  }

  body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__topic-row {
    grid-template-columns: 1fr;
    margin: 0 0 14px;
  }

  body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__stage {
    aspect-ratio: 2 / 1;
    overflow: hidden;
    background: transparent;
  }

  body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__stage > img {
    height: 100%;
    object-fit: contain;
  }

  body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__callouts {
    grid-template-columns: 1fr;
    gap: 12px;
    margin-top: 12px;
  }

  body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__callouts > span:nth-child(1),
  body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__callouts > span:nth-child(2),
  body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__callouts > span:nth-child(3) {
    grid-column: 1;
    justify-self: stretch;
    max-width: none;
    border-top: 1px solid rgba(1, 54, 65, .45);
  }
}

@media (prefers-reduced-motion: reduce) {
  .medicine-issue-reveal__answer i,
  .medicine-issue-organization .medicine-issue-reveal__result-title i {
    transition: none;
  }
}

.medicine-brochure-issues {
  padding: clamp(34px, calc(5 * var(--pp-wide-vw, 1vw)), 68px);
}

.medicine-brochure-title {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: clamp(18px, calc(2.5 * var(--pp-wide-vw, 1vw)), 34px);
  align-items: start;
  margin-bottom: clamp(28px, calc(4 * var(--pp-wide-vw, 1vw)), 48px);
  padding: clamp(28px, calc(4 * var(--pp-wide-vw, 1vw)), 52px);
  color: #fff;
  background:
    linear-gradient(105deg, rgba(0, 44, 61, .94), rgba(46, 149, 195, .66)),
    var(--page-image) center 42% / cover no-repeat;
  box-shadow: 0 20px 52px rgba(0, 44, 61, .18);
}

.medicine-brochure-title > span {
  color: #9edff6;
  font-family: var(--pp-font-latin);
  font-size: clamp(38px, calc(5 * var(--pp-wide-vw, 1vw)), 70px);
  font-weight: 300;
  line-height: .95;
}

.medicine-brochure-title p,
.medicine-brochure-service header > p,
.medicine-support-map__eyebrow,
.medicine-issue-grid article > span {
  margin: 0 0 8px;
  color: var(--pp-primary-strong);
  font-family: var(--pp-font-latin);
  font-size: var(--pp-page-label-size);
  font-weight: var(--pp-page-label-weight);
  line-height: var(--pp-page-label-line-height);
  letter-spacing: var(--pp-page-label-letter-spacing);
}

.medicine-brochure-title p {
  color: #fff;
  text-shadow: var(--pp-image-copy-shadow) !important;
}

.medicine-brochure-title h2 {
  max-width: 24ch;
  margin: 0;
  color: #fff;
  font-family: var(--pp-font-display);
  font-size: var(--pp-page-title-size);
  font-weight: var(--pp-page-title-weight);
  line-height: var(--pp-page-title-line-height);
  letter-spacing: var(--pp-page-title-letter-spacing);
  text-shadow: var(--pp-image-heading-shadow) !important;
  text-wrap: balance;
}

.medicine-brochure-heading-copy {
  display: block;
  max-width: 760px;
  margin-top: 18px;
  color: #fff;
  font-size: clamp(14px, calc(1.25 * var(--pp-wide-vw, 1vw)), 17px);
  font-weight: 700;
  line-height: 1.8;
  text-shadow: var(--pp-image-copy-shadow) !important;
}

.medicine-brochure .medicine-support-map {
  position: relative;
  margin: 0;
  padding: 0;
  overflow: visible;
  border: 0;
  background: transparent;
}

.medicine-support-map__eyebrow {
  position: relative;
  z-index: 3;
  margin: 0 0 clamp(20px, calc(3 * var(--pp-wide-vw, 1vw)), 34px) clamp(18px, calc(7 * var(--pp-wide-vw, 1vw)), 86px);
  color: var(--pp-primary-strong);
  font-family: var(--pp-font-display);
  font-size: clamp(18px, calc(1.8 * var(--pp-wide-vw, 1vw)), 26px);
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: .06em;
}

.medicine-brochure-process {
  background: transparent;
}

.medicine-service-area-heading,
.medicine-service-section-heading {
  margin-bottom: clamp(28px, calc(4 * var(--pp-wide-vw, 1vw)), 46px);
  padding: 0;
  color: #fff;
  background: transparent;
}

@media (min-width: 721px) {
  .medicine-service-area-heading,
  .medicine-service-section-heading {
    width: min(calc(100% + clamp(34px, calc(5 * var(--pp-wide-vw, 1vw)), 68px) + clamp(34px, calc(5 * var(--pp-wide-vw, 1vw)), 68px)), 1050px);
    margin-right: auto;
    margin-left: max(calc(clamp(34px, calc(5 * var(--pp-wide-vw, 1vw)), 68px) * -1), calc((100% - 1050px) / 2));
  }
}

.medicine-service-area-heading p,
.medicine-service-section-heading p {
  margin: 0 0 var(--pp-page-label-gap, 16px);
  color: #fff;
  font-family: var(--pp-font-latin);
  font-size: var(--pp-page-label-size);
  font-weight: var(--pp-page-label-weight);
  line-height: var(--pp-page-label-line-height);
  letter-spacing: var(--pp-page-label-letter-spacing);
}

.medicine-service-area-heading p {
  text-shadow: var(--pp-image-copy-shadow) !important;
}

.medicine-service-area-heading h3,
.medicine-service-section-heading h3 {
  display: inline-block;
  width: fit-content;
  max-width: none;
  margin: var(--pp-page-label-gap, 16px) 0 12px;
  padding: 0;
  color: #fff;
  font-family: var(--pp-font-display);
  font-size: clamp(28px, calc(3.2 * var(--pp-wide-vw, 1vw)), 44px);
  font-weight: var(--pp-page-title-weight, 800);
  line-height: var(--pp-page-title-line-height, 1.05);
  letter-spacing: var(--pp-page-title-letter-spacing, -.07em);
  text-shadow: var(--pp-image-heading-shadow) !important;
}

.medicine-service-area-heading span,
.medicine-service-section-heading span {
  display: block;
  max-width: 780px;
  margin: 0;
  color: rgba(255, 255, 255, .82);
  font-size: var(--pp-page-lead-size, clamp(14px, calc(1.25 * var(--pp-wide-vw, 1vw)), 17px));
  font-weight: var(--pp-page-lead-weight, 700);
  line-height: var(--pp-page-lead-line-height, 1.8);
  letter-spacing: var(--pp-page-lead-letter-spacing, 0);
  text-shadow: var(--pp-image-heading-shadow) !important;
}

@media (min-width: 721px) {
  .medicine-service-area-heading > span {
    max-width: none;
    white-space: nowrap;
  }
}

.medicine-service-area-heading .medicine-service-area-heading__sublead {
  margin-top: 6px;
}

body[data-page="region01"] .medicine-service-field-guide {
  margin: 0 0 clamp(54px, calc(7 * var(--pp-wide-vw, 1vw)), 86px);
  color: var(--pp-ink, #013641);
}

@media (min-width: 981px) {
  body[data-page="region01"] .medicine-service-field-guide {
    width: min(calc(100% + clamp(120px, calc(14 * var(--pp-wide-vw, 1vw)), 190px)), calc(calc(100 * var(--pp-wide-vw, 1vw)) - 270px));
    margin-left: calc((100% - min(calc(100% + clamp(120px, calc(14 * var(--pp-wide-vw, 1vw)), 190px)), calc(calc(100 * var(--pp-wide-vw, 1vw)) - 270px))) / 2);
  }
}

body[data-page="region01"] .medicine-service-field-guide__heading {
  margin: 0 0 clamp(18px, calc(2.4 * var(--pp-wide-vw, 1vw)), 26px);
  text-align: center;
}

body[data-page="region01"] .medicine-service-field-guide__heading p,
body[data-page="region01"] .medicine-service-field-detail-heading p {
  margin: 0 0 10px;
  color: #1679a7;
  font-family: var(--pp-font-latin);
  font-size: 11px;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: .2em;
}

body[data-page="region01"] .medicine-service-field-guide__heading h4,
body[data-page="region01"] .medicine-service-field-detail-heading h4 {
  display: inline-block;
  margin: 0;
  padding-bottom: 8px;
  border-bottom: 2px solid #013641;
  color: #013641;
  font-family: var(--pp-font-display);
  font-size: clamp(25px, calc(2.6 * var(--pp-wide-vw, 1vw)), 38px);
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: -.045em;
  word-break: keep-all;
}

body[data-page="region01"] .medicine-service-field-guide__canvas {
  display: grid;
  grid-template-columns: minmax(250px, .78fr) minmax(0, 3fr);
  align-items: center;
  gap: clamp(18px, calc(2 * var(--pp-wide-vw, 1vw)), 26px);
  padding: clamp(16px, calc(1.8 * var(--pp-wide-vw, 1vw)), 22px);
  background: transparent;
  border: 0;
}

body[data-page="region01"] .medicine-service-field-guide__common {
  position: relative;
  z-index: 2;
  align-self: start;
  margin-top: clamp(86px, calc(8 * var(--pp-wide-vw, 1vw)), 118px);
  padding: clamp(18px, calc(1.8 * var(--pp-wide-vw, 1vw)), 22px);
  border: 1px solid rgba(1, 54, 65, .72);
  border-radius: 0;
  background: rgba(223, 239, 246, .88);
}

body[data-page="region01"] .medicine-service-field-guide__common::after {
  position: absolute;
  top: 50%;
  left: 100%;
  width: clamp(32px, calc(4 * var(--pp-wide-vw, 1vw)), 58px);
  border-top: 1px dashed rgba(1, 54, 65, .6);
  content: "";
}

body[data-page="region01"] .medicine-service-field-guide__label,
body[data-page="region01"] .medicine-service-field-guide__stage-title {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  width: fit-content;
  color: #013641;
  font-family: var(--pp-font-display);
  font-weight: 800;
  line-height: 1.35;
  text-decoration: none;
}

body[data-page="region01"] .medicine-service-field-guide__label {
  flex-wrap: wrap;
  max-width: 100%;
  font-size: clamp(18px, calc(1.35 * var(--pp-wide-vw, 1vw)), 21px);
  white-space: nowrap;
  word-break: keep-all;
  overflow-wrap: normal;
}

body[data-page="region01"] .medicine-service-field-guide__label span {
  color: #2f8eb6;
  font-family: var(--pp-font-latin);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .15em;
}

body[data-page="region01"] .medicine-service-field-guide__common > p {
  margin: 10px 0 12px;
  color: rgba(1, 54, 65, .76);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.55;
}

body[data-page="region01"] .medicine-service-field-guide__common .medicine-service-field-guide__label {
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(1, 54, 65, .48);
  font-size: 18px;
  line-height: 1.35;
}

body[data-page="region01"] .medicine-service-field-guide__common-groups {
  display: grid;
  gap: 11px;
}

body[data-page="region01"] .medicine-service-field-guide__common-groups section {
  display: grid;
  gap: 1px;
  padding-top: 9px;
  border-top: 2px solid #013641;
}

body[data-page="region01"] .medicine-service-field-guide__common-groups h5 {
  margin: 0 0 4px;
  color: #013641;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .1em;
}

body[data-page="region01"] .medicine-service-field-guide__common-groups section > :is(a, span),
body[data-page="region01"] .medicine-service-field-guide__service-list > :is(a, span) {
  display: flex;
  align-items: center;
  min-height: 32px;
  color: #013641;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.35;
  border-bottom: 1px solid rgba(1, 54, 65, .16);
  text-decoration: none;
}

body[data-page="region01"] .medicine-service-field-guide__main {
  position: relative;
  z-index: 1;
  min-width: 0;
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
  backdrop-filter: none;
}

body[data-page="region01"] .medicine-service-field-guide__main::before {
  display: none;
}

body[data-page="region01"] .medicine-service-field-guide__main > * {
  position: relative;
  z-index: 1;
}

body[data-page="region01"] .medicine-service-field-guide__main-heading {
  display: flex;
  align-items: baseline;
  gap: 16px;
  margin-bottom: clamp(16px, calc(2 * var(--pp-wide-vw, 1vw)), 24px);
}

body[data-page="region01"] .medicine-service-field-guide__main-heading span {
  padding: 6px 10px;
  color: #013641;
  border: 1px solid var(--pp-primary, #4eabd8);
  font-family: var(--pp-font-display);
  font-size: clamp(17px, calc(1.6 * var(--pp-wide-vw, 1vw)), 23px);
  font-weight: 800;
  line-height: 1.25;
}

body[data-page="region01"] .medicine-service-field-guide__main-heading strong {
  color: #013641;
  font-family: var(--pp-font-display);
  font-size: clamp(17px, calc(1.55 * var(--pp-wide-vw, 1vw)), 22px);
  line-height: 1.4;
}

body[data-page="region01"] .medicine-service-field-guide__overview-link {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  margin-left: auto;
  color: #013641;
  font-size: 11px;
  font-weight: 800;
  line-height: 1.4;
}

body[data-page="region01"] .medicine-service-field-guide__lifecycle {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
  margin: 0 0 18px;
  padding: 0;
  list-style: none;
}

body[data-page="region01"] .medicine-service-field-guide__lifecycle li {
  position: relative;
  z-index: 0;
  min-width: 0;
  padding: 8px 5px;
  overflow: hidden;
  border-top: 1px solid var(--lifecycle-accent, rgba(47, 142, 182, .52));
  border-bottom: 1px solid var(--lifecycle-accent, rgba(47, 142, 182, .52));
  color: #013641;
  background: var(--lifecycle-surface, rgba(255, 255, 255, .28));
  font-size: 13px;
  font-weight: 800;
  line-height: 1.3;
  text-align: center;
}

body[data-page="region01"] .medicine-service-field-guide__lifecycle li:nth-child(-n + 3) {
  --lifecycle-accent: #21a9c8;
  --lifecycle-surface: #bceaf3;
}

body[data-page="region01"] .medicine-service-field-guide__lifecycle li:nth-child(4) {
  --lifecycle-accent: #1688bd;
  --lifecycle-surface: #afd9ef;
}

body[data-page="region01"] .medicine-service-field-guide__lifecycle li:nth-child(5) {
  --lifecycle-accent: #11699f;
  --lifecycle-surface: #a9cce6;
}

body[data-page="region01"] .medicine-service-field-guide__lifecycle li:not(:last-child)::after {
  position: absolute;
  top: 50%;
  left: calc(100% + 4px);
  color: #2f8eb6;
  content: "›";
  font-size: 18px;
  font-weight: 400;
  line-height: 1;
  transform: translateY(-52%);
}

body[data-page="region01"] .medicine-service-field-guide__stages {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 18px;
  align-items: start;
}

body[data-page="region01"] .medicine-service-field-guide__group {
  display: grid;
  gap: 14px;
  min-width: 0;
  padding: 12px;
  border: 1px solid rgba(1, 54, 65, .18);
  background: rgba(255, 255, 255, .52);
}

body[data-page="region01"] .medicine-service-field-guide__group--cosmetics {
  border-color: rgba(104, 67, 131, .3);
  background: rgba(239, 231, 246, .82);
}

body[data-page="region01"] #cosmetics-service-group-title {
  border-color: #684383;
  background: transparent;
}

body[data-page="region01"] .medicine-service-field-guide__group--medicine {
  border-color: rgba(47, 142, 182, .24);
}

body[data-page="region01"] .medicine-service-field-guide__group-stages {
  display: grid;
  gap: 14px;
  min-width: 0;
}

body[data-page="region01"] .medicine-service-field-guide__group .medicine-service-field-guide__main-heading {
  margin-bottom: 0;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(1, 54, 65, .28);
}

body[data-page="region01"] .medicine-service-field-guide__group .medicine-service-field-guide__lifecycle {
  margin-bottom: 0;
}

body[data-page="region01"] .medicine-service-field-guide__stage {
  position: relative;
  display: grid;
  grid-template-columns: minmax(200px, .86fr) minmax(0, 1.14fr);
  grid-template-areas:
    "title title"
    "standards services";
  column-gap: 0;
  align-items: start;
  min-width: 0;
  min-height: 0;
  padding: clamp(22px, calc(2.2 * var(--pp-wide-vw, 1vw)), 30px);
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: var(--field-surface, rgba(255, 255, 255, .92));
}

body[data-page="region01"] .medicine-service-field-guide__stage::before {
  position: absolute;
  top: 46%;
  right: auto;
  bottom: auto;
  left: -24px;
  width: 24px;
  height: 38px;
  border: 0;
  background: var(--field-surface, rgba(255, 255, 255, .98));
  clip-path: polygon(100% 0, 0 50%, 100% 100%);
  content: "";
  transform: none;
}

body[data-page="region01"] .medicine-service-field-guide__stage:nth-child(even)::before {
  right: auto;
  left: -24px;
  clip-path: polygon(100% 0, 0 50%, 100% 100%);
}

body[data-page="region01"] .medicine-service-field-guide__stage--development {
  --field-accent: #4ba0b8;
  --field-surface: #e0f4f4;
  --field-tint: #b9eaea;
  --field-chip-1: #9ed8e3;
  --field-chip-2: #a9e4e4;
  --field-chip-3: #8ccdde;
}

body[data-page="region01"] .medicine-service-field-guide__stage--manufacturing {
  --field-accent: #789ea8;
  --field-surface: #e6eeee;
  --field-tint: #cbdadb;
  --field-chip-1: #b3d2d8;
  --field-chip-2: #c5d6d8;
  --field-chip-3: #a7bfc3;
}

body[data-page="region01"] .medicine-service-field-guide__stage--distribution {
  --field-accent: #777a74;
  --field-surface: #eeeeeb;
  --field-tint: #d5d6d1;
  --field-chip-1: #c3c5c0;
  --field-chip-2: #d0d1cc;
  --field-chip-3: #b6b8b2;
}

body[data-page="region01"] .medicine-service-field-guide__stage--development,
body[data-page="region01"] .medicine-service-field-guide__stage--manufacturing,
body[data-page="region01"] .medicine-service-field-guide__stage--distribution {
  grid-template-columns: minmax(230px, .9fr) minmax(0, 1.1fr);
}
body[data-page="region01"] :is(.medicine-service-field-guide__stage--development, .medicine-service-field-guide__stage--manufacturing, .medicine-service-field-guide__stage--distribution, .medicine-service-field-guide__stage--cosmetics) {
  padding: 16px;
}

body[data-page="region01"] :is(.medicine-service-field-guide__stage--development, .medicine-service-field-guide__stage--manufacturing, .medicine-service-field-guide__stage--distribution, .medicine-service-field-guide__stage--cosmetics) .medicine-service-field-guide__stage-title {
  margin-bottom: 8px;
}
body[data-page="region01"] .medicine-service-field-guide__stage--cosmetics {
  --field-accent: #284f88;
  --field-surface: #d9e0f0;
  --field-tint: #b2c1df;
  --field-chip-1: #91a9d0;
  --field-chip-2: #acbbd9;
  --field-chip-3: #7f99c3;
  grid-template-columns: minmax(220px, .72fr) minmax(0, 1.28fr);
  grid-column: auto;
}

body[data-page="region01"] .medicine-service-field-guide__stage-title {
  position: relative;
  z-index: 2;
  grid-area: title;
  padding: 6px 10px;
  border: 1px solid var(--field-accent, #2f8eb6);
  background: var(--field-tint, rgba(47, 142, 182, .08));
  font-size: clamp(20px, calc(1.75 * var(--pp-wide-vw, 1vw)), 25px);
  margin: 0 0 14px;
}

body[data-page="region01"] .medicine-service-field-guide__stage-title span {
  color: var(--field-accent, #2f8eb6);
  font-family: var(--pp-font-latin);
  font-size: 11px;
  letter-spacing: .12em;
}

body[data-page="region01"] .medicine-service-field-guide__stage-title strong {
  min-width: 0;
  font: inherit;
}

body[data-page="region01"] .medicine-service-field-guide__standards {
  position: relative;
  z-index: 2;
  grid-area: standards;
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  align-content: start;
  min-height: 126px;
  margin: 0;
  padding: 18px;
  background: var(--field-tint, rgba(143, 200, 222, .18));
}

body[data-page="region01"] .medicine-service-field-guide__standards :is(a, span) {
  position: relative;
  display: inline-flex;
  flex-flow: row wrap;
  align-items: center;
  justify-content: center;
  gap: 3px 6px;
  max-width: 100%;
  min-height: 40px;
  padding: 6px 10px;
  color: #013641;
  border: 1px solid var(--field-accent, rgba(1, 54, 65, .72));
  background: var(--field-chip-1, rgba(255, 255, 255, .9));
  box-shadow: none;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.3;
  text-decoration: none;
}

body[data-page="region01"] .medicine-service-field-guide__standards :is(a, span):not(:first-child) {
  margin-left: 7px;
}

body[data-page="region01"] .medicine-service-field-guide__standards :is(a, span):nth-child(3n + 1) {
  z-index: 3;
  background: var(--field-chip-1, rgba(255, 255, 255, .92));
}

body[data-page="region01"] .medicine-service-field-guide__standards :is(a, span):nth-child(3n + 2) {
  z-index: 2;
  background: var(--field-chip-2, rgba(255, 255, 255, .84));
  transform: none;
}

body[data-page="region01"] .medicine-service-field-guide__standards :is(a, span):nth-child(3n) {
  z-index: 1;
  background: var(--field-chip-3, rgba(255, 255, 255, .76));
  transform: none;
}

body[data-page="region01"] .medicine-service-field-guide__standards strong {
  font: inherit;
}

body[data-page="region01"] .medicine-service-field-guide__standards small {
  margin-top: 0;
  color: rgba(1, 54, 65, .68);
  font-size: 10px;
  font-weight: 700;
  line-height: 1.25;
}

body[data-page="region01"] .medicine-service-field-guide__stage--manufacturing .medicine-service-field-guide__standards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  justify-items: start;
  gap: 4px;
  padding: 8px;
}

body[data-page="region01"] .medicine-service-field-guide__stage--manufacturing .medicine-service-field-guide__standards > :is(a, span) {
  justify-content: flex-start;
  width: 100%;
  max-width: 100%;
  min-height: 60px;
  margin-left: 0;
  padding: 4px 7px;
  border: 1px solid rgba(1, 54, 65, .72);
  background: rgba(255, 255, 255, .84);
  box-shadow: none;
  font-size: 11px;
  line-height: 1.15;
  transform: none;
}

body[data-page="region01"] .medicine-service-field-guide__stage--manufacturing .medicine-service-field-guide__standards small {
  font-size: 9px;
  line-height: 1.15;
}

body[data-page="region01"] .medicine-service-field-guide__service-list {
  position: relative;
  z-index: 2;
  grid-area: services;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-auto-rows: max-content;
  align-content: start;
  align-items: start;
  column-gap: 18px;
  row-gap: 0;
  min-height: 100%;
  padding: 12px clamp(16px, calc(2 * var(--pp-wide-vw, 1vw)), 22px);
  border-left: 1px dashed rgba(1, 54, 65, .5);
  background: rgba(217, 238, 246, .28);
}

body[data-page="region01"] .medicine-service-field-guide__service-list h6 {
  grid-column: 1 / -1;
  margin: 0 0 3px;
  color: rgba(1, 54, 65, .68);
  font-family: var(--pp-font-latin);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .12em;
}

body[data-page="region01"] .medicine-service-field-guide__service-list > :is(a, span) {
  min-height: 0;
  padding: 0;
  border-bottom: 0;
  line-height: 1.35;
}

body[data-page="region01"] .medicine-service-field-guide__stage--cosmetics .medicine-service-field-guide__standards {
  grid-template-columns: minmax(0, 1fr);
  margin: 0;
  padding: 0;
}

body[data-page="region01"] .medicine-service-field-guide__stage--cosmetics .medicine-service-field-guide__standards > :is(a, span) {
  grid-column: auto;
  width: 100%;
  margin-left: 0;
}

body[data-page="region01"] :is(.medicine-service-field-guide__stage--development, .medicine-service-field-guide__stage--manufacturing, .medicine-service-field-guide__stage--distribution, .medicine-service-field-guide__stage--cosmetics) .medicine-service-field-guide__standards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 4px;
  padding: 8px;
}

body[data-page="region01"] :is(.medicine-service-field-guide__stage--development, .medicine-service-field-guide__stage--manufacturing, .medicine-service-field-guide__stage--distribution, .medicine-service-field-guide__stage--cosmetics) .medicine-service-field-guide__standards > :is(a, span) {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: auto auto;
  justify-content: flex-start;
  align-items: center;
  row-gap: 3px;
  width: 100%;
  max-width: 100%;
  min-height: 60px;
  margin-left: 0;
  padding: 4px 7px;
  border: 1px solid var(--field-accent, rgba(1, 54, 65, .72));
  background: var(--field-chip-1, rgba(255, 255, 255, .84));
  box-shadow: none;
  font-size: 12px;
  line-height: 1.15;
  transform: none;
}

body[data-page="region01"] :is(.medicine-service-field-guide__stage--development, .medicine-service-field-guide__stage--manufacturing, .medicine-service-field-guide__stage--distribution, .medicine-service-field-guide__stage--cosmetics) .medicine-service-field-guide__standards strong {
  display: block;
  font-size: 14px;
  line-height: 1.15;
}

body[data-page="region01"] :is(.medicine-service-field-guide__stage--development, .medicine-service-field-guide__stage--manufacturing, .medicine-service-field-guide__stage--distribution, .medicine-service-field-guide__stage--cosmetics) .medicine-service-field-guide__standards > :is(a, span):last-child:nth-child(odd) {
  grid-column: 1 / -1;
}

body[data-page="region01"] .medicine-service-field-guide__stage--cosmetics .medicine-service-field-guide__standards > :is(a, span):last-child:nth-child(odd) {
  grid-column: auto;
}

body[data-page="region01"] .medicine-service-field-guide__stage--cosmetics .medicine-service-field-guide__standards {
  grid-template-columns: minmax(0, 1fr);
  padding: 8px;
}

body[data-page="region01"] :is(.medicine-service-field-guide__stage--development, .medicine-service-field-guide__stage--manufacturing, .medicine-service-field-guide__stage--distribution, .medicine-service-field-guide__stage--cosmetics) .medicine-service-field-guide__standards small {
  display: block;
  min-width: 0;
  font-size: 12px;
  line-height: 1.15;
}

body[data-page="region01"] :is(.medicine-service-field-guide__stage--development, .medicine-service-field-guide__stage--manufacturing, .medicine-service-field-guide__stage--distribution, .medicine-service-field-guide__stage--cosmetics) .medicine-service-field-guide__service-list {
  grid-template-columns: minmax(0, 1fr);
}

body[data-page="region01"] .medicine-service-field-guide__stage--cosmetics .medicine-service-field-guide__service-list {
  grid-template-columns: minmax(0, 1fr);
  column-gap: 24px;
  row-gap: 2px;
}

body[data-page="region01"] .medicine-service-field-guide__stage--cosmetics .medicine-service-field-guide__service-list h6 {
  grid-column: 1 / -1;
}

body[data-page="region01"] .medicine-service-field-guide__stage > .medicine-service-field-guide__detail-link,
body[data-page="region01"] .medicine-service-field-guide__service-list > .medicine-service-field-guide__detail-link,
body[data-page="region01"] .medicine-service-field-guide__group > .medicine-service-field-guide__group-detail-link,
body[data-page="region01"] .medicine-service-field-guide__stages > .medicine-service-field-guide__group-detail-link {
  display: flex;
  align-items: center;
  justify-self: center;
  gap: 6px;
  width: fit-content;
  justify-content: center;
  min-height: 44px;
  margin: 7px auto 0;
  padding: 10px 16px;
  border: 1px solid var(--pp-primary-strong);
  background: linear-gradient(135deg, var(--pp-action-primary-start), var(--pp-action-primary-end));
  color: #fff;
  font-size: clamp(12px, calc(.9 * var(--pp-wide-vw, 1vw)), 14px);
  font-weight: 700;
  line-height: 1.45;
  text-align: center;
  text-decoration: none;
  box-shadow: 0 12px 28px rgba(0, 61, 85, .24);
  transition: color 180ms ease, background-color 180ms ease, transform 180ms ease;
}

body[data-page="region01"] .medicine-service-field-guide__stage > .medicine-service-field-guide__detail-link::after,
body[data-page="region01"] .medicine-service-field-guide__service-list > .medicine-service-field-guide__detail-link::after,
body[data-page="region01"] .medicine-service-field-guide__group > .medicine-service-field-guide__group-detail-link::after,
body[data-page="region01"] .medicine-service-field-guide__stages > .medicine-service-field-guide__group-detail-link::after {
  margin-left: 0;
  background-color: #fff;
}

body[data-page="region01"] .medicine-service-field-guide__stage > .medicine-service-field-guide__detail-link .medicine-service-field-guide__link-label::after,
body[data-page="region01"] .medicine-service-field-guide__service-list > .medicine-service-field-guide__detail-link .medicine-service-field-guide__link-label::after,
body[data-page="region01"] .medicine-service-field-guide__group > .medicine-service-field-guide__group-detail-link .medicine-service-field-guide__link-label::after,
body[data-page="region01"] .medicine-service-field-guide__stages > .medicine-service-field-guide__group-detail-link .medicine-service-field-guide__link-label::after {
  display: none;
}

body[data-page="region01"] .medicine-service-field-guide__stage > .medicine-service-field-guide__detail-link:is(:hover, :focus-visible),
body[data-page="region01"] .medicine-service-field-guide__service-list > .medicine-service-field-guide__detail-link:is(:hover, :focus-visible),
body[data-page="region01"] .medicine-service-field-guide__group > .medicine-service-field-guide__group-detail-link:is(:hover, :focus-visible),
body[data-page="region01"] .medicine-service-field-guide__stages > .medicine-service-field-guide__group-detail-link:is(:hover, :focus-visible) {
  border-color: var(--pp-slider-control-border);
  background: var(--pp-slider-control-hover);
  color: #fff;
  box-shadow: none;
  transform: none;
}

body[data-page="region01"] .medicine-service-field-guide__needs {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 24px;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

body[data-page="region01"] .medicine-service-field-guide__needs li {
  position: relative;
  min-width: 0;
  min-height: 36px;
  padding: 7px 0 7px 15px;
  color: #013641;
  border-bottom: 1px solid rgba(1, 54, 65, .16);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.55;
}

body[data-page="region01"] .medicine-service-field-guide__needs li::before {
  position: absolute;
  top: 1.04em;
  left: 3px;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #2f8eb6;
  content: "";
  transform: translateY(-50%);
}

body[data-page="region01"] .medicine-service-field-guide__needs a {
  display: flex;
  align-items: center;
  min-height: 30px;
  color: #013641;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.4;
  text-decoration: none;
}

body[data-page="region01"] .medicine-service-field-guide a {
  transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease;
}

body[data-page="region01"] .medicine-service-field-guide__canvas a {
  text-decoration: none;
}

body[data-page="region01"] .medicine-service-field-guide__link-label {
  position: relative;
  display: inline-grid;
  justify-self: start;
  width: fit-content;
  max-width: 100%;
}

body[data-page="region01"] .medicine-service-field-guide__link-label::after {
  position: absolute;
  right: 0;
  bottom: -1px;
  left: 0;
  height: 1px;
  background: var(--pp-primary, #4eabd8);
  content: "";
  transform: scaleX(1);
  transform-origin: right center;
}

body[data-page="region01"] .medicine-service-field-guide__service-list > a:not(.medicine-service-field-guide__detail-link) .medicine-service-field-guide__link-label::after {
  right: -19px;
  bottom: 2px;
}

body[data-page="region01"] .medicine-service-field-guide__service-list > a.medicine-service-field-guide__service-link--local .medicine-service-field-guide__link-label::after {
  right: 0;
  bottom: -1px;
}

body[data-page="region01"] .medicine-service-field-guide__needs a .medicine-service-field-guide__link-label::after {
  right: -19px;
  bottom: 2px;
}

body[data-page="region01"] .medicine-service-field-guide__canvas a:is(:hover, :focus-visible) .medicine-service-field-guide__link-label::after {
  animation: medicine-service-link-redraw 440ms ease both;
}

@keyframes medicine-service-link-redraw {
  0% {
    transform: scaleX(1);
    transform-origin: right center;
  }
  42% {
    transform: scaleX(0);
    transform-origin: right center;
  }
  43% {
    transform: scaleX(0);
    transform-origin: left center;
  }
  100% {
    transform: scaleX(1);
    transform-origin: left center;
  }
}

@media (prefers-reduced-motion: reduce) {
  body[data-page="region01"] .medicine-service-field-guide__canvas a:is(:hover, :focus-visible) .medicine-service-field-guide__link-label::after {
    animation: none;
  }
}

body[data-page="region01"] .medicine-service-field-guide__canvas a::after {
  flex: 0 0 auto;
  width: 12px;
  height: 12px;
  margin-left: 7px;
  padding-left: 0;
  background-color: #2f8eb6;
  content: "";
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14 5h5v5M13 11l6-6M19 13v6H5V5h6' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14 5h5v5M13 11l6-6M19 13v6H5V5h6' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
  text-decoration: none;
}

body[data-page="region01"] .medicine-service-field-guide__canvas a.medicine-service-field-guide__service-link--local::after {
  display: none;
}

body[data-page="region01"] .medicine-service-field-guide__standards a {
  position: relative;
  padding-right: 7px;
  text-decoration-color: rgba(1, 54, 65, .72);
}

body[data-page="region01"] .medicine-service-field-guide__standards a::after {
  display: none;
}

body[data-page="region01"] .medicine-service-field-guide a:hover {
  color: #013641;
}

body[data-page="region01"] .medicine-service-field-guide__standards a:hover {
  color: #013641;
  border-color: var(--field-accent, rgba(1, 54, 65, .72));
  background-color: var(--field-chip-1, rgba(255, 255, 255, .9));
}

body[data-page="region01"] .medicine-service-field-guide a:focus-visible {
  outline: 2px solid #4eabd8;
  outline-offset: 3px;
}

body[data-page="region01"] .medicine-service-field-guide__links {
  display: grid;
  grid-template-columns: auto repeat(5, minmax(0, 1fr));
  align-items: stretch;
  margin-top: 14px;
  border-top: 1px solid rgba(1, 54, 65, .26);
  border-bottom: 1px solid rgba(1, 54, 65, .26);
  background: rgba(255, 255, 255, .76);
}

body[data-page="region01"] .medicine-service-field-guide__links > span,
body[data-page="region01"] .medicine-service-field-guide__links > a {
  display: flex;
  min-height: 48px;
  align-items: center;
  padding: 8px 12px;
  border-right: 1px solid rgba(1, 54, 65, .18);
}

body[data-page="region01"] .medicine-service-field-guide__links > span {
  color: #2f8eb6;
  font-family: var(--pp-font-latin);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .14em;
}

body[data-page="region01"] .medicine-service-field-guide__links > a {
  color: #013641;
  font-size: 11px;
  font-weight: 800;
  line-height: 1.4;
  text-decoration: none;
}

body[data-page="region01"] .medicine-service-field-guide__links > :last-child {
  border-right: 0;
}

body[data-page="region01"] .medicine-service-field-guide__note {
  margin: 15px 0 0;
  color: rgba(255, 255, 255, .88);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.7;
  text-align: right;
  text-shadow: var(--pp-image-copy-shadow);
}

body[data-page="region01"] .medicine-service-field-detail-heading {
  margin: 0 0 26px;
  text-align: left;
}

body[data-page="region01"] .medicine-service-field-detail-heading h4 {
  font-size: clamp(22px, calc(2.2 * var(--pp-wide-vw, 1vw)), 32px);
}

@media (max-width: 1180px) {
  body[data-page="region01"] .medicine-service-field-guide__canvas {
    grid-template-columns: minmax(250px, .82fr) minmax(0, 3fr);
    gap: 18px;
    padding: 16px;
  }

  body[data-page="region01"] .medicine-service-field-guide__main {
    padding: 20px;
  }

  body[data-page="region01"] .medicine-service-field-guide__stages {
    grid-template-columns: minmax(0, 1fr);
  }

  body[data-page="region01"] .medicine-service-field-guide__stage-title {
    align-items: flex-start;
    gap: 6px;
    font-size: 19px;
  }

  body[data-page="region01"] .medicine-service-field-guide__stage--distribution {
    grid-column: auto;
  }

  body[data-page="region01"] .medicine-service-field-guide__stage--cosmetics {
    grid-column: auto;
  }

  body[data-page="region01"] .medicine-service-field-guide__stage--cosmetics .medicine-service-field-guide__standards {
    margin: 0;
  }

  body[data-page="region01"] .medicine-service-field-guide__stage--cosmetics .medicine-service-field-guide__service-list {
    grid-template-columns: 1fr;
  }

  body[data-page="region01"] .medicine-service-field-guide__links {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  body[data-page="region01"] .medicine-service-field-guide__links > span {
    grid-column: 1 / -1;
    border-right: 0;
    border-bottom: 1px solid rgba(1, 54, 65, .18);
  }
}

@media (max-width: 1366px) {
  body[data-page="region01"] .medicine-service-field-guide__canvas {
    grid-template-columns: minmax(250px, .82fr) minmax(0, 3fr);
    align-items: center;
    gap: 22px;
  }

  body[data-page="region01"] .medicine-service-field-guide__main {
    order: 2;
  }

  body[data-page="region01"] .medicine-service-field-guide__main::before {
    top: 58%;
    right: 100%;
    left: auto;
    width: clamp(28px, calc(3.4 * var(--pp-wide-vw, 1vw)), 48px);
    height: clamp(44px, calc(5 * var(--pp-wide-vw, 1vw)), 70px);
    clip-path: polygon(100% 0, 100% 100%, 0 100%);
  }

  body[data-page="region01"] .medicine-service-field-guide__common {
    order: 1;
    width: 100%;
    max-width: none;
    justify-self: stretch;
    border-radius: 24px;
  }

  body[data-page="region01"] .medicine-service-field-guide__common::after {
    display: block;
  }

  body[data-page="region01"] .medicine-service-field-guide__common-groups {
    grid-template-columns: 1fr;
    gap: 11px;
  }

  body[data-page="region01"] .medicine-service-field-guide__service-list,
  body[data-page="region01"] .medicine-service-field-guide__stage--cosmetics .medicine-service-field-guide__service-list,
  body[data-page="region01"] .medicine-service-field-guide__needs {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 1024px) {
  body[data-page="region01"] .medicine-service-field-guide {
    width: 100%;
    margin-left: 0;
  }

  body[data-page="region01"] .medicine-service-field-guide__canvas {
    grid-template-columns: 1fr;
    align-items: start;
    gap: 28px;
  }

  body[data-page="region01"] .medicine-service-field-guide__main {
    order: 2;
  }

  body[data-page="region01"] .medicine-service-field-guide__main::before,
  body[data-page="region01"] .medicine-service-field-guide__common::after {
    display: none;
  }

  body[data-page="region01"] .medicine-service-field-guide__stage::before,
  body[data-page="region01"] .medicine-service-field-guide__stage:nth-child(even)::before {
    top: auto;
    right: auto;
    bottom: -18px;
    left: 46px;
    width: 38px;
    height: 18px;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
  }

  body[data-page="region01"] .medicine-service-field-guide__common {
    order: 1;
    width: min(100%, 720px);
    max-width: 720px;
    margin-top: 0;
    justify-self: center;
  }

  body[data-page="region01"] .medicine-service-field-guide__common-groups {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
  }
}

@media (max-width: 820px) {
  body[data-page="region01"] .medicine-service-field-guide__canvas {
    grid-template-columns: 1fr;
  }

  body[data-page="region01"] .medicine-service-field-guide__common {
    order: 1;
    border-radius: 18px;
  }

  body[data-page="region01"] .medicine-service-field-guide__common::after {
    display: none;
  }

  body[data-page="region01"] .medicine-service-field-guide__main {
    order: 2;
  }

  body[data-page="region01"] .medicine-service-field-guide__stages {
    grid-template-columns: minmax(0, 1fr);
  }

  body[data-page="region01"] .medicine-service-field-guide__group-stages {
    grid-template-columns: minmax(0, 1fr);
  }

  body[data-page="region01"] .medicine-service-field-guide__stage--distribution,
  body[data-page="region01"] .medicine-service-field-guide__stage--cosmetics {
    grid-column: auto;
  }

  body[data-page="region01"] .medicine-service-field-guide__main::before {
    display: none;
  }

  body[data-page="region01"] .medicine-service-field-guide__common-groups {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  body[data-page="region01"] .medicine-service-field-guide__heading {
    text-align: left;
  }

  body[data-page="region01"] .medicine-service-field-guide__canvas {
    gap: 18px;
    padding: 14px;
  }

  body[data-page="region01"] .medicine-service-field-guide__main,
  body[data-page="region01"] .medicine-service-field-guide__common {
    padding: 20px;
  }

  body[data-page="region01"] .medicine-service-field-guide__main-heading {
    display: grid;
    gap: 10px;
  }

  body[data-page="region01"] .medicine-service-field-guide__overview-link {
    margin-left: 0;
  }

  body[data-page="region01"] .medicine-service-field-guide__lifecycle {
    gap: 8px;
  }

  body[data-page="region01"] .medicine-service-field-guide__main-heading span {
    width: fit-content;
  }

  body[data-page="region01"] .medicine-service-field-guide__stages,
  body[data-page="region01"] .medicine-service-field-guide__common-groups {
    grid-template-columns: 1fr;
  }

  body[data-page="region01"] .medicine-service-field-guide__stage {
    grid-template-columns: 1fr;
    grid-template-areas:
      "title"
      "standards"
      "services";
    padding: 18px;
    min-height: 0;
    border-radius: 0;
  }

  body[data-page="region01"] .medicine-service-field-guide__stage--manufacturing {
    grid-template-columns: 1fr;
    padding-block: 18px;
  }

  body[data-page="region01"] .medicine-service-field-guide__stage--cosmetics {
    grid-template-columns: 1fr;
  }

  body[data-page="region01"] :is(.medicine-service-field-guide__stage--development, .medicine-service-field-guide__stage--manufacturing, .medicine-service-field-guide__stage--cosmetics) .medicine-service-field-guide__standards {
    grid-template-columns: 1fr;
  }

  body[data-page="region01"] :is(.medicine-service-field-guide__stage--development, .medicine-service-field-guide__stage--manufacturing, .medicine-service-field-guide__stage--cosmetics) .medicine-service-field-guide__standards > :is(a, span):last-child:nth-child(odd) {
    grid-column: auto;
  }

  body[data-page="region01"] .medicine-service-field-guide__service-list,
  body[data-page="region01"] .medicine-service-field-guide__stage--cosmetics .medicine-service-field-guide__service-list,
  body[data-page="region01"] .medicine-service-field-guide__needs {
    grid-template-columns: 1fr;
  }

  body[data-page="region01"] .medicine-service-field-guide__service-list {
    margin-top: 22px;
    padding: 20px;
    border-top: 1px dashed rgba(1, 54, 65, .5);
    border-left: 0;
  }

  body[data-page="region01"] .medicine-service-field-guide__standards {
    min-height: 0;
    padding: 16px;
  }

  body[data-page="region01"] .medicine-service-field-guide__needs {
    grid-template-columns: 1fr;
  }

  body[data-page="region01"] .medicine-service-field-guide__stage--distribution,
  body[data-page="region01"] .medicine-service-field-guide__stage--cosmetics {
    grid-column: auto;
  }

  body[data-page="region01"] .medicine-service-field-guide__stage--cosmetics .medicine-service-field-guide__service-list {
    grid-template-columns: 1fr;
  }

  body[data-page="region01"] .medicine-service-field-guide__note {
    text-align: left;
  }

  body[data-page="region01"] .medicine-service-field-guide__links {
    grid-template-columns: 1fr;
  }

  body[data-page="region01"] .medicine-service-field-guide__links > span,
  body[data-page="region01"] .medicine-service-field-guide__links > a {
    min-height: 42px;
    border-right: 0;
    border-bottom: 1px solid rgba(1, 54, 65, .16);
  }
}

@media (min-width: 1025px) {
  body[data-page="region01"] .medicine-service-field-guide__canvas {
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
    justify-content: center;
    justify-items: center;
    gap: 22px;
  }

  body[data-page="region01"] .medicine-service-field-guide__common {
    order: 1;
    width: 100%;
    max-width: 1000px;
    margin-top: 0;
    padding: 20px;
    border-radius: 0;
    border-top: 4px solid #86c8d9;
    justify-self: center;
  }

  body[data-page="region01"] .medicine-service-field-guide__common::after {
    display: none;
  }

  body[data-page="region01"] .medicine-service-field-guide__common-groups {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 26px;
  }

  body[data-page="region01"] .medicine-service-field-guide__common-groups section > :is(a, span) {
    min-height: 30px;
    font-size: 12.5px;
  }

  body[data-page="region01"] .medicine-service-field-guide__main {
    order: 2;
    width: 100%;
    max-width: 1100px;
    padding: 0;
    justify-self: center;
  }

  body[data-page="region01"] .medicine-service-field-guide__group--medicine .medicine-service-field-guide__group-stages {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.18fr) minmax(0, .76fr);
    align-items: start;
  }

  body[data-page="region01"] .medicine-service-field-guide__group--cosmetics .medicine-service-field-guide__group-stages {
    grid-template-columns: minmax(0, 1fr);
  }

  body[data-page="region01"] :is(.medicine-service-field-guide__stage--development, .medicine-service-field-guide__stage--manufacturing, .medicine-service-field-guide__stage--distribution) {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas:
      "title"
      "standards"
      "services";
    align-self: start;
    padding: 14px;
  }

  body[data-page="region01"] :is(.medicine-service-field-guide__stage--development, .medicine-service-field-guide__stage--manufacturing) .medicine-service-field-guide__standards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body[data-page="region01"] .medicine-service-field-guide__stage--distribution .medicine-service-field-guide__standards {
    grid-template-columns: minmax(0, 1fr);
  }

  body[data-page="region01"] :is(.medicine-service-field-guide__stage--development, .medicine-service-field-guide__stage--manufacturing, .medicine-service-field-guide__stage--distribution) .medicine-service-field-guide__service-list {
    margin-top: 10px;
    padding: 14px 8px 8px;
    border-top: 1px dashed rgba(1, 54, 65, .5);
    border-left: 0;
  }

  body[data-page="region01"] .medicine-service-field-guide__stage::before,
  body[data-page="region01"] .medicine-service-field-guide__stage:nth-child(even)::before {
    display: none;
  }
}

.medicine-brochure .medicine-service-area-map {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: clamp(10px, calc(1.4 * var(--pp-wide-vw, 1vw)), 16px);
  align-items: stretch;
}

@media (min-width: 981px) {
  .medicine-brochure .medicine-service-area-map {
    width: min(calc(100% + clamp(120px, calc(14 * var(--pp-wide-vw, 1vw)), 190px)), calc(calc(100 * var(--pp-wide-vw, 1vw)) - 270px));
    margin-left: calc((100% - min(calc(100% + clamp(120px, calc(14 * var(--pp-wide-vw, 1vw)), 190px)), calc(calc(100 * var(--pp-wide-vw, 1vw)) - 270px))) / 2);
  }
}

.medicine-service-lifecycle {
  display: grid;
  grid-column: 1 / 6;
  grid-template-columns: repeat(4, minmax(0, 1fr) 18px) minmax(0, 1fr);
  align-items: center;
  gap: clamp(5px, calc(.7 * var(--pp-wide-vw, 1vw)), 8px);
  margin-bottom: clamp(8px, calc(1.2 * var(--pp-wide-vw, 1vw)), 14px);
}

.medicine-service-lifecycle__stage {
  --lifecycle-a: #63b0a5;
  --lifecycle-b: #5796b2;
  display: grid;
  min-height: 86px;
  align-content: center;
  gap: 7px;
  padding: 16px;
  color: #fff;
  background: linear-gradient(135deg, var(--lifecycle-a), var(--lifecycle-b));
  box-shadow: 0 7px 15px rgba(0, 44, 61, .11) !important;
  transition: transform 200ms cubic-bezier(.2, .8, .2, 1), box-shadow 200ms ease, filter 200ms ease;
}

.medicine-service-lifecycle__arrow {
  display: grid;
  min-width: 18px;
  place-items: center;
  color: #74818b;
  font-size: 24px;
}

.medicine-service-lifecycle__stage strong {
  font-family: var(--pp-font-display);
  font-size: clamp(15px, calc(1.25 * var(--pp-wide-vw, 1vw)), 19px);
  font-weight: 800;
  line-height: 1.35;
}

.medicine-service-lifecycle__stage--research { --lifecycle-a: #79c5e6; --lifecycle-b: #4eabd8; }
.medicine-service-lifecycle__stage--nonclinical { --lifecycle-a: #5bb7df; --lifecycle-b: #2f8eb6; }
.medicine-service-lifecycle__stage--clinical { --lifecycle-a: #2f8eb6; --lifecycle-b: #1679a7; }
.medicine-service-lifecycle__stage--approval { --lifecycle-a: #176c9a; --lifecycle-b: #0b5784; }
.medicine-service-lifecycle__stage--market { --lifecycle-a: #004a99; --lifecycle-b: #013641; }

.medicine-service-area-group {
  --area-accent: #58aeb9;
  min-width: 0;
  padding: 0 10px 10px;
  border: 1px solid rgba(0, 61, 85, .16);
  background: rgba(255, 255, 255, .64);
  box-shadow: 0 14px 30px rgba(0, 44, 61, .07) !important;
}

:is(body[data-page="region01"], body[data-page="region02"]) .medicine-service-area-map--dropdown > .medicine-service-area-group {
  border-color: rgba(255, 255, 255, .48);
  background: rgba(224, 240, 247, .4);
  -webkit-backdrop-filter: blur(10px) saturate(.9);
  backdrop-filter: blur(10px) saturate(.9);
  box-shadow: 0 14px 30px rgba(0, 44, 61, .08), inset 0 0 0 1px rgba(0, 61, 85, .05) !important;
}

.medicine-service-area-group--development { --area-accent: #4eabd8; }
.medicine-service-area-group--manufacturing { --area-accent: #2f8eb6; }
.medicine-service-area-group--distribution { --area-accent: #004a99; }
.medicine-service-area-group--cosmetics {
  --area-accent: #176c9a;
  grid-column: 1 / -1;
}

.medicine-service-area-group--common {
  --area-accent: #013641;
  grid-column: 1 / -1;
}

.medicine-service-area-group--development { grid-column: 1 / span 2; }
.medicine-service-area-group--manufacturing { grid-column: 3 / span 3; }
.medicine-service-area-group--distribution { grid-column: 6; }

.medicine-service-area-group > header {
  display: flex;
  min-height: 70px;
  align-items: center;
  gap: 12px;
  margin: 0 -10px 10px;
  padding: 14px 16px;
  color: #fff;
  border-top: 4px solid var(--area-accent);
  background: linear-gradient(135deg, #163f58 0%, #0a3150 100%);
}

.medicine-service-area-group > header span {
  color: rgba(255, 255, 255, .62);
  font-family: var(--pp-font-latin);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .12em;
}

.medicine-service-area-group > header h3 {
  margin: 0;
  color: inherit;
  font-family: var(--pp-font-display);
  font-size: clamp(16px, calc(1.35 * var(--pp-wide-vw, 1vw)), 20px);
  font-weight: 800;
  line-height: 1.35;
}

.medicine-service-area-group--distribution > header {
  gap: 8px;
  padding-inline: 12px;
}

.medicine-service-area-group--distribution > header h3 {
  font-size: clamp(14px, calc(1.2 * var(--pp-wide-vw, 1vw)), 18px);
  white-space: nowrap;
}

.medicine-service-area-group__cards {
  display: grid;
  gap: 10px;
}

.medicine-service-area-group--development .medicine-service-area-group__cards {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.medicine-service-area-group--development .medicine-service-domain--reliability {
  grid-column: 1 / -1;
}

.medicine-service-area-group--manufacturing .medicine-service-area-group__cards {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.medicine-service-area-group--manufacturing .medicine-service-domain--gep {
  grid-column: span 2;
}

.medicine-service-area-services {
  grid-column: 1 / -1;
  min-width: 0;
  padding: 14px;
  border-top: 3px solid var(--area-accent);
  background: rgba(255, 255, 255, .88);
}

.medicine-service-area-services > p {
  margin: 0 0 10px;
  color: #315367;
  font-family: var(--pp-font-latin);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .14em;
}

.medicine-service-area-services__links {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 7px;
}

.medicine-service-area-services__links a {
  display: flex;
  min-width: 0;
  min-height: 44px;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 9px 11px;
  color: #173f56;
  border: 1px solid rgba(0, 74, 153, .16);
  background: rgba(242, 249, 252, .94);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.5;
  text-decoration: none;
  transition: border-color 180ms ease, background-color 180ms ease;
}

.medicine-service-area-services__links a .ph {
  flex: 0 0 auto;
  color: var(--pp-primary-strong, #2f8eb6);
  font-size: 15px;
}

.medicine-service-area-services__links a:hover,
.medicine-service-area-services__links a:focus-visible {
  border-color: var(--pp-primary-strong, #2f8eb6);
  background: #fff;
}

.medicine-service-area-services__links a:focus-visible {
  outline: 3px solid rgba(78, 171, 216, .42);
  outline-offset: 2px;
}

.medicine-service-area-group--common .medicine-service-area-group__cards {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.medicine-service-area-group--common .medicine-service-area-services {
  grid-column: auto;
}

@media (max-width: 720px) {
  .medicine-service-area-group--common .medicine-service-area-group__cards,
  .medicine-service-area-services__links {
    grid-template-columns: minmax(0, 1fr);
  }

  .medicine-service-area-group--common > header {
    gap: 8px;
    padding-inline: 12px;
  }

  .medicine-service-area-group--common > header span {
    font-size: 9px;
  }

  .medicine-service-area-group--common > header h3 {
    font-size: 14px;
    white-space: nowrap;
  }
}

.medicine-cosmetics-content {
  grid-template-columns: 1fr;
  gap: 14px;
}

.medicine-cosmetics-standards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.medicine-cosmetics-needs {
  padding: clamp(18px, calc(2 * var(--pp-wide-vw, 1vw)), 26px);
  border-top: 4px solid var(--area-accent);
  background: linear-gradient(180deg, color-mix(in srgb, var(--area-accent) 6%, rgba(255, 255, 255, .86)), rgba(255, 255, 255, .7));
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
}

.medicine-cosmetics-needs ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 clamp(22px, calc(3 * var(--pp-wide-vw, 1vw)), 40px);
  margin: 0;
  padding: 0;
  list-style: none;
}

.medicine-cosmetics-needs li {
  position: relative;
  padding: 10px 4px 10px 19px;
  color: #334a58;
  border-bottom: 1px solid rgba(0, 74, 153, .13);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.65;
}

.medicine-cosmetics-needs li::before {
  position: absolute;
  top: 1.35em;
  left: 2px;
  width: 7px;
  height: 7px;
  border: 2px solid var(--area-accent);
  border-radius: 50%;
  content: "";
}

.medicine-cosmetics-detail-link {
  color: #fff;
  font-weight: 800;
}

.medicine-cosmetics-detail-link {
  justify-self: end;
  padding: 12px 20px;
  border: 1px solid rgba(255, 255, 255, .34);
  background: #163f58;
  box-shadow: 0 8px 20px rgba(17, 61, 85, .14);
  text-decoration: none;
  transition: background-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.medicine-cosmetics-detail-link .ph {
  display: inline-block;
  margin-left: 5px;
  transition: transform 180ms cubic-bezier(.2, .8, .2, 1);
}

.medicine-cosmetics-detail-link:hover .ph,
.medicine-cosmetics-detail-link:focus-visible .ph {
  transform: translate(3px, -3px);
}

.medicine-cosmetics-detail-link:hover,
.medicine-cosmetics-detail-link:focus-visible {
  background: #1c78a5;
  box-shadow: 0 10px 24px rgba(17, 61, 85, .2);
  transform: translateY(-2px);
}

.medicine-service-domain {
  --domain-a: #65b0a4;
  --domain-b: #5795b1;
  position: relative;
  display: flex;
  min-height: 108px;
  min-width: 0;
  flex-direction: column;
  justify-content: center;
  gap: 8px;
  padding: 18px 16px;
  overflow: hidden;
  color: #fff;
  background: linear-gradient(135deg, var(--domain-a), var(--domain-b));
  box-shadow: 0 7px 15px rgba(0, 44, 61, .11) !important;
  transition: transform 200ms cubic-bezier(.2, .8, .2, 1), box-shadow 200ms ease, filter 200ms ease;
}

.medicine-service-domain::after {
  position: absolute;
  right: -28px;
  bottom: -34px;
  width: 94px;
  height: 94px;
  content: "";
  border: 1px solid rgba(255, 255, 255, .23);
  border-radius: 50%;
}

@media (hover: hover) {
  .medicine-service-lifecycle__stage:hover,
  .medicine-service-domain:hover {
    z-index: 2;
    filter: saturate(1.12) brightness(1.02);
    box-shadow: 0 20px 32px rgba(0, 44, 61, .23) !important;
    transform: translateY(-7px);
  }
}

.medicine-service-domain strong,
.medicine-service-domain span {
  position: relative;
  z-index: 1;
  overflow-wrap: anywhere;
}

.medicine-service-domain strong {
  font-family: var(--pp-font-display);
  font-size: clamp(16px, calc(1.2 * var(--pp-wide-vw, 1vw)), 20px);
  font-weight: 800;
  line-height: 1.3;
  letter-spacing: .01em;
}

.medicine-service-domain span {
  color: rgba(255, 255, 255, .88);
  font-size: 11px;
  font-weight: 700;
  line-height: 1.55;
}

.medicine-service-domain--link {
  color: #fff;
  text-decoration: none;
}

.medicine-service-domain--link > .ph {
  position: absolute;
  z-index: 2;
  top: 13px;
  right: 13px;
  font-size: 17px;
  opacity: .78;
  transition: opacity 180ms ease, transform 180ms ease;
}

.medicine-service-domain--link:hover > .ph,
.medicine-service-domain--link:focus-visible > .ph {
  opacity: 1;
  transform: translate(2px, -2px);
}

.medicine-service-domain--link:focus-visible {
  z-index: 3;
  outline: 3px solid #fff;
  outline-offset: 3px;
}

.medicine-service-shortcuts {
  margin-top: 18px;
  padding: 20px 0 22px;
  border: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.medicine-service-domain--glp { --domain-a: #72bfe0; --domain-b: #4eabd8; }
.medicine-service-domain--gcp { --domain-a: #5bb7df; --domain-b: #2f8eb6; }
.medicine-service-domain--reliability { --domain-a: #4eabd8; --domain-b: #287eaa; }
.medicine-service-domain--gmp { --domain-a: #46b3d9; --domain-b: #2f8eb6; }
.medicine-service-domain--csv { --domain-a: #37a4cf; --domain-b: #1f73a1; }
.medicine-service-domain--integrity { --domain-a: #2f8eb6; --domain-b: #176c9a; }
.medicine-service-domain--gep { --domain-a: #2385b3; --domain-b: #0e638f; }
.medicine-service-domain--gqp { --domain-a: #176c9a; --domain-b: #0b527b; }
.medicine-service-domain--gvp { --domain-a: #0f5e8d; --domain-b: #004a99; }
.medicine-service-domain--gdp { --domain-a: #1e6fa3; --domain-b: #013641; }

.medicine-brochure-service-pair {
  display: grid;
  grid-template-columns: 1fr;
}

.medicine-brochure-service {
  padding: clamp(34px, calc(5 * var(--pp-wide-vw, 1vw)), 68px);
  background: #a9c8d3;
}

#medicine-consultation,
#medicine-operations,
#medicine-issues,
#medical-device-consultation,
#medical-device-operations,
#medical-device-issues {
  background: transparent;
}

.medical-device-service-lifecycle {
  grid-column: 1 / -1;
  grid-template-columns: repeat(3, minmax(0, 1fr) 18px) minmax(0, 1fr);
  align-items: start;
}

.medical-device-service-lifecycle > .medicine-service-lifecycle__arrow {
  margin-top: 31px;
}

.medicine-service-lifecycle__stage--has-dropdown {
  align-content: start;
}

@media (hover: hover) {
  .medicine-service-lifecycle__stage--has-dropdown:hover,
  .medicine-service-lifecycle__stage--has-dropdown:focus-within {
    transform: none;
  }
}

.medical-device-lifecycle-toggle {
  display: flex;
  width: 100%;
  min-width: 0;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 0;
  color: inherit;
  border: 0;
  background: transparent;
  text-align: left;
  cursor: pointer;
}

.medical-device-lifecycle-toggle i {
  flex: 0 0 auto;
  font-size: 20px;
  transition: transform 220ms cubic-bezier(.2, .8, .2, 1);
}

.medical-device-lifecycle-toggle[aria-expanded="true"] i {
  transform: rotate(180deg);
}

.medical-device-lifecycle-toggle:focus-visible {
  outline: 3px solid rgba(255, 255, 255, .78);
  outline-offset: 5px;
}

.medicine-service-lifecycle__stage--has-dropdown > ul {
  display: grid;
  gap: 8px;
  margin: 14px 0 0;
  padding: 14px 0 0;
  border-top: 1px solid rgba(255, 255, 255, .48);
  list-style: none;
  animation: medical-device-area-drop 220ms ease both;
}

.medicine-service-lifecycle__stage--has-dropdown > ul[hidden] {
  display: none !important;
}

.medicine-service-lifecycle__stage--has-dropdown > ul li {
  position: relative;
  padding-left: 13px;
  font-size: clamp(11px, calc(.82 * var(--pp-wide-vw, 1vw)), 13px);
  font-weight: 700;
  line-height: 1.65;
  overflow-wrap: anywhere;
}

.medicine-service-lifecycle__stage--has-dropdown > ul li::before {
  position: absolute;
  top: .7em;
  left: 0;
  width: 5px;
  height: 5px;
  content: "";
  background: rgba(255, 255, 255, .82);
  border-radius: 50%;
}

.medicine-service-lifecycle__stage--has-dropdown > ul a {
  color: inherit;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.medicine-service-lifecycle__stage--has-dropdown > ul a:hover,
.medicine-service-lifecycle__stage--has-dropdown > ul a:focus-visible {
  text-decoration-thickness: 2px;
}

.medical-device-area-group--system {
  --area-accent: #6f78a8;
  grid-column: 1 / -1;
}

.medical-device-area-group--system .medicine-service-area-group__cards {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

@media (min-width: 981px) {
  .medicine-brochure .medical-device-service-area-map {
    grid-template-columns: repeat(7, minmax(0, 1fr));
  }

  .medical-device-service-area-map > .medical-device-area-group--standards {
    grid-column: 1 / span 2;
  }

  .medical-device-service-area-map > .medical-device-area-group--development {
    grid-column: 3 / span 3;
  }

  .medical-device-service-area-map > .medical-device-area-group--audit {
    grid-column: 6 / span 2;
  }

  .medical-device-service-area-map > .medical-device-area-group--system {
    grid-column: 1 / -1;
  }
}

.medicine-service-area-map--dropdown {
  align-items: start !important;
}

.medicine-service-area-map--dropdown > .medicine-service-area-group {
  padding-bottom: 0;
}

.medicine-service-area-map--dropdown > .medicine-service-area-group.is-open {
  padding-bottom: 10px;
}

.medicine-service-area-map--dropdown > .medicine-service-area-group > header {
  margin-bottom: 0;
}

.medicine-service-area-map--dropdown > .medicine-service-area-group.is-open > header {
  margin-bottom: 10px;
}

.medical-device-area-toggle {
  display: grid;
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  margin-left: auto;
  place-items: center;
  padding: 0;
  color: #fff;
  border: 1px solid rgba(255, 255, 255, .48);
  border-radius: 50%;
  background: transparent;
  cursor: pointer;
}

.medical-device-area-toggle i {
  font-size: 20px;
  transition: transform 220ms cubic-bezier(.2, .8, .2, 1);
}

.medical-device-area-toggle[aria-expanded="true"] i {
  transform: rotate(90deg);
}

.medical-device-area-toggle:hover,
.medical-device-area-toggle:focus-visible {
  color: #263a49;
  background: #fff;
}

.medical-device-area-toggle:focus-visible {
  outline: 3px solid rgba(255, 255, 255, .72);
  outline-offset: 3px;
}

.medicine-service-area-map--dropdown .medicine-service-area-group__cards:not([hidden]) {
  animation: medical-device-area-drop 220ms ease both;
}

.medicine-service-area-map--dropdown .medicine-service-area-group__cards[hidden] {
  display: none !important;
}

.medical-device-service-area-map .medicine-service-area-group__cards {
  grid-template-columns: 1fr !important;
}

.medical-device-service-area-map .medicine-service-domain,
.medical-device-service-area-map .medicine-service-domain :is(strong, span) {
  min-width: 0;
  overflow-wrap: anywhere;
}

.medical-device-service-area-map .medicine-service-domain {
  grid-column: auto !important;
  padding-inline: 14px;
}

.medical-device-additional-support {
  margin: clamp(20px, calc(3 * var(--pp-wide-vw, 1vw)), 34px) 0 0;
  padding: clamp(28px, calc(4 * var(--pp-wide-vw, 1vw)), 50px);
  border: 1px solid rgba(0, 61, 85, .16);
  background: rgba(224, 240, 247, .42);
  -webkit-backdrop-filter: blur(10px) saturate(.9);
  backdrop-filter: blur(10px) saturate(.9);
  box-shadow: 0 16px 38px rgba(0, 44, 61, .08);
}

.medical-device-additional-support__heading {
  max-width: 860px;
}

.medical-device-additional-support__heading p {
  margin: 0 0 12px;
  color: #1d87ad;
  font-family: var(--pp-font-latin);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .18em;
}

.medical-device-additional-support__heading h3 {
  margin: 0;
  color: var(--pp-ink);
  font-family: var(--pp-font-display);
  font-size: clamp(24px, calc(2.4 * var(--pp-wide-vw, 1vw)), 38px);
  font-weight: 800;
  line-height: 1.35;
}

.medical-device-additional-support__heading span {
  display: block;
  margin-top: 12px;
  color: rgba(0, 44, 61, .72);
  font-size: clamp(13px, calc(1 * var(--pp-wide-vw, 1vw)), 15px);
  line-height: 1.8;
}

.medical-device-additional-support__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(10px, calc(1.3 * var(--pp-wide-vw, 1vw)), 16px);
  margin: clamp(24px, calc(3 * var(--pp-wide-vw, 1vw)), 38px) 0 0;
}

.medical-device-additional-support__group {
  min-width: 0;
  border: 1px solid rgba(0, 61, 85, .12);
  background: rgba(255, 255, 255, .74);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
}

.medical-device-additional-support__group > header {
  display: flex;
  min-height: 84px;
  align-items: center;
  gap: 14px;
  padding: 15px 16px;
  color: #fff;
  border-top: 4px solid var(--additional-accent);
  background: #4d5661;
}

.medical-device-additional-support__group > header p {
  min-width: 0;
  margin: 0;
}

.medical-device-additional-support__group > header small {
  display: block;
  margin-bottom: 6px;
  color: rgba(255, 255, 255, .68);
  font-family: var(--pp-font-latin);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .14em;
}

.medical-device-additional-support__group > header strong {
  display: block;
  color: inherit;
  font-family: var(--pp-font-display);
  font-size: clamp(17px, calc(1.35 * var(--pp-wide-vw, 1vw)), 21px);
  font-weight: 800;
  line-height: 1.35;
}

.medical-device-additional-support__group > ul {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 20px 20px 22px;
  list-style: none;
  animation: medical-device-area-drop 220ms ease both;
}

.medical-device-additional-support__group > ul[hidden] {
  display: none !important;
}

.medical-device-additional-support__group > ul li {
  position: relative;
  padding-left: 16px;
  color: #183847;
  font-size: clamp(13px, calc(1 * var(--pp-wide-vw, 1vw)), 15px);
  font-weight: 600;
  line-height: 1.75;
  overflow-wrap: anywhere;
}

.medical-device-additional-support__group > ul li::before {
  position: absolute;
  top: .7em;
  left: 0;
  width: 6px;
  height: 6px;
  content: "";
  background: var(--additional-accent);
  transform: rotate(45deg);
}

.medical-device-additional-support__link {
  display: flex;
  width: fit-content;
  align-items: center;
  gap: 10px;
  margin: 24px 0 0 auto;
  color: #0b405d;
  font-size: 13px;
  font-weight: 800;
  text-underline-offset: 5px;
}

.medical-device-additional-support__link:hover,
.medical-device-additional-support__link:focus-visible {
  color: var(--pp-primary);
}

@media (max-width: 760px) {
  .medical-device-additional-support {
    padding: 26px 20px 30px;
  }

  .medical-device-additional-support__grid {
    grid-template-columns: 1fr;
  }
}

@keyframes medical-device-area-drop {
  from { opacity: 0; transform: translateY(-8px); }
  to { opacity: 1; transform: translateY(0); }
}

/* The brochure presents the four medical-device support areas as one row.
   Keep that scan order on wide screens, then fall back to the existing
   responsive stack before the cards become cramped. */
@media (min-width: 981px) {
  body[data-page="region01"] .medicine-service-area-map--dropdown {
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 1.65fr) minmax(160px, .65fr);
  }

  body[data-page="region01"] .medicine-service-area-map--dropdown > .medicine-service-lifecycle {
    grid-column: 1 / -1;
  }

  body[data-page="region01"] .medicine-service-area-map--dropdown > .medicine-service-area-group {
    grid-column: auto;
  }

  body[data-page="region01"] .medicine-service-area-map--dropdown > :is(
    .medicine-service-area-group--cosmetics,
    .medicine-service-area-group--common
  ) {
    grid-column: 1 / -1;
  }
}

@media (max-width: 720px) {
  .medicine-service-area-map--dropdown {
    grid-template-columns: 1fr !important;
  }

  .medicine-service-area-map--dropdown > .medicine-service-lifecycle,
  .medicine-service-area-map--dropdown > .medicine-service-area-group {
    grid-column: 1 !important;
  }

  .medicine-cosmetics-standards,
  .medicine-cosmetics-needs ul {
    grid-template-columns: 1fr;
  }
}

.medical-device-area-group--audit .medicine-service-area-group__cards {
  gap: 10px;
}

.medical-device-area-group--audit .medicine-service-domain {
  min-height: 108px;
  padding-inline: 12px;
}

.medical-device-area-group--audit .medicine-service-domain strong {
  font-size: clamp(14px, calc(1.05 * var(--pp-wide-vw, 1vw)), 17px);
}

.medical-device-area-group--development .medicine-service-domain--gdp {
  grid-column: 1 / -1;
}

#medicine-operations {
  background-color: transparent !important;
  background-image: none !important;
}

.medicine-brochure-service--operations {
  border-top: 1px solid rgba(255, 255, 255, .42);
}

.medicine-brochure-service header {
  min-height: 0;
}

.medicine-brochure-service header span {
  max-width: 36em;
}

.medicine-brochure-service header > p {
  color: #fff;
  text-shadow: var(--pp-image-copy-shadow) !important;
}

.medicine-brochure-cards {
  display: grid;
  gap: clamp(14px, calc(1.5 * var(--pp-wide-vw, 1vw)), 24px);
}

.medicine-brochure-cards > :is(a, article) {
  --medicine-service-image: none;
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 42%) clamp(58px, calc(6 * var(--pp-wide-vw, 1vw)), 84px) minmax(0, 1fr);
  grid-template-rows: auto 1fr;
  min-height: clamp(200px, calc(19 * var(--pp-wide-vw, 1vw)), 270px);
  overflow: hidden;
  color: #fff;
  background: #071f31;
  text-decoration: none;
  isolation: isolate;
  transition: transform 220ms ease, box-shadow 220ms ease;
}

.medicine-brochure-cards > :is(a, article)::before {
  position: absolute;
  inset: -18px;
  z-index: -2;
  content: "";
  background-image: var(--medicine-service-image);
  background-position: center;
  background-size: cover;
  filter: saturate(.82) brightness(.78);
  transform: scale(1.06);
  transition: transform 480ms ease;
}

.medicine-brochure-cards > :is(a, article)::after {
  position: absolute;
  inset: 0;
  z-index: -1;
  content: "";
  background: linear-gradient(90deg, rgba(84, 178, 220, .52) 0%, rgba(84, 178, 220, .52) 48%, rgba(4, 27, 43, .42) 100%);
}

.medicine-brochure-cards > a:hover,
.medicine-brochure-cards > a:focus-visible,
.medicine-brochure-cards > article:hover {
  color: #fff;
  outline: 2px solid #fff;
  outline-offset: 4px;
  transform: translateY(-5px);
  box-shadow: 0 18px 38px rgba(0, 44, 61, .24);
}

.medicine-brochure-cards > a:hover::before,
.medicine-brochure-cards > a:focus-visible::before,
.medicine-brochure-cards > article:hover::before {
  transform: scale(1.095);
}

.medicine-brochure-cards > article:hover {
  outline: none;
}

.medicine-brochure-cards > :is(a, article) > span {
  grid-column: 1;
  grid-row: 1;
  align-self: stretch;
  padding: clamp(26px, calc(3.3 * var(--pp-wide-vw, 1vw)), 52px) clamp(26px, calc(3.3 * var(--pp-wide-vw, 1vw)), 52px) 0;
  color: #fff;
  background: rgba(84, 178, 220, .48);
  font-family: var(--pp-font-latin);
  font-size: clamp(32px, calc(4 * var(--pp-wide-vw, 1vw)), 56px);
  font-weight: 400;
  line-height: 1;
  letter-spacing: .02em;
}

.medicine-brochure-cards > :is(a, article) > h4 {
  grid-column: 1;
  grid-row: 2;
  align-self: stretch;
  margin: 0;
  padding: clamp(12px, calc(1.4 * var(--pp-wide-vw, 1vw)), 20px) clamp(26px, calc(3.3 * var(--pp-wide-vw, 1vw)), 52px) clamp(26px, calc(3.3 * var(--pp-wide-vw, 1vw)), 52px);
  color: #fff;
  background: rgba(84, 178, 220, .48);
  font-family: var(--pp-font-display);
  font-size: clamp(20px, calc(1.65 * var(--pp-wide-vw, 1vw)), 30px);
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: .04em;
}

.medicine-brochure-cards > a > p,
.medicine-brochure-cards > a > ul,
.medicine-brochure-cards > article > ul {
  grid-column: 3;
  grid-row: 1 / span 2;
  align-self: stretch;
  margin: 0;
  padding: clamp(26px, calc(3.3 * var(--pp-wide-vw, 1vw)), 52px);
  color: rgba(255, 255, 255, .92);
  background: linear-gradient(135deg, rgba(7, 31, 49, .94), rgba(11, 52, 77, .86));
  font-size: clamp(13px, calc(.9 * var(--pp-wide-vw, 1vw)), 15px);
  font-weight: 600;
  line-height: 1.9;
}

.medicine-brochure-cards > a > ul,
.medicine-brochure-cards > article > ul {
  display: grid;
  align-content: center;
  gap: 7px;
  list-style: none;
}

.medicine-brochure-cards li {
  position: relative;
  padding-left: 15px;
}

.medicine-brochure-cards li::before {
  position: absolute;
  top: .75em;
  left: 0;
  width: 5px;
  height: 5px;
  content: "";
  background: #9edff6;
}

.medicine-brochure-cards > :is(a, article) > i {
  position: relative;
  z-index: 1;
  grid-column: 2;
  grid-row: 1 / span 2;
  align-self: center;
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  border-right: 1px solid rgba(255, 255, 255, .9);
  border-left: 1px solid rgba(255, 255, 255, .9);
  background: rgba(84, 178, 220, .5);
  font-size: clamp(25px, calc(2.2 * var(--pp-wide-vw, 1vw)), 34px);
  transition: padding-left 180ms ease;
}

.medicine-brochure-cards > a:hover > i,
.medicine-brochure-cards > a:focus-visible > i,
.medicine-brochure-cards > article:hover > i,
.medicine-brochure-cards > article:focus-within > i {
  padding-left: 8px;
}

.medicine-issue-cards > article > i {
  padding-left: 0;
  transition: transform 180ms ease;
}

.medicine-issue-cards > article:hover > i {
  padding-left: 0;
  transform: translateX(6px);
}

.medicine-brochure-cards > :is(a, article).has-disclosure > .medicine-brochure-card-image {
  grid-column: 3;
  grid-row: 1 / span 2;
  z-index: 1;
  min-height: 100%;
  background-image: var(--medicine-service-image);
  background-position: center;
  background-size: cover;
  filter: saturate(.82) brightness(.78);
  opacity: 1;
  transform: scale(1);
  transition: opacity .38s ease, transform .48s ease;
}

.medicine-brochure-cards > :is(a, article).has-disclosure.is-open > .medicine-brochure-card-image {
  opacity: 0;
  pointer-events: none;
  transform: scale(1.02);
}

.medicine-brochure-cards > :is(a, article).has-disclosure > :is(p, ul, .medicine-brochure-gap-detail) {
  z-index: 2;
  opacity: 0;
  pointer-events: none;
  transform: translateX(18px);
  transition: opacity .42s ease, transform .5s cubic-bezier(.2, .75, .2, 1);
}

.medicine-brochure-cards > :is(a, article).has-disclosure.is-open > :is(p, ul, .medicine-brochure-gap-detail) {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
  transform: translateX(0);
}

.medicine-brochure-cards h4 small {
  display: block;
  margin-top: 8px;
  font-family: var(--pp-font-latin);
  font-size: .5em;
  font-weight: 700;
  letter-spacing: .04em;
}

.medicine-brochure-gap-detail {
  grid-column: 3;
  grid-row: 1 / span 2;
  align-self: stretch;
  display: grid;
  align-content: center;
  gap: clamp(16px, calc(2 * var(--pp-wide-vw, 1vw)), 24px);
  padding: clamp(24px, calc(2.7 * var(--pp-wide-vw, 1vw)), 42px);
  color: rgba(255, 255, 255, .92);
  background: linear-gradient(135deg, rgba(7, 31, 49, .96), rgba(11, 52, 77, .9));
  font-size: clamp(12px, calc(.82 * var(--pp-wide-vw, 1vw)), 14px);
  font-weight: 600;
  line-height: 1.75;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  transform: translateX(18px);
  transition: visibility 0s linear .5s, opacity .42s ease, transform .5s cubic-bezier(.2, .75, .2, 1);
}

.medicine-brochure-gap-card.is-open .medicine-brochure-gap-detail {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
  transform: translateX(0);
  transition-delay: 0s;
}

.medicine-brochure-gap-detail p {
  margin: 0;
}

.medicine-brochure-gap-links {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: clamp(16px, calc(2 * var(--pp-wide-vw, 1vw)), 28px);
}

.medicine-brochure-gap-links a {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  padding: 8px 0;
  color: #fff;
  border-top: 1px solid rgba(255, 255, 255, .72);
  font-size: clamp(11px, calc(.75 * var(--pp-wide-vw, 1vw)), 13px);
  font-weight: 700;
  line-height: 1.35;
  text-decoration: none;
}

.medicine-brochure-gap-links a:hover,
.medicine-brochure-gap-links a:focus-visible {
  color: #9edff6;
  outline: none;
}

.medicine-brochure-gap-toggle {
  position: relative;
  z-index: 3;
  grid-column: 2;
  grid-row: 1 / span 2;
  display: grid;
  place-items: center;
  width: 100%;
  min-width: 0;
  height: 100%;
  padding: 0;
  color: #fff;
  border: 0;
  border-right: 1px solid rgba(255, 255, 255, .92);
  border-left: 1px solid rgba(255, 255, 255, .92);
  background: rgba(84, 178, 220, .48);
  cursor: pointer;
  opacity: 0;
  transform: translateX(-10px);
  transition: background-color .3s ease, opacity .36s ease, transform .44s cubic-bezier(.2, .75, .2, 1);
}

.medicine-brochure-cards > :is(a, article).is-revealed > .medicine-brochure-gap-toggle {
  opacity: 1;
  transform: translateX(0);
}

.medicine-brochure-gap-toggle i {
  font-size: clamp(25px, calc(2.2 * var(--pp-wide-vw, 1vw)), 34px);
  line-height: 1;
  transition: transform 180ms ease;
}

.medicine-brochure-gap-toggle:hover i,
.medicine-brochure-gap-toggle:focus-visible i {
  transform: translateX(6px);
}

.medicine-brochure-gap-toggle:focus-visible {
  outline: 2px solid #fff;
  outline-offset: -5px;
}

.medicine-brochure-cards > :is(a, article).is-open > .medicine-brochure-gap-toggle i {
  transform: rotate(180deg);
}

.medicine-brochure-cards > :is(a, article).is-open > .medicine-brochure-gap-toggle:hover i,
.medicine-brochure-cards > :is(a, article).is-open > .medicine-brochure-gap-toggle:focus-visible i {
  transform: translateX(-6px) rotate(180deg);
}

.medicine-brochure-service--issues {
  border-top: 1px solid rgba(255, 255, 255, .42);
  background: #e7f0f4 !important;
}

#medicine-issues > .medicine-service-section-heading {
  align-items: center;
  text-align: center;
}

#medicine-issues > .medicine-service-section-heading h3 {
  width: fit-content;
  color: #111;
  border-bottom: 1px solid rgba(1, 54, 65, .72);
  font-size: clamp(28px, calc(3 * var(--pp-wide-vw, 1vw)), 36px);
  font-weight: 700;
  text-shadow: none !important;
}

#medicine-issues > .medicine-service-section-heading p,
#medicine-issues > .medicine-service-section-heading span {
  color: #405866;
  text-shadow: none !important;
}

#medicine-issues > .medicine-service-section-heading span {
  margin-inline: auto !important;
  text-align: center;
}

/* Region 01 issue menu: problem first, related solution and latest results on demand. */
.medicine-issue-reveal-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  align-items: start;
  gap: clamp(16px, calc(1.7 * var(--pp-wide-vw, 1vw)), 24px);
  width: 100%;
}

.medicine-issue-reveal {
  --issue-reveal-accent: #55abc2;
  grid-column: span 2;
  min-width: 0;
  transition: grid-column .35s ease;
}

.medicine-issue-reveal[data-service-area="gmp"] {
  --issue-reveal-accent: #55abc2;
}

.medicine-issue-reveal[data-service-area="approval"] {
  --issue-reveal-accent: #7e75aa;
}

.medicine-issue-reveal[data-service-area="market"] {
  --issue-reveal-accent: #bc578b;
}

.medicine-issue-reveal[data-service-area="md-standards"] {
  --issue-reveal-accent: #aeb73c;
}

.medicine-issue-reveal[data-service-area="md-development"] {
  --issue-reveal-accent: #4aaeb8;
}

.medicine-issue-reveal[data-service-area="md-audit"] {
  --issue-reveal-accent: #b95689;
}

.medicine-issue-reveal[data-service-area="md-system"] {
  --issue-reveal-accent: #6f78a8;
}

.medicine-issue-reveal:nth-child(n + 4) {
  grid-column: span 3;
}

.medicine-issue-reveal.is-open {
  grid-column: 1 / -1;
}

.medicine-issue-reveal__problem {
  position: relative;
  isolation: isolate;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  width: 100%;
  min-height: clamp(250px, calc(25 * var(--pp-wide-vw, 1vw)), 320px);
  padding: clamp(24px, calc(3 * var(--pp-wide-vw, 1vw)), 38px) clamp(24px, calc(2.4 * var(--pp-wide-vw, 1vw)), 34px) 78px;
  overflow: hidden;
  border: 0;
  border-top: 4px solid var(--issue-reveal-accent);
  color: #fff;
  text-align: left;
  background-color: #11394f;
  background-image: linear-gradient(180deg, rgba(3, 28, 44, .16) 12%, rgba(5, 34, 52, .9) 82%), var(--medicine-service-image);
  background-position: center;
  background-size: cover;
  box-shadow: 0 18px 42px rgba(0, 44, 61, .2);
  cursor: pointer;
  transition: box-shadow .28s ease, transform .28s ease;
}

.medicine-issue-reveal__problem::before {
  position: absolute;
  inset: 0;
  z-index: -1;
  content: "";
  background: linear-gradient(120deg, color-mix(in srgb, var(--issue-reveal-accent) 40%, transparent), transparent 56%);
  opacity: .58;
}

.medicine-issue-reveal__problem:hover,
.medicine-issue-reveal__problem:focus-visible {
  box-shadow: 0 24px 52px rgba(0, 44, 61, .28);
  outline: none;
  transform: translateY(-4px);
}

.medicine-issue-reveal__problem:focus-visible {
  outline: 2px solid #fff;
  outline-offset: -7px;
}

.medicine-issue-reveal__problem small {
  display: block;
  margin-bottom: 10px;
  color: rgba(255, 255, 255, .76);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .16em;
}

.medicine-issue-reveal__problem strong {
  display: block;
  max-width: 31em;
  font-size: clamp(15px, calc(1.2 * var(--pp-wide-vw, 1vw)), 19px);
  line-height: 1.65;
  letter-spacing: .025em;
}

.medicine-issue-reveal__categories {
  position: absolute;
  right: 58px;
  bottom: 0;
  left: 0;
  display: flex;
  align-items: center;
  gap: 1px;
  min-height: 58px;
  background: rgba(7, 31, 49, .82);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.medicine-issue-reveal__categories > span {
  display: grid;
  flex: .72 1 0;
  min-width: 0;
  min-height: 58px;
  padding: 10px 8px 10px 12px;
  border-right: 1px solid rgba(255, 255, 255, .18);
  color: rgba(255, 255, 255, .88);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .05em;
  white-space: nowrap;
  place-items: center start;
}

.medicine-issue-reveal__categories > span:last-child {
  flex-grow: 1.28;
}

.medicine-issue-reveal__action {
  position: absolute;
  right: 0;
  bottom: 0;
  display: grid;
  width: 58px;
  height: 58px;
  color: #fff;
  background: #68727c;
  place-items: center;
}

.medicine-issue-reveal__action i {
  font-size: 21px;
  transition: transform .25s ease;
}

.medicine-issue-reveal.is-open .medicine-issue-reveal__action i {
  transform: rotate(180deg);
}

.medicine-issue-reveal__connector {
  display: block;
  width: 46px;
  height: 20px;
  margin: 0 auto;
  background: #68727c;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}

.medicine-issue-reveal__detail {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1.35fr) minmax(180px, .7fr);
  gap: 1px;
  overflow: hidden;
  color: #fff;
  background: rgba(255, 255, 255, .34);
  box-shadow: 0 18px 42px rgba(0, 44, 61, .2);
}

.medicine-issue-reveal__detail[hidden] {
  display: none;
}

.medicine-issue-reveal__detail > section {
  min-width: 0;
  padding: clamp(24px, calc(3 * var(--pp-wide-vw, 1vw)), 40px);
  background: linear-gradient(135deg, rgba(7, 31, 49, .97), rgba(11, 52, 77, .93));
}

.medicine-issue-reveal__detail h4 {
  margin: 0 0 18px;
  color: #9edff6;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .14em;
}

.medicine-issue-reveal__detail ul {
  display: grid;
  gap: 9px;
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: clamp(13px, calc(.9 * var(--pp-wide-vw, 1vw)), 15px);
  font-weight: 600;
  line-height: 1.85;
}

.medicine-issue-reveal__detail li {
  position: relative;
  padding-left: 15px;
}

.medicine-issue-reveal__detail li::before {
  position: absolute;
  top: .75em;
  left: 0;
  width: 5px;
  height: 5px;
  content: "";
  background: var(--issue-reveal-accent);
}

.medicine-issue-reveal__results {
  display: grid;
  gap: 10px;
}

.medicine-issue-reveal__results > a {
  display: grid;
  gap: 7px;
  padding: 14px 0;
  border-top: 1px solid rgba(255, 255, 255, .24);
  color: #fff;
  text-decoration: none;
}

.medicine-issue-reveal__results > a:first-child {
  padding-top: 0;
  border-top: 0;
}

.medicine-issue-reveal__results > a span {
  color: rgba(255, 255, 255, .62);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .08em;
}

.medicine-issue-reveal__results > a strong {
  font-size: clamp(13px, calc(.9 * var(--pp-wide-vw, 1vw)), 15px);
  line-height: 1.7;
}

.medicine-issue-reveal__results > a:hover strong,
.medicine-issue-reveal__results > a:focus-visible strong {
  color: #9edff6;
}

.medicine-issue-reveal__services {
  display: flex;
  flex-wrap: wrap;
  align-content: flex-start;
  gap: 8px;
}

.medicine-issue-reveal__services span {
  padding: 8px 11px;
  border: 1px solid rgba(158, 223, 246, .58);
  color: #d8f3fc;
  font-size: 11px;
  font-weight: 700;
}

@media (max-width: 980px) {
  .medicine-issue-reveal-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .medicine-issue-reveal,
  .medicine-issue-reveal:nth-child(n + 4) {
    grid-column: span 1;
  }

  .medicine-issue-reveal.is-open {
    grid-column: 1 / -1;
  }
}

@media (max-width: 620px) {
  .medicine-issue-reveal-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .medicine-issue-reveal,
  .medicine-issue-reveal:nth-child(n + 4),
  .medicine-issue-reveal.is-open {
    grid-column: 1;
  }

  .medicine-issue-reveal__problem {
    min-height: 270px;
    padding: 24px 22px 76px;
  }

  .medicine-issue-reveal__detail {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Region 01 issue menu: always-visible organization diagram inspired by the supplied reference. */
.medicine-issue-organization {
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(28px, calc(3.4 * var(--pp-wide-vw, 1vw)), 44px);
}

.medicine-issue-organization__people {
  grid-area: people;
  position: relative;
  z-index: 3;
  display: grid;
  width: 100%;
  margin: -26px 0 0;
  padding: 0 44px 10px;
  border-top: 0;
  background: transparent;
  place-items: end center;
}

.medicine-issue-organization__people img {
  display: block;
  width: min(100%, 720px);
  max-height: 175px;
  margin: 0 auto;
  object-fit: contain;
}

.medicine-issue-organization .medicine-issue-reveal,
.medicine-issue-organization .medicine-issue-reveal:nth-child(n + 4),
.medicine-issue-organization .medicine-issue-reveal.is-open {
  display: grid;
  grid-column: 1;
  grid-template-columns: minmax(270px, .78fr) 30px minmax(0, 1.5fr);
  align-items: center;
  min-width: 0;
  transition: none;
}

.medicine-issue-organization .medicine-issue-reveal__problem {
  justify-content: flex-start;
  min-height: 214px;
  padding: clamp(28px, calc(2.8 * var(--pp-wide-vw, 1vw)), 38px);
  border: 1px solid rgba(1, 54, 65, .72);
  border-radius: 26px;
  color: var(--pp-ink, #013641);
  background: rgba(238, 247, 252, .9);
  box-shadow: none;
  cursor: default;
}

.medicine-issue-organization .medicine-issue-reveal__problem::before {
  display: none;
}

.medicine-issue-organization .medicine-issue-reveal__problem:hover,
.medicine-issue-organization .medicine-issue-reveal__problem:focus-visible {
  box-shadow: none;
  outline: none;
  transform: none;
}

.medicine-issue-organization .medicine-issue-reveal__problem small {
  width: fit-content;
  margin: 0 0 10px;
  padding: 4px 7px;
  border: 1px solid var(--issue-reveal-accent);
  color: var(--pp-primary-strong, #2f8eb6);
  background: #fff;
  font-size: 10px;
  letter-spacing: .16em;
}

.medicine-issue-reveal__problem-label {
  display: block;
  margin-bottom: 15px;
  color: var(--pp-ink, #013641);
  font-size: clamp(20px, calc(1.8 * var(--pp-wide-vw, 1vw)), 26px);
  font-weight: 700;
  line-height: 1.3;
}

.medicine-issue-organization .medicine-issue-reveal__problem strong {
  max-width: none;
  color: #27404d;
  font-size: clamp(13px, calc(.94 * var(--pp-wide-vw, 1vw)), 15px);
  font-weight: 600;
  line-height: 1.8;
  letter-spacing: .01em;
}

.medicine-issue-organization .medicine-issue-reveal__connector {
  display: block;
  width: 30px;
  height: 1px;
  margin: 0;
  background: rgba(1, 54, 65, .35);
}

.medicine-issue-organization .medicine-issue-reveal__connector i {
  display: none;
}

.medicine-issue-organization .medicine-issue-reveal__detail,
.medicine-issue-organization .medicine-issue-reveal__detail[hidden] {
  display: grid;
  grid-template-areas:
    "results results"
    "services solution"
    "people people";
  grid-template-columns: minmax(170px, .55fr) minmax(0, 1.45fr);
  grid-template-rows: auto minmax(148px, auto);
  gap: 0;
  overflow: hidden;
  border: 1px solid rgba(1, 54, 65, .26);
  color: var(--pp-ink, #013641);
  background: #fff;
  box-shadow: none;
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 54px), calc(100% - 86px) 100%, 0 100%);
}

.medicine-issue-organization .medicine-issue-reveal__detail > section {
  min-width: 0;
  padding: clamp(20px, calc(2.4 * var(--pp-wide-vw, 1vw)), 30px);
  color: var(--pp-ink, #013641);
  background: #fff;
}

.medicine-issue-organization .medicine-issue-reveal__detail > section:nth-child(1) {
  grid-area: solution;
  background: #edf3f5;
}

.medicine-issue-organization .medicine-issue-reveal__detail > section:nth-child(2) {
  grid-area: results;
  border-bottom: 1px solid rgba(1, 54, 65, .18);
}

.medicine-issue-organization .medicine-issue-reveal__detail > section:nth-child(3) {
  grid-area: services;
  position: relative;
  z-index: 2;
  align-self: start;
  width: calc(100% - 22px);
  margin: 24px 0 34px 22px;
  padding: 20px;
  border: 1px solid rgba(1, 54, 65, .72);
  border-radius: 20px;
  background: #e7f0f4;
}

.medicine-issue-organization .medicine-issue-reveal__detail h4 {
  display: inline-block;
  margin: 0 0 17px;
  padding: 6px 10px;
  border: 1px solid rgba(1, 54, 65, .72);
  color: var(--pp-ink, #013641);
  background: #fff;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: .05em;
}

.medicine-issue-organization .medicine-issue-reveal__detail ul {
  gap: 8px;
  padding-left: 1.25em;
  color: #27404d;
  font-size: clamp(13px, calc(.9 * var(--pp-wide-vw, 1vw)), 15px);
  font-weight: 600;
  line-height: 1.75;
  list-style: disc;
}

.medicine-issue-organization .medicine-issue-reveal__detail li {
  padding-left: 0;
}

.medicine-issue-organization .medicine-issue-reveal__detail li::before {
  display: none;
}

.medicine-issue-organization .medicine-issue-reveal__results {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.medicine-issue-organization .medicine-issue-reveal__results > a,
.medicine-issue-organization .medicine-issue-reveal__results > a:first-child {
  gap: 5px;
  min-width: 0;
  padding: 12px 14px;
  border: 1px solid rgba(78, 171, 216, .32);
  color: var(--pp-ink, #013641);
  background: #f9fcfe;
}

.medicine-issue-organization .medicine-issue-reveal__results > a span {
  color: var(--pp-muted, #64727c);
}

.medicine-issue-organization .medicine-issue-reveal__results > a strong {
  color: var(--pp-deep, #004a99);
  font-size: 13px;
  line-height: 1.6;
  text-decoration: underline;
  text-decoration-color: rgba(78, 171, 216, .7);
  text-underline-offset: 3px;
}

.medicine-issue-organization .medicine-issue-reveal__results > a:hover strong,
.medicine-issue-organization .medicine-issue-reveal__results > a:focus-visible strong {
  color: var(--pp-primary-strong, #2f8eb6);
}

.medicine-issue-organization .medicine-issue-reveal__results > a:focus-visible {
  outline: 2px solid var(--pp-primary-strong, #2f8eb6);
  outline-offset: 2px;
}

.medicine-issue-organization .medicine-issue-reveal__services {
  display: grid;
  gap: 8px;
}

.medicine-issue-organization .medicine-issue-reveal__services span {
  padding: 9px 11px;
  border: 1px solid rgba(47, 142, 182, .36);
  color: var(--pp-ink, #013641);
  background: rgba(255, 255, 255, .8);
  font-size: 12px;
  line-height: 1.45;
}

@media (min-width: 1440px) {
  #medicine-issues > .medicine-service-section-heading,
  .medicine-issue-organization {
    --medicine-issue-organization-breakout: clamp(0px, calc((calc(100 * var(--pp-wide-vw, 1vw)) - 1440px) * .583), 280px);
    width: calc(100% + var(--medicine-issue-organization-breakout));
    margin-left: calc(-1 * var(--medicine-issue-organization-breakout));
  }
}

@media (max-width: 980px) {
  .medicine-issue-organization .medicine-issue-reveal,
  .medicine-issue-organization .medicine-issue-reveal:nth-child(n + 4),
  .medicine-issue-organization .medicine-issue-reveal.is-open {
    grid-template-columns: minmax(235px, .72fr) 24px minmax(0, 1.28fr);
  }

  .medicine-issue-organization .medicine-issue-reveal__connector {
    width: 24px;
  }

  .medicine-issue-organization .medicine-issue-reveal__results {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 720px) {
  #medicine-issues > .medicine-service-section-heading h3 {
    font-size: 24px;
    letter-spacing: 0;
    white-space: nowrap;
  }

  .medicine-issue-organization {
    gap: 30px;
  }

  .medicine-issue-organization__people {
    margin: -16px 0 0;
    padding: 10px 14px 0;
  }

  .medicine-issue-organization__people img {
    max-height: 150px;
  }

  .medicine-issue-organization .medicine-issue-reveal,
  .medicine-issue-organization .medicine-issue-reveal:nth-child(n + 4),
  .medicine-issue-organization .medicine-issue-reveal.is-open {
    grid-template-columns: minmax(0, 1fr);
  }

  .medicine-issue-organization .medicine-issue-reveal__problem {
    min-height: 0;
    padding: 28px;
    border-radius: 22px;
  }

  .medicine-issue-organization .medicine-issue-reveal__connector {
    width: 1px;
    height: 30px;
    margin: 0 auto;
  }

  .medicine-issue-organization .medicine-issue-reveal__detail,
  .medicine-issue-organization .medicine-issue-reveal__detail[hidden] {
    grid-template-areas:
      "results"
      "services"
      "solution"
      "people";
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto;
    clip-path: none;
  }

  .medicine-issue-organization .medicine-issue-reveal__detail > section:nth-child(3) {
    width: auto;
    margin: 20px;
  }
}

/* Region 01 issue heading: match the Process H2 system on the page background. */
.medicine-brochure-service--issues {
  border-top: 0;
  background: transparent !important;
}

#medicine-issues > .medicine-service-section-heading {
  align-items: flex-start;
  max-width: 1050px;
  margin-bottom: clamp(44px, calc(6 * var(--pp-wide-vw, 1vw)), 76px);
  text-align: left;
}

#medicine-issues > .medicine-service-section-heading p {
  margin: 0 0 var(--pp-page-label-gap, 16px);
  color: #fff;
  text-align: left;
  text-shadow: var(--pp-image-copy-shadow) !important;
}

#medicine-issues > .medicine-service-section-heading h3 {
  display: inline-block;
  width: fit-content;
  margin: 0 0 18px;
  padding: 0;
  border-bottom: 0;
  color: #fff;
  font-size: var(--pp-page-title-size, clamp(32px, calc(4 * var(--pp-wide-vw, 1vw)), 56px));
  font-weight: var(--pp-page-title-weight, 800);
  line-height: var(--pp-page-title-line-height, 1.05);
  letter-spacing: var(--pp-page-title-letter-spacing, -.07em);
  text-align: left;
  text-decoration: none;
  text-shadow: var(--pp-image-heading-shadow) !important;
}

#medicine-issues > .medicine-service-section-heading span {
  max-width: 760px;
  margin: 0 !important;
  color: rgba(255, 255, 255, .88);
  text-align: left !important;
  text-shadow: var(--pp-image-copy-shadow) !important;
}

@media (max-width: 720px) {
  #medicine-issues > .medicine-service-section-heading {
    width: 100%;
    max-width: 100%;
    margin-right: 0;
    margin-left: 0;
  }

  #medicine-issues > .medicine-service-section-heading h3 {
    font-size: clamp(26px, calc(7.4 * var(--pp-wide-vw, 1vw)), 30px);
    letter-spacing: -.05em;
    white-space: nowrap;
  }

  #medicine-issues > .medicine-service-section-heading span {
    width: 100%;
    max-width: 100%;
  }
}

/* Final cascade for the compact Region 01 ANSWER interaction. */
body[data-page="region01"] .regulated-page {
  overflow-x: clip;
}

.medicine-issue-organization {
  display: grid;
  grid-template-columns: minmax(300px, .72fr) minmax(0, 1.48fr);
  grid-template-rows: repeat(5, minmax(0, 1fr));
  gap: 10px clamp(30px, calc(3 * var(--pp-wide-vw, 1vw)), 44px);
  align-items: stretch;
}

.medicine-issue-organization .medicine-issue-reveal,
.medicine-issue-organization .medicine-issue-reveal:nth-child(n + 4),
.medicine-issue-organization .medicine-issue-reveal.is-open {
  display: contents;
}

.medicine-issue-organization .medicine-issue-reveal__problem {
  display: grid;
  grid-column: 1;
  grid-template-areas: "tag answer" "label answer" "question answer";
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 5px 10px;
  min-height: 94px;
  padding: 13px 14px 13px 17px;
  border: 1px solid rgba(1, 54, 65, .54);
  border-radius: 16px;
  color: var(--pp-ink, #013641);
  background: rgba(244, 250, 253, .94);
  background-image: none;
  box-shadow: none;
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.medicine-issue-organization .medicine-issue-reveal:nth-child(1) .medicine-issue-reveal__problem { grid-row: 1; }
.medicine-issue-organization .medicine-issue-reveal:nth-child(2) .medicine-issue-reveal__problem { grid-row: 2; }
.medicine-issue-organization .medicine-issue-reveal:nth-child(3) .medicine-issue-reveal__problem { grid-row: 3; }
.medicine-issue-organization .medicine-issue-reveal:nth-child(4) .medicine-issue-reveal__problem { grid-row: 4; }
.medicine-issue-organization .medicine-issue-reveal:nth-child(5) .medicine-issue-reveal__problem { grid-row: 5; }

.medicine-issue-organization .medicine-issue-reveal__problem small {
  grid-area: tag;
  margin: 0;
  padding: 3px 6px;
  font-size: 9px;
}

.medicine-issue-organization .medicine-issue-reveal__problem-label {
  grid-area: label;
  margin: 0;
  font-size: 13px;
  line-height: 1.3;
}

.medicine-issue-organization .medicine-issue-reveal__problem strong {
  grid-area: question;
  font-size: 12px;
  line-height: 1.55;
}

.medicine-issue-organization .medicine-issue-reveal__connector {
  display: none;
}

.medicine-issue-organization .medicine-issue-reveal__detail,
.medicine-issue-organization .medicine-issue-reveal__detail[hidden] {
  grid-column: 2;
  grid-row: 1 / 6;
  grid-template-areas: "solution results" "services services";
  grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
  grid-template-rows: auto auto;
  align-content: start;
  align-self: start;
  width: auto;
  min-height: 0;
  overflow: hidden;
  border: 1px solid rgba(1, 54, 65, .26);
  background: #fff;
  box-shadow: 0 14px 34px rgba(32, 104, 136, .1);
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 38px), calc(100% - 56px) 100%, 0 100%);
}

.medicine-issue-organization .medicine-issue-reveal__detail[hidden] {
  display: none;
}

.medicine-issue-organization .medicine-issue-reveal__detail:not([hidden]) {
  display: grid;
}

.medicine-issue-organization .medicine-issue-reveal__detail > section {
  margin: 0;
  padding: clamp(20px, calc(2 * var(--pp-wide-vw, 1vw)), 27px);
}

.medicine-issue-organization .medicine-issue-reveal__detail > section:nth-child(1) {
  grid-area: solution;
  border-right: 1px solid rgba(1, 54, 65, .14);
}

.medicine-issue-organization .medicine-issue-reveal__detail > section:nth-child(2) {
  grid-area: results;
  border-bottom: 0;
}

.medicine-issue-organization .medicine-issue-reveal__detail > section:nth-child(3) {
  grid-area: services;
  align-self: auto;
  width: auto;
  margin: 0;
  padding: 18px clamp(20px, calc(2 * var(--pp-wide-vw, 1vw)), 27px) 24px;
  border: 0;
  border-top: 1px solid rgba(1, 54, 65, .14);
  border-radius: 0;
}

.medicine-issue-organization .medicine-issue-reveal__detail h4 {
  margin-bottom: 14px;
  padding: 5px 9px;
  font-size: 13px;
}

.medicine-issue-organization .medicine-issue-reveal__detail ul {
  gap: 6px;
  font-size: 12px;
  line-height: 1.65;
}

.medicine-issue-organization .medicine-issue-reveal__results {
  grid-template-columns: minmax(0, 1fr);
  gap: 9px;
}

.medicine-issue-organization .medicine-issue-reveal__result-title strong {
  text-decoration: underline;
  text-decoration-color: rgba(78, 171, 216, .78);
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
}

.medicine-issue-organization .medicine-issue-reveal__services {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

@media (max-width: 980px) {
  .medicine-issue-organization {
    grid-template-columns: minmax(250px, .72fr) minmax(0, 1.28fr);
    column-gap: 24px;
  }

  .medicine-issue-organization .medicine-issue-reveal__detail,
  .medicine-issue-organization .medicine-issue-reveal__detail:not([hidden]) {
    grid-template-areas: "solution" "results" "services";
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto;
  }
}

@media (max-width: 720px) {
  .medicine-issue-organization {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: none;
    gap: 10px;
  }

  .medicine-issue-organization .medicine-issue-reveal,
  .medicine-issue-organization .medicine-issue-reveal:nth-child(n + 4),
  .medicine-issue-organization .medicine-issue-reveal.is-open {
    display: grid;
    grid-column: 1;
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
  }

  .medicine-issue-organization .medicine-issue-reveal__problem,
  .medicine-issue-organization .medicine-issue-reveal:nth-child(n) .medicine-issue-reveal__problem {
    grid-row: auto;
    min-height: 92px;
    padding: 12px 13px 12px 15px;
    border-radius: 14px;
  }

  .medicine-issue-organization .medicine-issue-reveal__detail,
  .medicine-issue-organization .medicine-issue-reveal__detail:not([hidden]) {
    grid-column: 1;
    grid-row: auto;
    grid-template-areas: "solution" "results" "services";
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto;
    clip-path: none;
  }

  .medicine-issue-organization .medicine-issue-reveal__detail[hidden] {
    display: none;
  }
}

.medicine-brochure-issues {
  background: #fff;
}

/* Region 01 service shortcuts: reuse the TOP 01-09 horizontal-card language. */
.medicine-service-shortcuts__grid {
  position: relative;
  width: 100%;
  min-width: 0;
}

[data-medicine-service-grid] .medicine-service-shortcuts__links {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  gap: clamp(12px, calc(1.3 * var(--pp-wide-vw, 1vw)), 18px);
  padding: 0;
  overflow: visible;
}

[data-medicine-service-grid] .medicine-issue-cards > article {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: 92px auto;
  min-width: 0;
  min-height: 92px;
  overflow: hidden;
  border: 1px solid rgba(0, 61, 85, .2);
  color: var(--pp-ink, #013641);
  background: rgba(255, 255, 255, .68);
  box-shadow: none;
  isolation: isolate;
  transform: none;
  align-self: start;
}

[data-medicine-service-grid] .medicine-issue-cards > article::before,
[data-medicine-service-grid] .medicine-issue-cards > article::after {
  display: none;
}

[data-medicine-service-grid] .medicine-issue-cards > article > .medicine-brochure-card-image {
  grid-column: 1;
  grid-row: 1;
  z-index: 0;
  min-height: 92px;
  background-position: center;
  filter: grayscale(1) contrast(1.05) brightness(1.04);
  opacity: 1;
  transform: none;
  transition: filter 220ms ease, transform 320ms ease;
}

[data-medicine-service-grid] .medicine-issue-cards > article > span,
[data-medicine-service-grid] .medicine-issue-cards > article > h4 {
  position: relative;
  z-index: 2;
  grid-column: 1;
  grid-row: 1;
  justify-self: start;
  margin-left: 12px;
  padding: 3px 7px;
  line-height: 1.2;
}

[data-medicine-service-grid] .medicine-issue-cards > article > span {
  align-self: center;
  color: #fff;
  background: var(--pp-ink, #013641);
  font-family: var(--pp-font-latin);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .08em;
  transform: translateY(-15px);
}

[data-medicine-service-grid] .medicine-issue-cards > article > h4 {
  align-self: center;
  max-width: calc(100% - 80px);
  margin-bottom: 0;
  color: #111;
  background: rgba(255, 255, 255, .92);
  font-size: clamp(13px, calc(1 * var(--pp-wide-vw, 1vw)), 16px);
  font-weight: 700;
  letter-spacing: .01em;
  transform: translateY(13px);
}

[data-medicine-service-grid] .medicine-issue-cards > article > .medicine-brochure-gap-toggle {
  position: relative;
  z-index: 4;
  grid-column: 1;
  grid-row: 1;
  justify-self: stretch;
  display: block;
  width: 100%;
  min-height: 92px;
  border: 0;
  background: transparent;
  cursor: pointer;
  opacity: 1;
  transform: none;
}

[data-medicine-service-grid] .medicine-issue-cards > article > .medicine-brochure-gap-toggle i {
  position: absolute;
  top: 0;
  right: 0;
  display: grid;
  width: 52px;
  height: 100%;
  color: #fff;
  border-left: 1px solid rgba(255, 255, 255, .72);
  background: rgba(64, 157, 197, .82);
  font-size: 24px;
  place-items: center;
  transition: background-color 180ms ease, transform 180ms ease;
}

[data-medicine-service-grid] .medicine-issue-cards > article > .medicine-brochure-gap-toggle:hover i,
[data-medicine-service-grid] .medicine-issue-cards > article > .medicine-brochure-gap-toggle:focus-visible i {
  background: rgba(47, 142, 182, .96);
}

[data-medicine-service-grid] .medicine-issue-cards > article > .medicine-brochure-gap-toggle:focus-visible {
  outline: 3px solid var(--pp-primary, #4eabd8);
  outline-offset: -3px;
}

[data-medicine-service-grid] .medicine-issue-cards > article > :is(ul, p) {
  grid-column: 1;
  grid-row: 2;
  display: none;
  align-content: start;
  min-height: 0;
  margin: 0;
  padding: 18px 20px 20px;
  color: rgba(255, 255, 255, .92);
  background: var(--pp-ink, #013641);
  font-size: 12px;
  line-height: 1.72;
  opacity: 1;
  pointer-events: auto;
  transform: none;
}

[data-medicine-service-grid] .medicine-issue-cards > article.is-open > :is(ul, p) {
  display: grid;
  animation: medicine-service-grid-detail 180ms cubic-bezier(.2, .8, .2, 1) both;
}

[data-medicine-service-grid] .medicine-issue-cards > article:hover,
[data-medicine-service-grid] .medicine-issue-cards > article:focus-within {
  outline: none;
  transform: none;
  box-shadow: none;
}

[data-medicine-service-grid] .medicine-issue-cards > article:hover > .medicine-brochure-card-image,
[data-medicine-service-grid] .medicine-issue-cards > article.is-open > .medicine-brochure-card-image {
  filter: grayscale(.2) contrast(1.03) saturate(1.02);
  opacity: 1;
  transform: scale(1.02);
}

@keyframes medicine-service-grid-detail {
  from { opacity: 0; transform: translateY(-6px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 720px) {
  [data-medicine-service-grid] .medicine-service-shortcuts__links {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Region 01 / 02 issue cards: shared editorial carousel. */
.medicine-issue-slider {
  position: relative;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow: hidden;
  contain: inline-size;
}

[data-medicine-issue-slider] .medicine-issue-cards {
  --medicine-issue-card-gap: clamp(18px, calc(2 * var(--pp-wide-vw, 1vw)), 28px);
  display: flex;
  grid-template-columns: none;
  gap: var(--medicine-issue-card-gap);
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scroll-behavior: smooth;
  scroll-padding-inline: 0;
  scroll-snap-type: inline mandatory;
  scrollbar-width: none;
}

[data-medicine-issue-slider] .medicine-issue-cards::-webkit-scrollbar {
  display: none;
}

[data-medicine-issue-slider] .medicine-issue-cards > article {
  --issue-card-accent: rgba(33, 139, 181, .96);
  flex: 0 0 clamp(330px, 47%, 430px);
  grid-template-columns: minmax(0, 1fr) clamp(56px, calc(5 * var(--pp-wide-vw, 1vw)), 68px);
  grid-template-rows: clamp(210px, calc(19 * var(--pp-wide-vw, 1vw)), 260px) auto auto;
  min-height: 390px;
  overflow: hidden;
  border-top: 4px solid rgba(151, 224, 247, .92);
  background: #0a2b40;
  box-shadow: 0 18px 42px rgba(0, 44, 61, .18);
  scroll-snap-align: start;
}

[data-medicine-issue-slider] .medicine-issue-cards > article:nth-child(even) {
  --issue-card-accent: rgba(7, 31, 49, .97);
}

[data-medicine-issue-slider] .medicine-issue-cards > article::before {
  display: none;
}

[data-medicine-issue-slider] .medicine-issue-cards > article::after {
  display: none;
}

[data-medicine-issue-slider] .medicine-issue-cards > article > .medicine-brochure-card-image {
  grid-column: 1 / -1;
  grid-row: 1;
  min-height: 220px;
  background-position: center;
  filter: saturate(.76) brightness(.9) contrast(.98);
}

[data-medicine-issue-slider] .medicine-issue-cards > article > span {
  position: relative;
  z-index: 1;
  grid-column: 1;
  grid-row: 2;
  padding: 20px 28px 4px;
  color: rgba(255, 255, 255, .78);
  background: var(--issue-card-accent);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .16em;
}

[data-medicine-issue-slider] .medicine-issue-cards > article > h4 {
  position: relative;
  z-index: 1;
  grid-column: 1;
  grid-row: 3;
  padding: 4px 28px 24px;
  background: var(--issue-card-accent);
  font-size: clamp(16px, calc(1.22 * var(--pp-wide-vw, 1vw)), 20px);
  line-height: 1.62;
  letter-spacing: .025em;
}

[data-medicine-issue-slider] .medicine-issue-cards > article > h4 small {
  margin-top: 7px;
  color: rgba(255, 255, 255, .7);
  font-size: 10px;
  letter-spacing: .12em;
}

[data-medicine-issue-slider] .medicine-issue-cards > article > .medicine-brochure-gap-toggle {
  grid-column: 2;
  grid-row: 2 / span 2;
  min-height: 100%;
  border-right: 0;
  border-left: 1px solid rgba(255, 255, 255, .52);
  background: var(--issue-card-accent);
}

[data-medicine-issue-slider] .medicine-issue-cards > article > :is(ul, p) {
  grid-column: 1 / -1;
  grid-row: 1;
  align-content: center;
  min-height: 100%;
  padding: clamp(30px, calc(4 * var(--pp-wide-vw, 1vw)), 52px) clamp(74px, calc(7 * var(--pp-wide-vw, 1vw)), 92px) clamp(30px, calc(4 * var(--pp-wide-vw, 1vw)), 52px) clamp(30px, calc(4 * var(--pp-wide-vw, 1vw)), 52px);
  background: linear-gradient(135deg, rgba(7, 31, 49, .98), rgba(11, 52, 77, .95));
  font-size: clamp(13px, calc(.9 * var(--pp-wide-vw, 1vw)), 15px);
  line-height: 1.9;
}

.medicine-service-shortcuts .medicine-issue-cards > article > ul a {
  color: inherit;
  text-decoration: none;
}

.medicine-service-shortcuts .medicine-issue-cards > article > ul a:hover,
.medicine-service-shortcuts .medicine-issue-cards > article > ul a:focus-visible {
  color: #9edff6;
  text-decoration: underline;
  text-underline-offset: 3px;
  outline: none;
}

[data-medicine-issue-slider] .medicine-issue-cards > article:hover,
[data-medicine-issue-slider] .medicine-issue-cards > article:focus-within {
  transform: translateY(-4px);
  box-shadow: 0 24px 52px rgba(0, 44, 61, .25);
}

.medicine-issue-slider__controls {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  margin-top: clamp(18px, calc(2.2 * var(--pp-wide-vw, 1vw)), 28px);
}

.medicine-issue-slider__progress {
  display: flex;
  align-items: baseline;
  gap: 7px;
  margin: 0;
  color: rgba(8, 46, 67, .58);
  font-size: 13px;
  font-variant-numeric: tabular-nums;
  font-weight: 700;
  letter-spacing: .08em;
}

.medicine-issue-slider__progress strong {
  color: #0a334b;
  font-size: 26px;
  font-weight: 500;
}

.medicine-issue-slider__buttons {
  position: absolute;
  top: calc((100% - 62px) / 2);
  right: 0;
  left: 0;
  z-index: 5;
  display: flex;
  justify-content: space-between;
  pointer-events: none;
  transform: translateY(-50%);
}

.medicine-issue-slider__buttons button {
  display: grid;
  width: 52px;
  height: 52px;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, .7);
  border-radius: 0;
  color: #fff;
  background: rgba(58, 153, 194, .68);
  box-shadow: 0 10px 24px rgba(1, 48, 68, .15);
  cursor: pointer;
  pointer-events: auto;
  place-items: center;
  transition: color .25s ease, background-color .25s ease, border-color .25s ease, transform .25s ease;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.medicine-issue-slider__buttons button:hover:not(:disabled),
.medicine-issue-slider__buttons button:focus-visible {
  border-color: #fff;
  color: #fff;
  background: rgba(9, 54, 79, .88);
}

.medicine-issue-slider__buttons button:disabled {
  opacity: .28;
  cursor: default;
}

@media (min-width: 981px) {
  :is(body[data-page="region01"], body[data-page="region02"]) .page-rail {
    z-index: 2;
  }

  :is(body[data-page="region01"], body[data-page="region02"]) .page-stage {
    position: relative;
    z-index: 1;
  }

  :is(body[data-page="region01"], body[data-page="region02"]) .medicine-brochure-service--issues {
    width: 100%;
    overflow: visible;
    contain: inline-size;
  }

  body[data-page="region01"] .medicine-service-shortcuts {
    overflow: visible;
    contain: inline-size;
  }

  :is(body[data-page="region01"], body[data-page="region02"]) .medicine-brochure-service--issues .medicine-issue-slider,
  body[data-page="region01"] .medicine-service-shortcuts .medicine-issue-slider {
    --medicine-issue-breakout: calc(var(--pp-rail-width) + clamp(24px, calc(5 * var(--pp-wide-vw, 1vw)), 72px) + 68px);
    --medicine-issue-breakout-end: calc(clamp(24px, calc(5 * var(--pp-wide-vw, 1vw)), 72px) + 68px);
    --medicine-issue-track-start: calc(var(--pp-rail-width) + clamp(24px, calc(5 * var(--pp-wide-vw, 1vw)), 72px) + 16px);
    width: calc(100% + var(--medicine-issue-breakout) + var(--medicine-issue-breakout-end) - 8px);
    max-width: none;
    margin-left: calc(-1 * var(--medicine-issue-breakout) + 4px);
    contain: inline-size;
  }

  :is(body[data-page="region01"], body[data-page="region02"]) .medicine-brochure-service--issues .medicine-issue-cards,
  body[data-page="region01"] .medicine-service-shortcuts .medicine-issue-cards {
    padding-right: clamp(64px, calc(10 * var(--pp-wide-vw, 1vw)), 136px);
    padding-left: var(--medicine-issue-track-start);
    scroll-padding-right: clamp(64px, calc(10 * var(--pp-wide-vw, 1vw)), 136px);
    scroll-padding-left: var(--medicine-issue-track-start);
  }

  :is(body[data-page="region01"], body[data-page="region02"]) .medicine-brochure-service--issues .medicine-issue-slider__buttons,
  body[data-page="region01"] .medicine-service-shortcuts .medicine-issue-slider__buttons {
    right: 40px;
    left: calc(var(--medicine-issue-track-start) - 64px);
  }

  :is(body[data-page="region01"], body[data-page="region02"]) .medicine-brochure-service--issues .medicine-issue-slider__progress,
  body[data-page="region01"] .medicine-service-shortcuts .medicine-issue-slider__progress {
    margin-left: var(--medicine-issue-track-start);
  }
}

.medicine-issue-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  padding: 1px;
  background: rgba(0, 61, 85, .18);
}

.medicine-issue-grid article {
  min-height: 0;
  padding: clamp(24px, calc(3 * var(--pp-wide-vw, 1vw)), 36px);
  background: var(--pp-surface-soft);
}

.medicine-issue-grid article:nth-child(even) {
  background: #f4f8fb;
}

.medicine-issue-grid article:last-child {
  grid-column: 1 / -1;
}

.medicine-issue-grid h3 {
  margin: 12px 0 14px;
  color: var(--pp-ink);
  font-family: var(--pp-font-display);
  font-size: clamp(20px, calc(1.65 * var(--pp-wide-vw, 1vw)), 30px);
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: .04em;
}

.medicine-issue-grid p {
  margin: 0 0 20px;
  color: rgba(0, 44, 61, .72);
  font-size: 12px;
  line-height: 1.85;
}

.medicine-issue-grid ul {
  display: grid;
  gap: 7px;
  margin: 0;
  padding: 17px 0 0;
  border-top: 1px solid rgba(0, 61, 85, .16);
  list-style: none;
}

.medicine-issue-grid li {
  position: relative;
  padding-left: 17px;
  color: var(--pp-muted);
  font-size: clamp(13px, calc(.9 * var(--pp-wide-vw, 1vw)), 15px);
  font-weight: 400;
  line-height: 1.9;
}

.medicine-issue-grid li::before {
  position: absolute;
  top: .65em;
  left: 0;
  width: 6px;
  height: 6px;
  content: "";
  background: var(--pp-primary);
  transform: rotate(45deg);
}

/* REGION 03 / ENGINEERING: brochure project flow translated into the same
   responsive, disclosure-led page family used by REGION 02. */
#engineering-process,
#engineering-cases {
  background: transparent;
}

.engineering-phase-flow {
  width: min(calc(100% + clamp(120px, calc(14 * var(--pp-wide-vw, 1vw)), 190px)), calc(calc(100 * var(--pp-wide-vw, 1vw)) - 270px));
  margin-left: calc((100% - min(calc(100% + clamp(120px, calc(14 * var(--pp-wide-vw, 1vw)), 190px)), calc(calc(100 * var(--pp-wide-vw, 1vw)) - 270px))) / 2);
}

.engineering-phase-tabs {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr) 14px) minmax(0, 1fr);
  align-items: stretch;
  gap: 6px;
}

.engineering-phase-tab {
  --engineering-phase: var(--pp-category-green);
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  min-width: 0;
  min-height: 116px;
  align-content: center;
  align-items: center;
  gap: 8px 10px;
  padding: 16px 13px 50px;
  overflow: hidden;
  color: #fff;
  border: 0;
  border-top: 4px solid rgba(255, 255, 255, .5);
  background: color-mix(in srgb, var(--engineering-phase) 76%, var(--pp-ink));
  box-shadow: 0 10px 22px rgba(0, 44, 61, .13) !important;
  text-align: left;
  cursor: pointer;
  transition: transform 200ms cubic-bezier(.2, .8, .2, 1), box-shadow 200ms ease, background-color 200ms ease;
}

.engineering-phase-tab:nth-of-type(2),
.engineering-phase-tab:nth-of-type(5) {
  --engineering-phase: var(--pp-category-teal);
}

.engineering-phase-tab:nth-of-type(3),
.engineering-phase-tab:nth-of-type(6) {
  --engineering-phase: var(--pp-primary-strong);
}

.engineering-phase-tab:nth-of-type(4),
.engineering-phase-tab:nth-of-type(7) {
  --engineering-phase: var(--pp-deep);
}

.engineering-phase-tab > span {
  grid-column: 1;
  color: rgba(255, 255, 255, .68);
  font-family: var(--pp-font-latin);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .14em;
}

.engineering-phase-tab > strong {
  grid-column: 1;
  min-width: 0;
  font-family: var(--pp-font-display);
  font-size: clamp(14px, calc(1.05 * var(--pp-wide-vw, 1vw)), 17px);
  font-weight: 800;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.engineering-phase-tab > i {
  position: static;
  display: grid;
  width: auto;
  height: auto;
  place-items: center;
  color: #fff;
  border: 0;
  border-radius: 0;
  background: transparent;
  font-size: 15px;
  transition: color 180ms ease, background-color 180ms ease;
}

.engineering-phase-tab > i::before {
  transition: transform 220ms cubic-bezier(.2, .8, .2, 1);
}

.engineering-phase-tab.is-active > i::before {
  transform: none;
}

.engineering-phase-tab:hover > i,
.engineering-phase-tab:focus-visible > i,
.engineering-phase-tab.is-active > i {
  color: #263a49;
  background: #fff;
}

.engineering-phase-tab:hover,
.engineering-phase-tab:focus-visible,
.engineering-phase-tab.is-active {
  background: color-mix(in srgb, var(--engineering-phase) 88%, var(--pp-ink));
  box-shadow: 0 18px 34px rgba(0, 44, 61, .24) !important;
  transform: translateY(-5px);
}

.engineering-phase-tab:focus-visible {
  outline: 3px solid #fff;
  outline-offset: 3px;
}

.engineering-phase-arrow {
  display: grid;
  min-width: 14px;
  place-items: center;
  color: #74818b;
  font-size: 22px;
}

.engineering-phase-panel {
  margin-top: clamp(16px, calc(2 * var(--pp-wide-vw, 1vw)), 24px);
  scroll-margin-top: calc(var(--pp-header-height) + 12px);
  overflow: hidden;
  border: 1px solid rgba(0, 61, 85, .16);
  border-top: 0;
  background: rgba(224, 240, 247, .42);
  -webkit-backdrop-filter: blur(10px) saturate(.9);
  backdrop-filter: blur(10px) saturate(.9);
  box-shadow: 0 18px 42px rgba(0, 44, 61, .12) !important;
  animation: engineering-panel-drop 260ms cubic-bezier(.2, .8, .2, 1) both;
}

.engineering-phase-panel[hidden] {
  display: none !important;
}

.engineering-phase-panel > header {
  display: none;
  min-height: 72px;
  align-items: center;
  gap: 16px;
  padding: 16px clamp(22px, calc(3 * var(--pp-wide-vw, 1vw)), 36px);
  color: #fff;
  background: #4d5661;
}

.engineering-phase-panel > header span {
  color: rgba(255, 255, 255, .64);
  font-family: var(--pp-font-latin);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .14em;
}

.engineering-phase-panel > header h4 {
  margin: 0;
  color: inherit;
  font-family: var(--pp-font-display);
  font-size: clamp(20px, calc(1.8 * var(--pp-wide-vw, 1vw)), 28px);
  font-weight: 800;
  line-height: 1.35;
}

.engineering-phase-lead {
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr);
  align-items: start;
  gap: 16px;
  margin: 0;
  padding: clamp(18px, calc(2.2 * var(--pp-wide-vw, 1vw)), 26px) clamp(22px, calc(3 * var(--pp-wide-vw, 1vw)), 36px);
  border-bottom: 1px solid rgba(0, 61, 85, .14);
}

.engineering-phase-lead__icon {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  color: #fff;
  border-radius: 50%;
  background: var(--pp-primary-strong);
  box-shadow: 0 8px 18px rgba(47, 142, 182, .2);
}

.engineering-phase-lead__icon i {
  font-size: 21px;
}

.engineering-phase-lead strong {
  display: block;
  margin: 0 0 7px;
  color: var(--pp-primary-strong);
  font-family: var(--pp-font-latin);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .14em;
}

.engineering-phase-lead em {
  display: block;
  color: #183847;
  font-size: clamp(13px, calc(1 * var(--pp-wide-vw, 1vw)), 15px);
  font-style: normal;
  font-weight: 600;
  line-height: 1.85;
}

.engineering-phase-panel > .engineering-detail-flow {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
  gap: 10px;
  padding: 10px 12px 14px;
  border-bottom: 1px solid rgba(0, 61, 85, .14);
}

.engineering-detail-column {
  --engineering-detail-accent: var(--pp-category-green);
  --engineering-detail-a: #8dbb62;
  --engineering-detail-b: #55a28e;
  display: grid;
  min-width: 0;
  align-content: start;
  gap: 10px;
}

.engineering-detail-column:nth-of-type(2) {
  --engineering-detail-accent: var(--pp-category-orange);
  --engineering-detail-a: #e5a260;
  --engineering-detail-b: #c8794b;
}

.engineering-detail-column:nth-of-type(3) {
  --engineering-detail-accent: var(--pp-primary-strong);
  --engineering-detail-a: #66bdc3;
  --engineering-detail-b: #5296b3;
}

.engineering-detail-label {
  position: relative;
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  min-width: 0;
  min-height: 96px;
  align-items: center;
  gap: 12px;
  padding: 14px;
  overflow: hidden;
  color: #fff;
  border: 0;
  background: linear-gradient(135deg, var(--engineering-detail-a), var(--engineering-detail-b));
  box-shadow: 0 7px 15px rgba(0, 44, 61, .11) !important;
  text-align: left;
}

.engineering-detail-label::after {
  position: absolute;
  right: -28px;
  bottom: -34px;
  width: 94px;
  height: 94px;
  content: "";
  border: 1px solid rgba(255, 255, 255, .23);
  border-radius: 50%;
  pointer-events: none;
}

.engineering-detail-label > span {
  position: relative;
  z-index: 1;
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  color: #fff;
  border: 1px solid rgba(255, 255, 255, .34);
  border-radius: 50%;
  background: rgba(255, 255, 255, .14);
}

.engineering-detail-label > span i {
  font-size: 19px;
}

.engineering-detail-label > strong {
  position: relative;
  z-index: 1;
  min-width: 0;
  color: inherit;
  font-family: var(--pp-font-display);
  font-size: clamp(14px, calc(1.1 * var(--pp-wide-vw, 1vw)), 17px);
  font-weight: 800;
  line-height: 1.45;
}

.engineering-detail-arrow {
  display: grid;
  place-items: center;
  color: #89959d;
  font-size: 20px;
}

.engineering-phase-panel.has-engineering-detail-flow .engineering-detail-column > article {
  margin: 0;
  padding: 18px;
  border: 0;
  border-top: 6px solid var(--engineering-detail-accent);
  background: linear-gradient(180deg, color-mix(in srgb, var(--engineering-detail-accent) 7%, rgba(255, 255, 255, .88)), rgba(255, 255, 255, .72)) !important;
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  box-shadow: inset 1px 0 color-mix(in srgb, var(--engineering-detail-accent) 18%, transparent), inset -1px 0 color-mix(in srgb, var(--engineering-detail-accent) 18%, transparent) !important;
  animation: engineering-panel-drop 220ms ease both;
}

.has-engineering-detail-flow .engineering-detail-column > article[hidden] {
  display: none !important;
}

.has-engineering-detail-flow .engineering-detail-column > article h5 {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

.engineering-phase-panel > div {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.engineering-phase-panel article {
  min-width: 0;
  padding: clamp(22px, calc(3 * var(--pp-wide-vw, 1vw)), 34px);
}

.engineering-phase-panel article + article {
  border-left: 1px solid rgba(0, 61, 85, .14);
}

.engineering-phase-panel article:last-child {
  grid-column: 1 / -1;
  border-top: 1px solid rgba(0, 61, 85, .14);
  border-left: 0;
  background: transparent;
}

.engineering-phase-panel h5 {
  margin: 0 0 16px;
  color: var(--pp-primary-strong);
  font-family: var(--pp-font-display);
  font-size: clamp(16px, calc(1.3 * var(--pp-wide-vw, 1vw)), 20px);
  font-weight: 800;
  line-height: 1.4;
}

.engineering-phase-panel ul {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.engineering-phase-panel li {
  position: relative;
  min-height: 78px;
  padding: 14px 14px 14px 28px;
  color: #183847;
  border: 1px solid rgba(0, 61, 85, .13);
  border-top: 3px solid color-mix(in srgb, var(--pp-category-green) 76%, white);
  background: #fff;
  font-size: clamp(12px, calc(.9 * var(--pp-wide-vw, 1vw)), 14px);
  font-weight: 600;
  line-height: 1.65;
  box-shadow: 0 8px 18px rgba(0, 44, 61, .06) !important;
}

.engineering-phase-panel li::before {
  position: absolute;
  top: 21px;
  left: 13px;
  width: 6px;
  height: 6px;
  content: "";
  background: var(--pp-category-green);
  border-radius: 50%;
}

.engineering-detail-column:nth-of-type(2) article li {
  border-top-color: color-mix(in srgb, var(--pp-category-orange) 64%, white);
}

.engineering-detail-column:nth-of-type(2) article li::before {
  background: var(--pp-category-orange);
}

.engineering-detail-column:nth-of-type(3) article li {
  border-top-color: color-mix(in srgb, var(--pp-primary-strong) 72%, white);
  background: color-mix(in srgb, var(--pp-surface-soft) 72%, white);
}

.engineering-detail-column:nth-of-type(3) article li::before {
  background: var(--pp-primary-strong);
}

.engineering-detail-column:nth-of-type(3) article ul {
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}

.engineering-phase-panel article ul {
  display: flex;
  flex-wrap: wrap;
  gap: 10px clamp(22px, calc(3 * var(--pp-wide-vw, 1vw)), 38px);
}

.engineering-phase-panel article li {
  min-height: 0;
  flex: 1 1 280px;
  padding: 4px 0 4px 18px;
  border: 0;
  background: transparent;
  box-shadow: none !important;
}

.engineering-phase-panel article li::before {
  top: .72em;
  left: 0;
}

.has-engineering-detail-flow .engineering-detail-column article li {
  padding-top: 9px;
  padding-bottom: 9px;
  border-bottom: 1px solid color-mix(in srgb, var(--engineering-detail-accent) 24%, transparent);
}

.has-engineering-detail-flow .engineering-detail-column article li:last-child {
  border-bottom: 0;
}

.has-engineering-detail-flow .engineering-detail-column article li::before {
  background: var(--engineering-detail-accent);
}

@keyframes engineering-panel-drop {
  from { opacity: 0; transform: translateY(-10px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 980px) {
  .engineering-phase-flow {
    width: 100%;
    margin-left: 0;
  }

  .engineering-phase-tabs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .engineering-phase-arrow {
    display: none;
  }

  .engineering-phase-panel > div {
    grid-template-columns: 1fr;
  }

  .engineering-phase-panel article + article {
    border-top: 1px solid rgba(0, 61, 85, .14);
    border-left: 0;
  }
}

@media (max-width: 620px) {
  .engineering-phase-tabs {
    grid-template-columns: 1fr;
  }

  .engineering-phase-tab {
    min-height: 92px;
  }

  .engineering-phase-panel ul {
    grid-template-columns: 1fr;
  }

  .engineering-phase-lead {
    grid-template-columns: 36px minmax(0, 1fr);
    gap: 12px;
    padding-inline: 18px;
  }

  .engineering-phase-lead__icon {
    width: 34px;
    height: 34px;
  }

  .engineering-phase-lead__icon i {
    font-size: 18px;
  }

  .engineering-phase-panel > .engineering-detail-flow {
    grid-template-columns: 1fr;
    gap: 4px;
    padding-inline: 18px;
  }

  .engineering-detail-label {
    grid-template-columns: 36px minmax(0, 1fr);
    min-height: 86px;
    padding: 12px;
  }

  .engineering-detail-label > span {
    width: 36px;
    height: 36px;
  }

  .engineering-detail-arrow {
    height: 16px;
    transform: rotate(90deg);
  }

}

@media (prefers-reduced-motion: reduce) {
  .engineering-phase-tab,
  .engineering-phase-tab > i,
  .engineering-phase-panel {
    animation: none;
    transition: none;
  }
}

@media (max-width: 980px) {
  .medicine-brochure .medicine-service-area-map {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .medicine-service-lifecycle {
    grid-column: 1 / -1;
  }

  .medicine-service-area-group--development,
  .medicine-service-area-group--manufacturing {
    grid-column: auto;
  }

  .medicine-service-area-group--distribution {
    grid-column: 1 / -1;
  }

  .medicine-service-area-group--distribution .medicine-service-domain {
    min-height: 108px;
  }

  .medical-device-area-group--system {
    grid-column: 1 / -1;
  }

  .medical-device-area-group--system .medicine-service-area-group__cards {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .medicine-brochure-service-pair {
    grid-template-columns: 1fr;
  }

  .medicine-brochure-service--operations {
    border-top: 1px solid rgba(0, 61, 85, .16);
    border-left: 0;
  }

  .medicine-brochure-service header {
    min-height: 0;
  }

  .medicine-issue-grid article { min-height: 0; }
}

@media (max-width: 720px) {
  .medicine-service-shortcuts {
    padding: 18px 0;
  }

  :is(body[data-page="region01"], body[data-page="region02"], body[data-page="region03"]) .page-intro h1 {
    font-size: clamp(30px, calc(9 * var(--pp-wide-vw, 1vw)), 42px);
  }

  .medicine-service-area-heading h3,
  .medicine-service-section-heading h3 {
    max-width: 100%;
  }

  .medicine-brochure-process,
  .medicine-brochure-issues,
  .medicine-brochure-service {
    padding: 28px 20px;
  }

  .medicine-brochure-title {
    grid-template-columns: 1fr;
    gap: 12px;
    padding: 28px 22px;
  }

  .medicine-brochure-title > span {
    font-size: 42px;
  }

  .medicine-brochure .medicine-support-map {
    padding: 0;
  }

  .medicine-support-map__eyebrow {
    margin: 0 44px 22px 0;
    font-size: 18px;
  }


  .medicine-brochure .medicine-service-area-map,
  .medicine-service-area-group--manufacturing .medicine-service-area-group__cards {
    grid-template-columns: 1fr;
  }

  .medicine-service-area-group--manufacturing .medicine-service-domain--gep {
    grid-column: auto;
  }

  .medicine-service-lifecycle {
    grid-template-columns: 1fr;
  }

  .medicine-service-lifecycle__arrow {
    min-height: 20px;
    transform: rotate(90deg);
  }

  .medical-device-service-lifecycle > .medicine-service-lifecycle__arrow {
    margin-top: 0;
  }

  .medicine-brochure-cards > :is(a, article) {
    grid-template-columns: minmax(0, 1fr) 58px;
    grid-template-rows: auto auto auto;
    min-height: 0;
  }

  .medicine-brochure-cards > :is(a, article) > span {
    grid-column: 1;
    grid-row: 1;
    padding: 24px 24px 0;
  }

  .medicine-brochure-cards > :is(a, article) > h4 {
    grid-column: 1;
    grid-row: 2;
    padding: 12px 24px 24px;
  }

  .medicine-brochure-cards > :is(a, article) > i {
    grid-column: 2;
    grid-row: 1 / span 2;
  }

  .medicine-brochure-cards > :is(a, article).has-disclosure > .medicine-brochure-card-image {
    grid-column: 1 / -1;
    grid-row: 3;
    min-height: 180px;
  }

  .medicine-brochure-gap-toggle {
    grid-column: 2;
    grid-row: 1 / span 2;
    min-height: 126px;
  }

  .medicine-brochure-cards > a > p,
  .medicine-brochure-cards > a > ul,
  .medicine-brochure-cards > article > ul,
  .medicine-brochure-gap-detail {
    grid-column: 1 / -1;
    grid-row: 3;
    padding: 24px;
  }

  .medicine-brochure-gap-links {
    grid-template-columns: 1fr;
  }

  .medicine-brochure-gap-card:not(.is-open) .medicine-brochure-gap-detail {
    display: none;
  }

  .medicine-service-area-group--distribution {
    grid-column: auto;
  }

  .medical-device-area-group--system {
    grid-column: auto;
  }

  .medical-device-area-group--system .medicine-service-area-group__cards {
    grid-template-columns: 1fr;
  }

  .medicine-issue-grid {
    grid-template-columns: 1fr;
  }

  .medicine-issue-grid article,
  .medicine-issue-grid article:nth-child(4),
  .medicine-issue-grid article:nth-child(5) {
    grid-column: auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  .medicine-service-lifecycle__stage,
  .medicine-service-domain,
  .medicine-service-domain--link > .ph,
  .medicine-brochure-card-image {
    animation: none;
    transition: none;
  }
}

@media (max-width: 720px) {
  [data-medicine-issue-slider] .medicine-issue-cards > article {
    flex-basis: min(calc(84 * var(--pp-wide-vw, 1vw)), 390px);
    grid-template-columns: minmax(0, 1fr) 58px;
    grid-template-rows: minmax(190px, calc(58 * var(--pp-wide-vw, 1vw))) auto auto;
    min-height: 350px;
  }

  [data-medicine-issue-slider] .medicine-issue-cards > article > .medicine-brochure-card-image {
    grid-column: 1 / -1;
    grid-row: 1;
    min-height: 190px;
  }

  [data-medicine-issue-slider] .medicine-issue-cards > article > span {
    grid-column: 1;
    grid-row: 2;
    padding: 18px 22px 3px;
  }

  [data-medicine-issue-slider] .medicine-issue-cards > article > h4 {
    grid-column: 1;
    grid-row: 3;
    padding: 3px 22px 20px;
  }

  [data-medicine-issue-slider] .medicine-issue-cards > article > .medicine-brochure-gap-toggle {
    grid-column: 2;
    grid-row: 2 / span 2;
    min-height: 100%;
  }

  [data-medicine-issue-slider] .medicine-issue-cards > article > :is(ul, p) {
    grid-column: 1 / -1;
    grid-row: 1;
    padding: 28px 74px 28px 28px;
  }

  .medicine-issue-slider__controls {
    margin-top: 16px;
  }

  .medicine-issue-slider__buttons button {
    width: 44px;
    height: 44px;
  }
}

/* Region 01: preserve the original issue card design; only ANSWER is interactive. */
.medicine-issue-organization {
  grid-template-rows: repeat(5, minmax(214px, auto));
  gap: 16px clamp(30px, calc(3 * var(--pp-wide-vw, 1vw)), 44px);
}

.medicine-issue-organization .medicine-issue-reveal__problem {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  min-height: 214px;
  padding: clamp(28px, calc(2.8 * var(--pp-wide-vw, 1vw)), 38px);
  border: 1px solid rgba(1, 54, 65, .72);
  border-radius: 26px;
  color: var(--pp-ink, #013641);
  background: rgba(238, 247, 252, .9);
  background-image: none;
  box-shadow: none;
  cursor: default;
}

.medicine-issue-organization .medicine-issue-reveal.is-open .medicine-issue-reveal__problem,
.medicine-issue-organization .medicine-issue-reveal__problem:hover {
  border-color: rgba(1, 54, 65, .72);
  background: rgba(238, 247, 252, .9);
  box-shadow: none;
  transform: none;
}

.medicine-issue-organization .medicine-issue-reveal__problem small {
  margin: 0 0 10px;
  padding: 4px 7px;
  font-size: 10px;
  letter-spacing: .16em;
}

.medicine-issue-organization .medicine-issue-reveal__problem-label {
  margin: 0 0 15px;
  font-size: clamp(20px, calc(1.8 * var(--pp-wide-vw, 1vw)), 26px);
  line-height: 1.3;
}

.medicine-issue-organization .medicine-issue-reveal__problem strong {
  max-width: none;
  color: #27404d;
  font-size: clamp(13px, calc(.94 * var(--pp-wide-vw, 1vw)), 15px);
  font-weight: 600;
  line-height: 1.8;
  letter-spacing: .01em;
}

.medicine-issue-organization .medicine-issue-reveal__answer {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  justify-content: flex-start;
  gap: 7px;
  min-width: 0;
  margin-top: auto;
  padding: 10px 0 0;
  border: 0;
  color: var(--pp-ink, #013641);
  background: transparent;
  font-family: var(--pp-font-latin, "Segoe UI", sans-serif);
  font-size: 14px;
  font-weight: 500;
  letter-spacing: .08em;
  cursor: pointer;
}

.medicine-issue-organization .medicine-issue-reveal__answer:hover,
.medicine-issue-organization .medicine-issue-reveal__answer:focus-visible {
  color: var(--pp-primary-strong, #2f8eb6);
}

.medicine-issue-organization .medicine-issue-reveal__answer:focus-visible {
  outline: 2px solid var(--pp-primary-strong, #2f8eb6);
  outline-offset: 4px;
}

@media (max-width: 720px) {
  .medicine-issue-organization {
    grid-template-rows: none;
    gap: 12px;
  }

  .medicine-issue-organization .medicine-issue-reveal__problem,
  .medicine-issue-organization .medicine-issue-reveal:nth-child(n) .medicine-issue-reveal__problem {
    min-height: 214px;
    padding: 24px 22px;
  }
}

/* Final Region 01 issue grid placement. */
body[data-page="region01"] .medicine-issue-dialog {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

body[data-page="region01"] .medicine-issue-dialog .medicine-issue-reveal,
body[data-page="region01"] .medicine-issue-dialog .medicine-issue-reveal:nth-child(n + 4) {
  grid-column: span 1;
}

body[data-page="region01"] .medicine-issue-dialog .medicine-issue-reveal.is-open {
  grid-column: 1 / -1;
  scroll-margin-top: calc(var(--pp-global-header-height, 76px) + 24px);
}

@media (max-width: 980px) {
  body[data-page="region01"] .medicine-issue-dialog {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 620px) {
  body[data-page="region01"] .medicine-issue-dialog {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Preserve the approved light rounded issue-card design in the three-column layout. */
body[data-page="region01"] .medicine-issue-dialog .medicine-issue-reveal__problem,
body[data-page="region01"] .medicine-issue-dialog .medicine-issue-reveal.is-open .medicine-issue-reveal__problem {
  isolation: auto;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  min-height: 290px;
  padding: 24px;
  overflow: visible;
  border: 1px solid rgba(1, 54, 65, .72);
  border-radius: 26px;
  color: var(--pp-ink, #013641);
  background: rgba(238, 247, 252, .94);
  background-image: none;
  box-shadow: none;
  text-align: left;
  transform: none;
}

body[data-page="region01"] .medicine-issue-dialog .medicine-issue-reveal__problem::before {
  display: none;
}

body[data-page="region01"] .medicine-issue-dialog .medicine-issue-reveal__problem:hover,
body[data-page="region01"] .medicine-issue-dialog .medicine-issue-reveal__problem:focus-visible,
body[data-page="region01"] .medicine-issue-dialog .medicine-issue-reveal.is-open .medicine-issue-reveal__problem {
  border-color: var(--pp-primary-strong, #2f8eb6);
  background: #e9f5fb;
  box-shadow: 0 8px 22px rgba(32, 104, 136, .12);
  transform: none;
}

body[data-page="region01"] .medicine-issue-dialog .medicine-issue-reveal__problem:focus-visible {
  outline: 2px solid var(--pp-primary-strong, #2f8eb6);
  outline-offset: 3px;
}

body[data-page="region01"] .medicine-issue-dialog .medicine-issue-reveal__problem small {
  width: fit-content;
  margin: 0 0 10px;
  padding: 4px 7px;
  border: 1px solid var(--issue-reveal-accent);
  color: var(--pp-primary-strong, #2f8eb6);
  background: #fff;
  font-size: 10px;
  letter-spacing: .16em;
}

body[data-page="region01"] .medicine-issue-dialog .medicine-issue-reveal__problem-label {
  display: block;
  margin: 0 0 15px;
  color: var(--pp-ink, #013641);
  font-size: clamp(18px, calc(1.55 * var(--pp-wide-vw, 1vw)), 23px);
  font-weight: 700;
  line-height: 1.3;
}

body[data-page="region01"] .medicine-issue-dialog .medicine-issue-reveal__problem strong {
  max-width: none;
  color: #27404d;
  font-size: clamp(13px, calc(1 * var(--pp-wide-vw, 1vw)), 15px);
  font-weight: 600;
  line-height: 1.75;
  letter-spacing: .01em;
}

body[data-page="region01"] .medicine-issue-dialog .medicine-issue-reveal__answer {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  justify-content: flex-start;
  gap: 7px;
  min-width: 0;
  margin-top: auto;
  padding: 14px 0 0;
  border: 0;
  color: var(--pp-ink, #013641);
  background: transparent;
  font-family: var(--pp-font-latin, "Segoe UI", sans-serif);
  font-size: 13px;
  font-weight: 500;
  letter-spacing: .08em;
}

body[data-page="region01"] .medicine-issue-dialog .medicine-issue-reveal__answer i {
  font-size: 17px;
}

@media (max-width: 620px) {
  body[data-page="region01"] .medicine-issue-dialog .medicine-issue-reveal__problem,
  body[data-page="region01"] .medicine-issue-dialog .medicine-issue-reveal.is-open .medicine-issue-reveal__problem {
    min-height: 240px;
  }
}

/* Compact answer bubble: solution, results, and services each occupy one row. */
body[data-page="region01"] .medicine-issue-dialog .medicine-issue-reveal__detail {
  grid-template-areas: "solution" "results" "services";
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: repeat(3, auto);
}

body[data-page="region01"] .medicine-issue-dialog .medicine-issue-reveal__detail > section {
  display: grid;
  grid-template-columns: 104px minmax(0, 1fr);
  gap: 16px;
  align-items: start;
  padding: 18px 20px;
  border-right: 0;
  border-bottom: 1px solid rgba(1, 54, 65, .14);
}

body[data-page="region01"] .medicine-issue-dialog .medicine-issue-reveal__detail > section:last-child {
  border-bottom: 0;
}

body[data-page="region01"] .medicine-issue-dialog .medicine-issue-reveal__detail h4 {
  margin: 0;
  text-align: center;
}

body[data-page="region01"] .medicine-issue-dialog .medicine-issue-reveal__results {
  grid-template-columns: minmax(0, 1fr);
}

body[data-page="region01"] .medicine-issue-dialog .medicine-issue-reveal__result-title {
  position: relative;
  display: inline-flex;
  align-items: flex-start;
  gap: 6px;
  width: fit-content;
  max-width: 100%;
  padding-bottom: 5px;
}

body[data-page="region01"] .medicine-issue-dialog .medicine-issue-reveal__result-title::after {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 1px;
  background: rgba(78, 171, 216, .78);
  content: "";
}

body[data-page="region01"] .medicine-issue-dialog .medicine-issue-reveal__results > a:is(:hover, :focus-visible) .medicine-issue-reveal__result-title::after {
  animation: medicine-service-link-redraw 440ms ease both;
}

body[data-page="region01"] .medicine-issue-dialog .medicine-issue-reveal__result-title i {
  flex: 0 0 auto;
  margin-top: 3px;
  color: var(--pp-primary-strong, #2f8eb6);
  font-size: 13px;
  line-height: 1;
}

@media (prefers-reduced-motion: reduce) {
  body[data-page="region01"] .medicine-issue-dialog .medicine-issue-reveal__results > a:is(:hover, :focus-visible) .medicine-issue-reveal__result-title::after {
    animation: none;
  }
}

body[data-page="region01"] .medicine-issue-dialog .medicine-issue-reveal__services {
  align-self: center;
}

@media (max-width: 980px) {
  body[data-page="region01"] .medicine-issue-dialog .medicine-issue-reveal__detail > section {
    grid-template-columns: 92px minmax(0, 1fr);
    gap: 13px;
    padding: 16px 17px;
  }

  body[data-page="region01"] .medicine-issue-dialog .medicine-issue-reveal__results {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 620px) {
  body[data-page="region01"] .medicine-issue-dialog .medicine-issue-reveal__detail > section {
    grid-template-columns: 86px minmax(0, 1fr);
  }
}

/* Match the compact rounded reference box used at the left of the supplied design. */
body[data-page="region01"] .medicine-issue-dialog {
  row-gap: 48px;
}

body[data-page="region01"] .medicine-issue-dialog .medicine-issue-reveal__problem {
  min-height: 220px;
  height: 220px;
  padding: 20px 22px;
  border-radius: 24px;
}

body[data-page="region01"] .medicine-issue-dialog .medicine-issue-reveal__problem::after {
  position: absolute;
  right: 30px;
  bottom: -24px;
  display: block;
  width: 42px;
  border-top: 1px dashed rgba(1, 54, 65, .62);
  content: "";
  transform: rotate(55deg);
  transform-origin: right center;
}

body[data-page="region01"] .medicine-issue-dialog .medicine-issue-reveal__problem strong {
  display: block;
  overflow: visible;
  -webkit-line-clamp: unset;
}

body[data-page="region01"] .medicine-issue-dialog .medicine-issue-reveal.is-open .medicine-issue-reveal__problem {
  height: auto;
  min-height: 300px;
  padding: 24px;
}

body[data-page="region01"] .medicine-issue-dialog .medicine-issue-reveal.is-open .medicine-issue-reveal__problem::after {
  display: none;
}

body[data-page="region01"] .medicine-issue-dialog .medicine-issue-reveal.is-open .medicine-issue-reveal__problem strong {
  display: block;
  overflow: visible;
  -webkit-line-clamp: unset;
}

@media (max-width: 620px) {
  body[data-page="region01"] .medicine-issue-dialog .medicine-issue-reveal__problem {
    height: auto;
    min-height: 220px;
  }
}

/* The selected issue answer follows the supplied editorial-organization panel. */
body[data-page="region01"] #medicine-issues .medicine-issue-dialog .medicine-issue-reveal__detail {
  --issue-panel-tail-x: 112px;
  --issue-panel-tail-y: 72px;
  grid-template-areas:
    "solution solution"
    "outcomes client"
    "support support";
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: auto 1fr auto;
  gap: 0;
  width: calc(100% + (var(--issue-panel-tail-x) * 2));
  padding: 20px;
  padding-left: calc(var(--issue-panel-tail-x) + 20px);
  overflow: hidden;
  border: 0;
  background: #fff;
  box-shadow: inset 0 0 0 1px rgba(1, 54, 65, .18);
  clip-path: polygon(var(--issue-panel-tail-x) 0, 100% 0, 100% calc(100% - var(--issue-panel-tail-y)), calc(100% - var(--issue-panel-tail-x)) 100%, 0 100%, var(--issue-panel-tail-x) calc(100% - var(--issue-panel-tail-y)));
  transform: translateX(calc(var(--issue-panel-tail-x) * -1));
}

body[data-page="region01"] #medicine-issues .medicine-issue-dialog .medicine-issue-reveal__detail::before {
  display: none;
}

body[data-page="region01"] #medicine-issues .medicine-issue-dialog .medicine-issue-reveal__detail > section {
  display: grid;
  min-width: 0;
  padding: 20px;
  border: 0;
  color: var(--pp-ink, #013641);
}

body[data-page="region01"] #medicine-issues .medicine-issue-dialog .medicine-issue-reveal__detail .medicine-issue-reveal__solution {
  grid-area: solution;
  grid-template-columns: 112px;
  align-items: center;
  justify-content: start;
  padding: 2px 0 18px;
  background: #fff;
}

body[data-page="region01"] #medicine-issues .medicine-issue-dialog .medicine-issue-reveal__solution h4 {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  margin: 0;
  padding: 8px 10px;
  border: 1px solid var(--issue-reveal-accent, #4eabd8);
  color: #fff;
  background: var(--issue-reveal-accent, #4eabd8);
  font-size: 15px;
  letter-spacing: .06em;
}

body[data-page="region01"] #medicine-issues .medicine-issue-dialog .medicine-issue-reveal__outcomes,
body[data-page="region01"] #medicine-issues .medicine-issue-dialog .medicine-issue-reveal__answer-copy,
body[data-page="region01"] #medicine-issues .medicine-issue-dialog .medicine-issue-reveal__support {
  background: #edf3f5;
}

body[data-page="region01"] #medicine-issues .medicine-issue-dialog .medicine-issue-reveal__support {
  background: #fff;
}

body[data-page="region01"] #medicine-issues .medicine-issue-dialog .medicine-issue-reveal__detail > section.medicine-issue-reveal__outcomes {
  grid-area: outcomes;
  grid-template-columns: minmax(0, 1fr);
  align-content: start;
  border-right: 2px dotted rgba(1, 54, 65, .58);
}

body[data-page="region01"] #medicine-issues .medicine-issue-dialog .medicine-issue-reveal__answer-copy {
  grid-area: client;
  grid-template-columns: minmax(0, 1fr);
  align-content: start;
}

body[data-page="region01"] #medicine-issues .medicine-issue-dialog .medicine-issue-reveal__support {
  grid-area: support;
  grid-template-columns: 132px minmax(0, 1fr);
  gap: 18px;
  align-items: center;
  padding-top: 10px;
}

body[data-page="region01"] #medicine-issues .medicine-issue-dialog .medicine-issue-reveal__outcomes h4,
body[data-page="region01"] #medicine-issues .medicine-issue-dialog .medicine-issue-reveal__support h4 {
  width: fit-content;
  margin: 0 0 14px;
  padding: 7px 10px;
  border: 1px solid rgba(1, 54, 65, .68);
  color: var(--pp-ink, #013641);
  background: #fff;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .04em;
}

body[data-page="region01"] #medicine-issues .medicine-issue-dialog .medicine-issue-reveal__answer-copy ul {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  color: #27404d;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.75;
  list-style: none;
}

body[data-page="region01"] #medicine-issues .medicine-issue-dialog .medicine-issue-reveal__answer-copy li {
  padding: 0;
}

body[data-page="region01"] #medicine-issues .medicine-issue-dialog .medicine-issue-reveal__answer-copy li::before {
  display: none;
}

body[data-page="region01"] #medicine-issues .medicine-issue-dialog .medicine-issue-reveal__results {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
}

body[data-page="region01"] #medicine-issues .medicine-issue-dialog .medicine-issue-reveal__results > a,
body[data-page="region01"] #medicine-issues .medicine-issue-dialog .medicine-issue-reveal__results > a:first-child {
  gap: 3px;
  min-height: 70px;
  padding: 9px 10px;
  border: 1px solid rgba(1, 54, 65, .46);
  background: rgba(255, 255, 255, .84);
  transition: border-color 180ms ease, background-color 180ms ease;
}

body[data-page="region01"] #medicine-issues .medicine-issue-dialog .medicine-issue-reveal__results > a:last-child {
  border-bottom: 1px solid rgba(1, 54, 65, .46);
}

body[data-page="region01"] #medicine-issues .medicine-issue-dialog .medicine-issue-reveal__results > a:is(:hover, :focus-visible) {
  border-color: var(--issue-reveal-accent, #4eabd8);
  background-color: #fff;
}

body[data-page="region01"] #medicine-issues .medicine-issue-dialog .medicine-issue-reveal__results > a:focus-visible {
  outline: 2px solid var(--issue-reveal-accent, #4eabd8);
  outline-offset: 2px;
}

body[data-page="region01"] #medicine-issues .medicine-issue-dialog .medicine-issue-reveal__support h4 {
  margin: 0;
}

body[data-page="region01"] #medicine-issues .medicine-issue-dialog .medicine-issue-reveal__services {
  align-self: center;
}

@media (max-width: 980px) {
  body[data-page="region01"] #medicine-issues .medicine-issue-dialog .medicine-issue-reveal__detail {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding: 18px 18px 68px;
    padding-left: calc(var(--issue-panel-tail-x) + 18px);
  }

  body[data-page="region01"] #medicine-issues .medicine-issue-dialog .medicine-issue-reveal__detail > section {
    padding: 17px;
  }
}

@media (max-width: 620px) {
  body[data-page="region01"] #medicine-issues .medicine-issue-dialog .medicine-issue-reveal__detail {
    --issue-panel-tail-x: 46px;
    --issue-panel-tail-y: 30px;
    grid-template-areas:
      "solution"
      "client"
      "outcomes"
      "support";
    grid-template-columns: minmax(0, 1fr);
    width: 100%;
    padding: 16px 16px 42px;
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - 30px), calc(100% - 46px) 100%, 0 100%);
    transform: none;
  }

  body[data-page="region01"] #medicine-issues .medicine-issue-dialog .medicine-issue-reveal__detail .medicine-issue-reveal__solution,
  body[data-page="region01"] #medicine-issues .medicine-issue-dialog .medicine-issue-reveal__support {
    grid-template-columns: minmax(0, 1fr);
  }

  body[data-page="region01"] #medicine-issues .medicine-issue-dialog .medicine-issue-reveal__detail > section.medicine-issue-reveal__outcomes {
    border-top: 1px dashed rgba(1, 54, 65, .42);
    border-right: 0;
  }

  body[data-page="region01"] #medicine-issues .medicine-issue-dialog .medicine-issue-reveal__answer-copy {
    border-top: 1px solid rgba(1, 54, 65, .14);
  }
}

/* Keep the selected issue card compact instead of stretching with its answer panel. */
body[data-page="region01"] #medicine-issues .medicine-issue-dialog .medicine-issue-reveal.is-open .medicine-issue-reveal__problem {
  align-self: center;
  width: 100%;
  height: 220px;
  min-height: 220px;
  max-height: 220px;
  padding: 20px 22px;
}

body[data-page="region01"] #medicine-issues .medicine-issue-dialog .medicine-issue-reveal__answer {
  align-self: flex-end;
  justify-content: flex-end;
  margin-left: auto;
}

@media (min-width: 621px) and (max-width: 1439px) {
  body[data-page="region01"] #medicine-issues .medicine-issue-dialog .medicine-issue-reveal.is-open {
    grid-template-columns: minmax(0, calc((100% - (2 * clamp(16px, calc(1.8 * var(--pp-wide-vw, 1vw)), 24px))) / 3)) 34px minmax(0, 1fr);
  }
}

@media (max-width: 620px) {
  body[data-page="region01"] #medicine-issues .medicine-issue-dialog .medicine-issue-reveal.is-open .medicine-issue-reveal__problem {
    height: 220px;
    min-height: 220px;
    max-height: 220px;
  }
}

/* Wide screens use the compact four-column square-card layout. */
@media (min-width: 1440px) {
  body[data-page="region01"] #medicine-issues .medicine-issue-dialog {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  body[data-page="region01"] #medicine-issues .medicine-issue-dialog .medicine-issue-reveal.is-open {
    grid-template-columns: minmax(0, calc((100% - (3 * clamp(16px, calc(1.8 * var(--pp-wide-vw, 1vw)), 24px))) / 4)) 34px minmax(0, 1fr);
  }

  body[data-page="region01"] #medicine-issues .medicine-issue-dialog .medicine-issue-reveal__problem,
  body[data-page="region01"] #medicine-issues .medicine-issue-dialog .medicine-issue-reveal.is-open .medicine-issue-reveal__problem {
    width: 100%;
    height: auto;
    min-height: 0;
    max-height: none;
    aspect-ratio: 1;
  }
}

/* Region 01 issue heading follows the Operation Support heading system. */
body[data-page="region01"] #medicine-issues > .medicine-service-section-heading {
  align-items: normal;
  max-width: none;
  margin-bottom: 46px;
  text-align: start;
}

@media (min-width: 721px) {
  body[data-page="region01"] #medicine-issues > .medicine-service-section-heading {
    width: min(calc(100% + clamp(34px, calc(5 * var(--pp-wide-vw, 1vw)), 68px) + clamp(34px, calc(5 * var(--pp-wide-vw, 1vw)), 68px)), 1050px);
    margin-right: auto;
    margin-left: max(calc(clamp(34px, calc(5 * var(--pp-wide-vw, 1vw)), 68px) * -1), calc((100% - 1050px) / 2));
  }
}

body[data-page="region01"] #medicine-issues > .medicine-service-section-heading p {
  margin: 0 0 8px;
  text-align: start;
}

body[data-page="region01"] #medicine-issues > .medicine-service-section-heading h3 {
  display: inline-block;
  width: fit-content;
  margin: 16px 0 12px;
  padding: 0;
  border: 0;
  font-size: clamp(28px, calc(3.2 * var(--pp-wide-vw, 1vw)), 44px);
  font-weight: 800;
  line-height: 1.05;
  letter-spacing: -.07em;
  text-align: start;
  text-shadow: var(--pp-image-heading-shadow) !important;
}

body[data-page="region01"] #medicine-issues > .medicine-service-section-heading span {
  width: max-content;
  max-width: 100%;
  margin: 0 !important;
  color: rgba(255, 255, 255, .82);
  text-align: start !important;
  text-shadow: var(--pp-image-heading-shadow) !important;
  white-space: nowrap;
}

@media (max-width: 720px) {
  body[data-page="region01"] #medicine-issues > .medicine-service-section-heading h3 {
    font-size: clamp(26px, calc(7.4 * var(--pp-wide-vw, 1vw)), 30px);
    letter-spacing: -.05em;
    white-space: normal;
  }

  body[data-page="region01"] #medicine-issues > .medicine-service-section-heading span {
    width: 100%;
    max-width: 100%;
    white-space: normal;
  }
}

/* Region 02 uses the approved Region 01 service-area language without changing Region 01. */
body[data-page="region02"] .medical-device-service-field-guide {
  --medical-device-guide-width: min(calc(100% + clamp(120px, calc(14 * var(--pp-wide-vw, 1vw)), 190px)), calc(calc(100 * var(--pp-wide-vw, 1vw)) - 270px), 1140px);
  width: var(--medical-device-guide-width);
  margin: clamp(28px, calc(4 * var(--pp-wide-vw, 1vw)), 48px) 0 0 calc((100% - var(--medical-device-guide-width)) / 2);
  color: #013641;
}

body[data-page="region02"] .medical-device-service-field-guide .medicine-service-field-guide__canvas,
body[data-page="region02"] .medical-device-service-field-guide .medicine-service-field-guide__main,
body[data-page="region02"] .medical-device-service-field-guide .medicine-service-field-guide__group {
  display: grid;
  min-width: 0;
}

body[data-page="region02"] .medical-device-service-field-guide .medicine-service-field-guide__canvas {
  padding: clamp(14px, calc(1.8 * var(--pp-wide-vw, 1vw)), 22px);
  border: 0;
  background: transparent;
}

body[data-page="region02"] .medical-device-service-field-guide .medicine-service-field-guide__group {
  gap: 14px;
  padding: 12px;
  border: 1px solid rgba(47, 142, 182, .24);
  background: rgba(255, 255, 255, .52);
}

body[data-page="region02"] .medical-device-service-field-guide .medicine-service-field-guide__main-heading {
  display: flex;
  align-items: baseline;
  gap: 16px;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(1, 54, 65, .28);
}

body[data-page="region02"] .medical-device-service-field-guide .medicine-service-field-guide__main-heading span {
  padding: 6px 10px;
  border: 1px solid var(--pp-primary, #4eabd8);
  font-family: var(--pp-font-display);
  font-size: clamp(17px, calc(1.6 * var(--pp-wide-vw, 1vw)), 23px);
  font-weight: 800;
  line-height: 1.25;
}

body[data-page="region02"] .medical-device-service-field-guide .medicine-service-field-guide__main-heading strong {
  font-family: var(--pp-font-display);
  font-size: clamp(17px, calc(1.55 * var(--pp-wide-vw, 1vw)), 22px);
  line-height: 1.4;
}

body[data-page="region02"] .medical-device-service-field-guide .medicine-service-field-guide__lifecycle {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin: 0;
  padding: 0;
  list-style: none;
}

body[data-page="region02"] .medical-device-service-field-guide .medicine-service-field-guide__lifecycle li {
  min-width: 0;
  padding: 8px 5px;
  border-block: 1px solid var(--lifecycle-accent);
  color: #013641;
  background: var(--lifecycle-surface);
  font-size: 13px;
  font-weight: 800;
  line-height: 1.3;
  text-align: center;
}

body[data-page="region02"] .medical-device-service-field-guide .medicine-service-field-guide__lifecycle li:nth-child(1) {
  --lifecycle-accent: #21a9c8;
  --lifecycle-surface: #bceaf3;
}

body[data-page="region02"] .medical-device-service-field-guide .medicine-service-field-guide__lifecycle li:nth-child(2) {
  --lifecycle-accent: #21a9c8;
  --lifecycle-surface: #b8e6f1;
}

body[data-page="region02"] .medical-device-service-field-guide .medicine-service-field-guide__lifecycle li:nth-child(3) {
  --lifecycle-accent: #1688bd;
  --lifecycle-surface: #afd9ef;
}

body[data-page="region02"] .medical-device-service-field-guide .medicine-service-field-guide__lifecycle li:nth-child(4) {
  --lifecycle-accent: #11699f;
  --lifecycle-surface: #a9cce6;
}

body[data-page="region02"] .medical-device-service-field-guide__stages {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  align-items: start;
}

body[data-page="region02"] .medical-device-service-field-guide .medicine-service-field-guide__stage {
  --field-accent: #21a9c8;
  --field-surface: #def6fb;
  --field-tint: #bceaf3;
  --field-chip: #a6e1ec;
  display: grid;
  grid-template-areas: "title" "standards" "services";
  grid-template-rows: auto auto auto;
  min-width: 0;
  padding: 14px;
  background: var(--field-surface);
}

body[data-page="region02"] .medical-device-service-field-guide .medicine-service-field-guide__stage--manufacturing {
  --field-accent: #1688bd;
  --field-surface: #d8eef9;
  --field-tint: #afd9ef;
  --field-chip: #98cfe7;
}

body[data-page="region02"] .medical-device-service-field-guide .medicine-service-field-guide__stage--distribution {
  --field-accent: #11699f;
  --field-surface: #d5e5f4;
  --field-tint: #a9cce6;
  --field-chip: #91bcdb;
}

body[data-page="region02"] .medical-device-service-field-guide .medicine-service-field-guide__stage--cosmetics {
  --field-accent: #284f88;
  --field-surface: #d9e0f0;
  --field-tint: #b2c1df;
  --field-chip: #9fb2d4;
}

body[data-page="region02"] .medical-device-service-field-guide .medicine-service-field-guide__stage-title {
  grid-area: title;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  width: fit-content;
  max-width: 100%;
  margin: 0 0 10px;
  padding: 6px 8px;
  border: 1px solid var(--field-accent);
  color: #013641;
  background: var(--field-tint);
  font-family: var(--pp-font-display);
  font-size: clamp(15px, calc(1.25 * var(--pp-wide-vw, 1vw)), 18px);
  font-weight: 800;
  line-height: 1.3;
  white-space: nowrap;
}

body[data-page="region02"] .medical-device-service-field-guide .medicine-service-field-guide__stage-title span {
  flex: 0 0 auto;
  color: var(--field-accent);
  font-family: var(--pp-font-latin);
  font-size: 10px;
  letter-spacing: .12em;
}

body[data-page="region02"] .medical-device-service-field-guide .medicine-service-field-guide__stage-title strong {
  min-width: 0;
  font: inherit;
}

@media (min-width: 981px) and (max-width: 1359px) {
  body[data-page="region02"] .medical-device-service-field-guide .medicine-service-field-guide__stage-title {
    box-sizing: border-box;
    width: 100%;
    min-height: 58px;
    align-items: center;
    font-size: clamp(13px, calc(1.25 * var(--pp-wide-vw, 1vw)), 16px);
    white-space: normal;
  }

  body[data-page="region02"] .medical-device-service-field-guide .medicine-service-field-guide__stage-title strong {
    overflow-wrap: anywhere;
  }
}

body[data-page="region02"] .medical-device-service-field-guide .medicine-service-field-guide__standards {
  grid-area: standards;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 4px;
  min-width: 0;
  padding: 8px;
  background: var(--field-tint);
}

body[data-page="region02"] .medical-device-service-field-guide .medicine-service-field-guide__stage--manufacturing .medicine-service-field-guide__standards {
  grid-template-columns: minmax(0, 1fr);
}

body[data-page="region02"] .medical-device-service-field-guide .medicine-service-field-guide__stage--manufacturing .medicine-service-field-guide__standards > :is(a, span) {
  min-height: 60px;
  padding: 4px 7px;
}

body[data-page="region02"] .medical-device-service-field-guide :is(.medicine-service-field-guide__stage--development, .medicine-service-field-guide__stage--distribution, .medicine-service-field-guide__stage--cosmetics) .medicine-service-field-guide__standards {
  grid-template-columns: minmax(0, 1fr);
}

body[data-page="region02"] .medical-device-service-field-guide :is(.medicine-service-field-guide__stage--development, .medicine-service-field-guide__stage--distribution, .medicine-service-field-guide__stage--cosmetics) .medicine-service-field-guide__standards > :is(a, span) {
  min-height: 60px;
  padding: 4px 7px;
}

body[data-page="region02"] .medical-device-service-field-guide .medicine-service-field-guide__standards > :is(a, span) {
  display: grid;
  grid-template-rows: auto auto;
  align-content: center;
  min-width: 0;
  min-height: 76px;
  padding: 7px;
  border: 1px solid var(--field-accent);
  color: #013641;
  background: var(--field-chip);
  font-size: 11px;
  font-weight: 800;
  line-height: 1.2;
  text-decoration: none;
}

body[data-page="region02"] .medical-device-service-field-guide .medicine-service-field-guide__standards strong {
  display: block;
  min-width: 0;
  overflow-wrap: anywhere;
}

body[data-page="region02"] .medical-device-service-field-guide .medicine-service-field-guide__standards small {
  display: block;
  margin-top: 4px;
  color: rgba(1, 54, 65, .68);
  font-size: 10px;
  font-weight: 700;
}

body[data-page="region02"] .medical-device-service-field-guide .medicine-service-field-guide__service-list {
  grid-area: services;
  display: grid;
  align-content: start;
  gap: 3px;
  min-width: 0;
  margin-top: 10px;
  padding: 13px 8px 8px;
  border-top: 1px dashed rgba(1, 54, 65, .5);
}

body[data-page="region02"] .medical-device-service-field-guide .medicine-service-field-guide__service-list h6 {
  margin: 0 0 4px;
  color: rgba(1, 54, 65, .68);
  font-family: var(--pp-font-latin);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .12em;
}

body[data-page="region02"] .medical-device-service-field-guide .medicine-service-field-guide__service-list > :is(a, span) {
  display: flex;
  min-width: 0;
  min-height: 30px;
  align-items: center;
  color: #013641;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.4;
  text-decoration: none;
}

body[data-page="region02"] .medical-device-service-field-guide a {
  transition: color 180ms ease, border-color 180ms ease, background-color 180ms ease;
}

body[data-page="region02"] .medical-device-service-field-guide__stages a {
  position: relative;
}

body[data-page="region02"] .medical-device-service-field-guide__stages a::after {
  flex: 0 0 auto;
  width: 12px;
  height: 12px;
  margin-left: 7px;
  background-color: #2f8eb6;
  content: "";
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14 5h5v5M13 11l6-6M19 13v6H5V5h6' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14 5h5v5M13 11l6-6M19 13v6H5V5h6' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
}

body[data-page="region02"] .medical-device-service-field-guide .medicine-service-field-guide__standards a::after {
  display: none;
}

body[data-page="region02"] .medical-device-service-field-guide .medicine-service-field-guide__link-label {
  position: relative;
  display: inline-grid;
  width: fit-content;
  max-width: 100%;
}

body[data-page="region02"] .medical-device-service-field-guide .medicine-service-field-guide__standards > a .medicine-service-field-guide__link-label {
  box-sizing: border-box;
  display: inline-flex;
  width: 100%;
  min-height: 40px;
  flex-flow: row wrap;
  align-items: center;
  justify-content: flex-start;
  gap: 3px 6px;
  padding: 6px 10px;
  border: 1px solid var(--field-accent, rgba(1, 54, 65, .72));
  background: var(--field-chip, rgba(255, 255, 255, .9));
}

body[data-page="region02"] .medical-device-service-field-guide .medicine-service-field-guide__link-label::after {
  position: absolute;
  right: 0;
  bottom: -1px;
  left: 0;
  height: 1px;
  background: var(--pp-primary, #4eabd8);
  content: "";
  transform: scaleX(1);
  transform-origin: right center;
}

body[data-page="region02"] .medical-device-service-field-guide .medicine-service-field-guide__service-list .medicine-service-field-guide__link-label::after {
  right: -19px;
  bottom: 1px;
}

body[data-page="region02"] .medical-device-service-field-guide .medicine-service-field-guide__service-list > .medicine-service-field-guide__static-item .medicine-service-field-guide__link-label::after {
  right: 0;
  bottom: -1px;
}

body[data-page="region02"] .medical-device-service-field-guide .medicine-service-field-guide__service-list > .medicine-service-field-guide__static-item:hover .medicine-service-field-guide__link-label::after {
  animation: medicine-service-link-redraw 440ms ease both;
}

body[data-page="region02"] .medical-device-service-field-guide a:is(:hover, :focus-visible) .medicine-service-field-guide__link-label::after {
  animation: medicine-service-link-redraw 440ms ease both;
}

body[data-page="region02"] .medical-device-service-field-guide a:focus-visible {
  outline: 2px solid #4eabd8;
  outline-offset: 3px;
}

@media (max-width: 980px) {
  body[data-page="region02"] .medical-device-service-field-guide {
    width: 100%;
    margin-left: 0;
  }

  body[data-page="region02"] .medical-device-service-field-guide__stages {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 620px) {
  body[data-page="region02"] .medical-device-service-field-guide .medicine-service-field-guide__main-heading {
    display: grid;
    gap: 10px;
  }

  body[data-page="region02"] .medical-device-service-field-guide .medicine-service-field-guide__lifecycle {
    gap: 6px;
  }

  body[data-page="region02"] .medical-device-service-field-guide .medicine-service-field-guide__lifecycle li {
    padding-inline: 2px;
    font-size: 10px;
  }

  body[data-page="region02"] .medical-device-service-field-guide__stages {
    grid-template-columns: minmax(0, 1fr);
  }

  body[data-page="region02"] .medical-device-service-field-guide .medicine-service-field-guide__stage-title {
    font-size: 18px;
  }
}

/* Region 02 issue menu mirrors the approved Region 01 interaction with medical-device data. */
body[data-page="region02"] #medical-device-issues > .medicine-service-section-heading {
  align-items: normal;
  max-width: none;
  margin-bottom: 46px;
  text-align: start;
}

body[data-page="region02"] #medical-device-issues > .medicine-service-section-heading p {
  margin: 0 0 8px;
  text-align: start;
}

body[data-page="region02"] #medical-device-issues > .medicine-service-section-heading h3 {
  display: inline-block;
  width: fit-content;
  margin: 16px 0 12px;
  padding: 0;
  border: 0;
  font-size: clamp(28px, calc(3.2 * var(--pp-wide-vw, 1vw)), 44px);
  font-weight: 800;
  line-height: 1.05;
  letter-spacing: -.07em;
  text-align: start;
  text-shadow: var(--pp-image-heading-shadow) !important;
}

body[data-page="region02"] #medical-device-issues > .medicine-service-section-heading span {
  width: max-content;
  max-width: 100%;
  margin: 0 !important;
  color: rgba(255, 255, 255, .82);
  text-align: start !important;
  text-shadow: var(--pp-image-heading-shadow) !important;
  white-space: nowrap;
}

body[data-page="region02"] .medical-device-issue-dialog {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  row-gap: 48px;
}

body[data-page="region02"] .medical-device-issue-dialog .medicine-issue-reveal,
body[data-page="region02"] .medical-device-issue-dialog .medicine-issue-reveal:nth-child(n + 4) {
  grid-column: span 1;
}

body[data-page="region02"] .medical-device-issue-dialog .medicine-issue-reveal.is-open {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: minmax(0, calc((100% - (2 * clamp(16px, calc(1.8 * var(--pp-wide-vw, 1vw)), 24px))) / 3)) 34px minmax(0, 1fr);
  align-items: center;
  scroll-margin-top: calc(var(--pp-global-header-height, 76px) + 24px);
}

body[data-page="region02"] .medical-device-issue-dialog .medicine-issue-reveal__problem,
body[data-page="region02"] .medical-device-issue-dialog .medicine-issue-reveal.is-open .medicine-issue-reveal__problem {
  isolation: auto;
  position: relative;
  display: flex;
  width: 100%;
  height: 220px;
  min-height: 220px;
  max-height: 220px;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  padding: 20px 22px;
  overflow: visible;
  border: 1px solid rgba(1, 54, 65, .72);
  border-radius: 24px;
  color: #013641;
  background: rgba(238, 247, 252, .94) !important;
  background-image: none;
  box-shadow: none;
  text-align: left;
  transform: none;
}

body[data-page="region02"] .medical-device-issue-dialog .medicine-issue-reveal[data-service-area="md-standards"] {
  --issue-reveal-accent: #21a9c8;
  --issue-reveal-label-color: #09657a;
}

body[data-page="region02"] .medical-device-issue-dialog .medicine-issue-reveal[data-service-area="md-development"] {
  --issue-reveal-accent: #1688bd;
  --issue-reveal-label-color: #0d6188;
}

body[data-page="region02"] .medical-device-issue-dialog .medicine-issue-reveal[data-service-area="md-audit"] {
  --issue-reveal-accent: #11699f;
  --issue-reveal-label-color: #0d5b86;
}

body[data-page="region02"] .medical-device-issue-dialog .medicine-issue-reveal[data-service-area="md-system"] {
  --issue-reveal-accent: #284f88;
  --issue-reveal-label-color: #284f88;
}

body[data-page="region02"] .medical-device-issue-dialog .medicine-issue-reveal__problem::before {
  display: none;
}

body[data-page="region02"] .medical-device-issue-dialog .medicine-issue-reveal__problem::after {
  position: absolute;
  right: 30px;
  bottom: -24px;
  display: block;
  width: 42px;
  border-top: 1px dashed rgba(1, 54, 65, .62);
  content: "";
  transform: rotate(55deg);
  transform-origin: right center;
}

body[data-page="region02"] .medical-device-issue-dialog .medicine-issue-reveal__problem:is(:hover, :focus-visible),
body[data-page="region02"] .medical-device-issue-dialog .medicine-issue-reveal.is-open .medicine-issue-reveal__problem {
  border-color: var(--issue-reveal-accent, #2f8eb6);
  background: #e9f5fb;
  box-shadow: 0 8px 22px rgba(32, 104, 136, .12);
}

body[data-page="region02"] .medical-device-issue-dialog .medicine-issue-reveal.is-open .medicine-issue-reveal__problem::after {
  display: none;
}

body[data-page="region02"] .medical-device-issue-dialog .medicine-issue-reveal__problem small {
  width: fit-content;
  margin: 0 0 12px;
  padding: 4px 7px;
  border: 1px solid var(--issue-reveal-accent, #2f8eb6);
  color: var(--issue-reveal-label-color, #2f8eb6);
  background: #fff;
  font-size: 10px;
  letter-spacing: .16em;
}

body[data-page="region02"] .medical-device-issue-dialog .medicine-issue-reveal__problem strong {
  display: block;
  max-width: none;
  overflow: visible;
  color: #27404d;
  font-size: clamp(14px, calc(1.05 * var(--pp-wide-vw, 1vw)), 16px);
  font-weight: 600;
  line-height: 1.75;
  -webkit-line-clamp: unset;
}

body[data-page="region02"] .medical-device-issue-dialog .medicine-issue-reveal__answer {
  display: inline-flex;
  min-width: 0;
  align-items: center;
  align-self: flex-end;
  justify-content: flex-end;
  gap: 7px;
  margin-top: auto;
  margin-left: auto;
  padding-top: 14px;
  border: 0;
  color: #013641;
  background: transparent;
  font-family: var(--pp-font-latin, "Segoe UI", sans-serif);
  font-size: 13px;
  font-weight: 500;
  letter-spacing: .08em;
}

body[data-page="region02"] .medical-device-issue-dialog .medicine-issue-reveal__connector {
  display: none;
}

body[data-page="region02"] #medical-device-issues .medical-device-issue-dialog .medicine-issue-reveal__detail {
  --issue-panel-tail-x: 112px;
  --issue-panel-tail-y: 72px;
  grid-column: 3;
  display: grid;
  grid-template-areas: "solution solution" "outcomes client" "support support";
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: auto 1fr auto;
  gap: 0;
  width: calc(100% + (var(--issue-panel-tail-x) * 2));
  padding: 20px;
  padding-left: calc(var(--issue-panel-tail-x) + 20px);
  overflow: hidden;
  border: 0;
  background: #fff;
  box-shadow: inset 0 0 0 1px rgba(1, 54, 65, .18);
  clip-path: polygon(var(--issue-panel-tail-x) 0, 100% 0, 100% calc(100% - var(--issue-panel-tail-y)), calc(100% - var(--issue-panel-tail-x)) 100%, 0 100%, var(--issue-panel-tail-x) calc(100% - var(--issue-panel-tail-y)));
  transform: translateX(calc(var(--issue-panel-tail-x) * -1));
}

body[data-page="region02"] #medical-device-issues .medical-device-issue-dialog .medicine-issue-reveal__detail[hidden] {
  display: none !important;
}

body[data-page="region02"] #medical-device-issues .medical-device-issue-dialog .medicine-issue-reveal__detail::before {
  display: none;
}

body[data-page="region02"] #medical-device-issues .medical-device-issue-dialog .medicine-issue-reveal__detail > section {
  display: grid;
  min-width: 0;
  padding: 20px;
  border: 0;
  color: #013641;
}

body[data-page="region02"] #medical-device-issues .medicine-issue-reveal__solution {
  grid-area: solution;
  grid-template-columns: 112px;
  justify-content: start;
  padding: 2px 0 18px;
  background: #fff;
}

body[data-page="region02"] #medical-device-issues .medicine-issue-reveal__solution h4 {
  display: flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 8px 10px;
  border: 1px solid var(--issue-reveal-accent, #2f8eb6);
  color: #fff;
  background: var(--issue-reveal-accent, #2f8eb6);
  font-size: 15px;
  letter-spacing: .06em;
}

body[data-page="region02"] #medical-device-issues .medicine-issue-reveal__outcomes,
body[data-page="region02"] #medical-device-issues .medicine-issue-reveal__answer-copy {
  background: #edf3f5;
}

body[data-page="region02"] #medical-device-issues .medicine-issue-reveal__outcomes {
  grid-area: outcomes;
  grid-template-columns: minmax(0, 1fr);
  align-content: start;
  border-right: 2px dotted rgba(1, 54, 65, .58) !important;
}

body[data-page="region02"] #medical-device-issues .medicine-issue-reveal__answer-copy {
  grid-area: client;
  grid-template-columns: minmax(0, 1fr);
  align-content: start;
}

body[data-page="region02"] #medical-device-issues .medicine-issue-reveal__answer-copy ul {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  color: #27404d;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.75;
  list-style: none;
}

body[data-page="region02"] #medical-device-issues .medicine-issue-reveal__answer-copy li {
  padding: 0;
}

body[data-page="region02"] #medical-device-issues .medicine-issue-reveal__answer-copy li::before {
  display: none;
}

body[data-page="region02"] #medical-device-issues .medicine-issue-reveal__support {
  grid-area: support;
  grid-template-columns: 132px minmax(0, 1fr);
  gap: 18px;
  align-items: center;
  padding-top: 10px;
  background: #fff;
}

body[data-page="region02"] #medical-device-issues :is(.medicine-issue-reveal__outcomes, .medicine-issue-reveal__support) h4 {
  width: fit-content;
  margin: 0 0 14px;
  padding: 7px 10px;
  border: 1px solid rgba(1, 54, 65, .68);
  color: #013641;
  background: #fff;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .04em;
}

body[data-page="region02"] #medical-device-issues .medicine-issue-reveal__support h4 {
  margin: 0;
}

body[data-page="region02"] #medical-device-issues .medicine-issue-reveal__results {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
}

body[data-page="region02"] #medical-device-issues .medicine-issue-reveal__results > a {
  gap: 3px;
  min-height: 70px;
  padding: 9px 10px;
  border: 1px solid rgba(1, 54, 65, .46);
  background: rgba(255, 255, 255, .84);
}

body[data-page="region02"] #medical-device-issues .medicine-issue-reveal__result-title {
  position: relative;
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  align-items: flex-start;
  gap: 6px;
}

body[data-page="region02"] #medical-device-issues .medicine-issue-reveal__result-title::after {
  position: absolute;
  right: 0;
  bottom: 2px;
  left: 0;
  height: 1px;
  background: rgba(78, 171, 216, .78);
  content: "";
}

body[data-page="region02"] #medical-device-issues .medicine-issue-reveal__results > a:is(:hover, :focus-visible) .medicine-issue-reveal__result-title::after {
  animation: medicine-service-link-redraw 440ms ease both;
}

@media (min-width: 1440px) {
  body[data-page="region02"] .medical-device-issue-dialog {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  body[data-page="region02"] .medical-device-issue-dialog .medicine-issue-reveal.is-open {
    grid-template-columns: minmax(0, calc((100% - (3 * clamp(16px, calc(1.8 * var(--pp-wide-vw, 1vw)), 24px))) / 4)) 34px minmax(0, 1fr);
  }

  body[data-page="region02"] .medical-device-issue-dialog .medicine-issue-reveal__problem,
  body[data-page="region02"] .medical-device-issue-dialog .medicine-issue-reveal.is-open .medicine-issue-reveal__problem {
    height: auto;
    min-height: 0;
    max-height: none;
    aspect-ratio: 1;
  }
}

@media (max-width: 980px) {
  body[data-page="region02"] .medical-device-issue-dialog {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body[data-page="region02"] .medical-device-issue-dialog .medicine-issue-reveal.is-open {
    grid-template-columns: minmax(0, 1fr);
    gap: 18px;
  }

  body[data-page="region02"] #medical-device-issues .medical-device-issue-dialog .medicine-issue-reveal__detail {
    grid-column: 1;
    width: 100%;
    padding-left: 20px;
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - 42px), calc(100% - 68px) 100%, 0 100%);
    transform: none;
  }
}

@media (max-width: 720px) {
  body[data-page="region02"] #medical-device-issues > .medicine-service-section-heading h3 {
    font-size: clamp(26px, calc(7.4 * var(--pp-wide-vw, 1vw)), 30px);
    letter-spacing: -.05em;
  }

  body[data-page="region02"] #medical-device-issues > .medicine-service-section-heading span {
    width: 100%;
    white-space: normal;
  }
}

@media (max-width: 620px) {
  body[data-page="region02"] .medical-device-issue-dialog {
    grid-template-columns: minmax(0, 1fr);
  }

  body[data-page="region02"] #medical-device-issues .medical-device-issue-dialog .medicine-issue-reveal__detail {
    grid-template-areas: "solution" "client" "outcomes" "support";
    grid-template-columns: minmax(0, 1fr);
    padding: 16px 16px 42px;
  }

  body[data-page="region02"] #medical-device-issues .medical-device-issue-dialog .medicine-issue-reveal__detail > section,
  body[data-page="region02"] #medical-device-issues .medicine-issue-reveal__support {
    grid-template-columns: minmax(0, 1fr);
    padding: 17px;
  }

  body[data-page="region02"] #medical-device-issues .medicine-issue-reveal__outcomes {
    border-top: 1px dashed rgba(1, 54, 65, .42) !important;
    border-right: 0 !important;
  }
}

/* REGION 03 / ENGINEERING
   Reuse the approved service-area progression and issue-answer language while
   keeping Region 01 and Region 02 untouched. */
body[data-page="region03"] .engineering-service-field-guide {
  --engineering-phase-accent: #238f8b;
  --engineering-phase-soft: #c7e8e3;
  width: min(calc(100% + clamp(90px, calc(11 * var(--pp-wide-vw, 1vw)), 150px)), calc(calc(100 * var(--pp-wide-vw, 1vw)) - 270px), 1100px);
  margin-left: calc((100% - min(calc(100% + clamp(90px, calc(11 * var(--pp-wide-vw, 1vw)), 150px)), calc(calc(100 * var(--pp-wide-vw, 1vw)) - 270px), 1100px)) / 2);
  padding: clamp(18px, calc(2.4 * var(--pp-wide-vw, 1vw)), 28px);
  border: 1px solid rgba(1, 54, 65, .18);
  background: rgba(242, 250, 248, .78);
  box-shadow: 0 20px 48px rgba(0, 44, 61, .09) !important;
  scroll-margin-top: calc(var(--pp-global-header-height, 76px) + 18px);
}

body[data-page="region03"] .engineering-service-field-guide[data-active-phase="concept"],
body[data-page="region03"] .engineering-service-field-guide[data-active-phase="planning"] {
  --engineering-phase-accent: #238f8b;
  --engineering-phase-soft: #c7e8e3;
}

body[data-page="region03"] .engineering-service-field-guide[data-active-phase="vendor"],
body[data-page="region03"] .engineering-service-field-guide[data-active-phase="basic"] {
  --engineering-phase-accent: #1d7d7a;
  --engineering-phase-soft: #badfd9;
}

body[data-page="region03"] .engineering-service-field-guide[data-active-phase="detail"],
body[data-page="region03"] .engineering-service-field-guide[data-active-phase="construction"] {
  --engineering-phase-accent: #176d70;
  --engineering-phase-soft: #b0d4d3;
}

body[data-page="region03"] .engineering-service-field-guide[data-active-phase="commissioning"] {
  --engineering-phase-accent: #315f6f;
  --engineering-phase-soft: #b5cbd0;
}

body[data-page="region03"] .engineering-service-field-guide__heading {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 18px;
  padding: 0 0 14px;
  border-bottom: 1px solid rgba(1, 54, 65, .25);
}

body[data-page="region03"] .engineering-service-field-guide__heading span {
  flex: 0 0 auto;
  padding: 8px 11px;
  border: 1px solid #013641;
  color: #013641;
  background: rgba(255, 255, 255, .6);
  font-size: clamp(16px, calc(1.45 * var(--pp-wide-vw, 1vw)), 20px);
  font-weight: 800;
  line-height: 1.25;
}

body[data-page="region03"] .engineering-service-field-guide__heading strong {
  min-width: 0;
  color: #013641;
  font-size: clamp(15px, calc(1.25 * var(--pp-wide-vw, 1vw)), 19px);
  font-weight: 800;
  line-height: 1.5;
}

body[data-page="region03"] .engineering-phase-select-wrap {
  display: grid;
  grid-template-columns: 190px minmax(0, 1fr);
  align-items: center;
  gap: 14px;
  margin: 14px 0 0;
  color: #013641;
  font-size: 13px;
  font-weight: 800;
}

body[data-page="region03"] .engineering-phase-select-wrap > span:first-child {
  display: flex;
  min-height: 50px;
  align-items: center;
  padding: 10px 14px;
  border: 1px solid var(--engineering-phase-accent);
  background: color-mix(in srgb, var(--engineering-phase-soft) 72%, white);
  transition: border-color 180ms ease, background-color 180ms ease;
}

body[data-page="region03"] .engineering-phase-select-control {
  position: relative;
  display: block;
  min-width: 0;
}

body[data-page="region03"] .engineering-phase-select-control select {
  width: 100%;
  min-height: 50px;
  appearance: none;
  padding: 10px 50px 10px 16px;
  border: 1px solid var(--engineering-phase-accent);
  border-radius: 0;
  color: #013641;
  background: color-mix(in srgb, var(--engineering-phase-soft) 68%, white);
  font: inherit;
  font-size: clamp(14px, calc(1.15 * var(--pp-wide-vw, 1vw)), 17px);
  cursor: pointer;
  transition: border-color 180ms ease, background-color 180ms ease, box-shadow 180ms ease;
}

body[data-page="region03"] .engineering-phase-select-control select:is(:hover, :focus-visible) {
  background: #fff;
  box-shadow: inset 0 -3px var(--engineering-phase-accent) !important;
}

body[data-page="region03"] .engineering-phase-select-control select:focus-visible {
  outline: 2px solid var(--engineering-phase-accent);
  outline-offset: 3px;
}

body[data-page="region03"] .engineering-phase-select-control > i {
  position: absolute;
  top: 50%;
  right: 16px;
  color: var(--engineering-phase-accent);
  font-size: 19px;
  pointer-events: none;
  transform: translateY(-50%);
}

body[data-page="region03"] .engineering-service-field-guide .engineering-phase-arrow {
  display: none;
}

body[data-page="region03"] .engineering-service-field-guide .engineering-phase-tabs {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 5px;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  margin-top: 14px;
  box-sizing: border-box;
}

body[data-page="region03"] .engineering-service-field-guide .engineering-phase-tab {
  --engineering-phase: #238f8b;
  --engineering-phase-chip: #bfe5df;
  position: relative;
  display: grid;
  min-width: 0;
  min-height: 76px;
  align-content: center;
  padding: 4px 7px;
  overflow: hidden;
  border: 1px solid var(--engineering-phase);
  color: #013641;
  background: var(--engineering-phase-chip);
  box-shadow: none !important;
  cursor: pointer;
  text-decoration: none !important;
  text-align: left;
  transform: none;
}

body[data-page="region03"] .engineering-service-field-guide .engineering-phase-tab::before {
  display: none;
}

body[data-page="region03"] .engineering-service-field-guide .engineering-phase-tab[data-engineering-phase="concept"],
body[data-page="region03"] .engineering-service-field-guide .engineering-phase-tab[data-engineering-phase="planning"] {
  --engineering-phase: #238f8b;
  --engineering-phase-chip: #bfe5df;
}

body[data-page="region03"] .engineering-service-field-guide .engineering-phase-tab[data-engineering-phase="vendor"],
body[data-page="region03"] .engineering-service-field-guide .engineering-phase-tab[data-engineering-phase="basic"] {
  --engineering-phase: #1d7d7a;
  --engineering-phase-chip: #b4dcd7;
}

body[data-page="region03"] .engineering-service-field-guide .engineering-phase-tab[data-engineering-phase="detail"],
body[data-page="region03"] .engineering-service-field-guide .engineering-phase-tab[data-engineering-phase="construction"] {
  --engineering-phase: #176d70;
  --engineering-phase-chip: #aacfd0;
}

body[data-page="region03"] .engineering-service-field-guide .engineering-phase-tab[data-engineering-phase="commissioning"] {
  --engineering-phase: #315f6f;
  --engineering-phase-chip: #abc4ca;
}

body[data-page="region03"] .engineering-service-field-guide .engineering-phase-tab__label {
  position: relative;
  z-index: 1;
  display: grid;
  width: 100%;
  height: 100%;
  min-height: 62px;
  align-content: center;
  gap: 4px;
  padding: 6px 10px;
  border: 1px solid var(--engineering-phase);
  color: #013641;
  background: var(--engineering-phase-chip);
}

body[data-page="region03"] .engineering-service-field-guide .engineering-phase-tab__label > span {
  color: color-mix(in srgb, var(--engineering-phase) 88%, #013641);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .12em;
}

body[data-page="region03"] .engineering-service-field-guide .engineering-phase-tab__label > strong {
  position: relative;
  width: fit-content;
  max-width: 100%;
  padding-bottom: 2px;
  color: #013641;
  font-size: clamp(11px, calc(.9 * var(--pp-wide-vw, 1vw)), 14px);
  line-height: 1.35;
  overflow-wrap: normal;
  text-decoration: none !important;
}

body[data-page="region03"] .engineering-service-field-guide .engineering-phase-tab__label > strong::after {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 1px;
  background: var(--engineering-phase);
  content: "";
  transform: scaleX(1);
  transform-origin: right center;
}

body[data-page="region03"] .engineering-service-field-guide .engineering-phase-tab > i {
  display: none;
}

body[data-page="region03"] .engineering-service-field-guide .engineering-phase-tab:is(:hover, :focus-visible),
body[data-page="region03"] .engineering-service-field-guide .engineering-phase-tab.is-active {
  color: #013641;
  background: var(--engineering-phase-chip);
  box-shadow: none !important;
  transform: none;
}

body[data-page="region03"] .engineering-service-field-guide .engineering-phase-tab.is-active .engineering-phase-tab__label > strong::after {
  height: 2px;
  background: var(--engineering-phase);
}

body[data-page="region03"] .engineering-service-field-guide .engineering-phase-tab:is(:hover, :focus-visible) .engineering-phase-tab__label > strong::after {
  animation: medicine-service-link-redraw 440ms ease both;
}

@media (prefers-reduced-motion: reduce) {
  body[data-page="region03"] .engineering-service-field-guide .engineering-phase-tab:is(:hover, :focus-visible) .engineering-phase-tab__label > strong::after {
    animation: none;
  }
}

body[data-page="region03"] .engineering-service-field-guide .engineering-phase-tab:focus-visible {
  outline: 2px solid var(--engineering-phase);
  outline-offset: 3px;
}

body[data-page="region03"] .engineering-service-field-guide .engineering-phase-panel {
  margin-top: 6px;
  border: 1px solid color-mix(in srgb, var(--engineering-phase-accent) 58%, transparent);
  background: color-mix(in srgb, var(--engineering-phase-soft) 48%, rgba(248, 252, 254, .72));
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  box-shadow: none !important;
}

body[data-page="region03"] .engineering-service-field-guide .engineering-phase-panel > header {
  display: flex;
  min-height: 58px;
  padding: 12px 18px;
  color: #013641;
  border-bottom: 1px solid var(--engineering-phase-accent);
  background: color-mix(in srgb, var(--engineering-phase-soft) 76%, rgba(255, 255, 255, .52));
}

body[data-page="region03"] .engineering-service-field-guide .engineering-phase-panel > header span {
  color: color-mix(in srgb, var(--engineering-phase-accent) 86%, #013641);
}

body[data-page="region03"] .engineering-service-field-guide .engineering-phase-panel > header h4 {
  font-size: clamp(18px, calc(1.55 * var(--pp-wide-vw, 1vw)), 24px);
}

body[data-page="region03"] .engineering-service-field-guide .engineering-phase-lead {
  background: color-mix(in srgb, var(--engineering-phase-soft) 38%, white);
}

body[data-page="region03"] .engineering-service-field-guide .engineering-phase-lead__icon {
  background: var(--engineering-phase-accent);
}

body[data-page="region03"] .engineering-service-field-guide .engineering-phase-lead strong {
  color: var(--engineering-phase-accent);
}

body[data-page="region03"] .engineering-service-field-guide .engineering-phase-panel > .engineering-detail-flow {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  padding: 12px;
  border: 0;
}

body[data-page="region03"] .engineering-service-field-guide .engineering-detail-column {
  --engineering-detail-accent: var(--engineering-phase-accent);
  gap: 0;
  border: 1px solid color-mix(in srgb, var(--engineering-phase-accent) 34%, transparent);
  background: rgba(255, 255, 255, .34);
}

body[data-page="region03"] .engineering-service-field-guide .engineering-detail-label {
  min-height: 72px;
  padding: 12px 14px;
  color: #013641;
  border-bottom: 1px solid var(--engineering-phase-accent);
  background: color-mix(in srgb, var(--engineering-phase-soft) 72%, rgba(255, 255, 255, .48));
  box-shadow: none !important;
}

body[data-page="region03"] .engineering-service-field-guide .engineering-detail-label::after {
  display: none;
}

body[data-page="region03"] .engineering-service-field-guide .engineering-detail-label > span {
  color: var(--engineering-phase-accent);
  border-color: color-mix(in srgb, var(--engineering-phase-accent) 48%, transparent);
  border-radius: 0;
  background: rgba(255, 255, 255, .45);
}

body[data-page="region03"] .engineering-service-field-guide .engineering-detail-label > strong {
  position: relative;
  display: inline-block;
  width: fit-content;
  max-width: 100%;
  padding-bottom: 2px;
  color: #013641;
}

body[data-page="region03"] .engineering-service-field-guide .engineering-detail-label > strong::after {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 1px;
  background: var(--engineering-phase-accent);
  content: "";
  transform: scaleX(1);
  transform-origin: right center;
}

body[data-page="region03"] .engineering-service-field-guide .engineering-detail-column:hover .engineering-detail-label > strong::after {
  animation: medicine-service-link-redraw 440ms ease both;
}

@media (prefers-reduced-motion: reduce) {
  body[data-page="region03"] .engineering-service-field-guide .engineering-detail-column:hover .engineering-detail-label > strong::after {
    animation: none;
  }
}

body[data-page="region03"] .engineering-service-field-guide .engineering-detail-column > article {
  padding: 14px 16px;
  border: 0;
  background: transparent !important;
  box-shadow: none !important;
}

body[data-page="region03"] .engineering-service-field-guide .engineering-phase-source {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 10px;
  color: #164c53;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.45;
}

body[data-page="region03"] .engineering-service-field-guide .engineering-phase-source span {
  display: grid;
  width: 22px;
  min-width: 22px;
  height: 22px;
  place-items: center;
  border: 1px solid var(--engineering-phase-accent);
  color: var(--engineering-phase-accent);
  background: rgba(255, 255, 255, .58);
  font-size: 10px;
  letter-spacing: .08em;
}

body[data-page="region03"] .engineering-service-field-guide .engineering-detail-column article li {
  border-bottom-color: color-mix(in srgb, var(--engineering-phase-accent) 22%, transparent);
}

body[data-page="region03"] .engineering-service-field-guide__detail-link {
  position: relative;
  display: inline-flex;
  align-items: flex-start;
  gap: 7px;
  width: fit-content;
  max-width: 100%;
  margin: 16px 0 0 auto;
  color: #013641;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.55;
  text-decoration: none;
}

body[data-page="region03"] .engineering-service-field-guide__detail-link span {
  position: relative;
}

body[data-page="region03"] .engineering-service-field-guide__detail-link span::after {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 1px;
  content: "";
  background: rgba(78, 171, 216, .8);
}

body[data-page="region03"] .engineering-service-field-guide__detail-link i {
  flex: 0 0 auto;
  margin-top: 3px;
  color: var(--engineering-phase-accent);
  font-size: 13px;
}

body[data-page="region03"] .engineering-service-field-guide__detail-link:is(:hover, :focus-visible) span::after {
  animation: medicine-service-link-redraw 440ms ease both;
}

body[data-page="region03"] #engineering-cases > .medicine-service-section-heading {
  align-items: normal;
  max-width: none;
  margin-bottom: 46px;
  color: rgba(255, 255, 255, .86);
  text-align: start !important;
  text-shadow: var(--pp-image-heading-shadow) !important;
}

body[data-page="region03"] #engineering-cases {
  scroll-margin-top: calc(var(--pp-global-header-height, 76px) + 18px);
}

body[data-page="region03"] .engineering-issue-dialog {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  row-gap: 48px;
}

body[data-page="region03"] .engineering-issue-dialog .medicine-issue-reveal,
body[data-page="region03"] .engineering-issue-dialog .medicine-issue-reveal:nth-child(n + 4) {
  grid-column: span 1;
}

body[data-page="region03"] .engineering-issue-dialog .medicine-issue-reveal.is-open {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: minmax(0, calc((100% - (2 * clamp(16px, calc(1.8 * var(--pp-wide-vw, 1vw)), 24px))) / 3)) 34px minmax(0, 1fr);
  align-items: center;
  scroll-margin-top: calc(var(--pp-global-header-height, 76px) + 24px);
}

body[data-page="region03"] .engineering-issue-dialog .medicine-issue-reveal__problem,
body[data-page="region03"] .engineering-issue-dialog .medicine-issue-reveal.is-open .medicine-issue-reveal__problem {
  isolation: auto;
  position: relative;
  display: flex;
  width: 100%;
  height: 220px;
  min-height: 220px;
  max-height: 220px;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  padding: 20px 22px;
  overflow: visible;
  border: 1px solid rgba(1, 54, 65, .72);
  border-radius: 24px;
  color: #013641;
  background: rgba(238, 247, 252, .94) !important;
  background-image: none;
  box-shadow: none;
  text-align: left;
  transform: none;
}

body[data-page="region03"] .engineering-issue-dialog .medicine-issue-reveal[data-service-area="engineering-planning"] {
  --issue-reveal-accent: #21a9c8;
  --issue-reveal-label-color: #09657a;
}

body[data-page="region03"] .engineering-issue-dialog .medicine-issue-reveal[data-service-area="engineering-design"] {
  --issue-reveal-accent: #1688bd;
  --issue-reveal-label-color: #0d6188;
}

body[data-page="region03"] .engineering-issue-dialog .medicine-issue-reveal[data-service-area="engineering-validation"],
body[data-page="region03"] .engineering-issue-dialog .medicine-issue-reveal[data-service-area="engineering-construction"] {
  --issue-reveal-accent: #11699f;
  --issue-reveal-label-color: #0d5b86;
}

body[data-page="region03"] .engineering-issue-dialog .medicine-issue-reveal[data-service-area="engineering-qualification"] {
  --issue-reveal-accent: #284f88;
  --issue-reveal-label-color: #284f88;
}

body[data-page="region03"] .engineering-issue-dialog .medicine-issue-reveal__problem::before {
  display: none;
}

body[data-page="region03"] .engineering-issue-dialog .medicine-issue-reveal__problem::after {
  position: absolute;
  right: 30px;
  bottom: -24px;
  display: block;
  width: 42px;
  border-top: 1px dashed rgba(1, 54, 65, .62);
  content: "";
  transform: rotate(55deg);
  transform-origin: right center;
}

body[data-page="region03"] .engineering-issue-dialog .medicine-issue-reveal__problem:is(:hover, :focus-visible),
body[data-page="region03"] .engineering-issue-dialog .medicine-issue-reveal.is-open .medicine-issue-reveal__problem {
  border-color: var(--issue-reveal-accent, #2f8eb6);
  background: #e9f5fb;
  box-shadow: 0 8px 22px rgba(32, 104, 136, .12);
}

body[data-page="region03"] .engineering-issue-dialog .medicine-issue-reveal.is-open .medicine-issue-reveal__problem::after {
  display: none;
}

body[data-page="region03"] .engineering-issue-dialog .medicine-issue-reveal__problem small {
  width: fit-content;
  margin: 0 0 12px;
  padding: 4px 7px;
  border: 1px solid var(--issue-reveal-accent, #2f8eb6);
  color: var(--issue-reveal-label-color, #2f8eb6);
  background: #fff;
  font-size: 10px;
  letter-spacing: .16em;
}

body[data-page="region03"] .engineering-issue-dialog .medicine-issue-reveal__problem strong {
  display: block;
  max-width: none;
  overflow: visible;
  color: #27404d;
  font-size: clamp(14px, calc(1.05 * var(--pp-wide-vw, 1vw)), 16px);
  font-weight: 600;
  line-height: 1.75;
  -webkit-line-clamp: unset;
}

body[data-page="region03"] .engineering-issue-dialog .medicine-issue-reveal__answer {
  display: inline-flex;
  min-width: 0;
  align-items: center;
  align-self: flex-end;
  justify-content: flex-end;
  gap: 7px;
  margin-top: auto;
  margin-left: auto;
  padding-top: 14px;
  border: 0;
  color: #013641;
  background: transparent;
  font-family: var(--pp-font-latin, "Segoe UI", sans-serif);
  font-size: 13px;
  font-weight: 500;
  letter-spacing: .08em;
}

body[data-page="region03"] .engineering-issue-dialog .medicine-issue-reveal__connector {
  display: none;
}

body[data-page="region03"] #engineering-cases .engineering-issue-dialog .medicine-issue-reveal__detail {
  --issue-panel-tail-x: 112px;
  --issue-panel-tail-y: 72px;
  grid-column: 3;
  display: grid;
  grid-template-areas: "solution solution" "outcomes client" "support support";
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: auto 1fr auto;
  gap: 0;
  width: calc(100% + (var(--issue-panel-tail-x) * 2));
  padding: 20px;
  padding-left: calc(var(--issue-panel-tail-x) + 20px);
  overflow: hidden;
  border: 0;
  background: #fff;
  box-shadow: inset 0 0 0 1px rgba(1, 54, 65, .18);
  clip-path: polygon(var(--issue-panel-tail-x) 0, 100% 0, 100% calc(100% - var(--issue-panel-tail-y)), calc(100% - var(--issue-panel-tail-x)) 100%, 0 100%, var(--issue-panel-tail-x) calc(100% - var(--issue-panel-tail-y)));
  transform: translateX(calc(var(--issue-panel-tail-x) * -1));
}

body[data-page="region03"] #engineering-cases .engineering-issue-dialog .medicine-issue-reveal__detail[hidden] {
  display: none !important;
}

body[data-page="region03"] #engineering-cases .engineering-issue-dialog .medicine-issue-reveal__detail::before {
  display: none;
}

body[data-page="region03"] #engineering-cases .engineering-issue-dialog .medicine-issue-reveal__detail > section {
  display: grid;
  min-width: 0;
  padding: 20px;
  border: 0;
  color: #013641;
}

body[data-page="region03"] #engineering-cases .medicine-issue-reveal__solution {
  grid-area: solution;
  grid-template-columns: 112px;
  justify-content: start;
  padding: 2px 0 18px;
  background: #fff;
}

body[data-page="region03"] #engineering-cases .medicine-issue-reveal__solution h4 {
  display: flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 8px 10px;
  border: 1px solid var(--issue-reveal-accent, #2f8eb6);
  color: #fff;
  background: var(--issue-reveal-accent, #2f8eb6);
  font-size: 15px;
  letter-spacing: .06em;
}

body[data-page="region03"] #engineering-cases .medicine-issue-reveal__outcomes,
body[data-page="region03"] #engineering-cases .medicine-issue-reveal__answer-copy {
  background: #edf3f5;
}

body[data-page="region03"] #engineering-cases .medicine-issue-reveal__outcomes {
  grid-area: outcomes;
  grid-template-columns: minmax(0, 1fr);
  align-content: start;
  border-right: 2px dotted rgba(1, 54, 65, .58) !important;
}

body[data-page="region03"] #engineering-cases .medicine-issue-reveal__answer-copy {
  grid-area: client;
  grid-template-columns: minmax(0, 1fr);
  align-content: start;
}

body[data-page="region03"] #engineering-cases .medicine-issue-reveal__answer-copy ul {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  color: #27404d;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.75;
  list-style: none;
}

body[data-page="region03"] #engineering-cases .medicine-issue-reveal__answer-copy li {
  padding: 0;
}

body[data-page="region03"] #engineering-cases .medicine-issue-reveal__answer-copy li::before {
  display: none;
}

body[data-page="region03"] #engineering-cases .medicine-issue-reveal__support {
  grid-area: support;
  grid-template-columns: 132px minmax(0, 1fr);
  gap: 18px;
  align-items: center;
  padding-top: 10px;
  background: #fff;
}

body[data-page="region03"] #engineering-cases :is(.medicine-issue-reveal__outcomes, .medicine-issue-reveal__support) h4 {
  width: fit-content;
  margin: 0 0 14px;
  padding: 7px 10px;
  border: 1px solid rgba(1, 54, 65, .68);
  color: #013641;
  background: #fff;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .04em;
}

body[data-page="region03"] #engineering-cases .medicine-issue-reveal__support h4 {
  margin: 0;
}

body[data-page="region03"] #engineering-cases .medicine-issue-reveal__results {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
}

body[data-page="region03"] #engineering-cases .medicine-issue-reveal__results > a {
  gap: 3px;
  min-height: 70px;
  padding: 9px 10px;
  border: 1px solid rgba(1, 54, 65, .46);
  background: rgba(255, 255, 255, .84);
}

body[data-page="region03"] #engineering-cases .medicine-issue-reveal__result-title {
  position: relative;
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  align-items: flex-start;
  gap: 6px;
}

body[data-page="region03"] #engineering-cases .medicine-issue-reveal__result-title::after {
  position: absolute;
  right: 0;
  bottom: 2px;
  left: 0;
  height: 1px;
  background: rgba(78, 171, 216, .78);
  content: "";
}

body[data-page="region03"] #engineering-cases .medicine-issue-reveal__results > a:is(:hover, :focus-visible) .medicine-issue-reveal__result-title::after {
  animation: medicine-service-link-redraw 440ms ease both;
}

@media (min-width: 1440px) {
  body[data-page="region03"] .engineering-issue-dialog {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  body[data-page="region03"] .engineering-issue-dialog .medicine-issue-reveal.is-open {
    grid-template-columns: minmax(0, calc((100% - (3 * clamp(16px, calc(1.8 * var(--pp-wide-vw, 1vw)), 24px))) / 4)) 34px minmax(0, 1fr);
  }

  body[data-page="region03"] .engineering-issue-dialog .medicine-issue-reveal__problem,
  body[data-page="region03"] .engineering-issue-dialog .medicine-issue-reveal.is-open .medicine-issue-reveal__problem {
    height: auto;
    min-height: 0;
    max-height: none;
    aspect-ratio: 1;
  }
}

@media (max-width: 980px) {
  body[data-page="region03"] .engineering-service-field-guide {
    width: 100%;
    max-width: calc(calc(100 * var(--pp-wide-vw, 1vw)) - 76px);
    min-width: 0;
    margin-left: 0;
  }

  body[data-page="region03"] .engineering-service-field-guide .engineering-phase-panel > .engineering-detail-flow {
    grid-template-columns: minmax(0, 1fr);
  }

  body[data-page="region03"] .engineering-issue-dialog {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body[data-page="region03"] .engineering-issue-dialog .medicine-issue-reveal.is-open {
    grid-template-columns: minmax(0, 1fr);
    gap: 18px;
  }

  body[data-page="region03"] #engineering-cases .engineering-issue-dialog .medicine-issue-reveal__detail {
    grid-column: 1;
    width: 100%;
    padding-left: 20px;
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - 42px), calc(100% - 68px) 100%, 0 100%);
    transform: none;
  }
}

@media (max-width: 720px) {
  body[data-page="region03"] .engineering-service-field-guide__heading {
    align-items: flex-start;
    flex-direction: column;
    gap: 10px;
  }

  body[data-page="region03"] .engineering-phase-select-wrap {
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
  }

  body[data-page="region03"] .engineering-phase-select-wrap > span:first-child {
    min-height: 42px;
  }

  body[data-page="region03"] .engineering-service-field-guide .engineering-phase-tabs {
    grid-template-columns: repeat(7, 108px);
    contain: inline-size;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 3px 3px 10px;
    scrollbar-color: #1688bd rgba(255, 255, 255, .58);
    scrollbar-width: thin;
  }
}

@media (max-width: 620px) {
  body[data-page="region03"] .engineering-service-field-guide {
    padding: 14px;
  }

  body[data-page="region03"] .engineering-issue-dialog {
    grid-template-columns: minmax(0, 1fr);
  }

  body[data-page="region03"] #engineering-cases .engineering-issue-dialog .medicine-issue-reveal__detail {
    grid-template-areas: "solution" "client" "outcomes" "support";
    grid-template-columns: minmax(0, 1fr);
    padding: 16px 16px 42px;
  }

  body[data-page="region03"] #engineering-cases .engineering-issue-dialog .medicine-issue-reveal__detail > section,
  body[data-page="region03"] #engineering-cases .medicine-issue-reveal__support {
    grid-template-columns: minmax(0, 1fr);
    padding: 17px;
  }

  body[data-page="region03"] #engineering-cases .medicine-issue-reveal__outcomes {
    border-top: 1px dashed rgba(1, 54, 65, .42) !important;
    border-right: 0 !important;
  }
}

/* CMC support: case 01-03 reuse the approved issue-based service card system. */
body[data-page="service-cmc"] #pp-process-explore .pp-cmc-case-studies {
  width: min(100%, 1050px);
  margin: 0 auto clamp(70px, calc(8 * var(--pp-wide-vw, 1vw)), 112px);
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-case-issue-dialog {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 48px clamp(16px, calc(1.8 * var(--pp-wide-vw, 1vw)), 24px);
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-case-issue-dialog .medicine-issue-reveal.pp-process-scene {
  display: block;
  grid-column: span 1;
  min-height: 0;
  margin-top: 0 !important;
  padding: 0;
  scroll-margin-top: calc(var(--pp-global-header-height, 76px) + 24px);
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-case-issue-dialog .medicine-issue-reveal.is-open {
  order: -1;
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: minmax(0, calc((100% - (2 * clamp(16px, calc(1.8 * var(--pp-wide-vw, 1vw)), 24px))) / 3)) 34px minmax(0, 1fr);
  align-items: center;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-case-issue-dialog .medicine-issue-reveal__problem,
body[data-page="service-cmc"] #pp-process-explore .pp-cmc-case-issue-dialog .medicine-issue-reveal.is-open .medicine-issue-reveal__problem {
  position: relative;
  isolation: auto;
  display: flex;
  width: 100%;
  height: 220px;
  min-height: 220px;
  max-height: 220px;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  padding: 20px 22px;
  overflow: visible;
  border: 1px solid rgba(1, 54, 65, .72);
  border-radius: 24px;
  color: var(--pp-ink, #013641);
  background: rgba(238, 247, 252, .94);
  background-image: none;
  box-shadow: none;
  text-align: left;
  transform: none;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-case-issue-dialog .medicine-issue-reveal__problem::before {
  display: none;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-case-issue-dialog .medicine-issue-reveal__problem::after {
  position: absolute;
  right: 30px;
  bottom: -24px;
  display: block;
  width: 42px;
  border-top: 1px dashed rgba(1, 54, 65, .62);
  content: "";
  transform: rotate(55deg);
  transform-origin: right center;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-case-issue-dialog .medicine-issue-reveal__problem:is(:hover, :focus-visible),
body[data-page="service-cmc"] #pp-process-explore .pp-cmc-case-issue-dialog .medicine-issue-reveal.is-open .medicine-issue-reveal__problem {
  border-color: var(--issue-reveal-accent, #2f8eb6);
  background: #e9f5fb;
  box-shadow: 0 8px 22px rgba(32, 104, 136, .12);
  outline: none;
  transform: none;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-case-issue-dialog .medicine-issue-reveal__problem:focus-visible {
  outline: 2px solid var(--pp-primary-strong, #2f8eb6);
  outline-offset: 3px;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-case-issue-dialog .medicine-issue-reveal.is-open .medicine-issue-reveal__problem::after {
  display: none;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-case-issue-dialog .medicine-issue-reveal__problem small {
  width: fit-content;
  margin: 0 0 10px;
  padding: 4px 7px;
  border: 1px solid var(--issue-reveal-accent, #2f8eb6);
  color: var(--pp-primary-strong, #2f8eb6);
  background: #fff;
  font-size: 10px;
  letter-spacing: .16em;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-case-issue-dialog .medicine-issue-reveal__problem-label {
  display: block;
  margin: 0 0 12px;
  color: var(--pp-ink, #013641);
  font-size: clamp(17px, calc(1.45 * var(--pp-wide-vw, 1vw)), 22px);
  font-weight: 700;
  line-height: 1.3;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-case-issue-dialog .medicine-issue-reveal__problem strong {
  display: block;
  max-width: none;
  overflow: visible;
  color: #27404d;
  font-size: clamp(12px, calc(.9 * var(--pp-wide-vw, 1vw)), 14px);
  font-weight: 600;
  line-height: 1.65;
  letter-spacing: .01em;
  -webkit-line-clamp: unset;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-case-issue-dialog .medicine-issue-reveal__answer {
  display: inline-flex;
  min-width: 0;
  align-items: center;
  align-self: flex-end;
  justify-content: flex-end;
  gap: 7px;
  margin-top: auto;
  margin-left: auto;
  padding: 10px 0 0;
  border: 0;
  color: var(--pp-ink, #013641);
  background: transparent;
  font-family: var(--pp-font-latin, "Segoe UI", sans-serif);
  font-size: 13px;
  font-weight: 500;
  letter-spacing: .08em;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-case-issue-dialog .medicine-issue-reveal__connector {
  display: none;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-case-issue-dialog .medicine-issue-reveal.is-open .medicine-issue-reveal__connector {
  display: block;
  grid-column: 2;
  width: 34px;
  height: 1px;
  margin: 0;
  background: rgba(255, 255, 255, .72);
  clip-path: none;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-case-issue-dialog .medicine-issue-reveal__detail {
  --pp-cmc-case-tail-x: 82px;
  --pp-cmc-case-tail-y: 54px;
  grid-column: 3;
  display: grid;
  grid-template-areas: "solution solution" "outcomes client" "support support";
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: auto 1fr auto;
  gap: 0;
  width: calc(100% + (var(--pp-cmc-case-tail-x) * 2));
  padding: 18px;
  padding-left: calc(var(--pp-cmc-case-tail-x) + 18px);
  overflow: hidden;
  border: 0;
  color: var(--pp-ink, #013641);
  background: #fff;
  box-shadow: inset 0 0 0 1px rgba(1, 54, 65, .18);
  clip-path: polygon(var(--pp-cmc-case-tail-x) 0, 100% 0, 100% calc(100% - var(--pp-cmc-case-tail-y)), calc(100% - var(--pp-cmc-case-tail-x)) 100%, 0 100%, var(--pp-cmc-case-tail-x) calc(100% - var(--pp-cmc-case-tail-y)));
  transform: translateX(calc(var(--pp-cmc-case-tail-x) * -1));
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-case-issue-dialog .medicine-issue-reveal__detail[hidden] {
  display: none;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-case-issue-dialog .medicine-issue-reveal__detail::before {
  display: none;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-case-issue-dialog .medicine-issue-reveal__detail > section {
  display: grid;
  min-width: 0;
  padding: 18px;
  border: 0;
  color: var(--pp-ink, #013641);
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-case-issue-dialog .medicine-issue-reveal__solution {
  grid-area: solution;
  grid-template-columns: 112px;
  align-items: center;
  justify-content: start;
  padding: 2px 0 16px;
  background: #fff;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-case-issue-dialog .medicine-issue-reveal__solution h4 {
  display: flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 8px 10px;
  border: 1px solid var(--issue-reveal-accent, #4eabd8);
  color: #fff;
  background: var(--issue-reveal-accent, #4eabd8);
  font-size: 15px;
  letter-spacing: .06em;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-case-issue-dialog .medicine-issue-reveal__outcomes,
body[data-page="service-cmc"] #pp-process-explore .pp-cmc-case-issue-dialog .medicine-issue-reveal__answer-copy {
  background: #edf3f5;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-case-issue-dialog .medicine-issue-reveal__outcomes {
  grid-area: outcomes;
  grid-template-columns: minmax(0, 1fr);
  align-content: start;
  border-right: 2px dotted rgba(1, 54, 65, .58) !important;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-case-issue-dialog .medicine-issue-reveal__answer-copy {
  grid-area: client;
  grid-template-columns: minmax(0, 1fr);
  align-content: start;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-case-issue-dialog .medicine-issue-reveal__support {
  grid-area: support;
  grid-template-columns: 132px minmax(0, 1fr);
  gap: 18px;
  align-items: center;
  padding-top: 10px;
  background: #fff;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-case-issue-dialog :is(.medicine-issue-reveal__outcomes, .medicine-issue-reveal__support) h4 {
  width: fit-content;
  margin: 0 0 14px;
  padding: 7px 10px;
  border: 1px solid rgba(1, 54, 65, .68);
  color: var(--pp-ink, #013641);
  background: #fff;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .04em;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-case-issue-dialog .medicine-issue-reveal__support h4 {
  margin: 0;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-case-issue-dialog .medicine-issue-reveal__answer-copy ul {
  display: grid;
  gap: 9px;
  margin: 0;
  padding: 0;
  color: #27404d;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.7;
  list-style: none;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-case-issue-dialog .medicine-issue-reveal__answer-copy li {
  padding: 0;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-case-issue-dialog .medicine-issue-reveal__answer-copy li::before {
  display: none;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-case-issue-dialog .medicine-issue-reveal__results {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-case-issue-dialog .medicine-issue-reveal__results > a,
body[data-page="service-cmc"] #pp-process-explore .pp-cmc-case-issue-dialog .medicine-issue-reveal__results > a:first-child {
  gap: 3px;
  min-height: 70px;
  padding: 9px 10px;
  border: 1px solid rgba(1, 54, 65, .46);
  color: var(--pp-ink, #013641);
  background: rgba(255, 255, 255, .84);
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-case-issue-dialog .medicine-issue-reveal__result-title strong {
  color: var(--pp-deep, #004a99);
  font-size: 13px;
  line-height: 1.55;
}

@media (max-width: 980px) {
  body[data-page="service-cmc"] #pp-process-explore .pp-cmc-case-issue-dialog {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body[data-page="service-cmc"] #pp-process-explore .pp-cmc-case-issue-dialog .medicine-issue-reveal.is-open {
    grid-template-columns: minmax(230px, .72fr) 24px minmax(0, 1.28fr);
  }

  body[data-page="service-cmc"] #pp-process-explore .pp-cmc-case-issue-dialog .medicine-issue-reveal__detail {
    width: 100%;
    padding-left: 18px;
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - 42px), calc(100% - 68px) 100%, 0 100%);
    transform: none;
  }
}

@media (max-width: 620px) {
  body[data-page="service-cmc"] #pp-process-explore .pp-cmc-case-issue-dialog {
    grid-template-columns: minmax(0, 1fr);
    gap: 28px;
  }

  body[data-page="service-cmc"] #pp-process-explore .pp-cmc-case-issue-dialog .medicine-issue-reveal.is-open {
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
  }

  body[data-page="service-cmc"] #pp-process-explore .pp-cmc-case-issue-dialog .medicine-issue-reveal__problem,
  body[data-page="service-cmc"] #pp-process-explore .pp-cmc-case-issue-dialog .medicine-issue-reveal.is-open .medicine-issue-reveal__problem {
    height: auto;
    min-height: 220px;
    max-height: none;
  }

  body[data-page="service-cmc"] #pp-process-explore .pp-cmc-case-issue-dialog .medicine-issue-reveal.is-open .medicine-issue-reveal__connector {
    display: none;
  }

  body[data-page="service-cmc"] #pp-process-explore .pp-cmc-case-issue-dialog .medicine-issue-reveal__detail {
    grid-column: 1;
    grid-template-areas: "solution" "client" "outcomes" "support";
    grid-template-columns: minmax(0, 1fr);
    padding: 16px 16px 42px;
  }

  body[data-page="service-cmc"] #pp-process-explore .pp-cmc-case-issue-dialog .medicine-issue-reveal__detail > section,
  body[data-page="service-cmc"] #pp-process-explore .pp-cmc-case-issue-dialog .medicine-issue-reveal__support {
    grid-template-columns: minmax(0, 1fr);
    padding: 17px;
  }

  body[data-page="service-cmc"] #pp-process-explore .pp-cmc-case-issue-dialog .medicine-issue-reveal__outcomes {
    border-top: 1px dashed rgba(1, 54, 65, .42) !important;
    border-right: 0 !important;
  }
}

/* CMC support: stage-based main services reuse the Region 01 service-area language without links. */
body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__service-area-group {
  width: 100%;
  margin: 20px 0 0;
  padding: clamp(14px, calc(2 * var(--pp-wide-vw, 1vw)), 20px);
  border: 1px solid rgba(47, 142, 182, .24);
  background: rgba(255, 255, 255, .52);
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__service-area-group > .pp-cmc-field__lifecycle {
  margin: 0;
  background: rgba(255, 255, 255, .62);
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-main-services {
  width: 100%;
  min-height: 0;
  margin: 0;
  padding: 16px 0;
  border: 1px solid rgba(47, 142, 182, .24);
  background: rgba(255, 255, 255, .52);
  scroll-margin-top: calc(var(--pp-global-header-height, 76px) + 24px);
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__service-area-group > .pp-cmc-main-services {
  padding: 0;
  border: 0;
  background: transparent;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-main-services__heading {
  margin: 0 0 clamp(24px, calc(3 * var(--pp-wide-vw, 1vw)), 34px);
  color: var(--pp-ink, #013641);
  text-align: center;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-main-services__heading > span {
  display: block;
  margin: 0 0 8px;
  color: var(--pp-primary-strong, #2f8eb6);
  font-family: var(--pp-font-latin, "Segoe UI", sans-serif);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .18em;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-main-services__heading h3 {
  width: fit-content;
  margin: 0 auto;
  padding: 0 0 10px;
  border-bottom: 1px solid currentColor;
  font-size: clamp(24px, calc(2.8 * var(--pp-wide-vw, 1vw)), 34px);
  line-height: 1.35;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-main-services__grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  align-items: stretch;
  gap: 0;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-main-services__stage {
  --cmc-stage-accent: #2f8eb6;
  --cmc-stage-tint: rgba(150, 211, 231, .34);
  display: grid;
  grid-template-rows: auto 1fr;
  min-width: 0;
  padding: 0;
  border: 0;
  background: transparent;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-main-services__stage--development {
  grid-column: 2;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-main-services__stage--approval {
  --cmc-stage-accent: #247cae;
  --cmc-stage-tint: rgba(117, 178, 216, .36);
  grid-column: 3;
  background: transparent;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-main-services__stage--manufacturing {
  --cmc-stage-accent: #1b699a;
  --cmc-stage-tint: rgba(103, 162, 204, .38);
  grid-column: 4;
  background: transparent;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-main-services__stage-title {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: baseline;
  gap: 3px 8px;
  margin: 0 0 12px;
  padding: 9px 10px;
  border: 1px solid var(--cmc-stage-accent);
  color: var(--pp-ink, #013641);
  background: var(--cmc-stage-tint);
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-main-services__stage-title > span {
  color: var(--cmc-stage-accent);
  font-family: var(--pp-font-latin, "Segoe UI", sans-serif);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-main-services__stage-title strong {
  min-width: 0;
  font-size: clamp(19px, calc(1.6 * var(--pp-wide-vw, 1vw)), 24px);
  line-height: 1.25;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-main-services__stage-title small {
  grid-column: 2;
  color: rgba(1, 54, 65, .62);
  font-family: var(--pp-font-latin, "Segoe UI", sans-serif);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .04em;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-main-services__service-list {
  display: grid;
  grid-auto-rows: max-content;
  align-content: start;
  min-width: 0;
  padding: 14px 10px 16px;
  border-top: 1px dashed rgba(1, 54, 65, .5);
  border-right: 1px dotted rgba(1, 54, 65, .5);
  background: rgba(217, 238, 246, .28);
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-main-services__stage--development .pp-cmc-main-services__service-list {
  border-left: 1px dotted rgba(1, 54, 65, .5);
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-main-services__service-list h5 {
  margin: 0 0 8px;
  color: rgba(1, 54, 65, .68);
  font-family: var(--pp-font-latin, "Segoe UI", sans-serif);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .12em;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-main-services__service-list h5 > span {
  display: none;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-main-services__service-list h5 > strong {
  font: inherit;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-main-services__service-item {
  display: block;
  min-width: 0;
  padding: 4px 0;
  color: var(--pp-ink, #013641);
  font-size: clamp(12px, calc(.9 * var(--pp-wide-vw, 1vw)), 14px);
  font-weight: 700;
  line-height: 1.45;
  cursor: default;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-main-services__service-item > span {
  position: relative;
  display: inline;
  padding-bottom: 1px;
  background-image: linear-gradient(var(--pp-ink, #013641), var(--pp-ink, #013641));
  background-position: 0 100%;
  background-repeat: no-repeat;
  background-size: 100% 1px;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-main-services__service-item:hover > span {
  animation: pp-cmc-service-line-redraw 440ms ease both;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__ctd-footer {
  width: 100%;
  margin-top: clamp(20px, calc(3 * var(--pp-wide-vw, 1vw)), 30px);
  text-align: center;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__term-trigger--footer {
  display: flex;
  justify-content: center;
  width: max-content;
  min-height: 28px;
  margin-inline: auto;
  padding: 4px 8px 3px;
  border: 0;
  border-bottom: 1px solid currentColor;
  background: transparent;
  color: var(--pp-primary-strong);
  font-size: 13px;
  gap: 5px;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__term-trigger--footer .ph-caret-down {
  color: var(--pp-primary-strong);
  font-size: 13px;
  transition: transform .18s ease;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__term-trigger--footer[aria-expanded="true"] .ph-caret-down {
  transform: rotate(180deg);
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__ctd-footer > .pp-cmc-inline-term-content {
  margin: 14px 0 0;
  background: rgba(224, 240, 247, .58);
  text-align: left;
}

@keyframes pp-cmc-service-line-redraw {
  0% { background-position: 100% 100%; background-size: 100% 1px; }
  42% { background-position: 100% 100%; background-size: 0 1px; }
  43% { background-position: 0 100%; background-size: 0 1px; }
  100% { background-position: 0 100%; background-size: 100% 1px; }
}

@media (prefers-reduced-motion: reduce) {
  body[data-page="service-cmc"] #pp-process-explore .pp-cmc-main-services__service-item:hover > span,
  body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__callout--detailed li > a:is(:hover, :focus-visible) > span {
    animation: none;
  }
}

@media (max-width: 980px) {
  body[data-page="service-cmc"] #pp-process-explore .pp-cmc-main-services__grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
}

@media (max-width: 680px) {
  body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__service-area-group {
    padding: 12px;
  }

  body[data-page="service-cmc"] #pp-process-explore .pp-cmc-main-services {
    margin-top: 12px;
  }

  body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__service-area-group > .pp-cmc-main-services {
    margin-top: 0;
  }

  body[data-page="service-cmc"] #pp-process-explore .pp-cmc-main-services__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
  }

  body[data-page="service-cmc"] #pp-process-explore :is(
    .pp-cmc-main-services__stage--development,
    .pp-cmc-main-services__stage--approval,
    .pp-cmc-main-services__stage--manufacturing
  ) {
    grid-column: auto;
  }

  body[data-page="service-cmc"] #pp-process-explore .pp-cmc-main-services__service-list {
    border: 1px dotted rgba(1, 54, 65, .5);
    background: rgba(255, 255, 255, .58);
  }

  body[data-page="service-cmc"] #pp-process-explore .pp-cmc-main-services__service-list h5 > span {
    display: block;
    margin-bottom: 4px;
    color: var(--cmc-stage-accent);
    font-size: 10px;
    letter-spacing: .1em;
  }
}

/* Academy: make the auditor training section an image-led 3D gallery. */
body[data-page="service-academy"] .academy-auditor-media {
  padding: 0;
  background: #f4fafc;
}

body[data-page="service-academy"] .academy-auditor-media__heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 24px;
  align-items: end;
  padding: clamp(26px, calc(4 * var(--pp-wide-vw, 1vw)), 44px);
}

body[data-page="service-academy"] .academy-auditor-media__heading p {
  max-width: 58ch;
}

body[data-page="service-academy"] .academy-auditor-media__movie-link {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  gap: 8px;
  justify-content: center;
  padding: 10px 16px;
  border: 1px solid var(--pp-primary-strong, #2f8eb6);
  color: var(--pp-deep, #004a99);
  background: #fff;
  font-size: 13px;
  font-weight: 800;
  text-decoration: none;
  transition: color .2s ease, background-color .2s ease, transform .2s ease;
}

body[data-page="service-academy"] .academy-auditor-media__movie-link:is(:hover, :focus-visible) {
  color: #fff;
  background: var(--pp-primary-strong, #2f8eb6);
  transform: translateY(-1px);
}

body[data-page="service-academy"] .academy-auditor-media__movie-link:focus-visible {
  outline: 3px solid rgba(78, 171, 216, .38);
  outline-offset: 3px;
}

body[data-page="service-academy"] .academy-auditor-media__hero {
  position: relative;
  overflow: hidden;
  margin: 0;
  background: #dfe9ee;
}

body[data-page="service-academy"] .academy-auditor-media__hero > img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

body[data-page="service-academy"] .academy-auditor-media__hero > figcaption {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  display: grid;
  gap: 7px;
  padding: clamp(24px, calc(4 * var(--pp-wide-vw, 1vw)), 42px);
  color: #fff;
  background: linear-gradient(0deg, rgba(1, 54, 65, .94), rgba(1, 54, 65, .55) 62%, transparent);
}

body[data-page="service-academy"] .academy-auditor-media__hero > figcaption > span {
  font-family: var(--pp-font-latin);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .18em;
}

body[data-page="service-academy"] .academy-auditor-media__hero > figcaption > strong {
  max-width: 22em;
  font-size: clamp(22px, calc(3 * var(--pp-wide-vw, 1vw)), 36px);
  line-height: 1.35;
  text-wrap: balance;
}

body[data-page="service-academy"] .academy-auditor-media__hero > figcaption > p {
  max-width: 58ch;
  margin: 0;
  font-size: 13px;
  line-height: 1.7;
}

body[data-page="service-academy"] .academy-auditor-media__story {
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(16px, calc(2.4 * var(--pp-wide-vw, 1vw)), 28px);
  margin-top: clamp(18px, calc(2.4 * var(--pp-wide-vw, 1vw)), 28px);
  border: 0;
  background: transparent;
}

body[data-page="service-academy"] .academy-auditor-media__story figure {
  position: relative;
  display: block;
  overflow: hidden;
  aspect-ratio: 16 / 9;
  background: var(--pp-ink, #013641);
}

body[data-page="service-academy"] .academy-auditor-media__story > figure:nth-child(n + 2) {
  border: 0;
}

body[data-page="service-academy"] .academy-auditor-media__story img {
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: cover;
  transition: transform .28s ease;
}

body[data-page="service-academy"] .academy-auditor-media__story figure:hover img {
  transform: scale(1.025);
}

body[data-page="service-academy"] .academy-auditor-media__inquiry {
  margin: 0;
  padding: 24px clamp(22px, calc(4 * var(--pp-wide-vw, 1vw)), 40px);
  border-left: 0;
  border-top: 1px solid var(--pp-border, #cfe4ef);
  background: #fff;
}

@media (max-width: 980px) {
  body[data-page="service-academy"] .academy-auditor-media__heading {
    grid-template-columns: minmax(0, 1fr);
  }

  body[data-page="service-academy"] .academy-auditor-media__movie-link {
    justify-self: start;
  }

  body[data-page="service-academy"] .academy-auditor-media__story {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 640px) {
  body[data-page="service-academy"] .academy-auditor-media {
    padding: 0;
  }

  body[data-page="service-academy"] .academy-auditor-media__hero > img {
    aspect-ratio: 4 / 3;
  }

  body[data-page="service-academy"] .academy-auditor-media__hero > figcaption {
    position: static;
    padding: 22px;
    background: var(--pp-ink, #013641);
  }

  body[data-page="service-academy"] .academy-auditor-media__story figure {
    aspect-ratio: 16 / 9;
  }
}

@media (prefers-reduced-motion: reduce) {
  body[data-page="service-academy"] .academy-auditor-media__movie-link,
  body[data-page="service-academy"] .academy-auditor-media__story img {
    transition: none;
  }
}

/* CSV must follow the medical-device issue-menu interaction and proportions. */
body[data-page="service-csv"] .page-stage > #csv-contact {
  width: calc(100% + (2 * clamp(24px, calc(5 * var(--pp-wide-vw, 1vw)), 72px))) !important;
  max-width: none;
  margin: 28px 0 0 calc(-1 * clamp(24px, calc(5 * var(--pp-wide-vw, 1vw)), 72px)) !important;
}

@media (max-width: 640px) {
  body[data-page="service-csv"] .page-stage > #csv-contact {
    width: calc(100% + 36px) !important;
    margin-left: -18px !important;
  }
}

body[data-page="service-csv"] .csv-issue-reveal-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  column-gap: clamp(16px, calc(1.7 * var(--pp-wide-vw, 1vw)), 24px);
  row-gap: 48px;
}

body[data-page="service-csv"] .csv-issue-reveal-grid .csv-issue-reveal,
body[data-page="service-csv"] .csv-issue-reveal-grid .csv-issue-reveal:nth-child(n + 4) {
  grid-column: auto;
}

body[data-page="service-csv"] .csv-issue-reveal-grid .csv-issue-reveal.is-open {
  grid-column: 1 / -1;
}

body[data-page="service-csv"] .csv-issue-reveal-grid .medicine-issue-reveal__problem {
  isolation: auto;
  align-items: flex-start;
  justify-content: flex-start;
  height: 220px;
  min-height: 220px;
  max-height: 220px;
  padding: 20px 22px;
  overflow: visible;
  border: 1px solid rgba(1, 54, 65, .72);
  border-radius: 24px;
  color: #013641;
  background: rgba(238, 247, 252, .94) !important;
  background-image: none;
  box-shadow: none;
  transform: none;
}

body[data-page="service-csv"] .csv-issue-reveal-grid .medicine-issue-reveal__problem::before {
  display: none;
}

body[data-page="service-csv"] .csv-issue-reveal-grid .medicine-issue-reveal__problem::after {
  position: absolute;
  right: 30px;
  bottom: -24px;
  display: block;
  width: 42px;
  border-top: 1px dashed rgba(1, 54, 65, .62);
  content: "";
  transform: rotate(55deg);
  transform-origin: right center;
}

body[data-page="service-csv"] .csv-issue-reveal-grid .medicine-issue-reveal__problem:is(:hover, :focus-visible),
body[data-page="service-csv"] .csv-issue-reveal-grid .csv-issue-reveal.is-open .medicine-issue-reveal__problem {
  border-color: var(--pp-primary-strong, #2f8eb6);
  background: #e9f5fb;
  box-shadow: 0 8px 22px rgba(32, 104, 136, .12);
  outline: none;
  transform: none;
}

body[data-page="service-csv"] .csv-issue-reveal-grid .medicine-issue-reveal__problem:focus-visible {
  outline: 2px solid var(--pp-primary-strong, #2f8eb6);
  outline-offset: 3px;
}

body[data-page="service-csv"] .csv-issue-reveal-grid .csv-issue-reveal.is-open .medicine-issue-reveal__problem {
  height: auto;
  min-height: 300px;
  max-height: none;
  padding: 24px;
}

body[data-page="service-csv"] .csv-issue-reveal-grid .csv-issue-reveal.is-open .medicine-issue-reveal__problem::after {
  display: none;
}

body[data-page="service-csv"] .csv-issue-reveal-grid .medicine-issue-reveal__problem small {
  display: block;
  width: fit-content;
  margin: 0 0 10px;
  padding: 4px 7px;
  border: 1px solid var(--pp-primary-strong, #2f8eb6);
  color: var(--pp-primary-strong, #2f8eb6);
  background: #fff;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .16em;
}

body[data-page="service-csv"] .csv-issue-reveal-grid .medicine-issue-reveal__problem strong {
  display: block;
  margin: 0;
  color: #27404d;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.75;
  letter-spacing: .01em;
}

body[data-page="service-csv"] .csv-issue-reveal-grid .medicine-issue-reveal__answer {
  position: static;
  display: flex;
  align-items: center;
  align-self: flex-end;
  gap: 7px;
  margin-top: auto;
  color: #002c3d;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: .08em;
}

body[data-page="service-csv"] .csv-issue-reveal-grid .medicine-issue-reveal__connector {
  display: none;
}

body[data-page="service-csv"] .csv-issue-reveal-grid .medicine-issue-reveal__detail {
  grid-template-areas: "solution";
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: auto;
  border-radius: 0 24px 24px 24px;
}

body[data-page="service-csv"] .csv-issue-reveal-grid .medicine-issue-reveal__detail > .csv-issue-answer {
  grid-area: solution;
  padding: clamp(28px, calc(4 * var(--pp-wide-vw, 1vw)), 46px);
  border: 0;
  background: rgba(255, 255, 255, .97);
}

body[data-page="service-csv"] .csv-issue-answer::before {
  display: block;
  margin-bottom: 14px;
  color: #159bd2;
  content: "ANSWER";
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .16em;
}

body[data-page="service-csv"] .csv-issue-answer p {
  margin: 0;
  color: #123f50;
  font-size: clamp(15px, calc(1.5 * var(--pp-wide-vw, 1vw)), 18px);
  line-height: 1.9;
}

@media (max-width: 720px) {
  body[data-page="service-csv"] .csv-issue-reveal-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  body[data-page="service-csv"] .csv-issue-reveal-grid .csv-issue-reveal,
  body[data-page="service-csv"] .csv-issue-reveal-grid .csv-issue-reveal:nth-child(n + 4),
  body[data-page="service-csv"] .csv-issue-reveal-grid .csv-issue-reveal.is-open {
    grid-column: 1;
  }
}

/* 2026-08-24: restore the original TOP card treatment without changing routes. */
body[data-page="home"] #top-field-finder {
  grid-template-rows: auto minmax(340px, auto);
  gap: clamp(14px, calc(1.5 * var(--pp-wide-vw, 1vw)), 22px);
  color: #013641;
}

body[data-page="home"] #top-field-finder .top-about-study__feature {
  display: flex;
  min-height: 340px;
  padding: 14px;
  flex-direction: column;
  overflow: hidden;
  border: 0;
  background: rgba(255, 255, 255, .72);
  box-shadow: 0 12px 28px rgba(1, 54, 65, .08) !important;
  transition: box-shadow 180ms ease;
}

body[data-page="home"] #top-field-finder .top-about-study__image-frame {
  position: relative;
  inset: auto;
  width: 100%;
  height: clamp(168px, calc(16 * var(--pp-wide-vw, 1vw)), 208px);
  flex: 0 0 auto;
}

body[data-page="home"] #top-field-finder .top-about-study__feature > strong {
  position: static;
  display: flex;
  width: 100%;
  max-width: none;
  min-height: 54px;
  margin: 16px 0 0;
  padding: 0 8px;
  align-items: center;
  justify-content: center;
  color: #013641;
  border: 0;
  background: transparent;
  box-shadow: none !important;
  font-size: clamp(17px, calc(1.55 * var(--pp-wide-vw, 1vw)), 21px);
  line-height: 1.35;
  text-align: center;
}

body[data-page="home"] #top-field-finder .top-about-study__field-subtitle {
  display: block;
  min-height: 2.7em;
  margin: 4px 8px 14px;
  color: #315766;
  font-size: 12px;
  line-height: 1.45;
  text-align: center;
}

body[data-page="home"] #top-field-finder .top-about-study__field-detail {
  display: flex;
  width: 100%;
  min-height: 46px;
  margin-top: auto;
  align-items: center;
  justify-content: center;
  gap: 12px;
  color: #fff;
  border: 1px solid #2f8eb6;
  background: rgba(255, 255, 255, .82);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .04em;
  transition: color 180ms ease, background-color 180ms ease;
}

body[data-page="home"] #top-field-finder .top-about-study__feature:hover {
  box-shadow: 0 18px 38px rgba(1, 54, 65, .18) !important;
}

body[data-page="home"] #top-field-finder .top-about-study__feature:focus-visible {
  outline: 2px solid var(--pp-primary, #4eabd8);
  outline-offset: 3px;
}

body[data-page="home"] #top-field-finder .top-about-study__feature:is(:hover, :focus-visible) > strong {
  color: #013641;
  background: transparent;
}

body[data-page="home"] #top-field-finder .top-about-study__feature:is(:hover, :focus-visible) .top-about-study__field-detail {
  color: #fff;
  background: #2f8eb6;
}

body[data-page="home"] #top-field-finder .top-family-link-label::after {
  display: none;
}

body[data-page="home"] #top-service-finder .top-about-study__service-track {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-template-rows: repeat(3, clamp(154px, calc(15 * var(--pp-wide-vw, 1vw)), 188px));
  gap: clamp(12px, calc(1.25 * var(--pp-wide-vw, 1vw)), 18px);
}

body[data-page="home"] #top-service-finder .top-about-study__service-slide {
  border: 0;
  background: #013641;
  box-shadow: 0 12px 26px rgba(1, 54, 65, .10);
}

body[data-page="home"] #top-service-finder .top-about-study__service-image {
  inset: 0;
  width: 100%;
  height: 100%;
  filter: contrast(1.04) saturate(.94);
  transform: scale(1.01);
}

body[data-page="home"] #top-service-finder .top-about-study__service-slide::before {
  z-index: 1;
  background: rgba(1, 54, 65, .54);
  opacity: 1;
}

body[data-page="home"] #top-service-finder .top-about-study__service-slide:is(:hover, :focus-visible)::before {
  background: rgba(1, 54, 65, .68);
}

body[data-page="home"] #top-service-finder .top-about-study__service-copy {
  inset: 0;
  display: grid;
  max-width: none;
  padding: 18px;
  place-items: center;
  color: #fff;
  text-align: center;
}

body[data-page="home"] #top-service-finder .top-about-study__service-copy strong {
  display: flex;
  width: auto;
  max-width: 94%;
  max-height: none;
  padding: 0;
  overflow: visible;
  color: #fff;
  border: 0;
  background: transparent;
  box-shadow: none !important;
  font-size: clamp(16px, calc(1.55 * var(--pp-wide-vw, 1vw)), 21px);
  font-weight: 800;
  line-height: 1.45;
  align-items: center;
  justify-content: center;
  white-space: normal;
  overflow-wrap: normal;
  word-break: keep-all;
  line-break: strict;
  text-align: center;
  text-overflow: clip;
  text-shadow: 0 2px 10px rgba(1, 35, 48, .44);
}

/* 2026-08-25: pickup-style field cards inspired by the supplied reference.
   Keep the existing field routes and labels, but move the content into a
   quiet image + white title-band treatment with the site's blue accent. */
body[data-page="home"] .top-about-study--reference {
  background: var(--pp-bg, #f7fbfe);
}

body[data-page="home"] #top-field-finder {
  grid-template-rows: auto minmax(0, auto);
  gap: clamp(18px, calc(2 * var(--pp-wide-vw, 1vw)), 28px);
  padding: 0;
}

body[data-page="home"] #top-field-finder > .top-about-study__group-heading {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: end;
  gap: clamp(16px, calc(2 * var(--pp-wide-vw, 1vw)), 28px);
  padding: 0 0 clamp(18px, calc(2 * var(--pp-wide-vw, 1vw)), 26px);
  border-bottom: 1px solid var(--pp-border, #cfe4ef);
}

body[data-page="home"] #top-field-finder > .top-about-study__group-heading > span {
  margin: 0;
  padding-bottom: 4px;
  color: var(--pp-primary-strong, #2f8eb6);
  font-family: var(--pp-font-latin);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .2em;
  line-height: 1.2;
  text-shadow: none !important;
}

body[data-page="home"] #top-field-finder > .top-about-study__group-heading h3 {
  margin: 0;
  color: var(--pp-text, #1e2f3a);
  font-family: var(--pp-font-display);
  font-size: clamp(30px, calc(3.4 * var(--pp-wide-vw, 1vw)), 48px);
  font-weight: 700;
  letter-spacing: .02em;
  line-height: 1.12;
  white-space: normal;
  text-shadow: none !important;
}

body[data-page="home"] #top-field-finder .top-about-study__feature {
  display: flex;
  min-height: 0;
  padding: 0;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--pp-border, #cfe4ef);
  border-radius: 0;
  background: var(--pp-surface, #fff);
  box-shadow: 0 10px 24px rgba(0, 74, 153, .08) !important;
  transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

body[data-page="home"] #top-field-finder .top-about-study__image-frame {
  position: relative;
  inset: auto;
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1.62 / 1;
  flex: 0 0 auto;
  background: #eaf3f7;
}

body[data-page="home"] #top-field-finder .top-about-study__image-frame::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 74, 153, 0) 58%, rgba(0, 74, 153, .10));
  content: "";
  pointer-events: none;
}

body[data-page="home"] #top-field-finder .top-about-study__image-frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(.84) contrast(1.03);
  transition: filter 220ms ease, transform 320ms ease;
}

body[data-page="home"] #top-field-finder .top-about-study__feature > strong {
  position: static;
  display: flex;
  width: 100%;
  max-width: none;
  min-height: clamp(72px, calc(6 * var(--pp-wide-vw, 1vw)), 88px);
  box-sizing: border-box;
  margin: 0;
  padding: 18px clamp(70px, calc(6 * var(--pp-wide-vw, 1vw)), 88px) 18px clamp(18px, calc(2 * var(--pp-wide-vw, 1vw)), 26px);
  align-items: center;
  justify-content: flex-start;
  color: var(--pp-text, #1e2f3a);
  border: 0;
  border-top: 1px solid var(--pp-border, #cfe4ef);
  background: var(--pp-surface, #fff);
  box-shadow: none !important;
  font-size: clamp(17px, calc(1.55 * var(--pp-wide-vw, 1vw)), 22px);
  font-weight: 700;
  line-height: 1.35;
  text-align: left;
}

body[data-page="home"] #top-field-finder .top-about-study__field-detail {
  position: absolute;
  right: 0;
  bottom: 0;
  display: grid;
  width: clamp(64px, calc(5.4 * var(--pp-wide-vw, 1vw)), 78px);
  min-height: clamp(72px, calc(6 * var(--pp-wide-vw, 1vw)), 88px);
  margin: 0;
  box-sizing: border-box;
  place-items: center;
  color: var(--pp-primary-strong, #2f8eb6);
  border: 0;
  border-left: 1px solid var(--pp-border, #cfe4ef);
  background: var(--pp-surface, #fff);
  font-size: 0;
  transition: color 180ms ease, background-color 180ms ease;
}

body[data-page="home"] #top-field-finder .top-about-study__field-detail > span {
  display: none;
}

body[data-page="home"] #top-field-finder .top-about-study__field-detail::after {
  content: "→";
  font-family: var(--pp-font-latin);
  font-size: 24px;
  line-height: 1;
}

body[data-page="home"] #top-field-finder .top-family-link-label::after {
  display: none;
}

body[data-page="home"] #top-field-finder .top-about-study__feature:is(:hover, :focus-visible) {
  border-color: var(--pp-primary, #4eabd8);
  box-shadow: 0 16px 32px rgba(0, 74, 153, .15) !important;
  transform: translateY(-3px);
}

body[data-page="home"] #top-field-finder .top-about-study__feature:is(:hover, :focus-visible) .top-about-study__image-frame img {
  filter: saturate(.94) contrast(1.04);
  transform: scale(1.025);
}

body[data-page="home"] #top-field-finder .top-about-study__feature:is(:hover, :focus-visible) .top-about-study__field-detail {
  color: #fff;
  background: var(--pp-primary-strong, #2f8eb6);
}

body[data-page="home"] #top-field-finder .top-about-study__feature:focus-visible {
  outline: 2px solid var(--pp-primary, #4eabd8);
  outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
  body[data-page="home"] #top-field-finder .top-about-study__feature,
  body[data-page="home"] #top-field-finder .top-about-study__image-frame img,
  body[data-page="home"] #top-field-finder .top-about-study__field-detail {
    transition: none;
  }

  body[data-page="home"] #top-field-finder .top-about-study__feature:hover {
    transform: none;
  }
}

@media (max-width: 780px) {
  body[data-page="home"] #top-field-finder {
    grid-template-rows: auto repeat(3, minmax(0, auto));
  }

  body[data-page="home"] #top-field-finder > .top-about-study__group-heading {
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
  }

  body[data-page="home"] #top-field-finder .top-about-study__feature {
    min-height: 0;
  }

  body[data-page="home"] #top-field-finder .top-about-study__image-frame {
    aspect-ratio: 1.58 / 1;
  }

  body[data-page="home"] #top-field-finder .top-about-study__feature > strong {
    min-height: 70px;
    padding: 16px 68px 16px 18px;
    font-size: 18px;
  }

  body[data-page="home"] #top-field-finder .top-about-study__field-detail {
    width: 60px;
    min-height: 70px;
  }
}

body[data-page="home"] #top-service-finder .top-about-study__service-slide:is(:nth-child(3), :nth-child(4), :nth-child(8)) .top-family-link-label {
  white-space: nowrap;
}

body[data-page="home"] #top-service-finder .top-family-link-label::after {
  display: none;
}

/* Dark copy uses the site's category navy; white display headings remain white. */
:is(
  body[data-page="region01"] .medicine-service-field-guide__group,
  body[data-page="region01"] #medicine-issues,
  body[data-page="region02"] .medical-device-service-field-guide .medicine-service-field-guide__group,
  body[data-page="region02"] #medical-device-issues,
  body[data-page="region03"] #engineering-programs,
  body[data-page="region03"] #engineering-cases
) {
  --pp-ink: #013641;
  --pp-deep: #013641;
  color: #013641;
}

:is(
  body[data-page="region01"] .medicine-service-field-guide__group,
  body[data-page="region02"] .medical-device-service-field-guide .medicine-service-field-guide__group
) :is(
  .medicine-service-field-guide__main-heading,
  .medicine-service-field-guide__lifecycle,
  .medicine-service-field-guide__stage,
  .medicine-service-field-guide__stage-title,
  .medicine-service-field-guide__standards,
  .medicine-service-field-guide__service-list,
  .medicine-service-field-guide__needs
),
:is(
  body[data-page="region01"] #medicine-issues,
  body[data-page="region02"] #medical-device-issues,
  body[data-page="region03"] #engineering-cases
) :is(
  .medicine-issue-reveal__problem,
  .medicine-issue-reveal__detail,
  .medicine-issue-reveal__solution,
  .medicine-issue-reveal__support,
  .medicine-issue-reveal__results
),
body[data-page="region03"] #engineering-programs :is(
  .engineering-phase-flow,
  .engineering-phase-tab,
  .engineering-phase-panel,
  .engineering-phase-lead,
  .engineering-detail-flow
) {
  color: #013641;
}

@media (max-width: 780px) {
  body[data-page="home"] #top-field-finder {
    grid-template-rows: auto repeat(3, minmax(326px, auto));
  }

  body[data-page="home"] #top-field-finder .top-about-study__feature {
    min-height: 326px;
  }

  body[data-page="home"] #top-service-finder .top-about-study__service-track {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: repeat(5, 150px);
  }
}

@media (max-width: 560px) {
  body[data-page="home"] #top-service-finder .top-about-study__service-track {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: repeat(9, 148px);
  }
}

/* Final mobile cascade for the pickup card treatment. */
@media (max-width: 780px) {
  body[data-page="home"] #top-field-finder {
    grid-template-rows: auto repeat(3, minmax(0, auto));
  }

  body[data-page="home"] #top-field-finder .top-about-study__feature {
    min-height: 0;
  }
}

/* 2026-08-25: restore the original FIELD heading treatment per review. */
body[data-page="home"] .top-about-study--reference {
  background: transparent;
}

body[data-page="home"] #top-field-finder > .top-about-study__group-heading {
  display: grid;
  grid-template-columns: none;
  align-items: initial;
  gap: 0;
  padding: 0 0 clamp(18px, calc(1.8 * var(--pp-wide-vw, 1vw)), 26px);
  border-bottom: 0;
}

body[data-page="home"] #top-field-finder > .top-about-study__group-heading > span {
  display: block;
  margin: 0 0 var(--pp-page-label-gap, 16px);
  padding: 0;
  color: rgba(255, 255, 255, .82);
  font-size: var(--pp-page-label-size, 11px);
  font-weight: 700;
  line-height: var(--pp-page-label-line-height, 1.2);
  letter-spacing: var(--pp-page-label-letter-spacing, .2em);
  text-shadow: var(--pp-image-heading-shadow) !important;
}

body[data-page="home"] #top-field-finder > .top-about-study__group-heading h3 {
  color: #fff;
  font-size: clamp(36px, calc(3.6 * var(--pp-wide-vw, 1vw)), 52px);
  font-weight: 400;
  line-height: 1.18;
  letter-spacing: .02em;
  white-space: nowrap;
  text-shadow: var(--pp-image-heading-shadow) !important;
}

/* Keep only the arrow used by the existing 詳細を見る action. */
body[data-page="home"] #top-field-finder .top-about-study__feature > strong {
  padding-right: clamp(18px, calc(2 * var(--pp-wide-vw, 1vw)), 26px);
}

body[data-page="home"] #top-field-finder .top-about-study__field-detail {
  position: absolute;
  right: 16px;
  bottom: 16px;
  z-index: 3;
  display: grid;
  width: auto;
  min-height: 0;
  margin: 0;
  place-items: center;
  color: #fff;
  border: 0;
  background: transparent;
  font-size: 0;
  line-height: 1;
}

body[data-page="home"] #top-field-finder .top-about-study__field-detail > span {
  display: block;
}

body[data-page="home"] #top-field-finder .top-about-study__field-detail > span[aria-hidden="true"] {
  color: #fff;
  font-family: Arial, sans-serif;
  font-size: 34px;
  font-weight: 700;
  line-height: 1;
}

body[data-page="home"] #top-field-finder .top-about-study__field-detail > .ph-arrow-right {
  display: block;
  color: #fff;
  font-size: 32px;
  line-height: 1;
}

body[data-page="home"] #top-field-finder .top-about-study__field-detail::after {
  display: none;
  content: none;
}

body[data-page="home"] #top-field-finder .top-about-study__feature:is(:hover, :focus-visible) .top-about-study__field-detail {
  color: #fff;
  background: transparent;
}

/* Pickup hover: white at rest, blue on pointer/focus, following the supplied
   reference interaction with this site's blue palette. */
body[data-page="home"] #top-field-finder .top-about-study__feature,
body[data-page="home"] #top-field-finder .top-about-study__feature > strong {
  background: #fff;
}

body[data-page="home"] #top-field-finder .top-about-study__feature > strong {
  transition: background-color 180ms ease, color 180ms ease;
}

body[data-page="home"] #top-field-finder .top-about-study__feature:is(:hover, :focus-visible),
body[data-page="home"] #top-field-finder .top-about-study__feature:is(:hover, :focus-visible) > strong {
  background: #2f8eb6;
}

body[data-page="home"] #top-field-finder .top-about-study__feature:is(:hover, :focus-visible) > strong {
  color: #fff;
}

body[data-page="home"] #top-field-finder .top-about-study__feature:is(:hover, :focus-visible) .top-about-study__field-detail,
body[data-page="home"] #top-field-finder .top-about-study__feature:is(:hover, :focus-visible) .top-about-study__field-detail > :is(span[aria-hidden="true"], .ph-arrow-right) {
  color: #fff;
}

/* Keep 製品 together on the first line of the medicine card. */
body[data-page="home"] #top-field-finder [data-field-family="medicine"] > strong {
  font-size: clamp(16px, calc(1.35 * var(--pp-wide-vw, 1vw)), 19px);
  letter-spacing: 0;
}

/* Region01 standard links use Mitsubishi-style arrow actions. */
body[data-page="region01"] .medicine-service-field-guide__group .medicine-service-field-guide__standards > a {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  justify-content: initial;
  width: 100%;
  min-height: 60px;
  margin-left: 0;
  padding: 8px 12px 8px 10px;
  border: 0;
  background: rgba(255, 255, 255, .84);
  color: #013641;
  box-shadow: none;
  text-decoration: none;
  transition: background-color 180ms ease, color 180ms ease;
}

body[data-page="region01"] .medicine-service-field-guide__group .medicine-service-field-guide__standards > a .medicine-service-field-guide__link-label {
  display: grid;
  align-items: center;
  width: auto;
  max-width: none;
  min-height: 0;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  color: inherit;
  transform: none;
}

body[data-page="region01"] .medicine-service-field-guide__group .medicine-service-field-guide__standards > a .medicine-service-field-guide__link-label::after {
  display: none;
}

body[data-page="region01"] .medicine-service-field-guide__group .medicine-service-field-guide__standards > a::after {
  display: block;
  width: auto;
  height: auto;
  margin: 0 0 0 12px;
  padding: 0;
  background: none;
  color: currentColor;
  content: "→";
  font-family: Arial, sans-serif;
  font-size: 22px;
  font-weight: 400;
  line-height: 1;
  -webkit-mask: none;
  mask: none;
}

body[data-page="region01"] .medicine-service-field-guide__group .medicine-service-field-guide__standards > a:is(:hover, :focus-visible) {
  border: 0;
  background: #004a99;
  color: #fff;
}

body[data-page="region01"] .medicine-service-field-guide__group .medicine-service-field-guide__standards > a:is(:hover, :focus-visible) small {
  color: rgba(255, 255, 255, .84);
}

body[data-page="region01"] .medicine-service-field-guide__group .medicine-service-field-guide__standards > a:focus-visible {
  outline: 2px solid #004a99;
  outline-offset: 3px;
}

/* Region01: PowerPoint reference adapted as a compact lifecycle / regulatory coverage map. */
body[data-page="region01"] .medicine-service-coverage-map {
  margin: 0;
  padding: 18px 0 0;
  border: 0;
  border-top: 1px dashed rgba(1, 54, 65, .34);
  background: transparent;
}

body[data-page="region01"] .medicine-service-coverage-map__heading {
  display: block;
  margin-bottom: 14px;
}

body[data-page="region01"] .medicine-service-coverage-map__heading p {
  margin: 0 0 5px;
  color: #2f8eb6;
  font-family: var(--pp-font-latin);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .16em;
}

body[data-page="region01"] .medicine-service-coverage-map__heading h5 {
  margin: 0;
  color: #013641;
  font-size: clamp(18px, calc(1.6 * var(--pp-wide-vw, 1vw)), 23px);
  line-height: 1.35;
}

body[data-page="region01"] .medicine-service-coverage-map__heading span {
  display: block;
  margin-top: 3px;
  color: rgba(1, 54, 65, .7);
  font-size: 11px;
  font-weight: 700;
  line-height: 1.6;
}

body[data-page="region01"] .medicine-service-coverage-map__scroll {
  overflow-x: auto;
  padding: 2px 2px 8px;
  scrollbar-color: rgba(47, 142, 182, .62) rgba(1, 54, 65, .08);
  scrollbar-width: thin;
}

body[data-page="region01"] .medicine-service-coverage-map__scroll:focus-visible {
  outline: 2px solid #004a99;
  outline-offset: 3px;
}

body[data-page="region01"] .medicine-service-coverage-map__chart {
  min-width: 760px;
}

body[data-page="region01"] .medicine-service-coverage-map__phases,
body[data-page="region01"] .medicine-service-coverage-map__standard-row {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 3px;
}

body[data-page="region01"] .medicine-service-coverage-map__phases {
  margin: 0;
  padding: 0;
  list-style: none;
}

body[data-page="region01"] .medicine-service-coverage-map__phases li {
  position: relative;
  display: grid;
  min-height: 42px;
  place-items: center;
  padding: 0;
  color: #fff;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.25;
  text-align: center;
  clip-path: polygon(0 0, calc(100% - 14px) 0, 100% 50%, calc(100% - 14px) 100%, 0 100%, 12px 50%);
}

body[data-page="region01"] .medicine-service-coverage-map__phases li > :is(a, span) {
  display: grid;
  width: 100%;
  height: 100%;
  min-height: 42px;
  box-sizing: border-box;
  place-items: center;
  padding: 8px 24px 8px 12px;
  color: inherit;
  text-decoration: none;
}

body[data-page="region01"] .medicine-service-coverage-map__phases li:first-child {
  clip-path: polygon(0 0, calc(100% - 14px) 0, 100% 50%, calc(100% - 14px) 100%, 0 100%);
}

body[data-page="region01"] .medicine-service-coverage-map__phases li i {
  position: absolute;
  top: 50%;
  right: 5px;
  font-size: 14px;
  transform: translateY(-50%);
}

body[data-page="region01"] .medicine-service-coverage-map__phases li > a:is(:hover, :focus-visible) {
  background: rgba(0, 74, 153, .32);
}

body[data-page="region01"] .medicine-service-coverage-map__phases li > a:focus-visible {
  outline: 2px solid #004a99;
  outline-offset: -3px;
}

body[data-page="region01"] .medicine-service-coverage-map__phases .is-research { background: #439cb2; }
body[data-page="region01"] .medicine-service-coverage-map__phases .is-nonclinical { background: #71dddd; }
body[data-page="region01"] .medicine-service-coverage-map__phases .is-clinical { background: #60c8e4; }
body[data-page="region01"] .medicine-service-coverage-map__phases .is-approval { background: #91bfcb; }
body[data-page="region01"] .medicine-service-coverage-map__phases .is-market,
body[data-page="region01"] .medicine-service-coverage-map__phases .is-distribution { background: #a2b3b7; }

body[data-page="region01"] .medicine-service-coverage-map__standards {
  display: grid;
  gap: 4px;
  margin-top: 7px;
}

body[data-page="region01"] .medicine-service-coverage-map__standard {
  position: relative;
  display: grid;
  min-width: 0;
  min-height: 42px;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
  padding: 7px 26px 7px 14px;
  color: #fff;
  font-size: 12px;
  line-height: 1.25;
  text-decoration: none;
  clip-path: polygon(0 0, calc(100% - 16px) 0, 100% 50%, calc(100% - 16px) 100%, 0 100%);
}

body[data-page="region01"] .medicine-service-coverage-map__standard strong {
  font-size: 13px;
  font-weight: 800;
}

body[data-page="region01"] .medicine-service-coverage-map__standard small {
  color: rgba(255, 255, 255, .84);
  font-size: 10px;
  font-weight: 700;
}

body[data-page="region01"] .medicine-service-coverage-map__standard > i {
  font-size: 16px;
}

body[data-page="region01"] .medicine-service-coverage-map__standard::after {
  display: none !important;
  content: none !important;
}

body[data-page="region01"] .medicine-service-coverage-map__standard--reliability {
  grid-column: 1 / 5;
  background: linear-gradient(90deg,
    #45a0b4 0%,
    #53b5c5 26%,
    #67d0e1 48%,
    #61cae3 62%,
    #7bc3d6 82%,
    #8ac0cf 100%);
}

body[data-page="region01"] .medicine-service-coverage-map__standard--postmarket {
  grid-column: 5 / 6;
  background: #a2b3b7;
}

body[data-page="region01"] .medicine-service-coverage-map__standard--postmarket strong {
  font-size: 10px;
  letter-spacing: -.02em;
  white-space: nowrap;
}

body[data-page="region01"] .medicine-service-coverage-map__standard--postmarket small {
  display: none;
}

body[data-page="region01"] .medicine-service-coverage-map__standard--gdp {
  grid-column: 6 / 7;
  background: #96968e;
}

body[data-page="region01"] .medicine-service-coverage-map__standard--manufacturing {
  grid-column: 2 / 6;
  background: linear-gradient(90deg,
    #71dddd 0%,
    #6cd7df 17%,
    #67d1e1 32%,
    #62cae3 48%,
    #69c6e0 58%,
    #77c4d8 69%,
    #86c1d1 80%,
    #92beca 90%,
    #9cb7be 100%);
}

body[data-page="region01"] .medicine-service-coverage-map__standard:is(a):is(:hover, :focus-visible) {
  background: #004a99;
  color: #fff;
}

body[data-page="region01"] .medicine-service-coverage-map__standard:is(a):focus-visible {
  outline: 2px solid #004a99;
  outline-offset: 2px;
}

body[data-page="region01"] .medicine-service-coverage-map__hint {
  display: none;
  align-items: center;
  gap: 7px;
  margin: 8px 0 0;
  color: rgba(1, 54, 65, .68);
  font-size: 10px;
  font-weight: 700;
}

body[data-page="region01"] .medicine-brochure-gap-summary {
  display: grid;
  gap: 5px;
  margin: 12px 0 0;
  padding: 0;
  list-style: none;
}

body[data-page="region01"] .medicine-brochure-gap-summary li {
  position: relative;
  padding-left: 14px;
}

body[data-page="region01"] .medicine-brochure-gap-summary li::before {
  position: absolute;
  top: .72em;
  left: 1px;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #2f8eb6;
  content: "";
}

@media (max-width: 720px) {
  body[data-page="region01"] .medicine-service-coverage-map {
    margin: 0;
    padding: 16px 0 0;
  }

  body[data-page="region01"] .medicine-service-coverage-map__heading {
    margin-bottom: 12px;
  }

  body[data-page="region01"] .medicine-service-coverage-map__hint {
    display: flex;
  }
}

/* TOP FIELD: oversized leading-zero numerals overlap the three field cards. */
body[data-page="home"] #top-field-finder .top-about-study__feature {
  overflow: visible;
}

body[data-page="home"] #top-field-finder .top-about-study__image-frame {
  overflow: hidden;
}

body[data-page="home"] #top-field-finder .top-about-study__field-number {
  position: absolute;
  z-index: 5;
  top: clamp(-34px, calc(-2.2 * var(--pp-wide-vw, 1vw)), -24px);
  left: clamp(-18px, calc(-1.3 * var(--pp-wide-vw, 1vw)), -10px);
  color: var(--pp-primary, #4eabd8);
  font-family: "Segoe UI", Arial, sans-serif;
  font-size: clamp(58px, calc(6 * var(--pp-wide-vw, 1vw)), 88px);
  font-weight: 300;
  letter-spacing: -.025em;
  line-height: 1;
  text-shadow:
    -2px -2px 0 rgba(255, 255, 255, .92),
    2px -2px 0 rgba(255, 255, 255, .92),
    -2px 2px 0 rgba(255, 255, 255, .92),
    2px 2px 0 rgba(255, 255, 255, .92);
  pointer-events: none;
}

@media (max-width: 780px) {
  body[data-page="home"] #top-field-finder .top-about-study__field-number {
    top: -23px;
    left: -8px;
    font-size: 56px;
  }
}

/* Region02 standards use the same Mitsubishi-style arrow treatment. */
body[data-page="region02"] .medical-device-service-field-guide .medicine-service-field-guide__standards > :is(a, span) {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-rows: none;
  align-items: center;
  align-content: center;
  width: 100%;
  min-height: 60px;
  margin: 0;
  padding: 8px 12px 8px 10px;
  border: 0;
  background: rgba(255, 255, 255, .84);
  color: #013641;
  box-shadow: none;
  text-decoration: none;
  transition: background-color 180ms ease, color 180ms ease;
}

body[data-page="region02"] .medical-device-service-field-guide .medicine-service-field-guide__standards > a .medicine-service-field-guide__link-label {
  display: grid;
  align-items: center;
  width: auto;
  max-width: none;
  min-height: 0;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  color: inherit;
  transform: none;
}

body[data-page="region02"] .medical-device-service-field-guide .medicine-service-field-guide__standards > a .medicine-service-field-guide__link-label::after {
  display: none;
}

body[data-page="region02"] .medical-device-service-field-guide .medicine-service-field-guide__standards > :is(a, span)::after {
  display: none;
  content: none;
}

body[data-page="region02"] .medical-device-service-field-guide .medicine-service-field-guide__standards > span {
  grid-template-rows: auto auto;
}

body[data-page="region02"] .medical-device-service-field-guide .medicine-service-field-guide__standards > span > :is(strong, small) {
  grid-column: 1;
}

body[data-page="region02"] .medical-device-service-field-guide .medicine-service-field-guide__standards > :is(a, span) > .ph-arrow-right {
  grid-column: 2;
  grid-row: 1 / -1;
  align-self: center;
  justify-self: end;
  margin-left: 12px;
  font-size: 16px;
  line-height: 1;
}

body[data-page="region02"] .medical-device-service-field-guide .medicine-service-field-guide__standards > :is(a, span):is(:hover, :focus-visible) {
  border: 0;
  background: #004a99;
  color: #fff;
}

body[data-page="region02"] .medical-device-service-field-guide .medicine-service-field-guide__standards > :is(a, span):is(:hover, :focus-visible) small {
  color: rgba(255, 255, 255, .84);
}

body[data-page="region02"] .medical-device-service-field-guide .medicine-service-field-guide__standards > a:focus-visible {
  outline: 2px solid #004a99;
  outline-offset: 3px;
}

/* Region02: share Region01's service-area palette, spacing and regulatory-map language. */
body[data-page="region02"] .medical-device-service-field-guide .medicine-service-field-guide__stage--development {
  --field-accent: #439cb2;
  --field-surface: #d9f1f4;
  --field-tint: #9ed5df;
  --field-chip: #eaf7f9;
}

body[data-page="region02"] .medical-device-service-field-guide .medicine-service-field-guide__stage--manufacturing {
  --field-accent: #53b5c5;
  --field-surface: #e2f8f8;
  --field-tint: #bdeeee;
  --field-chip: #f2fbfb;
}

body[data-page="region02"] .medical-device-service-field-guide .medicine-service-field-guide__stage--distribution {
  --field-accent: #76b5c6;
  --field-surface: #e4f0f2;
  --field-tint: #bed8de;
  --field-chip: #edf5f6;
}

body[data-page="region02"] .medical-device-service-field-guide .medicine-service-field-guide__stage--cosmetics {
  --field-accent: #829ca3;
  --field-surface: #ebeeee;
  --field-tint: #d0dadd;
  --field-chip: #f3f5f5;
}

body[data-page="region02"] .medical-device-service-field-guide__stages {
  gap: 3px;
  align-items: stretch;
}

body[data-page="region02"] .medical-device-service-field-guide .medicine-service-field-guide__stage {
  align-content: start;
  padding: 0 10px 14px;
}

body[data-page="region02"] .medical-device-service-field-guide .medicine-service-field-guide__stage-title {
  display: grid;
  box-sizing: border-box;
  width: calc(100% + 20px);
  min-height: 82px;
  grid-template-columns: auto minmax(0, 1fr);
  grid-template-rows: auto auto;
  column-gap: 8px;
  align-content: center;
  align-items: center;
  margin: 0 -10px 12px;
  padding: 10px 22px 10px 18px;
  border: 0;
  background: var(--field-accent);
  color: #fff;
  clip-path: polygon(0 0, calc(100% - 14px) 0, 100% 50%, calc(100% - 14px) 100%, 0 100%, 14px 50%);
  white-space: normal;
}

body[data-page="region02"] .medical-device-service-field-guide .medicine-service-field-guide__stage:first-child .medicine-service-field-guide__stage-title {
  clip-path: polygon(0 0, calc(100% - 14px) 0, 100% 50%, calc(100% - 14px) 100%, 0 100%);
}

body[data-page="region02"] .medical-device-service-field-guide .medicine-service-field-guide__stage-title > span {
  grid-row: 1 / 3;
  align-self: center;
  color: rgba(255, 255, 255, .88);
  font-size: 11px;
}

body[data-page="region02"] .medical-device-service-field-guide .medicine-service-field-guide__stage-title > strong {
  align-self: end;
  color: #fff;
  font-size: clamp(14px, calc(1.15 * var(--pp-wide-vw, 1vw)), 17px);
  line-height: 1.25;
}

body[data-page="region02"] .medical-device-service-field-guide .medicine-service-field-guide__stage-title > small {
  display: block;
  align-self: start;
  color: rgba(255, 255, 255, .88);
  font-size: 9px;
  font-weight: 800;
  line-height: 1.25;
}

body[data-page="region02"] .medical-device-service-field-guide .medicine-service-field-guide__stage-title > small em {
  display: block;
  margin-top: 2px;
  font-family: var(--pp-font-latin);
  font-size: 8px;
  font-style: normal;
  font-weight: 700;
}

body[data-page="region02"] .medical-device-service-coverage-map {
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
}

body[data-page="region02"] .medical-device-service-coverage-map .medicine-service-coverage-map__heading {
  display: block;
  margin-bottom: 14px;
}

body[data-page="region02"] .medical-device-service-coverage-map .medicine-service-coverage-map__heading p {
  margin: 0 0 5px;
  color: #2f8eb6;
  font-family: var(--pp-font-latin);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .16em;
}

body[data-page="region02"] .medical-device-service-coverage-map .medicine-service-coverage-map__heading h5 {
  margin: 0;
  color: #013641;
  font-size: clamp(18px, calc(1.6 * var(--pp-wide-vw, 1vw)), 23px);
  line-height: 1.35;
}

body[data-page="region02"] .medical-device-service-coverage-map .medicine-service-coverage-map__heading span {
  display: block;
  margin-top: 3px;
  color: rgba(1, 54, 65, .7);
  font-size: 11px;
  font-weight: 700;
  line-height: 1.6;
}

body[data-page="region02"] .medical-device-service-coverage-map .medicine-service-coverage-map__scroll {
  overflow-x: auto;
  padding: 2px 2px 8px;
  scrollbar-color: rgba(47, 142, 182, .62) rgba(1, 54, 65, .08);
  scrollbar-width: thin;
}

body[data-page="region02"] .medical-device-service-coverage-map .medicine-service-coverage-map__scroll:focus-visible {
  outline: 2px solid #004a99;
  outline-offset: 3px;
}

body[data-page="region02"] .medical-device-service-coverage-map .medicine-service-coverage-map__chart {
  min-width: 760px;
}

body[data-page="region02"] .medical-device-service-coverage-map .pp-regulatory-arrow-map__phases {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

body[data-page="region02"] .medical-device-service-coverage-map .pp-regulatory-arrow-map__phases li,
body[data-page="region02"] .medical-device-service-coverage-map .pp-regulatory-arrow-map__phases li > a {
  height: 60px;
  min-height: 60px;
}

body[data-page="region02"] .medical-device-service-coverage-map .pp-regulatory-arrow-map__phases li > a {
  padding: 8px 18px 8px 12px;
}

body[data-page="region02"] .medical-device-service-coverage-map .pp-regulatory-arrow-map__phases .is-introduction { background: #439cb2; }
body[data-page="region02"] .medical-device-service-coverage-map .pp-regulatory-arrow-map__phases .is-design { background: #71dddd; }
body[data-page="region02"] .medical-device-service-coverage-map .pp-regulatory-arrow-map__phases .is-manufacturing { background: #60c8e4; }
body[data-page="region02"] .medical-device-service-coverage-map .pp-regulatory-arrow-map__phases .is-postmarket { background: #91bfcb; }
body[data-page="region02"] .medical-device-service-coverage-map .pp-regulatory-arrow-map__phases .is-improvement { background: #a2b3b7; }

body[data-page="region02"] .medical-device-service-coverage-map .pp-regulatory-arrow-map__phases li > a:is(:hover, :focus-visible),
body[data-page="region02"] .medical-device-service-coverage-map .medicine-service-coverage-map__standard:is(:hover, :focus-visible) {
  background: #004a99;
  color: #fff;
}

body[data-page="region02"] .medical-device-service-coverage-map .pp-regulatory-arrow-map__phases li > a:focus-visible,
body[data-page="region02"] .medical-device-service-coverage-map .medicine-service-coverage-map__standard:focus-visible {
  outline: 2px solid #004a99;
  outline-offset: 2px;
}

body[data-page="region02"] .medical-device-service-coverage-map .medicine-service-coverage-map__standards {
  display: grid;
  gap: 4px;
  margin-top: 7px;
}

body[data-page="region02"] .medical-device-service-coverage-map .medicine-service-coverage-map__standard-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 4px;
}

body[data-page="region02"] .medical-device-service-coverage-map .medicine-service-coverage-map__standard {
  position: relative;
  display: grid;
  min-width: 0;
  min-height: 48px;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
  padding: 7px 26px 7px 14px;
  color: #fff;
  font-size: 12px;
  line-height: 1.25;
  text-decoration: none;
  clip-path: polygon(0 0, calc(100% - 16px) 0, 100% 50%, calc(100% - 16px) 100%, 0 100%);
}

body[data-page="region02"] .medical-device-service-coverage-map .medicine-service-coverage-map__standard strong {
  font-size: 12px;
  font-weight: 800;
}

body[data-page="region02"] .medical-device-service-coverage-map .medicine-service-coverage-map__standard small {
  color: rgba(255, 255, 255, .88);
  font-size: 10px;
  font-weight: 700;
}

body[data-page="region02"] .medical-device-service-coverage-map .medicine-service-coverage-map__standard > i {
  font-size: 16px;
}

body[data-page="region02"] .medical-device-service-coverage-map .medicine-service-coverage-map__standard::after {
  display: none !important;
  content: none !important;
}

body[data-page="region02"] .medical-device-service-coverage-map__standard--quality { background: #439cb2; }
body[data-page="region02"] .medical-device-service-coverage-map__standard--system { background: linear-gradient(90deg, #53b5c5 0%, #67d0e1 100%); }
body[data-page="region02"] .medical-device-service-coverage-map__standard--management { background: #91bfcb; }
body[data-page="region02"] .medical-device-service-coverage-map__standard--audit { background: #76b5c6; }
body[data-page="region02"] .medical-device-service-coverage-map__standard--product { background: linear-gradient(90deg, #60c8e4 0%, #86c1d1 100%); }
body[data-page="region02"] .medical-device-service-coverage-map__standard--education { background: #a2b3b7; }

body[data-page="region02"] .medical-device-service-coverage-map .medicine-service-coverage-map__hint {
  display: none;
  align-items: center;
  gap: 7px;
  margin: 8px 0 0;
  color: rgba(1, 54, 65, .68);
  font-size: 10px;
  font-weight: 700;
}

@media (max-width: 720px) {
  body[data-page="region02"] .medical-device-service-coverage-map {
    padding-top: 0;
  }

  body[data-page="region02"] .medical-device-service-coverage-map .medicine-service-coverage-map__hint {
    display: flex;
  }
}

/* Region03 phase tabs use the same arrow-first interaction. */
body[data-page="region03"] .engineering-service-field-guide .engineering-phase-tab {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-rows: none;
  align-items: center;
  align-content: center;
  min-height: 60px;
  padding: 8px 12px 8px 10px;
  border: 0;
  background: rgba(255, 255, 255, .84);
  color: #013641;
  box-shadow: none !important;
  transition: background-color 180ms ease, color 180ms ease;
}

body[data-page="region03"] .engineering-service-field-guide .engineering-phase-tab__label {
  display: grid;
  grid-column: 1;
  grid-row: 1;
  width: auto;
  height: auto;
  min-height: 0;
  align-content: center;
  gap: 4px;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
}

body[data-page="region03"] .engineering-service-field-guide .engineering-phase-tab__label > span,
body[data-page="region03"] .engineering-service-field-guide .engineering-phase-tab__label > strong {
  color: inherit;
}

body[data-page="region03"] .engineering-service-field-guide .engineering-phase-tab__label > strong {
  width: auto;
  max-width: none;
  padding: 0;
  text-decoration: none !important;
}

body[data-page="region03"] .engineering-service-field-guide .engineering-phase-tab__label > strong::after {
  display: none;
}

body[data-page="region03"] .engineering-service-field-guide .engineering-phase-tab::after {
  display: block;
  grid-column: 2;
  grid-row: 1;
  width: auto;
  height: auto;
  margin: 0 0 0 12px;
  padding: 0;
  background: none;
  color: currentColor;
  content: "→";
  font-family: Arial, sans-serif;
  font-size: 22px;
  font-weight: 400;
  line-height: 1;
  -webkit-mask: none;
  mask: none;
}

body[data-page="region03"] .engineering-service-field-guide .engineering-phase-tab > i {
  display: none;
}

body[data-page="region03"] .engineering-service-field-guide .engineering-phase-tab:is(:hover, :focus-visible),
body[data-page="region03"] .engineering-service-field-guide .engineering-phase-tab.is-active {
  border: 0;
  background: #004a99;
  color: #fff;
  box-shadow: none !important;
  transform: none;
}

body[data-page="region03"] .engineering-service-field-guide .engineering-phase-tab:is(:hover, :focus-visible) .engineering-phase-tab__label > span,
body[data-page="region03"] .engineering-service-field-guide .engineering-phase-tab:is(:hover, :focus-visible) .engineering-phase-tab__label > strong,
body[data-page="region03"] .engineering-service-field-guide .engineering-phase-tab.is-active .engineering-phase-tab__label > span,
body[data-page="region03"] .engineering-service-field-guide .engineering-phase-tab.is-active .engineering-phase-tab__label > strong {
  color: #fff;
}

body[data-page="region03"] .engineering-service-field-guide .engineering-phase-tab:is(:hover, :focus-visible) .engineering-phase-tab__label,
body[data-page="region03"] .engineering-service-field-guide .engineering-phase-tab.is-active .engineering-phase-tab__label {
  color: #fff;
}

body[data-page="region03"] .engineering-service-field-guide .engineering-phase-tab:is(:hover, :focus-visible)::after,
body[data-page="region03"] .engineering-service-field-guide .engineering-phase-tab.is-active::after {
  color: #fff;
}

body[data-page="region03"] .engineering-service-field-guide .engineering-phase-tab:focus-visible {
  outline: 2px solid #004a99;
  outline-offset: 3px;
}

/* Keep the TOP field imagery in the foreground with a borderless transparent title overlay. */
body[data-page="home"] #top-field-finder .top-about-study__feature {
  position: relative;
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  min-height: 0;
  aspect-ratio: 1.08 / 1;
  isolation: isolate;
  overflow: hidden;
}

body[data-page="home"] #top-field-finder .top-about-study__image-frame {
  position: absolute;
  z-index: 0;
  inset: 0;
  width: 100%;
  height: 100%;
  aspect-ratio: auto;
}

body[data-page="home"] #top-field-finder .top-about-study__image-frame::after {
  z-index: 1;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 48%, rgba(0, 0, 0, .34) 100%);
}

body[data-page="home"] #top-field-finder .top-about-study__image-frame::before {
  position: absolute;
  z-index: 2;
  top: 16px;
  left: 16px;
  width: 30px;
  height: 34px;
  background:
    linear-gradient(90deg, rgba(84, 178, 220, .98), rgba(84, 178, 220, .98)) 2px 2px / 25px 2px no-repeat,
    linear-gradient(90deg, rgba(84, 178, 220, .82), rgba(84, 178, 220, .82)) 6px 8px / 20px 1px no-repeat,
    linear-gradient(90deg, rgba(84, 178, 220, .62), rgba(84, 178, 220, .62)) 10px 14px / 15px 1px no-repeat,
    linear-gradient(180deg, rgba(84, 178, 220, .98), rgba(84, 178, 220, .98)) 2px 2px / 2px 29px no-repeat,
    linear-gradient(180deg, rgba(84, 178, 220, .82), rgba(84, 178, 220, .82)) 8px 7px / 1px 23px no-repeat,
    linear-gradient(180deg, rgba(84, 178, 220, .62), rgba(84, 178, 220, .62)) 14px 12px / 1px 17px no-repeat;
  content: "";
  pointer-events: none;
}

body[data-page="home"] #top-field-finder .top-about-study__feature > strong {
  position: relative;
  z-index: 2;
  align-self: end;
  top: auto;
  right: auto;
  bottom: auto;
  left: auto;
  min-height: clamp(72px, calc(6 * var(--pp-wide-vw, 1vw)), 88px);
  margin: 0;
  color: #fff;
  border: 0;
  background: transparent;
  text-shadow: 0 2px 10px rgba(1, 35, 48, .44);
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}

body[data-page="home"] #top-field-finder .top-about-study__field-detail {
  z-index: 3;
}

body[data-page="home"] #top-field-finder .top-about-study__feature:is(:hover, :focus-visible) > strong {
  background: rgba(47, 142, 182, .94);
}

/* 2026-08-25: soften the field photos so the blue corner marks read clearly. */
body[data-page="home"] #top-field-finder .top-about-study__image-frame img {
  filter: saturate(.72) brightness(1.08) contrast(.96);
}

/* 2026-08-25: keep the TOP field cards transparent when the pointer passes over them. */
body[data-page="home"] #top-field-finder .top-about-study__feature:is(:hover, :focus-visible),
body[data-page="home"] #top-field-finder .top-about-study__feature:is(:hover, :focus-visible) > strong {
  background: transparent;
}

body[data-page="home"] #top-field-finder .top-about-study__feature:is(:hover, :focus-visible) > strong {
  color: #fff;
}

body[data-page="home"] #top-field-finder .top-about-study__feature:is(:hover, :focus-visible) .top-about-study__image-frame img {
  filter: saturate(.82) brightness(1.05) contrast(.98);
}

@media (max-width: 780px) {
  body[data-page="home"] #top-field-finder .top-about-study__feature {
    aspect-ratio: 1.2 / 1;
  }
}

/* Challenge version: keep issue answers compact and place the narrative before outcomes. */
@media (min-width: 621px) {
  body[data-page="region01"] #medicine-issues .medicine-issue-dialog .medicine-issue-reveal__detail,
  body[data-page="region02"] #medical-device-issues .medical-device-issue-dialog .medicine-issue-reveal__detail,
  body[data-page="region03"] #engineering-cases .engineering-issue-dialog .medicine-issue-reveal__detail {
    grid-template-areas:
      "solution solution"
      "client outcomes"
      "support support";
  }

  body[data-page="region01"] #medicine-issues .medicine-issue-dialog .medicine-issue-reveal__answer-copy,
  body[data-page="region02"] #medical-device-issues .medicine-issue-reveal__answer-copy,
  body[data-page="region03"] #engineering-cases .medicine-issue-reveal__answer-copy {
    border-right: 2px dotted rgba(1, 54, 65, .58) !important;
  }

  body[data-page="region01"] #medicine-issues .medicine-issue-dialog .medicine-issue-reveal__outcomes,
  body[data-page="region02"] #medical-device-issues .medicine-issue-reveal__outcomes,
  body[data-page="region03"] #engineering-cases .medicine-issue-reveal__outcomes {
    border-right: 0 !important;
  }
}

@media (min-width: 981px) {
  body[data-page="region01"] #medicine-issues .medicine-issue-dialog .medicine-issue-reveal__detail,
  body[data-page="region02"] #medical-device-issues .medical-device-issue-dialog .medicine-issue-reveal__detail,
  body[data-page="region03"] #engineering-cases .engineering-issue-dialog .medicine-issue-reveal__detail {
    width: calc(100% + var(--issue-panel-tail-x));
    max-width: 680px;
    justify-self: start;
  }
}

/* Challenge version: normalize issue-card English labels to the DESIGN.md scale. */
body[data-page="region01"] #medicine-issues .medicine-issue-reveal__problem small,
body[data-page="region02"] #medical-device-issues .medicine-issue-reveal__problem small,
body[data-page="region03"] #engineering-cases .medicine-issue-reveal__problem small,
body[data-page="service-cmc"] #pp-cmc-case-studies .medicine-issue-reveal__problem small {
  display: inline-flex;
  align-items: center;
  box-sizing: border-box;
  min-height: 28px;
  font-size: 10px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: .17em;
}

/* Challenge version: place the solution heading inside the narrative block. */
body[data-page="region01"] #medicine-issues .medicine-issue-reveal__solution,
body[data-page="region02"] #medical-device-issues .medicine-issue-reveal__solution,
body[data-page="region03"] #engineering-cases .medicine-issue-reveal__solution,
body[data-page="service-cmc"] #pp-cmc-case-studies .medicine-issue-reveal__solution {
  padding: 20px 20px 0 !important;
  background: #edf3f5 !important;
}

@media (min-width: 621px) {
  body[data-page="region01"] #medicine-issues .medicine-issue-dialog .medicine-issue-reveal__detail,
  body[data-page="region02"] #medical-device-issues .medical-device-issue-dialog .medicine-issue-reveal__detail,
  body[data-page="region03"] #engineering-cases .engineering-issue-dialog .medicine-issue-reveal__detail,
  body[data-page="service-cmc"] #pp-cmc-case-studies .pp-cmc-case-issue-dialog .medicine-issue-reveal__detail {
    grid-template-areas:
      "solution outcomes"
      "client outcomes"
      "support outcomes";
  }

  body[data-page="region01"] #medicine-issues .medicine-issue-reveal__solution,
  body[data-page="region02"] #medical-device-issues .medicine-issue-reveal__solution,
  body[data-page="region03"] #engineering-cases .medicine-issue-reveal__solution,
  body[data-page="service-cmc"] #pp-cmc-case-studies .medicine-issue-reveal__solution,
  body[data-page="region01"] #medicine-issues .medicine-issue-reveal__support,
  body[data-page="region02"] #medical-device-issues .medicine-issue-reveal__support,
  body[data-page="region03"] #engineering-cases .medicine-issue-reveal__support,
  body[data-page="service-cmc"] #pp-cmc-case-studies .medicine-issue-reveal__support {
    border-right: 2px dotted rgba(1, 54, 65, .58) !important;
  }
}

body[data-page="region01"] #medicine-issues .medicine-issue-reveal__support,
body[data-page="region02"] #medical-device-issues .medicine-issue-reveal__support,
body[data-page="region03"] #engineering-cases .medicine-issue-reveal__support,
body[data-page="service-cmc"] #pp-cmc-case-studies .medicine-issue-reveal__support {
  grid-template-columns: max-content minmax(0, 1fr) !important;
  gap: 12px !important;
  padding: 0 20px 20px !important;
  background: #edf3f5 !important;
}

@media (max-width: 620px) {
  body[data-page="region01"] #medicine-issues .medicine-issue-dialog .medicine-issue-reveal__detail,
  body[data-page="region02"] #medical-device-issues .medical-device-issue-dialog .medicine-issue-reveal__detail,
  body[data-page="region03"] #engineering-cases .engineering-issue-dialog .medicine-issue-reveal__detail,
  body[data-page="service-cmc"] #pp-cmc-case-studies .pp-cmc-case-issue-dialog .medicine-issue-reveal__detail {
    grid-template-areas:
      "solution"
      "client"
      "support"
      "outcomes";
  }

  body[data-page="region01"] #medicine-issues .medicine-issue-reveal__solution,
  body[data-page="region02"] #medical-device-issues .medicine-issue-reveal__solution,
  body[data-page="region03"] #engineering-cases .medicine-issue-reveal__solution,
  body[data-page="service-cmc"] #pp-cmc-case-studies .medicine-issue-reveal__solution {
    padding: 16px 16px 0 !important;
    border-right: 0 !important;
  }

  body[data-page="region01"] #medicine-issues .medicine-issue-reveal__answer-copy,
  body[data-page="region02"] #medical-device-issues .medicine-issue-reveal__answer-copy,
  body[data-page="region03"] #engineering-cases .medicine-issue-reveal__answer-copy,
  body[data-page="service-cmc"] #pp-cmc-case-studies .medicine-issue-reveal__answer-copy {
    border-top: 0 !important;
  }

  body[data-page="region01"] #medicine-issues .medicine-issue-reveal__support,
  body[data-page="region02"] #medical-device-issues .medicine-issue-reveal__support,
  body[data-page="region03"] #engineering-cases .medicine-issue-reveal__support,
  body[data-page="service-cmc"] #pp-cmc-case-studies .medicine-issue-reveal__support {
    padding: 0 16px 16px !important;
    border-right: 0 !important;
    border-bottom: 1px dashed rgba(1, 54, 65, .42) !important;
  }

  body[data-page="region01"] #medicine-issues .medicine-issue-reveal__outcomes,
  body[data-page="region02"] #medical-device-issues .medicine-issue-reveal__outcomes,
  body[data-page="region03"] #engineering-cases .medicine-issue-reveal__outcomes,
  body[data-page="service-cmc"] #pp-cmc-case-studies .medicine-issue-reveal__outcomes {
    border-top: 0 !important;
  }
}

/* Challenge version: keep the selected issue in place and attach its answer bubble. */
:is(
  body[data-page="region01"] #medicine-issues,
  body[data-page="region02"] #medical-device-issues,
  body[data-page="region03"] #engineering-cases
) .medicine-issue-dialog .medicine-issue-reveal.is-open[data-issue-dialog-placement] {
  display: contents !important;
  order: initial !important;
}

:is(
  body[data-page="region01"] #medicine-issues,
  body[data-page="region02"] #medical-device-issues,
  body[data-page="region03"] #engineering-cases
) .medicine-issue-dialog .medicine-issue-reveal.is-open .medicine-issue-reveal__problem {
  position: relative;
  z-index: 3;
  align-self: start;
  width: 100%;
}

:is(
  body[data-page="region01"] #medicine-issues,
  body[data-page="region02"] #medical-device-issues,
  body[data-page="region03"] #engineering-cases
) .medicine-issue-dialog .medicine-issue-reveal.is-open .medicine-issue-reveal__connector {
  display: none !important;
}

:is(
  body[data-page="region01"] #medicine-issues,
  body[data-page="region02"] #medical-device-issues,
  body[data-page="region03"] #engineering-cases
) .medicine-issue-dialog .medicine-issue-reveal__detail[data-issue-dialog-placement] {
  position: relative;
  z-index: 4;
  align-self: center;
  justify-self: stretch !important;
  max-width: none !important;
  box-shadow: 0 16px 36px rgba(0, 44, 61, .14);
}

:is(
  body[data-page="region01"] #medicine-issues,
  body[data-page="region02"] #medical-device-issues,
  body[data-page="region03"] #engineering-cases
) .medicine-issue-dialog .medicine-issue-reveal__detail[data-issue-dialog-placement="side"] {
  width: calc(100% + var(--issue-panel-inline-pull)) !important;
  margin-left: calc(var(--issue-panel-inline-pull) * -1);
  padding: 20px 20px 20px 30px !important;
  clip-path: polygon(
    10px 0,
    100% 0,
    100% calc(100% - 48px),
    calc(100% - 72px) 100%,
    10px 100%,
    10px calc(33% + 8px),
    0 33%,
    10px calc(33% - 8px)
  ) !important;
  transform: none !important;
}

:is(
  body[data-page="region01"] #medicine-issues,
  body[data-page="region02"] #medical-device-issues,
  body[data-page="region03"] #engineering-cases
) .medicine-issue-dialog .medicine-issue-reveal__detail[data-issue-dialog-placement="below"] {
  width: 100% !important;
  margin-top: calc(var(--issue-panel-block-pull) * -1);
  padding: 30px 20px 20px !important;
  clip-path: polygon(
    0 10px,
    calc(var(--issue-tail-anchor) - 10px) 10px,
    var(--issue-tail-anchor) 0,
    calc(var(--issue-tail-anchor) + 10px) 10px,
    100% 10px,
    100% calc(100% - 48px),
    calc(100% - 72px) 100%,
    0 100%
  ) !important;
  transform: none !important;
}

@media (max-width: 620px) {
  :is(
    body[data-page="region01"] #medicine-issues,
    body[data-page="region02"] #medical-device-issues,
    body[data-page="region03"] #engineering-cases
  ) .medicine-issue-dialog .medicine-issue-reveal__detail[data-issue-dialog-placement="below"] {
    padding: 30px 16px 18px !important;
  }
}

/* Challenge version: use the spare right gutter to shorten comparison bubbles. */
@media (min-width: 981px) and (max-width: 1439px) {
  :is(
    body[data-page="region01"] #medicine-issues,
    body[data-page="region02"] #medical-device-issues,
    body[data-page="region03"] #engineering-cases
  ) .medicine-issue-dialog.has-adaptive-issue {
    width: calc(100% + clamp(48px, calc(5 * var(--pp-wide-vw, 1vw)), 72px));
    grid-template-columns: 250px repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1440px) {
  :is(
    body[data-page="region01"] #medicine-issues,
    body[data-page="region02"] #medical-device-issues,
    body[data-page="region03"] #engineering-cases
  ) .medicine-issue-dialog.has-adaptive-issue {
    width: calc(100% + clamp(56px, calc(5 * var(--pp-wide-vw, 1vw)), 80px));
    grid-template-columns: 250px repeat(3, minmax(0, 1fr));
  }
}

@media (min-width: 981px) {
  :is(
    body[data-page="region01"] #medicine-issues,
    body[data-page="region02"] #medical-device-issues,
    body[data-page="region03"] #engineering-cases
  ) .medicine-issue-dialog.has-adaptive-issue {
    row-gap: clamp(24px, calc(2.5 * var(--pp-wide-vw, 1vw)), 32px);
  }

  :is(
    body[data-page="region01"] #medicine-issues,
    body[data-page="region02"] #medical-device-issues,
    body[data-page="region03"] #engineering-cases
  ) .medicine-issue-dialog .medicine-issue-reveal__detail[data-issue-dialog-placement="side"] {
    grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
    padding: 14px 16px 14px 26px !important;
  }

  :is(
    body[data-page="region01"] #medicine-issues,
    body[data-page="region02"] #medical-device-issues,
    body[data-page="region03"] #engineering-cases
  ) .medicine-issue-reveal__detail[data-issue-dialog-placement="side"] .medicine-issue-reveal__solution {
    padding: 16px 16px 0 !important;
  }

  :is(
    body[data-page="region01"] #medicine-issues,
    body[data-page="region02"] #medical-device-issues,
    body[data-page="region03"] #engineering-cases
  ) .medicine-issue-reveal__detail[data-issue-dialog-placement="side"] .medicine-issue-reveal__answer-copy {
    padding: 14px 16px !important;
  }

  :is(
    body[data-page="region01"] #medicine-issues,
    body[data-page="region02"] #medical-device-issues,
    body[data-page="region03"] #engineering-cases
  ) .medicine-issue-reveal__detail[data-issue-dialog-placement="side"] .medicine-issue-reveal__support {
    gap: 10px !important;
    padding: 0 16px 16px !important;
  }

  :is(
    body[data-page="region01"] #medicine-issues,
    body[data-page="region02"] #medical-device-issues,
    body[data-page="region03"] #engineering-cases
  ) .medicine-issue-reveal__detail[data-issue-dialog-placement="side"] .medicine-issue-reveal__outcomes {
    padding: 16px !important;
  }
}

/* Challenge version: translucent white issue-answer surfaces. */
:is(
  body[data-page="region01"] #medicine-issues,
  body[data-page="region02"] #medical-device-issues,
  body[data-page="region03"] #engineering-cases
) .medicine-issue-dialog .medicine-issue-reveal__detail[data-issue-dialog-placement] {
  background: rgba(255, 255, 255, .74) !important;
}

:is(
  body[data-page="region01"] #medicine-issues,
  body[data-page="region02"] #medical-device-issues,
  body[data-page="region03"] #engineering-cases
) .medicine-issue-dialog .medicine-issue-reveal__detail[data-issue-dialog-placement] > section {
  background: rgba(255, 255, 255, .18) !important;
}

:is(
  body[data-page="region01"] #medicine-issues,
  body[data-page="region02"] #medical-device-issues,
  body[data-page="region03"] #engineering-cases
) .medicine-issue-dialog .medicine-issue-reveal__detail[data-issue-dialog-placement] :is(
  .medicine-issue-reveal__solution,
  .medicine-issue-reveal__support
) {
  background: rgba(255, 255, 255, .22) !important;
}

:is(
  body[data-page="region01"] #medicine-issues,
  body[data-page="region02"] #medical-device-issues,
  body[data-page="region03"] #engineering-cases
) .medicine-issue-dialog .medicine-issue-reveal__detail[data-issue-dialog-placement] .medicine-issue-reveal__results > a {
  background: rgba(255, 255, 255, .66) !important;
}

/* Region 01: keep the answer panel clear of the selected issue and shorten result rows. */
@media (min-width: 981px) {
  body[data-page="region01"] #medicine-issues .medicine-issue-dialog
    .medicine-issue-reveal__detail[data-issue-dialog-placement="side"] {
    width: 100% !important;
    margin-left: 0;
  }

  body[data-page="region01"] #medicine-issues .medicine-issue-dialog
    .medicine-issue-reveal__detail[data-issue-dialog-placement="side"]
    .medicine-issue-reveal__results > a {
    box-sizing: border-box;
    width: calc(100% - 12px);
    justify-self: start;
  }
}

/* CMC case studies use the same adaptive comparison dialog as Region 01. */
body[data-page="service-cmc"] #pp-cmc-case-studies .medicine-issue-dialog .medicine-issue-reveal.is-open[data-issue-dialog-placement] {
  display: contents !important;
  order: initial !important;
}

body[data-page="service-cmc"] #pp-cmc-case-studies .medicine-issue-dialog .medicine-issue-reveal.is-open .medicine-issue-reveal__problem {
  position: relative;
  z-index: 3;
  align-self: start;
  width: 100%;
  border-color: #2e95c3;
  border-radius: 26px;
}

body[data-page="service-cmc"] #pp-cmc-case-studies .medicine-issue-dialog .medicine-issue-reveal.is-open .medicine-issue-reveal__connector {
  display: none !important;
}

body[data-page="service-cmc"] #pp-cmc-case-studies .medicine-issue-dialog .medicine-issue-reveal__detail[data-issue-dialog-placement] {
  position: relative;
  z-index: 4;
  align-self: center;
  justify-self: stretch !important;
  max-width: none !important;
  background: rgba(255, 255, 255, .74) !important;
  box-shadow: 0 16px 36px rgba(0, 44, 61, .14);
  transform: none !important;
}

body[data-page="service-cmc"] #pp-cmc-case-studies .medicine-issue-dialog .medicine-issue-reveal__detail[data-issue-dialog-placement] > section {
  background: rgba(255, 255, 255, .18) !important;
}

body[data-page="service-cmc"] #pp-cmc-case-studies .medicine-issue-dialog .medicine-issue-reveal__detail[data-issue-dialog-placement] :is(.medicine-issue-reveal__solution, .medicine-issue-reveal__support) {
  background: rgba(255, 255, 255, .22) !important;
}

body[data-page="service-cmc"] #pp-cmc-case-studies .medicine-issue-dialog .medicine-issue-reveal__detail[data-issue-dialog-placement] .medicine-issue-reveal__results > a {
  background: rgba(255, 255, 255, .66) !important;
}

body[data-page="service-cmc"] #pp-cmc-case-studies .medicine-issue-dialog .medicine-issue-reveal__detail[data-issue-dialog-placement="side"] {
  width: calc(100% + var(--issue-panel-inline-pull)) !important;
  margin-left: calc(var(--issue-panel-inline-pull) * -1);
  padding: 14px 16px 14px 26px !important;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
  clip-path: polygon(10px 0, 100% 0, 100% calc(100% - 48px), calc(100% - 72px) 100%, 10px 100%, 10px calc(33% + 8px), 0 33%, 10px calc(33% - 8px)) !important;
}

body[data-page="service-cmc"] #pp-cmc-case-studies .medicine-issue-dialog .medicine-issue-reveal__detail[data-issue-dialog-placement="below"] {
  width: 100% !important;
  margin-top: calc(var(--issue-panel-block-pull) * -1);
  padding: 30px 20px 20px !important;
  clip-path: polygon(0 10px, calc(var(--issue-tail-anchor) - 10px) 10px, var(--issue-tail-anchor) 0, calc(var(--issue-tail-anchor) + 10px) 10px, 100% 10px, 100% calc(100% - 48px), calc(100% - 72px) 100%, 0 100%) !important;
}

@media (min-width: 981px) and (max-width: 1439px) {
  body[data-page="service-cmc"] #pp-cmc-case-studies .medicine-issue-dialog.has-adaptive-issue {
    width: calc(100% + clamp(48px, calc(5 * var(--pp-wide-vw, 1vw)), 72px));
    grid-template-columns: 250px repeat(2, minmax(0, 1fr));
    row-gap: clamp(24px, calc(2.5 * var(--pp-wide-vw, 1vw)), 32px);
  }
}

@media (min-width: 1440px) {
  body[data-page="service-cmc"] #pp-cmc-case-studies .medicine-issue-dialog.has-adaptive-issue {
    width: calc(100% + clamp(56px, calc(5 * var(--pp-wide-vw, 1vw)), 80px));
    grid-template-columns: 250px repeat(3, minmax(0, 1fr));
    row-gap: clamp(24px, calc(2.5 * var(--pp-wide-vw, 1vw)), 32px);
  }
}

@media (max-width: 620px) {
  body[data-page="service-cmc"] #pp-cmc-case-studies .medicine-issue-dialog .medicine-issue-reveal__detail[data-issue-dialog-placement="below"] {
    padding: 30px 16px 18px !important;
  }
}

/* Region02: use the medicine regulatory-arrow geometry for QMS coverage. */
body[data-page="region02"] .medical-device-service-field-guide__coverage-map {
  display: grid;
  gap: 6px;
  margin: 8px 0 0;
}

body[data-page="region02"] .medical-device-service-field-guide__coverage-phases {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 3px;
}

body[data-page="region02"] .medical-device-service-field-guide__coverage-phases > li {
  display: grid;
  height: 60px;
  min-height: 60px;
  align-content: center;
  align-items: center;
  justify-content: center;
  padding: 8px 18px 8px 12px;
}

body[data-page="region02"] .medical-device-service-field-guide__coverage-phases strong {
  display: block;
  font-size: 14px;
  line-height: 1.15;
}

body[data-page="region02"] .medical-device-service-field-guide__coverage-phases small {
  display: block;
  margin-top: 4px;
  font-size: 9px;
  line-height: 1.1;
}

body[data-page="region02"] .medical-device-service-field-guide__coverage-phases .is-introduction { background: #439cb2; }
body[data-page="region02"] .medical-device-service-field-guide__coverage-phases .is-design { background: #70d9da; }
body[data-page="region02"] .medical-device-service-field-guide__coverage-phases .is-manufacturing { background: #60c8e4; }
body[data-page="region02"] .medical-device-service-field-guide__coverage-phases .is-post-market { background: #91bfcb; }
body[data-page="region02"] .medical-device-service-field-guide__coverage-phases .is-improvement { background: #a2b3b7; }

body[data-page="region02"] .medical-device-service-field-guide .medicine-service-field-guide__stage-title {
  height: 42px;
  min-height: 42px;
  grid-template-rows: auto;
  padding: 7px 22px 7px 14px;
}

body[data-page="region02"] .medical-device-service-field-guide .medicine-service-field-guide__stage-title > span {
  grid-row: auto;
}

body[data-page="region02"] .medical-device-service-field-guide .medicine-service-field-guide__stage-title > strong {
  font-size: 14px;
  line-height: 1.15;
  white-space: nowrap;
}

body[data-page="region02"] .medical-device-service-field-guide .medicine-service-field-guide__group--medicine {
  row-gap: 6px;
}

body[data-page="region03"] .engineering-service-field-guide__scope-note {
  margin: 18px 0 0;
  padding: 14px 16px;
  border: 1px solid rgba(35, 143, 139, .32);
  color: #013641;
  background: rgba(255, 255, 255, .66);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.8;
}

/* 2026-08-26: place the Region01 service children after the lifecycle rockets. */
body[data-page="region01"] .medicine-service-field-guide__group--medicine .medicine-service-field-guide__group-stages {
  margin-top: 14px;
}

/* CSV: reuse the medicine lifecycle rockets and keep all PPT support copy below them. */
body[data-page="service-csv"] #scope {
  padding-inline: 0;
}

body[data-page="service-csv"] #scope .csv-medicine-service-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  padding: clamp(16px, calc(1.8 * var(--pp-wide-vw, 1vw)), 22px);
  border: 0;
  color: #013641;
  background: transparent;
}

body[data-page="service-csv"] #scope .csv-medicine-service-panel__group {
  display: grid;
  gap: 14px;
  min-width: 0;
  padding: 12px;
  border: 0;
  background: transparent;
}

body[data-page="service-csv"] #scope .csv-medicine-service-panel__heading {
  display: flex;
  align-items: baseline;
  gap: 16px;
  margin-bottom: clamp(2px, calc(.6 * var(--pp-wide-vw, 1vw)), 8px);
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(1, 54, 65, .18);
}

body[data-page="service-csv"] #scope .csv-medicine-service-panel__heading span {
  padding: 6px 10px;
  border: 1px solid var(--pp-primary, #4eabd8);
  color: #013641;
  font-family: var(--pp-font-display);
  font-size: clamp(17px, calc(1.6 * var(--pp-wide-vw, 1vw)), 23px);
  font-weight: 800;
  line-height: 1.25;
}

body[data-page="service-csv"] #scope .csv-medicine-service-panel__heading strong {
  color: #013641;
  font-family: var(--pp-font-display);
  font-size: clamp(17px, calc(1.55 * var(--pp-wide-vw, 1vw)), 22px);
  font-weight: 800;
  line-height: 1.4;
}

body[data-page="service-csv"] .csv-system-lifecycle {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  margin: 18px 0 0;
  padding: 0;
  list-style: none;
}

body[data-page="service-csv"] .csv-system-lifecycle__stage {
  --csv-lifecycle-color: #adbd3f;
  min-width: 0;
  color: #073b51;
}

body[data-page="service-csv"] .csv-system-lifecycle__stage:nth-child(2) { --csv-lifecycle-color: #56b5bb; }
body[data-page="service-csv"] .csv-system-lifecycle__stage:nth-child(3) { --csv-lifecycle-color: #796eaa; }
body[data-page="service-csv"] .csv-system-lifecycle__stage:nth-child(4) { --csv-lifecycle-color: #bd4d84; }

body[data-page="service-csv"] .csv-system-lifecycle__stage > header {
  display: grid;
  align-content: center;
  min-height: 88px;
  padding: 15px 26px 14px 22px;
  color: #fff;
  background: var(--csv-lifecycle-color);
  clip-path: polygon(0 0, calc(100% - 19px) 0, 100% 50%, calc(100% - 19px) 100%, 0 100%, 19px 50%);
}

body[data-page="service-csv"] .csv-system-lifecycle__stage:first-child > header {
  color: #073b51;
  clip-path: polygon(0 0, calc(100% - 19px) 0, 100% 50%, calc(100% - 19px) 100%, 0 100%);
}

body[data-page="service-csv"] .csv-system-lifecycle__stage > header small,
body[data-page="service-csv"] .csv-system-lifecycle__stage > header strong,
body[data-page="service-csv"] .csv-system-lifecycle__stage > header span {
  display: block;
}

body[data-page="service-csv"] .csv-system-lifecycle__stage > header small {
  font-family: var(--pp-font-latin);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .12em;
}

body[data-page="service-csv"] .csv-system-lifecycle__stage > header strong {
  margin-top: 5px;
  font-size: clamp(17px, calc(1.55 * var(--pp-wide-vw, 1vw)), 22px);
  line-height: 1.2;
}

body[data-page="service-csv"] .csv-system-lifecycle__stage > header span {
  margin-top: 4px;
  font-family: var(--pp-font-latin);
  font-size: 8px;
  font-weight: 700;
  opacity: .78;
}

body[data-page="service-csv"] .csv-system-coverage {
  overflow: hidden;
  margin: 0 0 18px;
  border: 0;
  background: rgba(248, 251, 253, .96);
}

body[data-page="service-csv"] .csv-system-coverage__header {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  min-height: 112px;
  padding: 22px 26px 25px;
  border-bottom: 1px solid #bfd9e5;
  background: #fff;
  color: #073b51;
}

body[data-page="service-csv"] .csv-system-coverage__header::after {
  position: absolute;
  right: 0;
  bottom: -1px;
  left: 0;
  height: 5px;
  background: linear-gradient(90deg, #adbd3f 0 25%, #56b5bb 25% 50%, #796eaa 50% 75%, #bd4d84 75% 100%);
  content: "";
}

body[data-page="service-csv"] .csv-system-coverage__header > div {
  display: grid;
  gap: 5px;
}

body[data-page="service-csv"] .csv-system-coverage__header small,
body[data-page="service-csv"] .csv-system-coverage__header p span {
  color: #688490;
  font-family: var(--pp-font-latin);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .14em;
}

body[data-page="service-csv"] .csv-system-coverage__header h3 {
  margin: 0;
  color: #1688bd;
  font-size: clamp(19px, calc(2 * var(--pp-wide-vw, 1vw)), 28px);
  line-height: 1.35;
}

body[data-page="service-csv"] .csv-system-coverage__header p {
  display: grid;
  justify-items: center;
  gap: 3px;
  margin: 0;
}

body[data-page="service-csv"] .csv-system-coverage__header p strong {
  color: #1688bd;
  font-family: var(--pp-font-latin);
  font-size: 27px;
  line-height: 1;
}

body[data-page="service-csv"] .csv-system-coverage__standard {
  display: grid;
  grid-template-columns: minmax(120px, .8fr) minmax(130px, .7fr) minmax(260px, 2fr);
  align-items: center;
  gap: 20px;
  min-height: 72px;
  margin: 14px 14px 0;
  padding: 14px 18px;
  border: 1px solid #bfd9e5;
  border-left: 7px solid #1688bd;
  background: #fff;
  color: #073b51;
}

body[data-page="service-csv"] .csv-system-coverage__standard small {
  color: #688490;
  font-family: var(--pp-font-latin);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .12em;
}

body[data-page="service-csv"] .csv-system-coverage__standard strong {
  color: #1688bd;
  font-size: 20px;
}

body[data-page="service-csv"] .csv-system-coverage__standard span {
  font-size: 12px;
  font-weight: 700;
  line-height: 1.65;
}

body[data-page="service-csv"] .csv-system-lifecycle__guidance {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin: 10px 14px 14px;
  padding: 12px 14px;
  border: 1px solid rgba(7, 59, 81, .22);
  background: rgba(255, 255, 255, .7);
  font-size: 11px;
  line-height: 1.55;
}

body[data-page="service-csv"] .csv-system-lifecycle__guidance strong {
  margin-right: 4px;
}

body[data-page="service-csv"] .csv-system-lifecycle__guidance span {
  padding: 3px 7px;
  border: 1px solid rgba(7, 59, 81, .22);
  background: #fff;
}

body[data-page="service-csv"] .csv-service-process-tabs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 3px;
  justify-content: start;
  margin: 0 18px -1px;
  padding: 0;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

body[data-page="service-csv"] .csv-service-process-tabs button {
  --csv-service-tab-color: #adbd3f;
  position: relative;
  display: grid;
  box-sizing: border-box;
  align-content: center;
  height: 58px;
  min-height: 58px;
  padding: 9px 32px 9px 13px;
  border: 1px solid color-mix(in srgb, var(--csv-service-tab-color) 48%, #fff);
  border-bottom: 0;
  border-radius: 6px 6px 0 0;
  background: color-mix(in srgb, var(--csv-service-tab-color) 15%, #fff);
  color: #073b51;
  box-shadow: none;
  text-align: left;
  cursor: pointer;
  transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease, transform 180ms ease, box-shadow 180ms ease;
}

body[data-page="service-csv"] .csv-service-process-tabs button:nth-child(2) { --csv-service-tab-color: #56b5bb; }
body[data-page="service-csv"] .csv-service-process-tabs button:nth-child(3) { --csv-service-tab-color: #796eaa; }

body[data-page="service-csv"] .csv-service-process-tabs button + button {
  border-left-width: 1px;
}

body[data-page="service-csv"] .csv-service-process-tabs button::after {
  position: absolute;
  right: 12px;
  bottom: 50%;
  width: 14px;
  height: 2px;
  background: var(--csv-service-tab-color);
  content: "";
  transform: translateY(50%) scaleX(.55);
  transition: background-color 180ms ease, transform 180ms ease;
}

body[data-page="service-csv"] .csv-service-process-tabs button small,
body[data-page="service-csv"] .csv-service-process-tabs button strong {
  display: block;
}

body[data-page="service-csv"] .csv-service-process-tabs button small {
  margin-bottom: 5px;
  color: color-mix(in srgb, var(--csv-service-tab-color) 72%, #073b51);
  font-family: var(--pp-font-latin);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .1em;
}

body[data-page="service-csv"] .csv-service-process-tabs button strong {
  overflow: hidden;
  font-size: clamp(13px, calc(1.15 * var(--pp-wide-vw, 1vw)), 15px);
  line-height: 1.35;
  letter-spacing: -.02em;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body[data-page="service-csv"] .csv-service-process-tabs button:is(:hover, :focus-visible) {
  border-color: var(--csv-service-tab-color);
  border-bottom-color: transparent;
  background: color-mix(in srgb, var(--csv-service-tab-color) 24%, #fff);
  transform: translateY(-1px);
}

body[data-page="service-csv"] .csv-service-process-tabs button:not(.is-active):is(:hover, :focus-visible)::after {
  transform: translateY(50%) scaleX(1);
}

body[data-page="service-csv"] .csv-service-process-tabs button.is-active {
  border-color: var(--csv-service-tab-color);
  border-bottom-color: transparent;
  background: var(--csv-service-tab-color);
  color: #fff;
  box-shadow: 0 7px 15px color-mix(in srgb, var(--csv-service-tab-color) 28%, transparent);
}

body[data-page="service-csv"] .csv-service-process-tabs button.is-active::after {
  background: #fff;
  transform: translateY(50%) scaleX(1);
}

body[data-page="service-csv"] .csv-service-process-tabs button.is-active small {
  color: rgba(255, 255, 255, .82);
  opacity: 1;
}

body[data-page="service-csv"] .csv-service-process-list {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  padding: 0 18px 14px;
  align-items: stretch;
}

body[data-page="service-csv"] .csv-service-process-card {
  position: relative;
  display: block;
  min-width: 0;
  min-height: 0;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: none;
  overflow: visible;
  color: #013641;
  background: transparent;
  isolation: auto;
}

body[data-page="service-csv"] .csv-service-process-card[hidden] {
  display: none;
}

body[data-page="service-csv"] .csv-service-process-card::before,
body[data-page="service-csv"] .csv-service-process-card::after,
body[data-page="service-csv"] .csv-service-process-card__image {
  display: none;
  content: none;
}

body[data-page="service-csv"] .csv-service-process-card__body {
  display: grid;
  box-sizing: border-box;
  height: 60px;
  min-height: 60px;
  grid-column: 1;
  grid-row: 1;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: auto auto;
  gap: 2px 8px;
  align-content: center;
  align-items: center;
  padding: 8px 18px 8px 14px;
  color: #fff;
  background: #adbd3f;
  clip-path: polygon(0 0, calc(100% - 14px) 0, 100% 50%, calc(100% - 14px) 100%, 0 100%);
}

body[data-page="service-csv"] .csv-service-process-card:nth-child(2) .csv-service-process-card__body {
  background: #56b5bb;
  clip-path: polygon(14px 0, calc(100% - 14px) 0, 100% 50%, calc(100% - 14px) 100%, 14px 100%, 28px 50%);
}

body[data-page="service-csv"] .csv-service-process-card:nth-child(3) .csv-service-process-card__body {
  background: #796eaa;
  clip-path: polygon(14px 0, calc(100% - 14px) 0, 100% 50%, calc(100% - 14px) 100%, 14px 100%, 28px 50%);
}

body[data-page="service-csv"] .csv-service-process-card__step {
  grid-column: 1;
  grid-row: 1 / span 2;
  margin: 0;
  color: rgba(255, 255, 255, .9);
  font-size: 10px;
  font-weight: 800;
  line-height: 1;
}

body[data-page="service-csv"] .csv-service-process-card h3 {
  grid-column: 1;
  grid-row: 1;
  margin: 0;
  color: #fff;
  font-size: clamp(14px, calc(1.3 * var(--pp-wide-vw, 1vw)), 18px);
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: .02em;
  text-align: left;
}

body[data-page="service-csv"] .csv-service-process-card__body > small {
  grid-column: 1;
  grid-row: 2;
  margin: 0;
  color: rgba(255, 255, 255, .84);
  font-size: 9px;
  line-height: 1.1;
  letter-spacing: .05em;
  text-align: left;
}

body[data-page="service-csv"] .csv-service-process-card__toggle {
  position: absolute;
  top: 0;
  right: 12px;
  z-index: 3;
  display: grid;
  width: 26px;
  height: 60px;
  min-height: 60px;
  grid-area: auto;
  place-items: center;
  padding: 0;
  border: 0;
  color: #fff;
  background: transparent;
}

body[data-page="service-csv"] .csv-service-process-card__toggle i {
  font-size: 17px;
}

body[data-page="service-csv"] .csv-service-process-card.is-open .csv-service-process-card__toggle i {
  transform: rotate(180deg);
}

body[data-page="service-csv"] .csv-service-process-card__detail {
  position: static;
  display: block;
  grid-column: 1;
  grid-row: 2;
  min-height: 100%;
  margin: 0;
  padding: 20px;
  border: 1px solid var(--csv-service-rule);
  border-radius: 0 0 6px 6px;
  color: #fff;
  background: var(--csv-service-surface);
  opacity: 0;
  pointer-events: none;
  transform: none;
}

body[data-page="service-csv"] .csv-service-process-card.is-open .csv-service-process-card__detail {
  opacity: 1;
  pointer-events: auto;
  transform: none;
}

body[data-page="service-csv"] .csv-service-process-card__detail h4 {
  margin: 0 0 10px;
  padding-bottom: 7px;
  border-bottom: 1px solid rgba(255, 255, 255, .5);
  color: #fff;
  font-size: 13px;
  font-weight: 800;
}

body[data-page="service-csv"] .csv-service-process-card__detail p,
body[data-page="service-csv"] .csv-service-process-card__detail ul {
  color: #fff;
  font-size: 12px;
  line-height: 1.7;
}

body[data-page="service-csv"] .csv-service-process-card__detail ul {
  gap: 4px;
  margin-top: 10px;
}

body[data-page="service-csv"] .csv-service-process-card__detail li::marker {
  color: var(--csv-service-marker);
}

body[data-page="service-csv"] .csv-service-process-card .csv-system-toggle {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  gap: 8px;
  margin-top: 22px;
  padding: 0 0 7px;
  border: 0;
  border-bottom: 1px solid rgba(255, 255, 255, .55);
  color: #fff;
  background: transparent;
  font: inherit;
  font-size: 13px;
  font-weight: 800;
  cursor: pointer;
}

body[data-page="service-csv"] .csv-system-output-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid rgba(255, 255, 255, .5);
}

body[data-page="service-csv"] .csv-system-output-list section {
  min-width: 0;
}

body[data-page="service-csv"] .csv-system-output-list strong {
  display: block;
  margin-bottom: 8px;
  color: #fff;
  font-size: 13px;
}

body[data-page="service-csv"] .csv-system-output-list ul {
  margin: 0;
  padding-left: 1.2em;
}

@media (max-width: 760px) {
  body[data-page="service-csv"] .csv-system-output-list {
    grid-template-columns: minmax(0, 1fr);
  }
}

body[data-page="service-csv"] .csv-system-detail {
  width: 100%;
  margin: 16px 0 0;
  padding: 20px;
  overflow: visible;
  border: 1px solid rgba(198, 153, 37, .42);
  border-radius: 0;
  background: #fff3c7;
  box-shadow: none;
  clip-path: none;
  transform: none;
}

body[data-page="service-csv"] .csv-system-detail > header {
  margin-bottom: 14px;
}

body[data-page="service-csv"] .csv-system-detail > header small {
  color: #168374;
}

body[data-page="service-csv"] .csv-system-table > div {
  background: rgba(255, 255, 255, .34);
}

body[data-page="service-csv"] .csv-service-footnotes {
  display: grid;
  gap: 8px;
  margin-top: 16px;
  padding: 14px 18px;
  border-top: 1px solid rgba(22, 131, 116, .5);
  color: #013641;
  background: rgba(255, 255, 255, .76);
}

body[data-page="service-csv"] .csv-service-footnotes p {
  position: relative;
  margin: 0;
  padding-left: 16px;
  font-size: 12px;
  line-height: 1.75;
}

body[data-page="service-csv"] .csv-service-footnotes p::before {
  position: absolute;
  top: .67em;
  left: 0;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #168374;
  content: "";
}

/* Cosmetics: reuse the Region01 medicine lifecycle rocket geometry and bilingual rhythm. */
body.page-cosmetics .cosmetics-service-field-guide .medicine-service-field-guide__lifecycle {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 3px;
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Cosmetics: use the Daichi medicine lifecycle palette across the fused panel. */
body.page-cosmetics .cosmetics-service-field-guide .medicine-service-field-guide__group--medicine {
  border: 0;
  background: transparent;
}

body.page-cosmetics .cosmetics-service-field-guide .medicine-service-field-guide__lifecycle li {
  box-sizing: border-box;
  width: 100%;
  height: 60px;
  min-height: 60px;
  padding: 8px 18px 8px 12px;
  border: 0;
  color: #fff;
  text-align: center;
}

body.page-cosmetics .cosmetics-service-field-guide .medicine-service-field-guide__lifecycle .is-research {
  background: linear-gradient(112deg, #b7c73d, #adbd3f);
  color: #073b51;
}

body.page-cosmetics .cosmetics-service-field-guide .medicine-service-field-guide__lifecycle .is-nonclinical {
  background: linear-gradient(112deg, #adbd3f, #80ad55);
  color: #073b51;
}

body.page-cosmetics .cosmetics-service-field-guide .medicine-service-field-guide__lifecycle .is-clinical {
  background: linear-gradient(112deg, #62b285, #56b5bb);
  color: #073b51;
}

body.page-cosmetics .cosmetics-service-field-guide .medicine-service-field-guide__lifecycle .is-approval {
  background: linear-gradient(112deg, #527996, #796eaa);
}

body.page-cosmetics .cosmetics-service-field-guide .medicine-service-field-guide__lifecycle .is-market {
  background: linear-gradient(112deg, #796eaa, #9b5c99);
}

body.page-cosmetics .cosmetics-service-field-guide .medicine-service-field-guide__lifecycle .is-distribution {
  background: linear-gradient(112deg, #9b5c99, #bd4d84);
}

body.page-cosmetics .cosmetics-service-field-guide .medicine-service-field-guide__lifecycle strong {
  display: block;
  color: inherit;
  font-size: 14px;
  font-weight: 900;
  line-height: 1.15;
}

body.page-cosmetics .cosmetics-service-field-guide .medicine-service-field-guide__lifecycle small {
  display: block;
  margin-top: 4px;
  color: rgba(255, 255, 255, .86);
  font-family: var(--pp-font-latin, "Segoe UI", sans-serif);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .01em;
  line-height: 1.1;
}

body.page-cosmetics .cosmetics-service-field-guide .medicine-service-field-guide__lifecycle :is(.is-research, .is-nonclinical, .is-clinical) small {
  color: rgba(7, 59, 81, .76);
}

body.page-cosmetics .cosmetics-service-field-guide__fusion {
  margin-top: 18px;
  padding: clamp(20px, calc(2.4 * var(--pp-wide-vw, 1vw)), 30px);
  border-top: 3px solid #439cb2;
  background: transparent;
}

body.page-cosmetics .cosmetics-service-field-guide__fusion-heading {
  display: grid;
  gap: 5px;
  margin-bottom: 18px;
}

body.page-cosmetics .cosmetics-service-field-guide__fusion-heading :is(p, h5, span),
body.page-cosmetics .cosmetics-service-field-guide__fusion-note {
  margin: 0;
}

body.page-cosmetics .cosmetics-service-field-guide__fusion-heading p {
  color: #2f8eb6;
  font-family: var(--pp-font-latin);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
}

body.page-cosmetics .cosmetics-service-field-guide__fusion-heading h5 {
  color: #013641;
  font-size: clamp(19px, calc(1.7 * var(--pp-wide-vw, 1vw)), 24px);
  line-height: 1.35;
}

body.page-cosmetics .cosmetics-service-field-guide__fusion-heading > span,
body.page-cosmetics .cosmetics-service-field-guide__fusion-note {
  color: #526773;
  font-size: 13px;
  line-height: 1.8;
}

body.page-cosmetics .cosmetics-service-field-guide__field-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 3px;
}

body.page-cosmetics .cosmetics-service-field-guide__field-grid > :is(a, div) {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-rows: auto auto auto;
  min-height: 112px;
  padding: 16px 44px 16px 18px;
  background: #eaf5f8;
  color: #013641;
  text-decoration: none;
}

body.page-cosmetics .cosmetics-service-field-guide__field-grid > div {
  background: #d7eef3;
  box-shadow: inset 0 -3px #439cb2;
}

body.page-cosmetics .cosmetics-service-field-guide__field-grid :is(span, strong, small) {
  grid-column: 1;
}

body.page-cosmetics .cosmetics-service-field-guide__field-grid span {
  color: #2f8eb6;
  font-family: var(--pp-font-latin);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .09em;
}

body.page-cosmetics .cosmetics-service-field-guide__field-grid strong {
  align-self: center;
  font-size: 16px;
  line-height: 1.35;
}

body.page-cosmetics .cosmetics-service-field-guide__field-grid small {
  color: #526773;
  font-size: 11px;
  line-height: 1.5;
}

body.page-cosmetics .cosmetics-service-field-guide__field-grid i {
  grid-column: 2;
  grid-row: 1 / -1;
  align-self: center;
  font-size: 18px;
}

body.page-cosmetics .cosmetics-service-field-guide__field-grid > a {
  transition: background-color 180ms ease, color 180ms ease;
}

body.page-cosmetics .cosmetics-service-field-guide__field-grid > a:is(:hover, :focus-visible) {
  background: #004a99;
  color: #fff;
}

body.page-cosmetics .cosmetics-service-field-guide__field-grid > a:is(:hover, :focus-visible) :is(span, small) {
  color: rgba(255, 255, 255, .84);
}

body.page-cosmetics .cosmetics-service-field-guide__field-grid > a:focus-visible {
  outline: 2px solid #004a99;
  outline-offset: 3px;
}

body.page-cosmetics .cosmetics-service-field-guide__cross-function {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
  margin-top: 12px;
}

body.page-cosmetics .cosmetics-service-field-guide__cross-function strong {
  margin-right: 6px;
  color: #013641;
  font-size: 13px;
}

body.page-cosmetics .cosmetics-service-field-guide__cross-function span {
  padding: 6px 10px;
  background: #f0f7f9;
  color: #355565;
  font-size: 11px;
  font-weight: 700;
}

body.page-cosmetics .cosmetics-service-field-guide__fusion-note {
  margin-top: 14px;
}

body.page-cosmetics .shared-gap-analysis {
  width: min(calc(100% - clamp(32px, calc(5 * var(--pp-wide-vw, 1vw)), 72px)), 1120px);
  margin: clamp(54px, calc(7 * var(--pp-wide-vw, 1vw)), 88px) auto;
}

body.page-cosmetics .shared-gap-analysis .csv-gxp-gap-card {
  box-shadow: 0 18px 42px rgba(1, 35, 48, .16);
}

/* Continue the Daichi medicine lifecycle colors into the three detail columns. */
body.page-cosmetics #cosmetics-development {
  --field-accent: #80ad55;
  --field-surface: #eef5dc;
  --field-tint: #dfeabb;
  --field-chip-1: #d6e5aa;
  --field-chip-2: #c8dfb2;
  --field-chip-3: #b8d9bd;
}

body.page-cosmetics #cosmetics-manufacturing {
  --field-accent: #796eaa;
  --field-surface: #f0edf7;
  --field-tint: #dcd6eb;
  --field-chip-1: #d2cbe4;
  --field-chip-2: #c7bfdd;
  --field-chip-3: #bbb1d4;
}

body.page-cosmetics #cosmetics-distribution {
  --field-accent: #bd4d84;
  --field-surface: #f8edf3;
  --field-tint: #efd3e1;
  --field-chip-1: #e9c5d7;
  --field-chip-2: #e2b6cd;
  --field-chip-3: #dba7c2;
}

@media (min-width: 781px) {
  body.page-cosmetics :is(.shared-tail-performance, .shared-tail-services) > .top-results-divider {
    position: relative;
    inset: auto;
    grid-column: 2;
    grid-row: 1;
    width: 100%;
    height: 100%;
    border-right: 1px solid rgba(255, 255, 255, .92);
    border-left: 1px solid rgba(255, 255, 255, .92);
    transform: none;
  }

  body.page-cosmetics .shared-tail-performance {
    grid-template-columns: minmax(0, 54%) clamp(58px, calc(6 * var(--pp-wide-vw, 1vw)), 84px) minmax(0, 1fr);
  }

  body.page-cosmetics .shared-tail-performance > .top-results-visual {
    grid-column: 1;
    grid-row: 1;
  }

  body.page-cosmetics .shared-tail-performance > .top-results-intro {
    grid-column: 3;
    grid-row: 1;
  }

  body.page-cosmetics .shared-tail-services {
    grid-template-columns: minmax(0, 46%) clamp(58px, calc(6 * var(--pp-wide-vw, 1vw)), 84px) minmax(0, 1fr);
  }

  body.page-cosmetics .shared-tail-services > .top-results-intro {
    grid-column: 1;
    grid-row: 1;
  }

  body.page-cosmetics .shared-tail-services > .top-results-visual {
    grid-column: 3;
    grid-row: 1;
  }
}

@media (max-width: 720px) {
  body.page-cosmetics .cosmetics-service-field-guide .medicine-service-field-guide__lifecycle {
    min-width: 760px;
  }

  body.page-cosmetics .cosmetics-service-field-guide__field-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  body.page-cosmetics .shared-gap-analysis {
    width: calc(100% - 36px);
    margin-block: 48px;
  }
}

/* Region01: integrated cosmetics consulting content. */
body[data-page="region01"] .cosmetics-integration {
  display: grid;
  gap: clamp(28px, calc(4 * var(--pp-wide-vw, 1vw)), 48px);
  margin-top: clamp(48px, calc(7 * var(--pp-wide-vw, 1vw)), 88px);
  padding-top: clamp(42px, calc(6 * var(--pp-wide-vw, 1vw)), 72px);
  border-top: 1px solid rgba(255, 255, 255, .42);
  scroll-margin-top: 92px;
}

body[data-page="region01"] .cosmetics-integration__heading {
  margin-bottom: 0;
}

body[data-page="region01"] .cosmetics-integration .cosmetics-renewal {
  display: grid;
  gap: clamp(34px, calc(5 * var(--pp-wide-vw, 1vw)), 64px);
}

body[data-page="region01"] .cosmetics-integration :is(.cosmetics-flow, .cosmetics-service-area) {
  scroll-margin-top: 92px;
}

body[data-page="region01"] .cosmetics-integration .cosmetics-flow {
  padding: clamp(30px, calc(4.5 * var(--pp-wide-vw, 1vw)), 54px);
}

body[data-page="region01"] .cosmetics-integration .cosmetics-flow__steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0;
  padding: 0;
  list-style: none;
}

body[data-page="region01"] .cosmetics-integration .cosmetics-flow__steps li {
  --cosmetics-flow-accent: #765095;
  --cosmetics-flow-surface: rgba(237, 229, 245, .94);
  position: relative;
  min-height: 190px;
  padding: 28px clamp(20px, calc(2.8 * var(--pp-wide-vw, 1vw)), 38px);
  border-top: 1px solid var(--cosmetics-flow-accent);
  border-bottom: 1px solid var(--cosmetics-flow-accent);
  background: var(--cosmetics-flow-surface);
}

body[data-page="region01"] .cosmetics-integration .cosmetics-flow__steps li:nth-child(2) {
  --cosmetics-flow-accent: #684383;
  --cosmetics-flow-surface: rgba(228, 216, 239, .96);
}

body[data-page="region01"] .cosmetics-integration .cosmetics-flow__steps li:nth-child(3) {
  --cosmetics-flow-accent: #5f3d78;
  --cosmetics-flow-surface: rgba(218, 201, 233, .96);
}

body[data-page="region01"] .cosmetics-integration .cosmetics-flow__steps li + li {
  border-left: 1px dashed rgba(79, 48, 101, .38);
}

body[data-page="region01"] .cosmetics-integration .cosmetics-flow__steps li:not(:last-child)::after {
  position: absolute;
  z-index: 1;
  top: 50%;
  right: -8px;
  width: 15px;
  height: 15px;
  border-top: 1px solid var(--cosmetics-flow-accent);
  border-right: 1px solid var(--cosmetics-flow-accent);
  background: var(--cosmetics-flow-surface);
  content: "";
  transform: translateY(-50%) rotate(45deg);
}

body[data-page="region01"] .cosmetics-integration .cosmetics-flow__steps span {
  display: block;
  margin-bottom: 14px;
  color: var(--cosmetics-flow-accent);
  font-family: var(--pp-font-latin);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .18em;
}

body[data-page="region01"] .cosmetics-integration .cosmetics-flow__steps strong {
  display: block;
  color: #392448;
  font-size: clamp(18px, calc(1.6 * var(--pp-wide-vw, 1vw)), 23px);
  line-height: 1.5;
}

body[data-page="region01"] .cosmetics-integration .cosmetics-flow__steps p {
  margin: 14px 0 0;
  color: #55445f;
  font-size: 14px;
  line-height: 1.9;
}

body[data-page="region01"] .cosmetics-integration .cosmetics-inline-link {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  width: fit-content;
  margin: 24px 0 0 auto;
  padding-bottom: 5px;
  border-bottom: 1px solid #684383;
  color: #4f3065;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
}

body[data-page="region01"] :is(.cosmetics-integration .cosmetics-service-field-guide, .medicine-service-field-guide__group--cosmetics) .medicine-service-field-guide__lifecycle {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 3px;
  margin: 0;
  padding: 0;
  list-style: none;
}

body[data-page="region01"] :is(.cosmetics-integration .cosmetics-service-field-guide, .medicine-service-field-guide__group--cosmetics) .medicine-service-field-guide__lifecycle li {
  box-sizing: border-box;
  width: 100%;
  height: 60px;
  min-height: 60px;
  padding: 8px 18px 8px 12px;
  border: 0;
  color: #fff;
  text-align: center;
}

body[data-page="region01"] :is(.cosmetics-integration .cosmetics-service-field-guide, .medicine-service-field-guide__group--cosmetics) .medicine-service-field-guide__lifecycle .is-research { background: #5f3d78; }
body[data-page="region01"] :is(.cosmetics-integration .cosmetics-service-field-guide, .medicine-service-field-guide__group--cosmetics) .medicine-service-field-guide__lifecycle .is-nonclinical { background: #684383; }
body[data-page="region01"] :is(.cosmetics-integration .cosmetics-service-field-guide, .medicine-service-field-guide__group--cosmetics) .medicine-service-field-guide__lifecycle .is-clinical { background: #714a8e; }
body[data-page="region01"] :is(.cosmetics-integration .cosmetics-service-field-guide, .medicine-service-field-guide__group--cosmetics) .medicine-service-field-guide__lifecycle .is-approval { background: #7a5199; }
body[data-page="region01"] :is(.cosmetics-integration .cosmetics-service-field-guide, .medicine-service-field-guide__group--cosmetics) .medicine-service-field-guide__lifecycle .is-market { background: #8358a4; }
body[data-page="region01"] :is(.cosmetics-integration .cosmetics-service-field-guide, .medicine-service-field-guide__group--cosmetics) .medicine-service-field-guide__lifecycle .is-distribution { background: #8c60ae; }

body[data-page="region01"] :is(.cosmetics-integration .cosmetics-service-field-guide, .medicine-service-field-guide__group--cosmetics) .medicine-service-field-guide__lifecycle strong {
  display: block;
  color: inherit;
  font-size: 14px;
  font-weight: 900;
  line-height: 1.15;
}

body[data-page="region01"] :is(.cosmetics-integration .cosmetics-service-field-guide, .medicine-service-field-guide__group--cosmetics) .medicine-service-field-guide__lifecycle small {
  display: block;
  margin-top: 4px;
  color: rgba(255, 255, 255, .88);
  font-family: var(--pp-font-latin, "Segoe UI", sans-serif);
  font-size: 9px;
  font-weight: 700;
  line-height: 1.1;
}

@media (min-width: 1025px) {
  body[data-page="region01"] #cosmetics-service-area .medicine-service-field-guide__group-stages {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 3px;
    align-items: stretch;
  }

  body[data-page="region01"] #cosmetics-service-area .medicine-service-field-guide__group-stages > .medicine-service-field-guide__stage {
    align-self: stretch;
    height: 100%;
    margin-top: 0;
  }
}

@media (max-width: 980px) {
  body[data-page="region01"] .cosmetics-integration .cosmetics-flow__steps {
    grid-template-columns: 1fr;
  }

  body[data-page="region01"] .cosmetics-integration .cosmetics-flow__steps li + li {
    border-top: 0;
    border-left: 0;
  }

  body[data-page="region01"] .cosmetics-integration .cosmetics-flow__steps li:not(:last-child)::after {
    top: auto;
    right: 50%;
    bottom: -8px;
    transform: translateX(50%) rotate(135deg);
  }
}

@media (max-width: 720px) {
  body[data-page="region01"] .cosmetics-integration {
    gap: 28px;
    margin-top: 42px;
    padding-top: 36px;
  }

  body[data-page="region01"] .cosmetics-integration .cosmetics-flow {
    padding: 28px 16px;
  }

  body[data-page="region01"] .cosmetics-integration .cosmetics-flow__steps li {
    min-height: 0;
    padding: 26px 20px;
  }

  body[data-page="region01"] .cosmetics-integration .cosmetics-service-field-guide .medicine-service-field-guide__lifecycle {
    min-width: 760px;
  }
}

/* Region03: the selected child content opens below, so show a real downward icon. */
body[data-page="region03"] .engineering-service-field-guide .engineering-phase-tab {
  grid-template-columns: minmax(0, 1fr) auto;
  padding-right: 10px;
}

body[data-page="region03"] .engineering-service-field-guide .engineering-phase-tab > i {
  display: block;
  grid-column: 2;
  grid-row: 1;
  align-self: center;
  margin-left: 6px;
  color: currentColor;
  font-size: 15px;
  line-height: 1;
}

body[data-page="region03"] .engineering-service-field-guide .engineering-phase-tab.is-active > i {
  transform: rotate(180deg);
}

@media (max-width: 720px) {
  body[data-page="service-csv"] #scope .csv-medicine-service-panel {
    padding-inline: 0;
  }

  body[data-page="service-csv"] #scope .csv-medicine-service-panel__group {
    padding: 10px;
  }

  body[data-page="service-csv"] #scope .csv-medicine-service-panel__heading {
    align-items: flex-start;
    flex-direction: column;
    gap: 8px;
  }

  body[data-page="service-csv"] .csv-system-lifecycle {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  body[data-page="service-csv"] .csv-system-lifecycle__stage > header,
  body[data-page="service-csv"] .csv-system-lifecycle__stage:first-child > header {
    clip-path: polygon(0 0, calc(100% - 14px) 0, 100% 50%, calc(100% - 14px) 100%, 0 100%);
  }

  body[data-page="service-csv"] .csv-service-process-list {
    grid-template-columns: minmax(0, 1fr);
    gap: 14px;
  }

  body[data-page="service-csv"] .csv-service-process-card__body,
  body[data-page="service-csv"] .csv-service-process-card:nth-child(2) .csv-service-process-card__body,
  body[data-page="service-csv"] .csv-service-process-card:nth-child(3) .csv-service-process-card__body {
    clip-path: polygon(0 0, calc(100% - 14px) 0, 100% 50%, calc(100% - 14px) 100%, 0 100%);
  }

  body[data-page="service-csv"] .csv-service-process-card__detail {
    min-height: 0;
    margin-inline: 0;
  }

  body[data-page="service-csv"] .csv-system-detail {
    padding: 16px;
  }
}

@media (max-width: 460px) {
  body[data-page="service-csv"] .csv-system-lifecycle {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Region03: reuse the Region01 medicine rocket proportions in engineering green. */
body[data-page="region03"] .engineering-service-field-guide .engineering-phase-tabs {
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 3px;
}

body[data-page="region03"] .engineering-service-field-guide .engineering-phase-tab {
  --engineering-rocket: #238f7f;
  position: relative;
  display: grid;
  box-sizing: border-box;
  height: 60px;
  min-height: 60px;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: 1fr;
  align-content: center;
  align-items: center;
  justify-content: stretch;
  padding: 8px 24px 8px 12px;
  border: 0;
  color: #fff;
  background: var(--engineering-rocket);
  clip-path: polygon(14px 0, calc(100% - 14px) 0, 100% 50%, calc(100% - 14px) 100%, 14px 100%, 28px 50%);
}

body[data-page="region03"] .engineering-service-field-guide .engineering-phase-tab:first-child {
  clip-path: polygon(0 0, calc(100% - 14px) 0, 100% 50%, calc(100% - 14px) 100%, 0 100%);
}

body[data-page="region03"] .engineering-service-field-guide .engineering-phase-tab[data-engineering-phase="concept"] { --engineering-rocket: #147c70; }
body[data-page="region03"] .engineering-service-field-guide .engineering-phase-tab[data-engineering-phase="planning"] { --engineering-rocket: #238f7f; }
body[data-page="region03"] .engineering-service-field-guide .engineering-phase-tab[data-engineering-phase="vendor"] { --engineering-rocket: #339a8a; }
body[data-page="region03"] .engineering-service-field-guide .engineering-phase-tab[data-engineering-phase="basic"] { --engineering-rocket: #429f92; }
body[data-page="region03"] .engineering-service-field-guide .engineering-phase-tab[data-engineering-phase="detail"] { --engineering-rocket: #56a79c; }
body[data-page="region03"] .engineering-service-field-guide .engineering-phase-tab[data-engineering-phase="construction"] { --engineering-rocket: #6aaba2; }
body[data-page="region03"] .engineering-service-field-guide .engineering-phase-tab[data-engineering-phase="commissioning"] { --engineering-rocket: #7eaaa5; }

body[data-page="region03"] .engineering-service-field-guide .engineering-phase-tab__label {
  display: grid;
  width: 100%;
  height: auto;
  min-height: 0;
  grid-column: 1;
  grid-row: 1;
  grid-template-columns: auto minmax(0, 1fr);
  grid-template-rows: 1fr;
  align-content: center;
  align-items: center;
  gap: 6px;
  padding: 0;
  border: 0;
  color: #fff;
  background: transparent;
}

body[data-page="region03"] #engineering-programs .engineering-phase-tab > i {
  position: absolute;
  right: 8px;
  bottom: 7px;
  width: 15px;
  height: 15px;
  margin: 0;
  color: #fff;
}

body[data-page="region03"] .engineering-service-field-guide .engineering-phase-tab__label > span {
  grid-column: 1;
  grid-row: 1;
  color: rgba(255, 255, 255, .88);
  font-size: 9px;
  line-height: 1.1;
}

body[data-page="region03"] .engineering-service-field-guide .engineering-phase-tab__label > strong {
  grid-column: 2;
  grid-row: 1;
  width: auto;
  max-width: 100%;
  padding: 0;
  color: #fff;
  font-size: 11px;
  line-height: 1.1;
  text-align: left;
}

body[data-page="region03"] .engineering-service-field-guide .engineering-phase-tab__label > strong::after {
  display: none;
  content: none;
}

body[data-page="region03"] .engineering-service-field-guide .engineering-phase-tab::after {
  display: none;
  content: none;
}

body[data-page="region03"] .engineering-service-field-guide .engineering-phase-tab:is(:hover, :focus-visible) {
  color: #fff;
  background: color-mix(in srgb, var(--engineering-rocket) 84%, #064f49);
}

body[data-page="region03"] .engineering-service-field-guide .engineering-phase-tab.is-active {
  color: #fff;
  background: #075f57;
  box-shadow: inset 0 0 0 2px rgba(255, 255, 255, .92) !important;
}

body[data-page="region03"] .engineering-service-field-guide .engineering-phase-tab:focus-visible {
  outline-color: #075f57;
}

@media (max-width: 720px) {
  body[data-page="region03"] .engineering-service-field-guide .engineering-phase-tabs {
    grid-template-columns: repeat(7, 108px);
    contain: inline-size;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 3px 3px 10px;
  }
}

@media (max-width: 720px) {
  body[data-page="region02"] .medical-device-service-field-guide__coverage-map {
    overflow-x: auto;
    overscroll-behavior-inline: contain;
  }

  body[data-page="region02"] .medical-device-service-field-guide__coverage-phases {
    min-width: 760px;
  }
}

/* Medical-device service area: the same independent two-row rocket map used by Region 01. */
body[data-page="region02"] .medical-device-service-field-guide__rocket-map {
  display: grid;
  gap: 6px;
  margin: 14px 0 10px;
}

body[data-page="region02"] :is(
  .medical-device-service-field-guide__rocket-phases,
  .medical-device-service-field-guide__rocket-themes
) {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 3px;
  margin: 0;
  padding: 0;
  list-style: none;
}

body[data-page="region02"] :is(
  .medical-device-service-field-guide__rocket-phases > li,
  .medical-device-service-field-guide__rocket-themes > span
) {
  --medical-device-rocket-color: #439cb2;
  position: relative;
  display: grid;
  box-sizing: border-box;
  min-width: 0;
  align-content: center;
  color: #fff;
  background: var(--medical-device-rocket-color);
  clip-path: polygon(14px 0, calc(100% - 14px) 0, 100% 50%, calc(100% - 14px) 100%, 14px 100%, 0 50%);
}

body[data-page="region02"] :is(
  .medical-device-service-field-guide__rocket-phases > li:first-child,
  .medical-device-service-field-guide__rocket-themes > span:first-child
) {
  clip-path: polygon(0 0, calc(100% - 14px) 0, 100% 50%, calc(100% - 14px) 100%, 0 100%);
}

body[data-page="region02"] :is(
  .medical-device-service-field-guide__rocket-phases,
  .medical-device-service-field-guide__rocket-themes
) .is-approval {
  --medical-device-rocket-color: #53b5c5;
}

body[data-page="region02"] :is(
  .medical-device-service-field-guide__rocket-phases,
  .medical-device-service-field-guide__rocket-themes
) .is-manufacturing {
  --medical-device-rocket-color: #76b5c6;
}

body[data-page="region02"] :is(
  .medical-device-service-field-guide__rocket-phases,
  .medical-device-service-field-guide__rocket-themes
) .is-post-market {
  --medical-device-rocket-color: #829ca3;
}

body[data-page="region02"] .medical-device-service-field-guide__rocket-phases > li {
  min-height: 70px;
  grid-template-columns: auto minmax(0, 1fr);
  grid-template-rows: auto auto;
  column-gap: 8px;
  padding: 11px 24px 11px 18px;
}

body[data-page="region02"] .medical-device-service-field-guide__rocket-phases span {
  grid-row: 1 / 3;
  align-self: center;
  font: 800 11px/1 var(--pp-font-latin, "Segoe UI", sans-serif);
}

body[data-page="region02"] .medical-device-service-field-guide__rocket-phases strong {
  align-self: end;
  font-size: clamp(14px, calc(1.15 * var(--pp-wide-vw, 1vw)), 17px);
  line-height: 1.25;
}

body[data-page="region02"] .medical-device-service-field-guide__rocket-phases small {
  align-self: start;
  font: 700 8px/1.25 var(--pp-font-latin, "Segoe UI", sans-serif);
  white-space: nowrap;
}

body[data-page="region02"] .medical-device-service-field-guide__rocket-themes > span {
  min-height: 42px;
  padding: 9px 24px 9px 18px;
  font-size: 10px;
  font-weight: 800;
  line-height: 1.35;
}

body[data-page="region02"] .medical-device-service-field-guide__stages {
  margin-top: 0;
}

@media (max-width: 620px) {
  body[data-page="region02"] .medical-device-service-field-guide__rocket-map {
    overflow-x: auto;
    overscroll-behavior-inline: contain;
  }

  body[data-page="region02"] :is(
    .medical-device-service-field-guide__rocket-phases,
    .medical-device-service-field-guide__rocket-themes
  ) {
    min-width: 720px;
  }
}

/* TOP service cards: mirror the service-page detail-link interaction. */
body[data-page="home"] #top-service-finder .top-about-study__service-slide::after {
  position: absolute;
  z-index: 2;
  inset: 6px;
  border: 0;
  background:
    linear-gradient(#fff, #fff) left top / 0 2px no-repeat,
    linear-gradient(#fff, #fff) right top / 2px 0 no-repeat,
    linear-gradient(#fff, #fff) right bottom / 0 2px no-repeat,
    linear-gradient(#fff, #fff) left bottom / 2px 0 no-repeat;
  content: "";
  opacity: 0;
  pointer-events: none;
  transition: opacity 120ms ease;
}

@keyframes top-service-outline-draw {
  0% {
    background-size: 0 2px, 2px 0, 0 2px, 2px 0;
  }
  25% {
    background-size: 100% 2px, 2px 0, 0 2px, 2px 0;
  }
  50% {
    background-size: 100% 2px, 2px 100%, 0 2px, 2px 0;
  }
  75% {
    background-size: 100% 2px, 2px 100%, 100% 2px, 2px 0;
  }
  100% {
    background-size: 100% 2px, 2px 100%, 100% 2px, 2px 100%;
  }
}

body[data-page="home"] #top-service-finder .top-about-study__service-copy strong {
  transition: transform 220ms ease;
}

body[data-page="home"] #top-service-finder .top-about-study__service-detail {
  position: absolute;
  z-index: 3;
  bottom: clamp(18px, calc(2.4 * var(--pp-wide-vw, 1vw)), 28px);
  left: 50%;
  display: inline-flex;
  min-width: 110px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 6px 0;
  border-bottom: 1px solid rgba(255, 255, 255, .76);
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.2;
  opacity: 0;
  transform: translate(-50%, 8px);
  transition: opacity 220ms ease, transform 220ms ease;
  white-space: nowrap;
}

body[data-page="home"] #top-service-finder .top-about-study__service-detail::after {
  content: "→";
  display: inline-block;
  font-family: var(--pp-font-latin);
  font-size: 14px;
  font-weight: 400;
  line-height: 1;
}

body[data-page="home"] #top-service-finder .top-about-study__service-slide:is(:hover, :focus-visible)::after,
body[data-page="home"] #top-service-finder .top-about-study__service-slide:is(:hover, :focus-visible) .top-about-study__service-detail {
  opacity: 1;
}

body[data-page="home"] #top-service-finder .top-about-study__service-slide:is(:hover, :focus-visible)::after {
  animation: top-service-outline-draw 620ms cubic-bezier(.2, .8, .2, 1) forwards;
}

body[data-page="home"] #top-service-finder .top-about-study__service-slide:is(:hover, :focus-visible) .top-about-study__service-copy strong {
  transform: translateY(-22px);
}

body[data-page="home"] #top-service-finder .top-about-study__service-slide:is(:hover, :focus-visible) .top-about-study__service-detail {
  transform: translate(-50%, 0);
}

@media (max-width: 980px) {
  body[data-page="home"] #top-service-finder .top-about-study__service-slide::after,
  body[data-page="home"] #top-service-finder .top-about-study__service-detail {
    opacity: 1;
  }

  body[data-page="home"] #top-service-finder .top-about-study__service-slide::after {
    background-size: 100% 2px, 2px 100%, 100% 2px, 2px 100%;
  }

  body[data-page="home"] #top-service-finder .top-about-study__service-copy strong {
    transform: translateY(-11px);
  }

  body[data-page="home"] #top-service-finder .top-about-study__service-detail {
    bottom: 8px;
    min-width: 100px;
    padding: 4px 0;
    font-size: 11px;
    transform: translate(-50%, 0);
  }
}

@media (prefers-reduced-motion: reduce) {
  body[data-page="home"] #top-service-finder .top-about-study__service-slide::after,
  body[data-page="home"] #top-service-finder .top-about-study__service-copy strong,
  body[data-page="home"] #top-service-finder .top-about-study__service-detail {
    transition: none;
  }

  body[data-page="home"] #top-service-finder .top-about-study__service-slide::after {
    animation: none;
    background-size: 100% 2px, 2px 100%, 100% 2px, 2px 100%;
  }
}

/* Company: keep feature headings clear of the interactive divider at every desktop width. */
@media (min-width: 781px) {
  body[data-page="company"] :is(
    #philosophy .company-philosophy-intro,
    #message .company-message-feature-intro
  ) {
    padding-inline: clamp(24px, calc(3 * var(--pp-wide-vw, 1vw)), 64px);
  }

  body[data-page="company"] :is(
    #philosophy .company-philosophy-intro h2,
    #message .company-message-feature-intro h2
  ) {
    font-size: clamp(38px, calc(3.4 * var(--pp-wide-vw, 1vw)), 56px);
    letter-spacing: .04em;
  }
}

/* Company message: keep the portrait behind the pale-blue copy panel. */
body[data-page="company"] #message.company-message-feature {
  min-height: clamp(580px, calc(46 * var(--pp-wide-vw, 1vw)), 660px);
  grid-template-columns: minmax(220px, 26%) clamp(50px, calc(5 * var(--pp-wide-vw, 1vw)), 68px) minmax(200px, 20.5%) minmax(0, 1fr);
}

body[data-page="company"] #message::before {
  background-color: #eaf6fb;
  background-position: right center;
  background-size: auto 100%;
}

body[data-page="company"] #message .company-message-feature-intro {
  position: relative;
  z-index: 2;
  inset: auto;
  display: flex;
  grid-column: 1;
  grid-row: 1;
  width: auto;
  min-height: 0;
  padding: clamp(48px, calc(5 * var(--pp-wide-vw, 1vw)), 72px) clamp(32px, calc(4 * var(--pp-wide-vw, 1vw)), 54px);
  justify-content: center;
  color: var(--pp-ink);
  background: rgba(84, 178, 220, .72);
  pointer-events: auto;
}

body[data-page="company"] #message .company-message-feature-intro h2,
body[data-page="company"] #message .company-message-feature-intro .company-philosophy-en {
  color: var(--pp-ink);
  -webkit-text-fill-color: var(--pp-ink);
  text-shadow: none !important;
}

body[data-page="company"] #message .company-message-feature-intro h2 {
  font-size: clamp(34px, calc(3.2 * var(--pp-wide-vw, 1vw)), 50px);
}

body[data-page="company"] #message .company-message-feature-intro .company-philosophy-en {
  margin-top: 12px;
}

body[data-page="company"] #message .company-message-feature-content {
  right: 0;
  padding: clamp(36px, calc(3.8 * var(--pp-wide-vw, 1vw)), 50px) 20px;
  color: var(--pp-ink);
  background: rgba(84, 178, 220, .72);
  backdrop-filter: blur(1px);
}

body[data-page="company"] #message .company-message-feature-content h3 {
  display: none;
}

body[data-page="company"] #message .company-message-feature-content-en {
  display: none;
}

body[data-page="company"] #message .company-message-feature-visual {
  grid-column: 3;
  grid-row: 1;
}

body[data-page="company"] #message .company-message-feature-toggle {
  grid-column: 2;
  grid-row: 1;
}

body[data-page="company"] #message .company-message-feature-content,
body[data-page="company"] #message .company-message-feature-content * {
  color: var(--pp-ink) !important;
  -webkit-text-fill-color: var(--pp-ink) !important;
  text-shadow: none !important;
}

body[data-page="company"] #message::before {
  transition:
    filter 260ms cubic-bezier(.2, .8, .2, 1),
    transform 620ms cubic-bezier(.22, 1, .36, 1);
  transform-origin: 72% 46%;
  will-change: transform;
}

@media (prefers-reduced-motion: reduce) {
  body[data-page="company"] #message::before {
    transition: none;
  }
}

/* TOP FIELD carousel final: do not alter card content; only center zoom and square category cue. */
body[data-page="home"] #top-field-finder.has-field-gallery .top-field-gallery-track > .top-about-study__feature {
  opacity: 1 !important;
  transform: scale(.86) !important;
}

body[data-page="home"] #top-field-finder.has-field-gallery .top-field-gallery-track.is-gallery-snapping > .top-about-study__feature {
  transition: none !important;
}

body[data-page="home"] #top-field-finder.has-field-gallery .top-field-gallery-track > .top-about-study__feature.is-gallery-current {
  z-index: 5;
  opacity: 1 !important;
  transform: scale(1.12) !important;
}

/* Match the service carousel controls to the NEWS slider exactly. */
body[data-page="home"] #top-field-finder .top-field-gallery-spin {
  left: calc(-1 * (clamp(24px, calc(5 * var(--pp-wide-vw, 1vw)), 72px) - 12px));
  right: calc(-1 * (clamp(24px, calc(5 * var(--pp-wide-vw, 1vw)), 72px) - 24px));
}

body[data-page="home"] #top-field-finder .top-field-gallery-spin > button {
  width: 52px;
  height: 52px;
  border: 1px solid rgba(255, 255, 255, .76);
  background: rgba(92, 160, 190, .82);
  font-size: 0;
  transform: none;
}

body[data-page="home"] #top-field-finder .top-field-gallery-spin > button:is(:hover, :focus-visible) {
  background: rgba(84, 178, 220, .94);
  transform: none;
}

body[data-page="home"] #top-field-finder .top-field-gallery-spin > button > i {
  display: block;
  width: 14px;
  height: 14px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}

body[data-page="home"] #top-field-finder .top-field-gallery-spin__prev > i {
  transform: rotate(-135deg);
}

body[data-page="home"] #top-field-finder .top-field-gallery-spin__next > i {
  transform: rotate(45deg);
}

/* Final cascade: preserve every card interior and only zoom the centered slide. */
body[data-page="home"] #top-field-finder.has-field-gallery {
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: auto auto;
  overflow: visible;
}

body[data-page="home"] #top-field-finder.has-field-gallery > .top-about-study__group-heading,
body[data-page="home"] #top-field-finder.has-field-gallery > .top-field-gallery-track {
  grid-column: 1;
}

body[data-page="home"] #top-field-finder.has-field-gallery > .top-field-gallery-track {
  position: relative;
  display: grid;
  --top-field-gallery-gap: 15px;
  grid-template-columns: none;
  grid-auto-flow: column;
  grid-auto-columns: calc((100% - var(--top-field-gallery-gap) - var(--top-field-gallery-gap)) / 3);
  gap: var(--top-field-gallery-gap);
  padding: clamp(26px, calc(3 * var(--pp-wide-vw, 1vw)), 40px) clamp(20px, calc(3 * var(--pp-wide-vw, 1vw)), 44px);
  align-items: center;
  overflow: hidden;
}

@media (min-width: 781px) {
  body[data-page="home"] #top-field-finder.has-field-gallery > .top-field-gallery-track {
    -webkit-mask-image: linear-gradient(to right, transparent 0, #000 clamp(68px, calc(7 * var(--pp-wide-vw, 1vw)), 104px), #000 100%);
    mask-image: linear-gradient(to right, transparent 0, #000 clamp(68px, calc(7 * var(--pp-wide-vw, 1vw)), 104px), #000 100%);
  }
}

body[data-page="home"] #top-field-finder.has-field-gallery .top-field-gallery-track > .top-about-study__feature {
  width: 100%;
  opacity: .76;
  transform: scale(.88);
  transform-origin: center;
  transition: opacity 260ms ease, transform 360ms cubic-bezier(.22, 1, .36, 1);
}

body[data-page="home"] #top-field-finder.has-field-gallery .top-field-gallery-track > .top-about-study__feature.is-gallery-current {
  z-index: 4;
  opacity: 1;
  transform: scale(1.1);
}

body[data-page="home"] #top-field-finder.has-field-gallery .top-field-gallery-track > .is-gallery-clone {
  pointer-events: auto;
}

@media (max-width: 780px) {
  body[data-page="home"] #top-field-finder.has-field-gallery > .top-field-gallery-track {
    grid-template-columns: repeat(3, minmax(calc(72 * var(--pp-wide-vw, 1vw)), 1fr));
    padding-inline: calc(10 * var(--pp-wide-vw, 1vw));
    overflow-x: hidden;
  }
}

.top-field-gallery-spin {
  position: absolute;
  z-index: 8;
  top: calc(50% + 34px);
  right: 0;
  left: 0;
  display: flex;
  justify-content: space-between;
  pointer-events: none;
  transform: translateY(-50%);
}

.top-field-gallery-spin > button {
  display: grid;
  width: 42px;
  height: 42px;
  padding: 0;
  place-items: center;
  color: #fff;
  border: 0;
  background: #76bbd8;
  font-size: 21px;
  cursor: pointer;
  pointer-events: auto;
  transition: background-color 180ms ease, transform 180ms ease;
}

.top-field-gallery-spin > button:is(:hover, :focus-visible) {
  background: #2f8eb6;
}

.top-field-gallery-spin__prev:is(:hover, :focus-visible) {
  transform: translateX(-3px);
}

.top-field-gallery-spin__next:is(:hover, :focus-visible) {
  transform: translateX(3px);
}

@media (max-width: 780px) {
  .top-field-gallery-spin {
    top: calc(50% + 28px);
  }
}

@media (prefers-reduced-motion: reduce) {
  body[data-page="home"] #top-field-finder.has-field-gallery .top-field-gallery-track > .top-about-study__feature {
    transition: none;
  }
}

@media (max-width: 780px) {
  body[data-page="company"] #message.company-message-feature {
    min-height: 0;
    grid-template-columns: 1fr;
    grid-template-rows: 150px 40px 260px auto;
  }

  body[data-page="company"] #message::before {
    inset: 190px 0 auto;
    height: 260px;
    background-position: center 22%;
    background-size: cover;
  }

  body[data-page="company"] #message .company-message-feature-intro {
    display: flex;
    grid-column: 1;
    grid-row: 1;
    padding: 28px;
    background: rgba(84, 178, 220, .82);
  }

  body[data-page="company"] #message .company-message-feature-visual {
    grid-column: 1;
    grid-row: 4;
    min-height: 0;
    overflow: visible;
    background: rgba(84, 178, 220, .72);
  }

  body[data-page="company"] #message .company-message-feature-content {
    position: relative;
    inset: auto;
    min-height: 0;
    padding: 38px 28px 42px;
    overflow: visible;
  }

  body[data-page="company"] #message .company-message-feature-content h3 {
    display: none;
  }

  body[data-page="company"] #message .company-message-feature-toggle {
    position: relative;
    inset: auto;
    grid-column: 1;
    grid-row: 2;
    width: 100%;
    height: 40px;
    border: 0;
    transform: none;
  }
}

/* Company message: inverse layout — navy copy panel on the left, portrait on the right. */
@media (min-width: 781px) {
  body[data-page="company"] #message.company-message-feature {
    min-height: clamp(520px, calc(41 * var(--pp-wide-vw, 1vw)), 590px);
    grid-template-columns: minmax(390px, 44%) minmax(0, 1fr);
    border: 0;
    background: transparent;
    background-image: none;
    box-shadow: none;
  }

  body[data-page="company"] #message::before {
    inset: clamp(30px, calc(3.2 * var(--pp-wide-vw, 1vw)), 46px) clamp(18px, calc(2 * var(--pp-wide-vw, 1vw)), 28px) clamp(30px, calc(3.2 * var(--pp-wide-vw, 1vw)), 46px) 36%;
    background-image: url("images/company/representative-takahashi-office-v1.png");
    background-color: #fff;
    background-position: center;
    background-size: cover;
    -webkit-mask-image: none;
    mask-image: none;
  }

  body[data-page="company"] #message .company-message-photo-hitarea {
    position: absolute;
    z-index: 2;
    inset: clamp(30px, calc(3.2 * var(--pp-wide-vw, 1vw)), 46px) clamp(18px, calc(2 * var(--pp-wide-vw, 1vw)), 28px) clamp(30px, calc(3.2 * var(--pp-wide-vw, 1vw)), 46px) 36%;
    pointer-events: auto;
  }

  body[data-page="company"] #message:has(.company-message-photo-hitarea:hover)::before {
    filter: brightness(1.04) saturate(.94);
    transform: scale(.94);
  }

  body[data-page="company"] #message::after {
    content: none;
  }

  body[data-page="company"] #message .company-message-feature-intro,
  body[data-page="company"] #message .company-message-feature-visual {
    grid-column: 1;
    grid-row: 1;
  }

  body[data-page="company"] #message .company-message-feature-visual {
    z-index: 3;
    margin: clamp(42px, calc(4 * var(--pp-wide-vw, 1vw)), 54px) clamp(-70px, calc(-4.5 * var(--pp-wide-vw, 1vw)), -50px) clamp(42px, calc(4 * var(--pp-wide-vw, 1vw)), 54px) clamp(22px, calc(2.2 * var(--pp-wide-vw, 1vw)), 34px);
  }

  body[data-page="company"] #message .company-message-feature-intro,
  body[data-page="company"] #message .company-message-feature-content,
  body[data-page="company"] #message .company-message-feature-visual {
    background: var(--pp-ink);
  }

  body[data-page="company"] #message.is-open .company-message-feature-intro {
    visibility: hidden;
    pointer-events: none;
  }

  body[data-page="company"] #message .company-message-feature-content {
    inset: 0;
    width: auto;
    padding: clamp(28px, calc(2.8 * var(--pp-wide-vw, 1vw)), 38px) clamp(32px, calc(3.6 * var(--pp-wide-vw, 1vw)), 52px);
    overflow-y: hidden;
    backdrop-filter: none;
    transition:
      color 200ms cubic-bezier(.2, .8, .2, 1),
      background-color 200ms cubic-bezier(.2, .8, .2, 1);
  }

  body[data-page="company"] #message .company-message-feature-content h3 {
    display: block;
    font-size: clamp(32px, calc(3 * var(--pp-wide-vw, 1vw)), 46px);
    font-weight: 500;
    letter-spacing: .05em;
  }

  body[data-page="company"] #message .company-message-feature-content-en {
    display: block;
    margin-top: 12px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .2em;
  }

  body[data-page="company"] #message .company-message-feature-copy {
    margin-top: clamp(24px, calc(3 * var(--pp-wide-vw, 1vw)), 38px);
  }

  body[data-page="company"] #message .company-message-feature-copy p {
    font-size: clamp(12px, calc(1.05 * var(--pp-wide-vw, 1vw)), 15px);
    line-height: 1.78;
  }

  body[data-page="company"] #message .company-message-feature-toggle {
    display: none;
  }

  body[data-page="company"] #message .company-message-feature-intro,
  body[data-page="company"] #message .company-message-feature-intro h2,
  body[data-page="company"] #message .company-message-feature-intro .company-philosophy-en,
  body[data-page="company"] #message .company-message-feature-content,
  body[data-page="company"] #message .company-message-feature-content * {
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    text-shadow: none !important;
  }

  body[data-page="company"] #message .company-message-feature-content:is(:hover, :focus-within) {
    color: #fff !important;
    background: rgba(84, 178, 220, .72) !important;
  }

  body[data-page="company"] #message .company-message-feature-content:is(:hover, :focus-within),
  body[data-page="company"] #message .company-message-feature-content:is(:hover, :focus-within) * {
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
  }
}

@media (max-width: 780px) {
  body[data-page="company"] #message.company-message-feature {
    grid-template-rows: auto 300px;
    background: var(--pp-ink);
  }

  body[data-page="company"] #message .company-message-photo-hitarea {
    display: none;
  }

  body[data-page="company"] #message::before {
    inset: auto 0 0;
    height: 300px;
    background-color: #fff;
    background-position: center 24%;
    background-size: cover;
  }

  body[data-page="company"] #message::after {
    content: none;
  }

  body[data-page="company"] #message .company-message-feature-intro,
  body[data-page="company"] #message .company-message-feature-visual {
    grid-column: 1;
    grid-row: 1;
    background: var(--pp-ink);
  }

  body[data-page="company"] #message.is-open .company-message-feature-intro {
    visibility: hidden;
    pointer-events: none;
  }

  body[data-page="company"] #message .company-message-feature-content {
    position: relative;
    inset: auto;
    padding: 36px 28px 40px;
    overflow: visible;
    background: var(--pp-ink);
    backdrop-filter: none;
  }

  body[data-page="company"] #message .company-message-feature-content h3,
  body[data-page="company"] #message .company-message-feature-content-en {
    display: block;
  }

  body[data-page="company"] #message .company-message-feature-content h3 {
    font-size: clamp(30px, calc(9 * var(--pp-wide-vw, 1vw)), 42px);
    font-weight: 500;
  }

  body[data-page="company"] #message .company-message-feature-content-en {
    margin-top: 10px;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .18em;
  }

  body[data-page="company"] #message .company-message-feature-toggle {
    display: none;
  }

  body[data-page="company"] #message .company-message-feature-intro,
  body[data-page="company"] #message .company-message-feature-intro h2,
  body[data-page="company"] #message .company-message-feature-intro .company-philosophy-en,
  body[data-page="company"] #message .company-message-feature-content,
  body[data-page="company"] #message .company-message-feature-content * {
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    text-shadow: none !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body[data-page="company"] #message::before {
    will-change: auto;
  }

  body[data-page="company"] #message:has(.company-message-photo-hitarea:hover)::before {
    transform: scale(.9045);
  }

  body[data-page="company"] #message .company-message-feature-content {
    transition: none;
  }
}

/* Region pages: let the shared Q/A cue slightly overlap every issue-card frame. */
:is(
  body[data-page="region01"] #medicine-issues,
  body[data-page="region02"] #medical-device-issues,
  body[data-page="region03"] #engineering-cases,
  body[data-page="service-cmc"] #pp-process-explore .pp-cmc-case-issue-dialog,
  body[data-page="service-csv"] .csv-issue-reveal-grid
) .medicine-issue-reveal__problem::before {
  position: absolute;
  z-index: 5;
  top: -44px;
  left: 14px;
  display: block;
  width: 78px;
  height: 52px;
  content: "";
  background: url("images/region/medicine-issue-qa-bubbles-v1.png") center / contain no-repeat;
  opacity: 1;
  pointer-events: none;
  user-select: none;
}

:is(
  body[data-page="region01"] #medicine-issues,
  body[data-page="region02"] #medical-device-issues,
  body[data-page="region03"] #engineering-cases,
  body[data-page="service-cmc"] #pp-process-explore .pp-cmc-case-issue-dialog,
  body[data-page="service-csv"] .csv-issue-reveal-grid
) .medicine-issue-reveal__problem small {
  position: relative;
  z-index: 6;
}

@media (max-width: 620px) {
  :is(
    body[data-page="region01"] #medicine-issues,
    body[data-page="region02"] #medical-device-issues,
    body[data-page="region03"] #engineering-cases,
    body[data-page="service-cmc"] #pp-process-explore .pp-cmc-case-issue-dialog,
    body[data-page="service-csv"] .csv-issue-reveal-grid
  ) .medicine-issue-reveal__problem::before {
    top: -36px;
    left: 12px;
    width: 66px;
    height: 44px;
  }
}

/* CMC: merge the PPT lifecycle, standards, and stage services into one arrow map. */
body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__definition {
  margin: 0 0 14px;
  color: #27404d;
  font-size: 13px;
  line-height: 1.75;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__definition strong {
  color: var(--pp-primary-strong, #2f8eb6);
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__rocket-scroll {
  overflow-x: auto;
  padding: 2px 0 8px;
  scrollbar-color: rgba(47, 142, 182, .55) transparent;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__rocket-scroll:focus-visible {
  outline: 2px solid var(--pp-primary-strong, #2f8eb6);
  outline-offset: 4px;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__rocket-phases,
body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__standard-bands,
body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__callouts,
body[data-page="service-cmc"] #pp-process-explore .pp-cmc-main-services__grid {
  box-sizing: border-box;
  min-width: 780px;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__rocket-phases {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0;
  margin: 0;
  padding: 0;
  background: transparent;
  list-style: none;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__rocket-phases li {
  position: relative;
  display: grid;
  min-width: 0;
  min-height: 58px;
  place-content: center;
  padding: 9px 24px 9px 18px;
  border: 0;
  color: #fff;
  background: #2f8eb6;
  clip-path: polygon(0 0, calc(100% - 14px) 0, 100% 50%, calc(100% - 14px) 100%, 0 100%, 14px 50%);
  text-align: center;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__rocket-phases li:first-child {
  clip-path: polygon(0 0, calc(100% - 14px) 0, 100% 50%, calc(100% - 14px) 100%, 0 100%);
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__rocket-phases li > strong {
  font-size: 14px;
  line-height: 1.2;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__rocket-phases li > small {
  margin-top: 3px;
  color: rgba(255, 255, 255, .86);
  font-family: var(--pp-font-latin, "Segoe UI", sans-serif);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .02em;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__rocket-phases li > i {
  position: absolute;
  top: 50%;
  right: 13px;
  font-size: 12px;
  transform: translateY(-50%);
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__rocket-phases .is-research { background: #4ba0b8; }
body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__rocket-phases .is-development { background: #68d0d0; }
body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__rocket-phases .is-approval { background: #90bec8; }
body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__rocket-phases .is-manufacturing { background: #a7b5b6; }
body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__rocket-phases .is-marketing { background: #96968e; }

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__standard-bands {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 6px 0;
  margin-top: 6px;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__standard {
  position: relative;
  display: flex;
  min-height: 38px;
  align-items: center;
  gap: 8px;
  padding: 7px 34px 7px 16px;
  color: #fff;
  background: #2f8eb6;
  clip-path: polygon(0 0, calc(100% - 14px) 0, 100% 50%, calc(100% - 14px) 100%, 0 100%);
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__standard--reliability {
  grid-column: 2 / span 2;
  background: #4ba0b8;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__standard--gmp {
  grid-column: 2 / span 3;
  background: #68d0d0;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__standard strong {
  font-size: 13px;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__standard small {
  color: rgba(255, 255, 255, .86);
  font-size: 10px;
  font-weight: 700;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__standard i {
  position: absolute;
  top: 50%;
  right: 17px;
  transform: translateY(-50%);
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__callouts {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  align-items: stretch;
  gap: 0;
  margin-top: 10px;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__callouts > span:nth-child(1) { grid-column: 2; }
body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__callouts > span:nth-child(2) { grid-column: 3; }
body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__callouts > span:nth-child(3) { grid-column: 4; }

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__callouts > span {
  position: static;
  width: auto;
  min-height: 0;
  padding: 12px 10px;
  border: 1px dotted rgba(1, 54, 65, .46);
  background: rgba(255, 255, 255, .5);
  transform: none;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-main-services__grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-main-services__stage--development {
  --cmc-stage-accent: #4fbfc2;
  --cmc-stage-tint: rgba(104, 208, 208, .24);
  grid-column: 2;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-main-services__stage--approval {
  --cmc-stage-accent: #78aeba;
  --cmc-stage-tint: rgba(144, 190, 200, .25);
  grid-column: 3;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-main-services__stage--manufacturing {
  --cmc-stage-accent: #7f9192;
  --cmc-stage-tint: rgba(167, 181, 182, .28);
  grid-column: 4;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-main-services__service-list {
  border-top: 3px solid var(--cmc-stage-accent);
  background: var(--cmc-stage-tint);
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-main-services__service-list h5 > span {
  display: block;
  color: var(--cmc-stage-accent);
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__rocket-hint {
  display: none;
  margin: 8px 0 0;
  color: rgba(1, 54, 65, .68);
  font-size: 11px;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__trouble-links {
  margin-top: 18px;
  padding: 16px;
  border: 1px solid rgba(47, 142, 182, .24);
  background: rgba(224, 240, 247, .5);
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__trouble-links h5 {
  margin: 0 0 10px;
  color: var(--pp-ink, #013641);
  font-size: 15px;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__trouble-links > div {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px 18px;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__trouble-links a {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 6px 0;
  border-bottom: 1px solid rgba(1, 54, 65, .34);
  color: var(--pp-ink, #013641);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.5;
  text-decoration: none;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__trouble-links a:is(:hover, :focus-visible) {
  color: var(--pp-primary-strong, #2f8eb6);
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__trouble-links a:focus-visible {
  outline: 2px solid var(--pp-primary-strong, #2f8eb6);
  outline-offset: 3px;
}

@media (max-width: 680px) {
  body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__rocket-hint {
    display: flex;
    align-items: center;
    gap: 5px;
  }

  body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__trouble-links > div {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* TOP FIELD final layer: card imagery crops internally while 01/02/03 can overlap the frame. */
body[data-page="home"] #top-field-finder .top-about-study__feature {
  overflow: visible;
}

body[data-page="home"] #top-field-finder .top-about-study__image-frame {
  overflow: hidden;
}

body[data-page="home"] #top-field-finder .top-about-study__field-number {
  position: absolute;
  z-index: 6;
  top: auto;
  right: auto;
  bottom: 6px;
  left: -12px;
  color: var(--pp-primary, #4eabd8);
  font-family: "Segoe UI", Arial, sans-serif;
  font-size: clamp(48px, calc(4.8 * var(--pp-wide-vw, 1vw)), 64px);
  font-weight: 300;
  letter-spacing: -.025em;
  line-height: 1;
  text-shadow:
    -2px -2px 0 rgba(255, 255, 255, .92),
    2px -2px 0 rgba(255, 255, 255, .92),
    -2px 2px 0 rgba(255, 255, 255, .92),
    2px 2px 0 rgba(255, 255, 255, .92);
  transform: none;
  pointer-events: none;
}

body[data-page="home"] #top-field-finder .top-about-study__feature > strong {
  padding-left: 8px;
}

/* Review: keep the field-photo shading neutral on pointer hover. */
body[data-page="home"] #top-field-finder .top-about-study__feature:hover .top-about-study__image-frame::after {
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 48%, rgba(0, 0, 0, .34) 100%);
}

/* User-approved TOP FIELD cleanup: the card labels stand alone without 01/02/03. */
body[data-page="home"] #top-field-finder .top-about-study__field-number {
  display: none !important;
}

@media (max-width: 780px) {
  body[data-page="home"] #top-field-finder .top-about-study__feature {
    overflow: visible;
  }

  body[data-page="home"] #top-field-finder .top-about-study__field-number {
    bottom: 5px;
    left: -8px;
    font-size: 50px;
    transform: none;
  }

  body[data-page="home"] #top-field-finder .top-about-study__feature > strong {
    padding-left: 8px;
  }
}

/* TOP SERVICE final alignment: keep every service title on the card center axis. */
body[data-page="home"] #top-service-finder .top-about-study__service-copy {
  justify-content: stretch;
  justify-items: center;
  text-align: center;
}

body[data-page="home"] #top-service-finder .top-about-study__service-copy strong {
  width: 94%;
  justify-self: center;
  justify-content: center;
  text-align: center;
}

body[data-page="home"] #top-service-finder .top-about-study__service-copy .top-family-link-label {
  display: block;
  width: 100%;
  text-align: center;
}

body[data-page="home"] #top-service-finder .top-about-study__service-copy .top-family-link-label--academy {
  display: grid;
  gap: 4px;
}

body[data-page="home"] #top-service-finder .top-about-study__service-copy .top-family-link-label--academy small {
  display: block;
  font-family: var(--pp-font-latin, "Segoe UI", sans-serif);
  font-size: .66em;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: .03em;
}

body[data-page="home"] #top-service-finder .top-about-study__service-copy .top-family-link-label--academy sup {
  font-size: .58em;
}

/* Region01 service structure: promoted from the saved service-page concept. */
body[data-page="region01"] .service-taxonomy-concept {
  display: grid;
  gap: clamp(22px, calc(2.2 * var(--pp-wide-vw, 1vw)), 32px);
  margin: 0 0 clamp(48px, calc(5 * var(--pp-wide-vw, 1vw)), 72px);
  padding: clamp(28px, calc(3.6 * var(--pp-wide-vw, 1vw)), 48px);
  scroll-margin-top: calc(var(--pp-header-height, 72px) + 16px);
  color: var(--pp-text, #18313b);
  border-top: 4px solid var(--pp-primary, #54b2dc);
  border-bottom: 1px solid var(--pp-border, #cfe4ef);
  background: var(--pp-layer-white, rgba(255, 255, 255, .96));
  box-shadow: 0 18px 50px rgba(0, 44, 61, .10);
}

body[data-page="region01"] .service-taxonomy-concept__header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, .82fr);
  align-items: end;
  gap: 28px;
}

body[data-page="region01"] .service-taxonomy-concept__eyebrow,
body[data-page="region01"] .service-taxonomy-concept__branch-kicker {
  display: block;
  color: var(--pp-primary-strong, #2e95c3);
  font-family: "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  font-size: 10px;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: .18em;
}

body[data-page="region01"] .service-taxonomy-concept__title {
  width: fit-content;
  margin: 12px 0 0;
  padding-bottom: 8px;
  color: var(--pp-deep, #003d55);
  border-bottom: 4px solid var(--pp-primary, #54b2dc);
  font-size: clamp(30px, calc(3.4 * var(--pp-wide-vw, 1vw)), 48px);
  font-weight: 800;
  line-height: 1.08;
  letter-spacing: -.055em;
}

body[data-page="region01"] .service-taxonomy-concept__intro {
  margin: 0;
  color: var(--pp-muted, #5e7078);
  font-size: 14px;
  line-height: 1.9;
}

body[data-page="region01"] .service-taxonomy-concept__root {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  min-height: 82px;
  align-items: center;
  gap: 18px;
  padding: 18px 22px;
  color: #fff;
  border: 1px solid var(--pp-deep, #003d55);
  background: var(--pp-deep, #003d55);
  text-decoration: none;
  transition: background-color 180ms ease, border-color 180ms ease;
}

body[data-page="region01"] .service-taxonomy-concept__root:is(:hover, :focus-visible) {
  border-color: var(--pp-primary-strong, #2e95c3);
  background: #07536b;
}

body[data-page="region01"] .service-taxonomy-concept__root:focus-visible,
body[data-page="region01"] .service-taxonomy-concept__branch-head:focus-visible,
body[data-page="region01"] .service-taxonomy-concept__link:focus-visible {
  outline: 3px solid var(--pp-primary, #54b2dc);
  outline-offset: 3px;
}

body[data-page="region01"] .service-taxonomy-concept__root-number {
  display: grid;
  width: 40px;
  height: 40px;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, .58);
  font-family: "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .08em;
}

body[data-page="region01"] .service-taxonomy-concept__root strong {
  font-size: clamp(19px, calc(2 * var(--pp-wide-vw, 1vw)), 28px);
  line-height: 1.45;
  letter-spacing: -.035em;
}

body[data-page="region01"] .service-taxonomy-concept__root .ph {
  color: var(--pp-primary, #54b2dc);
  font-size: 22px;
}

body[data-page="region01"] .service-taxonomy-concept__branches {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) repeat(2, minmax(0, 1fr));
  border-top: 1px solid rgba(0, 61, 85, .22);
  border-left: 1px solid rgba(0, 61, 85, .22);
}

body[data-page="region01"] .service-taxonomy-concept__branch {
  min-width: 0;
  border-right: 1px solid rgba(0, 61, 85, .22);
  border-bottom: 1px solid rgba(0, 61, 85, .22);
  background: #fff;
}

body[data-page="region01"] .service-taxonomy-concept__branch-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  min-height: 76px;
  align-items: center;
  gap: 12px;
  padding: 16px 20px;
  color: var(--pp-deep, #003d55);
  border-bottom: 1px solid var(--pp-border, #cfe4ef);
  background: var(--pp-surface-soft, #eef7fc);
  text-decoration: none;
  transition: background-color 180ms ease, color 180ms ease;
}

body[data-page="region01"] .service-taxonomy-concept__branch-head:is(:hover, :focus-visible) {
  color: #fff;
  background: var(--pp-primary-strong, #2e95c3);
}

body[data-page="region01"] .service-taxonomy-concept__branch-head:is(:hover, :focus-visible) .service-taxonomy-concept__branch-kicker {
  color: rgba(255, 255, 255, .82);
}

body[data-page="region01"] .service-taxonomy-concept__branch-title {
  display: block;
  margin-top: 5px;
  font-size: clamp(20px, calc(2.1 * var(--pp-wide-vw, 1vw)), 28px);
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: -.035em;
}

body[data-page="region01"] .service-taxonomy-concept__branch-head .ph {
  font-size: 18px;
}

body[data-page="region01"] .service-taxonomy-concept__branch-body {
  display: grid;
  gap: 14px;
  margin: 22px 20px 24px 30px;
  padding-left: 20px;
  border-left: 1px solid rgba(0, 61, 85, .30);
}

body[data-page="region01"] .service-taxonomy-concept__link {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  min-height: 62px;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  color: var(--pp-deep, #003d55);
  border: 1px solid var(--pp-border, #cfe4ef);
  border-left: 4px solid var(--pp-primary, #54b2dc);
  background: #fff;
  text-decoration: none;
  transition: transform 180ms ease, border-color 180ms ease, background-color 180ms ease;
}

body[data-page="region01"] .service-taxonomy-concept__link::before {
  position: absolute;
  top: 50%;
  right: 100%;
  width: 21px;
  height: 1px;
  background: rgba(0, 61, 85, .30);
  content: "";
}

body[data-page="region01"] .service-taxonomy-concept__link:is(:hover, :focus-visible) {
  z-index: 1;
  border-color: var(--pp-primary-strong, #2e95c3);
  background: #f5fbfe;
  transform: translateY(-2px);
}

body[data-page="region01"] .service-taxonomy-concept__link strong {
  display: block;
  font-size: 15px;
  line-height: 1.55;
}

body[data-page="region01"] .service-taxonomy-concept__link small {
  display: block;
  margin-top: 5px;
  color: var(--pp-muted, #5e7078);
  font-size: 11px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: .04em;
}

body[data-page="region01"] .service-taxonomy-concept__link .ph {
  color: var(--pp-primary-strong, #2e95c3);
  font-size: 17px;
}

body[data-page="region01"] .service-taxonomy-concept__standards {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 8px;
}

body[data-page="region01"] .service-taxonomy-concept__standards span {
  padding: 4px 7px;
  color: var(--pp-deep, #003d55);
  border: 1px solid rgba(46, 149, 195, .32);
  background: var(--pp-surface-soft, #eef7fc);
  font-family: "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  font-size: 10px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: .04em;
}

@media (max-width: 920px) {
  body[data-page="region01"] .service-taxonomy-concept__header,
  body[data-page="region01"] .service-taxonomy-concept__branches {
    grid-template-columns: minmax(0, 1fr);
  }

  body[data-page="region01"] .service-taxonomy-concept__header {
    gap: 16px;
  }

  body[data-page="region01"] .service-taxonomy-concept__branch-body {
    margin-right: 24px;
  }
}

@media (max-width: 640px) {
  body[data-page="region01"] .service-taxonomy-concept {
    gap: 20px;
    margin-bottom: 44px;
    padding: 24px 18px 28px;
  }

  body[data-page="region01"] .service-taxonomy-concept__root {
    grid-template-columns: auto minmax(0, 1fr);
    gap: 13px;
    padding: 16px;
  }

  body[data-page="region01"] .service-taxonomy-concept__root .ph {
    display: none;
  }

  body[data-page="region01"] .service-taxonomy-concept__root strong {
    font-size: 17px;
  }

  body[data-page="region01"] .service-taxonomy-concept__branch-head {
    min-height: 68px;
    padding: 14px 16px;
  }

  body[data-page="region01"] .service-taxonomy-concept__branch-body {
    margin: 18px 16px 20px 22px;
    padding-left: 16px;
  }

  body[data-page="region01"] .service-taxonomy-concept__link::before {
    width: 17px;
  }

  body[data-page="region01"] .service-taxonomy-concept__link strong > span {
    display: block;
  }
}

@media (prefers-reduced-motion: reduce) {
  body[data-page="region01"] .service-taxonomy-concept :is(a, .service-taxonomy-concept__link) {
    transition: none;
  }
}

/* Region01 GAP detail: reuse the TOP 13-service photographic tile contract here only. */
body[data-page="region01"] #pp-gxp-gap-analysis {
  grid-template-columns: minmax(0, 34%) clamp(54px, calc(5 * var(--pp-wide-vw, 1vw)), 72px) minmax(0, 1fr) minmax(154px, 23%);
}

body[data-page="region01"] #pp-gxp-gap-analysis > .medicine-brochure-card-image,
body[data-page="region01"] #pp-gxp-gap-analysis > #medicine-gap-analysis-detail {
  grid-column: 3;
}

body[data-page="region01"] #medicine-gap-analysis-detail {
  align-content: start;
  gap: clamp(12px, calc(1.35 * var(--pp-wide-vw, 1vw)), 18px);
  padding: clamp(20px, calc(2 * var(--pp-wide-vw, 1vw)), 30px);
}

body[data-page="region01"] #medicine-gap-analysis-detail .medicine-brochure-gap-summary {
  margin: 0;
}

body[data-page="region01"] .medicine-brochure-gap-side-link {
  position: relative;
  z-index: 2;
  isolation: isolate;
  grid-column: 4;
  grid-row: 1 / span 2;
  display: grid;
  min-width: 0;
  min-height: 100%;
  overflow: hidden;
  padding: 22px 16px;
  place-items: center;
  color: #fff;
  border-left: 10px solid #d9edf7;
  background:
    linear-gradient(rgba(1, 54, 65, .58), rgba(1, 54, 65, .72)),
    url("https://www.pharma-planning.com/dcms_media/image/gmp_case_img01.jpg") center / cover no-repeat;
  text-align: center;
  text-decoration: none;
}

body[data-page="region01"] .medicine-brochure-gap-side-link::after {
  position: absolute;
  z-index: -1;
  inset: 9px;
  background:
    linear-gradient(#fff, #fff) left top / 0 2px no-repeat,
    linear-gradient(#fff, #fff) right top / 2px 0 no-repeat,
    linear-gradient(#fff, #fff) right bottom / 0 2px no-repeat,
    linear-gradient(#fff, #fff) left bottom / 2px 0 no-repeat;
  content: "";
  opacity: 0;
  pointer-events: none;
}

body[data-page="region01"] .medicine-brochure-gap-side-link strong {
  color: inherit;
  font-size: clamp(14px, calc(1.1 * var(--pp-wide-vw, 1vw)), 17px);
  font-weight: 800;
  line-height: 1.45;
  text-shadow: 0 2px 10px rgba(1, 35, 48, .44);
  transition: transform 220ms ease;
}

body[data-page="region01"] .medicine-brochure-gap-side-link > span {
  position: absolute;
  bottom: 24px;
  left: 50%;
  display: inline-flex;
  min-width: 92px;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 5px 0;
  border-bottom: 1px solid rgba(255, 255, 255, .78);
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  opacity: 0;
  transform: translate(-50%, 8px);
  transition: opacity 220ms ease, transform 220ms ease;
  white-space: nowrap;
}

body[data-page="region01"] .medicine-brochure-gap-side-link > span::after {
  content: "→";
  font-family: var(--pp-font-latin);
  font-size: 12px;
  font-weight: 400;
}

body[data-page="region01"] .medicine-brochure-gap-side-link:is(:hover, :focus-visible)::after {
  opacity: 1;
  animation: top-service-outline-draw 620ms cubic-bezier(.2, .8, .2, 1) forwards;
}

body[data-page="region01"] .medicine-brochure-gap-side-link:is(:hover, :focus-visible) strong {
  transform: translateY(-16px);
}

body[data-page="region01"] .medicine-brochure-gap-side-link:is(:hover, :focus-visible) > span {
  opacity: 1;
  transform: translate(-50%, 0);
}

body[data-page="region01"] .medicine-brochure-gap-side-link:focus-visible {
  outline: 3px solid #9edff6;
  outline-offset: -5px;
}

body[data-page="region01"] #medicine-gap-analysis-detail .medicine-brochure-gap-links {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(8px, calc(.8 * var(--pp-wide-vw, 1vw)), 12px);
}

body[data-page="region01"] #medicine-gap-analysis-detail .medicine-brochure-gap-links a {
  position: relative;
  isolation: isolate;
  display: grid;
  min-height: clamp(78px, calc(7.3 * var(--pp-wide-vw, 1vw)), 100px);
  overflow: hidden;
  padding: 14px 12px 12px;
  place-items: center;
  color: #fff;
  border: 0;
  background:
    linear-gradient(rgba(1, 54, 65, .58), rgba(1, 54, 65, .72)),
    url("https://www.pharma-planning.com/dcms_media/image/gmp_case_img01.jpg") center / cover no-repeat;
  box-shadow: 0 8px 18px rgba(1, 35, 48, .16);
  text-align: center;
  text-decoration: none;
}

body[data-page="region01"] #medicine-gap-analysis-detail .medicine-brochure-gap-links a::after {
  position: absolute;
  z-index: -1;
  inset: 6px;
  background:
    linear-gradient(#fff, #fff) left top / 0 2px no-repeat,
    linear-gradient(#fff, #fff) right top / 2px 0 no-repeat,
    linear-gradient(#fff, #fff) right bottom / 0 2px no-repeat,
    linear-gradient(#fff, #fff) left bottom / 2px 0 no-repeat;
  content: "";
  opacity: 0;
  pointer-events: none;
}

body[data-page="region01"] #medicine-gap-analysis-detail .medicine-brochure-gap-links strong {
  display: block;
  max-width: 12em;
  color: inherit;
  font-size: clamp(12px, calc(.85 * var(--pp-wide-vw, 1vw)), 14px);
  font-weight: 800;
  line-height: 1.4;
  text-shadow: 0 2px 10px rgba(1, 35, 48, .44);
  transition: transform 220ms ease;
}

body[data-page="region01"] #medicine-gap-analysis-detail .medicine-brochure-gap-links a > span {
  position: absolute;
  z-index: 2;
  bottom: 11px;
  left: 50%;
  display: inline-flex;
  min-width: 86px;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 4px 0;
  border-bottom: 1px solid rgba(255, 255, 255, .78);
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  line-height: 1.2;
  opacity: 0;
  transform: translate(-50%, 7px);
  transition: opacity 220ms ease, transform 220ms ease;
  white-space: nowrap;
}

body[data-page="region01"] #medicine-gap-analysis-detail .medicine-brochure-gap-links a > span::after {
  content: "→";
  font-family: var(--pp-font-latin);
  font-size: 11px;
  font-weight: 400;
}

body[data-page="region01"] #medicine-gap-analysis-detail .medicine-brochure-gap-links a:is(:hover, :focus-visible) {
  color: #fff;
  outline: 2px solid #9edff6;
  outline-offset: 2px;
}

body[data-page="region01"] #medicine-gap-analysis-detail .medicine-brochure-gap-links a:is(:hover, :focus-visible)::after {
  opacity: 1;
  animation: top-service-outline-draw 620ms cubic-bezier(.2, .8, .2, 1) forwards;
}

body[data-page="region01"] #medicine-gap-analysis-detail .medicine-brochure-gap-links a:is(:hover, :focus-visible) strong {
  transform: translateY(-14px);
}

body[data-page="region01"] #medicine-gap-analysis-detail .medicine-brochure-gap-links a:is(:hover, :focus-visible) > span {
  opacity: 1;
  transform: translate(-50%, 0);
}

@media (max-width: 980px) {
  body[data-page="region01"] #pp-gxp-gap-analysis {
    grid-template-columns: minmax(0, 1fr) 58px;
    grid-template-rows: auto auto auto auto;
  }

  body[data-page="region01"] #pp-gxp-gap-analysis > .medicine-brochure-card-image,
  body[data-page="region01"] #pp-gxp-gap-analysis > #medicine-gap-analysis-detail {
    grid-column: 1 / -1;
    grid-row: 3;
  }

  body[data-page="region01"] .medicine-brochure-gap-side-link {
    grid-column: 1 / -1;
    grid-row: 4;
    min-height: 170px;
    border-top: 10px solid #d9edf7;
    border-left: 0;
  }

  body[data-page="region01"] .medicine-brochure-gap-side-link::after,
  body[data-page="region01"] .medicine-brochure-gap-side-link > span {
    opacity: 1;
  }

  body[data-page="region01"] .medicine-brochure-gap-side-link::after {
    background-size: 100% 2px, 2px 100%, 100% 2px, 2px 100%;
  }

  body[data-page="region01"] .medicine-brochure-gap-side-link strong {
    transform: translateY(-12px);
  }

  body[data-page="region01"] .medicine-brochure-gap-side-link > span {
    bottom: 14px;
    transform: translate(-50%, 0);
  }

  body[data-page="region01"] #medicine-gap-analysis-detail .medicine-brochure-gap-links a::after,
  body[data-page="region01"] #medicine-gap-analysis-detail .medicine-brochure-gap-links a > span {
    opacity: 1;
  }

  body[data-page="region01"] #medicine-gap-analysis-detail .medicine-brochure-gap-links a::after {
    background-size: 100% 2px, 2px 100%, 100% 2px, 2px 100%;
  }

  body[data-page="region01"] #medicine-gap-analysis-detail .medicine-brochure-gap-links strong {
    transform: translateY(-10px);
  }

  body[data-page="region01"] #medicine-gap-analysis-detail .medicine-brochure-gap-links a > span {
    bottom: 7px;
    transform: translate(-50%, 0);
  }
}

@media (max-width: 620px) {
  body[data-page="region01"] #medicine-gap-analysis-detail .medicine-brochure-gap-links {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (prefers-reduced-motion: reduce) {
  body[data-page="region01"] .medicine-brochure-gap-side-link::after,
  body[data-page="region01"] .medicine-brochure-gap-side-link strong,
  body[data-page="region01"] .medicine-brochure-gap-side-link > span {
    animation: none;
    transition: none;
  }

  body[data-page="region01"] #medicine-gap-analysis-detail .medicine-brochure-gap-links a::after,
  body[data-page="region01"] #medicine-gap-analysis-detail .medicine-brochure-gap-links strong,
  body[data-page="region01"] #medicine-gap-analysis-detail .medicine-brochure-gap-links a > span {
    animation: none;
    transition: none;
  }
}

/* Region01 consultation: show the linked TOP service card in the selected detail pane. */
body[data-page="region01"] .medicine-brochure-linked-service-detail {
  align-content: stretch;
  gap: 0;
  padding: 0;
  background: #013641;
}

body[data-page="region01"] .medicine-brochure-linked-service-tile {
  position: relative;
  isolation: isolate;
  display: grid;
  min-width: 0;
  min-height: 100%;
  overflow: hidden;
  color: #fff;
  background: #013641;
  text-decoration: none;
}

body[data-page="region01"] .medicine-brochure-linked-service-tile::before {
  position: absolute;
  z-index: 1;
  inset: 0;
  background: rgba(1, 54, 65, .54);
  content: "";
  transition: background-color 180ms ease;
}

body[data-page="region01"] .medicine-brochure-linked-service-tile::after {
  position: absolute;
  z-index: 3;
  inset: 8px;
  background:
    linear-gradient(#fff, #fff) left top / 0 2px no-repeat,
    linear-gradient(#fff, #fff) right top / 2px 0 no-repeat,
    linear-gradient(#fff, #fff) right bottom / 0 2px no-repeat,
    linear-gradient(#fff, #fff) left bottom / 2px 0 no-repeat;
  content: "";
  opacity: 0;
  pointer-events: none;
}

body[data-page="region01"] .medicine-brochure-linked-service-tile > img {
  position: absolute;
  z-index: 0;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: contrast(1.04) saturate(.94);
  transform: scale(1.01);
  transition: filter 180ms ease, transform 300ms ease;
}

body[data-page="region01"] .medicine-brochure-linked-service-tile > span {
  position: absolute;
  z-index: 2;
  inset: 0;
  display: grid;
  padding: 24px;
  place-items: center;
  text-align: center;
}

body[data-page="region01"] .medicine-brochure-linked-service-tile strong {
  color: #fff;
  font-size: clamp(18px, calc(1.55 * var(--pp-wide-vw, 1vw)), 22px);
  font-weight: 800;
  line-height: 1.45;
  text-shadow: 0 2px 10px rgba(1, 35, 48, .44);
  transition: transform 220ms ease;
}

body[data-page="region01"] .medicine-brochure-linked-service-tile small {
  position: absolute;
  bottom: clamp(20px, calc(2.4 * var(--pp-wide-vw, 1vw)), 28px);
  left: 50%;
  display: inline-flex;
  min-width: 110px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 6px 0;
  border-bottom: 1px solid rgba(255, 255, 255, .76);
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.2;
  opacity: 0;
  transform: translate(-50%, 8px);
  transition: opacity 220ms ease, transform 220ms ease;
  white-space: nowrap;
}

body[data-page="region01"] .medicine-brochure-linked-service-tile small::after {
  content: "→";
  font-family: var(--pp-font-latin);
  font-size: 14px;
  font-weight: 400;
}

body[data-page="region01"] .medicine-brochure-linked-service-tile:is(:hover, :focus-visible)::before {
  background: rgba(1, 54, 65, .68);
}

body[data-page="region01"] .medicine-brochure-linked-service-tile:is(:hover, :focus-visible)::after {
  opacity: 1;
  animation: top-service-outline-draw 620ms cubic-bezier(.2, .8, .2, 1) forwards;
}

body[data-page="region01"] .medicine-brochure-linked-service-tile:is(:hover, :focus-visible) > img {
  filter: contrast(1.03) saturate(1.06);
  transform: scale(1.045);
}

body[data-page="region01"] .medicine-brochure-linked-service-tile:is(:hover, :focus-visible) strong {
  transform: translateY(-22px);
}

body[data-page="region01"] .medicine-brochure-linked-service-tile:is(:hover, :focus-visible) small {
  opacity: 1;
  transform: translate(-50%, 0);
}

body[data-page="region01"] .medicine-brochure-linked-service-tile:focus-visible {
  outline: 3px solid #9edff6;
  outline-offset: -5px;
}

body[data-page="region01"] .medicine-brochure-linked-service-source {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  margin: -1px;
  padding: 0;
  border: 0;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}

@media (max-width: 980px) {
  body[data-page="region01"] .medicine-brochure-linked-service-tile::after,
  body[data-page="region01"] .medicine-brochure-linked-service-tile small {
    opacity: 1;
  }

  body[data-page="region01"] .medicine-brochure-linked-service-tile::after {
    background-size: 100% 2px, 2px 100%, 100% 2px, 2px 100%;
  }

  body[data-page="region01"] .medicine-brochure-linked-service-tile strong {
    transform: translateY(-11px);
  }

  body[data-page="region01"] .medicine-brochure-linked-service-tile small {
    bottom: 9px;
    min-width: 100px;
    padding: 4px 0;
    font-size: 11px;
    transform: translate(-50%, 0);
  }
}

@media (prefers-reduced-motion: reduce) {
  body[data-page="region01"] .medicine-brochure-linked-service-tile::after,
  body[data-page="region01"] .medicine-brochure-linked-service-tile > img,
  body[data-page="region01"] .medicine-brochure-linked-service-tile strong,
  body[data-page="region01"] .medicine-brochure-linked-service-tile small {
    animation: none;
    transition: none;
  }
}

/* Services index: reuse the TOP service-card visual and interaction contract. */
body[data-page="services"] #services-list .top-service-original-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-auto-rows: clamp(154px, calc(13 * var(--pp-wide-vw, 1vw)), 178px);
  gap: clamp(8px, calc(.75 * var(--pp-wide-vw, 1vw)), 12px);
  margin-top: 48px;
}

body[data-page="services"] #services-list .top-service-page-card {
  position: relative;
  display: block;
  min-width: 0;
  overflow: hidden;
  box-sizing: border-box;
  border: 0;
  outline: 0;
  background: #013641;
  box-shadow: 0 12px 26px rgba(1, 54, 65, .10);
  color: #fff;
  text-decoration: none;
  transition: transform 180ms cubic-bezier(.2, .8, .2, 1);
}

body[data-page="services"] #services-list .top-service-page-card::before {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: rgba(1, 54, 65, .54);
  content: "";
  pointer-events: none;
  transition: background-color 180ms cubic-bezier(.2, .8, .2, 1);
}

body[data-page="services"] #services-list .top-service-page-card::after {
  position: absolute;
  z-index: 2;
  inset: 6px;
  border: 0;
  background:
    linear-gradient(#fff, #fff) left top / 0 2px no-repeat,
    linear-gradient(#fff, #fff) right top / 2px 0 no-repeat,
    linear-gradient(#fff, #fff) right bottom / 0 2px no-repeat,
    linear-gradient(#fff, #fff) left bottom / 2px 0 no-repeat;
  content: "";
  opacity: 0;
  pointer-events: none;
  transition: opacity 120ms ease;
}

body[data-page="services"] #services-list .top-service-page-card__image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: contrast(1.04) saturate(.94);
  transform: scale(1.01);
  transition: filter 180ms cubic-bezier(.2, .8, .2, 1),
    transform 300ms cubic-bezier(.2, .8, .2, 1);
}

body[data-page="services"] #services-list .top-service-page-card__copy {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: grid;
  max-width: none;
  padding: 18px;
  place-items: center;
  color: #fff;
  text-align: center;
}

body[data-page="services"] #services-list .top-service-page-card__copy strong {
  display: flex;
  width: 94%;
  max-width: 100%;
  min-width: 0;
  margin: 0;
  padding: 0;
  overflow: visible;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-family: var(--pp-font-display);
  font-size: clamp(14px, calc(1.25 * var(--pp-wide-vw, 1vw)), 18px);
  font-weight: 800;
  line-height: 1.45;
  line-break: strict;
  overflow-wrap: anywhere;
  text-align: center;
  text-shadow: 0 2px 10px rgba(1, 35, 48, .44);
  text-wrap: balance;
  transition: transform 220ms ease;
}

body[data-page="services"] #services-list .top-service-page-card__detail {
  position: absolute;
  z-index: 3;
  bottom: clamp(18px, calc(2.4 * var(--pp-wide-vw, 1vw)), 28px);
  left: 50%;
  display: inline-flex;
  min-width: 110px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 6px 0;
  border-bottom: 1px solid rgba(255, 255, 255, .76);
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.2;
  opacity: 0;
  transform: translate(-50%, 8px);
  transition: opacity 220ms ease, transform 220ms ease;
  white-space: nowrap;
}

body[data-page="services"] #services-list .top-service-page-card__detail::after {
  content: "→";
  display: inline-block;
  font-family: var(--pp-font-latin);
  font-size: 14px;
  font-weight: 400;
  line-height: 1;
}

body[data-page="services"] #services-list .top-service-page-card:is(:hover, :focus-visible) {
  color: #fff;
  transform: translateY(-2px);
}

body[data-page="services"] #services-list .top-service-page-card:focus-visible {
  outline: 2px solid rgba(27, 151, 203, .88);
  outline-offset: 3px;
}

body[data-page="services"] #services-list .top-service-page-card:is(:hover, :focus-visible)::before {
  background: rgba(1, 54, 65, .68);
}

body[data-page="services"] #services-list .top-service-page-card:is(:hover, :focus-visible)::after,
body[data-page="services"] #services-list .top-service-page-card:is(:hover, :focus-visible) .top-service-page-card__detail {
  opacity: 1;
}

body[data-page="services"] #services-list .top-service-page-card:is(:hover, :focus-visible)::after {
  animation: top-service-outline-draw 620ms cubic-bezier(.2, .8, .2, 1) forwards;
}

body[data-page="services"] #services-list .top-service-page-card:is(:hover, :focus-visible) .top-service-page-card__image {
  filter: contrast(1.03) saturate(1.06);
  transform: scale(1.045);
}

body[data-page="services"] #services-list .top-service-page-card:is(:hover, :focus-visible) .top-service-page-card__copy strong {
  transform: translateY(-22px);
}

body[data-page="services"] #services-list .top-service-page-card:is(:hover, :focus-visible) .top-service-page-card__detail {
  transform: translate(-50%, 0);
}

/* Keep long service names legible in the fixed desktop rail. */
body[data-page="services"] .rail-nav a {
  height: auto !important;
  min-height: 51px !important;
  align-content: center;
}

body[data-page="services"] .rail-nav .rail-ja {
  min-width: 0;
  font-size: clamp(11px, calc(.95 * var(--pp-wide-vw, 1vw)), 13px) !important;
  line-height: 1.35 !important;
  line-break: strict;
  overflow-wrap: anywhere;
  word-break: normal;
}

@media (max-width: 980px) {
  body[data-page="services"] #services-list .top-service-original-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-rows: 150px;
    margin-top: 28px;
  }

  body[data-page="services"] #services-list .top-service-page-card::after,
  body[data-page="services"] #services-list .top-service-page-card__detail {
    opacity: 1;
  }

  body[data-page="services"] #services-list .top-service-page-card::after {
    background-size: 100% 2px, 2px 100%, 100% 2px, 2px 100%;
  }

  body[data-page="services"] #services-list .top-service-page-card__copy strong {
    transform: translateY(-11px);
  }

  body[data-page="services"] #services-list .top-service-page-card__detail {
    bottom: 8px;
    min-width: 100px;
    padding: 4px 0;
    font-size: 11px;
    transform: translate(-50%, 0);
  }

  body[data-page="services"] .rail-nav a {
    min-height: 54px !important;
  }
}

@media (max-width: 560px) {
  body[data-page="services"] #services-list .top-service-original-grid {
    grid-template-columns: 1fr;
    grid-auto-rows: 148px;
  }
}

@media (prefers-reduced-motion: reduce) {
  body[data-page="services"] #services-list .top-service-page-card,
  body[data-page="services"] #services-list .top-service-page-card::after,
  body[data-page="services"] #services-list .top-service-page-card__image,
  body[data-page="services"] #services-list .top-service-page-card__copy strong,
  body[data-page="services"] #services-list .top-service-page-card__detail {
    transition: none;
  }

  body[data-page="services"] #services-list .top-service-page-card:is(:hover, :focus-visible) {
    transform: none;
  }

  body[data-page="services"] #services-list .top-service-page-card:is(:hover, :focus-visible)::after {
    animation: none;
    background-size: 100% 2px, 2px 100%, 100% 2px, 2px 100%;
  }
}

/* Region01 consultation: one shared flow followed by four TOP-style service icons. */
body[data-page="region01"] #medicine-consultation .medicine-consultation-flow {
  margin-bottom: clamp(30px, calc(4 * var(--pp-wide-vw, 1vw)), 46px);
}

body[data-page="region01"] #medicine-consultation .medicine-consultation-flow > header {
  --medicine-consultation-heading-gutter: clamp(34px, calc(5 * var(--pp-wide-vw, 1vw)), 68px);
  width: calc(100% + var(--medicine-consultation-heading-gutter) + var(--medicine-consultation-heading-gutter));
  margin: 0 0 38px calc(0px - var(--medicine-consultation-heading-gutter));
}

body[data-page="region01"] #medicine-consultation .medicine-consultation-flow > header > span {
  display: block;
  margin: 0 0 16px;
  color: #fff;
  font-family: var(--pp-font-latin);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .18em;
  line-height: 1.2;
  text-shadow: 0 2px 4px rgba(0, 26, 43, .84), 0 0 14px rgba(0, 26, 43, .38) !important;
}

body[data-page="region01"] #medicine-consultation .medicine-consultation-flow h4 {
  margin: 16px 0 12px;
  color: #fff;
  font-family: var(--pp-font-display);
  font-size: clamp(28px, calc(3.2 * var(--pp-wide-vw, 1vw)), 44px);
  line-height: 1.05;
  text-shadow: 0 2px 4px rgba(0, 26, 43, .84), 0 0 14px rgba(0, 26, 43, .38) !important;
}

body[data-page="region01"] #medicine-consultation .medicine-consultation-flow header p {
  max-width: 780px;
  margin: 0;
  color: rgba(255, 255, 255, .92);
  font-size: clamp(15px, calc(1.25 * var(--pp-wide-vw, 1vw)), 18px);
  font-weight: 600;
  line-height: 1.8;
  text-shadow: 0 2px 4px rgba(0, 26, 43, .84), 0 0 14px rgba(0, 26, 43, .38) !important;
}

/* Region01: split the six issue cards beneath their related service blocks. */
body[data-page="region01"] #medicine-issues {
  scroll-margin-top: calc(var(--pp-global-header-height, 76px) + 24px);
}

body[data-page="region01"] #medicine-issues .medicine-issue-subsection {
  margin-top: clamp(54px, calc(6 * var(--pp-wide-vw, 1vw)), 78px);
}

body[data-page="region01"] #medicine-issues .medicine-issue-subsection__heading {
  --medicine-consultation-heading-gutter: clamp(34px, calc(5 * var(--pp-wide-vw, 1vw)), 68px);
  width: calc(100% + var(--medicine-consultation-heading-gutter) + var(--medicine-consultation-heading-gutter));
  margin: 0 0 38px calc(0px - var(--medicine-consultation-heading-gutter));
}

body[data-page="region01"] #medicine-issues .medicine-issue-subsection__heading > span {
  display: block;
  margin: 0 0 8px;
  color: #fff;
  font-family: var(--pp-font-latin);
  font-size: var(--pp-page-label-size);
  font-weight: var(--pp-page-label-weight);
  line-height: var(--pp-page-label-line-height);
  letter-spacing: var(--pp-page-label-letter-spacing);
  text-shadow: var(--pp-image-copy-shadow) !important;
}

body[data-page="region01"] #medicine-issues .medicine-issue-subsection__heading h4 {
  margin: 16px 0 12px;
  color: #fff;
  font-family: var(--pp-font-display);
  font-size: clamp(28px, calc(3.2 * var(--pp-wide-vw, 1vw)), 44px);
  font-weight: 800;
  line-height: 1.05;
  letter-spacing: -.07em;
  text-shadow: 0 2px 4px rgba(0, 26, 43, .84), 0 0 14px rgba(0, 26, 43, .38) !important;
}

body[data-page="region01"] #medicine-issues .medicine-issue-subsection__heading p {
  max-width: 780px;
  margin: 0;
  color: rgba(255, 255, 255, .82);
  font-size: var(--pp-page-lead-size, clamp(14px, calc(1.25 * var(--pp-wide-vw, 1vw)), 17px));
  font-weight: var(--pp-page-lead-weight, 700);
  line-height: var(--pp-page-lead-line-height, 1.8);
  letter-spacing: var(--pp-page-lead-letter-spacing, 0);
  text-shadow: var(--pp-image-heading-shadow) !important;
}

body[data-page="region01"] #medicine-consultation .medicine-consultation-flow ol {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0;
  padding: 0;
  list-style: none;
}

body[data-page="region01"] #medicine-consultation .medicine-consultation-flow li {
  --consultation-flow-accent: #765095;
  --consultation-flow-surface: rgba(237, 229, 245, .95);
  position: relative;
  min-height: 176px;
  padding: 27px clamp(20px, calc(2.4 * var(--pp-wide-vw, 1vw)), 34px);
  border-top: 1px solid var(--consultation-flow-accent);
  border-bottom: 1px solid var(--consultation-flow-accent);
  background: var(--consultation-flow-surface);
}

body[data-page="region01"] #medicine-consultation .medicine-consultation-flow li:nth-child(2) {
  --consultation-flow-accent: #684383;
  --consultation-flow-surface: rgba(228, 216, 239, .96);
}

body[data-page="region01"] #medicine-consultation .medicine-consultation-flow li:nth-child(3) {
  --consultation-flow-accent: #5f3d78;
  --consultation-flow-surface: rgba(218, 201, 233, .96);
}

body[data-page="region01"] #medicine-consultation .medicine-consultation-flow li + li {
  border-left: 1px dashed rgba(79, 48, 101, .38);
}

body[data-page="region01"] #medicine-consultation .medicine-consultation-flow li:not(:last-child)::after {
  position: absolute;
  z-index: 1;
  top: 50%;
  right: -8px;
  width: 15px;
  height: 15px;
  border-top: 1px solid var(--consultation-flow-accent);
  border-right: 1px solid var(--consultation-flow-accent);
  background: var(--consultation-flow-surface);
  content: "";
  transform: translateY(-50%) rotate(45deg);
}

body[data-page="region01"] #medicine-consultation .medicine-consultation-flow li > span {
  display: block;
  margin-bottom: 13px;
  color: var(--consultation-flow-accent);
  font-family: var(--pp-font-latin);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .18em;
}

body[data-page="region01"] #medicine-consultation .medicine-consultation-flow li > strong {
  display: block;
  color: #392448;
  font-size: clamp(17px, calc(1.45 * var(--pp-wide-vw, 1vw)), 21px);
  line-height: 1.45;
}

body[data-page="region01"] #medicine-consultation .medicine-consultation-flow li > small {
  display: block;
  margin-top: 12px;
  color: #55445f;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.75;
}

body[data-page="region01"] :is(#medicine-consultation, #medicine-operations) .medicine-consultation-icon-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(10px, calc(1 * var(--pp-wide-vw, 1vw)), 14px);
  align-items: stretch;
}

body[data-page="region01"] #medicine-consultation .medicine-consultation-icon-card {
  display: grid;
  min-width: 0;
  grid-template-rows: auto 1fr;
  border-bottom: 1px solid rgba(1, 54, 65, .24);
  background: rgba(255, 255, 255, .88);
}

body[data-page="region01"] #medicine-consultation .medicine-consultation-icon-card .medicine-consultation-icon {
  width: 100%;
}

body[data-page="region01"] #medicine-consultation .medicine-consultation-icon-card__description {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: 10px;
  padding: 18px 18px 21px;
  color: #27404d;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.75;
}

body[data-page="region01"] #medicine-consultation .medicine-consultation-icon-card__number {
  display: block;
  padding-top: .3em;
  color: var(--pp-primary-strong, #2f8eb6);
  font-family: var(--pp-font-latin, "Segoe UI", sans-serif);
  font-size: 16px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: .08em;
}

body[data-page="region01"] #medicine-consultation .medicine-consultation-icon-card__copy > strong {
  display: block;
  margin-bottom: 9px;
  color: #123e50;
  font-size: 15px;
  font-weight: 800;
  line-height: 1.55;
}

body[data-page="region01"] #medicine-consultation .medicine-consultation-icon-card__copy > strong > small {
  display: block;
  margin-top: 2px;
  font-family: var(--pp-font-latin, "Segoe UI", sans-serif);
  font-size: 11px;
  line-height: 1.35;
}

body[data-page="region01"] #medicine-consultation .medicine-consultation-icon-card__description p,
body[data-page="region01"] #medicine-consultation .medicine-consultation-icon-card__description ul {
  margin: 0;
}

body[data-page="region01"] #medicine-consultation .medicine-consultation-icon-card__description ul {
  display: grid;
  gap: 8px;
  padding: 0;
  list-style: none;
}

body[data-page="region01"] #medicine-consultation .medicine-consultation-icon-card__description li {
  position: relative;
  padding-left: 15px;
}

body[data-page="region01"] #medicine-consultation .medicine-consultation-icon-card__description li::before {
  position: absolute;
  top: .72em;
  left: 0;
  width: 5px;
  height: 5px;
  background: var(--pp-primary-strong, #2f8eb6);
  content: "";
}

body[data-page="region01"] #medicine-consultation .medicine-consultation-icon-card__copy > p + ul,
body[data-page="region01"] #medicine-consultation .medicine-consultation-icon-card__links {
  margin-top: 12px;
}

body[data-page="region01"] #medicine-consultation .medicine-consultation-icon-card__links {
  display: grid;
  gap: 7px;
}

body[data-page="region01"] #medicine-consultation .medicine-consultation-icon-card__links a {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding-bottom: 4px;
  border-bottom: 1px solid rgba(47, 142, 182, .42);
  color: var(--pp-deep, #004a99);
  font-size: 11px;
  font-weight: 800;
  line-height: 1.5;
  text-decoration: none;
}

body[data-page="region01"] #medicine-consultation .medicine-consultation-icon-card__links a:is(:hover, :focus-visible) {
  color: var(--pp-primary-strong, #2f8eb6);
}

body[data-page="region01"] #medicine-consultation .medicine-consultation-icon-card__links a:focus-visible {
  outline: 2px solid var(--pp-primary-strong, #2f8eb6);
  outline-offset: 2px;
}

body[data-page="region01"] #medicine-operations .medicine-operation-icon-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
}

body[data-page="region01"] #medicine-operations .medicine-operation-icon-card {
  display: grid;
  min-width: 0;
  grid-template-rows: auto 1fr;
  border-bottom: 1px solid rgba(1, 54, 65, .24);
  background: rgba(255, 255, 255, .88);
}

body[data-page="region01"] #medicine-operations .medicine-operation-icon-card .medicine-consultation-icon {
  width: 100%;
}

body[data-page="region01"] #medicine-operations .medicine-operation-icon-card__description {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: 10px;
  padding: 18px 20px 21px;
  color: #27404d;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.75;
}

body[data-page="region01"] #medicine-operations .medicine-operation-icon-card__number {
  display: block;
  padding-top: .3em;
  color: var(--pp-primary-strong, #2f8eb6);
  font-family: var(--pp-font-latin, "Segoe UI", sans-serif);
  font-size: 16px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: .08em;
}

body[data-page="region01"] #medicine-operations .medicine-operation-icon-card__copy > strong {
  display: block;
  margin-bottom: 9px;
  color: #123e50;
  font-size: 15px;
  font-weight: 800;
  line-height: 1.55;
}

body[data-page="region01"] #medicine-operations .medicine-operation-icon-card__description p,
body[data-page="region01"] #medicine-operations .medicine-operation-icon-card__description ul {
  margin: 0;
}

body[data-page="region01"] #medicine-operations .medicine-operation-icon-card__description ul {
  display: grid;
  gap: 8px;
  padding: 0;
  list-style: none;
}

body[data-page="region01"] #medicine-operations .medicine-operation-icon-card__description li {
  position: relative;
  padding-left: 15px;
}

body[data-page="region01"] #medicine-operations .medicine-operation-icon-card__description li::before {
  position: absolute;
  top: .72em;
  left: 0;
  width: 5px;
  height: 5px;
  background: var(--pp-primary-strong, #2f8eb6);
  content: "";
}

body[data-page="region01"] :is(#medicine-consultation, #medicine-operations) .medicine-consultation-icon {
  position: relative;
  isolation: isolate;
  display: block;
  min-width: 0;
  height: clamp(160px, calc(14 * var(--pp-wide-vw, 1vw)), 190px);
  overflow: hidden;
  color: #fff;
  background: #013641;
  text-decoration: none;
}

body[data-page="region01"] :is(#medicine-consultation, #medicine-operations) .medicine-consultation-icon::before {
  position: absolute;
  z-index: 1;
  inset: 0;
  background: rgba(1, 54, 65, .54);
  content: "";
  transition: background-color 180ms ease;
}

body[data-page="region01"] :is(#medicine-consultation, #medicine-operations) .medicine-consultation-icon::after {
  position: absolute;
  z-index: 3;
  inset: 6px;
  background:
    linear-gradient(#fff, #fff) left top / 0 2px no-repeat,
    linear-gradient(#fff, #fff) right top / 2px 0 no-repeat,
    linear-gradient(#fff, #fff) right bottom / 0 2px no-repeat,
    linear-gradient(#fff, #fff) left bottom / 2px 0 no-repeat;
  content: "";
  opacity: 0;
  pointer-events: none;
}

body[data-page="region01"] :is(#medicine-consultation, #medicine-operations) .medicine-consultation-icon > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: contrast(1.03) saturate(.94);
  transform: scale(1.01);
  transition: filter 180ms ease, transform 300ms ease;
}

body[data-page="region01"] :is(#medicine-consultation, #medicine-operations) .medicine-consultation-icon > span {
  position: absolute;
  z-index: 2;
  inset: 0;
  display: grid;
  padding: 20px 14px;
  place-items: center;
  text-align: center;
}

body[data-page="region01"] :is(#medicine-consultation, #medicine-operations) .medicine-consultation-icon strong {
  color: #fff;
  font-size: clamp(15px, calc(1.35 * var(--pp-wide-vw, 1vw)), 20px);
  font-weight: 800;
  line-height: 1.4;
  text-shadow: 0 2px 10px rgba(1, 35, 48, .48);
  transition: transform 220ms ease;
}

body[data-page="region01"] #medicine-consultation .medicine-consultation-icon__academy-title {
  display: grid;
  gap: 4px;
}

body[data-page="region01"] #medicine-consultation .medicine-consultation-icon__academy-title > span:last-child {
  font-size: .64em;
  font-weight: 700;
  letter-spacing: .03em;
}

body[data-page="region01"] :is(#medicine-consultation, #medicine-operations) .medicine-consultation-icon sup {
  font-size: .55em;
}

body[data-page="region01"] :is(#medicine-consultation, #medicine-operations) .medicine-consultation-icon small {
  position: absolute;
  bottom: 18px;
  left: 50%;
  display: inline-flex;
  min-width: 94px;
  justify-content: center;
  gap: 7px;
  padding-bottom: 5px;
  border-bottom: 1px solid rgba(255, 255, 255, .78);
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  opacity: 0;
  transform: translate(-50%, 8px);
  transition: opacity 220ms ease, transform 220ms ease;
  white-space: nowrap;
}

body[data-page="region01"] :is(#medicine-consultation, #medicine-operations) .medicine-consultation-icon small::after {
  content: "→";
}

body[data-page="region01"] :is(#medicine-consultation, #medicine-operations) .medicine-consultation-icon:is(:hover, :focus-visible)::before {
  background: rgba(1, 54, 65, .68);
}

body[data-page="region01"] :is(#medicine-consultation, #medicine-operations) .medicine-consultation-icon:is(:hover, :focus-visible)::after {
  opacity: 1;
  animation: top-service-outline-draw 620ms cubic-bezier(.2, .8, .2, 1) forwards;
}

body[data-page="region01"] :is(#medicine-consultation, #medicine-operations) .medicine-consultation-icon:is(:hover, :focus-visible) > img {
  filter: contrast(1.03) saturate(1.06);
  transform: scale(1.045);
}

body[data-page="region01"] :is(#medicine-consultation, #medicine-operations) .medicine-consultation-icon:is(:hover, :focus-visible) strong {
  transform: translateY(-18px);
}

body[data-page="region01"] :is(#medicine-consultation, #medicine-operations) .medicine-consultation-icon:is(:hover, :focus-visible) small {
  opacity: 1;
  transform: translate(-50%, 0);
}

body[data-page="region01"] :is(#medicine-consultation, #medicine-operations) .medicine-consultation-icon:focus-visible {
  outline: 3px solid #9edff6;
  outline-offset: 3px;
}

/* Academy: match the GMP page's warm-white atmospheric blur. */
body[data-page="service-academy"] .regulated-page {
  background: #faf7ef;
}

body[data-page="service-academy"] .regulated-page::before {
  background-image:
    linear-gradient(rgba(252, 249, 241, .84), rgba(252, 249, 241, .84)),
    var(--page-image) !important;
  filter: blur(27px) saturate(.35) contrast(.84) brightness(1.20);
  transform: scale(1.18);
}

body[data-page="service-academy"] .regulated-page::after {
  background: rgba(252, 249, 241, .52);
  background-size: auto;
}

body[data-page="service-academy"] .page-intro {
  max-width: 1050px;
  min-height: 248px;
  color: #fff;
}

body[data-page="service-academy"] .page-intro .eyebrow {
  width: auto;
  margin-bottom: 16px;
  padding: 0;
  border-left: 0;
  color: #fff;
  background: transparent;
  box-shadow: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}

body[data-page="service-academy"] .page-intro h1 {
  margin: 0 0 18px;
}

body[data-page="service-academy"] .page-intro > p {
  max-width: 760px;
  margin: 0;
  color: rgba(255, 255, 255, .88);
}

body[data-page="service-academy"] .page-intro :is(.eyebrow, h1, p),
body[data-page="service-academy"] .page-intro h1 > span {
  text-shadow:
    0 2px 4px rgba(0, 26, 43, .84),
    0 0 14px rgba(0, 26, 43, .38) !important;
}

body[data-page="service-academy"] .page-intro h1 > span {
  padding-bottom: 0;
  border-bottom: 0;
  color: #fff;
}

body[data-page="service-academy"] .academy-intro-tags {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  width: min(100%, 440px);
  margin-top: 28px;
  border-bottom: 4px solid #2f5d78;
}

body[data-page="service-academy"] .academy-intro-tags a {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  min-width: 0;
  align-items: center;
  gap: 12px;
  min-height: 62px;
  padding: 10px 15px;
  border: 0;
  border-left: 1px solid var(--pp-border, #cfe4ef);
  color: #071b2c;
  background: transparent;
  text-decoration: none;
  transition: color 180ms ease, background-color 180ms ease;
}

body[data-page="service-academy"] .academy-intro-tags a:first-child {
  border-left: 0;
}

body[data-page="service-academy"] .academy-intro-tags a[aria-current="location"] {
  color: #fff;
  background: #2f5d78;
}

body[data-page="service-academy"] .academy-intro-tags a:is(:hover, :focus-visible) {
  color: #fff;
  background: #4a738a;
}

body[data-page="service-academy"] .academy-intro-tags a:focus-visible {
  position: relative;
  z-index: 1;
  outline: 2px solid #071b2c;
  outline-offset: 2px;
}

body[data-page="service-academy"] .academy-intro-tags span {
  color: var(--pp-primary-strong, #2f8eb6);
  font-family: var(--pp-font-latin);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .14em;
}

body[data-page="service-academy"] .academy-intro-tags a[aria-current="location"] span,
body[data-page="service-academy"] .academy-intro-tags a:is(:hover, :focus-visible) span {
  color: #fff;
}

body[data-page="service-academy"] .academy-intro-tags strong {
  font-size: 14px;
  line-height: 1.45;
}

@media (max-width: 640px) {
  body[data-page="service-academy"] .academy-intro-tags {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body[data-page="service-academy"] .academy-intro-tags a {
    width: 100%;
    grid-template-columns: 24px minmax(0, 1fr);
    gap: 8px;
    padding-inline: 12px;
  }
}

body[data-page="service-academy"] .academy-program-card {
  display: grid;
  grid-template-columns: minmax(72px, 10%) minmax(0, 1fr);
  gap: 0;
  overflow: hidden;
  padding: 0;
  border-top: 4px solid var(--pp-primary, #4eabd8);
}

body[data-page="service-academy"] .academy-process-box {
  display: grid;
  grid-template-columns: minmax(0, 42%) minmax(64px, 8.5%) minmax(0, 1fr);
  min-height: clamp(330px, calc(31 * var(--pp-wide-vw, 1vw)), 390px);
  overflow: hidden;
  color: #fff;
  background: #071f31;
  box-shadow: var(--pp-card-shadow);
}

body[data-page="service-academy"] .academy-process-box__summary {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(30px, calc(4 * var(--pp-wide-vw, 1vw)), 48px);
  background:
    linear-gradient(135deg, rgba(39, 143, 188, .86), rgba(36, 124, 165, .72)),
    url("images/meister/gmp-meister-branding-school-of-athens.jpg") center / cover no-repeat;
}

body[data-page="service-academy"] .academy-process-box--auditor .academy-process-box__summary {
  background:
    linear-gradient(135deg, rgba(39, 143, 188, .9), rgba(27, 104, 143, .76)),
    url("images/academy/auditor-3d-plant.png") center / cover no-repeat;
}

body[data-page="service-academy"] .academy-process-box--auditor .academy-process-box__image img {
  object-fit: contain;
  object-position: center;
  background: #e8f1f5;
}

body[data-page="service-academy"] .academy-process-box__summary::after {
  position: absolute;
  inset: 0;
  z-index: -1;
  background: radial-gradient(circle at 78% 72%,
    transparent 0 25%,
    rgba(255, 255, 255, .18) 25.2% 25.6%,
    transparent 25.8% 38%,
    rgba(255, 255, 255, .13) 38.2% 38.6%,
    transparent 38.8% 52%,
    rgba(255, 255, 255, .08) 52.2% 52.6%,
    transparent 52.8%);
  content: "";
  pointer-events: none;
}

body[data-page="service-academy"] :is(#academy-elearning, #academy-auditor-training) > .academy-process-box__summary::after {
  content: none;
}

body[data-page="service-academy"] .academy-process-box__number {
  margin-bottom: auto;
  font-family: var(--pp-font-latin);
  font-size: clamp(38px, calc(4.4 * var(--pp-wide-vw, 1vw)), 58px);
  font-weight: 300;
  line-height: 1;
}

body[data-page="service-academy"] .academy-process-box__summary .eyebrow {
  margin-top: 26px;
  color: rgba(255, 255, 255, .9);
}

body[data-page="service-academy"] .academy-process-box__summary .section-heading {
  margin: 12px 0 0;
  color: #fff;
  font-size: clamp(28px, calc(3 * var(--pp-wide-vw, 1vw)), 40px);
  text-shadow: 0 2px 5px rgba(0, 35, 58, .28);
}

body[data-page="service-academy"] .academy-process-box__toggle {
  position: relative;
  z-index: 3;
  display: grid;
  min-width: 64px;
  padding: 0;
  place-items: center;
  border: 0;
  border-right: 1px solid rgba(255, 255, 255, .58);
  border-left: 1px solid rgba(255, 255, 255, .58);
  background: rgba(54, 150, 195, .78);
  color: #fff;
  cursor: pointer;
}

body[data-page="service-academy"] .academy-process-box__toggle i {
  font-size: 27px;
  transition: transform 200ms ease;
}

body[data-page="service-academy"] .academy-process-box.is-open .academy-process-box__toggle i {
  transform: rotate(180deg);
}

body[data-page="service-academy"] .academy-process-box__toggle:is(:hover, :focus-visible) {
  background: rgba(43, 137, 181, .96);
}

body[data-page="service-academy"] .academy-process-box__toggle:focus-visible {
  outline: 3px solid #fff;
  outline-offset: -6px;
}

body[data-page="service-academy"] .academy-process-box__panel {
  display: grid;
  min-width: 0;
  overflow: hidden;
}

body[data-page="service-academy"] :is(.academy-process-box__image, .academy-process-box__detail) {
  grid-area: 1 / 1;
  min-width: 0;
}

body[data-page="service-academy"] .academy-process-box__image {
  min-height: 100%;
  margin: 0;
  background: #dce8ee;
  opacity: 1;
  transition: opacity 240ms ease, transform 300ms cubic-bezier(.22, 1, .36, 1);
}

body[data-page="service-academy"] .academy-process-box__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 48% center;
}

body[data-page="service-academy"] .academy-process-box__detail {
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(26px, calc(3.4 * var(--pp-wide-vw, 1vw)), 44px);
  background: linear-gradient(135deg, rgba(7, 31, 49, .96), rgba(11, 52, 77, .9));
  opacity: 0;
  pointer-events: none;
  transform: translateX(18px);
  transition: opacity 220ms ease, transform 300ms cubic-bezier(.22, 1, .36, 1);
}

body[data-page="service-academy"] .academy-process-box.is-open .academy-process-box__image {
  opacity: 0;
  transform: scale(1.02);
}

body[data-page="service-academy"] .academy-process-box.is-open .academy-process-box__detail {
  opacity: 1;
  pointer-events: auto;
  transform: none;
}

body[data-page="service-academy"] .academy-process-box__detail .section-lead {
  margin: 0 0 18px;
  color: rgba(255, 255, 255, .92);
  font-size: 14px;
  line-height: 1.75;
}

body[data-page="service-academy"] .academy-process-box__detail .academy-program-card__points {
  margin: 0;
  color: #fff;
}

body[data-page="service-academy"] .academy-process-box__detail .academy-program-card__points li {
  color: #fff;
  font-size: 13px;
  line-height: 1.65;
}

body[data-page="service-academy"] .academy-process-box__detail .academy-program-card__links {
  gap: 8px 20px;
}

body[data-page="service-academy"] .academy-process-box__detail .academy-program-card__link {
  min-height: 36px;
  margin-top: 12px;
  color: #fff;
  font-size: 12px;
}

body[data-page="service-academy"] .academy-elearning-guide {
  overflow: hidden;
  border: 0;
  background: transparent;
  box-shadow: none;
}

body[data-page="service-academy"] .academy-auditor-guide {
  --academy-auditor-guide-gutter: clamp(30px, calc(4.5 * var(--pp-wide-vw, 1vw)), 58px);
  padding: clamp(30px, calc(4.5 * var(--pp-wide-vw, 1vw)), 58px);
  background: transparent;
}

body[data-page="service-academy"] .academy-auditor-guide > .academy-auditor-source-detail:first-child {
  margin-top: 0;
}

body[data-page="service-academy"] .academy-elearning-guide__header {
  padding: clamp(24px, calc(3 * var(--pp-wide-vw, 1vw)), 38px) clamp(22px, calc(3.4 * var(--pp-wide-vw, 1vw)), 48px) clamp(20px, calc(2.5 * var(--pp-wide-vw, 1vw)), 30px);
  border-bottom: 0;
  background: transparent;
}

body[data-page="service-academy"] .academy-elearning-guide__header .eyebrow {
  display: block;
  margin-bottom: 7px;
  color: #2f5d78;
  font-family: var(--pp-font-latin);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .17em;
}

body[data-page="service-academy"] .academy-elearning-guide__header .section-heading {
  width: fit-content;
  max-width: none;
  margin: 0;
  color: var(--pp-text, #1e2f3a);
  font-size: clamp(32px, calc(4 * var(--pp-wide-vw, 1vw)), 56px);
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: .02em;
}

@media (min-width: 981px) {
  body[data-page="service-academy"] .academy-elearning-guide__header .section-heading {
    white-space: nowrap;
  }
}

body[data-page="service-academy"] .academy-elearning-guide__header > p {
  max-width: 46em;
  margin: 10px 0 0;
  color: #455965;
  font-size: clamp(13px, calc(1 * var(--pp-wide-vw, 1vw)), 15px);
  line-height: 1.8;
}

body[data-page="service-academy"] .academy-elearning-guide__outcomes {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: clamp(36px, calc(5 * var(--pp-wide-vw, 1vw)), 52px) 0 0;
  padding: 0 12px;
}

body[data-page="service-academy"] .academy-elearning-guide__feature-guide {
  margin-top: clamp(42px, calc(5 * var(--pp-wide-vw, 1vw)), 66px);
}

body[data-page="service-academy"] .academy-elearning-guide__feature-head {
  padding: clamp(24px, calc(3 * var(--pp-wide-vw, 1vw)), 38px) clamp(22px, calc(3.4 * var(--pp-wide-vw, 1vw)), 48px) clamp(20px, calc(2.5 * var(--pp-wide-vw, 1vw)), 30px);
}

body[data-page="service-academy"] .academy-elearning-guide__feature-head .eyebrow {
  display: block;
  margin-bottom: 7px;
  color: #2f5d78;
  font-family: var(--pp-font-latin);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .17em;
}

body[data-page="service-academy"] .academy-elearning-guide__feature-head h3 {
  margin: 0;
  color: var(--pp-text, #1e2f3a);
  font-size: clamp(25px, calc(2.7 * var(--pp-wide-vw, 1vw)), 38px);
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: .02em;
}

body[data-page="service-academy"] .academy-elearning-guide__feature-head p {
  max-width: 46em;
  margin: 10px 0 0;
  color: #455965;
  font-size: clamp(13px, calc(1 * var(--pp-wide-vw, 1vw)), 15px);
  line-height: 1.8;
}

body[data-page="service-academy"] .academy-elearning-guide__feature-tabs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

body[data-page="service-academy"] .academy-elearning-guide__feature-tabs button {
  min-height: 64px;
  padding: 9px 13px 7px;
  border: 0;
  border-left: 1px solid rgba(255, 255, 255, .42);
  border-bottom: 4px solid #2f5d78;
  border-radius: 0;
  color: #071b2c;
  background: transparent;
  cursor: pointer;
  font: inherit;
  font-size: clamp(12px, calc(1 * var(--pp-wide-vw, 1vw)), 14px);
  font-weight: 800;
  line-height: 1.3;
  text-align: left;
  transition: color 180ms ease-out, border-color 180ms ease-out, background-color 180ms ease-out;
}

body[data-page="service-academy"] .academy-elearning-guide__feature-tabs button:first-child {
  border-left: 0;
}

body[data-page="service-academy"] .academy-elearning-guide__feature-tabs button[aria-selected="true"] {
  color: #fff;
  background: #2f5d78;
}

body[data-page="service-academy"] .academy-elearning-guide__feature-tabs button:not([aria-selected="true"]):is(:hover, :focus-visible) {
  background: rgba(78, 171, 216, .1);
}

body[data-page="service-academy"] .academy-elearning-guide__feature-tabs button:focus-visible {
  position: relative;
  z-index: 1;
  outline: 2px solid #071b2c;
  outline-offset: 2px;
}

body[data-page="service-academy"] .academy-elearning-guide__feature-panel[hidden] {
  display: none;
}

body[data-page="service-academy"] .academy-elearning-guide__metrics {
  display: grid;
  grid-template-columns: repeat(2, max-content) minmax(0, 1fr);
  align-content: center;
  gap: 4px 24px;
  padding: clamp(28px, calc(4 * var(--pp-wide-vw, 1vw)), 48px);
  background: var(--pp-ink, #013641);
  color: #fff;
}

body[data-page="service-academy"] .academy-elearning-guide__metrics > .eyebrow,
body[data-page="service-academy"] .academy-elearning-guide__metrics > .eyebrow {
  grid-column: 1 / -1;
}

body[data-page="service-academy"] .academy-elearning-guide__metrics .eyebrow {
  margin-bottom: 10px;
  color: #7bd0f1;
}

body[data-page="service-academy"] .academy-elearning-guide__metrics p {
  display: flex;
  align-items: baseline;
  gap: 6px;
  margin: 0;
}

body[data-page="service-academy"] .academy-elearning-guide__metrics strong {
  font-family: var(--pp-font-latin);
  font-size: clamp(42px, calc(5 * var(--pp-wide-vw, 1vw)), 64px);
  font-weight: 300;
  line-height: 1;
}

body[data-page="service-academy"] .academy-elearning-guide__metrics p > span {
  font-size: 12px;
  font-weight: 700;
}

body[data-page="service-academy"] .academy-elearning-guide__metrics small {
  grid-row: 2;
  grid-column: 3;
  align-self: center;
  max-width: 42ch;
  margin-left: clamp(8px, calc(2 * var(--pp-wide-vw, 1vw)), 30px);
  color: rgba(255, 255, 255, .72);
  font-size: 14px;
  line-height: 1.8;
}

body[data-page="service-academy"] .academy-elearning-guide__feature-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0;
  padding: clamp(28px, calc(4 * var(--pp-wide-vw, 1vw)), 48px);
  list-style: none;
}

body[data-page="service-academy"] .academy-elearning-guide__feature-list li {
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr);
  gap: 14px;
  padding: 20px;
  border: 0;
}

body[data-page="service-academy"] .academy-elearning-guide__feature-list li:nth-child(odd) {
  border-right: 0;
}

body[data-page="service-academy"] .academy-elearning-guide__feature-list .academy-elearning-guide__feature--new {
  grid-column: 1 / -1;
  border-right: 0;
  background: rgba(78, 171, 216, .07);
}

body[data-page="service-academy"] .academy-elearning-guide__feature-list li > span {
  color: var(--pp-primary-strong, #2f8eb6);
  font-family: var(--pp-font-latin);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .08em;
}

body[data-page="service-academy"] .academy-elearning-guide__feature-list strong {
  display: block;
  color: var(--pp-ink, #013641);
  font-size: 15px;
  line-height: 1.55;
}

body[data-page="service-academy"] .academy-elearning-guide__new-badge {
  display: inline-flex;
  align-items: center;
  min-height: 20px;
  margin-left: 8px;
  padding: 2px 8px;
  border-radius: 999px;
  color: #fff;
  background: var(--pp-primary-strong, #2f8eb6);
  font-family: var(--pp-font-latin);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .08em;
  line-height: 1;
  vertical-align: middle;
}

body[data-page="service-academy"] .academy-elearning-guide__feature-list p {
  margin: 8px 0 0;
  color: rgba(30, 47, 58, .76);
  font-size: 12px;
  line-height: 1.75;
}

body[data-page="service-academy"] .academy-elearning-guide__screen {
  display: grid;
  grid-template-columns: minmax(230px, 34%) minmax(0, 1fr);
  align-items: stretch;
  margin: 0;
  border-top: 0;
  background: #edf7fb;
}

body[data-page="service-academy"] .academy-elearning-guide__screen figcaption {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(28px, calc(4 * var(--pp-wide-vw, 1vw)), 48px);
}

body[data-page="service-academy"] .academy-elearning-guide__screen h3 {
  margin: 10px 0 0;
  color: var(--pp-ink, #013641);
  font-size: clamp(20px, calc(2.2 * var(--pp-wide-vw, 1vw)), 29px);
  line-height: 1.5;
}

body[data-page="service-academy"] .academy-elearning-guide__screen p {
  margin: 12px 0 0;
  color: rgba(1, 54, 65, .74);
  font-size: 13px;
  line-height: 1.8;
}

body[data-page="service-academy"] .academy-elearning-guide__screen > img {
  width: 100%;
  height: 100%;
  min-height: 280px;
  object-fit: cover;
  object-position: center;
}

body[data-page="service-academy"] .academy-elearning-guide__trial {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  padding: clamp(26px, calc(3.5 * var(--pp-wide-vw, 1vw)), 42px) clamp(28px, calc(4 * var(--pp-wide-vw, 1vw)), 48px);
  border-top: 0;
  background: linear-gradient(112deg, #eaf6fb, #f9fcfd 72%);
}

body[data-page="service-academy"] .academy-elearning-guide__trial h3 {
  margin: 8px 0 0;
  color: var(--pp-ink, #013641);
  font-size: clamp(20px, calc(2 * var(--pp-wide-vw, 1vw)), 27px);
  line-height: 1.45;
}

body[data-page="service-academy"] .academy-elearning-guide__trial p {
  margin: 8px 0 0;
  color: rgba(1, 54, 65, .74);
  font-size: 13px;
  line-height: 1.7;
}

body[data-page="service-academy"] .academy-elearning-guide__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 10px;
}

body[data-page="service-academy"] .academy-elearning-guide__actions a {
  display: inline-flex;
  min-height: 46px;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 10px 18px;
  border: 1px solid var(--pp-ink, #013641);
  color: var(--pp-ink, #013641);
  font-size: 13px;
  font-weight: 800;
  text-decoration: none;
  transition: background-color 180ms ease, color 180ms ease;
}

body[data-page="service-academy"] .academy-elearning-guide__actions a:first-child {
  background: var(--pp-ink, #013641);
  color: #fff;
}

body[data-page="service-academy"] .academy-elearning-guide__actions a:is(:hover, :focus-visible) {
  background: var(--pp-primary-strong, #2f8eb6);
  border-color: var(--pp-primary-strong, #2f8eb6);
  color: #fff;
}

body[data-page="service-academy"] .academy-elearning-guide__actions a:focus-visible {
  outline: 3px solid rgba(47, 142, 182, .32);
  outline-offset: 3px;
}

body[data-page="service-academy"] .academy-program-card__number {
  display: grid;
  align-content: start;
  justify-content: center;
  padding: clamp(28px, calc(4 * var(--pp-wide-vw, 1vw)), 48px) 12px;
  color: #fff;
  background: var(--pp-ink, #013641);
  font-family: var(--pp-font-latin);
  font-size: clamp(26px, calc(3 * var(--pp-wide-vw, 1vw)), 42px);
  font-weight: 300;
  line-height: 1;
}

body[data-page="service-academy"] .academy-program-card--auditor {
  grid-template-columns: minmax(0, 1fr);
  border-top: 0;
  background: transparent;
  box-shadow: none;
}

body[data-page="service-academy"] .academy-program-card__body {
  padding: clamp(30px, calc(4.5 * var(--pp-wide-vw, 1vw)), 58px);
}

body[data-page="service-academy"] .academy-program-card__body .section-lead {
  max-width: 760px;
}

body[data-page="service-academy"] .academy-auditor-source-detail {
  margin-top: 30px;
  margin-right: calc(var(--academy-auditor-guide-gutter) * -1);
  margin-left: calc(var(--academy-auditor-guide-gutter) * -1);
  padding: clamp(24px, calc(3 * var(--pp-wide-vw, 1vw)), 36px) clamp(30px, calc(4 * var(--pp-wide-vw, 1vw)), 48px);
  background: transparent;
  border: 0;
}

body[data-page="service-academy"] .academy-auditor-source-detail__heading > span,
body[data-page="service-academy"] .academy-auditor-source-detail__grid article > span {
  color: #2f5d78;
  font-family: var(--pp-font-latin);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .17em;
}

body[data-page="service-academy"] .academy-auditor-source-detail__heading h3 {
  width: fit-content;
  margin: 7px 0 0;
  color: #1e2f3a;
  font-size: clamp(25px, calc(2.4 * var(--pp-wide-vw, 1vw)), 38px);
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: .02em;
}

body[data-page="service-academy"] .academy-auditor-source-detail__heading p {
  max-width: 46em;
  margin: 10px 0 0;
  color: #455965;
  font-size: clamp(13px, calc(1 * var(--pp-wide-vw, 1vw)), 15px);
  line-height: 1.8;
}

body[data-page="service-academy"] .academy-auditor-source-detail__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  margin-top: 24px;
  padding: 0;
  border: 0;
  background: transparent;
}

body[data-page="service-academy"] .academy-auditor-source-detail__grid article {
  min-width: 0;
  padding: 22px;
  background: transparent;
}

body[data-page="service-academy"] .academy-auditor-source-detail__grid article + article {
  border-left: 1px solid var(--pp-border, #cfe4ef);
}

body[data-page="service-academy"] .academy-auditor-source-detail__grid h4 {
  margin: 10px 0 0;
  color: var(--pp-ink, #013641);
  font-size: 16px;
  line-height: 1.6;
}

body[data-page="service-academy"] .academy-auditor-source-detail__grid p {
  margin: 10px 0 0;
  color: var(--pp-text, #1e2f3a);
  font-size: 14px;
  line-height: 1.8;
}

body[data-page="service-academy"] .academy-auditor-media {
  margin-top: 30px;
  padding: clamp(24px, calc(3 * var(--pp-wide-vw, 1vw)), 36px);
  border: 0;
  background: transparent;
}

body[data-page="service-academy"] .academy-auditor-media__heading > div > span {
  color: #2f5d78;
  font-family: var(--pp-font-latin);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .17em;
}

body[data-page="service-academy"] .academy-auditor-media__heading h3 {
  width: fit-content;
  margin: 7px 0 0;
  color: var(--pp-text, #1e2f3a);
  font-size: clamp(25px, calc(2.7 * var(--pp-wide-vw, 1vw)), 38px);
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: .02em;
}

body[data-page="service-academy"] .academy-auditor-media__heading p {
  max-width: 46em;
  margin: 10px 0 0;
  color: #455965;
  font-size: clamp(13px, calc(1 * var(--pp-wide-vw, 1vw)), 15px);
  line-height: 1.8;
}

body[data-page="service-academy"] .academy-auditor-media__videos {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  margin-top: 26px;
}

body[data-page="service-academy"] .academy-auditor-media figure {
  min-width: 0;
  margin: 0;
}

body[data-page="service-academy"] .academy-auditor-media__video {
  position: relative;
  overflow: hidden;
  aspect-ratio: 16 / 9;
  background: var(--pp-ink, #013641);
}

body[data-page="service-academy"] .academy-auditor-media__video iframe {
  width: 100%;
  height: 100%;
  border: 0;
}

body[data-page="service-academy"] .academy-auditor-media__video-link {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  overflow: hidden;
  color: #fff;
  text-decoration: none;
}

body[data-page="service-academy"] .academy-auditor-media__video-link img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .35s ease, filter .35s ease;
}

body[data-page="service-academy"] .academy-auditor-media__video-link > span {
  position: absolute;
  top: 50%;
  left: 50%;
  display: grid;
  width: 76px;
  height: 54px;
  place-items: center;
  border-radius: 12px;
  background: #f00;
  font-size: 29px;
  transform: translate(-50%, -50%);
  transition: transform .2s ease, background-color .2s ease;
}

body[data-page="service-academy"] .academy-auditor-media__video-link small {
  position: absolute;
  right: 16px;
  bottom: 14px;
  padding: 7px 11px;
  background: rgba(0, 31, 43, .82);
  font-size: 12px;
  font-weight: 800;
}

body[data-page="service-academy"] .academy-auditor-media__video-link:is(:hover, :focus-visible) img {
  filter: brightness(.86);
  transform: scale(1.025);
}

body[data-page="service-academy"] .academy-auditor-media__video-link:is(:hover, :focus-visible) > span {
  background: #c00;
  transform: translate(-50%, -50%) scale(1.08);
}

body[data-page="service-academy"] .academy-auditor-media__video-link:focus-visible {
  outline: 3px solid var(--pp-primary, #4eabd8);
  outline-offset: -3px;
}

body[data-page="service-academy"] .academy-auditor-media__videos figcaption {
  padding: 12px 0 0;
  color: var(--pp-muted, #64727c);
  font-size: 13px;
  line-height: 1.7;
}

body[data-page="service-academy"] .academy-auditor-media__training-image {
  display: grid;
  overflow: hidden;
  aspect-ratio: 16 / 9;
  place-items: center;
  background: #dfe9ee;
}

body[data-page="service-academy"] .academy-auditor-media__training-image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

body[data-page="service-academy"] .academy-auditor-media__story {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(16px, calc(2.4 * var(--pp-wide-vw, 1vw)), 28px);
  margin-top: 28px;
  padding: 0;
  border: 0;
  background: transparent;
}

body[data-page="service-academy"] .academy-auditor-media__story figure {
  display: grid;
  grid-template-rows: auto auto;
  overflow: visible;
  aspect-ratio: auto;
  border: 0;
  background: transparent;
}

body[data-page="service-academy"] .academy-auditor-media__story-lead {
  grid-column: 1 / -1;
  grid-template-columns: minmax(0, 1.35fr) minmax(230px, .65fr);
  grid-template-rows: none;
  border-bottom: 1px solid var(--pp-border, #cfe4ef);
}

body[data-page="service-academy"] .academy-auditor-media__story > figure:nth-child(n + 3) {
  border-left: 0;
}

body[data-page="service-academy"] .academy-auditor-media__story img {
  display: block;
  width: 100%;
  height: auto;
  min-height: 0;
  aspect-ratio: 16 / 9;
  background: var(--pp-ink, #013641);
  object-fit: cover;
}

body[data-page="service-academy"] .academy-auditor-media__story figcaption {
  padding: 14px 4px 2px;
  color: rgba(7, 27, 44, .78);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.75;
}

body[data-page="service-academy"] .academy-auditor-media__inquiry {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 24px;
  align-items: center;
  margin-top: 24px;
  padding: 20px 22px;
  border-left: 4px solid var(--pp-primary, #4eabd8);
  background: transparent;
}

body[data-page="service-academy"] .academy-auditor-media__inquiry p {
  display: grid;
  gap: 5px;
  margin: 0;
}

body[data-page="service-academy"] .academy-auditor-media__inquiry p span {
  color: var(--pp-text, #1e2f3a);
  font-size: 13px;
  line-height: 1.7;
}

body[data-page="service-academy"] .academy-auditor-media__inquiry a {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  gap: 8px;
  color: var(--pp-deep, #004a99);
  font-weight: 800;
  text-decoration: none;
  white-space: nowrap;
}

body[data-page="service-academy"] .academy-program-card__points {
  display: grid;
  gap: 10px;
  margin: 26px 0 0;
  padding: 0;
  list-style: none;
}

body[data-page="service-academy"] .academy-program-card__points li,
body[data-page="service-academy"] .academy-auditor-grid li {
  position: relative;
  padding-left: 18px;
  color: var(--pp-text, #1e2f3a);
  line-height: 1.75;
}

body[data-page="service-academy"] .academy-program-card__points li::before,
body[data-page="service-academy"] .academy-auditor-grid li::before {
  position: absolute;
  top: .72em;
  left: 0;
  width: 5px;
  height: 5px;
  background: var(--pp-primary-strong, #2f8eb6);
  content: "";
}

body[data-page="service-academy"] .academy-auditor-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  margin-top: 30px;
  padding: 0;
  border: 1px solid var(--pp-border, #cfe4ef);
  background: transparent;
}

body[data-page="service-academy"] .academy-auditor-grid section {
  padding: 24px;
  background: transparent;
}

body[data-page="service-academy"] .academy-auditor-grid section + section {
  border-left: 1px solid var(--pp-border, #cfe4ef);
}

body[data-page="service-academy"] .academy-auditor-grid h3 {
  margin: 0;
  color: var(--pp-ink, #013641);
  font-size: 17px;
}

body[data-page="service-academy"] .academy-auditor-grid ul {
  display: grid;
  gap: 7px;
  margin: 14px 0 0;
  padding: 0;
  list-style: none;
}

body[data-page="service-academy"] .academy-auditor-flow {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: clamp(34px, calc(4 * var(--pp-wide-vw, 1vw)), 52px) 0 0;
  padding: 0 12px;
}

body[data-page="service-academy"] .academy-auditor-flow li:nth-child(4) {
  --pp-consult-ring: #765095;
}

body[data-page="service-academy"] .academy-auditor-flow__ring {
  gap: 8px;
}

body[data-page="service-academy"] .academy-program-card__note {
  margin: 22px 0 0;
  padding: 16px 18px;
  border-left: 4px solid var(--pp-primary, #4eabd8);
  background: var(--pp-surface-soft, #eef7fc);
  color: var(--pp-text, #1e2f3a);
  line-height: 1.75;
}

body[data-page="service-academy"] .academy-program-card__link {
  position: relative;
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  gap: 9px;
  margin-top: 24px;
  color: var(--pp-deep, #004a99);
  font-weight: 800;
  text-decoration: none;
}

body[data-page="service-academy"] .academy-program-card__link::after {
  position: absolute;
  right: 0;
  bottom: calc(50% - .85em);
  left: 0;
  height: 1px;
  background: currentColor;
  content: "";
  pointer-events: none;
}

body[data-page="service-academy"] .academy-program-card__links {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 28px;
}

body[data-page="service-academy"] .academy-program-card__link:is(:hover, :focus-visible) {
  color: var(--pp-primary-strong, #2f8eb6);
}

body[data-page="service-academy"] .academy-program-card__link:focus-visible {
  outline: 2px solid var(--pp-primary-strong, #2f8eb6);
  outline-offset: 4px;
}

@media (max-width: 980px) {
  body[data-page="service-academy"] .academy-auditor-media__videos {
    grid-template-columns: minmax(0, 1fr);
  }

  body[data-page="service-academy"] .academy-auditor-media__story {
    grid-template-columns: minmax(0, 1fr);
  }

  body[data-page="service-academy"] .academy-auditor-media__story-lead {
    grid-column: auto;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto 1fr;
    border-bottom: 0;
  }

  body[data-page="service-academy"] .academy-auditor-media__story > figure:nth-child(n + 2) {
    border-top: 1px solid var(--pp-border, #cfe4ef);
    border-left: 0;
  }

  body[data-page="service-academy"] .academy-auditor-media__inquiry {
    grid-template-columns: minmax(0, 1fr);
  }

  body[data-page="service-academy"] .academy-auditor-source-detail__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  body[data-page="service-academy"] .academy-auditor-source-detail__grid article + article {
    border-top: 1px solid var(--pp-border, #cfe4ef);
    border-left: 0;
  }

  body[data-page="region01"] :is(#medicine-consultation, #medicine-operations) .medicine-consultation-icon-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body[data-page="region01"] #medicine-operations .medicine-operation-icon-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body[data-page="region01"] :is(#medicine-consultation, #medicine-operations) .medicine-consultation-icon {
    height: 170px;
  }

  body[data-page="region01"] :is(#medicine-consultation, #medicine-operations) .medicine-consultation-icon::after,
  body[data-page="region01"] :is(#medicine-consultation, #medicine-operations) .medicine-consultation-icon small {
    opacity: 1;
  }

  body[data-page="region01"] :is(#medicine-consultation, #medicine-operations) .medicine-consultation-icon::after {
    background-size: 100% 2px, 2px 100%, 100% 2px, 2px 100%;
  }

  body[data-page="region01"] :is(#medicine-consultation, #medicine-operations) .medicine-consultation-icon strong {
    transform: translateY(-11px);
  }

  body[data-page="region01"] :is(#medicine-consultation, #medicine-operations) .medicine-consultation-icon small {
    bottom: 10px;
    transform: translate(-50%, 0);
  }

  body[data-page="service-academy"] .academy-auditor-flow {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 34px 16px;
  }

  body[data-page="service-academy"] .academy-auditor-flow .pp-consult-flow__ring {
    width: min(250px, calc(100% - 24px));
    margin: 0 auto;
  }
}

@media (max-width: 640px) {
  body[data-page="service-academy"] .academy-auditor-media {
    padding: 20px;
  }

  body[data-page="service-academy"] .academy-auditor-source-detail {
    padding: 20px clamp(30px, calc(4 * var(--pp-wide-vw, 1vw)), 48px);
  }

  body[data-page="region01"] #medicine-consultation .medicine-consultation-flow > header {
    --medicine-consultation-heading-gutter: 20px;
  }

  body[data-page="region01"] #medicine-issues .medicine-issue-subsection__heading {
    --medicine-consultation-heading-gutter: 20px;
    margin-bottom: 30px;
  }

  body[data-page="region01"] #medicine-issues .medicine-issue-subsection__heading h4 {
    font-size: clamp(26px, calc(7.4 * var(--pp-wide-vw, 1vw)), 30px);
    letter-spacing: -.05em;
  }

  body[data-page="region01"] :is(#medicine-consultation .medicine-consultation-icon-card__description, #medicine-operations .medicine-operation-icon-card__description) {
    padding: 16px 18px 19px;
  }

  body[data-page="region01"] #medicine-consultation .medicine-consultation-flow ol,
  body[data-page="region01"] :is(#medicine-consultation, #medicine-operations) .medicine-consultation-icon-grid,
  body[data-page="service-academy"] .academy-auditor-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  body[data-page="service-academy"] .academy-auditor-grid section + section {
    border-top: 1px solid var(--pp-border, #cfe4ef);
    border-left: 0;
  }

  body[data-page="service-academy"] .academy-auditor-flow {
    grid-template-columns: minmax(0, 1fr);
    gap: 28px;
    padding: 0;
  }

  body[data-page="region01"] #medicine-consultation .medicine-consultation-flow li {
    min-height: 0;
  }

  body[data-page="region01"] #medicine-consultation .medicine-consultation-flow li + li {
    border-top: 0;
    border-left: 0;
  }

  body[data-page="region01"] #medicine-consultation .medicine-consultation-flow li:not(:last-child)::after {
    top: auto;
    right: 50%;
    bottom: -8px;
    transform: translateX(50%) rotate(135deg);
  }

  body[data-page="service-academy"] .academy-program-card {
    grid-template-columns: minmax(0, 1fr);
  }

  body[data-page="service-academy"] .academy-process-box {
    grid-template-columns: minmax(0, 1fr) 64px;
    grid-template-areas:
      "summary toggle"
      "panel panel";
  }

  body[data-page="service-academy"] .academy-process-box__summary {
    grid-area: summary;
    min-height: 230px;
  }

  body[data-page="service-academy"] .academy-process-box__toggle {
    grid-area: toggle;
    border-right: 0;
  }

  body[data-page="service-academy"] .academy-process-box__panel {
    grid-area: panel;
    min-height: 320px;
  }

  body[data-page="service-academy"] .academy-elearning-guide__outcomes,
  body[data-page="service-academy"] .academy-elearning-guide__features,
  body[data-page="service-academy"] .academy-elearning-guide__feature-list,
  body[data-page="service-academy"] .academy-elearning-guide__screen {
    grid-template-columns: minmax(0, 1fr);
  }

  body[data-page="service-academy"] .academy-elearning-guide__metrics {
    grid-template-columns: repeat(2, max-content);
  }

  body[data-page="service-academy"] .academy-elearning-guide__metrics small {
    grid-row: auto;
    grid-column: 1 / -1;
    margin: 18px 0 0;
    font-size: 12px;
  }

  body[data-page="service-academy"] .academy-elearning-guide__screen > img {
    min-height: 0;
  }

  body[data-page="service-academy"] .academy-elearning-guide__outcomes li {
    min-height: 0;
  }

  body[data-page="service-academy"] .academy-elearning-guide__outcomes li + li {
    border-top: 0;
    border-left: 0;
  }

  body[data-page="service-academy"] .academy-elearning-guide__outcomes li:not(:last-child)::after {
    top: auto;
    right: 50%;
    bottom: -8px;
    transform: translateX(50%) rotate(135deg);
  }

  body[data-page="service-academy"] .academy-elearning-guide__feature-list li:nth-child(odd) {
    border-right: 0;
  }

  body[data-page="service-academy"] .academy-elearning-guide__trial {
    align-items: flex-start;
    flex-direction: column;
  }

  body[data-page="service-academy"] .academy-elearning-guide__actions {
    justify-content: flex-start;
  }

  body[data-page="service-academy"] .academy-program-card__number {
    justify-content: start;
    padding: 20px 22px;
  }

  body[data-page="service-academy"] .academy-program-card__body {
    padding: 26px 21px 30px;
  }
}

@media (prefers-reduced-motion: reduce) {
  body[data-page="service-academy"] :is(.academy-process-box__image, .academy-process-box__detail, .academy-process-box__toggle i) {
    transition: none;
  }

  body[data-page="region01"] :is(#medicine-consultation, #medicine-operations) .medicine-consultation-icon,
  body[data-page="region01"] :is(#medicine-consultation, #medicine-operations) .medicine-consultation-icon::after,
  body[data-page="region01"] :is(#medicine-consultation, #medicine-operations) .medicine-consultation-icon > img,
  body[data-page="region01"] :is(#medicine-consultation, #medicine-operations) .medicine-consultation-icon strong,
  body[data-page="region01"] :is(#medicine-consultation, #medicine-operations) .medicine-consultation-icon small {
    animation: none;
    transition: none;
  }
}

/* CMC final layer: PPT content is consolidated into one compact five-stage map. */
body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__diagram {
  padding: clamp(20px, calc(2.2 * var(--pp-wide-vw, 1vw)), 30px);
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__service-area-group {
  margin-top: 0;
  background: transparent !important;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__rocket-scroll {
  padding-top: 0;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__topic-row--compact {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  box-sizing: border-box;
  min-width: 720px;
  gap: 0;
  margin: 0 0 8px;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__topic-row--compact span {
  min-height: 40px;
  padding: 6px 9px;
  border-color: rgba(1, 54, 65, .24);
  background: rgba(255, 255, 255, .7);
  font-size: 11px;
  line-height: 1.35;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__topic-row--compact span:nth-child(1) {
  grid-column: 2;
  border-color: #70d9da;
  background: rgba(112, 217, 218, .3);
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__topic-row--compact span:nth-child(2) {
  grid-column: 3;
  border-color: #91bfcb;
  background: rgba(145, 191, 203, .32);
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__topic-row--compact span:nth-child(3) {
  grid-column: 4;
  border-color: #a7b7ba;
  background: rgba(167, 183, 186, .34);
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__rocket-phases .is-research {
  background: #439eb5;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__rocket-phases .is-development {
  background: #70d9da;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__rocket-phases .is-approval {
  background: #91bfcb;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__rocket-phases .is-manufacturing {
  background: #a7b7ba;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__rocket-phases .is-marketing {
  background: #96968f;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__standard--reliability {
  background: linear-gradient(90deg, #439eb5 0%, #4aabc0 24%, #56bbce 48%, #6bc4d4 72%, #8dbdc8 100%);
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__standard--gmp {
  background: linear-gradient(90deg, #70d9da 0%, #68d2dd 24%, #62cae3 48%, #77c4d8 70%, #9cb7be 100%);
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__callouts > span {
  padding: 10px 9px;
  background: rgba(255, 255, 255, .66);
  font-size: 10px;
  line-height: 1.42;
  text-align: left;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__callouts > span:nth-child(1) {
  border-color: rgba(77, 174, 175, .72);
  border-top: 4px solid #70d9da;
  background: rgba(112, 217, 218, .22);
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__callouts > span:nth-child(2) {
  border-color: rgba(105, 153, 165, .68);
  border-top: 4px solid #91bfcb;
  background: rgba(145, 191, 203, .24);
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__callouts > span:nth-child(3) {
  border-color: rgba(120, 138, 142, .68);
  border-top: 4px solid #a7b7ba;
  background: rgba(167, 183, 186, .27);
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__callout--detailed ul {
  gap: 3px;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__callout--ctd {
  align-items: stretch;
  justify-content: flex-start;
  text-align: left;
}

body[data-page="service-cmc"] #pp-process-explore :is(
  .pp-cmc-field__rocket-phases,
  .pp-cmc-field__standard-bands,
  .pp-cmc-field__callouts
) {
  min-width: 720px;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-case-issue-dialog {
  margin-top: 0;
}

@media (max-width: 680px) {
  body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__topic-row--compact,
  body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__callouts {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

  body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__callouts {
    gap: 0;
    margin-top: 10px;
  }

  body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__callouts > span:nth-child(1) { grid-column: 2; }
  body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__callouts > span:nth-child(2) { grid-column: 3; }
  body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__callouts > span:nth-child(3) { grid-column: 4; }

  body[data-page="region01"] .medicine-service-coverage-map__phases li > :is(a, span) {
    padding-right: 10px;
  }
}

body[data-page="region01"] .medicine-service-coverage-map__phases li > :is(a, span) {
  padding-right: 10px;
}

/* Final shared sizing layer for the Region01 and CMC regulatory arrow maps. */
body[data-page="region01"] .pp-regulatory-arrow-map__phases li,
body[data-page="service-cmc"] #pp-process-explore .pp-regulatory-arrow-map__phases li {
  height: 60px;
  min-height: 60px;
}

body[data-page="region01"] .pp-regulatory-arrow-map__phases li > :is(a, span) {
  min-height: 60px;
  padding: 8px 18px 8px 12px;
}

body[data-page="region01"] .pp-regulatory-arrow-map__phases strong,
body[data-page="service-cmc"] #pp-process-explore .pp-regulatory-arrow-map__phases strong {
  font-size: 14px;
  line-height: 1.15;
}

body[data-page="region01"] .pp-regulatory-arrow-map__phases small,
body[data-page="service-cmc"] #pp-process-explore .pp-regulatory-arrow-map__phases small {
  display: block;
  margin-top: 4px;
  color: rgba(255, 255, 255, .86);
  font-family: var(--pp-font-latin, "Segoe UI", sans-serif);
  font-size: 9px;
  font-weight: 700;
  line-height: 1.1;
}

body[data-page="region01"] .pp-regulatory-arrow-map__phases a::after {
  display: none !important;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field {
  padding-right: 12px;
  padding-left: 12px;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__diagram {
  padding-right: 0;
  padding-left: 0;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__service-area-group {
  padding-right: 8px;
  padding-left: 8px;
}

body[data-page="service-cmc"] #pp-process-explore :is(
  .pp-cmc-field__topic-row--compact,
  .pp-cmc-field__rocket-phases,
  .pp-cmc-field__standard-bands,
  .pp-cmc-field__callouts
) {
  min-width: 760px;
}
/* CMC support: supplied problem list and three source-faithful case tables */
.pp-cmc-case-studies {
  display: grid;
  gap: clamp(30px, calc(4 * var(--pp-wide-vw, 1vw)), 56px);
}

.pp-cmc-problems {
  position: relative;
  padding: clamp(24px, calc(3 * var(--pp-wide-vw, 1vw)), 40px);
  color: var(--pp-text, #1e2f3a);
  background: transparent;
  border: 0;
  box-shadow: none;
}

.pp-cmc-problems > small,
.pp-cmc-case-table__heading small {
  display: block;
  margin-bottom: var(--pp-page-label-gap, 16px);
  color: var(--pp-primary-strong, #2f8eb6);
  font-family: var(--pp-font-latin, "Segoe UI", sans-serif);
  font-size: var(--pp-page-label-size, 11px);
  font-weight: var(--pp-page-label-weight, 800);
  line-height: var(--pp-page-label-line-height, 1.2);
  letter-spacing: var(--pp-page-label-letter-spacing, .2em);
}

.pp-cmc-problems h3 {
  width: fit-content;
  margin: 0 0 12px;
  padding: 0;
  border: 0;
  color: var(--pp-ink, #013641);
  font-family: var(--pp-font-display);
  font-size: clamp(28px, calc(3.2 * var(--pp-wide-vw, 1vw)), 44px);
  font-weight: var(--pp-page-title-weight, 800);
  line-height: var(--pp-page-title-line-height, 1.05);
  letter-spacing: var(--pp-page-title-letter-spacing, -.07em);
  text-shadow: none !important;
}

.pp-cmc-problems > p {
  margin: 0 0 30px;
  color: var(--pp-text, #1e2f3a);
  font-size: var(--pp-page-lead-size, clamp(14px, calc(1.25 * var(--pp-wide-vw, 1vw)), 17px));
  font-weight: var(--pp-page-lead-weight, 700);
  line-height: var(--pp-page-lead-line-height, 1.8);
  letter-spacing: var(--pp-page-lead-letter-spacing, 0);
}

.pp-cmc-issue-categories {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  margin-bottom: 24px;
  border-bottom: 4px solid #2f607a;
}

.pp-cmc-issue-categories a {
  display: flex;
  align-items: center;
  min-height: 64px;
  padding: 12px 14px;
  color: #173348;
  font-size: 0.82rem;
  font-weight: 800;
  line-height: 1.35;
  text-decoration: none;
  border-right: 1px solid #d2e2e9;
}

.pp-cmc-issue-categories a.is-active {
  color: #fff;
  background: #2f607a;
}

.pp-cmc-problem-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.pp-cmc-problem-tags span,
.pp-cmc-problem-tags button {
  display: inline-flex;
  align-items: center;
  min-height: 42px;
  padding: 8px 15px;
  font-size: 0.94rem;
  font-weight: 700;
  line-height: 1.45;
  color: #134c68;
  background: #f5fbfe;
  border: 1px solid #9ed3e7;
  border-radius: 999px;
}

.pp-cmc-problem-tags button {
  cursor: pointer;
  font-family: inherit;
  background: transparent;
}

.pp-cmc-problem-tags button:hover,
.pp-cmc-problem-tags button:focus-visible,
.pp-cmc-problem-tags button.is-active,
.pp-cmc-problem-tags button[aria-pressed="true"] {
  color: #fff;
  background: #2f607a;
  border-color: #2f607a;
  outline: none;
}

.pp-cmc-problem-tags {
  margin-bottom: 24px;
}

.pp-cmc-case-issue-dialog .medicine-issue-reveal__answer-copy h4 {
  margin: 0 0 8px;
}

.pp-cmc-case-issue-dialog .medicine-issue-reveal__answer-copy h4:not(:first-child) {
  margin-top: 22px;
}

.pp-cmc-case-issue-dialog .medicine-issue-reveal__answer-copy p,
.pp-cmc-case-issue-dialog .medicine-issue-reveal__answer-copy ul {
  margin: 0;
}

.pp-cmc-case-issue-dialog {
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 0 !important;
  margin: 0 !important;
}

.pp-cmc-case-issue-dialog .medicine-issue-reveal {
  grid-column: 1 !important;
  min-height: 0 !important;
  height: auto !important;
  border-radius: 0 !important;
}

.pp-cmc-case-issue-dialog .medicine-issue-reveal__problem {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 16px;
  width: 100% !important;
  min-height: 74px !important;
  height: auto !important;
  padding: 14px 18px !important;
  text-align: left;
  margin-bottom: 14px !important;
  background: rgba(255, 255, 255, .88) !important;
  border: 1px solid rgba(24, 55, 74, .12) !important;
  border-radius: 3px !important;
  box-shadow: none !important;
}

.pp-cmc-case-issue-dialog .medicine-issue-reveal__problem:is(:hover, :focus-visible) {
  box-shadow: 0 12px 28px rgba(17, 43, 57, .16) !important;
}

.pp-cmc-case-issue-dialog .medicine-issue-reveal:last-child .medicine-issue-reveal__problem {
  border-bottom: 1px solid rgba(24, 55, 74, .12) !important;
}

.pp-cmc-case-issue-dialog .medicine-issue-reveal__problem::before,
.pp-cmc-case-issue-dialog .medicine-issue-reveal__problem::after,
.pp-cmc-case-issue-dialog .medicine-issue-reveal::before,
.pp-cmc-case-issue-dialog .medicine-issue-reveal::after {
  display: none !important;
}

.pp-cmc-case-issue-dialog .medicine-issue-reveal__problem small,
.pp-cmc-case-issue-dialog .medicine-issue-reveal__problem-label {
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
}

.pp-cmc-case-issue-dialog .medicine-issue-reveal__problem strong {
  font-size: 0.95rem;
  line-height: 1.55;
}

.pp-cmc-case-issue-dialog .medicine-issue-reveal__answer {
  white-space: nowrap;
}

.pp-cmc-case-issue-dialog .medicine-issue-reveal__connector {
  display: none;
}

.pp-cmc-case-issue-dialog .medicine-issue-reveal__detail {
  grid-column: 1 !important;
  margin: 0 0 22px;
}

.pp-cmc-case-issue-dialog .medicine-issue-reveal,
.pp-cmc-case-issue-dialog .medicine-issue-reveal.is-open {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  width: 100% !important;
  --issue-panel-inline-pull: 0px;
  --issue-panel-block-pull: 0px;
}

.pp-cmc-case-issue-dialog .medicine-issue-reveal__problem,
.pp-cmc-case-issue-dialog .medicine-issue-reveal.is-open .medicine-issue-reveal__problem,
.pp-cmc-case-issue-dialog .medicine-issue-reveal__detail,
.pp-cmc-case-issue-dialog .medicine-issue-reveal.is-open .medicine-issue-reveal__detail {
  grid-column: 1 !important;
  width: 100% !important;
}

.pp-cmc-case-issue-dialog .medicine-issue-reveal__detail,
.pp-cmc-case-issue-dialog .medicine-issue-reveal.is-open .medicine-issue-reveal__detail {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-areas:
    "solution"
    "client"
    "support"
    "outcomes" !important;
  grid-row: auto !important;
  max-width: none !important;
  margin: 0 0 22px !important;
  padding: 22px 24px !important;
  inset: auto !important;
  clip-path: none !important;
  background: rgba(255, 255, 255, .68) !important;
  border: 1px solid rgba(24, 55, 74, .2) !important;
  box-shadow: none !important;
  transform: none !important;
}

.pp-cmc-case-issue-dialog .medicine-issue-reveal__detail > section {
  width: 100% !important;
  padding: 14px 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(24, 55, 74, .18) !important;
}

.pp-cmc-case-issue-dialog .medicine-issue-reveal__detail > section:last-child {
  border-bottom: 0 !important;
}

.pp-cmc-case-issue-dialog .medicine-issue-reveal__detail[hidden] {
  display: none !important;
}

.pp-cmc-case-columns-head {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(300px, .92fr);
  gap: 24px;
  margin-top: 22px;
}

.pp-cmc-case-columns-head span {
  padding: 0 16px 10px;
  border-bottom: 2px solid #18374a;
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .08em;
}

.pp-cmc-case-issue-dialog .medicine-issue-reveal.is-open .medicine-issue-reveal__answer {
  font-size: 0 !important;
}

.pp-cmc-case-issue-dialog .medicine-issue-reveal.is-open .medicine-issue-reveal__answer::before {
  content: "ANSWER →";
  font-size: .72rem;
}

@media (min-width: 821px) {
  .pp-cmc-case-issue-dialog {
    display: grid !important;
    grid-template-columns: minmax(0, 1.08fr) minmax(300px, .92fr) !important;
    grid-template-rows: repeat(3, auto) !important;
    column-gap: 24px !important;
    align-items: stretch;
  }

  .pp-cmc-case-issue-dialog .medicine-issue-reveal,
  .pp-cmc-case-issue-dialog .medicine-issue-reveal.is-open {
    display: contents !important;
  }

  .pp-cmc-case-issue-dialog .medicine-issue-reveal__problem,
  .pp-cmc-case-issue-dialog .medicine-issue-reveal.is-open .medicine-issue-reveal__problem {
    grid-column: 1 !important;
    min-height: 82px !important;
    border-right: 0 !important;
  }

  .pp-cmc-case-issue-dialog .medicine-issue-reveal.is-open .medicine-issue-reveal__problem {
    background: #fff !important;
    box-shadow: none !important;
  }

  .pp-cmc-case-issue-dialog .medicine-issue-reveal.is-open .medicine-issue-reveal__problem:is(:hover, :focus-visible) {
    box-shadow: 0 14px 32px rgba(17, 43, 57, .18) !important;
  }

  .pp-cmc-case-issue-dialog .medicine-issue-reveal__detail,
  .pp-cmc-case-issue-dialog .medicine-issue-reveal.is-open .medicine-issue-reveal__detail {
    grid-column: 2 !important;
    grid-row: 1 / span 3 !important;
    align-self: stretch;
    margin: 0 !important;
  }
}

@media (max-width: 820px) {
  .pp-cmc-case-columns-head {
    grid-template-columns: 1fr;
  }

  .pp-cmc-case-columns-head span:last-child {
    display: none;
  }
}

/* Match the pharmaceutical lifecycle page's stage palette. */
body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__rocket-phases .is-research {
  background: linear-gradient(90deg, #b7c73d, #80ad55);
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__rocket-phases .is-development {
  background: linear-gradient(90deg, #62b285, #56b5bb);
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__rocket-phases .is-approval {
  background: linear-gradient(90deg, #527996, #796eaa);
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__rocket-phases .is-manufacturing {
  background: linear-gradient(90deg, #796eaa, #9d5f9a);
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__rocket-phases .is-marketing {
  background: linear-gradient(90deg, #9d5f9a, #bd4d84);
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__topic-row--compact span:nth-child(1) {
  border-color: #62b285;
  background: rgba(98, 178, 133, .24);
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__topic-row--compact span:nth-child(2) {
  border-color: #527996;
  background: rgba(82, 121, 150, .22);
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__topic-row--compact span:nth-child(3) {
  border-color: #796eaa;
  background: rgba(121, 110, 170, .22);
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__standard--reliability {
  background: linear-gradient(90deg, #62b285 0%, #56b5bb 48%, #527996 72%, #796eaa 100%);
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__standard--gmp {
  background: linear-gradient(90deg, #62b285 0%, #56b5bb 28%, #527996 55%, #796eaa 78%, #bd4d84 100%);
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__callouts > span:nth-child(1) {
  border-color: rgba(98, 178, 133, .72);
  border-top-color: #62b285;
  background: rgba(98, 178, 133, .2);
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__callouts > span:nth-child(2) {
  border-color: rgba(82, 121, 150, .68);
  border-top-color: #527996;
  background: rgba(82, 121, 150, .2);
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__callouts > span:nth-child(3) {
  border-color: rgba(121, 110, 170, .68);
  border-top-color: #796eaa;
  background: rgba(121, 110, 170, .2);
}

/* CMC: mirror the TOP > 医薬品 page's four-stage service coverage map. */
body[data-page="service-cmc"] #pp-process-explore .pp-cmc-reference-flow {
  margin-top: 22px;
  border-top: 0;
  background: #fff;
  box-shadow: 0 16px 38px rgba(7, 59, 81, .08);
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-reference-stages {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0;
  padding: 0;
  list-style: none;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-reference-stages li {
  position: relative;
  display: grid;
  min-height: 94px;
  align-content: end;
  gap: 4px;
  margin-right: -14px;
  padding: 20px 32px 18px 24px;
  color: #fff;
  text-align: left;
  clip-path: polygon(0 0, calc(100% - 14px) 0, 100% 50%, calc(100% - 14px) 100%, 0 100%, 14px 50%);
  isolation: isolate;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-reference-stages li::before {
  position: absolute;
  z-index: -1;
  inset: 0;
  background: linear-gradient(105deg, rgba(255, 255, 255, .3), transparent 52%, rgba(0, 61, 79, .08));
  content: "";
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-reference-stages li:first-child {
  padding-left: 18px;
  clip-path: polygon(0 0, calc(100% - 14px) 0, 100% 50%, calc(100% - 14px) 100%, 0 100%);
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-reference-stages li:last-child {
  margin-right: 0;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-reference-stages .is-nonclinical { background: #a8c73f; color: #073b51; }
body[data-page="service-cmc"] #pp-process-explore .pp-cmc-reference-stages .is-clinical { background: #5bb6aa; color: #073b51; }
body[data-page="service-cmc"] #pp-process-explore .pp-cmc-reference-stages .is-approval { background: #687ba9; }
body[data-page="service-cmc"] #pp-process-explore .pp-cmc-reference-stages .is-market { background: #ad5591; }

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-reference-stages strong {
  font-size: clamp(19px, calc(2 * var(--pp-wide-vw, 1vw)), 24px);
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: -.04em;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-reference-stages small {
  font-size: 9px;
  font-weight: 700;
  line-height: 1.25;
  opacity: .82;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-reference-standards {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin: 0;
  padding: 36px 8px 18px;
  background: #fff;
  list-style: none;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-reference-standards > li {
  position: relative;
  min-height: 176px;
  padding: 15px 12px 13px;
  background: var(--stage-color);
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-reference-standards > li::before {
  position: absolute;
  top: -27px;
  left: 50%;
  color: #2f9dc5;
  font-size: 23px;
  line-height: 1;
  content: "↓";
  transform: translateX(-50%);
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-reference-standards .is-nonclinical { --stage-color: #a8c73f; }
body[data-page="service-cmc"] #pp-process-explore .pp-cmc-reference-standards .is-clinical { --stage-color: #5bb6aa; }
body[data-page="service-cmc"] #pp-process-explore .pp-cmc-reference-standards .is-approval { --stage-color: #687ba9; }
body[data-page="service-cmc"] #pp-process-explore .pp-cmc-reference-standards .is-market { --stage-color: #ad5591; }

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-reference-standards > li > span {
  display: block;
  margin-bottom: 9px;
  color: #073b51;
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .12em;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-reference-standards > li > div {
  min-height: 72px;
  padding: 12px;
  background: rgba(255, 255, 255, .78);
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-reference-standards > li > .is-split {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
  padding: 0;
  background: transparent;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-reference-standards p {
  display: grid;
  align-content: center;
  gap: 4px;
  min-height: 68px;
  margin: 0;
  padding: 10px;
  background: rgba(255, 255, 255, .78);
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-reference-standards strong {
  color: #073b51;
  font-size: 12px;
  line-height: 1.25;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-reference-standards small {
  color: #496674;
  font-size: 8px;
  font-weight: 600;
  line-height: 1.35;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-reference-service-map {
  border-top: 1px solid #bfd9e5;
  background: #f8fbfd;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-reference-service-map__header {
  display: flex;
  min-height: 76px;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 15px 22px;
  background: linear-gradient(90deg, #073b51, #0b617a);
  color: #fff;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-reference-service-map__header > div {
  display: grid;
  gap: 4px;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-reference-service-map__header > div > span,
body[data-page="service-cmc"] #pp-process-explore .pp-cmc-reference-service-map__header p span {
  color: rgba(255, 255, 255, .66);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .15em;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-reference-service-map__header > div > strong {
  font-size: 18px;
  line-height: 1.4;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-reference-service-map__header b { color: #77d5e7; }

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-reference-service-map__header p {
  display: flex;
  align-items: baseline;
  gap: 8px;
  margin: 0;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-reference-service-map__header p strong {
  font-size: 26px;
  line-height: 1;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-reference-service-bands {
  margin: 0;
  padding: 15px 0 20px;
  border-top: 4px solid transparent;
  border-image: linear-gradient(90deg, #a8c73f 0 25%, #5bb6aa 25% 50%, #687ba9 50% 75%, #ad5591 75% 100%) 1;
  background: linear-gradient(90deg, rgba(168, 199, 63, .27) 0 25%, rgba(91, 182, 170, .26) 25% 50%, rgba(104, 123, 169, .24) 50% 75%, rgba(173, 85, 145, .22) 75% 100%);
  list-style: none;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-reference-service-band {
  --tone-color: #62b285;
  --tone-soft: #edf8f2;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  padding: 6px 0;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-reference-service-band.is-regulatory { --tone-color: #527996; --tone-soft: #eef3f7; }
body[data-page="service-cmc"] #pp-process-explore .pp-cmc-reference-service-band.is-quality { --tone-color: #796eaa; --tone-soft: #f3f1f8; }

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-reference-service-band__bar,
body[data-page="service-cmc"] #pp-process-explore .pp-cmc-reference-service-band__details {
  grid-column: var(--band-start) / var(--band-end);
  margin: 0 8px;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-reference-service-band__bar {
  display: grid;
  min-height: 62px;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 11px 14px 10px 16px;
  border: 1px solid color-mix(in srgb, var(--tone-color) 24%, #d5e5ec);
  border-left: 4px solid var(--tone-color);
  background: linear-gradient(90deg, var(--tone-soft), #fff 72%);
  box-shadow: 0 5px 14px rgba(7, 59, 81, .055);
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-reference-service-band__bar > span {
  display: grid;
  gap: 3px;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-reference-service-band__bar strong { font-size: 14px; }
body[data-page="service-cmc"] #pp-process-explore .pp-cmc-reference-service-band__bar small { color: #6b818b; font-size: 9px; font-weight: 600; }

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-reference-service-band__bar em {
  padding: 4px 7px;
  background: color-mix(in srgb, var(--tone-color) 10%, #fff);
  color: var(--tone-color);
  font-size: 9px;
  font-style: normal;
  font-weight: 800;
  white-space: nowrap;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-reference-service-band__details {
  padding: 13px 16px 14px 20px;
  border: 1px solid color-mix(in srgb, var(--tone-color) 20%, #d5e5ec);
  border-top: 0;
  background: #fff;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-reference-service-band__details ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 5px 22px;
  margin: 0;
  padding-left: 17px;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-reference-service-band__details li {
  font-size: 11px;
  font-weight: 650;
  line-height: 1.55;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-reference-service-band__details a {
  color: inherit;
  text-decoration-line: underline;
  text-underline-offset: 2px;
}

@media (max-width: 680px) {
  body[data-page="service-cmc"] #pp-process-explore .pp-cmc-reference-flow {
    overflow-x: auto;
    overscroll-behavior-inline: contain;
  }

  body[data-page="service-cmc"] #pp-process-explore :is(.pp-cmc-reference-stages, .pp-cmc-reference-standards, .pp-cmc-reference-service-map) {
    min-width: 760px;
  }
}

/* Final CMC issue layout: keep all three white question cards visible. */
@media (min-width: 821px) {
  body[data-page="service-cmc"] #pp-process-explore .pp-cmc-case-issue-dialog,
  body[data-page="service-cmc"] #pp-cmc-case-studies .pp-cmc-case-issue-dialog {
    display: grid !important;
    grid-template-columns: minmax(0, 1.08fr) minmax(300px, .92fr) !important;
    grid-template-rows: repeat(3, auto) !important;
    column-gap: 24px !important;
    align-items: stretch !important;
  }

  body[data-page="service-cmc"] #pp-process-explore .pp-cmc-case-issue-dialog .medicine-issue-reveal,
  body[data-page="service-cmc"] #pp-process-explore .pp-cmc-case-issue-dialog .medicine-issue-reveal:not(.is-tag-selected),
  body[data-page="service-cmc"] #pp-process-explore .pp-cmc-case-issue-dialog .medicine-issue-reveal.is-tag-selected,
  body[data-page="service-cmc"] #pp-cmc-case-studies .pp-cmc-case-issue-dialog .medicine-issue-reveal {
    display: contents !important;
  }

  body[data-page="service-cmc"] #pp-process-explore .pp-cmc-case-issue-dialog .medicine-issue-reveal > .medicine-issue-reveal__problem,
  body[data-page="service-cmc"] #pp-cmc-case-studies .pp-cmc-case-issue-dialog .medicine-issue-reveal > .medicine-issue-reveal__problem {
    grid-column: 1 !important;
  }

  body[data-page="service-cmc"] #pp-process-explore .pp-cmc-case-issue-dialog .medicine-issue-reveal.is-open > .medicine-issue-reveal__detail,
  body[data-page="service-cmc"] #pp-cmc-case-studies .pp-cmc-case-issue-dialog .medicine-issue-reveal.is-open > .medicine-issue-reveal__detail {
    display: grid !important;
    grid-column: 2 !important;
    grid-row: 1 / span 3 !important;
    align-self: stretch !important;
    margin: 0 !important;
  }

  body[data-page="service-cmc"] #pp-process-explore .pp-cmc-case-issue-dialog .medicine-issue-reveal > .medicine-issue-reveal__detail[hidden],
  body[data-page="service-cmc"] #pp-cmc-case-studies .pp-cmc-case-issue-dialog .medicine-issue-reveal > .medicine-issue-reveal__detail[hidden] {
    display: none !important;
  }
}

@media (max-width: 820px) {
  body[data-page="service-cmc"] #pp-process-explore .pp-cmc-case-issue-dialog .medicine-issue-reveal,
  body[data-page="service-cmc"] #pp-process-explore .pp-cmc-case-issue-dialog .medicine-issue-reveal:not(.is-tag-selected),
  body[data-page="service-cmc"] #pp-process-explore .pp-cmc-case-issue-dialog .medicine-issue-reveal.is-tag-selected {
    display: grid !important;
  }
}

.pp-cmc-problems ul,
.pp-cmc-case-table td ul {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.pp-cmc-problems li,
.pp-cmc-case-table td li {
  position: relative;
  padding-left: 1.35em;
  line-height: 1.75;
}

.pp-cmc-problems li::before,
.pp-cmc-case-table td li::before {
  content: "";
  position: absolute;
  top: 0.72em;
  left: 0;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #53b9dc;
}

.pp-cmc-case-tables {
  display: grid;
  gap: 28px;
}

.pp-cmc-case-table {
  overflow: hidden;
  color: #102d40;
  background: rgba(255, 255, 255, 0.94);
  border-top: 4px solid #1688b7;
  box-shadow: 0 14px 36px rgba(18, 67, 91, 0.1);
}

.pp-cmc-case-table__heading {
  padding: 20px 26px 18px;
  background: #eef8fc;
  border-bottom: 1px solid #c8e3ee;
}

.pp-cmc-case-table__heading h3 {
  margin: 0;
  font-size: clamp(1.35rem, calc(2.2 * var(--pp-wide-vw, 1vw)), 1.8rem);
  line-height: 1.35;
}

.pp-cmc-case-table table {
  width: 100%;
  border-collapse: collapse;
}

.pp-cmc-case-table th,
.pp-cmc-case-table td {
  padding: 20px 26px;
  text-align: left;
  vertical-align: top;
  border-bottom: 1px solid #d7e7ed;
}

.pp-cmc-case-table tr:last-child th,
.pp-cmc-case-table tr:last-child td {
  border-bottom: 0;
}

.pp-cmc-case-table th {
  width: 150px;
  font-weight: 800;
  color: #0a7198;
  background: #f4fafc;
}

@media (max-width: 640px) {
  .pp-cmc-issue-categories {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pp-cmc-case-issue-dialog .medicine-issue-reveal__problem {
    grid-template-columns: 1fr auto;
  }

  .pp-cmc-case-issue-dialog .medicine-issue-reveal__problem strong {
    grid-column: 1;
  }

  .pp-cmc-case-issue-dialog .medicine-issue-reveal__answer {
    grid-column: 2;
    grid-row: 1;
  }

  .pp-cmc-case-table tr,
  .pp-cmc-case-table th,
  .pp-cmc-case-table td {
    display: block;
    width: 100%;
  }

  .pp-cmc-case-table th {
    padding: 14px 20px 8px;
    border-bottom: 0;
  }

  .pp-cmc-case-table td {
    padding: 8px 20px 18px;
  }
}

/* CMC issue finder: match the shared service page's line-to-white-shadow interaction. */
body[data-page="service-cmc"] #pp-process-explore .pp-cmc-case-issue-dialog .medicine-issue-reveal > .medicine-issue-reveal__problem,
body[data-page="service-cmc"] #pp-process-explore .pp-cmc-case-issue-dialog .medicine-issue-reveal.is-open > .medicine-issue-reveal__problem,
body[data-page="service-cmc"] #pp-cmc-case-studies .pp-cmc-case-issue-dialog .medicine-issue-reveal > .medicine-issue-reveal__problem,
body[data-page="service-cmc"] #pp-cmc-case-studies .pp-cmc-case-issue-dialog .medicine-issue-reveal.is-open > .medicine-issue-reveal__problem {
  position: relative;
  z-index: 1;
  min-height: 82px !important;
  margin: 0 !important;
  padding: 14px 18px !important;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(7, 59, 81, .72) !important;
  border-left: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  transform: translateY(0) !important;
  transition: background-color 180ms ease, box-shadow 180ms ease, transform 180ms ease !important;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-case-issue-dialog .medicine-issue-reveal > .medicine-issue-reveal__problem:is(:hover, :focus-visible),
body[data-page="service-cmc"] #pp-cmc-case-studies .pp-cmc-case-issue-dialog .medicine-issue-reveal > .medicine-issue-reveal__problem:is(:hover, :focus-visible) {
  z-index: 2;
  background: #fff !important;
  border-bottom-color: transparent !important;
  box-shadow: 0 10px 24px rgba(17, 43, 57, .14), 0 24px 46px rgba(17, 43, 57, .10) !important;
  transform: translateY(-3px) !important;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-case-issue-dialog .medicine-issue-reveal > .medicine-issue-reveal__problem:focus-visible,
body[data-page="service-cmc"] #pp-cmc-case-studies .pp-cmc-case-issue-dialog .medicine-issue-reveal > .medicine-issue-reveal__problem:focus-visible {
  outline: 2px solid #1688b7 !important;
  outline-offset: 3px !important;
}

/* CMC service area: keep the diagram unboxed and reuse the CMC overview title hierarchy. */
body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__service-area-group {
  margin-top: clamp(28px, calc(4 * var(--pp-wide-vw, 1vw)), 52px);
  padding: 0;
  border: 0;
  background: transparent !important;
  box-shadow: none;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__service-heading {
  display: block;
  margin: 0 0 clamp(22px, calc(3 * var(--pp-wide-vw, 1vw)), 34px);
  padding: 0;
  border: 0;
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__service-heading > span {
  display: block;
  margin: 0 0 var(--pp-page-label-gap, 16px);
  padding: 0;
  border: 0;
  color: var(--pp-primary-strong, #2f8eb6);
  font-family: var(--pp-font-latin, "Segoe UI", sans-serif);
  font-size: var(--pp-page-label-size, 11px);
  font-weight: var(--pp-page-label-weight, 800);
  line-height: var(--pp-page-label-line-height, 1.2);
  letter-spacing: var(--pp-page-label-letter-spacing, .2em);
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__service-heading > h3 {
  width: fit-content;
  margin: 0 0 12px;
  padding: 0;
  border: 0;
  color: var(--pp-ink, #013641);
  font-family: var(--pp-font-display);
  font-size: clamp(28px, calc(3.2 * var(--pp-wide-vw, 1vw)), 44px);
  font-weight: var(--pp-page-title-weight, 800);
  line-height: var(--pp-page-title-line-height, 1.05);
  letter-spacing: var(--pp-page-title-letter-spacing, -.07em);
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__service-heading > p {
  margin: 0;
  color: var(--pp-text, #1e2f3a);
  font-size: var(--pp-page-lead-size, clamp(14px, calc(1.25 * var(--pp-wide-vw, 1vw)), 17px));
  font-weight: var(--pp-page-lead-weight, 700);
  line-height: var(--pp-page-lead-line-height, 1.8);
  letter-spacing: var(--pp-page-lead-letter-spacing, 0);
}

body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__service-heading + .pp-cmc-field__definition {
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
}

@media (max-width: 680px) {
  body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__service-area-group {
    margin-top: 24px;
    padding: 0;
  }

  body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__service-heading > h3 {
    font-size: clamp(27px, calc(9 * var(--pp-wide-vw, 1vw)), 36px);
  }
}

/* TOP FIELD final carousel layer: card contents remain unchanged. */
.top-field-gallery-controls {
  display: none !important;
}

body[data-page="home"] .regulated-page {
  overflow-x: clip;
}

body[data-page="home"] #top-field-finder.has-field-gallery {
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: auto auto !important;
  overflow: visible;
}

body[data-page="home"] #top-field-finder.has-field-gallery > .top-about-study__group-heading,
body[data-page="home"] #top-field-finder.has-field-gallery > .top-field-gallery-track {
  grid-column: 1 !important;
}

body[data-page="home"] #top-field-finder.has-field-gallery > .top-field-gallery-track {
  position: relative;
  display: grid;
  --top-field-gallery-gap: 13px;
  grid-template-columns: none;
  grid-auto-flow: column;
  grid-auto-columns: calc((100% - var(--top-field-gallery-gap) - var(--top-field-gallery-gap)) / 3);
  gap: var(--top-field-gallery-gap);
  padding: clamp(28px, calc(3 * var(--pp-wide-vw, 1vw)), 42px) clamp(20px, calc(3 * var(--pp-wide-vw, 1vw)), 44px);
  align-items: center;
  overflow: hidden;
}

body[data-page="home"] #top-field-finder.has-field-gallery .top-field-gallery-track > .top-about-study__feature {
  width: 100%;
  opacity: 1 !important;
  transform: scale(.94) !important;
  transform-origin: center;
  transition: opacity 180ms ease, transform 480ms cubic-bezier(.22, 1, .36, 1), translate 480ms cubic-bezier(.22, 1, .36, 1), left 480ms cubic-bezier(.22, 1, .36, 1) !important;
}

body[data-page="home"] #top-field-finder.has-field-gallery .top-field-gallery-track > .top-about-study__feature.is-gallery-current {
  z-index: 5;
  opacity: 1 !important;
  transform: scale(1.06) !important;
}

/* Opening view: all three original vertical tiles retain the established
   1.08:1 card ratio and equal scale. */
@media (min-width: 781px) {
  body[data-page="home"] #top-field-finder.has-field-gallery:not(.has-gallery-interacted) > .top-field-gallery-track {
    -webkit-mask-image: none;
    mask-image: none;
  }

  body[data-page="home"] #top-field-finder.has-field-gallery:not(.has-gallery-interacted) .top-field-gallery-track > [data-field-family] {
    height: auto;
    min-height: 0;
    aspect-ratio: 1.08 / 1;
    overflow: hidden;
    transform: scale(1) !important;
  }

  body[data-page="home"] #top-field-finder.has-field-gallery:not(.has-gallery-interacted) .top-field-gallery-track > .is-gallery-clone {
    visibility: hidden;
  }
}

/* Keep the opening view as three vertical cards. After the first gallery
   action, only the centred card adopts the approved ver02 horizontal panel. */
@media (min-width: 781px) {
  body[data-page="home"] #top-field-finder.has-field-gallery.has-gallery-interacted > .top-field-gallery-track {
    min-height: clamp(430px, calc(36 * var(--pp-wide-vw, 1vw)), 460px);
    overflow: visible;
    -webkit-clip-path: inset(-80px 0 0 -320px);
    clip-path: inset(-80px 0 0 -320px);
    -webkit-mask-image: none;
    mask-image: none;
  }

  body[data-page="home"] #top-field-finder.has-field-gallery.has-gallery-interacted .top-field-gallery-track > [data-field-family="medicine"] {
    --daichi-field-tone: rgba(105, 73, 139, .76);
  }

  body[data-page="home"] #top-field-finder.has-field-gallery.has-gallery-interacted .top-field-gallery-track > [data-field-family="medical-device"] {
    --daichi-field-tone: rgba(22, 111, 151, .84);
  }

  body[data-page="home"] #top-field-finder.has-field-gallery.has-gallery-interacted .top-field-gallery-track > [data-field-family="engineering"] {
    --daichi-field-tone: rgba(0, 108, 101, .84);
  }

  body[data-page="home"] #top-field-finder.has-field-gallery.has-gallery-interacted .top-field-gallery-track > .top-about-study__feature.is-gallery-current {
    position: relative;
    display: block;
    justify-self: center;
    width: clamp(520px, calc(43.5 * var(--pp-wide-vw, 1vw)), 600px);
    min-width: 520px;
    max-width: 600px;
    min-height: clamp(300px, calc(26 * var(--pp-wide-vw, 1vw)), 350px);
    aspect-ratio: 16 / 9;
    padding: 0;
    overflow: hidden !important;
    background: #dcebf1;
    box-shadow: 0 28px 72px rgba(1, 35, 48, .28);
    transform: translateY(24px) scale(1) !important;
  }

  body[data-page="home"] #top-field-finder.has-field-gallery.has-gallery-interacted .top-field-gallery-track > .top-about-study__feature:not(.is-gallery-current) {
    height: 316px;
    min-height: 316px;
    overflow: hidden;
  }

  body[data-page="home"] #top-field-finder.has-field-gallery.has-gallery-interacted .top-field-gallery-track > .top-about-study__feature.is-gallery-current .top-about-study__image-frame {
    position: absolute;
    z-index: 0;
    inset: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
  }

  body[data-page="home"] #top-field-finder.has-field-gallery.has-gallery-interacted .top-field-gallery-track > .top-about-study__feature.is-gallery-current .top-about-study__image-frame::before {
    display: none;
  }

  body[data-page="home"] #top-field-finder.has-field-gallery.has-gallery-interacted .top-field-gallery-track > .top-about-study__feature.is-gallery-current .top-about-study__image-frame::after {
    z-index: 1;
    background: linear-gradient(90deg, rgba(1, 35, 48, .16), rgba(1, 35, 48, 0) 62%);
  }

  body[data-page="home"] #top-field-finder.has-field-gallery.has-gallery-interacted .top-field-gallery-track > .top-about-study__feature.is-gallery-current .top-about-study__image-frame img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: saturate(.82) brightness(1.02) contrast(.98);
    transform: scale(1.002) !important;
  }

  body[data-page="home"] #top-field-finder.has-field-gallery.has-gallery-interacted .top-field-gallery-track > [data-field-family="medicine"].is-gallery-current .top-about-study__image-frame img {
    transform: scaleX(-1) scale(1.002) !important;
  }

  body[data-page="home"] #top-field-finder.has-field-gallery.has-gallery-interacted .top-field-gallery-track > [data-field-family="medical-device"].is-gallery-current .top-about-study__image-frame img {
    object-position: center top !important;
  }

  body[data-page="home"] #top-field-finder.has-field-gallery.has-gallery-interacted .top-field-gallery-track > .top-about-study__feature.is-gallery-current:is(:hover, :focus-visible) .top-about-study__image-frame img {
    filter: saturate(.9) brightness(1.01) contrast(1);
    transform: scale(1.035) !important;
  }

  body[data-page="home"] #top-field-finder.has-field-gallery.has-gallery-interacted .top-field-gallery-track > [data-field-family="medicine"].is-gallery-current:is(:hover, :focus-visible) .top-about-study__image-frame img {
    transform: scaleX(-1) scale(1.035) !important;
  }

  body[data-page="home"] #top-field-finder.has-field-gallery.has-gallery-interacted .top-field-gallery-track > .top-about-study__feature.is-gallery-current > strong {
    position: absolute;
    z-index: 3;
    inset: 0 auto 0 0;
    display: flex;
    align-items: flex-end;
    width: min(54%, 330px);
    min-height: 100%;
    margin: 0;
    padding: 74px 26px 88px;
    color: #fff;
    border: 0;
    background: var(--daichi-field-tone);
    text-shadow: 0 2px 12px rgba(1, 35, 48, .32);
    -webkit-backdrop-filter: blur(2px);
    backdrop-filter: blur(2px);
  }

  body[data-page="home"] #top-field-finder.has-field-gallery.has-gallery-interacted .top-field-gallery-track > .top-about-study__feature.is-gallery-current > strong .top-family-link-label {
    color: #fff;
    font-size: clamp(25px, calc(2.2 * var(--pp-wide-vw, 1vw)), 30px);
    font-weight: 800;
    line-height: 1.22;
    letter-spacing: -.055em;
  }

  body[data-page="home"] #top-field-finder.has-field-gallery.has-gallery-interacted .top-field-gallery-track > .top-about-study__feature.is-gallery-current .top-about-study__field-subtitle {
    position: absolute;
    z-index: 4;
    bottom: 28px;
    left: 26px;
    width: calc(min(54%, 330px) - 52px);
    margin: 0;
    color: rgba(255, 255, 255, .94);
    background: transparent !important;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.65;
    text-align: left;
    text-shadow: 0 1px 8px rgba(1, 35, 48, .34);
  }

  /* The expanded medicine card has a long category name. Keep its explanatory
     copy directly below that name as one centred block. */
  body[data-page="home"] #top-field-finder.has-field-gallery.has-gallery-interacted .top-field-gallery-track > [data-field-family="medicine"].is-gallery-current > strong {
    align-items: flex-end;
    padding: 32px 26px 88px;
  }

  body[data-page="home"] #top-field-finder.has-field-gallery.has-gallery-interacted .top-field-gallery-track > [data-field-family="medicine"].is-gallery-current .top-about-study__field-subtitle {
    display: block !important;
    top: auto;
    bottom: 28px;
    width: calc(min(54%, 330px) - 34px);
    padding-right: 0;
  }

  /* Keep medical-device copy in the same two-line band as the side cards. */
  body[data-page="home"] #top-field-finder.has-field-gallery.has-gallery-interacted .top-field-gallery-track > [data-field-family="medical-device"].is-gallery-current > strong {
    padding-bottom: 112px;
  }

  body[data-page="home"] #top-field-finder.has-field-gallery.has-gallery-interacted .top-field-gallery-track > [data-field-family="medical-device"].is-gallery-current .top-about-study__field-subtitle {
    bottom: 40px;
    width: calc(min(54%, 330px) - 34px);
    padding-right: 0;
  }

  body[data-page="home"] #top-field-finder.has-field-gallery.has-gallery-interacted .top-field-gallery-track > .top-about-study__feature.is-gallery-current .top-about-study__field-detail {
    top: 26px;
    right: 26px;
    bottom: auto;
    display: grid !important;
  }
}

body[data-page="home"] #top-field-finder.has-field-gallery .top-field-gallery-track > .is-gallery-clone {
  pointer-events: auto;
}

@media (min-width: 781px) {
  /* The opening frame shows only the three originals in source order:
     medicine, medical device, then engineering. */
}

/* The second previous slide remains as a translucent cyclic peek below the left rail. */
body[data-page="home"] #top-field-finder.has-field-gallery.has-gallery-interacted .top-field-gallery-track > .is-gallery-far-clone {
  position: relative;
  z-index: 0;
  left: calc(clamp(8px, calc(1.8 * var(--pp-wide-vw, 1vw)), 28px) - 25px);
  opacity: .72 !important;
  filter: saturate(1) contrast(1.03);
}

@media (min-width: 781px) {
  /* In the medicine frame, keep the complete medical-device tile below the
     category rail and finish it before the Engineering tile begins. */
  body[data-page="home"] #top-field-finder.has-gallery-interacted:has(.is-gallery-current[data-field-family="medicine"]) .top-field-gallery-track > .is-gallery-far-clone[data-field-family="medical-device"] {
    opacity: 1 !important;
    filter: saturate(1.25) contrast(1.18) brightness(.86);
    clip-path: none;
  }

}

/* Scaling and cropping never distort the source artwork's intrinsic ratio. */
body[data-page="home"] #top-field-finder.has-field-gallery .top-about-study__image-frame img {
  aspect-ratio: auto !important;
  object-fit: cover !important;
}

body[data-page="home"] #top-field-finder.has-field-gallery .top-about-study__image-frame img {
  transition: filter 260ms ease, transform 480ms cubic-bezier(.22, .61, .36, 1) !important;
}

body[data-page="home"] #top-field-finder.has-field-gallery .top-about-study__feature:is(:hover, :focus-visible) .top-about-study__image-frame img {
  transform: scale(1.06) !important;
}

/* Keep the medicine artwork mirrored from the opening three-card view onward. */
body[data-page="home"] #top-field-finder.has-field-gallery .top-field-gallery-track > [data-field-family="medicine"] .top-about-study__image-frame img {
  transform: scaleX(-1) scale(1.002) !important;
}

body[data-page="home"] #top-field-finder.has-field-gallery .top-field-gallery-track > [data-field-family="medicine"]:is(:hover, :focus-visible) .top-about-study__image-frame img {
  transform: scaleX(-1) scale(1.06) !important;
}

body[data-page="home"] #top-field-finder .top-field-gallery-dots {
  position: absolute;
  z-index: 8;
  top: auto;
  right: 20px;
  bottom: clamp(40px, calc(4 * var(--pp-wide-vw, 1vw)), 56px);
  display: flex;
  gap: 7px;
  align-items: center;
  padding: 9px 12px;
  background: rgba(1, 35, 48, .62);
  backdrop-filter: blur(4px);
}

@media (min-width: 781px) {
  body[data-page="home"] #top-field-finder.has-gallery-interacted .top-field-gallery-dots {
    right: calc(50% - clamp(520px, calc(43.5 * var(--pp-wide-vw, 1vw)), 600px) / 2 + 20px);
    bottom: calc((100% - clamp(300px, calc(26 * var(--pp-wide-vw, 1vw)), 350px)) / 2 + 20px);
  }
}

body[data-page="home"] #top-field-finder .top-field-gallery-dots > button {
  width: 9px;
  height: 9px;
  padding: 0;
  border: 1px solid #fff;
  border-radius: 50%;
  background: transparent;
  box-shadow: 0 1px 5px rgba(0, 35, 58, .32);
  cursor: pointer;
  transition: background-color 180ms ease, transform 180ms ease;
}

body[data-page="home"] #top-field-finder .top-field-gallery-dots > button:is(:hover, :focus-visible) {
  outline: 2px solid rgba(84, 178, 220, .95);
  outline-offset: 3px;
  transform: scale(1.12);
}

body[data-page="home"] #top-field-finder .top-field-gallery-dots > button.is-current {
  background: #fff;
}

/* The service-card hover keeps the circular arrow, without corner brackets. */
body[data-page="home"] #top-field-finder .top-about-study__image-frame::before,
body[data-page="home"] #top-field-finder .top-about-study__field-subtitle::after,
body[data-page="home"] #top-field-finder .top-family-link-label::after {
  display: none !important;
  content: none !important;
}

@media (prefers-reduced-motion: reduce) {
  body[data-page="home"] #top-field-finder.has-field-gallery .top-field-gallery-track > .top-about-study__feature {
    transition: none !important;
  }
}

@media (max-width: 780px) {
  body[data-page="home"] #top-field-finder.has-field-gallery > .top-field-gallery-track {
    grid-auto-columns: calc(72 * var(--pp-wide-vw, 1vw));
    padding-inline: calc(10 * var(--pp-wide-vw, 1vw));
  }

  body[data-page="home"] #top-field-finder .top-field-gallery-spin {
    right: 8px;
    left: 8px;
  }

  body[data-page="home"] #top-field-finder .top-field-gallery-spin > button {
    width: 44px;
    height: 44px;
  }

  body[data-page="home"] #top-field-finder .top-field-gallery-dots {
    top: auto;
    right: calc(calc(14 * var(--pp-wide-vw, 1vw)) + 10px);
    bottom: 28px;
    padding: 8px 10px;
  }
}

/* Company message: keep generous vertical space around the copy and portrait. */
@media (min-width: 781px) {
  body[data-page="company"] #message.company-message-feature {
    min-height: clamp(660px, calc(52 * var(--pp-wide-vw, 1vw)), 760px);
    grid-template-columns: minmax(0, 66%) minmax(340px, 34%);
  }

  body[data-page="company"] #message::before,
  body[data-page="company"] #message .company-message-photo-hitarea {
    inset: clamp(56px, calc(5.2 * var(--pp-wide-vw, 1vw)), 70px) clamp(22px, calc(2.2 * var(--pp-wide-vw, 1vw)), 34px) clamp(56px, calc(5.2 * var(--pp-wide-vw, 1vw)), 70px) calc(53.5% + 4px);
    transform: scale(.9);
    transform-origin: center;
  }

  body[data-page="company"] #message::before {
    z-index: 4;
  }

  body[data-page="company"] #message .company-message-photo-hitarea {
    z-index: 5;
  }

  body[data-page="company"] #message .company-message-photo-hitarea::after {
    display: none;
    content: none;
  }

  body[data-page="company"] #message .company-message-feature-intro,
  body[data-page="company"] #message .company-message-feature-visual {
    grid-column: 1;
  }

  body[data-page="company"] #message .company-message-feature-visual {
    margin: clamp(30px, calc(3.2 * var(--pp-wide-vw, 1vw)), 46px) clamp(-90px, calc(-6.4 * var(--pp-wide-vw, 1vw)), -76px) clamp(30px, calc(3.2 * var(--pp-wide-vw, 1vw)), 46px) clamp(18px, calc(2 * var(--pp-wide-vw, 1vw)), 28px);
  }

  body[data-page="company"] #message .company-message-feature-content {
    position: relative;
    inset: auto;
    min-height: 100%;
    padding-block: clamp(48px, calc(5 * var(--pp-wide-vw, 1vw)), 72px);
    padding-right: clamp(226px, calc(18 * var(--pp-wide-vw, 1vw)), 244px);
  }

  body[data-page="company"] #message .company-message-feature-signature {
    padding-right: 12px;
  }
}

@media (max-width: 780px) {
  body[data-page="company"] #message .company-message-feature-content {
    padding-block: 48px;
  }
}
/* CSV: use the same calm white atmospheric blur as the service family. */
body[data-page="service-csv"] .regulated-page {
  background: #fff;
}

body[data-page="service-csv"] .regulated-page::before {
  background-image:
    linear-gradient(rgba(255, 255, 255, .88), rgba(255, 255, 255, .88)),
    var(--page-image) !important;
  filter: blur(27px) saturate(.35) contrast(.84) brightness(1.2);
  transform: scale(1.18);
}

body[data-page="service-csv"] .regulated-page::after {
  background: rgba(255, 255, 255, .34);
}

body[data-page="service-csv"] .csv-issue-audience-tabs button:not([aria-selected="true"]),
body[data-page="service-csv"] .kakkonashi-issue-category-toggle:not([aria-selected="true"]) {
  background: transparent;
  box-shadow: none;
}
/* News archive and article pages */
:is(body[data-page="news"], body[data-page="news-a49"], body[data-page="news-a70"], body[data-page="news-article"]) .regulated-page {
  background: #fff;
}

:is(body[data-page="news"], body[data-page="news-a49"], body[data-page="news-a70"], body[data-page="news-article"]) .regulated-page::before {
  background-image:
    linear-gradient(rgba(255, 255, 255, .88), rgba(255, 255, 255, .88)),
    var(--page-image) !important;
  filter: blur(27px) saturate(.35) contrast(.84) brightness(1.2);
  transform: scale(1.18);
}

:is(body[data-page="news"], body[data-page="news-a49"], body[data-page="news-a70"], body[data-page="news-article"]) .regulated-page::after {
  background: rgba(255, 255, 255, .34);
  background-size: auto;
}

body:is([data-page="news"], [data-page="news-a49"]) .page-intro h1 {
  max-width: 900px;
  font-size: clamp(34px, calc(4.2 * var(--pp-wide-vw, 1vw)), 62px);
  line-height: 1.18;
}

.news-archive,
.news-detail,
.news-related {
  width: min(100%, 1040px);
  margin-inline: auto;
}

.news-archive {
  padding: 0 0 clamp(42px, calc(6 * var(--pp-wide-vw, 1vw)), 84px);
  border: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.news-archive__header {
  padding: 0 18px 28px;
  border-bottom: 0;
}

.news-archive__header > span,
.news-related header > span,
.news-detail__feature > div > span {
  color: var(--pp-blue);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .16em;
}

.news-archive__header h2,
.news-related h2 {
  margin: 8px 0 12px;
  color: var(--pp-navy);
  font-size: clamp(28px, calc(3.2 * var(--pp-wide-vw, 1vw)), 44px);
  line-height: 1.2;
}

.news-archive__header p {
  margin: 0;
  color: #526674;
  line-height: 1.8;
}

body[data-page="news"] .page-intro {
  color: #1e2f3a;
}

body[data-page="news"] .page-intro :is(.eyebrow, h1, h1 > span, p) {
  text-shadow: none !important;
}

body[data-page="news"] .page-intro .eyebrow {
  color: #2f5d78;
}

body[data-page="news"] .page-intro h1,
body[data-page="news"] .page-intro h1 > span {
  color: #1e2f3a;
}

body[data-page="news"] .page-intro h1 > span {
  border-bottom: 0;
}

body[data-page="news"] .page-intro p {
  color: #455965;
}

.news-archive__filters {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  margin: 0 0 28px;
}

.news-archive__filters--search { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.news-archive__filter-count { display: block; margin-top: 4px; font-size: 13px; line-height: 1.4; font-weight: 600; }
.news-archive__filters--search .home-news-index__tab-status[hidden] { display: none; }
.news-archive__search-summary {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px 16px;
  margin: 0 18px 24px;
  color: var(--pp-ink);
  font-size: 14px;
  line-height: 1.75;
}
.news-archive__search-summary a { color: var(--pp-primary-strong); text-decoration: underline; }
@media (max-width: 640px) {
  .news-archive__filters.news-archive__filters--search { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.news-archive__filters button {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  min-width: 0;
  min-height: 64px;
  padding: 9px 13px 7px;
  border: 0;
  border-bottom: 4px solid #2f5d78;
  color: #071b2c;
  background: transparent;
  font: inherit;
  font-size: .8rem;
  font-weight: 800;
  line-height: 1.3;
  text-align: left;
  cursor: pointer;
}

.news-archive__filters button:is(.is-active, :hover, :focus-visible) .home-news-index__tab-badge {
  color: #fff;
}

.news-archive__filters button:is(.is-active, :hover, :focus-visible) .home-news-index__tab-badge--new {
  padding: 2px 4px;
  background: var(--pp-required-red, #b43b32);
}

.news-archive__filters button + button {
  border-left: 1px solid rgba(255, 255, 255, .42);
}

.news-archive__filters button.is-active {
  color: #fff;
  background: #2f5d78;
  box-shadow: none;
}

.news-archive__filters button:not(.is-active):is(:hover, :focus-visible) {
  color: #071b2c;
  background: rgba(78, 171, 216, .1);
}

.news-archive--taxonomy .news-archive__filters {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 0 18px;
}

.news-archive--taxonomy .news-archive__filters :is(button, a) {
  display: inline-flex;
  align-items: center;
  width: auto;
  min-height: 38px;
  padding: 7px 13px;
  border: 1px solid #2f5d78;
  color: #2f5d78;
  background: #fff;
}

.news-archive--taxonomy .news-archive__filters :is(button, a) + :is(button, a) {
  border-left: 1px solid #2f5d78;
}

.news-archive--taxonomy .news-archive__filters :is(button, a).is-active {
  color: #fff;
  background: #2f5d78;
}

.news-archive--taxonomy .news-archive__filters :is(button, a):not(.is-active):is(:hover, :focus-visible) {
  color: #fff;
  background: var(--pp-primary-strong);
  border-color: var(--pp-primary-strong);
}

/* Categories use the square selector chips; tags stay as text links. */
body[data-news-view="tags"] .news-archive--taxonomy .news-archive__filters {
  gap: 10px 24px;
  padding: 0 18px;
}

body[data-news-view="tags"] .news-archive--taxonomy .news-archive__filters :is(button, a),
body[data-news-view="tags"] .news-archive--taxonomy .news-archive__filters :is(button, a) + :is(button, a) {
  min-height: 0;
  padding: 2px 0 2px 13px;
  border: 0;
  color: #329bd2;
  background: transparent;
  box-shadow: none;
}

body[data-news-view="tags"] .news-archive--taxonomy .news-archive__filters :is(button, a)::before {
  content: "#";
  margin-left: -13px;
  margin-right: 3px;
}

body[data-news-view="tags"] .news-archive--taxonomy .news-archive__filters :is(button, a).is-active,
body[data-news-view="tags"] .news-archive--taxonomy .news-archive__filters :is(button, a):is(:hover, :focus-visible) {
  color: #0e86c7;
  background: transparent;
  text-decoration: underline;
}

.news-archive__list {
  padding: 0 18px;
  border-top: 0;
}

.news-archive__list::before {
  display: block;
  padding: 22px 0 10px;
  color: #071b2c;
  border-bottom: 2px solid #071b2c;
  content: attr(data-news-archive-heading);
  font-family: var(--pp-font-latin, "Segoe UI", sans-serif);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .1em;
}

.news-archive-card[hidden] {
  display: none;
}

.news-archive-card > a {
  position: relative;
  display: grid;
  grid-template-columns: 112px 190px minmax(0, 1fr) 58px;
  gap: 18px;
  align-items: center;
  min-height: 78px;
  padding: 16px 12px;
  color: inherit;
  text-decoration: none;
  background: transparent;
  border-bottom: 1px solid #071b2c;
  transition: background-color .18s ease, color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.news-archive-card > a:is(:hover, :focus-visible) {
  z-index: 1;
  background: #fff;
  box-shadow: 0 4px 12px rgba(1, 54, 65, .14), 0 18px 38px rgba(1, 54, 65, .18);
  transform: translateY(-2px);
}

.news-archive-card time,
.news-detail__header time,
.news-related time {
  color: #5d7483;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .08em;
}

.news-archive-card__tags,
.news-detail__tags {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
  margin: 0;
}

.news-detail__tags {
  flex-direction: row;
  align-items: center;
  flex-wrap: wrap;
}

.news-archive-card__tags span,
.news-detail__tags span {
  padding: 4px 8px;
  background: #dbeaf2;
  color: var(--pp-deep);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .08em;
}

.news-archive-card__tags span {
  padding: 5px 8px;
  border: 1px solid #aac7d9;
  color: #013641;
  background: transparent;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: normal;
}

.news-archive-card__tags .news-archive-card__tag--status {
  padding: 5px 7px;
  border: 0;
  color: #fff;
  background: #338fb9;
  letter-spacing: 0;
  line-height: 1.3;
  white-space: nowrap;
}

.news-archive-card__tags .news-archive-card__tag--new {
  padding: 5px 7px;
  border: 0;
  color: #fff;
  background: var(--pp-required-red, #b43b32);
  letter-spacing: 0;
  line-height: 1.3;
  white-space: nowrap;
}

.news-archive-card__tags .news-archive-card__author {
  border-color: #a68a33;
  background: #b89d43;
  color: #fff;
  letter-spacing: normal;
  text-transform: none;
  font-weight: 700;
}

.news-archive-card__tags .news-archive-card__author--meister {
  border-color: #a68a33;
  background: #b89d43;
  color: #fff;
  font-weight: 700;
}

.news-archive-card h3 {
  margin: 0;
  color: var(--pp-navy);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.45;
  transition: color .24s ease;
}

.news-archive-card > a:is(:hover, :focus-visible) h3 {
  color: var(--pp-primary-strong, #2f8eb6);
}

.news-archive-card__more {
  display: grid;
  grid-template-columns: auto auto;
  place-items: center;
  gap: 6px;
  width: auto;
  height: 34px;
  margin-left: auto;
  color: #071b2c;
  font-size: 18px;
  transition: transform .24s ease;
}

.news-archive-card__more::before {
  content: "DETAIL";
  font-family: var(--pp-font-latin, "Segoe UI", sans-serif);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .1em;
}

.news-archive-card > a:is(:hover, :focus-visible) .news-archive-card__more {
  color: var(--pp-primary-strong, #2f8eb6);
  transform: translateX(4px);
}

.news-month-sort {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 8px;
  margin: 0 0 16px;
  padding: 0 18px;
  color: #73848f;
  font-size: 13px;
}

.news-month-sort button {
  min-width: 44px;
  min-height: 44px;
  padding: 0;
  border: 0;
  color: #2f8eb6;
  background: transparent;
  font: inherit;
  cursor: pointer;
}

.news-month-sort button.is-active {
  color: var(--pp-navy);
  font-weight: 800;
}

.news-month-sort button:is(:hover, :focus-visible) {
  color: #43abd5;
  text-decoration: underline;
  text-underline-offset: 4px;
}

.news-archive--month .news-archive__list {
  display: grid;
  gap: 18px;
}

.news-archive--month .news-archive__filters[hidden] {
  display: none;
}

.news-archive-browser {
  display: grid;
  gap: 14px;
  margin: 0 18px 24px;
  padding: 18px 0 22px;
  border-top: 1px solid #c7dce7;
  border-bottom: 1px solid #c7dce7;
}

.news-archive-browser__years,
.news-archive-browser__months {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.news-archive-browser a {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-height: 38px;
  padding: 7px 13px;
  border: 1px solid #2f5d78;
  color: #2f5d78;
  background: #fff;
  font-size: 12px;
  font-weight: 800;
  text-decoration: none;
  transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease;
}

.news-archive-browser a[aria-current] {
  color: #fff;
  background: #2f5d78;
}

.news-archive-browser a:not([aria-current]):is(:hover, :focus-visible) {
  color: #fff;
  background: var(--pp-primary-strong);
  border-color: var(--pp-primary-strong);
}

.news-archive-browser a span {
  font-size: 10px;
  opacity: .76;
}

.news-archive--month .news-archive__list::before {
  content: none;
}

.news-archive-card--month > a {
  grid-template-columns: minmax(180px, 218px) minmax(0, 1fr);
  gap: 24px;
  align-items: start;
  min-height: 0;
  padding: 16px;
  border: 1px solid #d9e0e5;
  background: #fff;
}

.news-archive-card--month > a:is(:hover, :focus-visible) {
  box-shadow: 0 8px 22px rgba(1, 54, 65, .18) !important;
}

.news-archive-card--month .news-archive-card__visual {
  grid-column: auto;
  margin: 0;
  overflow: hidden;
  aspect-ratio: 16 / 9;
  background: #f2f8fb;
}

.news-archive-card--month .news-archive-card__visual img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 180ms ease;
}

.news-archive-card--month .news-archive-card__visual--meister img {
  padding: 24px;
  object-fit: contain;
  background: #f7fbfe;
}

.news-archive-card--month > a:is(:hover, :focus-visible) .news-archive-card__visual img {
  transform: scale(1.035);
}

.news-archive-card--month .news-archive-card__body {
  min-width: 0;
  padding-top: 1px;
}

.news-archive-card--month time {
  display: block;
  margin-bottom: 5px;
  color: #4e6270;
  font-size: 13px;
  letter-spacing: 0;
}

.news-archive-card--month h3 {
  margin: 0 0 14px;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.5;
}

.news-archive-card--month .news-archive-card__tags {
  gap: 8px;
}

.news-archive-card--month .news-archive-card__tags span {
  padding: 5px 8px;
  border: 1px solid #aac7d9;
  color: #013641;
  background: transparent;
}

.news-archive-card--month .news-archive-card__tags .news-archive-card__author {
  border-color: #a68a33;
  color: #fff;
  background: #b89d43;
}

.news-archive-card--month .news-archive-card__tags :is(.news-archive-card__tag--status, .news-archive-card__tag--new) {
  padding: 5px 7px;
  border: 0;
  color: #fff;
}

.news-archive-card--month .news-archive-card__tags .news-archive-card__tag--status {
  background: #338fb9;
}

.news-archive-card--month .news-archive-card__tags .news-archive-card__tag--new {
  background: var(--pp-required-red, #b43b32);
}

.news-detail {
  padding: clamp(36px, calc(5 * var(--pp-wide-vw, 1vw)), 72px) clamp(20px, calc(4 * var(--pp-wide-vw, 1vw)), 64px);
  background: #fff;
}

.news-detail__breadcrumb {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 36px;
  color: #607685;
  font-size: 12px;
}

.news-detail__breadcrumb a {
  color: var(--pp-blue);
}

.news-detail__meta {
  display: flex;
  gap: 24px;
  align-items: baseline;
  justify-content: space-between;
}

.news-detail__meta .news-detail__breadcrumb {
  justify-content: flex-end;
  max-width: min(72%, 650px);
  margin: 0;
  text-align: right;
}

.news-detail__header h2 {
  max-width: 820px;
  margin: 18px 0 32px;
  color: var(--pp-navy);
  font-size: clamp(30px, calc(4 * var(--pp-wide-vw, 1vw)), 52px);
  line-height: 1.35;
}

.news-detail__hero {
  margin: 0 0 clamp(36px, calc(5 * var(--pp-wide-vw, 1vw)), 64px);
}

.news-detail__hero img {
  display: block;
  width: 100%;
  max-height: 620px;
  object-fit: cover;
}

.news-detail__body {
  width: min(100%, 820px);
  margin-inline: auto;
}

.news-detail__body > h3 {
  margin: 0 0 32px;
  color: var(--pp-navy);
  font-size: clamp(21px, calc(2.3 * var(--pp-wide-vw, 1vw)), 30px);
  line-height: 1.65;
}

.news-detail__body > p {
  margin: 0 0 1.7em;
  color: #304957;
  font-size: 16px;
  line-height: 2;
}

.news-detail__gallery {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 0 0 36px;
}

.news-detail__gallery img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.news-detail__feature {
  display: grid;
  grid-template-columns: minmax(220px, .8fr) minmax(0, 1.2fr);
  margin: 48px 0 0;
  background: #eaf4f8;
}

.news-detail__feature > img {
  width: 100%;
  height: 100%;
  min-height: 260px;
  object-fit: cover;
}

.news-detail__feature > div {
  padding: clamp(24px, calc(4 * var(--pp-wide-vw, 1vw)), 42px);
}

.news-detail__feature h4 {
  margin: 10px 0 14px;
  color: var(--pp-navy);
  font-size: 22px;
  line-height: 1.55;
}

.news-detail__feature p {
  color: #4d6370;
  line-height: 1.8;
}

.news-detail__feature a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 8px;
  color: var(--pp-blue);
  font-weight: 800;
}

.news-detail__pager {
  margin-top: 54px;
  padding-top: 24px;
  border-top: 1px solid #cbdce5;
}

.news-detail__pager a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--pp-navy);
  font-weight: 800;
}

.news-article-layout {
  display: grid;
  min-width: 0;
  grid-template-columns: minmax(0, 1fr) 286px;
  gap: clamp(28px, calc(4 * var(--pp-wide-vw, 1vw)), 54px);
  align-items: start;
  width: min(100%, 1180px);
  margin-inline: auto;
  padding: clamp(36px, calc(5 * var(--pp-wide-vw, 1vw)), 72px) clamp(20px, calc(3.5 * var(--pp-wide-vw, 1vw)), 52px);
  background: #fff;
}

.news-article-layout .news-detail {
  width: auto;
  margin: 0;
  padding: 0;
}

.news-article-layout .news-detail__header h2 {
  font-size: clamp(28px, calc(3.4 * var(--pp-wide-vw, 1vw)), 44px);
}

.news-article-layout .news-detail__body {
  width: 100%;
}

.news-article-main {
  min-width: 0;
}

.news-article-main .news-related {
  width: 100%;
  margin-top: 54px;
}

.news-detail__cta {
  display: inline-flex;
  min-width: min(100%, 320px);
  min-height: 62px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 16px 34px;
  border: 1px solid var(--pp-primary-strong);
  border-radius: 0;
  background: linear-gradient(135deg, var(--pp-action-primary-start), var(--pp-action-primary-end));
  box-shadow: 0 12px 28px rgba(0, 61, 85, .24);
  color: #fff;
  font-size: 17px;
  font-weight: 700;
  text-decoration: none;
  transition: border-color 180ms ease, background-color 180ms ease, box-shadow 180ms ease, color 180ms ease, transform 180ms ease;
}

.news-detail__cta .ph {
  flex: 0 0 auto;
  font-size: 18px;
  transition: transform 180ms ease;
}

.news-detail__cta:is(:hover, :focus-visible) {
  z-index: 1;
  border-color: #43abd5;
  background: #fff;
  box-shadow: 0 8px 22px rgba(1, 54, 65, .2) !important;
  color: #43abd5;
  transform: translateY(-2px);
}

.news-detail__cta:is(:hover, :focus-visible) .ph {
  transform: translateX(4px);
}

.news-detail__cta:active {
  transform: translateY(0);
}

.news-detail__pager--between {
  display: flex;
  justify-content: space-between;
  gap: 20px;
}

.news-related--inside {
  width: 100%;
  margin-top: 54px;
  padding: clamp(28px, calc(4 * var(--pp-wide-vw, 1vw)), 46px);
}

.news-detail-sidebar {
  position: sticky;
  top: 104px;
  display: grid;
  gap: 28px;
}

.news-detail-sidebar__search {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 48px;
  min-height: 48px;
  border: 1px solid #a8bfcc;
  background: #fff;
}

.news-detail-sidebar__search .sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.news-detail-sidebar__search input {
  min-width: 0;
  padding: 0 14px;
  border: 0;
  background: transparent;
  color: var(--pp-navy);
  font: inherit;
}

.news-detail-sidebar__search input::placeholder {
  color: #6c7f89;
}

.news-detail-sidebar__search button {
  display: grid;
  place-items: center;
  border: 0;
  background: #43abd5 !important;
  color: #fff;
  font-size: 20px;
  cursor: pointer;
  transition: background-color .2s ease;
}

.news-detail-sidebar__search button:is(:hover, :focus-visible) {
  background: var(--pp-deep) !important;
}

/* Match the article search field to the approved service keyword search. */
.news-detail-sidebar__search {
  grid-template-columns: minmax(0, 1fr) 62px;
  height: 52px;
  min-height: 52px;
  overflow: visible;
  border: 1px solid rgba(199, 208, 212, .88);
  border-radius: 0;
  background: rgba(255, 255, 255, .84);
  box-shadow: none;
}

.news-detail-sidebar__search input {
  height: 50px;
  min-height: 50px;
  padding: 11px 14px;
  outline: 0;
  color: #071b2c;
  caret-color: #2e95c3;
  font-size: clamp(15px, calc(1.35 * var(--pp-wide-vw, 1vw)), 17.28px);
}

.news-detail-sidebar__search input::placeholder {
  color: #071b2c;
  opacity: 1;
}

.news-detail-sidebar__search button {
  width: 62px;
  height: 50px;
  min-height: 50px;
  margin: 0;
  border: 1px solid rgba(255, 255, 255, .76);
  color: #fff;
  background: rgba(46, 149, 195, .62) !important;
  font-size: 24px;
  transition: background-color 180ms ease, transform 180ms ease, box-shadow 180ms ease;
}

.news-detail-sidebar__search button:is(:hover, :focus-visible) {
  color: #fff;
  background: rgba(84, 178, 220, .94) !important;
  box-shadow: 0 6px 14px rgba(1, 54, 65, .18);
  transform: translateY(-1px);
}

.news-detail-sidebar > section {
  padding: 22px;
  border-top: 4px solid var(--pp-deep);
  background: #f4f8fa;
}

.news-detail-sidebar h2 {
  margin: 0 0 18px;
  color: var(--pp-navy);
  font-size: 19px;
  line-height: 1.3;
}

.news-detail-sidebar__recommended-list {
  display: grid;
  gap: 14px;
}

.news-detail-sidebar__recommended-list a {
  position: relative;
  display: grid;
  grid-template-columns: 88px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  margin: -7px -8px;
  padding: 7px 8px;
  color: var(--pp-navy);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.55;
  text-decoration: none;
  background: transparent;
  transition: color 180ms ease, background-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.news-detail-sidebar__recommended-list img {
  display: block;
  width: 88px;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

.news-detail-sidebar__recommended-list a:is(:hover, :focus-visible) {
  z-index: 1;
  color: #43abd5;
  background: #fff;
  box-shadow: 0 8px 22px rgba(1, 54, 65, .2) !important;
  transform: translateY(-2px);
}

.news-detail-sidebar__archive {
  margin: 0;
  padding: 0;
  list-style: none;
}

.news-detail-sidebar__archive a {
  position: relative;
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin: 0 -8px;
  padding: 11px 10px;
  border-bottom: 1px solid #c6d8e2;
  color: var(--pp-navy);
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
  background: transparent;
  transition: color 180ms ease, background-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.news-detail-sidebar__archive a span {
  color: #6a8190;
  font-weight: 600;
  transition: color 180ms ease;
}

.news-detail-sidebar__archive a:is(:hover, :focus-visible) {
  z-index: 1;
  color: #43abd5;
  background: #fff;
  box-shadow: 0 8px 22px rgba(1, 54, 65, .2) !important;
  transform: translateY(-2px);
}

.news-detail-sidebar__archive a:is(:hover, :focus-visible) span {
  color: #43abd5;
}

.news-detail-sidebar__all {
  position: relative;
  display: inline-flex;
  width: calc(100% + 16px);
  align-items: center;
  gap: 7px;
  margin: 10px -8px 0;
  padding: 10px 8px;
  background: transparent;
  color: var(--pp-deep);
  font-size: 12px;
  font-weight: 800;
  text-decoration: none;
  transition: color 180ms ease, background-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.news-detail-sidebar__all:is(:hover, :focus-visible) {
  z-index: 1;
  color: #43abd5;
  background: #fff;
  box-shadow: 0 8px 22px rgba(1, 54, 65, .2);
  transform: translateY(-2px);
}

.news-detail-sidebar__tags {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 6px 10px;
}

.news-detail-sidebar__tags a {
  display: block;
  min-height: 0;
  border: 0;
  background: transparent;
  color: #329bd2;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0;
  text-decoration: none;
  transition: color 180ms ease, background-color 180ms ease, text-decoration-color 180ms ease;
}

.news-detail-sidebar__tags a span {
  font-size: inherit;
  color: inherit;
  opacity: 1;
}

.news-detail-sidebar__tags--categories {
  gap: 4px 6px;
}

.news-detail-sidebar__tags--categories a {
  padding: 6px 12px 5px;
  border-radius: 2px;
  background: #329bd2;
  color: #fff;
}

.news-detail-sidebar__tags--categories a:is(:hover, :focus-visible),
.news-detail-sidebar__tags--categories a.is-current {
  background: #0e86c7;
  color: #fff;
}

.news-detail-sidebar__tags--labels a {
  padding-left: 13px;
}

.news-detail-sidebar__tags--labels a:is(:hover, :focus-visible) {
  color: #329bd2;
  text-decoration: underline;
}

.news-detail-sidebar__tags a:focus-visible {
  outline: 2px solid #013641;
  outline-offset: 2px;
}

.news-remote-body {
  width: min(100%, 820px);
  margin-inline: auto;
  color: #304957;
  font-size: 16px;
  line-height: 2;
}

.news-remote-body :is(h1, h2, h3, h4) {
  margin: 1.8em 0 .75em;
  color: var(--pp-navy);
  line-height: 1.55;
}

.news-remote-body h2 {
  font-size: clamp(22px, calc(2.6 * var(--pp-wide-vw, 1vw)), 32px);
}

.news-remote-body h3 {
  font-size: clamp(19px, calc(2 * var(--pp-wide-vw, 1vw)), 25px);
}

.news-remote-body p {
  margin: 0 0 1.6em;
}

.news-remote-body img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  margin: 30px auto;
}

.news-remote-body a {
  color: var(--pp-blue);
  text-decoration-thickness: 1px;
  text-underline-offset: .2em;
}

.news-remote-body :is(ul, ol) {
  margin: 1.3em 0;
  padding-left: 1.5em;
}

.news-remote-body table {
  width: 100%;
  margin: 28px 0;
  border-collapse: collapse;
}

.news-remote-body :is(th, td) {
  padding: 12px 14px;
  border: 1px solid #c5d8e2;
  text-align: left;
}

.news-remote-loading,
.news-remote-fallback {
  padding: 32px;
  background: #eef5f8;
  color: #526674;
}

.news-remote-fallback a,
.news-remote-source a,
.news-remote-pdf a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--pp-blue);
  font-weight: 800;
}

.news-remote-source {
  width: min(100%, 820px);
  margin: 42px auto 0;
  padding: 20px 24px;
  border-left: 4px solid var(--pp-blue);
  background: #f3f8fb;
}

.news-remote-source p {
  margin: 0 0 8px;
  color: #5b707d;
  font-size: 13px;
}

.news-remote-pdf iframe {
  display: block;
  width: 100%;
  min-height: calc(74 * var(--pp-wide-vh, 1vh));
  border: 1px solid #c5d8e2;
  background: #fff;
}

.news-remote-pdf p {
  margin-top: 16px;
}

.news-remote-pdf--preview .news-detail__hero img {
  width: auto;
  max-width: 100%;
  max-height: min(calc(76 * var(--pp-wide-vh, 1vh)), 760px);
  margin-inline: auto;
  border: 1px solid #c5d8e2;
  object-fit: contain;
}

body[data-news-id="press-20260405"] .news-remote-pdf--preview .news-detail__hero img {
  width: min(100%, 480px);
  max-height: none;
  aspect-ratio: .72;
  object-fit: cover;
  object-position: left top;
}

.news-remote-pdf--preview .news-detail__cta {
  color: #fff;
}

.news-remote-pdf--preview .news-detail__cta:is(:hover, :focus-visible) {
  color: #43abd5;
}

.news-related {
  margin-top: 26px;
  padding: clamp(34px, calc(5 * var(--pp-wide-vw, 1vw)), 62px) clamp(20px, calc(4 * var(--pp-wide-vw, 1vw)), 64px);
  background: #eef5f8;
}

.news-related.news-related--inside {
  background: transparent;
}

.news-related header {
  margin-bottom: 22px;
}

.news-related--inside > header > span {
  display: block;
  margin-bottom: 7px;
  color: #2f5d78;
  font-family: var(--pp-font-latin);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .17em;
}

.news-related--inside > header h2 {
  width: fit-content;
  margin: 0;
  color: #1e2f3a;
  font-size: clamp(25px, calc(2.7 * var(--pp-wide-vw, 1vw)), 38px);
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: .02em;
}

.news-related > div {
  border-top: 1px solid #b9d0dc;
}

.news-related a {
  display: grid;
  grid-template-columns: 110px minmax(0, 1fr) auto;
  gap: 18px;
  align-items: center;
  padding: 20px 4px;
  border-bottom: 1px solid #b9d0dc;
  color: var(--pp-navy);
  text-decoration: none;
}

.news-related a:is(:hover, :focus-visible) strong {
  color: var(--pp-blue);
}

.news-related--inside > div {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  border-top: 0;
}

.news-related--inside a {
  position: relative;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 14px;
  align-content: start;
  min-width: 0;
  padding: 0 0 18px;
  overflow: hidden;
  border: 0;
  background: #fff;
  box-shadow: 0 9px 24px rgba(1, 54, 65, .08);
  transition: box-shadow 180ms ease, transform 180ms ease;
}

.news-related--inside a:is(:hover, :focus-visible) {
  box-shadow: 0 14px 30px rgba(1, 54, 65, .16);
  transform: translateY(-3px);
}

.news-related--inside .news-related__visual {
  grid-column: 1 / -1;
  display: block;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: #dfeaf0;
}

.news-related--inside .news-related__visual img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 220ms ease;
}

.news-related--inside a:is(:hover, :focus-visible) .news-related__visual img {
  transform: scale(1.025);
}

.news-related--inside .news-related__copy {
  display: grid;
  gap: 8px;
  min-width: 0;
  padding-left: 16px;
}

.news-related--inside time {
  color: #668092;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .08em;
}

.news-related--inside strong {
  font-size: .88rem;
  line-height: 1.65;
}

.news-related--inside a > i {
  align-self: end;
  margin-right: 14px;
  color: var(--pp-blue);
}

@media (max-width: 760px) {
  .news-detail__meta {
    display: grid;
    gap: 10px;
  }

  .news-detail__meta .news-detail__breadcrumb {
    justify-content: flex-start;
    max-width: none;
    text-align: left;
  }

  .news-detail__gallery,
  .news-detail__feature {
    grid-template-columns: 1fr;
  }

  .news-archive-card > a {
    grid-template-columns: minmax(0, 1fr) 34px;
    gap: 10px 14px;
    padding: 18px 4px;
  }

  .news-archive__header,
  .news-archive__list {
    padding-right: 0;
    padding-left: 0;
  }

  .news-archive__filters :is(button, a) {
    min-height: 64px;
    padding: 9px 13px 7px;
    font-size: .8rem;
    text-align: left;
  }

  .news-archive__filters {
    grid-template-columns: minmax(0, 1fr);
  }

  .news-archive__filters :is(button, a) + :is(button, a) {
    border-top: 0;
    border-left: 0;
  }

  .news-archive-card__more::before {
    content: none;
  }

  .news-archive-card time,
  .news-archive-card__tags {
    grid-column: 1;
  }

  .news-archive-card h3 {
    grid-column: 1;
  }

  .news-archive-card__more {
    grid-column: 2;
    grid-row: 1 / 4;
  }

  .news-month-sort {
    margin-bottom: 12px;
    padding-inline: 0;
  }

  .news-archive-card--month > a {
    grid-template-columns: 105px minmax(0, 1fr);
    gap: 12px;
    align-items: start;
    padding: 16px;
  }

  .news-archive-card--month .news-archive-card__visual {
    grid-column: auto;
  }

  .news-archive-card--month .news-archive-card__visual--meister img {
    padding: 14px;
  }

  .news-archive-card--month h3 {
    grid-column: auto;
    margin-bottom: 10px;
    font-size: 15px;
    line-height: 1.45;
  }

  .news-archive-card--month time,
  .news-archive-card--month .news-archive-card__tags {
    grid-column: auto;
  }

  .news-detail__feature > img {
    min-height: 200px;
  }

  .news-related a {
    grid-template-columns: 1fr auto;
  }

  .news-related time {
    grid-column: 1 / -1;
  }

  .news-related--inside > div {
    grid-template-columns: 1fr;
  }

  .news-related--inside a {
    grid-template-columns: 116px minmax(0, 1fr) auto;
    padding: 0;
  }

  .news-related--inside .news-related__visual {
    grid-column: auto;
    min-height: 100%;
    aspect-ratio: 4 / 3;
  }

  .news-related--inside .news-related__copy {
    align-self: center;
    padding: 13px 0;
  }

  .news-related--inside time {
    grid-column: auto;
  }

  .news-related--inside a > i {
    align-self: center;
    margin-right: 12px;
  }
}

@media (max-width: 980px) {
  .news-article-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .news-detail-sidebar {
    position: static;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .news-detail-sidebar > section:first-child {
    grid-column: 1 / -1;
  }
}

@media (max-width: 620px) {
  .news-detail-sidebar {
    grid-template-columns: 1fr;
  }

  .news-detail-sidebar > section:first-child {
    grid-column: auto;
  }
}

/* Article form: move the existing category rail to the right and keep every
   article tool inside that one rail. The archive list page keeps its left rail. */
@media (min-width: 981px) {
  :is(body[data-page="news-a49"], body[data-page="news-a70"], body[data-page="news-article"]) .regulated-page {
    grid-template-columns: minmax(0, 1fr) clamp(300px, calc(23 * var(--pp-wide-vw, 1vw)), 348px);
  }

  :is(body[data-page="news-a49"], body[data-page="news-a70"], body[data-page="news-article"]) .page-stage {
    grid-column: 1;
    grid-row: 1;
  }

  :is(body[data-page="news-a49"], body[data-page="news-a70"], body[data-page="news-article"]) .page-rail {
    grid-column: 2;
    grid-row: 1;
    border-right: 0;
    border-left: 1px solid rgba(0, 61, 85, .18);
  }

  :is(body[data-page="news-a49"], body[data-page="news-a70"], body[data-page="news-article"]) .rail-inner {
    overflow-y: auto;
    padding: clamp(30px, calc(3.5 * var(--pp-wide-vw, 1vw)), 48px) 22px 38px;
  }

  :is(body[data-page="news-a49"], body[data-page="news-a70"], body[data-page="news-article"]) .rail-nav {
    flex: 0 0 auto;
    margin-top: 28px;
  }

  :is(body[data-page="news-a49"], body[data-page="news-a70"], body[data-page="news-article"]) .news-detail-sidebar {
    position: static;
    gap: 24px;
    margin-top: 28px;
  }

  :is(body[data-page="news-a49"], body[data-page="news-a70"], body[data-page="news-article"]) .news-detail-sidebar > section {
    padding: 0 0 22px;
    border-top: 0;
    background: transparent;
  }

  :is(body[data-page="news-a49"], body[data-page="news-a70"], body[data-page="news-article"]) .news-detail-sidebar h2 {
    margin: 0 0 16px;
    padding: 10px 13px;
    background: var(--pp-deep);
    color: #fff;
    font-size: 15px;
  }

  :is(body[data-page="news-a49"], body[data-page="news-a70"], body[data-page="news-article"]) .news-article-layout {
    grid-template-columns: minmax(0, 1fr);
    width: min(100%, 960px);
  }
}

@media (max-width: 980px) {
  :is(body[data-page="news-a49"], body[data-page="news-a70"], body[data-page="news-article"]) .regulated-page {
    display: flex;
    flex-direction: column;
  }

  :is(body[data-page="news-a49"], body[data-page="news-a70"], body[data-page="news-article"]) .page-stage {
    order: 1;
  }

  :is(body[data-page="news-a49"], body[data-page="news-a70"], body[data-page="news-article"]) .page-rail {
    position: static;
    order: 2;
    display: block !important;
    border-right: 0;
    border-top: 1px solid rgba(0, 61, 85, .18);
  }

  :is(body[data-page="news-a49"], body[data-page="news-a70"], body[data-page="news-article"]) .rail-inner {
    position: static;
    height: auto;
    min-height: 0;
    overflow: visible;
    padding: 34px 20px 44px;
  }

  :is(body[data-page="news-a49"], body[data-page="news-a70"], body[data-page="news-article"]) .rail-nav {
    margin-top: 28px;
  }

  :is(body[data-page="news-a49"], body[data-page="news-a70"], body[data-page="news-article"]) .news-detail-sidebar {
    position: static;
    margin-top: 28px;
  }

  :is(body[data-page="news-a49"], body[data-page="news-a70"], body[data-page="news-article"]) .news-detail-sidebar__search {
    grid-column: 1 / -1;
  }
}

/* News archive and taxonomy destinations share the article family's right rail. */
@media (min-width: 981px) {
  body[data-page="news"] .regulated-page {
    grid-template-columns: minmax(0, 1fr) clamp(300px, calc(23 * var(--pp-wide-vw, 1vw)), 348px);
  }

  body[data-page="news"] .page-stage {
    grid-column: 1;
    grid-row: 1;
  }

  body[data-page="news"] .page-rail {
    grid-column: 2;
    grid-row: 1;
    border-right: 0;
    border-left: 1px solid rgba(0, 61, 85, .18);
  }

  body[data-page="news"] .rail-inner {
    overflow-y: auto;
    padding: clamp(30px, calc(3.5 * var(--pp-wide-vw, 1vw)), 48px) 22px 38px;
  }

  body[data-page="news"] .rail-nav {
    flex: 0 0 auto;
    margin-top: 28px;
  }

  body[data-page="news"] .news-detail-sidebar {
    position: static;
    gap: 24px;
    margin-top: 28px;
  }

  body[data-page="news"] .news-detail-sidebar > section {
    padding: 0 0 22px;
    border-top: 0;
    background: transparent;
  }

  body[data-page="news"] .news-detail-sidebar h2 {
    margin: 0 0 16px;
    padding: 10px 13px;
    background: var(--pp-deep);
    color: #fff;
    font-size: 15px;
  }
}

@media (max-width: 980px) {
  body[data-page="news"] .regulated-page {
    display: flex;
    flex-direction: column;
  }

  body[data-page="news"] .page-stage {
    order: 1;
  }

  body[data-page="news"] .page-rail {
    position: static;
    order: 2;
    display: block !important;
    border-right: 0;
    border-top: 1px solid rgba(0, 61, 85, .18);
  }

  body[data-page="news"] .rail-inner {
    position: static;
    height: auto;
    min-height: 0;
    overflow: visible;
    padding: 34px 20px 44px;
  }

  body[data-page="news"] .rail-nav,
  body[data-page="news"] .news-detail-sidebar {
    margin-top: 28px;
  }

  body[data-page="news"] .news-detail-sidebar__search {
    grid-column: 1 / -1;
  }
}

/* Header dropdowns: quiet navy-and-white system. Keep the GMP branch yellow. */
@media (min-width: 981px) {
  .global-nav {
    --pp-header-menu-navy: #082f46;
    --pp-header-menu-navy-deep: #06263a;
    --pp-header-menu-white: #fff;
    --pp-header-menu-line: rgba(255, 255, 255, .58);
    --pp-header-menu-soft: rgba(255, 255, 255, .10);
  }

  .global-nav .global-nav__company-basic-heading,
  .global-nav .global-nav__services-heading,
  .global-nav .global-nav__home-subgroup-heading,
  .global-nav .global-nav__reason-node {
    color: var(--pp-header-menu-white);
    border-color: var(--pp-header-menu-line);
    background: transparent;
  }

  /* The reason menu keeps its open, light glass treatment without cross-box rules. */
  .global-nav__reason-block-body::after {
    content: none;
  }

  .global-nav .global-nav__company-basic-heading:is(:hover, :focus-visible),
  .global-nav .global-nav__services-heading:is(:hover, :focus-visible),
  .global-nav .global-nav__home-subgroup-heading:is(:hover, :focus-visible),
  .global-nav .global-nav__reason-node:is(:hover, :focus-visible) {
    color: var(--pp-header-menu-navy-deep);
    border-color: var(--pp-header-menu-white);
    background: var(--pp-header-menu-white);
  }

  .global-nav__company-basic-icon,
  .global-nav__services-icon,
  .global-nav__reason-icon,
  .global-nav__home-field-icon,
  .global-nav__services-finder-route > i:first-child {
    color: var(--pp-header-menu-white);
    border-color: var(--pp-header-menu-line);
    background: transparent;
  }

  .global-nav :is(
    .global-nav__company-basic-heading,
    .global-nav__services-heading,
    .global-nav__home-subgroup-heading,
    .global-nav__reason-node,
    .global-nav__services-finder-route
  ):is(:hover, :focus-visible) > :is(
    .global-nav__company-basic-icon,
    .global-nav__services-icon,
    .global-nav__reason-icon,
    .global-nav__home-field-icon,
    i:first-child
  ) {
    color: var(--pp-header-menu-navy-deep);
    border-color: var(--pp-header-menu-navy-deep);
    background: transparent;
  }

  .global-nav__company-basic-heading > i:last-child,
  .global-nav__company-profile-card-heading > i,
  .global-nav__services-heading > i:last-child,
  .global-nav__services-links i,
  .global-nav__reason-node > i:last-child,
  .global-nav__home-links i,
  .global-nav__home-subgroup-heading > i:last-child,
  .global-nav__process-phase-heading > span,
  .global-nav__process-number,
  .global-nav__home-branch:not(.global-nav__home-branch--special) .global-nav__home-branch-heading > span:first-child,
  .global-nav__home-branch:not(.global-nav__home-branch--special) .global-nav__home-branch-title small {
    color: var(--pp-header-menu-white);
  }

  .global-nav__company-items li {
    color: rgba(255, 255, 255, .94);
    border-left-color: var(--pp-header-menu-line);
  }

  .global-nav__dropdown-lead > a {
    border-bottom: 0;
  }

  .global-nav__dropdown-lead > a > span {
    padding-bottom: 4px;
    border-bottom: 1px solid currentColor;
  }

  .global-nav__dropdown-list a:is(:hover, :focus-visible),
  .global-nav__dropdown-lead > a:is(:hover, :focus-visible),
  .global-nav .global-nav__services-finder-route:is(:hover, :focus-visible),
  .global-nav .global-nav__services-links a:is(:hover, :focus-visible),
  .global-nav .global-nav__home-links a:is(:hover, :focus-visible),
  .global-nav .global-nav__dropdown-feature:is(:hover, :focus-visible) {
    color: var(--pp-header-menu-navy-deep);
    border-color: var(--pp-header-menu-white);
    background: var(--pp-header-menu-white);
  }

  .global-nav__dropdown-list a:is(:hover, :focus-visible) i,
  .global-nav__dropdown-lead > a:is(:hover, :focus-visible) i,
  .global-nav .global-nav__services-finder-route:is(:hover, :focus-visible) :is(strong, small, i),
  .global-nav .global-nav__services-links a:is(:hover, :focus-visible) i,
  .global-nav .global-nav__home-links a:is(:hover, :focus-visible) i,
  .global-nav .global-nav__dropdown-feature:is(:hover, :focus-visible) .global-nav__dropdown-feature-label {
    color: var(--pp-header-menu-navy-deep);
  }

  .global-nav__services-finder-switch,
  .global-nav__home-switch {
    border-color: var(--pp-header-menu-line);
    background: transparent;
  }

  .global-nav__services-finder-switch {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .global-nav__services-finder-switch button + button {
    border-left: 1px solid var(--pp-header-menu-line);
  }

  .global-nav__services-finder-switch button:is(:hover, :focus-visible),
  .global-nav__home-switch button:is(:hover, :focus-visible) {
    color: var(--pp-header-menu-navy-deep);
    background: var(--pp-header-menu-white);
  }

  .global-nav__services-finder-switch button.is-active,
  .global-nav__home-switch button.is-active {
    color: var(--pp-header-menu-white);
    background: transparent;
    box-shadow: inset 0 -2px 0 var(--pp-header-menu-white);
  }

  .global-nav__services-finder-switch button.is-active:is(:hover, :focus-visible),
  .global-nav__home-switch button.is-active:is(:hover, :focus-visible) {
    color: var(--pp-header-menu-navy-deep);
    background: var(--pp-header-menu-white);
  }

  .global-nav .global-nav__services-finder-route {
    width: 100%;
    border-color: var(--pp-header-menu-line);
    background: transparent;
  }

  .global-nav__services-finder-switch,
  .global-nav__services-finder-panel {
    width: min(100%, 560px);
  }

  .global-nav__reason-block .global-nav__reason-block-heading,
  .global-nav__process-phase .global-nav__process-phase-heading,
  .global-nav__home-branch:not(.global-nav__home-branch--special) .global-nav__home-branch-heading,
  .global-nav .global-nav__dropdown-feature {
    color: var(--pp-header-menu-white);
    border-color: var(--pp-header-menu-line);
    background: transparent;
  }

  .global-nav__reason-block .global-nav__reason-block-heading :is(span:first-child, small, strong, i),
  .global-nav__process-phase .global-nav__process-phase-heading :is(span, strong, i),
  .global-nav__home-branch:not(.global-nav__home-branch--special) .global-nav__home-branch-heading :is(span:first-child, small, strong, i) {
    color: var(--pp-header-menu-white);
  }

  .global-nav .global-nav__reason-block-heading:is(:hover, :focus-visible),
  .global-nav .global-nav__process-phase-heading:is(:hover, :focus-visible),
  .global-nav .global-nav__home-branch:not(.global-nav__home-branch--special) .global-nav__home-branch-heading:is(:hover, :focus-visible) {
    color: var(--pp-header-menu-navy-deep);
    border-color: var(--pp-header-menu-white);
    background: var(--pp-header-menu-white);
  }

  .global-nav .global-nav__reason-block-heading:is(:hover, :focus-visible) :is(span:first-child, small, strong, i),
  .global-nav .global-nav__process-phase-heading:is(:hover, :focus-visible) :is(span, strong, i),
  .global-nav .global-nav__home-branch:not(.global-nav__home-branch--special) .global-nav__home-branch-heading:is(:hover, :focus-visible) :is(span:first-child, small, strong, i) {
    color: var(--pp-header-menu-navy-deep);
  }

  .global-nav .global-nav__reason-block--strengths .global-nav__reason-block-heading:is(:hover, :focus-visible) {
    color: var(--pp-header-menu-navy-deep);
    border-color: var(--pp-header-menu-white);
    background: var(--pp-header-menu-white);
  }

  .global-nav .global-nav__reason-block--strengths .global-nav__reason-block-heading:is(:hover, :focus-visible) :is(span:first-child, small, strong, i) {
    color: var(--pp-header-menu-navy-deep);
  }

  .global-nav .global-nav__reason-block--strengths .global-nav__reason-block-heading:focus-visible,
  .global-nav .global-nav__reason-node:focus-visible {
    outline: 2px solid var(--pp-header-menu-navy-deep);
    outline-offset: -4px;
  }

  .global-nav__process-number,
  .global-nav__home-branch:not(.global-nav__home-branch--special) .global-nav__home-branch-heading > span:first-child {
    border-color: var(--pp-header-menu-line);
    background: transparent;
  }

  .global-nav .global-nav__reason-block--principles .global-nav__reason-block-heading:hover {
    outline: 0;
  }

  .global-nav .global-nav__reason-block--principles .global-nav__reason-block-heading:focus-visible {
    outline: 2px solid rgba(6, 38, 58, .55);
    outline-offset: -4px;
  }

  .global-nav .global-nav__reason-summary {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 26px minmax(0, 1fr);
    align-items: center;
    gap: 8px;
    min-width: 0;
    min-height: 48px;
    padding: 5px 7px 5px 0;
    border: 0;
    border-bottom: 1px solid rgba(255, 255, 255, .14);
    background: transparent;
    cursor: default;
    transition: none;
    list-style: none;
  }

  .global-nav .global-nav__reason-block-body {
    margin-top: 0;
    margin-bottom: 0;
    list-style: none;
  }

  .global-nav .global-nav__reason-map {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: start;
    gap: clamp(16px, calc(2 * var(--pp-wide-vw, 1vw)), 28px);
  }

  .global-nav .global-nav__reason-block {
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
  }

  .global-nav .global-nav__reason-block-body,
  .global-nav .global-nav__reason-block-body--strengths,
  .global-nav .global-nav__reason-block-body--principles {
    grid-template-columns: minmax(0, 1fr);
    gap: 5px;
  }

  .global-nav .global-nav__reason-summary::before {
    position: absolute;
    top: 50%;
    left: -11px;
    width: 11px;
    height: 1px;
    background: rgba(255, 255, 255, .48);
    content: "";
  }

  .global-nav .global-nav__reason-summary .global-nav__process-number {
    width: 24px;
    height: 24px;
    color: #fff;
    border-color: rgba(255, 255, 255, .58);
    background: transparent;
  }

  .global-nav .global-nav__home-issue-shortcut {
    color: var(--pp-header-menu-white);
    border-color: var(--pp-header-menu-line);
    background: transparent;
  }

  .global-nav .global-nav__home-issue-shortcut:is(:hover, :focus-visible) {
    color: var(--pp-header-menu-navy-deep);
    border-color: var(--pp-header-menu-white);
    background: var(--pp-header-menu-white);
  }

  .global-nav__home-panel[data-header-home-panel="services"] .global-nav__home-subgroup {
    border-color: rgba(255, 255, 255, .30);
    background: transparent;
  }

  /* The GMP Meister branch intentionally keeps its established yellow system. */
  .global-nav .global-nav__home-branch--special .global-nav__home-branch-heading {
    color: #173443;
    border-color: #f6d985;
    background: #f6d985;
  }

  .global-nav .global-nav__home-branch--special .global-nav__home-branch-heading :is(span:first-child, small, strong, i) {
    color: #173443;
  }

  .global-nav .global-nav__home-branch--special .global-nav__home-branch-heading:is(:hover, :focus-visible) {
    color: #173443;
    border-color: #fff0b5;
    background: #ffe7a0;
  }

  .global-nav .global-nav__home-branch--special .global-nav__home-links a:is(:hover, :focus-visible) {
    color: var(--pp-header-menu-white);
    background: rgba(246, 217, 133, .18);
  }

  .global-nav__home-branch--special .global-nav__home-links i {
    color: #f6d985;
  }

  .global-nav__dropdown-inner,
  .global-nav__dropdown-inner.global-nav__dropdown-inner--featured,
  .global-nav__dropdown-inner.global-nav__dropdown-inner--process,
  .global-nav__dropdown-inner.global-nav__dropdown-inner--reason,
  .global-nav__dropdown-inner.global-nav__dropdown-inner--services,
  .global-nav__dropdown-inner.global-nav__dropdown-inner--home {
    grid-template-columns: 220px minmax(0, 1fr);
    gap: clamp(24px, calc(2.7 * var(--pp-wide-vw, 1vw)), 40px);
    width: min(calc(100% - 48px), 1340px);
  }

  .global-nav__dropdown-inner.global-nav__dropdown-inner--services {
    grid-template-columns: 220px minmax(0, 1fr);
  }

  .global-nav__dropdown-lead,
  .global-nav__dropdown-inner--featured .global-nav__dropdown-lead {
    padding-right: 24px;
  }

  .global-nav__dropdown-lead > a {
    justify-content: flex-start;
    gap: 10px;
    width: fit-content;
    min-height: auto;
    padding: 4px 0 3px;
    border-bottom: 1px solid currentColor;
  }

  .global-nav__dropdown-lead > a > span {
    padding-bottom: 0;
    border-bottom: 0;
  }

  .global-nav__dropdown-list[aria-label="実績のメニュー"] a {
    border-color: var(--pp-header-menu-line);
  }
}

/* Keep the TOP dropdown service labels identical on every page.
   This final override prevents page-level typography from changing the shared header. */
@media (min-width: 981px) {
  body .global-nav .global-nav__dropdown--home .global-nav__home-panel .global-nav__home-subgroup,
  body .global-nav .global-nav__dropdown--home .global-nav__home-panel .global-nav__home-subgroup h4 {
    min-width: 0;
  }

  body .global-nav .global-nav__dropdown--home .global-nav__home-panel .global-nav__home-subgroup-heading {
    grid-template-columns: 28px minmax(0, 1fr) 12px;
    position: relative;
    height: 64px;
    min-width: 0;
    padding: 10px 12px;
    font-size: 10px !important;
    line-height: 1.25 !important;
    white-space: normal !important;
  }

  body .global-nav .global-nav__dropdown--home .global-nav__home-panel .global-nav__home-subgroup-heading > span {
    min-width: 0;
    max-width: 100%;
    white-space: normal !important;
    overflow-wrap: anywhere;
  }

  body .global-nav .global-nav__home-panel[data-header-home-panel="services"] .global-nav__home-subgroup-heading,
  body .global-nav .global-nav__home-panel[data-header-home-panel="services"] .global-nav__home-subgroup-heading > span {
    font-size: 11px !important;
    line-height: 1.35 !important;
    white-space: normal !important;
  }

  body .global-nav .global-nav__home-panel[data-header-home-panel="services"] .global-nav__home-subgroup-heading > span {
    min-width: 0 !important;
    overflow-wrap: anywhere;
  }
}

/* CONTACT: two flat surfaces, with a slightly stronger blue left pane. */
@media (min-width: 981px) {
  body[data-page="contact"] .regulated-page,
  body[data-page="contact"] .page-stage {
    background: #eef2f4 !important;
  }

  body[data-page="contact"] .regulated-page::before,
  body[data-page="contact"] .regulated-page::after,
  body[data-page="contact"] .page-rail::before,
  body[data-page="contact"] .page-rail::after {
    content: none !important;
  }

  body[data-page="contact"] .page-rail {
    border-right: 1px solid #b7cfda;
    background: #cfe5ee !important;
    background-color: #cfe5ee !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  body[data-page="contact"] .contact-rail-cases {
    background: #eef2f4 !important;
  }
}

/* CONTACT: keep the 1440px desktop composition on wider monitors.
   Extra viewport width becomes outer space; mobile keeps its own layout. */
@media (min-width: 1441px) {
  body[data-page="contact"] {
    background: #eef2f4;
  }

  body[data-page="contact"] .regulated-page {
    width: 100%;
    max-width: 1440px;
    margin-inline: auto;
    grid-template-columns: minmax(0, 44fr) minmax(0, 56fr);
  }

  body[data-page="contact"] .page-stage {
    padding-inline: 57.6px;
  }

  body[data-page="contact"] .contact-rail-heading h2 {
    font-size: 36px;
  }

  body[data-page="contact"] .contact-entry-panel .contact-form-group-heading h3,
  body[data-page="contact"] .contact-entry-panel .contact-optional-details summary .contact-optional-title {
    font-size: 23.76px;
  }
}

/* CONTACT: introduce the steps once, when the progress row enters the viewport. */
body[data-page="contact"] .contact-progress li {
  z-index: 3;
  transform-origin: center top;
}

body[data-page="contact"] .contact-progress.is-intro-pending li {
  opacity: 0;
}

body[data-page="contact"] .contact-progress.is-intro-visible li {
  animation: contact-progress-box-intro 820ms cubic-bezier(.22, .61, .36, 1) both;
}

body[data-page="contact"] .contact-progress li:nth-child(2) {
  z-index: 2;
}

body[data-page="contact"] .contact-progress.is-intro-visible li:nth-child(2) {
  animation-delay: 1.25s;
}

body[data-page="contact"] .contact-progress li:nth-child(3) {
  z-index: 1;
}

body[data-page="contact"] .contact-progress.is-intro-visible li:nth-child(3) {
  animation-delay: 2.5s;
}

body[data-page="contact"] .contact-progress {
  gap: 0;
}

body[data-page="contact"] .contact-progress-arrow {
  right: -9px;
  z-index: 5;
}

@keyframes contact-progress-box-intro {
  0% {
    opacity: 0;
    transform: translateY(-10px);
  }

  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (prefers-reduced-motion: reduce) {
  body[data-page="contact"] .contact-progress.is-intro-pending li,
  body[data-page="contact"] .contact-progress.is-intro-visible li {
    opacity: 1;
    animation: none;
  }
}

/* Non-interactive entries reuse the support-flow tree below the catalog link. */
.global-nav__home-summary {
  margin: 0;
  padding: 0;
  list-style: none;
}

.global-nav__home-summary li {
  position: relative;
  display: grid;
  align-items: center;
  min-height: 30px;
  padding: 3px 7px 3px 0;
  color: rgba(255, 255, 255, .92);
  border-bottom: 1px solid rgba(255, 255, 255, .14);
  font-family: var(--pp-font-body);
  font-size: clamp(10px, calc(.84 * var(--pp-wide-vw, 1vw)), 13px);
  font-weight: 700;
  line-height: 1.4;
  cursor: default;
}

.global-nav__home-summary li::before {
  position: absolute;
  top: 50%;
  left: -9px;
  width: 9px;
  height: 1px;
  background: rgba(255, 255, 255, .48);
  content: "";
}

@media (max-width: 980px) {
  .global-nav__home-summary {
    margin-left: 9px;
    padding-left: 9px;
    border-left: 1px solid rgba(255, 255, 255, .48);
  }
}

/* Shared service navigation follows the GMP Meister menu hierarchy. */
.company-services-feature .top-services-map {
  position: relative;
  inset: auto;
  min-height: 100%;
  padding: clamp(38px, calc(5 * var(--pp-wide-vw, 1vw)), 72px) clamp(32px, calc(5 * var(--pp-wide-vw, 1vw)), 64px);
  font-family: "Hiragino Sans", var(--pp-font-body);
}

.company-services-feature:has(.top-services-map) > .top-results-visual {
  height: auto;
}

.top-services-map__routes {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px clamp(30px, calc(5 * var(--pp-wide-vw, 1vw)), 72px);
  margin: 0;
}

.global-nav__automatic-links {
  grid-column: 1 / -1;
  max-height: calc(34 * var(--pp-wide-vh, 1vh));
  overflow-y: auto;
}

.footer-nav__children {
  display: grid;
  gap: 8px;
  margin: 12px 0 0;
  padding: 0 0 0 12px;
  list-style: none;
  border-left: 1px solid var(--pp-border);
  font-size: .9em;
}

.company-services-feature .top-services-map__routes a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-width: 0;
  gap: 0;
  min-height: 90px;
  padding: 8px 0;
  color: #fff;
  border-top: 1px solid rgba(255, 255, 255, .92);
  border-bottom: 1px solid rgba(255, 255, 255, .92);
  font-size: clamp(15px, calc(1.4 * var(--pp-wide-vw, 1vw)), 18px);
  font-weight: 700;
  line-height: 1.3;
}

.company-services-feature .top-services-map__routes a:is(:hover, :focus-visible) {
  color: #fff;
  background: transparent;
}

.company-services-feature .top-services-map__routes .top-services-map__primary {
  grid-column: 1 / -1;
  justify-content: flex-start;
  min-height: 50px;
  padding: 12px 0;
  border-top: 0;
  border-bottom: 0;
  letter-spacing: 0;
}

.company-services-feature .top-services-map__primary:is(:hover, :focus-visible) {
  text-decoration: none;
}

.company-services-feature .top-services-map__routes a > .ph {
  flex: 0 0 auto;
  margin-left: 16px;
  font-size: 18px;
  transition: transform 180ms ease;
}

.company-services-feature .top-services-map__routes a:is(:hover, :focus-visible) > .ph {
  transform: translate(4px, -4px);
}

@media (prefers-reduced-motion: reduce) {
  .company-services-feature .top-services-map__routes a > .ph {
    transition: none;
  }
}

.company-services-feature .top-services-map__routes a:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 4px;
}

.top-services-map__groups {
  position: relative;
  display: grid;
  gap: 32px;
  margin-left: 8px;
  padding-left: 24px;
}

.top-services-map__groups::before {
  position: absolute;
  top: -32px;
  left: 0;
  width: 1px;
  height: 18px;
  background: rgba(255, 255, 255, .48);
  pointer-events: none;
  content: "";
}

.top-services-map__row {
  position: relative;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 22px;
}

.top-services-map__row::before {
  position: absolute;
  top: -14px;
  left: -24px;
  width: calc(50% + 35px);
  height: 1px;
  background: rgba(255, 255, 255, .48);
  pointer-events: none;
  content: "";
}

.top-services-map__row:not(:last-child)::after {
  position: absolute;
  top: -14px;
  left: -24px;
  width: 1px;
  height: calc(100% + 32px);
  background: rgba(255, 255, 255, .48);
  pointer-events: none;
  content: "";
}

.top-services-map__group {
  position: relative;
  min-width: 0;
}

.top-services-map__group::before {
  position: absolute;
  top: -14px;
  left: 0;
  width: 1px;
  height: 14px;
  background: rgba(255, 255, 255, .48);
  pointer-events: none;
  content: "";
}

.top-services-map__group h3 {
  margin: 0 0 10px;
  padding-bottom: 8px;
  color: #fff;
  border-bottom: 1px solid rgba(255, 255, 255, .48);
  font-family: var(--pp-font-body);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.5;
}

.top-services-map__group ul {
  margin: 0;
  padding: 0 0 0 11px;
  border-left: 1px solid rgba(255, 255, 255, .48);
  list-style: none;
}

.top-services-map__group li {
  position: relative;
  min-height: 30px;
  padding: 5px 0 5px 3px;
  color: rgba(255, 255, 255, .94);
  border-bottom: 1px solid rgba(255, 255, 255, .14);
  font-family: var(--pp-font-body);
  font-size: 12px;
  font-weight: 400;
  line-height: 1.65;
  overflow-wrap: anywhere;
  cursor: default;
}

.top-services-map__group li::before {
  position: absolute;
  top: 16px;
  left: -11px;
  width: 9px;
  height: 1px;
  background: rgba(255, 255, 255, .48);
  content: "";
}

@media (max-width: 780px) {
  .company-services-feature .top-services-map {
    padding: 32px 22px 32px 78px;
  }

  .company-services-feature:has(.top-services-map) > .top-results-visual {
    height: auto;
    min-height: 410px;
  }

}

@media (max-width: 480px) {
  .top-services-map__groups::before {
    height: 42px;
  }

  .top-services-map__row {
    display: contents;
  }

  .top-services-map__row::before,
  .top-services-map__row::after {
    display: none;
  }

  .top-services-map__group::before {
    top: 10px;
    left: -24px;
    width: 24px;
    height: 1px;
  }

  .top-services-map__group::after {
    position: absolute;
    top: 10px;
    left: -24px;
    width: 1px;
    height: calc(100% + 32px);
    background: rgba(255, 255, 255, .48);
    pointer-events: none;
    content: "";
  }

  .top-services-map__row:last-child .top-services-map__group:last-child::after {
    display: none;
  }
}

/* Desktop inner-page titles share one starting line and content gutter.
   The TOP hero, contact form and mobile compositions retain their own shells. */
@media (min-width: 981px) {
  html body:not([data-page="home"]):not([data-page="contact"]):not([data-page="company"]) .page-intro {
    justify-content: flex-start;
    margin-inline: 0;
    padding-top: 0;
  }

  html body[data-page="company"] .page-stage {
    padding: 0;
  }

  html body[data-page="company"] .page-intro {
    padding: var(--pp-page-heading-top) var(--pp-page-heading-gutter) 42px;
  }

  html body:not([data-page="contact"]) .page-intro .eyebrow {
    margin-bottom: var(--pp-page-label-gap);
  }

  html body #pp-process-explore .pp-process-overview > span,
  html body #特徴② .pp-explore-scene:first-of-type .pp-explore-scene__en,
  html body[data-page="results"] .results-local-heading > span {
    margin-bottom: var(--pp-page-label-gap);
    font-family: var(--pp-font-latin);
    font-size: var(--pp-page-label-size);
    font-weight: var(--pp-page-label-weight);
    line-height: var(--pp-page-label-line-height);
    letter-spacing: var(--pp-page-label-letter-spacing);
  }

  html body #pp-process-explore .pp-process-overview,
  html body #特徴② .pp-explore-scene:first-of-type .pp-explore-scene__head {
    width: min(100%, var(--pp-content-max));
    max-width: var(--pp-content-max);
    margin-inline: auto;
    justify-content: flex-start !important;
  }

  html body #pp-process-explore .pp-process-overview,
  html body #特徴② .pp-explore-scene:first-of-type .pp-explore-scene__head {
    position: relative;
    left: calc(var(--pp-page-heading-gutter) - clamp(34px, calc(5 * var(--pp-wide-vw, 1vw)), 82px));
  }

  html body:is([data-page="privacy"], [data-page="sitemap"]) .page-intro {
    position: relative;
    top: calc(var(--pp-page-heading-top) - clamp(120px, calc(15 * var(--pp-wide-vh, 1vh)), 145px));
  }

  html body[data-page="results"] .results-local-heading {
    box-sizing: border-box;
    width: min(var(--pp-content-max), calc(100% - 2 * var(--pp-page-heading-gutter)));
    padding-inline: 0;
    justify-content: flex-start;
    top: calc(var(--pp-page-heading-top) - clamp(54px, calc(7 * var(--pp-wide-vw, 1vw)), 88px));
  }

  html body:not([data-page="home"]):not([data-page="contact"]) .page-intro h1,
  html body .news-detail__header h2,
  html body #pp-process-explore .pp-process-overview h2,
  html body #特徴② .pp-explore-scene:first-of-type .pp-explore-scene__head h2,
  html body[data-page="results"] .results-local-heading h1 {
    font-family: var(--pp-font-display) !important;
    font-size: var(--pp-page-title-size) !important;
    font-weight: var(--pp-page-title-weight) !important;
    line-height: var(--pp-page-title-line-height) !important;
    letter-spacing: var(--pp-page-title-letter-spacing) !important;
  }
}

/* Shared photo boxes: keep their existing dimensions and animate their contents. */
.has-feature-motion > .top-results-intro > :is(h2, p) {
  transition: translate 240ms ease;
}
.has-feature-motion.is-feature-visible > .top-results-intro > :is(h2, p) {
  animation: pp-feature-heading-in 440ms ease-out both;
}
.has-feature-motion.is-feature-hover > .top-results-intro > :is(h2, p) {
  translate: 6px 0;
}
.has-feature-motion > .top-results-divider .ph {
  transition: transform 180ms ease, translate 180ms ease;
}
.has-feature-motion.is-feature-hover > .top-results-divider .ph {
  translate: 4px 0;
}
@keyframes pp-feature-heading-in {
  from { opacity: 0; transform: translateY(12px); }
  to { opacity: 1; transform: translateY(0); }
}
@media (prefers-reduced-motion: reduce) {
  .has-feature-motion > .top-results-intro > :is(h2, p),
  .has-feature-motion.is-feature-visible > .top-results-intro > :is(h2, p),
  .has-feature-motion.is-feature-hover > .top-results-intro > :is(h2, p),
  .has-feature-motion > .top-results-divider .ph {
    animation: none;
    transition: none;
    translate: none;
  }
}

/* TOP field links: reveal on hover/focus even when no pointermove event fires. */
body[data-page="home"] #top-field-finder.has-field-gallery .top-about-study__field-detail::before {
  position: absolute;
  inset: 0;
  width: 48px;
  height: 48px;
  box-sizing: border-box;
  border: 1px solid rgba(255, 255, 255, .88);
  border-radius: 50%;
  background: radial-gradient(circle at 50% 0, #fff 0 2.5px, transparent 3px);
  opacity: 0;
  content: "";
  pointer-events: none;
}
body[data-page="home"] #top-field-finder.has-field-gallery .top-about-study__feature:is(:hover, :focus-visible, .is-pointer-intent) .top-about-study__field-detail {
  visibility: visible;
  opacity: 1;
}
body[data-page="home"] #top-field-finder.has-field-gallery .top-about-study__feature:is(:hover, :focus-visible, .is-pointer-intent) .top-about-study__field-detail::before {
  animation: top-field-hover-orbit 720ms cubic-bezier(.22, .72, .28, 1) both;
}
body[data-page="home"] #top-field-finder.has-field-gallery .top-about-study__feature:is(:hover, :focus-visible, .is-pointer-intent) .top-about-study__field-detail > .ph-arrow-right {
  animation: top-field-hover-arrow 900ms cubic-bezier(.18, .82, .22, 1) 60ms both;
}
@keyframes top-field-hover-orbit {
  0% { opacity: 0; filter: blur(4px); transform: rotate(-90deg) scale(.84); }
  24% { opacity: 1; filter: blur(0); }
  100% { opacity: 1; filter: blur(0); transform: rotate(270deg) scale(1); }
}
@keyframes top-field-hover-arrow {
  0% { opacity: 0; filter: blur(5px); transform: translate3d(-10px, 4px, 0) skewX(-8deg) scale(.72); }
  16% { opacity: 1; }
  24% { opacity: .18; }
  34% { opacity: 1; filter: blur(1px); transform: translate3d(3px, -1px, 0) skewX(5deg) scale(1.14); }
  46% { opacity: .36; }
  62%, 100% { opacity: 1; filter: blur(0); transform: translate3d(0, 0, 0) skewX(0) scale(1.12); }
}
@media (prefers-reduced-motion: reduce) {
  body[data-page="home"] #top-field-finder.has-field-gallery .top-about-study__feature:is(:hover, :focus-visible, .is-pointer-intent) .top-about-study__field-detail::before,
  body[data-page="home"] #top-field-finder.has-field-gallery .top-about-study__feature:is(:hover, :focus-visible, .is-pointer-intent) .top-about-study__field-detail > .ph-arrow-right {
    animation: none;
    opacity: 1;
    filter: none;
    transform: none;
  }
}

.global-nav .global-nav__reason-automatic { grid-column: 1 / -1; }

/* Shared reason hierarchy links */
@media (min-width: 981px) { .global-nav .global-nav__reason-summary .global-nav__process-label > a { color: #fff; text-decoration: none; } .global-nav .global-nav__reason-summary .global-nav__process-label > a:is(:hover,:focus-visible) { text-decoration: underline; text-underline-offset: 3px; } }

/* Reason hierarchy: no hover outline */
@media(min-width:981px){.global-nav .global-nav__reason-map a:hover{outline:none;box-shadow:none}.global-nav .global-nav__reason-summary .global-nav__process-label > a:is(:hover,:focus-visible){text-decoration:none}.global-nav .global-nav__reason-map a:focus-visible{outline:2px solid #fff;outline-offset:3px}}

/* Shared navigation additions keep the established TOP grid. */
@media(min-width:981px){.global-nav__home-map > .global-nav__automatic-links{grid-column:1/-1}.global-nav .global-nav__reason-summary .global-nav__process-label > a,.global-nav .global-nav__reason-summary .global-nav__process-label > a:is(:hover,:focus-visible){border:0}.global-nav__primary > li:has(.global-nav__reason-map) > a:hover{outline:0;border-bottom-color:transparent}.global-nav__primary > li:has(.global-nav__reason-map) > a:focus-visible{outline:2px solid #013641;outline-offset:-2px;border-bottom-color:transparent}}

/* Service overview titles follow GMP on the shared white page surface. */
body[data-page^="service-"] #pp-process-explore .pp-process-overview > span {
  margin-bottom: 10px;
  color: #3b839f !important;
  font-size: 11px;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: .18em;
}
body[data-page^="service-"] #pp-process-explore .pp-process-overview h2 {
  display: block;
  width: auto;
  margin: 0;
  color: #104f6b !important;
  font-size: var(--pp-page-title-size, clamp(32px, calc(4 * var(--pp-wide-vw, 1vw)), 56px));
  font-weight: var(--pp-page-title-weight, 800);
  line-height: var(--pp-page-title-line-height, 1.05);
  letter-spacing: var(--pp-page-title-letter-spacing, -.07em);
}
body[data-page^="service-"] #pp-process-explore .pp-process-overview > p {
  margin: 14px 0 0;
  color: #476b7b !important;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.8;
}
body[data-page^="service-"] #pp-process-explore .pp-process-overview > :is(span, h2, p),
body[data-page^="service-"] #pp-process-explore .pp-process-overview > :is(span, h2, p) *,
body[data-page^="service-"] #pp-process-explore .pp-process-overview > :is(span, h2, p)::before,
body[data-page^="service-"] #pp-process-explore .pp-process-overview > :is(span, h2, p)::after {
  filter: none !important;
  text-shadow: none !important;
}
@media (max-width: 640px) {
  body[data-page^="service-"] #pp-process-explore .pp-process-overview > p {
    font-size: 14px;
  }
}

/* Article grids must shrink to the available mobile content width. */
@media (max-width: 980px) {
  .news-article-layout {
    grid-template-columns: minmax(0, 1fr);
    box-sizing: border-box;
    min-width: 0;
    max-width: 100%;
  }
  .news-article-layout .news-detail {
    min-width: 0;
  }
  .news-article-layout .news-detail__body {
    overflow-wrap: anywhere;
  }
}

/* Diagrams fit their content column; narrow layouts reflow without horizontal scrolling. */
body[data-work-variant="daichi-lifecycle"] #daichi-lifecycle {
  container: lifecycle / inline-size;
}
body[data-work-variant="daichi-lifecycle"] #daichi-lifecycle .daichi-flow-viewport {
  width: 100%;
  min-width: 0;
  overflow: visible;
}
body[data-work-variant="daichi-lifecycle"] #daichi-lifecycle .daichi-flow-canvas {
  width: 100%;
  min-width: 0;
}
body[data-work-variant="daichi-lifecycle"] #daichi-lifecycle .daichi-stage-scroll-hint {
  display: none;
}
body[data-work-variant="daichi-lifecycle"] #daichi-lifecycle .daichi-standard-link__fixed-lines {
  white-space: normal;
}
body[data-work-variant="daichi-lifecycle"] #daichi-lifecycle .daichi-standard-link {
  min-width: 0;
  overflow-wrap: anywhere;
}
@container lifecycle (max-width: 740px) {
  body[data-work-variant="daichi-lifecycle"] #daichi-lifecycle .daichi-stage-axis {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    padding: 16px 0;
  }
  body[data-work-variant="daichi-lifecycle"] #daichi-lifecycle .daichi-stage-node__heading {
    margin-right: 0;
    padding-inline: 18px;
    clip-path: none;
  }
  body[data-work-variant="daichi-lifecycle"] #daichi-lifecycle .daichi-stage-node__standards {
    min-height: 0;
    margin-inline: 0;
  }
  body[data-work-variant="daichi-lifecycle"] #daichi-lifecycle .daichi-standard-link strong {
    font-size: 14px;
  }
  body[data-work-variant="daichi-lifecycle"] #daichi-lifecycle .daichi-standard-link small {
    font-size: 11px;
  }
  body[data-work-variant="daichi-lifecycle"] #daichi-lifecycle .daichi-product-switch {
    grid-template-columns: minmax(0, 1fr);
  }
  body[data-work-variant="daichi-lifecycle"] #daichi-lifecycle .daichi-product-switch::before {
    display: none;
  }
  body[data-work-variant="daichi-lifecycle"] #daichi-lifecycle .daichi-product-switch button {
    min-width: 0;
    padding-inline: 16px;
  }
  body[data-work-variant="daichi-lifecycle"] #daichi-lifecycle .daichi-service-map {
    height: auto;
    min-height: 0;
    margin-inline: 0;
  }
  body[data-work-variant="daichi-lifecycle"] #daichi-lifecycle .daichi-service-map__header {
    flex-wrap: wrap;
    gap: 12px;
    padding-inline: 16px;
  }
  body[data-work-variant="daichi-lifecycle"] #daichi-lifecycle .daichi-service-bands {
    overflow: visible;
    background-image: none;
    padding-inline: 8px;
  }
  body[data-work-variant="daichi-lifecycle"] #daichi-lifecycle .daichi-service-band {
    grid-template-columns: minmax(0, 1fr);
  }
  body[data-work-variant="daichi-lifecycle"] #daichi-lifecycle .daichi-service-band > a,
  body[data-work-variant="daichi-lifecycle"] #daichi-lifecycle .daichi-band-consultation {
    grid-column: 1;
    margin-inline: 0;
  }
  body[data-work-variant="daichi-lifecycle"] #daichi-lifecycle .daichi-service-band > a {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
    padding: 12px;
  }
  body[data-work-variant="daichi-lifecycle"] #daichi-lifecycle .daichi-service-band__range {
    grid-column: 1;
    white-space: normal;
    justify-self: start;
  }
  body[data-work-variant="daichi-lifecycle"] #daichi-lifecycle .daichi-service-band > a > i {
    grid-column: 2;
    grid-row: 1 / 3;
  }
}
@container lifecycle (max-width: 480px) {
  body[data-work-variant="daichi-lifecycle"] #daichi-lifecycle .daichi-stage-axis {
    grid-template-columns: minmax(0, 1fr);
  }
}

body[data-page="service-cmc"] #pp-process-explore #pp-cmc-support-main-services {
  container: cmc-map / inline-size;
  width: 100%;
  min-width: 0;
  overflow: visible;
}
body[data-page="service-cmc"] #pp-process-explore #pp-cmc-support-main-services > :is(
  .pp-cmc-field__topic-row, .pp-cmc-field__rocket-phases,
  .pp-cmc-field__standard-bands, .pp-cmc-field__callouts,
  .pp-cmc-main-services__grid
) {
  width: 100%;
  min-width: 0;
}
body[data-page="service-cmc"] #pp-process-explore #pp-cmc-support-main-services .pp-cmc-field__callout-heading {
  display: none;
}
body[data-page="service-cmc"] #pp-process-explore .pp-cmc-field__rocket-hint {
  display: none;
}
@container cmc-map (max-width: 760px) {
  body[data-page="service-cmc"] #pp-process-explore #pp-cmc-support-main-services > :is(
    .pp-cmc-field__topic-row, .pp-cmc-field__rocket-phases,
    .pp-cmc-field__standard-bands, .pp-cmc-field__callouts,
    .pp-cmc-main-services__grid
  ) {
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
  }
  body[data-page="service-cmc"] #pp-process-explore #pp-cmc-support-main-services :is(
    .pp-cmc-field__topic-row > span, .pp-cmc-field__standard,
    .pp-cmc-field__callouts > span, .pp-cmc-main-services__stage
  ) {
    grid-column: 1;
  }
  body[data-page="service-cmc"] #pp-process-explore #pp-cmc-support-main-services .pp-cmc-field__rocket-phases li {
    height: auto;
    min-height: 68px;
    padding: 12px 20px 20px;
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - 10px), 50% 100%, 0 calc(100% - 10px));
  }
  body[data-page="service-cmc"] #pp-process-explore #pp-cmc-support-main-services .pp-cmc-field__rocket-phases li > i {
    top: auto;
    right: 16px;
    bottom: 16px;
    transform: rotate(90deg);
  }
  body[data-page="service-cmc"] #pp-process-explore #pp-cmc-support-main-services .pp-cmc-field__standard {
    flex-wrap: wrap;
    gap: 4px 8px;
  }
  body[data-page="service-cmc"] #pp-process-explore #pp-cmc-support-main-services .pp-cmc-field__callouts > span {
    padding: 16px;
  }
  body[data-page="service-cmc"] #pp-process-explore #pp-cmc-support-main-services .pp-cmc-field__callout-heading {
    display: block;
    margin: 0 0 12px;
    font-size: 16px;
    line-height: 1.5;
  }
}

body[data-work-variant="daichi-engineering"] #engineering-programs .engineering-requirement-overview {
  container: engineering-map / inline-size;
  margin-right: 0;
  padding-right: 0;
  overflow: visible;
}
body[data-work-variant="daichi-engineering"] #engineering-programs .engineering-requirement-overview__canvas {
  width: 100%;
  min-width: 0;
}
body[data-work-variant="daichi-engineering"] #engineering-programs .engineering-requirement-heading {
  display: none;
}
@container engineering-map (max-width: 900px) {
  body[data-work-variant="daichi-engineering"] #engineering-programs .daichi-engineering-tabs {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
  }
  body[data-work-variant="daichi-engineering"] #engineering-programs .daichi-engineering-tabs button strong {
    white-space: normal;
  }
  body[data-work-variant="daichi-engineering"] #engineering-programs .daichi-engineering-tabs::before,
  body[data-work-variant="daichi-engineering"] #engineering-programs .daichi-engineering-tabs::after,
  body[data-work-variant="daichi-engineering"] #engineering-programs .engineering-requirement-grid > section::before,
  body[data-work-variant="daichi-engineering"] #engineering-programs .engineering-requirement-grid > section::after {
    display: none;
  }
  body[data-work-variant="daichi-engineering"] #engineering-programs .engineering-requirement-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin-top: 24px;
  }
  body[data-work-variant="daichi-engineering"] #engineering-programs .engineering-requirement-grid > section {
    min-height: 0;
    padding: 16px;
    border: 1px solid var(--pp-border, #cfe4ef);
  }
  body[data-work-variant="daichi-engineering"] #engineering-programs .engineering-requirement-heading {
    display: block;
    margin: 0 0 12px;
    font-size: 16px;
    line-height: 1.5;
  }
  body[data-work-variant="daichi-engineering"] #engineering-programs .engineering-requirement-grid li strong {
    font-size: 14px;
  }
  body[data-work-variant="daichi-engineering"] #engineering-programs .engineering-requirement-grid li small {
    font-size: 12px;
  }
}
@container engineering-map (max-width: 480px) {
  body[data-work-variant="daichi-engineering"] #engineering-programs .daichi-engineering-tabs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  body[data-work-variant="daichi-engineering"] #engineering-programs .engineering-requirement-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* The translated, closed mobile drawer stays within the viewport too. */
@media (max-width: 980px) {
  #global-nav .global-nav__inner {
    box-sizing: border-box;
    min-width: 0;
    max-width: calc(100% - 24px);
    transform: translateX(0);
  }
}

/* Long labels must shrink and wrap inside the strengths dropdown columns. */
@media (min-width: 981px) {
  #global-nav .global-nav__dropdown-inner {
    box-sizing: border-box;
    min-width: 0;
    max-width: calc(100% - 48px);
  }
  #global-nav .global-nav__dropdown-inner--reason {
    grid-template-columns: minmax(160px, 190px) minmax(0, 1fr);
    gap: clamp(20px, calc(2 * var(--pp-wide-vw, 1vw)), 32px);
  }
  #global-nav .global-nav__reason-map,
  #global-nav .global-nav__reason-block,
  #global-nav .global-nav__reason-block-body,
  #global-nav .global-nav__reason-summary,
  #global-nav .global-nav__reason-summary .global-nav__process-label {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    max-width: 100%;
  }
  #global-nav .global-nav__reason-summary .global-nav__process-label {
    grid-template-columns: minmax(0, 1fr);
  }
  #global-nav .global-nav__reason-map :is(a, strong, small) {
    min-width: 0;
    white-space: normal;
    overflow-wrap: anywhere;
  }
}

/* Region01: equal-size standards cards, stacked one per row within each stage. */
body[data-page="region01"] #daichi-lifecycle .daichi-stage-node {
  grid-template-rows: auto auto 1fr;
}
body[data-page="region01"] #daichi-lifecycle .daichi-stage-node__standards {
  --daichi-standard-card-height: 88px;
  box-sizing: border-box;
  height: calc(var(--daichi-standard-card-height) * 4 + 70px);
  min-height: calc(var(--daichi-standard-card-height) * 4 + 70px);
  grid-template-rows: 10px 1fr;
  padding: 12px;
}
body[data-page="region01"] #daichi-lifecycle .daichi-stage-node__standard-list {
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: none;
  grid-auto-rows: var(--daichi-standard-card-height);
  gap: 8px;
}
body[data-page="region01"] #daichi-lifecycle .daichi-stage-node__standard-list > li {
  grid-column: 1;
  min-width: 0;
}
body[data-page="region01"] #daichi-lifecycle .daichi-standard-link {
  box-sizing: border-box;
  min-height: 0;
  height: 100%;
  flex-direction: row;
  align-items: center;
}
@container lifecycle (max-width: 740px) {
  body[data-page="region01"] #daichi-lifecycle .daichi-stage-node__standards {
    --daichi-standard-card-height: 104px;
  }
}

/* Shared rails: long labels wrap and grow without changing navigation states. */
body .rail-context,
body #特徴② .pp-explore-menu__context,
body #pp-process-explore .pp-process-menu__context {
  flex: 0 0 auto;
  min-width: 0;
  max-width: 100%;
  height: auto;
  white-space: normal !important;
  overflow-wrap: anywhere;
}
body .rail-nav,
body #特徴② .pp-explore-menu__list,
body #pp-process-explore .pp-process-menu__list {
  flex-shrink: 0;
}
body .rail-nav :is(.rail-en, .rail-ja),
body .rail-news-title > :is(b, strong),
body #特徴② :is(.pp-explore-menu__en, .pp-explore-menu__ja),
body #pp-process-explore :is(.pp-process-menu__en, .pp-process-menu__ja) {
  min-width: 0;
  max-width: 100%;
  height: auto;
  white-space: normal !important;
  overflow-wrap: anywhere;
  word-break: normal;
}
body .rail-news-title {
  grid-template-columns: minmax(0, 1fr) auto;
}

/* Region01 service list keeps wheel, touch and keyboard scrolling, without a visible bar. */
body[data-page="region01"] #daichi-service-bands {
  scrollbar-width: none;
  -ms-overflow-style: none;
  scrollbar-gutter: auto;
}
body[data-page="region01"] #daichi-service-bands::-webkit-scrollbar {
  display: none;
  width: 0;
  height: 0;
}

/* Sitemap: structural branches are inert, with compact, text-sized destinations. */
body[data-page="sitemap"] .sitemap-directory--pages::before,
body[data-page="sitemap"] .sitemap-directory--pages .sitemap-group::before,
body[data-page="sitemap"] .sitemap-directory--pages .sitemap-group::after,
body[data-page="sitemap"] .sitemap-directory--pages .sitemap-children > li::before,
body[data-page="sitemap"] .sitemap-directory--pages .sitemap-children > li::after {
  pointer-events: none;
}
body[data-page="sitemap"] .sitemap-directory--pages .sitemap-group {padding-bottom:16px;}
body[data-page="sitemap"] .sitemap-directory--pages .sitemap-group:last-child {padding-bottom:0;}
body[data-page="sitemap"] .sitemap-directory--pages :is(.sitemap-page-link,.sitemap-page-label) {
  display:flex;align-items:center;flex-wrap:wrap;gap:8px;width:fit-content;
  min-height:32px;padding:0;margin-left:0;color:inherit;font:inherit;
}
body[data-page="sitemap"] .sitemap-directory--pages nav {margin-top:4px;}
body[data-page="sitemap"] .sitemap-directory--pages .sitemap-children > li > :is(a,.sitemap-branch-label) {
  display:flex;align-items:center;width:fit-content;max-width:100%;box-sizing:border-box;
  min-height:28px;padding:2px 0;color:#163849;font-size:clamp(13px,calc(1.1 * var(--pp-wide-vw, 1vw)),15px);
  font-weight:600;line-height:1.45;
}
body[data-page="sitemap"] .sitemap-directory--pages .sitemap-children > li::after {top:14px;}
body[data-page="sitemap"] .sitemap-directory--pages .sitemap-children > li:last-child::before {height:14px;}
body[data-page="sitemap"] .sitemap-directory--pages .sitemap-children .sitemap-children {margin:0 0 4px 8px;}
body[data-page="sitemap"] .sitemap-directory--pages .sitemap-children .sitemap-children > li > :is(a,.sitemap-branch-label) {
  font-size:13px;font-weight:500;
}
@media(max-width:760px) {
  body[data-page="sitemap"] .sitemap-directory--pages .sitemap-children > li > :is(a,.sitemap-branch-label) {min-height:32px;}
  body[data-page="sitemap"] .sitemap-directory--pages .sitemap-children > li::after {top:16px;}
  body[data-page="sitemap"] .sitemap-directory--pages .sitemap-children > li:last-child::before {height:16px;}
}

/* English site shortcut; show the mobile equivalent inside the menu. */
.header-language {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 36px;
  min-height: 36px;
  padding: 4px 8px;
  border: 1px solid var(--pp-primary-strong);
  border-radius: 2px;
  color: var(--pp-deep);
  background: transparent;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
}
.header-language:is(:hover, :focus-visible) {
  color: var(--pp-primary-strong);
  background: var(--pp-surface-soft, #eef7fc);
}
.global-nav__mobile-language {
  display: none;
}
@media (max-width: 980px) {
  .header-language {
    display: none;
  }
  .global-nav__mobile-language {
    display: block;
  }
  .global-nav__mobile-language > a {
    min-height: 44px;
  }
}

/* Requested news title size across the shared article template. */
body[data-news-id] #news-article > .news-detail__header > h2 {
  font-size: clamp(28px, calc(3.4 * var(--pp-wide-vw, 1vw)), 44px) !important;
}
.header-language--zh {gap: 5px;white-space: nowrap;}
.header-language--zh > .ph {font-size: 14px;}
/* Square language controls; Chinese site uses Fama Peiming's verified teal. */
.header-language { border-radius: 0; }
.header-language--zh {
  background: #008080; border-color: #008080; color: #fff;
}
.header-language--zh:is(:hover, :focus-visible) {
  background: #006666; border-color: #006666; color: #fff;
}
.global-nav__mobile-language > a[lang="zh-Hans"] {
  border-radius: 0; background: #008080; color: #fff;
}
.global-nav__mobile-language > a[lang="zh-Hans"]:is(:hover, :focus-visible) {
  background: #006666; color: #fff;
}

/* External destinations belong to the same sitemap tree; Fama Peiming uses #008080. */
body[data-page="sitemap"] .sitemap-group > header .sitemap-language-link {
  display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:84px;
  min-height:44px;padding:10px 20px;border-radius:0;font-size:14px;font-weight:800;line-height:1.25;
}
body[data-page="sitemap"] .sitemap-language-link::before {content:none;}
body[data-page="sitemap"] .sitemap-group .sitemap-language-link i {
  display:block;width:14px;height:14px;font-size:14px;line-height:1;color:currentColor;
}
body[data-page="sitemap"] .sitemap-language-link--zh {background:#008080;border-color:#008080;color:#fff;}
body[data-page="sitemap"] .sitemap-language-link--zh:is(:hover,:focus-visible) {background:#006666;border-color:#006666;color:#fff;}
body[data-page="sitemap"] .sitemap-language-link:focus-visible {outline:2px solid var(--pp-primary-strong);outline-offset:3px;}
body[data-page="sitemap"] .sitemap-group--zh > header {border-left-color:#008080;}
body[data-page="sitemap"] .sitemap-group--zh::after {background:#008080;}

/* Added sitemap destinations remain reachable in the fixed-height rail. */
body[data-page="sitemap"] .rail-nav {flex-shrink:1;max-height:calc(calc(100 * var(--pp-wide-vh, 1vh)) - var(--pp-header-height) - 48px);}

/* Homepage rail labels follow the adjacent news tabs; article status stays above its full title. */
body[data-page="home"] .rail-news-title > strong {font-family:var(--pp-font-body) !important;font-size:13px !important;font-weight:800 !important;}
body[data-page="home"] .rail-news-row[data-news-category="GMP Meister"] .rail-news-title > strong {grid-column:1 / -1;}
body[data-page="home"] .rail-news-row[data-news-category="GMP Meister"] .rail-news-title > em {grid-row:1;}

/* Service finder: do not paint the source layout before its DOM relocation finishes. */
body[data-service-index="true"] #top-service-finder:not([data-approved-search-layout="ready"]) {visibility:hidden;}
/* Match the approved process-page title treatment on the requested overview. */
body[data-page="service-other-gxp"] #pp-process-explore .pp-process-overview > :is(span,h2,p) {
 color:#fff!important;text-shadow:0 2px 4px rgba(0,26,43,.84),0 0 14px rgba(0,26,43,.38)!important;
}
body[data-page="service-other-gxp"] #pp-process-explore .pp-process-overview h2 {font-family:var(--pp-font-display);font-size:var(--pp-page-title-size);font-weight:var(--pp-page-title-weight);line-height:var(--pp-page-title-line-height);letter-spacing:var(--pp-page-title-letter-spacing);margin:0 0 18px;}
.header-inner .header-languages {display:grid;grid-template-columns:minmax(0,1fr);gap:3px;flex:0 0 auto;}
.header-inner .header-languages .header-language {display:flex;align-items:center;justify-content:center;width:68px;min-width:68px;height:24px;min-height:24px;padding:2px 6px;box-sizing:border-box;font-size:11px;line-height:1.2;}
@media(max-width:640px){.header-inner .header-languages .header-language {width:58px;min-width:58px;font-size:10px;}}

/* Company philosophy on mobile: join the two panels without a divider straddling their edge. */
@media (max-width: 640px) {
  body[data-page="company"] #philosophy.company-philosophy-simple {
    grid-template-rows: minmax(250px, auto) minmax(310px, auto);
    background: var(--pp-night);
  }

  body[data-page="company"] #philosophy .company-philosophy-toggle {
    position: relative;
    inset: auto;
    grid-column: 1;
    grid-row: 1;
    align-self: end;
    width: 100%;
    height: 44px;
    background: transparent;
    transform: none;
  }

  body[data-page="company"] #philosophy .company-philosophy-toggle:focus-visible {
    outline: 2px solid var(--pp-surface);
    outline-offset: -4px;
  }

  body[data-page="company"] #philosophy .company-philosophy-visual {
    background: var(--pp-night);
  }

  body[data-page="company"] #philosophy .company-philosophy-content {
    position: relative;
    inset: auto;
    box-sizing: border-box;
    min-height: 310px;
    background: var(--pp-night);
    backdrop-filter: none;
  }

}

/* Contact guidance is body copy on a light surface, with no image-heading shadow. */
body[data-page="contact"] :is(.page-intro, .contact-section-heading) p,
body[data-page="contact"] :is(.page-intro, .contact-section-heading) p * {
  text-shadow: none !important;
}
