/* Work, case studies and Xiamen training */
.service-page h2 { font-size: clamp(2.35rem, 4.2vw, 4.25rem); }
.service-page h3 { font-size: clamp(1.75rem, 2.85vw, 2.8rem); }
html[lang=zh-CN] .service-page h2 { font-size: clamp(1.65rem, 3.55vw, 3.35rem); }
html[lang=zh-CN] .service-page h3 { font-size: clamp(1.35rem, 2.3vw, 2.3rem); }
.service-page .dark .standfirst { color: #dce6e8; }
.service-page .dark .source-link { color: #9ae8e7; }
.service-page .text-link,
.service-page .source-link { min-height: 44px; max-width: 100%; }
.service-page .media-caption { text-wrap: pretty; }

.service-work-heading,
.service-overview-heading { padding-block: clamp(33px, 5vw, 72px) clamp(30px, 4.4vw, 61px); }
.service-work-heading .shell,
.service-overview-title {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(0, .78fr);
  gap: clamp(22px, 6vw, 86px);
  align-items: end;
}
.service-work-heading .standfirst,
.service-overview-title .standfirst { color: var(--muted); }
.service-work-heading .standfirst { margin-top: 16px; }
.service-work-destinations { border-block: 1px solid var(--line); }
.service-work-destinations a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 49px;
  padding: 8px 0;
  font-weight: 700;
}
.service-work-destinations a + a { border-top: 1px solid var(--line); }
.service-work-destinations a:hover { color: var(--teal-text); }

.service-work-portfolio,
.service-engineering-portfolio { padding-bottom: clamp(42px, 6.3vw, 88px); }
.service-feature {
  display: grid;
  grid-template-columns: minmax(0, 1.42fr) minmax(0, 1fr);
  align-items: center;
  background: var(--silver);
}
.service-feature-photo { align-self: start; }
.service-feature-photo .media { aspect-ratio: 1.61; }
.service-feature-photo .media-caption { margin: 0; padding: 8px 12px; }
.service-feature-copy { padding: clamp(20px, 3.55vw, 54px); }
.service-feature-copy p { margin: 13px 0 7px; color: var(--muted); max-width: 59ch; }
.service-work-pair {
  display: grid;
  grid-template-columns: minmax(0, 1.17fr) minmax(0, .83fr);
  gap: clamp(22px, 4vw, 57px);
  margin-top: clamp(34px, 5.2vw, 71px);
}
.service-work-pair .service-feature { display: block; background: transparent; }
.service-work-pair .service-feature-copy { padding: 15px 0 0; }
.service-work-pair .service-feature-photo .media-caption { padding-inline: 0; }
.service-work-pair .service-feature-photo .media { aspect-ratio: 1.55; }
.service-work-pair .service-work-rally { margin-top: clamp(0px, 3.8vw, 55px); }
.service-work-pair h2,
html[lang=zh-CN] .service-work-pair h2 { font-size: clamp(1.65rem, 3.2vw, 3.45rem); }

.service-breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0 clamp(13px, 2vw, 30px);
  margin-bottom: clamp(16px, 2.3vw, 32px);
  font-size: .84rem;
  font-weight: 700;
}
.service-breadcrumbs a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 44px;
  border-bottom: 1px solid transparent;
}
.service-breadcrumbs a:hover { border-color: currentColor; }
.service-breadcrumbs a[aria-current=page] { border-color: var(--teal-text); }
.dark .service-breadcrumbs a[aria-current=page] { border-color: var(--accent); }
.service-overview-heading { padding-top: clamp(14px, 2.1vw, 30px); }
.service-overview-title .text-link { margin-top: 7px; }

