/* Restrained editorial layout, using the established brand and type scale. */
.site-header, .site-header.scrolled { box-shadow:none; }
@media (min-width:1241px) {
  .nav-shell { min-height:100px; }
  .brand, .brand img { width:128px; }
}
.hero h1 > strong { max-width:30ch; }
.hero-summary { max-width:62ch; }
.primary-button, .nav-cta, .form-submit { border-radius:0; }
.stats { padding-block:36px; }
.stats-grid article > i { display:none; }
.stats-grid article { min-width:0; }
.service-card, .service-card:hover {
  border:0;
  border-bottom:1px solid var(--line);
  border-radius:0;
  box-shadow:none;
}
.service-card::before { display:none; }
.service-body { padding:28px 26px 30px; }
.service-body > a { text-underline-offset:5px; }
.service-body > a:hover { color:var(--blue); text-decoration:underline; }
@media (min-width:1301px) {
  .service-body h3 { min-height:1.35em; }
  .service-tagline { min-height:1.6em; }
}
.testimonials > .container {
  display:grid;
  grid-template-columns:.7fr 1.3fr;
  gap:64px;
  align-items:start;
}
.testimonials .section-heading { margin:0; }
.section-heading > p.section-subtitle:last-child { color:var(--blue); }
.testimonial-content { min-width:0; }
.testimonial-shell { display:block; margin:0; }
.testimonial-shell blockquote {
  max-width:none;
  padding:0 0 0 32px;
  margin:0;
  border-left:3px solid var(--blue);
}
.quote-mark, .testimonial-shell .avatar { display:none; }
#testimonial-quote { font-size:var(--type-subtitle); line-height:1.6; color:var(--blue); }
.testimonial-shell blockquote footer { display:block; margin-top:28px; }
#testimonial-role { font-size:var(--type-body); font-weight:700; }
.testimonial-controls { display:flex; align-items:center; gap:12px; margin:28px 0 0 32px; }
.testimonial-controls > button {
  display:grid;
  place-items:center;
  width:48px;
  height:48px;
  padding:0 0 3px;
  background:transparent;
  border:1px solid #bfcbd6;
  border-radius:0;
  color:var(--blue);
  font-size:32px;
  line-height:1;
  flex-shrink:0;
}
.testimonial-controls > button:hover { background:#fff; border-color:var(--blue); }
.testimonial-controls .testimonial-dots { display:flex; gap:0; margin:0 auto 0 0; }
.testimonial-controls .testimonial-dots button,
.testimonial-controls .testimonial-dots button.active {
  position:relative;
  width:44px;
  height:44px;
  border:0;
  padding:0;
  border-radius:0;
  background:transparent;
}
.testimonial-dots button::after {
  content:'';
  position:absolute;
  width:8px;
  height:8px;
  left:18px;
  top:18px;
  border-radius:50%;
  background:#7a8897;
}
.testimonial-dots button.active::after { background:var(--blue); }
.testimonial-dots button::before { content:none; }
.enquiry-form { border-radius:0; border-top-width:2px; }
.field input, .field select, .field textarea { border-radius:0; }
.field input, .field select, .field textarea { border-color:#7c8b9a; }
.field input::placeholder, .field textarea::placeholder { color:#626d78; opacity:1; }
.photography-credit { font-size:var(--type-label); line-height:var(--leading-body); color:var(--muted); margin:0 0 24px; }
.photography-credit a { color:var(--blue); text-decoration:underline; text-underline-offset:3px; }
.portfolio-page #portfolio-title { font-size:var(--type-hero); }
.portfolio-page .portfolio-card { border-radius:0; }
.portfolio-page .portfolio-card h2 { font-size:var(--type-card); line-height:1.35; padding:24px; color:var(--blue); }
@media (max-width:1100px) {
  .testimonials > .container { grid-template-columns:1fr; gap:36px; }
}
@media (max-width:767px) {
  .hero h1 > strong { max-width:none; }
  .stats { padding-block:28px; }
  .service-body { padding:24px 22px 28px; }
  .testimonials > .container { gap:28px; }
  .testimonial-shell blockquote { padding-left:20px; }
  .testimonial-controls { margin-left:20px; gap:4px; }
  .testimonial-controls > button { width:44px; height:44px; }
  .portfolio-page .portfolio-card h2 { padding:20px; }
}

/* Unified heading hierarchy and softer red, October review. */
:root { --red:#D52D2F; --coral:var(--red); --red-dark:#BC2426; --type-subtitle:1.25rem; }
.section-subtitle, .sourcing-info-head .section-subtitle, .global-supply-copy .section-subtitle {
 font-size:var(--type-subtitle); font-weight:400; line-height:1.55; letter-spacing:0; margin-top:14px;
}
.section-kicker, .sourcing-info-head > div > .section-kicker, .global-supply-copy > .section-kicker {
 font-size:.875rem; font-weight:700; line-height:1.5; letter-spacing:.065em; margin-bottom:14px;
}
.global-supply-copy h2 { font-size:var(--type-section); line-height:var(--leading-heading); color:var(--red); }
.sourcing-info-head h2 { max-width:24ch; }
.global-supply-copy .section-subtitle { max-width:38ch; }
.sourcing-component-photo img { object-position:center; }
#engineering .service-image img { object-position:center; }
@media(max-width:767px) { :root { --type-subtitle:1.125rem; } }

/* Component photographs are presented as a calm, labelled contact sheet. */
.service-image { height:330px; }
.component-gallery { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); grid-template-rows:repeat(2,minmax(0,1fr)); gap:3px; background:#e2e8ed; }
.component-gallery figure { min-width:0; min-height:0; display:grid; grid-template-rows:minmax(0,1fr) auto; background:#fff; overflow:hidden; }
.component-gallery img { position:static; width:100%; height:100%; min-height:0; object-fit:cover; }
.component-gallery figcaption { padding:7px 3px; font-size:12px; line-height:1.3; font-weight:700; text-align:center; color:var(--blue); background:#fff; }
.component-gallery figure:nth-child(1) img,.component-gallery figure:nth-child(3) img { object-fit:contain; background:#f4f5f6; }
#engineering .service-image img { object-position:50% 48%; }
.component-photo-credits { color:var(--muted); font-size:14px; margin-bottom:20px; max-width:90ch; }
.component-photo-credits summary { cursor:pointer; padding-block:8px; }
.component-photo-credits p { margin-top:10px; }
.component-photo-credits a { text-decoration:underline; text-underline-offset:3px; }
@media(min-width:768px) and (max-width:1100px) {
 .service-image { height:100%; }
 .component-gallery { min-height:570px; grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:repeat(3,minmax(0,1fr)); }
}
@media(max-width:767px) { .service-image { height:330px; min-height:0; } .component-gallery figcaption { font-size:12px; } }

.sourcing-collection { background:#535557; }
.sourcing-collection img { width:100%;height:100%;object-fit:contain;object-position:center; }

/* Shared visual language with the approved Sourcing child page. */
:root {
 --red:#D52D2F; --red-dark:#BC2426; --coral:var(--red);
 --blue:#001688; --navy:#001688; --text:#142d45; --muted:#5a6874;
 --line:#dce1e4; --page-background:#f5f5f2; --pale:var(--page-background);
 --warm:var(--page-background); --font:Arial,Helvetica,sans-serif;
 --type-hero:clamp(46px,4.35vw,68px); --type-hero-support:clamp(32px,3.3vw,49px);
 --type-section:clamp(36px,3.3vw,49px); --type-card:29px;
 --type-subtitle:20px; --type-body:16px; --type-label:14px; --type-action:14px;
 --leading-heading:1.13; --leading-body:1.75;
}
body {font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65;}
h1,h2,h3,h4,.hero h1>strong {font-family:Georgia,'Times New Roman',serif;font-weight:400;}
h2,.solutions .section-heading h2,.nutshell-intro h2,.sourcing-info-head h2,.industries-heading h2,.process-heading h2,.cta-inner h2,.global-supply-copy h2 {font-weight:400;letter-spacing:-.035em;}
.hero h1 {font-weight:400;letter-spacing:-.034em;line-height:1.08;}
.hero h1>strong {font-weight:400;line-height:1.13;letter-spacing:-.03em;max-width:25ch;}
h3,h4,.service-body h3,.sourcing-stage h3,.enquiry-form h3 {font-weight:400;letter-spacing:-.017em;}
.section-kicker,.sourcing-info-head>div>.section-kicker,.global-supply-copy>.section-kicker {font-family:Arial,Helvetica,sans-serif;font-size:11px;letter-spacing:1.9px;line-height:1.5;}
.section-subtitle,.sourcing-info-head .section-subtitle,.global-supply-copy .section-subtitle {font-family:Arial,Helvetica,sans-serif;font-weight:400;letter-spacing:0;}
#primary-navigation>a,.nav-shell>.nav-cta {font-size:13px;font-weight:600;}
.primary-button,.nav-cta,.form-submit,.service-body>a {font-family:Arial,Helvetica,sans-serif;font-size:14px;font-weight:600;}
.nutshell-grid article>strong,.stats-grid strong {font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:39px;letter-spacing:-1.3px;}
.service-tagline {font-weight:600;}
.service-summary {min-height:5.25em;}
.service-body h3 {min-height:2.26em;}
.service-tagline {min-height:3.2em;}
#testimonial-quote {font-family:Georgia,'Times New Roman',serif;font-size:27px;font-weight:400;line-height:1.5;}
.enquiry-form {border-top-color:var(--navy);}
.container {max-width:1264px;}
@media(max-width:767px) {
 :root {--type-hero:43px;--type-hero-support:32px;--type-section:34px;--type-card:26px;--type-subtitle:19px;--type-body:16px;--type-label:14px;}
 .hero h1 {font-size:var(--type-hero);}
 .hero h1>strong {font-size:var(--type-hero-support);}
 .service-body h3,.service-tagline,.service-summary {min-height:0;}
 #testimonial-quote {font-size:24px;}
 .stats-grid strong,.nutshell-grid article>strong {font-size:32px;}
}
