:root { --signal-text: #1A7A63; --signal-on-ink: #3FB08F; }
.site-header { position: sticky; top: 0; z-index: 30; background: var(--paper); border-bottom: 1px solid var(--line); }
.mobile-menu { display: none; margin-inline-start: auto; }
.mobile-menu summary { cursor: pointer; list-style: none; padding: 12px 14px; border: 1px solid var(--ink); border-radius: 8px; font-size: 15px; font-weight: 600; min-height: 44px; }
.mobile-menu summary::-webkit-details-marker { display: none; }
.mobile-menu summary span { margin-inline-start: 12px; }
a.text-link { text-decoration: underline !important; text-underline-offset: 4px; text-decoration-thickness: 1px; }
a:hover { color: var(--signal-text); }
.ink-band a.text-link { color: var(--signal-on-ink) !important; }
a.button-primary,button[type=submit] { background: var(--signal-text) !important; color: var(--white) !important; }
a.button-primary:hover,button[type=submit]:hover { background: #186F5B !important; }
a.button-dark:hover { background: #0A1D35 !important; }
a.button-secondary:hover { background: var(--ink) !important; color: var(--paper) !important; }
.linked-card:hover { border-color: var(--ink) !important; }
.chip:hover { background: var(--paper) !important; border-color: var(--ink) !important; color: var(--ink) !important; }
a,button { transition: color .15s, background-color .15s, border-color .15s; }
@media(prefers-reduced-motion:reduce) { a,button { transition: none; } }
.section-container { padding-block: 64px !important; }
.hero.section-container,.hero>.section-container { padding-block: 96px !important; }
.page-home #model .section-container,.page-home #solve.section-container { padding-block: 56px !important; }
.page-home #capabilities .section-container { padding-block: 120px !important; }
.page-inner h1 { font-size: 56px !important; }
h2 { font-size: 40px !important; line-height: 1.12 !important; }
.hero p[style*="font-size: 22px"],.hero p[style*="font-size: 20px"] { font-size: 20px !important; font-weight: 500 !important; line-height: 1.55 !important; }
.linked-card h2,.linked-card h3 { font-size: 20px !important; }
.stage-btn .stage-dot { width: 14px; height: 14px; border-width: 2.5px; }
.stage-btn .stage-n { font-size: 14px; }
.stage-btn.is-on { background: var(--white); border-color: var(--signal-text); }
.stage-btn.is-on .stage-dot { background: var(--signal); border-color: var(--signal); }
.footer-links { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 48px; margin-inline-start: auto; }
.footer-links>div { display: flex; flex-direction: column; gap: 12px; }
.footer-links h3 { font-size: 13px; font-weight: 800; color: var(--ink); margin: 0 0 8px; }
.footer-links a { min-height: 24px; }
@media(max-width:720px) {
 .site-header { gap: 12px !important; flex-wrap: nowrap !important; padding-block: 14px !important; }
 .site-header>a { gap: 8px !important; }
 .site-header>a>svg { width: 30px; height: 30px; }
 .site-header>a>span { font-size: 18px !important; }
 .desktop-nav { display: none !important; }
 .mobile-menu { display: block; }
 .mobile-nav { position: absolute; inset-inline: 0; top: 100%; width: 100%; display: flex !important; flex-direction: column; align-items: stretch !important; margin: 0 !important; padding: 24px; gap: 12px !important; background: var(--paper); border-bottom: 1px solid var(--line-strong); }
 .mobile-nav>a { padding: 12px !important; min-height: 44px; }
 h1,.page-inner h1 { font-size: 36px !important; }
 [dir=rtl] h1 { font-size: 30px !important; }
 h2 { font-size: 28px !important; }
 .section-container { padding-block: 48px !important; }
 .hero.section-container,.hero>.section-container { padding-block: 64px !important; }
 #model-buttons { flex-wrap: nowrap !important; overflow-x: auto; max-width: 100%; padding-bottom: 12px; scroll-snap-type: x proximity; }
 .stage-btn { flex: 0 0 170px; min-width: 170px; scroll-snap-align: start; }
 #model>.section-container { min-width: 0; }
 .footer-links { margin-inline-start: 0; width: 100%; gap: 24px; }
}

.mobile-menu:not([open]) .mobile-nav{display:none!important}
html { scroll-behavior: auto !important; }
[id],.model-detail { scroll-margin-top: 104px; }
.static-content { border: 0 !important; border-top: 1px solid var(--line-strong) !important; border-radius: 0 !important; background: transparent !important; }
.card-cue { align-self: flex-end; font-size: 20px; }
.linked-card:hover>div:first-child { color: var(--signal-text) !important; }
.footer-link { display: inline-flex; align-items: center; min-height: 44px !important; padding-block: 10px; text-decoration: underline !important; text-underline-offset: 4px; }
.current-nav,.capabilities-active { border-bottom: 2px solid var(--signal-text) !important; }
.current-nav { cursor: default; }
.capability-nav,.next-capability { max-width: 1200px; width: 100%; margin-inline: auto; padding: 24px 32px; display: flex; flex-wrap: wrap; gap: 24px; }
.capability-nav a,.next-capability a { text-decoration: underline; text-underline-offset: 4px; }
.capability-nav [aria-current] { font-weight: 800; border-bottom: 2px solid var(--signal-text); }
.skip-link { position: fixed; top: 8px; left: 8px; transform: translateY(-160%); z-index: 100; background: var(--white); padding: 16px; color: var(--ink); }
.skip-link:focus { transform: none; }
.menu-close-label,.menu-backdrop,.mobile-contact { display: none; }
.mobile-menu[open] .menu-open-label { display: none; }
.mobile-menu[open] .menu-close-label { display: inline; }
.field-error { color: #922C2C; font-size: 14px; }
[aria-invalid=true] { border-color: #922C2C !important; }
#form-status:empty { display: none; }
#form-status { padding: 16px; border-left: 3px solid var(--signal-text); }
@media(max-width:720px){
 .mobile-contact { display: inline-flex; align-items: center; min-height: 44px; padding: 8px; background: var(--ink); color: white; border-radius: 6px; font-size: 12px; white-space: nowrap; }
 .site-header { gap: 6px !important; }
 .site-header>a>span { font-size: 16px !important; }
 .mobile-menu summary { padding: 10px; }
 .mobile-menu[open] .menu-backdrop { display: block; position: fixed; inset: 0; top: 72px; border: 0; background: rgb(11 31 58 / 25%); z-index: -1; cursor: default; }
 .mobile-menu[open] .mobile-nav { z-index: 2; }
 .mobile-nav>a { min-height: 44px; }
 #model-buttons { display: flex !important; flex-direction: row !important; }
 .stage-btn { flex: 0 0 170px !important; height: auto !important; min-height: 64px; }
}
.site-header { max-width: none !important; box-sizing: border-box; padding-inline: max(24px, calc((100% - 1152px) / 2)) !important; }
#contact-form input[aria-invalid="true"],#contact-form textarea[aria-invalid="true"] { border: 1px solid #922C2C !important; box-shadow: inset 0 0 0 1px #922C2C; }
.site-header a.mobile-contact { text-decoration: none !important; }
.privacy-content { font-size: 17px; line-height: 1.6; }
.privacy-content h2 { font-size: 24px !important; line-height: 1.3 !important; margin-top: 36px; }
