/* A business story in motion, grounded in the original light identity. */
.hero-interactive { background:#eef1f6; min-height:800px; padding-top:30px; }
.hero-interactive .hero-image { inset:0 0 0 32%; opacity:.11; animation:none; mask-image:linear-gradient(90deg,transparent,#000 65%); pointer-events:none; }
.hero-interactive .hero-image img { filter:grayscale(1); }
.hero-layout { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:5%; padding:40px 0 110px; }
.hero-interactive .hero-content { width:auto; margin:0; padding:0 0 26px; }
.hero-interactive h1 { color:#112b66; font-size:clamp(48px,4.7vw,76px); line-height:1.2; letter-spacing:-.055em; margin-bottom:28px; }
.hero-interactive h1 .title-period { color:var(--orange); }
.hero-interactive .hero-cobalt { color:var(--cobalt); }
.hero-interactive .hero-content > p { font-size:17px; line-height:1.85; max-width:455px; margin-bottom:28px; color:#4c586b; }
.hero-interactive .button { font-size:14px; gap:17px; background:var(--cobalt); border:1px solid transparent; box-shadow:0 5px 14px #2455e71a; }
.hero-interactive .button:hover { background:#1945c8; }
.hero-demo-link { display:flex; align-items:center; gap:14px; width:fit-content; font-size:14px; margin:23px 0 35px; color:#183b85; font-weight:500; }
.hero-demo-link span { transition:transform .2s; }
.hero-demo-link:hover span { transform:translateX(5px); }
.hero-promise { display:flex; align-items:center; gap:10px; color:#68768c; font-size:12px; line-height:1.8; }
.hero-promise > span { width:18px; height:1px; background:var(--orange); flex-shrink:0; }
.hero-interactive .hero-topline .eyebrow { font-size:12px; letter-spacing:1px; }
.agent-demo { min-width:0; position:relative; background:#fff; border:1px solid #d9e0ed; border-radius:18px; padding:24px; box-shadow:0 22px 60px -24px #173b9947,0 3px 8px #173b9908; scroll-margin-top:30px; }
.demo-top { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.demo-wordmark { color:#173b8b; font-size:17px; letter-spacing:-.7px; font-weight:800; }
.demo-wordmark > span { font-size:12px; color:#66738a; font-weight:400; letter-spacing:0; margin-left:6px; }
.demo-disclosure { color:#6b778c; font-size:11px; }
.demo-heading-row { display:flex; justify-content:space-between; align-items:center; padding:22px 0 20px; }
.demo-heading-row h2 { margin:0; font-size:28px; line-height:1.3; letter-spacing:-1px; font-weight:500; color:#152955; }
.demo-heading-row h2 > span { color:var(--cobalt); }
.demo-spark { font-size:60px; color:var(--cobalt); line-height:1; }
.demo-tabs { display:grid; grid-template-columns:repeat(3,1fr); padding:4px; gap:3px; border-radius:9px; background:#f0f3f9; margin-bottom:20px; }
.demo-tabs button { border:0; padding:10px 5px; border-radius:6px; color:#59677d; background:transparent; font-size:13px; font-weight:500; transition:background .2s,color .2s,box-shadow .2s; }
.demo-tabs button[aria-selected=true] { color:var(--cobalt); background:#fff; box-shadow:0 1px 5px #112b6614; }
.demo-panel { min-height:285px; }
.demo-panel:focus-visible {outline:2px solid var(--cobalt);outline-offset:5px;border-radius:4px}
.demo-signal { display:flex; gap:12px; align-items:flex-start; }
.signal-icon { display:grid; place-items:center; width:34px; height:34px; border:1px solid #d9e1f0; border-radius:9px; color:var(--cobalt); flex-shrink:0; font-size:24px; }
.demo-label { font-size:10px; letter-spacing:.65px; font-weight:600; color:#687991; line-height:1.6; }
.demo-signal p { font-size:14px; line-height:1.65; margin:4px 0 0; color:#253655; }
.demo-working { padding:16px 0; }
.demo-sources { display:flex; flex-wrap:wrap; gap:6px; margin-top:7px; }
.demo-sources > span { position:relative; font-size:11px; padding:6px 8px; border:1px solid #e1e7f2; border-radius:5px; color:#66768d; transition:background .3s,color .3s,border-color .3s; }
.demo-sources > span.is-connected { background:#edf3ff; color:#2348a3; border-color:#b8caf6; }
.demo-proposal { padding:15px 16px; border-radius:10px; background:#f4f6fb; border:1px solid #e5eaf4; min-height:124px; transition:background .3s,border-color .3s; }
.proposal-top { display:flex; align-items:center; gap:7px; }
.proposal-mark { color:var(--cobalt); font-size:19px; line-height:1; }
.proposal-status { margin-left:auto; color:#6c798d; font-size:10px; white-space:nowrap; }
.demo-proposal h3 { color:#183264; font-size:15px; font-weight:600; line-height:1.55; margin:9px 0 6px; }
.demo-proposal p { margin:0; color:#62718a; font-size:12px; line-height:1.75; }
.demo-timeline { display:grid; grid-template-columns:repeat(4,1fr); list-style:none; margin:18px 0; padding:0; gap:7px; }
.demo-timeline li { position:relative; border-top:2px solid #e6ebf4; padding-top:10px; font-size:11px; color:#79859a; transition:border-color .3s,color .3s; }
.demo-timeline li span { margin-right:5px; font-size:10px; color:#8a97ac; }
.demo-timeline li.is-current { color:#2348a3; border-color:var(--cobalt); }
.demo-timeline li.is-done { color:#536786; border-color:#8faaf3; }
.demo-actions { display:flex; gap:8px; }
.demo-run { min-height:43px; display:flex; justify-content:space-between; align-items:center; flex:1; text-align:left; background:var(--cobalt); color:#fff; border:0; border-radius:7px; padding:11px 14px; font-size:13px; font-weight:500; transition:background .2s; }
.demo-run:hover { background:#1945c8; }
.demo-run > span:last-child { transition:transform .2s; }
.demo-run:hover > span:last-child { transform:translateX(4px); }
.demo-run[aria-disabled=true] { cursor:progress; background:#e7edfa; color:#36558d; }
.demo-reset { background:#fff; border:1px solid #dce3ef; color:#536b96; border-radius:7px; width:43px; font-size:23px; }
.demo-reset:disabled { color:#a4b0c4; cursor:default; }
.demo-footnote { color:#6e7b8f; font-size:10px; margin:12px 0 0; line-height:1.6; text-align:center; }
.agent-demo[data-state=approval] .demo-proposal { border-color:#aac1fa; background:#edf3ff; }
.agent-demo[data-state=approval] .proposal-status { color:#a94a1a; }
.agent-demo[data-state=complete] .demo-proposal { border-color:#8faafa; background:#eaf1ff; }
.agent-demo[data-state=complete] .proposal-status { color:#2146a0; }
.agent-demo[data-state=working] .demo-spark { animation:demo-turn 2s ease-in-out infinite; }
.agent-demo[data-state=working] .demo-timeline li.is-current:before { content:""; position:absolute; height:2px; top:-2px; left:0; width:35%; background:#f47735; animation:demo-travel 1.2s ease-in-out infinite; }
.demo-panel.is-entering { animation:demo-enter .4s ease-out; }
.demo-sources > span:nth-child(2) {transition-delay:.1s}
.demo-sources > span:nth-child(3) {transition-delay:.2s}
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.demo-noscript { color:#4e5d73; font-size:12px; }
.section-heading h2,.approach h2,.contact h2 { color:#153b99; }
.section-heading h2 { flex:1; }
.section-heading > p { flex:0 1 350px; }
.contact-bottom p { max-width:590px; }
.approach-copy p,.section-heading > p,.service-content > div > p,.process-grid p { font-size:16px; }
.button-dark { background:var(--cobalt); }
.flow-node.active-node { box-shadow:0 5px 30px #0e1f551a; }
.service summary:hover .service-number { color:var(--cobalt); }
.workflow {background:#163775;border-color:#47619e}
.flow-node {background:#102a60;border-color:#46629b}
.active-node {background:#eaf0ff;border-color:#eaf0ff}
.control-principles {display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:44px;border-top:1px solid #496295;padding-top:25px}
.control-principles p {font-size:13px;line-height:1.7;color:#e0e9ff;margin:0}
.control-principles p > span {color:#ffad80;margin-right:9px;font-size:11px}
.applications-foot {margin-top:30px}
.applications button:focus-visible {outline-color:#b6caff}
.process-grid article { transition:border-color .25s; }
.process-grid article:hover { border-color:var(--cobalt); }
@keyframes demo-turn { 0%,100% {transform:rotate(0)} 50% {transform:rotate(90deg)} }
@keyframes demo-travel { from {transform:translateX(0)} to {transform:translateX(190%)} }
@keyframes demo-enter { from {opacity:.4;transform:translateY(6px)} to {opacity:1;transform:translateY(0)} }
@media(min-width:1500px) { .hero-layout {gap:7%;padding-top:55px;padding-bottom:120px} .agent-demo {padding:30px} .demo-panel {min-height:295px} }
@media(max-width:1100px) { .hero-interactive {padding-inline:30px} .hero-layout {gap:30px;grid-template-columns:.9fr 1.1fr} .hero-interactive h1 {font-size:52px} .hero-interactive .hero-content > p {font-size:16px} .agent-demo {padding:20px} .hero-promise {font-size:11px} .hero-interactive .button {font-size:12px;padding:17px 18px} }
@media(max-width:900px) { .hero-layout {grid-template-columns:1fr;gap:32px;padding:40px 0 100px} .hero-interactive .hero-content {padding:0;max-width:600px} .hero-interactive h1 {font-size:70px} .hero-interactive .hero-content > p {max-width:510px} .hero-interactive .hero-image {inset:0 0 45% 35%} .hero-interactive .agent-demo {width:100%;max-width:600px;justify-self:center} .hero-promise {display:none} .hero-demo-link {display:inline-flex;margin:0 0 0 20px} .hero-interactive {min-height:0} .demo-panel {min-height:265px} }
@media(max-width:600px) { .hero-interactive {padding:24px 20px 0;margin-inline:12px} .hero-layout {padding-top:36px;gap:32px;padding-bottom:82px} .hero-interactive h1 {font-size:clamp(38px,10.5vw,56px);letter-spacing:-2px;line-height:1.23} .hero-interactive .hero-content > p {font-size:16px;margin-bottom:24px} .hero-interactive .hero-image {display:none} .hero-interactive .hero-topline .eyebrow {font-size:10px;letter-spacing:.8px} .hero-interactive .hero-location {display:none} .hero-interactive .button {font-size:12px;min-height:52px;padding:15px 18px} .hero-demo-link {display:flex;margin:20px 0 0;font-size:13px} .agent-demo {padding:17px 14px;border-radius:13px} .demo-heading-row h2 {font-size:23px} .demo-spark {font-size:40px} .demo-disclosure {font-size:9px} .demo-wordmark {font-size:16px} .demo-wordmark > span {font-size:10px;margin-left:3px} .demo-heading-row {padding-block:19px} .demo-tabs {margin-bottom:17px} .demo-tabs button {font-size:12px;padding:10px 3px} .demo-signal p {font-size:13px} .demo-sources > span {font-size:10px;padding:5px 6px} .demo-panel {min-height:296px} .demo-label {font-size:9px} .demo-proposal {padding:13px 12px;min-height:139px} .demo-proposal h3 {font-size:14px} .demo-proposal p {font-size:12px} .demo-timeline {gap:5px} .demo-timeline li {font-size:10px} .demo-timeline li span {display:block;margin-bottom:3px} .demo-run {font-size:12px} .demo-footnote {font-size:9px} .hero-interactive .hero-bottom {left:20px;right:20px;bottom:0;height:65px} .hero-interactive .hero-bottom > span:first-child {font-size:8px} .hero-interactive .hero-bottom a {font-size:10px;gap:8px} .hero-interactive .hero-bottom .scroll-arrow {width:24px;height:24px} }
@media(max-width:359px) { .hero-interactive {padding-inline:14px} .hero-interactive h1 {font-size:35px} .agent-demo {padding-inline:11px} .demo-top {gap:5px} .demo-disclosure {max-width:72px;text-align:right} .demo-sources {gap:4px} .demo-panel {min-height:323px} .demo-heading-row h2 {font-size:23px} .hero-interactive .hero-bottom > span:first-child {display:none} }
@media(max-width:760px) { .control-principles {grid-template-columns:1fr;gap:16px;margin-top:25px} .control-principles p {font-size:13px} .section-heading > p {flex:auto} .contact-bottom p {max-width:440px} }
@media(max-width:600px) { .contact-main {flex-wrap:wrap;gap:24px} .contact-main h2 {flex-basis:100%} }
@media(prefers-reduced-motion:reduce) { .agent-demo *, .agent-demo *:before {animation:none!important;transition:none!important} .hero-demo-link span {transition:none} }
