/* Motion language: evidence converges; interfaces acknowledge; reading is calm. */
:root {
 --motion-arrive:cubic-bezier(.16,1,.3,1);
 --motion-feedback:cubic-bezier(.22,1,.36,1);
}
#top h1 { letter-spacing:-.048em; }
#top h1 .hero-title-line { display:block; overflow:clip; line-height:1.03; }
#top h1 .hero-title-ink { display:block; }
#top h1 .hero-title-line-primary,
#top h1 .hero-title-line-primary .hero-title-ink { color:var(--ink); font-weight:600; }
#top h1 .hero-title-line-secondary .hero-title-ink { color:#929394; font-weight:500; }
#top .hero-intro { max-width:calc(600 * var(--eu)); }
#top .hero-copy { translate:0 var(--hero-exit,0px); }
#top .hero-radar { z-index:0; pointer-events:none; translate:var(--scope-x,0px) calc(var(--radar-exit,0px) + var(--scope-y,0px)); }
.radar-sweep { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; }
.radar-sweep path { fill:none; stroke:#537c66; stroke-width:1.1; stroke-linecap:round; opacity:.42; }

/* The existing header returns only when the reader scrolls back or uses it. */
#top .site-header.is-floating {
 position:fixed; z-index:80; top:12px; width:min(calc(100% - 64px),1518px);
 min-height:64px; padding:10px 20px; border:1px solid #d9dfd780;
 border-radius:12px; background:#fdfcf9f5; color:var(--ink);
 box-shadow:0 12px 32px -24px #14261b50;
 translate:0 var(--nav-slide,0px);
}
#top .site-header.is-floating[data-surface="dark"] {
 background:#080e0bf5; border-color:#354337; color:#f4f5f0;
}
#top .site-header.is-floating[data-surface="dark"] :is(.brand,.primary-nav a,.sign-in) { color:#dce4db; }
#top .site-header.is-floating[data-surface="dark"] .button-dark { background:#bed6ad; color:#101d14; }
#top .site-header.is-floating[data-surface="dark"] .menu-toggle span { background:#dce4db; }
.primary-nav a { position:relative; }
.primary-nav a::after {
 content:""; position:absolute; left:0; right:0; bottom:-6px; height:1px;
 background:currentColor; transform:scaleX(0); transform-origin:left;
 transition:transform .28s var(--motion-feedback);
}
.primary-nav a:is(:hover,:focus-visible)::after { transform:scaleX(1); }
:is(.button,.dark-outline-button,.diagram-link) { transition:background .25s var(--motion-feedback),border-color .25s var(--motion-feedback),color .25s var(--motion-feedback); }
.button:hover { transform:none; }
:is(.button,.dark-outline-button,.diagram-link) > :is(.site-icon,[aria-hidden="true"]) { transition:transform .3s var(--motion-feedback); }
:is(.button,.dark-outline-button,.diagram-link):is(:hover,:focus-visible) > :is(.site-icon,[aria-hidden="true"]) { transform:translateX(4px); }
#capabilities .card-arrow .cap-icon { transition:transform .3s var(--motion-feedback); }
#capabilities .card-arrow:is(:hover,:focus-visible) .cap-icon { transform:translate(2px,-2px); }
#capabilities .source-stack > span:hover { transform:none; }

/* Independent, phase-shifted drift keeps the irregular market alive without
   replaying its entrance. Translation leaves source radii/colors untouched. */
#capabilities [data-market-motion] .signal-points circle.market-drifter {
 --market-x:12px; --market-y:-10px; --market-period:5.6s;
 animation:market-point-drift var(--market-period) linear infinite;
 animation-play-state:paused;
}
#capabilities [data-market-motion="running"] .signal-points circle.market-drifter { animation-play-state:running; }
#capabilities [data-market-motion] .signal-points { overflow:visible; }
#capabilities .signal-points circle.market-drifter:nth-child(3n) { --market-x:-14px; --market-y:10px; --market-period:5.4s; }
#capabilities .signal-points circle.market-drifter:nth-child(5n) { --market-x:10px; --market-y:14px; --market-period:5.8s; }
#capabilities .signal-points circle.market-drifter:nth-child(7n) { --market-x:-9px; --market-y:-12px; --market-period:6s; }
#capabilities [data-market-motion] .signal-points circle.market-drifter:nth-child(2n) { animation-delay:-2.1s; }
#capabilities [data-market-motion] .signal-points circle.market-drifter:nth-child(4n) { animation-delay:-4.2s; }
#capabilities [data-market-motion] .signal-points circle.market-drifter:nth-child(6n) { animation-delay:-1.4s; }
@keyframes market-point-drift {
 0%,100% { translate:calc(var(--market-x) * -.5) calc(var(--market-y) * -.5); }
 25% { translate:var(--market-x) calc(var(--market-y) * -.35); }
 50% { translate:calc(var(--market-x) * .3) var(--market-y); }
 75% { translate:calc(var(--market-x) * -.8) calc(var(--market-y) * .45); }
}

