/* Shared colour and surface system. Product images retain their original colours. */
:root {
  --ink: #1d2823;
  --muted: #54605a;
  --paper: #f0f1ee;
  --tint: #e4e7e2;
  --line: #c9cfca;
  --brand: #1d3e30;
  --accent: #34523f;
  --green: #34523f;
  --dark: #0b1310;
  --signal: #bec9ad;
  --on-dark: #f1f3ed;
  --on-dark-muted: #bac4b9;
}

body { background: var(--paper); }
h1, h2, h3 { font-weight: 570; }
em { font-family: inherit; font-style: normal; font-weight: inherit; }
::selection { background: #bec9ad; color: #0b1310; }
:focus-visible { outline: 3px solid #6f856d; outline-offset: 5px; }
.btn { font-weight: 600; border-radius: 3px; }
.btn .icon { transition: transform 180ms; }
.btn:hover .icon { transform: translateX(3px); }
.btn-primary:hover { background: #142b20; }
.btn-secondary { border-color: #89968a; }
.btn-secondary:hover { background: #e1e6df; }
.text-link { gap: 12px; }
.eyebrow { font-size: 13px; font-weight: 650; }

/* The navigation and hero form one uninterrupted, high-contrast introduction. */
.site-header { background: #090f0c; color: var(--on-dark); border-bottom-color: #2b382e; }
.site-header .wordmark { color: var(--on-dark); }
.brand-by { color: #bac4b9; border-color: #465348; }
.brand-by strong { font-weight: 600; }
.main-nav > a, .nav-group > summary { font-size: 14px; }
.site-header .nav-cta { background: var(--signal); color: #141e17; border-color: var(--signal); }
.site-header .nav-cta:hover { background: #d2d9c7; border-color: #d2d9c7; }
.main-nav > a:hover, .nav-group > summary:hover,
.main-nav > a[aria-current="page"], .nav-group--current > summary,
.nav-group[open] > summary { color: var(--signal); }
.main-nav > a[aria-current="page"]::after,
.nav-group[open] > summary { border-bottom-color: var(--signal); }
.main-nav > a[aria-current="page"]::after { background: var(--signal); }
.main-nav:has(.nav-group[open]) > a { color: #bac4b9; }
.site-header :focus-visible, .home-intro :focus-visible,
.page-hero :focus-visible, .section-dark :focus-visible,
.site-footer :focus-visible { outline-color: var(--signal); }
.mega-panel { color: var(--ink); background: #f5f6f2; border-color: #b9c3ba; box-shadow: 0 24px 50px -18px #050b0870; }
.mega-preview { background: #e2e7de; border-color: #c3ccc0; }
.mega-heading { font-size: 13px; }
.mega-link small { font-size: 12px; }
.main-nav .mega-link:hover, .main-nav .mega-link:focus-visible { background: #e1e7dc; border-color: #bbc8b4; }
.mega-panel :focus-visible { outline-color: #34523f; }
.mega-art-source, .mega-art-core { fill: #f5f6f2; }
.mega-art-result { fill: #bec9ad; }
.mega-preview p { color: var(--muted); }

.home-intro, .page-hero { background: #111a15; color: var(--on-dark); }
.home-intro { padding: 56px 0 52px; }
.home-intro .eyebrow, .page-hero .eyebrow { color: #bec9ad; }
.home-message h1 { font-size: 54px; line-height: 1.1; font-weight: 560; }
.home-message h1 em, .page-intro h1 em { color: var(--signal); }
.home-message h1 em { white-space: normal; }
.home-message .eyebrow { font-size: 12px; }
.home-message .lede { color: #c5cec2; font-size: 17px; line-height: 1.7; max-width: 46ch; }
.home-message .hero-note { color: #bac4b9; font-size: 13px; }
.home-intro .btn-primary, .page-hero .btn-primary { background: var(--signal); color: #141e17; }
.home-intro .btn-primary:hover, .page-hero .btn-primary:hover { background: #d2d9c7; }
.home-intro .btn-secondary { border-color: #778a7b; color: #f1f3ed; }
.home-intro .btn-secondary:hover { background: #253329; border-color: #bac4b9; }
.home-intro .product-shot figcaption, .page-hero .product-shot figcaption { color: #c5cec2; }
.home-intro .shot-link, .page-hero .shot-link { border-color: #7b8e7f; box-shadow: 0 20px 48px -20px #000a0699; }
.home-intro .platform-tile-target:focus-visible { outline-color: var(--signal); background: #bec9ad12; }
.hero-product .shot-link { animation: interface-enter 350ms ease-out both; }
@keyframes interface-enter {
  from { transform: translateY(8px); }
  to { transform: translateY(0); }
}
.shot-link { border-radius: 5px; border-color: #bbc7bd; box-shadow: 0 12px 35px -22px #101b144f; transition: border-color 180ms, box-shadow 180ms; }
.shot-link:hover { border-color: #49674f; box-shadow: 0 18px 40px -22px #101b1470; }
.shot-expand { color: #1d2823; }
.shot-link:hover .shot-expand { background: #e1e8da; }
.product-shot figcaption { font-size: 12px; }
.page-hero { padding: 26px 0 60px; border-bottom-color: #2d3d31; }
.breadcrumb { color: #bac4b9; margin-bottom: 34px; font-size: 13px; }
.breadcrumb a { color: #dce5d5; }
.breadcrumb a:hover { color: var(--signal); text-decoration: underline; text-underline-offset: 4px; }
.page-hero .lede { color: #c5cec2; }
.page-hero .text-link { color: #dce5d5; }
.page-hero .text-link:hover { color: var(--signal); }
.page-intro h1 { font-weight: 550; }
.page-intro .actions { margin-top: 26px; }
.page-intro .btn { font-size: 14px; }

/* Recognition is factual proof, not another feature band. */
.award-recognition { background: #191e19; border-color: #42483a; }
.award-mark { color: #c3a66f; }
.award-label { color: #d1bc8d; }
.award-date { color: #bbc4b7; }
.award-copy h2 { color: #f0f1e8; }
.award-inner { padding-block: 21px; }
.award-inner > .text-link { color: #d3dfc6; }
.award-context { color: #c3cbbd; }
.proof-strip { background: #dee4dc; border-color: #c3cec0; }
.proof-grid { padding-block: 24px; }
.proof-grid strong { font-size: 15px; }
.proof-grid span { color: #4b5c4d; font-size: 13px; }
.proof-grid > div { border-color: #bfcabd; }

.home-value { padding-bottom: 72px; }
.home-value .section-head { margin-bottom: 42px; }
.outcome-grid { gap: 30px; border: 0; }
.outcome-grid article { border-top: 3px solid #6b8272; padding-top: 22px; }
.outcome-grid article:nth-child(2) { border-color: #86818e; }
.outcome-grid article:nth-child(3) { border-color: #968464; }
.outcome-grid article:nth-child(4) { border-color: #70828a; }
.outcome-marker { display: flex; align-items: center; justify-content: space-between; color: #34523f; margin-bottom: 26px; }
.outcome-marker > .icon { width: 25px; height: 25px; }
.outcome-marker .index { margin: 0; font-size: 12px; }
.outcome-grid h3 { font-size: 21px; }
.outcome-grid p { font-size: 15px; }
.section-foot p { font-size: 13px; }
.analytics-showcase { background: #e1e6e7; border-block: 1px solid #c5cfd1; }
.analytics-showcase .eyebrow { color: #435e67; }
.analytics-showcase .section-head h2 { max-width: 650px; }
.analytics-showcase .wide-shot { max-width: 1040px; }
.analytics-showcase .shot-link { border-color: #acbec3; box-shadow: 0 24px 50px -26px #273e4666; }
.studio-story { background: #e7e6e9; }
.studio-story .eyebrow { color: #5f596a; }
.knowledge-story { background: #e2e7df; }
.check-list li { font-size: 14px; }
.story-copy p { font-size: 16px; }
.story-copy .eyebrow { font-size: 12px; }
.section-dark { background: #0b1310; }
.section-dark p, .section-dark .product-shot figcaption { color: #bac4b9; }
.section-dark .eyebrow, .section-dark em, .section-dark .control-strip svg { color: var(--signal); }
.section-dark .text-link:hover { color: var(--signal); }
.control-strip { border-color: #35473a; }
.control-strip div { font-size: 14px; }
.evaluation-grid { border-color: #35473a; }
.evaluation-grid span { color: #bac4b9; }
.home-use-cases { background: #e7e7e5; }
.home-use-cases .eyebrow { color: #5e5967; }
.tab-list { gap: 14px; }
.tab-list button { padding: 14px 20px; }
.tab-list button[aria-selected="true"] { background: #d7ddd1; color: #2d4030; border-color: #66765e; }
.case-panel { padding-top: 34px; }
.case-evidence .small-label { color: #5e5967; }
.case-evidence { border-color: #c4c8c0; }
.deployment-options > div { border-color: #b4c2b3; }

/* Integrations stay recognisable; colour comes from the providers themselves. */
.integrations-section { background: #f0f1ee; }
.integrations-page { border-top: 0; }
.integrations-page .breadcrumb { color: var(--muted); }
.integrations-page .breadcrumb a { color: var(--brand); }
.integration-selection { border-left: 3px solid #788a68; background: #dde4d6; padding: 24px; }
.integration-selection > strong { color: #3a5132; }
.integration-logo-grid .integration-provider { border-right: 1px solid var(--line); }
.integration-logo-grid .integration-provider:nth-child(5n) { border-right: 0; }
.integration-logo-grid .integration-provider { transition: background 180ms; }
@media (hover: hover) {
  .integration-logo-grid .integration-provider:hover { background: #dfe6da; }
}

/* Inner pages use the same palette, with generous, readable detail surfaces. */
.section-nav { background: #dee4dc; }
.section-nav a { font-size: 13px; }
.product-availability { margin-block: 26px 4px; padding-left: 20px; border-left: 3px solid #7a8e71; }
.capability-group:nth-of-type(3n) { background: #e1e6e7; }
.capability-group:nth-of-type(3n + 2) { background: #e6e5e8; }
.capability-overview { margin-bottom: 0; }
.capability-intro h2 { font-weight: 560; }
.capability-intro p { font-size: 16px; }
.detail-steps { gap: 40px; }
.detail-steps li { border-top: 2px solid #83957a; }
.detail-steps .index { display: inline-block; font-size: 15px; font-weight: 650; color: #4b6546; }
.detail-steps li:nth-child(2) { border-color: #928b9b; }
.detail-steps li:nth-child(3) { border-color: #9e926f; }
.detail-feature-list h3 { font-weight: 600; }
.detail-feature-list article { padding-block: 28px; }
.availability-note { font-size: 13px; }
.detail-capabilities .availability-note { padding: 20px 0 0; border-top: 1px solid #b4c2b3; }
.detail-related { background: #e5e5e7; }
.detail-related .eyebrow { color: #5e5967; }
.detail-related-links a { border-color: #c6c3cb; }
.sector-nav { background: #e1e7dd; padding: 22px; border-left: 3px solid #7c906f; }
.sector-nav a { min-height: 46px; }
.sector-story { border-color: #becabd; }
.sector-detail { gap: 30px; }
.sector-detail > div { border-left: 2px solid #8b9c7e; padding-left: 18px; }
.source-rail { background: #e1e7dd; }
.system-map { background: #f2f4ef; border-color: #b8c6b8; }
.architecture-layer[open] { background: #e3e9df; }
.audit-rail { background: #233a2a; }
.audit-rail span { color: #cfdbc5; }
.pricing-plan { background: #f5f6f2; border-color: #b9c8b8; }
.pricing-plan--featured { border-top-color: #7a8f5f; background: #dfe6d6; }
.pricing-plan .small-label { font-size: 12px; }
.pricing-plan .plan-detail { font-size: 13px; }
.briefing-form-wrap { background: #f5f6f2; border-top: 3px solid #7a8e6b; }
.field label { font-size: 14px; }
input, select, textarea { background: #f0f3eb; border-color: #8d9d8c; }
.field-hint, .form-note { font-size: 13px; }
.faq-list summary { font-weight: 600; }
.faq-list details[open] { background: #e2e7df; padding-inline: 18px; }
.faq-list details[open] + details { border-top-color: #b4c2ae; }
.principle-list .index { color: #4d6b47; font-size: 15px; }

/* Quiet, dark closing surfaces keep emphasis on the next action. */
.cta-band { background: #152019; padding-block: 64px; border-top: 1px solid #334432; color: #edf0e8; }
.cta-inner p { color: #c1cbb8; font-size: 16px; }
.cta-inner h2 { font-weight: 570; max-width: 24ch; }
.cta-inner .btn-primary { background: var(--signal); color: #141e17; }
.cta-inner .btn-primary:hover { background: #d2d9c7; }
.site-footer { background: #080e0b; border-top: 1px solid #2d3a2f; }
.footer-brand > p { color: #dbe4d3; font-size: 21px; }
.footer-column h2 { color: #bec9ad; font-size: 13px; }
.footer-column a, .footer-policies a { color: #c9d4c4; }
.footer-column a:hover, .footer-policies a:hover { color: #edf2e5; }
.footer-location, .chat-status, .footer-bottom p, .footer-bottom a { color: #b0c0ac; font-size: 12px; }
.footer-policies, .footer-bottom { border-color: #354436; }
.brochure-prompt, .brochure-dialog { background: #f5f6f2; }
.brochure-prompt { border-top-color: #7a8e6b; }
.brochure-demo-option input { accent-color: #34523f; }
.brochure-dialog::backdrop, .screenshot-dialog::backdrop { background: #040a06cf; }

@media (min-width: 1600px) {
  .home-intro { padding-block: 64px 58px; }
  .home-message h1 { font-size: 57px; }
}
@media (max-width: 1100px) {
  .main-nav > a, .nav-group > summary { font-size: 12px; }
  .home-message h1 { font-size: 43px; }
  .home-message .lede { font-size: 16px; }
  .home-message .hero-note { font-size: 12px; }
  .outcome-grid { gap: 24px; }
  .outcome-grid h3 { font-size: 19px; }
  .outcome-grid p { font-size: 14px; }
  .integration-logo-grid .integration-provider:nth-child(n) { border-right: 1px solid var(--line); }
  .integration-logo-grid .integration-provider:nth-child(4n) { border-right: 0; }
  .sector-nav { padding: 18px; }
}
@media (min-width: 761px) and (max-width: 900px) {
  .home-message h1 { font-size: 37px; }
  .home-message .lede { font-size: 15px; }
  .home-intro { padding-block: 42px; }
  .control-strip div { font-size: 12px; }
  .proof-grid strong { font-size: 13px; }
  .proof-grid span { font-size: 12px; }
}
@media (max-width: 760px) {
  .home-intro { padding: 24px 0 20px; }
  .home-message h1 { font-size: 40px; }
  .home-message .eyebrow { font-size: 11px; margin-bottom: 14px; }
  .home-message .lede { font-size: 16px; }
  .home-message .hero-note { display: none; }
  .home-message .actions { margin-top: 20px; }
  .hero-grid { gap: 20px; }
  .home-value { padding-block: 54px; }
  .home-value .section-head { margin-bottom: 32px; }
  .home-message .btn { font-size: 13px; gap: 10px; }
  .main-nav { background: #f0f1ee; color: #1d2823; }
  .main-nav > a, .nav-group > summary { font-size: 15px; }
  .main-nav > a:hover, .nav-group > summary:hover,
  .main-nav > a[aria-current="page"], .nav-group--current > summary,
  .nav-group[open] > summary, .main-nav:has(.nav-group[open]) > a { color: var(--brand); }
  .menu-toggle { border-color: #71836f; }
  .site-header .main-nav :focus-visible { outline-color: #34523f; }
  .mobile-nav-link:hover { color: var(--brand); }
  .mega-main { background: #f0f1ee; }
  .proof-grid > div, .proof-grid > div:first-child { border-color: #bfcabd; }
  .proof-grid { padding-block: 0; }
  .proof-grid strong { font-size: 13px; }
  .proof-grid span { font-size: 12px; }
  .outcome-grid { gap: 24px; }
  .outcome-grid h3 { font-size: 19px; }
  .outcome-grid article { padding-top: 18px; }
  .outcome-marker { margin-bottom: 20px; }
  .product-shot figcaption { flex-direction: column; gap: 2px; font-size: 12px; }
  .award-inner { padding-block: 20px; }
  .page-hero { padding-bottom: 40px; }
  .breadcrumb { font-size: 12px; margin-bottom: 26px; }
  .page-intro .btn { font-size: 13px; }
  .tab-list { gap: 0; }
  .tab-list button { padding: 12px 9px; font-size: 12px; gap: 6px; }
  .tab-list button .icon { width: 13px; }
  .integration-selection { padding: 20px; }
  .integration-logo-grid .integration-provider:nth-child(n) { border-right: 1px solid var(--line); }
  .integration-logo-grid .integration-provider:nth-child(3n) { border-right: 0; }
  .detail-steps { gap: 30px; }
  .sector-nav { padding: 18px; }
  .cta-band { padding-block: 48px; }
  .cta-inner h2 { font-size: 32px; }
  .cta-inner p { font-size: 15px; }
  .footer-column h2 { font-size: 12px; }
  .footer-column a { font-size: 13px; }
  .footer-bottom p, .footer-bottom a { font-size: 12px; }
}
@media (max-width: 440px) {
  .integration-logo-grid .integration-provider:nth-child(n) { border-right: 1px solid var(--line); }
  .integration-logo-grid .integration-provider:nth-child(2n),
  .integration-logo-grid .integration-provider:last-child { border-right: 0; }
}
@media (max-width: 380px) {
  .home-message h1 { font-size: 37px; }
  .home-message .eyebrow { font-size: 10px; }
  .home-message .btn { font-size: 12px; padding-inline: 12px; }
  .outcome-grid article, .outcome-grid article:first-child { border-top-width: 3px; border-top-style: solid; }
  .tab-list button { padding-inline: 6px; font-size: 10px; }
}
@media (prefers-reduced-motion: reduce) {
  .shot-link, .integration-provider { transition: none; }
}

