@charset "UTF-8";

:root {
  --ink: #18233f;
  --muted: #526179;
  --line: #dbe3f1;
  --soft: #f5f7fd;
  --blue: #2859d2;
  --brand-cyan: #10d5df;
  --brand-violet: #7b46ff;
  --brand-heading: linear-gradient(105deg, #006b8b 0%, #2856ce 46%, #7134bc 100%);
  --brand-action: linear-gradient(110deg, #006e93 0%, #285bd4 48%, #7539c6 100%);
  --brand-surface: linear-gradient(115deg, #eefbfe 0%, #f3f7ff 48%, #f4effe 100%);
  /* Compatibility tokens for the shared layout and demonstration controls. */
  --green: #2856c4;
  --green-dark: #353a92;
  --lime: #e1f4ff;
  --teal: #087699;
  --shadow: 0 14px 38px #3745a00b;
}

body {background: linear-gradient(120deg, #fff 0%, #fcfdff 55%, #fdfbff 100%)}
.site-header {background: linear-gradient(110deg, #f7fdff 0%, #fff 50%, #f8f4ff 100%); border-bottom-color: #dbe3f1}
.value-strip {background: linear-gradient(105deg, #eafaff 0%, #f1f5ff 55%, #f3edff 100%)}
.soft, .page-intro {background: var(--brand-surface)}
.page-intro {border-bottom-color: #dbe3f1}
.eyebrow, .micro-label, .text-link, .solution-number, .prototype-index {color: #3255ae}
.text-link:hover {color: #6438aa}
.section-top .text-link {color: #3255ae}

body:not(.demo-page) :is(h1, h2, h3), .corporate-hero .hero-lead {color: #2856c4}
@supports ((background-clip: text) or (-webkit-background-clip: text)) {
  body:not(.demo-page) :is(h1, h2, h3), .corporate-hero .hero-lead {
    background-image: var(--brand-heading);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-repeat: no-repeat;
  }
}

.corporate-hero {color: var(--ink)}
.corporate-hero h1 {width: fit-content; max-width: 100%; line-height: 1.18}
.page-intro h1, .section-heading h2, .cta-band h2 {width: fit-content; max-width: 100%}
.corporate-hero:after {
  background: linear-gradient(105deg, #f0fbfffa 0%, #f5f8fff2 32%, #f3eeffba 51%, #ffffff18 77%);
}
.corporate-hero .eyebrow {color: #3154ac}
.corporate-hero .hero-description {color: #344967}
.corporate-hero .hero-caption {color: #334968; background: #f9fbfff0; border-color: #d7e2f2}

.button, .corporate-hero .button:not(.button-secondary), .cta-band .button,
.site-header nav .nav-contact, .privacy-notice button {
  background: var(--brand-action);
  color: #fff;
  border-color: #3f62cb;
  box-shadow: 0 6px 18px #4059b51a;
}
.button:hover, .corporate-hero .button:not(.button-secondary):hover,
.cta-band .button:hover, .site-header nav .nav-contact:hover, .privacy-notice button:hover {
  background: linear-gradient(110deg, #005c82, #284abb 48%, #6430ae);
  color: #fff;
  border-color: #3454b4;
}
.button-secondary, .corporate-hero .button-secondary {
  background: linear-gradient(110deg, #f6fdff, #f8f5ff);
  border-color: #adbde0;
  color: #254ba9;
  box-shadow: none;
}
.button-secondary:hover, .corporate-hero .button-secondary:hover {
  background: linear-gradient(110deg, #e8f7ff, #eee6ff);
  border-color: #7795cd;
  color: #513397;
}
.site-header nav>a:hover, .site-header nav>a[aria-current],
.sector-menu[open] summary, .sector-menu summary:hover, .sector-menu summary.current {
  background: linear-gradient(110deg, #e5f8fd, #ede8fc);
  color: #294fae;
}
.site-header nav .nav-contact[aria-current] {background: var(--brand-action); color: #fff}
.sector-dropdown {background: linear-gradient(125deg, #fff, #f7f6ff); border-color: #dce1f3; box-shadow: 0 18px 50px #34377620}
.sector-menu-grid>a:hover, .sector-menu-grid>a:focus-visible {background: linear-gradient(110deg, #e5f8fd, #ede8fc); color: #294fae}
.sector-menu-grid>a>svg:last-child, .sector-card-top>svg:last-child {color: #6279a1}
.sector-card {
  background: linear-gradient(135deg, #fff 15%, #fbfdff 58%, #f8f5ff 100%);
  border-color: #dbe4f2;
}
.sector-card:hover, .feature-card:hover {border-color: #859ce0; box-shadow: 0 6px 24px #596db515}
.sector-domain {color: #4f6092; border-top-color: #e1e6f4}
.sector-card-top {color: #08749a}
.sector-card:nth-child(3n+2) .sector-card-top {color: #285bce}
.sector-card:nth-child(3n) .sector-card-top {color: #7342be}
.feature-card {background: linear-gradient(135deg, #fff 20%, #f9fcff 65%, #faf7ff 100%)}
.feature-card .icon-tile, .feature-card:nth-child(2n) .icon-tile,
.feature-card:nth-child(3n) .icon-tile, .feature-card:nth-child(4n) .icon-tile {
  color: #285bc4;
  background: linear-gradient(130deg, #dff9fd, #e4eeff 52%, #eee3ff);
}
.feature-card:nth-child(3n) .icon-tile {color: #7040b5}
.status-badge, .development-note {background: linear-gradient(105deg, #e5f7fe, #eee8fc); color: #3156aa}
.contact-form {background: linear-gradient(145deg, #fff 25%, #fbfcff 70%, #f8f5ff 100%); border-color: #d6e1f2}
input:not([type=checkbox]):not([type=range]), textarea, select {border-color: #b9c8e2; color: var(--ink)}
.contact-form .checkbox-label input {accent-color: #355dcc}
.contact-form .form-status[data-state] {background: #eef2ff}
.contact-form .form-status[data-state=error] {background: #fff4f1}
.contact-form .form-status[data-state=success] {color: #2856ac}
.privacy-notice {background: linear-gradient(110deg, #fff, #f5f4ff); border-color: #d7e1f2; box-shadow: 0 10px 50px #374e8a1c}

.cta-band {background: linear-gradient(112deg, #daf5fc 0%, #e4ecff 48%, #eadcfc 100%); color: var(--ink); border-top: 1px solid #d6e4f5}
.cta-band .eyebrow {color: #3253aa}
.cta-band p:not(.eyebrow) {color: #485c7a}
.site-footer {background: linear-gradient(115deg, #edfaff 0%, #f5f7ff 46%, #f0e9fc 100%); color: #243557; border-top: 1px solid #dce5f5}
.footer-brand p {color: #4c6080}
.footer-links>span {color: #3b5da8}
.footer-links a:hover {color: #6b38b3}
.footer-bottom {color: #526386; border-top-color: #d2def0}

/* Green is reserved for the sustainability content, not the corporate brand. */
.impact-band {
  --green: #16734d;
  --brand-heading: linear-gradient(105deg, #00664c 0%, #267835 55%, #376d2a 100%);
  background: linear-gradient(115deg, #e3f8ed 0%, #edf6e3 52%, #e5f5ec 100%);
  border-color: #c7e0cc;
}
.impact-band :is(h1, h2, h3) {color: #176544}
.impact-band .eyebrow, .impact-band .text-link {color: #206e46}
.impact-band .text-link:hover {color: #0d5138}
.impact-band p {color: #456455}
.impact-principles>div {border-bottom-color: #bfdbc7; color: #284f3e}
.impact-principles svg, .esg-grid article>div>svg, .esg-note>svg {color: #16734d}
.esg-grid article {border-top-color: #6ca886}
.esg-letter {color: #27764c}
.esg-note {border-top-color: #c1dac8}

/* Keep status/chart colours in the demo; only its surrounding chrome changes. */
.demo-page {background: var(--brand-surface)}
.demo-page :is(h1, h2, h3) {color: #253c74}
.demo-page .studio-tabs button[aria-pressed=true], .demo-page .asset-strip button[aria-pressed=true] {background: #edf0fe; color: #315ac2; border-color: #bcccec}
.demo-page .studio-tabs button:hover {background: #f2f3fc}
.demo-page .studio-mark {background: var(--brand-action); color: #fff}

@media(max-width:1000px) {
  .site-header nav {background: linear-gradient(150deg, #fcfeff, #f5f3fd)}
  .sector-dropdown {background: linear-gradient(120deg, #eaf8fe, #efedfc)}
  .corporate-hero:after {background: linear-gradient(105deg, #f0fbfffa 0%, #f4f6fff2 40%, #f1eaff94 72%, #ffffff30)}
}
@media(max-width:700px) {
  .corporate-hero:after {background: linear-gradient(180deg, #f0fbfff7 0%, #f3f5fff0 46%, #f0eaffab 76%, #ffffff18 100%)}
}
@media(forced-colors:active) {
  body:not(.demo-page) :is(h1, h2, h3), .corporate-hero .hero-lead {
    background: none;
    -webkit-text-fill-color: currentColor;
    color: CanvasText;
  }
}
