/* Shared blue identity across every public page. Homepage and Audit retain their layout. */
.language-switch { display: flex; align-items: center; gap: 2px; flex: 0 0 auto; }
.language-switch a { display: inline-flex; align-items: center; justify-content: center; min-width: 40px; min-height: 44px; padding: 6px; color: #afc1d4; border: 1px solid transparent; border-radius: 6px; font: 700 12px/1 var(--sans); }
.language-switch a[aria-current="true"] { color: #d9fbff; border-color: #258aad; background: #082436; }
.language-switch a:hover { color: #fff; background: #10354a; }
.language-switch a:focus-visible { outline: 3px solid #25e7ff; outline-offset: 3px; }
.theme-blue { --gold: #25d7f1; --gold-bright: #a5f5ff; --gold-soft: #72d4ef; --line: rgba(37,231,255,.18); --serif: var(--sans); background-color: #010307; }
.theme-blue .page-hero { background: radial-gradient(ellipse at 50% 30%,rgba(8,124,255,.15),transparent 60%),linear-gradient(180deg,#030812,#010307); }
.theme-blue :is(.card,.resource-pane,.contact-form,.contact-note,.about-mission-frame,.about-value,.about-pillar,.about-canada-band,.about-join-band,.cta-band) { border-color: rgba(37,231,255,.22); background: linear-gradient(145deg,#07111d,#030812); box-shadow: 0 15px 42px rgba(0,0,0,.15); }
.theme-blue :is(.card,.resource-pane,.about-pillar):hover { border-color: rgba(37,231,255,.48); }
.theme-blue .button { border-color: rgba(37,231,255,.38); color: #d9fbff; background: rgba(8,124,255,.06); }
.theme-blue .button-primary { color: #00111d; border-color: #31ceee; background: linear-gradient(110deg,#28e7ff,#77c9ff); box-shadow: 0 8px 25px rgba(8,124,255,.14); }
.theme-blue .button:hover { border-color: #25e7ff; box-shadow: 0 0 24px rgba(8,124,255,.18); }
.theme-blue :is(.card-icon,.status-pill) { border-color: rgba(37,231,255,.26); background: rgba(8,124,255,.07); }
.theme-blue .card-icon { color: #67dcff; }
.theme-blue :is(.product-card-red,.about-pillar-red) { border-color: rgba(255,70,90,.32); }
.theme-blue :is(.product-card-red,.about-pillar-red) .card-icon { color: #ff8790; border-color: rgba(255,70,90,.32); }
.theme-blue .brand img, .theme-blue .about-command-center img, .theme-blue .about-workstation-mark img { object-fit: contain; height: auto; filter: none; }
.theme-blue :is(.about-value-notes strong,.brand-name,.about-command-center strong) { color: #c2f6ff; }
.theme-blue .about-command-center > span { color: #72d4ef; }
.theme-blue :is(.page-hero,.about-showcase,.hero-principles) { border-color: rgba(37,231,255,.18); }
.theme-blue :is(.about-command-visual,.about-principles,.about-mission-visual) { border-color: rgba(37,231,255,.18); }
.theme-blue .about-mission-visual::after { border-color: rgba(37,231,255,.25); background: linear-gradient(90deg,transparent,rgba(8,124,255,.1)); }
.theme-blue .about-section-heading::before,.theme-blue .about-section-heading::after { background: linear-gradient(90deg,transparent,rgba(37,231,255,.35)); }
.theme-blue .section-titlebar::before,.theme-blue .section-titlebar::after { background: linear-gradient(90deg,transparent,rgba(37,231,255,.35)); }
.theme-blue .publication-art { background: radial-gradient(ellipse at 60% 35%,rgba(8,124,255,.25),transparent 65%),repeating-linear-gradient(120deg,transparent 0 38px,rgba(37,231,255,.06) 39px 40px),#030812; }
.theme-blue :is(input,select,textarea):focus { border-color: #25e7ff; box-shadow: 0 0 0 3px rgba(37,231,255,.12); }
.theme-blue .contact-email-link, .theme-blue .footer-links a { overflow-wrap: anywhere; }
.theme-blue .about-pillar h3,.theme-blue .about-value h3 { font-size: 21px; line-height: 1.2; }
.theme-blue .about-pillar p,.theme-blue .about-value p,.theme-blue .about-canada-copy p { font-size: 14px; }
.theme-blue .about-principles strong { font-size: 12px; }
.theme-blue :is(.architecture-core,.cycle-core) img { height: auto; object-fit: contain; filter: none; }
.theme-blue :is(.overview-cell,.benefit,.architecture-node,.cycle-node,.integration-item) { background: var(--hx-panel); }
.theme-blue :is(.architecture-core,.cycle-core)::before,.theme-blue :is(.architecture-core,.cycle-core)::after { border-color: var(--hx-line); }
.theme-blue .benefit strong { color: var(--hx-ice); }
.theme-blue .process-list::before { background: var(--hx-line); }
.theme-blue .process-item::before { background: var(--hx-cyan); box-shadow: 0 0 0 1px var(--hx-line); }
.theme-blue .architecture-node p,.theme-blue .cycle-node span,.theme-blue .process-item p { font-size: 14px; }
@media (min-width:1081px) and (max-width:1280px) { .nav-list,.hx-header .nav-list { gap: 9px; } .nav-link,.hx-header .nav-link { font-size: 11px; letter-spacing: 0; } .nav-shell { gap: 12px; } .brand,.hx-brand { min-width: 174px; } }
@media (max-width:1080px) { .language-switch { margin-top: 16px; gap: 8px; } .language-switch a { min-width: 52px; } .site-nav { max-height: calc(100dvh - var(--header-h)); overflow-y: auto; } }
@media (max-width:600px) { .theme-blue .page-hero h1,.theme-blue .about-showcase h1 { font-size: clamp(2.35rem,10vw,3.2rem); overflow-wrap: break-word; } .theme-blue .page-hero .button { margin-top: 12px; width: 100%; white-space: normal; } .theme-blue .about-pillar h3 { font-size: 19px; } }
@media (prefers-reduced-motion:reduce) { .language-switch a,.theme-blue .card,.theme-blue .button { transition: none; } }

/* Owner-provided ecosystem illustration, blended without altering its artwork. */
/* Reuse the homepage aura, once only; text and logos keep their static layout. */
.hx-page-aura { pointer-events: none; z-index: 1; animation: none; }
@media (prefers-reduced-motion:no-preference) {
  .hx-page-aura { animation: hx-aura 4s ease-in-out 1; }
  .about-showcase-copy > * { animation: fade-up .7s both; }
  .about-showcase-copy > :nth-child(2) { animation-delay: .08s; }
  .about-showcase-copy > :nth-child(3) { animation-delay: .16s; }
  .about-showcase-copy > :nth-child(4) { animation-delay: .24s; }
}
/* The separate raster tagline is outside this EN crop; no logo pixels are edited.
   French retains the complete original. The English signature is real HTML. */
.hx-matrix-logo { margin: 0; }
.hx-matrix-wordmark { display: block; }
.hx-matrix-signature { display: none; }
/* Keep the crop fixed when the browser scrolls an image into view. */
html:lang(en) .hx-matrix-wordmark { position: relative; aspect-ratio: 1122 / 1260; overflow: hidden; overflow: clip; }
html:lang(en) .hx-matrix-wordmark img { position: absolute; inset: 0 auto auto 0; width: 100%; height: auto; }
html:lang(en) .hx-matrix-signature { display: block; margin: 12px auto 0; max-width: 34ch; color: #d4e9dc; text-align: center; font: 500 12px/1.6 var(--sans); letter-spacing: .06em; }
@media (prefers-reduced-motion:reduce) {
  /* Match the original selectors' specificity, including scroll-state changes. */
  .home-redesign .hx-story-steps li,
  .home-redesign .story-fallback .story-stage,
  .home-redesign .site-nav,
  .home-redesign .nav-link::after { transition: none; }
  .home-redesign .hx-story-steps li { opacity: 1; transform: none; }
}

.hx-ecosystem-art { padding: 0 0 clamp(40px,5vw,72px); background: #010306; }
.hx-ecosystem-art figure { width: min(100%,1600px); margin: 0 auto; }
.hx-ecosystem-art picture { display: block; mask-image: linear-gradient(180deg,transparent,#000 12%,#000 83%,transparent); }
.hx-ecosystem-art img { display: block; width: 100%; height: auto; object-fit: contain; mask-image: linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent); }
.hx-ecosystem-art figcaption { max-width: 780px; margin: 14px auto 0; padding-inline: 24px; text-align: center; }
.hx-ecosystem-art strong { color: #a5dcec; font: 650 12px/1.4 var(--sans); letter-spacing: .12em; }
.hx-ecosystem-art p { margin-top: 10px; color: #99abbc; font-size: 13px; line-height: 1.65; }
@media (max-width:600px) { .hx-ecosystem-art picture { mask-image: linear-gradient(180deg,transparent,#000 5%,#000 94%,transparent); } .hx-ecosystem-art img { mask-image: none; } .hx-ecosystem-art p { font-size: 12px; } }

/* Allow the mobile hero grid to shrink below its image's intrinsic width. */
@media (max-width: 1080px) { .hx-hero-layout { grid-template-columns: minmax(0,1fr); } }

/* Do not let a minimum body width overflow a narrow viewport with a scrollbar. */
body.home-redesign, body.theme-blue { min-width: 0; }
