/* Homepage positioning, scoped to preserve existing service pages. */
body:has(.control-intro) { --cyan-500: #17654e; --cyan-400: #76dab6; }
body:has(.control-intro) * { letter-spacing: 0; }
body:has(.control-intro) .hero { background: #172720 url('/assets/business/operational-outcome.webp') center/cover no-repeat; min-height: 560px; padding: 110px 0 65px; position: relative; isolation: isolate; }
body:has(.control-intro) .hero::before { content: ''; position: absolute; inset: 0; background: rgba(8,20,16,.76); z-index: -1; }
body:has(.control-intro) .hero::after { display: none; }
body:has(.control-intro) .hero-inner { position: relative; z-index: 1; }
body:has(.control-intro) .hero h1 { color: #fff; font-size: 76px; line-height: 1.08; }
body:has(.control-intro) .hero-sub { color: #e0e9e4; max-width: 800px; font-size: 21px; }
body:has(.control-intro) .hero-tag { color: #d2f6e6; background: #183c2e; border-color: #5c8c76; }
body:has(.control-intro) .hero .btn-outline { color: #fff; border-color: #b5c8bf; background: transparent; }
body:has(.control-intro) .hero-flow { display: none; }
.precision-services { padding: 70px 0 78px; background: #fff; border-bottom: 1px solid #c8d4cd; }
.precision-services-heading { display: flex; justify-content: space-between; align-items: end; gap: 24px; margin-bottom: 34px; }
.precision-services-heading .section-tag { margin-bottom: 11px; }
.precision-services-heading h2 { margin: 0; font-size: 38px; line-height: 1.18; color: #173c30; }
.precision-services-heading > a { flex: none; color: #17654e; font-size: 15px; font-weight: 700; text-decoration: underline; text-underline-offset: 4px; }
.precision-services-heading > a span { margin-left: 5px; }
.precision-services-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); border-top: 1px solid #b8c9bf; }
.precision-services-grid article { min-width: 0; border-bottom: 1px solid #b8c9bf; }
.precision-services-grid article:nth-child(odd) { border-right: 1px solid #b8c9bf; }
.precision-services-grid article a { display: block; position: relative; min-height: 206px; padding: 28px 62px 30px 0; color: #173c30; text-decoration: none; }
.precision-services-grid article:nth-child(even) a { padding-left: 32px; }
.precision-service-number { display: block; margin-bottom: 15px; color: #ad461f; font: 700 12px/1.4 monospace; }
.precision-services-grid h3 { margin: 0 0 9px; font-size: 26px; line-height: 1.25; color: #173c30; }
.precision-services-grid p { max-width: 420px; color: #526158; font-size: 15px; line-height: 1.65; }
.precision-service-arrow { position: absolute; top: 26px; right: 28px; color: #17654e; font-size: 22px; line-height: 1; }
.precision-services-grid article a:hover h3,.precision-services-grid article a:focus-visible h3 { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 5px; }
.precision-services-grid article a:hover .precision-service-arrow { transform: translate(2px,-2px); }
.control-intro, .control-capabilities { padding: 80px 0; }
.control-intro { background: #f4f7f5; color: #1b2923; }
.control-label { font: 600 12px/1.5 monospace; color: #276650; margin-bottom: 24px; }
.control-heading { display: grid; grid-template-columns: 1.1fr 1fr; gap: 48px; align-items: end; margin-bottom: 48px; }
.control-heading h2 { font-size: 44px; line-height: 1.13; margin: 0; }
.control-heading p { font-size: 17px; line-height: 1.75; color: #526158; }
.control-sectors { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border-top: 1px solid #aebfb4; }
.control-sectors article { padding: 30px 28px 20px 0; }
.control-sectors article + article { border-left: 1px solid #c8d4cd; padding-left: 28px; }
.control-sectors span { font: 600 12px/1.5 monospace; color: #276650; }
.control-sectors h3 { font-size: 24px; margin: 20px 0 14px; }
.control-sectors p, .control-services p { font-size: 16px; line-height: 1.75; }
.control-sectors a { display: inline-block; margin-top: 24px; font-weight: 600; color: #17654e; }
.control-footnote { margin-top: 28px; font-size: 13px; color: #5b6b61; }
.control-capabilities { background: #fff; }
.control-services { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 48px; }
.control-services article { border-top: 1px solid #c8d4cd; padding: 28px 0; }
.control-services span { color: #a55540; font-family: monospace; }
.control-services h3 { font-size: 24px; margin: 10px 0; }
.control-services p { color: #526158; }
.control-detail { border-block: 1px solid #c8d4cd; padding: 22px 0; margin: 16px 0 32px; }
.control-detail summary { cursor: pointer; font-weight: 600; }
.control-detail p { max-width: 900px; margin-top: 18px; line-height: 1.75; }
@media(max-width: 760px) {
  .precision-services { padding: 48px 0 54px; }
  .precision-services-heading { align-items: start; margin-bottom: 24px; }
  .precision-services-heading h2 { font-size: 30px; }
  .precision-services-heading > a { margin-top: 25px; font-size: 13px; }
  .precision-services-grid { grid-template-columns: 1fr; }
  .precision-services-grid article:nth-child(odd) { border-right: 0; }
  .precision-services-grid article a,.precision-services-grid article:nth-child(even) a { min-height: 0; padding: 24px 42px 25px 0; }
  .precision-services-grid h3 { font-size: 23px; }
  .precision-service-arrow { top: 24px; right: 4px; }
  body:has(.control-intro) .hero { min-height: 510px; padding: 70px 0 45px; }
  body:has(.control-intro) .hero h1 { font-size: 48px; }
  body:has(.control-intro) .hero-sub { font-size: 18px; }
  .control-intro, .control-capabilities { padding: 48px 0; }
  .control-heading, .control-services, .control-sectors { grid-template-columns: 1fr; gap: 22px; }
  .control-heading h2 { font-size: 34px; }
  .control-sectors article + article { border-left: 0; border-top: 1px solid #c8d4cd; padding-left: 0; }
  .control-sectors article { padding: 24px 0; }
}