/* Individual sheet translation preserves the reference's existing skew. */
#capabilities .company-stack i { translate:calc(var(--sheet-base-x,0px) + var(--sheet-x,0px)) calc(var(--sheet-base-y,0px) + var(--sheet-y,0px)); }
#capabilities .interpretation-connectors .qualification-current {
 fill:none; stroke:#6e8b78; stroke-width:1.35; stroke-linecap:round;
 stroke-dasharray:28 72; stroke-dashoffset:100; opacity:0;
 animation-duration:5.6s; animation-timing-function:linear; animation-iteration-count:infinite;
 animation-play-state:paused;
}
#capabilities .interpretation-connectors .qualification-current-input { animation-name:qualification-input-current; }
#capabilities .interpretation-connectors .qualification-current-interpretation { animation-name:qualification-interpretation-current; }
#capabilities .interpretation-connectors .qualification-current-offer { animation-name:qualification-offer-current; }
#capabilities .outcome-qualify[data-qualification-motion="running"] .qualification-current { animation-play-state:running; }
@keyframes qualification-input-current {
 0% { stroke-dashoffset:100; opacity:0; }
 4% { opacity:.9; }
 36% { stroke-dashoffset:0; opacity:.9; }
 42%,100% { stroke-dashoffset:0; opacity:0; }
}
@keyframes qualification-interpretation-current {
 0%,34% { stroke-dashoffset:100; opacity:0; }
 38% { opacity:.85; }
 50% { stroke-dashoffset:0; opacity:.85; }
 56%,100% { stroke-dashoffset:0; opacity:0; }
}
@keyframes qualification-offer-current {
 0%,47% { stroke-dashoffset:100; opacity:0; }
 51% { opacity:.9; }
 92% { stroke-dashoffset:0; opacity:.9; }
 98%,100% { stroke-dashoffset:0; opacity:0; }
}
#capabilities .demand-chart .demand-line-flow {
 fill:none; stroke-width:2.35; stroke-linecap:round; stroke-linejoin:round;
 stroke-dasharray:25 75; stroke-dashoffset:0; opacity:.92;
 animation:demand-line-current 5.6s linear infinite; animation-play-state:paused;
}
#capabilities .demand-chart .demand-line-flow.demand-line-reviews { stroke:#17683d; }
#capabilities .demand-chart .demand-line-flow.demand-line-search { stroke:#739d79; animation-delay:-2.8s; }
#capabilities .outcome-company[data-graph-motion="running"] .demand-line-flow { animation-play-state:running; }
@keyframes demand-line-current { to { stroke-dashoffset:-100; } }
#capabilities [data-motion-state="playing"] :is(.company-ui,.company-stack i,.interpretation-ui,.brief-ui) { will-change:transform,translate; }
#capabilities .brief-motion-cursor {
 position:absolute; z-index:7; left:0; top:0; display:block;
 width:calc(19 * var(--cu)); height:calc(22 * var(--cu)); opacity:0;
 pointer-events:none; filter:drop-shadow(1px 2px 2px #12251b35); transform-origin:20% 20%;
}
#capabilities .brief-motion-cursor svg { display:block; width:100%; height:100%; fill:#fff; stroke:#15241d; stroke-width:1.6; stroke-linejoin:round; }

