/* Final visual system: a restrained blue-led identity with green used only as an accent. */
:root { --navy: #073b67; --blue: #12689a; --mid-blue: #4f84a3; --blue-grey: #d9e4ea; --ice: #eef4f7; --line: #c6d6df; --green: #19a65b; --ink: #0b365d; --muted: #5c7282; }
body { background: #fff; color: var(--ink); }
.site-header { background: #fbfdfeee; border-bottom-color: #d6e1e7; }
.site-header nav a:hover { color: var(--blue); }
.lang { border-color: #94adbc; color: var(--ink); }

/* Opening: the only dark, high-contrast surface. */
.hero { min-height: 640px; background: linear-gradient(120deg, #06375f 0%, #0d5c8a 58%, #19859c 100%); }
.hero::before { background: linear-gradient(90deg, #052e54e8 0%, #084b78c8 49%, #197e9961 100%); }
.hero-art { background: linear-gradient(135deg, #0a5b89, #2593a6); opacity: .88; }
.hero .eyebrow,.hero .primary:hover { color: #a8ebc9; }
.hero .primary { background: var(--green); }
.hero .lead { color: #dcebf3; }
.trust { padding-top: 24px; padding-bottom: 24px; background: #e3ebef; }
.trust p { color: var(--blue); }

/* Profile: white editorial space, rather than a second coloured panel. */
#about.intro { gap: clamp(46px, 8vw, 128px); padding-top: 122px; padding-bottom: 122px; background: linear-gradient(120deg, #fff 0%, #fff 61%, #edf3f6 100%); }
#about.intro::after { color: #0e5f8f0c; }
#about.intro > div:first-child { border-left-color: var(--blue); }
#about.intro > div:first-child::before { color: #34708c; }
#about .intro-text { border: 1px solid #c5d5de; border-left: 3px solid var(--blue); background: #fff; box-shadow: 14px 14px 0 #dbe7ed, 0 18px 42px #0c456014; }
#about .intro-text::before { color: #0c5e8b20; }
#about .intro-text p:first-child { color: #173f5d; border-bottom-color: #d7e2e8; }
#about .intro-facts { border-top-color: #d7e2e8; }
#about .intro-facts div + div { border-left-color: #d7e2e8; }
#about .intro-facts b { color: var(--blue); }

/* Application markets: pale blue-grey frames let photography carry the contrast. */
.solutions { background: #e5edf2; }
.solutions .section-heading { max-width: 760px; }
.solution-grid { gap: 12px; background: transparent; border: 0; }
.solution-grid article,.solution-grid article:nth-child(2),.solution-grid article:nth-child(3) { border: 1px solid #b8cbd6; border-radius: 3px; box-shadow: 0 12px 25px #174d6815; }

/* Product content returns to white for clarity. */
.products { background: #fff; }
.product-listing { background: #f4f8fa; }
.catalog-detail { background: #e8f0f4; }
.catalog-brand-tabs { border-bottom-color: #b8cad5; }
.catalog-brand-tabs button.active { color: var(--blue); border-bottom-color: var(--green); }
.product-grid.product-marquee { background: #f4f8fa; border-color: #c7d6de; }

/* Culture has a quiet blue-grey wash, with the circular mark as its depth point. */
.culture-section { background: linear-gradient(135deg, #f4f8fa 0%, #dbe6ec 100%); }
.culture-section::before { color: #0a4c7409; }
.culture-grid .culture-lead { background: radial-gradient(circle at 30% 24%, #72d1a5 0 2px, transparent 3px), radial-gradient(circle at 72% 20%, #94d4ec 0 2px, transparent 3px), linear-gradient(145deg, #0b4f80 0%, #247da5 66%, #4598aa 100%); box-shadow: inset 0 0 0 18px #ffffff1c, 0 20px 42px #155b7d2a; }
.culture-grid div:nth-child(3) { border-left-color: var(--green); }

/* Business: a more substantial blue-grey surface with medium-blue service cards. */
.business-section { background-color: #cad9e2; background-image: linear-gradient(90deg, #e8f0f4 0%, #dce9f0e9 48%, #b4ccdaab 100%), url("assets/core-business-circuit.png"); }
.business-grid { margin-top: 96px; background: #8fadc0; border-color: #8fadc0; }
.business-grid article:nth-child(1) { background-image: linear-gradient(145deg, #125f93 0%, #397fa9 100%); }
.business-grid article:nth-child(2) { background-image: linear-gradient(145deg, #1b709e 0%, #4d91b5 100%); }
.business-grid article:nth-child(3) { background-image: linear-gradient(145deg, #2a769b 0%, #579bae 100%); }
.business-grid article:nth-child(4) { background-image: linear-gradient(145deg, #287d70 0%, #58a28e 100%); }
.business-grid article span { color: #cef0dc; }

/* Strengths: white, linear and calm. */
.strength-section { background: #fff; }
.strength-list { border-top-color: #7d9aae; }
.strength-list article { border-bottom-color: #d4e0e6; }

/* Timeline is a clean mid-blue chapter; no patterned background. */
.timeline-section { color: #fff; background: #4b7d9c; background-image: none; }
.timeline-section::before,.timeline-section::after { content: none; }
.timeline-section > .section-heading h2 { color: #fff; }
.timeline-section > .section-heading .eyebrow { color: #b7edcf; }
.timeline-section .timeline { border-top-color: #c9e1eb; }
.timeline-section .timeline article { background: #fbfdfe; border-color: #d0dfe6; box-shadow: 0 14px 28px #1b4b672b; }
.timeline-section .timeline article .timeline-paper { background: transparent; }
.timeline-section .timeline article h3 { color: #153f5d; }
.timeline-section .timeline article p { color: #587284; }

/* Contact closes on an airy neutral blue-grey rather than another pale green panel. */
.contact { background: linear-gradient(90deg, #fff 0 58%, #dce7ed 58%); }
.contact::before { color: #8eb7cc2e; }
footer { background: #f6f9fb; border-top-color: #d6e1e7; }

@media (max-width: 800px) {
  .hero { min-height: 600px; }
  #about.intro { padding-top: 82px; padding-bottom: 82px; }
  #about .intro-text { box-shadow: 10px 10px 0 #dbe7ed, 0 14px 28px #0c456010; }
  .business-grid { margin-top: 44px; }
  .business-section { background-image: linear-gradient(180deg, #e8f0f4 0%, #dce9f0e9 58%, #b4ccdab0 100%), url("assets/core-business-circuit.png"); }
  .contact { background: linear-gradient(180deg, #fff 0 56%, #dce7ed 56%); }
}
