
/* PASS 03 — shared service page primitives */
.service-page { background:#fff; }
.page-breadcrumb {
  display:flex;align-items:center;gap:8px;margin-bottom:24px;
  color:#84909d;font-size:12px;font-weight:700;
}
.page-breadcrumb b {color:#bdc7cc}
.page-breadcrumb a:hover {color:var(--brand-dark)}
.service-hero {
  min-height:780px;padding-top:150px;position:relative;overflow:hidden;
  background:
    radial-gradient(circle at 82% 12%,rgba(22,184,173,.095),transparent 23%),
    linear-gradient(180deg,#fff,#fbfdfd);
}
.service-hero::after {
  content:"";position:absolute;inset:0;pointer-events:none;
  background-image:
    linear-gradient(rgba(13,23,39,.025) 1px,transparent 1px),
    linear-gradient(90deg,rgba(13,23,39,.025) 1px,transparent 1px);
  background-size:44px 44px;
  mask-image:linear-gradient(to bottom,#000,transparent 88%);
}
.service-hero-grid {
  position:relative;z-index:2;
  display:grid;grid-template-columns:1.02fr .98fr;gap:66px;align-items:center;
}
.service-hero-copy h1 {
  margin:20px 0 23px;
  font-size:clamp(48px,6vw,82px);
  line-height:.95;letter-spacing:-.063em;
}
.service-hero-copy h1 em {font-style:normal;color:var(--brand-dark)}
.service-hero-copy .hero-lead {font-size:18px}
.local-pill {
  display:inline-flex;align-items:center;gap:8px;margin-top:24px;padding:8px 11px;
  border:1px solid var(--line);border-radius:999px;background:#fff;
  color:#687584;font-size:11px;font-weight:800;
}
.local-pill::before {
  content:"";width:7px;height:7px;border-radius:50%;background:var(--brand);
  box-shadow:0 0 0 5px rgba(22,184,173,.08);
}
.service-intro-grid {
  display:grid;grid-template-columns:.78fr 1.22fr;gap:70px;align-items:start;
}
.service-intro-copy {position:sticky;top:118px}
.service-intro-copy h2 {
  margin:14px 0 18px;font-size:clamp(38px,4.5vw,60px);
  line-height:1;letter-spacing:-.055em;
}
.service-intro-copy p {color:var(--muted);line-height:1.75;font-size:16px}
.insight-list {border-top:1px solid var(--line)}
.insight-row {
  display:grid;grid-template-columns:70px 1fr;gap:18px;
  padding:26px 0;border-bottom:1px solid var(--line);
}
.insight-row>span {
  color:var(--brand-dark);font-size:11px;font-weight:900;letter-spacing:.12em;text-transform:uppercase
}
.insight-row h3 {margin:0 0 7px;font-size:20px;letter-spacing:-.025em}
.insight-row p {margin:0;color:var(--muted);line-height:1.68;font-size:14px}
.service-dark {
  color:#fff;padding:108px 0;position:relative;overflow:hidden;
  background:linear-gradient(135deg,#0b8e87,#0d596e 70%,#112f50);
}
.service-dark::after {
  content:"";position:absolute;width:600px;height:600px;border:1px solid rgba(255,255,255,.08);
  border-radius:50%;right:-270px;top:-300px;
  box-shadow:0 0 0 95px rgba(255,255,255,.025),0 0 0 190px rgba(255,255,255,.016);
}
.dark-head {
  position:relative;z-index:2;
  display:grid;grid-template-columns:1fr .9fr;gap:70px;align-items:end;margin-bottom:48px;
}
.dark-head h2 {
  margin:14px 0 0;font-size:clamp(40px,4.8vw,65px);
  line-height:1;letter-spacing:-.058em;
}
.dark-head p {color:rgba(255,255,255,.73);line-height:1.72;font-size:16px;margin:0}
.capability-cards {
  display:grid;grid-template-columns:repeat(3,1fr);gap:14px;
}
.capability-card {
  padding:27px;border:1px solid var(--line);border-radius:18px;background:#fff;min-height:280px;
}
.capability-card .cap-index {
  color:var(--brand-dark);font-size:10px;font-weight:900;letter-spacing:.12em;text-transform:uppercase
}
.capability-card h3 {margin:48px 0 9px;font-size:20px;letter-spacing:-.028em}
.capability-card p {margin:0;color:var(--muted);font-size:14px;line-height:1.65}
.decision-strip {
  display:grid;grid-template-columns:repeat(4,1fr);
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);
}
.decision-strip article {padding:25px 22px;border-right:1px solid var(--line)}
.decision-strip article:first-child {border-left:1px solid var(--line)}
.decision-strip span {display:block;color:var(--brand-dark);font-size:10px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.decision-strip strong {display:block;margin:7px 0 5px;font-size:14px}
.decision-strip small {display:block;color:var(--muted);line-height:1.5;font-size:11px}
.local-section {
  display:grid;grid-template-columns:.9fr 1.1fr;gap:48px;align-items:center;
}
.local-copy h2 {
  margin:14px 0 18px;font-size:clamp(39px,4.5vw,61px);line-height:1;letter-spacing:-.055em;
}
.local-copy p {color:var(--muted);line-height:1.75}
.local-panel {
  padding:30px;border-radius:24px;background:#0d1727;color:#fff;position:relative;overflow:hidden
}
.local-panel::after {
  content:"LHR";position:absolute;right:-8px;bottom:-48px;color:rgba(22,184,173,.05);
  font-size:10rem;font-weight:900;letter-spacing:-.09em
}
.local-line {
  position:relative;z-index:2;display:flex;justify-content:space-between;gap:20px;
  padding:16px 0;border-bottom:1px solid rgba(255,255,255,.08)
}
.local-line:last-child {border-bottom:0}
.local-line b {font-size:13px}
.local-line span {color:#7f97a5;font-size:11px;text-align:right}
.page-faq {
  display:grid;grid-template-columns:.72fr 1.28fr;gap:66px;align-items:start
}
.page-faq-copy {position:sticky;top:118px}
.page-faq-copy h2 {
  margin:14px 0 18px;font-size:clamp(38px,4.5vw,59px);line-height:1;letter-spacing:-.055em
}
.page-faq-copy p {color:var(--muted);line-height:1.75}
.faq-list details {border-top:1px solid var(--line)}
.faq-list details:last-child {border-bottom:1px solid var(--line)}
.faq-list summary {
  list-style:none;cursor:pointer;position:relative;padding:22px 50px 22px 0;
  font-weight:800;font-size:15px
}
.faq-list summary::-webkit-details-marker {display:none}
.faq-list summary::after {
  content:"+";position:absolute;right:5px;top:15px;color:var(--brand-dark);font-size:23px;font-weight:400
}
.faq-list details[open] summary::after {content:"–"}
.faq-list details p {margin:0;padding:0 50px 23px 0;color:var(--muted);line-height:1.7;font-size:14px}
.page-final-cta {
  padding:88px 0;color:#fff;position:relative;overflow:hidden;
  background:linear-gradient(135deg,#0b8d87,#0d4f66 70%,#102c49)
}
.page-final-cta::after {
  content:"";position:absolute;width:440px;height:440px;border:1px solid rgba(255,255,255,.12);
  border-radius:50%;right:-100px;top:-220px;box-shadow:0 0 0 80px rgba(255,255,255,.02)
}
.page-final-grid {
  display:grid;grid-template-columns:1.12fr .88fr;gap:55px;align-items:center;position:relative;z-index:2
}
.page-final-grid h2 {
  margin:14px 0 17px;font-size:clamp(42px,5vw,67px);line-height:.98;letter-spacing:-.06em
}
.page-final-grid p {color:rgba(255,255,255,.76);line-height:1.7}
.page-final-card {
  padding:25px;border:1px solid rgba(255,255,255,.14);border-radius:18px;background:rgba(255,255,255,.055)
}
.page-final-card span {
  display:block;color:#86e8e1;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.12em
}
.page-final-card strong {display:block;margin:8px 0 16px;font-size:17px}
.page-final-card ul {list-style:none;padding:0;margin:0}
.page-final-card li {padding:9px 0;border-top:1px solid rgba(255,255,255,.09);font-size:12px;color:#d9e5e9}
.cross-links {
  display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:34px
}
.cross-link {
  padding:20px;border:1px solid var(--line);border-radius:15px;background:#fff
}
.cross-link span {display:block;color:var(--brand-dark);font-size:9px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.cross-link strong {display:block;margin:7px 0 4px;font-size:14px}
.cross-link small {display:block;color:var(--muted);font-size:11px;line-height:1.5}
.cross-link:hover {border-color:#b8ddd8;box-shadow:0 14px 35px rgba(15,31,55,.07)}
@media (max-width:1040px) {
  .service-hero-grid,.service-intro-grid,.dark-head,.local-section,.page-faq,.page-final-grid {grid-template-columns:1fr}
  .service-intro-copy,.page-faq-copy {position:static}
  .capability-cards {grid-template-columns:1fr 1fr}
  .decision-strip {grid-template-columns:1fr 1fr}
  .cross-links {grid-template-columns:1fr}
}
@media (max-width:680px) {
  .service-hero {min-height:auto;padding-top:125px}
  .service-hero-copy h1 {font-size:clamp(45px,14vw,65px)}
  .capability-cards,.decision-strip {grid-template-columns:1fr}
  .decision-strip article {border-left:1px solid var(--line);border-top:1px solid var(--line)}
  .insight-row {grid-template-columns:48px 1fr}
  .local-line {display:block}.local-line span {display:block;text-align:left;margin-top:4px}
}



/* PASS 05 shared engineering-service refinements */
.engineering-map-note{
  display:inline-flex;align-items:center;gap:8px;margin-top:24px;padding:8px 11px;
  border:1px solid var(--line);border-radius:999px;background:#fff;color:#687584;
  font-size:11px;font-weight:800
}
.engineering-map-note::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--brand);box-shadow:0 0 0 5px rgba(22,184,173,.08)}