/* A bounded emphasis sweeps across evidence; settled source surfaces return. */
#opportunity-example .account-detail-grid > div { position:relative; isolation:isolate; }
#opportunity-example .account-high .account-detail-grid > div::after {
 content:""; position:absolute; z-index:-1; inset:0; border-radius:inherit;
 background:#d9eadb; opacity:var(--evidence-emphasis,0); pointer-events:none;
}
#definition .definition-left > :is(.eyebrow,h2) { position:relative; z-index:1; }
#definition [data-word-wheel] .word-cloud { visibility:hidden; }
#definition .definition-word-wheel {
 --word-radius:calc(560 * var(--eu));
 position:absolute; z-index:0; top:calc(-317 * var(--eu)); left:50%;
 width:calc(555 * var(--eu)); height:calc(941 * var(--eu)); transform:translateX(-50%); user-select:none;
 mask-image:linear-gradient(to bottom,transparent,#000 12%,
  #000 calc(50% - 205 * var(--eu)),transparent calc(50% - 160 * var(--eu)),
  transparent calc(50% + 160 * var(--eu)),#000 calc(50% + 205 * var(--eu)),#000 88%,transparent);
}
#definition .definition-word-stage { position:relative; width:100%; height:100%; perspective:calc(2100 * var(--eu)); }
#definition .definition-word-drum {
 position:absolute; inset:0; transform-style:preserve-3d;
 transform:translateZ(calc(-1 * var(--word-radius))) rotateX(0deg);
}
#definition [data-wheel-state="running"] .definition-word-drum { will-change:transform; }
#definition .definition-word-row {
 position:absolute; top:50%; left:0; width:100%; height:calc(60 * var(--eu));
 margin-top:calc(-30 * var(--eu)); backface-visibility:hidden;
 color:#c7cdc6; font-size:calc(23 * var(--eu)); font-weight:400;
 line-height:calc(60 * var(--eu)); letter-spacing:-.025em; text-align:center; white-space:nowrap;
}
#definition .definition-divider { transform-origin:top; }
#demo-request { transform-origin:50% 45%; }
@media (max-width:1100px) {
 #definition .definition-word-wheel { display:none; }
 #top .hero-intro { max-width:600px; }
 #top .site-header.is-floating { width:calc(100% - 32px); min-height:60px; padding:9px 14px; }
}
@media (max-width:760px) {
 #top .hero-intro { max-width:540px; }
 #top .hero-actions { align-items:center; }
 #paid-acquisition .paid-brand strong { margin-right:.3em; }
 #top .site-header.is-floating { top:8px; width:calc(100% - 24px); }
 #top .site-header.is-floating[data-surface="dark"] .primary-nav.is-open { background:#080e0b; border-color:#354337; }
}
@media (hover:none) { .primary-nav a::after { content:none; } }
@media (prefers-reduced-motion:reduce) {
 #definition .definition-word-wheel { display:none; }
 #definition [data-word-wheel] .word-cloud { visibility:visible; }
 #capabilities [data-market-motion] .signal-points circle.market-drifter { animation:none; translate:none; }
 #top :is(.hero-copy,.hero-radar,.site-header) { translate:none; }
 .radar-sweep { display:none; }
 :is(.button,.dark-outline-button,.diagram-link,.primary-nav a)::after,
 :is(.button,.dark-outline-button,.diagram-link,.card-arrow) > :is(svg,span) { transition:none; }
}

/* Keep the authored line rhythm while containing each word entrance. */
#principle h2 .principle-line {
 display:block;
 padding:.16em .04em .22em;
 margin:-.16em -.04em -.22em;
 overflow:clip;
 color:inherit;
 line-height:inherit;
 white-space:nowrap;
}
#principle h2 .principle-line--accent { color:#7da382; }
#principle h2 .principle-word {
 display:inline-block;
 color:inherit;
 line-height:inherit;
 vertical-align:top;
 transform-origin:50% 100%;
}

/* The engine headline borrows the principle's masked, overlapping word rise. */
#engine .engine-heading h2 .engine-title-line {
 display:block;
 padding:.11em .025em .15em;
 margin:-.11em -.025em -.15em;
 overflow:clip;
 color:inherit;
 line-height:inherit;
 white-space:nowrap;
}
#engine .engine-heading h2 .engine-title-line--muted { color:#737477; }
#engine .engine-heading h2 .engine-title-word {
 display:inline-block;
 color:inherit;
 line-height:inherit;
 vertical-align:top;
 transform-origin:50% 100%;
}

@media (max-width:900px) {
 #engine .engine-heading h2 .engine-title-line { white-space:normal; }
 #engine .engine-heading h2 .engine-title-word { white-space:normal; }
}
