/* Scoped to the requested homepage areas and the three engine pages. */
.axis-formula { font-size:clamp(3.8rem,9vw,7rem)!important; white-space:nowrap; letter-spacing:-.035em; }
.axis-formula span { color:#6dddff; }
.formula-key { display:flex; flex-wrap:wrap; justify-content:center; gap:12px 32px; color:#c2c6d7; font-size:14px; }
.formula-key div { display:flex; gap:7px; align-items:baseline; }
.formula-key dt { color:#6dddff; font:600 22px 'Space Grotesk',sans-serif; }
.formula-key dd { margin:0; }
.formula-summary { max-width:710px; color:#b7bdce; font-size:clamp(16px,1.6vw,20px); line-height:1.65; }
.formula-summary strong { display:block; color:#e2e4f6; font-weight:500; }
.formula-summary a,.axis-proof a,.engine-page a.inline-link { color:#6dddff; text-decoration:underline; text-underline-offset:4px; }
.axis-proof { max-width:1152px; margin:0 auto; padding:56px 48px; color:#e2e4f6; }
.axis-proof h2 { font:600 clamp(26px,3.2vw,40px)/1.18 'Space Grotesk',sans-serif; letter-spacing:-.025em; text-wrap:balance; }
.axis-proof p { color:#b7bdce; line-height:1.7; }
.axis-proof .proof-intro { max-width:740px; margin:16px 0 28px; }
.parent-lockup { display:flex; align-items:center; justify-content:space-between; gap:32px; padding-bottom:30px; border-bottom:1px solid #283345; }
.parent-lockup img { width:160px; height:72px; object-fit:contain; }
.parent-lockup p { max-width:700px; margin:12px 0 0; }
.award-strip { display:grid; grid-template-columns:1.25fr 1fr 1fr; gap:26px; padding:28px 0; border-bottom:1px solid #283345; }
.award-item { display:flex; gap:16px; align-items:center; }
.award-item img { width:66px; height:70px; object-fit:contain; flex-shrink:0; }
.award-item strong { display:block; font-size:14px; line-height:1.55; }
.award-item small { display:block; font-size:12px; color:#b7bdce; margin-top:4px; line-height:1.5; }
.clients-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:30px; }
.clients-heading h3 { font:500 19px 'Space Grotesk',sans-serif; }
.motion-toggle { color:#c2d8e4; border:1px solid #354758; border-radius:999px; min-height:36px; padding:6px 14px; font-size:12px; background:#111b2a; white-space:nowrap; cursor:pointer; }
.logo-window { overflow:hidden; margin:20px 0 12px; mask-image:linear-gradient(to right,transparent,#000 5%,#000 95%,transparent); }
.logo-track { display:flex; width:max-content; animation:client-drift 42s linear infinite; }
.logo-set { display:flex; flex-shrink:0; align-items:center; }
.client-mark { display:flex; width:190px; height:86px; padding:18px 22px; align-items:center; justify-content:center; }
.client-mark img { width:100%; height:100%; object-fit:contain; }
.logo-transparent { filter:brightness(0) invert(1); opacity:.8; }
.logo-paper { filter:grayscale(1) invert(1); mix-blend-mode:screen; opacity:.85; }
.logo-window:hover .logo-track,.logo-window:focus-within .logo-track,.logo-track.is-paused { animation-play-state:paused; }
@keyframes client-drift { to { transform:translateX(-50%); } }
.proof-note { font-size:12px; line-height:1.65; color:#a7b1c4; }
.case-layout { display:grid; grid-template-columns:1.35fr 1fr; gap:36px; margin-top:30px; }
.case-primary { border:1px solid #30495b; background:#101b29; border-radius:16px; padding:30px; }
.case-primary h3,.case-secondary h3 { font:600 24px/1.3 'Space Grotesk',sans-serif; margin:14px 0; }
.case-primary img { width:138px; height:64px; object-fit:contain; }
.case-score { display:flex; align-items:baseline; gap:20px; margin:22px 0 6px; font:600 clamp(34px,4vw,48px) 'Space Grotesk',sans-serif; font-variant-numeric:tabular-nums; }
.case-score .before { color:#a7b1c4; }
.case-score .after { color:#6dddff; }
.case-score .score-arrow { font-size:24px; color:#71879b; }
.case-primary p,.case-secondary p { margin:12px 0; font-size:14px; }
.case-primary .proof-note { font-size:12px; margin:18px 0; }
.case-secondary { padding:22px 0; border-top:1px solid #304054; }
.case-secondary:first-child { padding-top:0; border-top:0; }
.case-secondary a,.case-primary a { font-size:13px; }
.proof-detail { margin-top:16px; }
.proof-detail summary { color:#6dddff; cursor:pointer; font-size:13px; }
.proof-detail img { width:100%; height:auto; margin-top:16px; border-radius:6px; }
.axis-example { padding:2px; color:#e2e4f6; font-family:'Manrope',sans-serif; }
.axis-example h3 { font-size:15px; font-weight:600; line-height:1.45; border-bottom:1px solid #2a3446; padding-bottom:10px; margin-bottom:12px; }
.example-columns { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.example-columns h4 { color:#6dddff; font-size:12px; margin-bottom:8px; }
.example-columns p { color:#b7bdce; font-size:12px; line-height:1.7; }
.example-scenario { display:grid; grid-template-columns:44px 1fr; gap:8px 14px; align-items:center; font-size:13px; }
.example-scenario b { color:#6dddff; font:600 22px 'Space Grotesk',sans-serif; }
.example-scenario p { color:#c1c9d8; }
.example-caption { color:#a7b1c4; font-size:11px; margin-top:14px; line-height:1.5; }
#stats-carousel { min-height:285px; }
#stats-carousel .stats-viewport { display:grid; height:auto; min-height:190px; }
#stats-carousel .stats-slide { position:relative; inset:auto; grid-area:1 / 1; min-width:0; }
#stats-indicators button { position:relative; border:0; padding:15px 0; background:transparent; width:48px; cursor:pointer; }
#stats-indicators button::before { content:""; position:absolute; left:0; right:0; top:15px; height:5px; border-radius:999px; background:#354155; }
#stats-indicators button > div { position:relative; height:5px; z-index:1; }
.axis-proof[id],.engine-page section[id] { scroll-margin-top:120px; }
.axis-service-demo { position:relative; }
.axis-service-demo .demo-caption { position:absolute; top:18px; left:24px; right:24px; font:11px/1.5 'Manrope',sans-serif; color:#acb7c9; }
.metric-explainer { display:grid; grid-template-columns:1fr 1fr; gap:18px; width:100%; position:relative; font-family:'Manrope',sans-serif; }
.metric-explainer div { padding:14px 0; border-bottom:1px solid #293548; }
.metric-explainer b { display:block; font:600 24px 'Space Grotesk',sans-serif; color:#6dddff; margin-bottom:6px; }
.metric-explainer span { font-size:12px; color:#c1c9d8; line-height:1.5; display:block; }
.engine-page { --engine-muted:#b7bdce; }
.engine-content { max-width:1152px; margin:auto; padding:72px 48px; }
.engine-hero { text-align:center; padding-top:130px; padding-bottom:60px; }
.engine-hero h1 { font:600 clamp(44px,7vw,80px)/1.05 'Space Grotesk',sans-serif; letter-spacing:-.035em; color:#e2e4f6; }
.engine-hero h1 span { color:#6dddff; }
.engine-hero p { max-width:720px; margin:24px auto; font-size:18px; line-height:1.7; color:var(--engine-muted); }
.engine-hero .engine-owner { font-size:13px; margin-bottom:0; }
.engine-actions { display:flex; flex-wrap:wrap; justify-content:center; gap:16px; margin-top:28px; }
.engine-actions .cta { max-width:100%; white-space:normal; text-align:center; }
.engine-section { border-top:1px solid #263244; }
.engine-section h2 { font:600 clamp(28px,3.5vw,42px)/1.2 'Space Grotesk',sans-serif; letter-spacing:-.025em; color:#e2e4f6; text-wrap:balance; }
.engine-section p { font-size:16px; line-height:1.75; color:var(--engine-muted); margin:18px 0; max-width:720px; }
.engine-split { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:64px; }
.engine-demo { padding:30px; border:1px solid #31475b; border-radius:16px; background:#111b2a; }
.engine-demo h3 { font:500 18px 'Space Grotesk',sans-serif; margin-bottom:20px; }
.engine-demo .example-caption { margin:20px 0 0; font-size:12px; }
.engine-demo .example-scenario { grid-template-columns:36px 1fr; gap:20px; }
.engine-demo .example-scenario p { margin:0; font-size:14px; }
.engine-steps { list-style:none; margin:32px 0 0; padding:0; display:grid; grid-template-columns:repeat(5,1fr); gap:24px; }
.engine-steps li { border-top:2px solid #466177; padding-top:18px; }
.engine-steps strong { color:#6dddff; font:500 16px 'Space Grotesk',sans-serif; }
.engine-steps p { font-size:14px; margin:10px 0 0; }
.engine-table { width:100%; margin-top:28px; border-collapse:collapse; font-size:14px; }
.engine-table th,.engine-table td { padding:18px 16px; text-align:left; border-bottom:1px solid #2b3749; line-height:1.65; vertical-align:top; }
.engine-table th { color:#e2e4f6; font-weight:500; }
.engine-table td { color:#b7bdce; }
.engine-table td:first-child { color:#6dddff; white-space:nowrap; }
.engine-list { list-style:none; padding:0; margin:24px 0 0; }
.engine-list li { padding:20px 0; border-bottom:1px solid #293548; }
.engine-list h3 { font:500 21px 'Space Grotesk',sans-serif; color:#e2e4f6; }
.engine-list p { font-size:14px; margin:8px 0 0; }
.engine-link-row { display:flex; flex-wrap:wrap; gap:20px; margin-top:28px; }
.engine-faq { max-width:1000px; }
.engine-faq h2 { margin-bottom:28px; }
.engine-faq details { border-bottom:1px solid #2b3749; padding:20px 0; }
.engine-faq summary { cursor:pointer; color:#e2e4f6; font-weight:500; line-height:1.5; }
.engine-faq p { margin-bottom:0; font-size:15px; }
.axis-proof a:focus-visible,.motion-toggle:focus-visible,#stats-indicators button:focus-visible,.engine-page a:focus-visible,.engine-page summary:focus-visible { outline:2px solid #6dddff; outline-offset:5px; border-radius:3px; }
@media(max-width:767px) {
 .axis-proof,.engine-content { padding:40px 24px; }
 .engine-hero { padding-top:100px; }
 .parent-lockup { align-items:flex-start; flex-direction:column-reverse; gap:20px; }
 .parent-lockup img { width:126px; height:48px; }
 .award-strip,.case-layout,.engine-split { grid-template-columns:1fr; gap:26px; }
 .award-strip { gap:22px; }
 .award-item img { width:56px; height:54px; }
 .case-primary { padding:24px; }
 .client-mark { width:158px; }
 .clients-heading h3 { font-size:16px; }
 .engine-steps { grid-template-columns:1fr; gap:18px; }
 .engine-steps li { display:grid; grid-template-columns:120px 1fr; gap:16px; }
 .engine-steps p { margin:0; }
 .engine-demo { padding:24px; }
 .engine-table th,.engine-table td { padding:14px 8px; font-size:12px; }
 .engine-table { table-layout:fixed; overflow-wrap:anywhere; }
 .engine-table td:first-child { white-space:normal; }
 .engine-hero p { font-size:16px; }
 .formula-key { gap:8px 18px; font-size:12px; }
 #stats-carousel { min-height:315px; }
 #stats-carousel .stats-viewport { min-height:270px; }
 .metric-explainer { gap:12px; }
 .axis-service-demo.metric-demo { height:auto; min-height:288px; padding:24px; }
 .persona-demo .persona-node { font-size:11px; padding:6px 8px; gap:6px; }
 .persona-demo .persona-node-left { left:6%; }
 .persona-demo .persona-node-right { right:6%; }
 .query-demo .query-flow { display:grid; grid-template-columns:70px 20px minmax(0,1fr); gap:8px; padding:0 12px; }
 .query-demo .query-source { width:100%; padding:10px; }
 .query-demo .query-source > div:first-child { font-size:11px; }
 .query-demo .query-streams { margin:0; }
 .query-demo .query-models { width:100%; }
 .query-demo .query-models > div { flex-wrap:wrap; justify-content:center; gap:4px; padding:8px 4px; font-size:11px; }
 .history-demo .history-heading { right:24px; left:24px; }
 .history-demo .history-heading .text-lg { font-size:13px; line-height:1.5; }
}
@media(prefers-reduced-motion:reduce) {
 .logo-track { animation:none; }
 .logo-window { overflow-x:auto; mask-image:none; }
 .logo-set[aria-hidden] { display:none; }
 .axis-service-demo *,#pro-workflow *,#stats-carousel *, .engine-demo * { animation:none!important; transition:none!important; }
 .stats-slide { transition:none!important; }
}

/* The hero: the equation is the mark, this is the headline. */
.hero-claim { font-size: clamp(2rem, 4.4vw, 3.4rem); line-height: 1.04; letter-spacing: -.035em; color: #e2e4f6; margin: 4px 0 0; }
@media (min-width: 641px) { .hero-claim .hero-br { display: none; } }
/* The first sentence under the headline reads as one line wherever it fits. */
@media (min-width: 860px) {
  .formula-summary { max-width: 840px; }
  .formula-summary strong { white-space: nowrap; }
}

/* The invitation letter rises out of its button and covers the card's own
   text; closing lowers it and the text comes back. Clip and fade only —
   nothing here blurs (DESIGN §83). Without JS the letter sits in the flow. */
.proof-card { position: relative; }
.proof-stage { position: relative; }
.proof-letter { margin: 16px 0 0; }
.proof-letter img { display: block; width: 100%; height: auto; border-radius: 8px; }
.proof-toggle { display: none; }
.has-motion .proof-stage { transition: height .5s cubic-bezier(.22, .61, .36, 1); }
.has-motion .proof-body { transition: opacity .28s ease .12s, visibility 0s linear 0s; }
.has-motion .proof-card.is-open .proof-body { opacity: 0; visibility: hidden; transition: opacity .2s ease, visibility 0s linear .2s; }
.has-motion .proof-letter { position: absolute; inset: 0; margin: 0; display: flex; align-items: flex-end;
  clip-path: inset(100% 0 0 0 round 8px); transition: clip-path .55s cubic-bezier(.22, .61, .36, 1); pointer-events: none; }
.has-motion .proof-letter a { display: block; width: 100%; height: 100%; }
.has-motion .proof-letter img { width: 100%; height: 100%; object-fit: contain; object-position: center bottom; }
.has-motion .proof-card.is-open .proof-letter { clip-path: inset(0 0 0 0 round 8px); pointer-events: auto; }
.has-motion .proof-toggle { display: inline-flex; align-items: center; gap: 4px; margin-top: 14px; padding: 0; border: 0; background: none;
  color: #6dddff; font: 500 13px 'Manrope', sans-serif; cursor: pointer; }
.proof-toggle:hover .proof-toggle-label { text-decoration: underline; text-underline-offset: 4px; }
.proof-toggle .material-symbols-outlined { font-size: 18px; transition: transform .35s ease; }
.proof-card.is-open .proof-toggle .material-symbols-outlined { transform: rotate(180deg); }

/* The SMU score climbs through its four readings, holds, and climbs again. */
.case-score .after { display: inline-block; min-width: 3.2ch; font-variant-numeric: tabular-nums; }
.case-ticks { position: relative; display: grid; grid-template-columns: repeat(4, 1fr); list-style: none; margin: 14px 0 4px; padding: 0; max-width: 360px; }
.case-ticks::before, .case-ticks::after { content: ''; position: absolute; left: 6px; right: calc(25% - 6px); top: 5px; height: 2px; border-radius: 1px; }
.case-ticks::before { background: #22344a; }
.case-ticks::after { background: #6dddff; transform-origin: left; transform: scaleX(var(--p, 0)); transition: transform .12s linear; }
.case-ticks li { position: relative; z-index: 1; display: flex; flex-direction: column; gap: 7px; }
.case-ticks i { width: 12px; height: 12px; border-radius: 50%; background: #0b1622; border: 2px solid #33485e; transition: border-color .25s ease, background-color .25s ease, transform .3s cubic-bezier(.34, 1.56, .64, 1); }
.case-ticks li.is-on i { border-color: #6dddff; background: #0e3446; }
.case-ticks li.is-now i { background: #6dddff; transform: scale(1.25); }
.case-ticks span { font-size: 11px; color: #6f8399; transition: color .25s ease; }
.case-ticks li.is-on span { color: #9fd8ea; }
