/*
 * The people and science pages share material, light and typography, while
 * retaining their own compositions. Scope deliberately stops at each main.
 * All copy, portraits, source figures and native disclosure controls remain.
 */
.gene-design,
.team-design {
  --premium-ink: #082d45;
  --premium-blue: #09629a;
  --premium-line: #d5e2e9;
  --premium-muted: #3d5b6d;
  --premium-paper: #f8fafb;
  --premium-pearl: #eef4f6;
}

/* Genetic science: the illustration is the source of light in the hero. */
.gene-design .gene-hero {
  background:
    radial-gradient(ellipse at 83% 37%, #17789b70 0%, #0b48693d 34%, transparent 65%),
    linear-gradient(116deg, #061d30 0%, #093b59 65%, #0c526f 100%);
  border-bottom: 1px solid #66b6d052;
}

.gene-design .gene-hero-grid {
  grid-template-columns: .98fr 1.12fr;
  gap: 42px;
  padding-block: 54px 50px;
  min-height: 624px;
}

.gene-design .gene-hero h1 {
  letter-spacing: -.05em;
  line-height: 1.12;
  text-shadow: 0 3px 18px #03162624;
}

.gene-design .gene-hero h1 span {
  color: #a3e5f8;
}

.gene-design .gene-hero-intro {
  color: #e0edf5;
  max-width: 610px;
}

.gene-design .gene-hero-art img {
  height: 508px;
  filter: drop-shadow(0 22px 32px #03182752);
}

.gene-design .gene-hero-art figcaption {
  color: #c5e0ed;
  padding-top: 11px;
  border-top: 1px solid #84b8cd3d;
  text-align: left;
}

.gene-design .gene-button {
  border-radius: 5px;
  box-shadow: 0 5px 16px #071b2b16;
}

.gene-design .gene-button--cyan {
  background: linear-gradient(125deg, #a1e8fa, #5ac9e9);
  color: #052a42;
  border-color: #cdf1fa65;
}

.gene-design .gene-section-nav {
  background: #fff;
  color: var(--premium-ink);
  border-bottom: 1px solid var(--premium-line);
  box-shadow: 0 5px 20px #082d4506;
}

.gene-design .gene-section-nav a {
  border-left-color: #dce7ed;
  padding-block: 25px;
}

.gene-design .gene-section-nav a svg {
  color: var(--premium-blue);
}

.gene-design .gene-section-nav a:hover {
  color: var(--premium-blue);
}

.gene-design .gene-context {
  background: var(--premium-paper);
  border-bottom: 1px solid #e1e9ed;
  padding-block: 38px;
}

.gene-design .gene-context h2 {
  font-size: 27px;
  line-height: 1.35;
}

.gene-design .gene-context .content-note {
  background: transparent;
  border: 0;
  border-radius: 0;
  padding: 0;
  margin-bottom: 12px;
}

.gene-design .gene-source--context p {
  color: var(--premium-muted);
}

.gene-design .gene-science,
.gene-design .gene-perspectives {
  background: #fff;
}

.gene-design .gene-section-rule {
  background: linear-gradient(90deg, #9ec8dc, #dbe7ed 85%);
}

.gene-design .gene-science-prose p,
.gene-design .gene-perspective p {
  color: var(--premium-muted);
}

.gene-design .gene-process {
  background:
    radial-gradient(ellipse at 3% 0%, #e4f0f8 0%, transparent 56%),
    linear-gradient(180deg, #f8fafb, #f0f5f7);
  border-top: 1px solid #e0e9ee;
  border-bottom: 1px solid #dce7ed;
}

.gene-design .gene-process-intro {
  margin-bottom: 53px;
}

.gene-design .gene-provenance {
  color: var(--premium-muted);
  border-left-color: #86bbd4;
}

.gene-design .gene-timeline {
  gap: 28px;
}

.gene-design .gene-timeline::before {
  background: linear-gradient(90deg, #2877a3, #a4d2e6 90%);
  height: 1px;
}

.gene-design .gene-timeline-dot {
  border-color: #c4e7f5;
  background: #09629a;
  border-radius: 50%;
  box-shadow: 0 0 0 4px #f1f7fa;
}

.gene-design .gene-step-label {
  color: #19577c;
  letter-spacing: .01em;
}

.gene-design .gene-step-visual {
  background: #fff;
  border: 1px solid #d6e6ee;
  border-radius: 6px;
  box-shadow: 0 13px 30px #1c526914, 0 1px 3px #1639510a;
  padding: 7px;
  margin-bottom: 27px;
}

.gene-design .gene-step-visual img {
  height: 173px;
  border-radius: 2px;
}

.gene-design .gene-step-current h3 {
  color: var(--premium-ink);
}

.gene-design .gene-step-current p {
  color: var(--premium-muted);
}

.gene-design .gene-step-history {
  border-top-color: #c4d8e3;
}

.gene-design .gene-step-history summary {
  color: #185c85;
}

/* The six source topics read as a science index, rather than a coloured slab. */
.gene-design .gene-insights {
  background: #fff;
  color: var(--premium-ink);
  border-bottom: 1px solid #e1e9ee;
}

.gene-design .gene-insights .gene-section-top .gene-kicker {
  color: var(--premium-blue);
}

.gene-design .gene-insights .gene-section-rule {
  background: linear-gradient(90deg, #9ec8dc, #dbe7ed 85%);
}

.gene-design .gene-insights-intro h2,
.gene-design .gene-insight h2 {
  color: var(--premium-ink);
}

.gene-design .gene-insights-intro > p,
.gene-design .gene-insight p:not(.gene-insight-number) {
  color: var(--premium-muted);
}

.gene-design .gene-insight {
  border-top-color: #cbdde7;
  padding-top: 31px;
}

.gene-design .gene-insight-number {
  color: #31799f;
  font-size: 18px;
  font-weight: 500;
}

.gene-design .gene-insight figure {
  background: #f7fafc;
  border: 1px solid #dbe8ef;
  border-radius: 5px;
  padding: 9px;
}

.gene-design .gene-perspective {
  border-top-color: #d6e4ec;
}

.gene-design .gene-perspective--image figure {
  background: var(--premium-paper);
  border: 1px solid #dde8ed;
  border-radius: 7px;
  box-shadow: 0 16px 35px #163f5010;
  padding: 12px;
}

.gene-design .gene-catalogue,
.gene-design .gene-reference,
.gene-design .gene-detail {
  background: linear-gradient(180deg, #fff, #f8fafb);
}

.gene-design .gene-service-section {
  border-top-color: #cbdfe9;
}

.gene-design .gene-service-layout--catalogue .gene-service-section img {
  background: #fff;
  border: 1px solid #dce8ef;
  border-radius: 6px;
  box-shadow: 0 11px 24px #133f5110;
  padding: 9px;
}

.gene-design .gene-detail-bridge {
  background:
    radial-gradient(ellipse at 85% 55%, #dbeaf3, transparent 67%),
    #f6fafb;
  border: 1px solid #d7e5ed;
  border-radius: 8px;
  box-shadow: 0 19px 40px #1947590a;
}

.gene-design .gene-detail-bridge img {
  filter: drop-shadow(0 16px 23px #35657b24);
}

.gene-design .gene-explore {
  background: var(--premium-paper);
  color: var(--premium-ink);
  border-top: 1px solid #e0e9ee;
  padding-block: 58px;
}

.gene-design .gene-explore > .container > .gene-kicker {
  color: var(--premium-blue);
}

.gene-design .gene-explore-grid > a {
  border-top-color: #b9d3e2;
}

.gene-design .gene-explore-grid h2 {
  color: var(--premium-ink);
}

.gene-design .gene-explore-grid p {
  color: var(--premium-muted);
}

.gene-design .gene-explore-grid span {
  color: var(--premium-blue);
}

.gene-design .gene-consult {
  background: var(--premium-paper);
  padding-block: 20px 75px;
}

.gene-design .gene-consult-grid {
  background:
    radial-gradient(ellipse at 89% 13%, #21789b65, transparent 63%),
    linear-gradient(117deg, #07273d, #0b4c6a);
  border: 1px solid #2e668052;
  border-radius: 9px;
  box-shadow: 0 22px 45px #0b324d18;
  padding: 52px 54px;
  color: #f6fbff;
}

.gene-design .gene-consult .gene-kicker {
  color: #acdfef;
}

.gene-design .gene-consult h2 {
  color: #fff;
}

.gene-design .gene-consult p:not(.gene-kicker) {
  color: #dcecf6;
}

.gene-design .gene-consult .gene-button--navy {
  color: #052b43;
  background: linear-gradient(125deg, #b4edf9, #6ecfe9);
  border-color: #c3eef87a;
}

/* People: real portraits on a pearl editorial surface. No image colour edits. */
.team-design .team-design__hero {
  background:
    radial-gradient(ellipse at 82% 32%, #d9eaf3 0%, transparent 62%),
    linear-gradient(140deg, #fcfdfd 0%, #f3f7f9 65%, #e7f0f4 100%);
  color: var(--premium-ink);
  border-bottom: 1px solid #d6e4ec;
  padding-block: 53px 71px;
}

.team-design .team-design__hero::after {
  content: none;
}

.team-design .team-design__breadcrumb {
  color: #476d83;
}

.team-design .team-design__hero .team-design__eyebrow {
  color: var(--premium-blue);
  letter-spacing: .055em;
}

.team-design .team-design__hero h1 {
  color: var(--premium-ink);
  line-height: 1.13;
}

.team-design .team-design__hero h1 span {
  color: #125f8e;
}

.team-design .team-design__hero-statement {
  color: #244c64;
}

.team-design .team-design__native-intro {
  color: var(--premium-muted);
}

.team-design .team-design__hero-link {
  color: var(--premium-blue);
  border-bottom-color: #8ebbd0;
}

.team-design .team-design__hero-people {
  gap: 24px;
  padding-block: 31px 12px;
}

.team-design .team-design__hero-people::before {
  inset: 8% 4% 10%;
  width: auto;
  height: auto;
  background: radial-gradient(ellipse at 56% 50%, #a4cde35c, transparent 71%);
  border-radius: 0;
}

.team-design .team-design__hero-person {
  background: #fff;
  border: 1px solid #d4e3ec;
  border-bottom: 1px solid #bdd6e5;
  border-radius: 7px;
  box-shadow: 0 23px 38px #1a48671b, 0 2px 5px #234b6508;
  overflow: hidden;
}

.team-design .team-design__hero-person:nth-child(2) {
  margin-top: 66px;
}

.team-design .team-design__hero-person > a {
  background: #fff;
  padding: 11px 10px 0;
}

.team-design .team-design__hero-person figcaption {
  background: #fff;
  border-top: 1px solid #edf2f5;
  padding: 19px 18px 22px;
}

.team-design .team-design__hero-person figcaption span {
  color: #44667c;
}

.team-design .team-design__group-nav {
  background: #fff;
  border-bottom: 1px solid #dce6ec;
  color: #164766;
  box-shadow: 0 4px 18px #123c5306;
}

.team-design .team-design__group-nav a:hover,
.team-design .team-design__group-nav a:focus-visible {
  color: var(--premium-blue);
  border-bottom-color: #09629a;
}

.team-design .team-design__eyebrow {
  letter-spacing: .06em;
}

.team-design .team-design__founders,
.team-design .team-design__research {
  background: #fff;
}

.team-design .team-design__person--founder {
  border-top: 1px solid #97bdd3;
  padding-top: 34px;
  gap: 27px;
}

.team-design .team-design__portrait {
  background: #fff;
  border: 1px solid #dce8ef;
  border-radius: 5px;
  box-shadow: 0 13px 28px #1b496513;
  padding: 10px;
}

.team-design .team-design__person--founder .team-design__portrait {
  background: #fff;
  box-shadow: 0 12px 26px #16496314;
}

.team-design .team-design__bio p {
  color: var(--premium-muted);
}

.team-design .team-design__advisors {
  background:
    radial-gradient(ellipse at 10% 35%, #1a638c5c, transparent 61%),
    linear-gradient(116deg, #082a43, #0b4e6e);
  border-block: 1px solid #51768b4a;
  color: #fff;
}

.team-design .team-design__advisors .team-design__portrait {
  border: 1px solid #a5c9da;
  box-shadow: 0 22px 35px #041c303b;
}

.team-design .team-design__advisors .team-design__bio p {
  color: #e4f0f7;
}

.team-design .team-design__research .team-design__portrait {
  background: #fff;
  border-bottom: 1px solid #c2dce9;
}

.team-design .team-design__experience {
  background:
    radial-gradient(ellipse at 85% 0%, #e3eef5, transparent 72%),
    #f5f8fa;
  color: var(--premium-ink);
  border-block: 1px solid #dce7ed;
}

.team-design .team-design__experience .team-design__eyebrow,
.team-design .team-design__experience .team-design__role,
.team-design .team-design__experience .team-design__profile-link {
  color: #125f8e;
}

.team-design .team-design__experience .team-design__person {
  background: #fff;
  border: 1px solid #dce7ed;
  border-radius: 6px;
  box-shadow: 0 14px 29px #123f5610;
  overflow: hidden;
}

.team-design .team-design__experience .team-design__portrait {
  border: 0;
  border-radius: 0;
  box-shadow: none;
  border-bottom: 1px solid #e7eef2;
  padding: 16px;
}

.team-design .team-design__technical {
  background: #fff;
  color: var(--premium-ink);
}

.team-design .team-design__technical .team-design__eyebrow,
.team-design .team-design__technical .team-design__role,
.team-design .team-design__technical .team-design__profile-link {
  color: #125f8e;
}

.team-design .team-design__technical .team-design__portrait {
  border-bottom: 1px solid #c2dce9;
}

.team-design .team-design__connect {
  background: var(--premium-paper);
  padding-block: 42px 70px;
  border-top: 1px solid #e0e9ee;
}

.team-design .team-design__connect-layout {
  background:
    radial-gradient(ellipse at 84% 25%, #21789b65, transparent 63%),
    linear-gradient(117deg, #07273d, #0b4c6a);
  color: #fff;
  border: 1px solid #2e668052;
  border-radius: 9px;
  box-shadow: 0 22px 45px #0b324d18;
  padding: 42px 48px;
}

.team-design .team-design__connect h2 {
  color: #fff;
}

.team-design .team-design__connect .team-design__eyebrow {
  color: #acdfef;
}

.team-design .team-design__connect .button {
  background: linear-gradient(125deg, #b4edf9, #6ecfe9);
  color: #052b43;
  border-color: #c3eef87a;
  border-radius: 5px;
  box-shadow: 0 5px 16px #071b2b16;
}

/* Follow the established column transitions, without pushing art beyond main. */
@media (max-width: 1150px) {
  .gene-design .gene-hero-grid {
    gap: 25px;
    min-height: 565px;
  }

  .gene-design .gene-hero-art img {
    height: 425px;
  }

  .gene-design .gene-consult-grid {
    padding: 40px 36px;
    gap: 36px;
  }

  .team-design .team-design__hero-person:nth-child(2) {
    margin-top: 54px;
  }

  .team-design .team-design__connect-layout {
    padding: 38px 36px;
  }
}

@media (max-width: 1100px) {
  .gene-design .gene-step-visual img {
    height: 197px;
  }
}

@media (max-width: 850px) {
  .team-design .team-design__hero {
    padding-bottom: 57px;
  }

  .team-design .team-design__hero-people {
    justify-self: center;
    max-width: 590px;
    padding-top: 38px;
  }

  .team-design .team-design__hero-person:nth-child(2) {
    margin-top: 43px;
  }

  .team-design .team-design__person--founder {
    gap: 0;
  }
}

@media (max-width: 767px) {
  .gene-design .gene-hero-grid {
    grid-template-columns: 1fr;
    gap: 8px;
    padding-block: 32px 31px;
    min-height: 0;
  }

  .gene-design .gene-hero-art img {
    height: 322px;
  }

  .gene-design .gene-hero-art figcaption {
    padding-top: 12px;
  }

  .gene-design .gene-section-nav a {
    padding-block: 17px;
  }

  .gene-design .gene-context {
    padding-block: 31px;
  }

  .gene-design .gene-context h2 {
    font-size: 26px;
  }

  .gene-design .gene-process-intro {
    margin-bottom: 35px;
  }

  .gene-design .gene-timeline {
    gap: 36px;
  }

  .gene-design .gene-timeline-dot {
    top: -7px;
  }

  .gene-design .gene-step-visual {
    padding: 9px;
    margin-bottom: 23px;
  }

  .gene-design .gene-step-visual img {
    height: 219px;
  }

  .gene-design .gene-insight {
    padding: 29px 0 30px;
  }

  .gene-design .gene-perspective--image figure {
    padding: 8px;
  }

  .gene-design .gene-consult {
    padding-block: 12px 47px;
  }

  .gene-design .gene-consult-grid {
    padding: 31px 23px;
    gap: 26px;
  }

  .gene-design .gene-consult h2 {
    font-size: 32px;
  }

  .gene-design .gene-consult .gene-button {
    width: 100%;
    max-width: 310px;
  }
}

@media (max-width: 560px) {
  .team-design .team-design__hero {
    padding-block: 32px 45px;
  }

  .team-design .team-design__hero-people {
    gap: 13px;
    padding-top: 32px;
  }

  .team-design .team-design__hero-person:nth-child(2) {
    margin-top: 34px;
  }

  .team-design .team-design__hero-person > a {
    padding: 7px 6px 0;
  }

  .team-design .team-design__hero-person figcaption {
    padding: 16px 12px 18px;
  }

  .team-design .team-design__group-nav a {
    border-bottom-color: #dce7ed;
  }

  .team-design .team-design__portrait {
    padding: 8px;
  }

  .team-design .team-design__person--founder {
    padding-top: 26px;
    gap: 0;
  }

  .team-design .team-design__connect {
    padding-block: 29px 45px;
  }

  .team-design .team-design__connect-layout {
    padding: 31px 23px;
    gap: 28px;
  }

  .team-design .team-design__connect h2 {
    font-size: 32px;
  }
}