.service-engineering-record {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(25px, 4.8vw, 67px) clamp(22px, 4.6vw, 64px);
  margin-top: clamp(40px, 6vw, 85px);
}
.service-engineering-record > article { min-width: 0; }
.service-engineering-record > article > div { padding-top: 13px; }
.service-engineering-record h2,
html[lang=zh-CN] .service-engineering-record h2 { font-size: clamp(1.65rem, 3.15vw, 3.25rem); }
.service-engineering-record p { margin: 11px 0 5px; color: var(--muted); max-width: 60ch; }
.service-record-photo .media { aspect-ratio: 1.69; }
.service-suspension .media { aspect-ratio: 1.57; }
.service-record-lynk {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(0, .78fr) minmax(0, 1.15fr);
  gap: clamp(20px, 4vw, 55px);
  align-items: center;
  border-block: 1px solid var(--line);
  padding-block: clamp(19px, 2.5vw, 35px);
}
.service-record-lynk > figure { grid-column: 2; grid-row: 1; }
.service-record-lynk > div { grid-column: 1; grid-row: 1; }

.service-brief { padding-block: clamp(38px, 5.7vw, 82px); background: #203037; }
.service-brief .shell {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(25px, 6.4vw, 92px);
  align-items: start;
}
.service-brief p { color: #dce6e8; max-width: 54ch; margin-top: 13px; }
.service-brief .btn { margin-top: 20px; }
.service-brief-list,
.service-credits-list { margin: 0; }
.service-brief-list > div {
  display: grid;
  grid-template-columns: minmax(86px, .72fr) minmax(0, 1.5fr);
  gap: 9px 16px;
  border-top: 1px solid #60757b;
  padding-block: 13px 15px;
}
.service-brief-list > div:last-child { border-bottom: 1px solid #60757b; }
.service-brief-list dt,
.service-credits-list dt { font-weight: 700; }
.service-brief-list dd,
.service-credits-list dd { margin: 0; }
.service-brief-list dd { color: #dce6e8; }

.service-film-hero,
.service-case-hero { padding-block: clamp(14px, 2.1vw, 30px) clamp(37px, 5.5vw, 78px); }
.service-case-hero-grid,
.service-film-entrance {
  display: grid;
  grid-template-columns: minmax(0, .83fr) minmax(0, 1.24fr);
  align-items: center;
  gap: clamp(22px, 5vw, 72px);
}
.service-case-title h1 { font-size: clamp(3.05rem, 6.15vw, 6rem); text-wrap: balance; }
html[lang=zh-CN] .service-case-title h1 { font-size: clamp(2.2rem, 4.85vw, 4.85rem); }
.service-case-title h1 > span { white-space: nowrap; }
.service-case-title .standfirst { margin-top: 15px; max-width: 60ch; }
.service-case-title .text-link { margin-top: 11px; }
.service-case-title .service-case-period {
  margin-top: 17px;
  color: #b9d8db;
  font-size: .85rem;
  font-weight: 700;
}
.service-case-photo .media { aspect-ratio: 3 / 2; }
.service-film-feature { background: #203037; }
.service-film-feature .media-caption { margin: 0; padding: 8px 17px 0; }
.service-film-feature-copy {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  justify-content: space-between;
  gap: 4px 18px;
  padding: 11px 17px 15px;
}
.service-film-feature h2,
html[lang=zh-CN] .service-film-feature h2 { font-size: clamp(1.75rem, 3vw, 3.3rem); }
.service-film-feature-copy .text-link { font-size: .9rem; }

.service-film-credits,
.service-case-editorial,
.service-project-sources .shell {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  align-items: start;
  gap: clamp(22px, 5.8vw, 82px);
}
.service-film-credits > div > p,
.service-case-editorial p { margin: 12px 0 6px; color: var(--muted); max-width: 60ch; }
.service-film-credits .service-credits-list { margin: 20px 0 0; }
.service-credits-list > div { border-top: 1px solid var(--line); padding-block: 11px 14px; }
.service-credits-list > div:last-child { border-bottom: 1px solid var(--line); }
.service-credits-list dd { color: var(--muted); margin-top: 3px; }
.service-film-still .media { aspect-ratio: 16 / 9; }
.service-film-still img { object-fit: contain; background: #172328; }
.service-project-sources { padding-block: clamp(29px, 4.5vw, 64px); }
.service-source-actions { display: grid; align-content: start; border-top: 1px solid var(--line); }
.service-source-actions > * { justify-self: start; margin-block: 3px; }

.service-evidence-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr);
  gap: clamp(24px, 4vw, 57px);
  margin-top: clamp(23px, 3.5vw, 45px);
}
.service-evidence-grid > article > div { margin-top: 13px; }
.service-evidence-grid p,
.service-development p { margin: 11px 0 5px; color: var(--muted); max-width: 68ch; }
.service-evidence-photo .media { aspect-ratio: 1.64; }
.service-evidence-grid > article:nth-child(2) .service-evidence-photo .media { aspect-ratio: 3 / 2; }
.service-evidence-grid > article:nth-child(2) { margin-top: clamp(0px, 3vw, 41px); }
.service-evidence-links { display: grid; justify-items: start; }
.service-endurance-entries { margin: 12px 0 5px; }
.service-endurance-entries > div {
  display: grid;
  grid-template-columns: minmax(66px, .22fr) minmax(0, 1fr);
  gap: 4px 12px;
  padding-block: 9px;
  border-top: 1px solid var(--line);
}
.service-endurance-entries dt { font-weight: 700; color: var(--teal-text); }
.service-endurance-entries dd { margin: 0; }
.service-endurance-entries dd span { display: block; color: var(--muted); }
.service-article-return { scroll-margin-top: 14px; }
.service-development { list-style: none; margin: clamp(24px, 3.6vw, 49px) 0 0; padding: 0; }
.service-development > li {
  display: grid;
  grid-template-columns: minmax(130px, .34fr) minmax(0, 1fr);
  gap: 9px clamp(20px, 6vw, 86px);
  border-top: 1px solid var(--line);
  padding-block: clamp(19px, 2.65vw, 35px);
}
.service-development > li > :is(time, span) { color: var(--teal-text); font-weight: 700; }
.service-case-crosslink { margin-top: clamp(17px, 3vw, 40px); }
.service-case-editorial { grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); align-items: center; }
.service-case-secondary .media { aspect-ratio: 1.65; }

.service-training-hero { padding-block: clamp(42px, 7vw, 99px); }
.service-training-hero .shell,
.service-training-guidance,
.service-training-reports {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  align-items: start;
  gap: clamp(23px, 6vw, 86px);
}
.service-training-hero .shell { align-items: end; }
.service-training-title h1 { font-size: clamp(3.1rem, 7vw, 6rem); text-wrap: balance; }
html[lang=zh-CN] .service-training-title h1 { font-size: clamp(2.6rem, 5.5vw, 5.25rem); }
html[lang=zh-CN] .service-training-title h1 span { display: inline-block; max-inline-size: 100%; }
.service-training-title .standfirst { margin-top: 16px; max-width: 52ch; }
html[lang=zh-CN] .service-training-title .standfirst { text-wrap: pretty; }
.service-training-title .btn { margin-top: 21px; }
.service-training-overview { border-top: 1px solid #60757b; padding-top: 19px; max-width: 59ch; }
.service-training-overview h2,
html[lang=zh-CN] .service-training-overview h2 { font-size: clamp(1.65rem, 3.25vw, 3.3rem); }
.service-training-overview p,
.service-training-guidance > div > p { margin: 12px 0 6px; }
.service-training-guidance > div > p { color: var(--muted); max-width: 54ch; }
.service-training-questions { border-bottom: 1px solid var(--line); }
.service-training-questions details { border-top: 1px solid var(--line); }
.service-training-questions summary {
  min-height: 48px;
  padding: 13px 5px;
  font-weight: 700;
  line-height: 1.45;
}
.service-training-questions summary::marker { color: var(--teal-text); }
.service-training-questions summary:hover { color: var(--teal-text); }
.service-training-questions details p { color: var(--muted); margin: 0 8px 16px 22px; max-width: 65ch; }
.service-training-questions details .text-link { margin: 0 8px 12px 22px; }
.service-training-report-list article { border-top: 1px solid var(--line); padding: 13px 0 19px; }
.service-training-report-list article:last-child { padding-bottom: 0; }
.service-training-reports article h3 { margin-top: 6px; }
.service-report-date { font-size: .84rem; color: var(--teal-text); font-weight: 700; }
.service-training-reports article p:not(.service-report-date) { margin: 10px 0 4px; color: var(--muted); max-width: 63ch; }
.service-training-archive-link { margin-top: 12px; }
.service-training-archive-action { grid-column: 1 / -1; border-top: 1px solid var(--line); padding-top: 17px; }
.service-training-reports { row-gap: clamp(23px, 3.5vw, 46px); }

.service-training-enquiry { padding-block: clamp(23px, 3.9vw, 55px) clamp(44px, 6.4vw, 88px); }
.service-training-enquiry .breadcrumb { min-height: 44px; margin-bottom: 11px; }
.service-enquiry-grid {
  display: grid;
  grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
  align-items: start;
  gap: clamp(23px, 6vw, 86px);
}
.service-enquiry-copy h1 { font-size: clamp(2.85rem, 6.1vw, 6rem); text-wrap: balance; }
html[lang=zh-CN] .service-enquiry-copy h1 { font-size: clamp(2.2rem, 5vw, 4.9rem); }
.service-enquiry-copy .standfirst { margin-top: 14px; color: var(--muted); max-width: 56ch; }
.service-enquiry-tips { margin-top: 11px; max-width: 54ch; color: var(--muted); }
.service-training-form h2,
html[lang=zh-CN] .service-training-form h2 { font-size: clamp(1.85rem, 3vw, 3.3rem); margin-bottom: 10px; }

@media (max-width: 760px) {
  .service-case-hero-grid,
  .service-film-entrance,
  .service-feature { grid-template-columns: minmax(0, 1fr); }
  .service-case-title h1 { font-size: clamp(2.95rem, 9.1vw, 5rem); }
  html[lang=zh-CN] .service-case-title h1 { font-size: clamp(2.2rem, 7.4vw, 3.9rem); }
  .service-feature-copy { padding: 16px 17px 20px; }
  .service-feature-photo .media { aspect-ratio: 1.53; }
  .service-enquiry-copy h1 { font-size: clamp(2.75rem, 8vw, 4.25rem); }
}

@media (max-width: 620px) {
  .service-work-heading .shell,
  .service-overview-title,
  .service-work-pair,
  .service-engineering-record,
  .service-record-lynk,
  .service-brief .shell,
  .service-film-credits,
  .service-evidence-grid,
  .service-case-editorial,
  .service-project-sources .shell,
  .service-training-hero .shell,
  .service-training-guidance,
  .service-training-reports,
  .service-enquiry-grid { grid-template-columns: minmax(0, 1fr); }
  .service-work-heading h1,
  html[lang=zh-CN] .service-work-heading h1 { font-size: clamp(2.65rem, 10vw, 4.1rem); }
  .service-training-title h1 { font-size: clamp(3rem, 10vw, 5.1rem); }
  html[lang=zh-CN] .service-training-title h1 { font-size: clamp(2.4rem, 8vw, 3.8rem); }
  .service-work-destinations { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .service-work-destinations a { min-width: 0; padding-inline-end: 9px; }
  .service-work-destinations a + a { border-top: 0; border-inline-start: 1px solid var(--line); padding-inline-start: 9px; }
  .service-work-pair .service-work-rally,
  .service-evidence-grid > article:nth-child(2) { margin-top: 0; }
  .service-record-lynk { gap: 0; padding-block: 0; border: 0; }
  .service-record-lynk > :is(figure, div) { grid-area: auto; }
  .service-brief-list > div { grid-template-columns: minmax(0, .68fr) minmax(0, 1.32fr); }
  .service-development > li { grid-template-columns: minmax(0, 1fr); }
  .service-training-overview { margin-top: 5px; }
  .service-enquiry-grid { gap: 19px; }
  .service-enquiry-tips { margin-top: 7px; font-size: .94rem; }
}
