:root { --motion-ease: cubic-bezier(.2,.75,.25,1); }
.rebrand .site-surface { mix-blend-mode: normal; }
.rebrand .lead-glitch::before, .rebrand .lead-glitch::after { animation: none; }
.rebrand .chat-launcher svg, .rebrand .nav__status-dot, .rebrand .page-hero__pre::after { animation-iteration-count: 1; }
.rebrand .nav__link { position: relative; }
.rebrand .nav__link::after { content: ''; position: absolute; inset: auto 0 -1px; height: 1px; background: var(--phosphor); transform: scaleX(0); transform-origin: left; }
.rebrand .nav__link:is(:hover, :focus-visible)::after { transform: scaleX(1); }
.rebrand .project-summary:focus-visible { outline-offset: -3px; }
.rebrand .lead-section-head { position: relative; }
.rebrand .lead-section-head::after { content: ''; position: absolute; left: 0; bottom: -12px; width: 56px; height: 1px; background: var(--phosphor-dim); transform-origin: left; }
.rebrand .lead-hero-scene { overflow: hidden; mix-blend-mode: lighten; }
.rebrand .lead-hero-scene { right: max(16px, calc((100vw - 1440px) / 2)); max-width: 660px; }
.signal-portrait { position: absolute; inset: 7% 3%; pointer-events: none; }
.lead-hero-scene > .lead-hero-image { inset: 7% 3%; width: 94%; height: 86%; }
.signal-image-stack { position: absolute; inset: 0; }
.signal-slice { opacity: 0; }
.signal-slice-a { clip-path: inset(27% 0 65%); }
.signal-slice-b { clip-path: inset(61% 0 34%); }
.rebrand :is(.lead-metrics > div, .process-step, .solution) { position: relative; }
.rebrand :is(.lead-metrics > div, .process-step, .solution)::after { content: ''; position: absolute; height: 1px; top: 0; left: 0; width: 100%; background: var(--phosphor); opacity: 0; transform: scaleX(0); transform-origin: left; pointer-events: none; }
.rebrand .process-step:nth-child(even)::after, .rebrand .solution:nth-child(even)::after { background: var(--teal); }
.rebrand .archive-interface .blog-posts__link { transition: color 180ms ease; }
.rebrand .archive-interface .blog-posts__link:is(:hover, :focus-visible), .rebrand .archive-interface .is-active .blog-posts__link { padding-left: 0; }

@media (prefers-reduced-motion: no-preference) {
  html:not([data-site-motion="off"]) .rebrand :is(.nav__cta, .primary-action, .secondary-action, .form__submit, .chat-launcher, .chat-icon, .chat-handoff, .lang-toggle) {
    transition: transform 180ms var(--motion-ease), background-color 180ms ease, border-color 180ms ease, color 180ms ease;
  }
  html:not([data-site-motion="off"]) .rebrand :is(.nav__cta, .primary-action, .secondary-action, .form__submit, .chat-launcher, .chat-icon, .chat-handoff, .lang-toggle):active:not(:disabled) { transform: scale(.98); }
  html:not([data-site-motion="off"]) .rebrand .nav__link::after,
  html:not([data-site-motion="off"]) .rebrand .project-filter::after,
  html:not([data-site-motion="off"]) .rebrand .project-summary::before,
  html:not([data-site-motion="off"]) .rebrand .project-toggle svg { transition: transform 260ms var(--motion-ease); }
  html:not([data-site-motion="off"]) .rebrand :is(.project-filter, .project-name, .team-avatar, .form__input, .form__textarea) { transition: color 180ms ease, border-color 180ms ease; }
  html:not([data-site-motion="off"]) .rebrand :is(.client-record, .solution, .team-member, .lead-case-row) { transition: background-color 200ms ease, border-color 200ms ease; }
  html:not([data-site-motion="off"]) .rebrand :is(.client-logo img, .team-portrait img, .team-avatar svg, .lead-case-row h3, .blog-posts__title) { transition: transform 260ms var(--motion-ease); }
  html:not([data-site-motion="off"]) .rebrand .text-link { transition: color 180ms ease, border-color 180ms ease; }
  html:not([data-site-motion="off"]) .rebrand .project-row[open] > .project-body { animation: surface-enter 240ms var(--motion-ease) backwards; }
  html:not([data-site-motion="off"]) .rebrand .consultation-chat[open] { animation: dialog-enter 260ms var(--motion-ease) backwards; }
  html:not([data-site-motion="off"]) .rebrand .consultation-chat[open]::backdrop { animation: backdrop-enter 180ms ease backwards; }
  html:not([data-site-motion="off"]) .rebrand .chat-bubble { animation: surface-enter 220ms var(--motion-ease) backwards; }
  html[data-site-motion="full"] .signal-portrait { transform: translate(var(--signal-x, 0px), var(--signal-y, 0px)); transition: transform 650ms var(--motion-ease); }
  html[data-site-motion="full"] .signal-image-stack { animation: signal-float 7s ease-in-out infinite; }
  html[data-site-motion="full"] .signal-slice-a { animation: signal-glitch-a 9s steps(1, end) infinite; }
  html[data-site-motion="full"] .signal-slice-b { animation: signal-glitch-b 9s steps(1, end) infinite; }
  html[data-site-motion="full"] .rebrand .lead-metrics > div::after { animation: signal-route 9s var(--motion-ease) infinite; }
  html[data-site-motion="full"] .rebrand .process-step::after { animation: signal-route 12s var(--motion-ease) infinite; }
  html[data-site-motion="full"] .rebrand .process-step b { animation: step-emphasis 12s ease-in-out infinite; }
  html[data-site-motion="full"] .rebrand .solution::after { animation: signal-route 14s var(--motion-ease) infinite; }
  html[data-site-motion="full"] .rebrand :is(.lead-metrics > div, .process-step, .solution):nth-child(2)::after,
  html[data-site-motion="full"] .rebrand .process-step:nth-child(2) b { animation-delay: 2s; }
  html[data-site-motion="full"] .rebrand :is(.lead-metrics > div, .process-step, .solution):nth-child(3)::after,
  html[data-site-motion="full"] .rebrand .process-step:nth-child(3) b { animation-delay: 4s; }
  html[data-site-motion="full"] .rebrand :is(.process-step, .solution):nth-child(4)::after,
  html[data-site-motion="full"] .rebrand .process-step:nth-child(4) b { animation-delay: 6s; }
  html[data-site-motion="full"] .rebrand .lead-section-head[data-motion-active="true"]::after { animation: section-rule 8s var(--motion-ease) infinite; }
  html[data-site-motion="light"] .rebrand .lead-section-head[data-motion-seen]::after { animation: rule-enter 560ms var(--motion-ease) backwards; }
  @media (hover: hover) and (pointer: fine) {
    html:not([data-site-motion="off"]) .rebrand :is(.nav__cta, .primary-action, .secondary-action, .form__submit, .chat-launcher):hover:not(:disabled) { transform: translateY(-2px); }
    html:not([data-site-motion="off"]) .rebrand .client-record:hover img { transform: scale(1.04); }
    html:not([data-site-motion="off"]) .rebrand .team-pm:hover img { transform: scale(1.015); }
    html:not([data-site-motion="off"]) .rebrand .team-member:hover .team-avatar svg { transform: translateY(-3px); }
    html:not([data-site-motion="off"]) .rebrand .team-member:hover .team-avatar { color: var(--phosphor); }
    html:not([data-site-motion="off"]) .rebrand :is(.lead-case-row:hover h3, .blog-posts__link:hover .blog-posts__title) { transform: translateX(3px); }
    html:not([data-site-motion="off"]) .rebrand .project-summary:hover .project-name { color: var(--phosphor); }
    html:not([data-site-motion="off"]) .rebrand .text-link:hover { border-color: var(--phosphor); }
    html:not([data-site-motion="off"]) .rebrand .primary-action svg { transition: transform 220ms var(--motion-ease); }
    html:not([data-site-motion="off"]) .rebrand .primary-action:hover svg { transform: translate(3px, -3px); }
  }
}
@keyframes surface-enter { from { opacity: 0; transform: translate3d(0,8px,0); } to { opacity: 1; transform: none; } }
@keyframes dialog-enter { from { opacity: 0; transform: translate3d(0,14px,0) scale(.99); } to { opacity: 1; transform: none; } }
@keyframes backdrop-enter { from { opacity: 0; } to { opacity: 1; } }
@keyframes rule-enter { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@keyframes signal-float { 0%, 100% { transform: translateY(3px); } 50% { transform: translateY(-6px); } }
@keyframes signal-glitch-a {
  0%, 15%, 21%, 100% { opacity: 0; transform: none; }
  16% { opacity: .65; transform: translateX(8px); clip-path: inset(27% 0 65%); }
  18% { opacity: .5; transform: translateX(-6px); clip-path: inset(42% 0 53%); }
  20% { opacity: .35; transform: translateX(3px); clip-path: inset(30% 0 67%); }
}
@keyframes signal-glitch-b {
  0%, 16%, 22%, 100% { opacity: 0; transform: none; }
  17% { opacity: .5; transform: translateX(-8px); clip-path: inset(61% 0 34%); }
  19% { opacity: .4; transform: translateX(5px); clip-path: inset(73% 0 24%); }
  21% { opacity: .25; transform: translateX(-3px); clip-path: inset(55% 0 42%); }
}
@keyframes signal-route { 0%, 45%, 100% { opacity: 0; transform: scaleX(0); } 8% { opacity: .65; } 25% { opacity: .45; transform: scaleX(1); } 38% { opacity: 0; transform: scaleX(1); } }
@keyframes step-emphasis { 0%, 40%, 100% { color: #667169; } 12%, 25% { color: #b1e7bd; } }
@keyframes section-rule { 0%, 70%, 100% { transform: scaleX(1); } 30% { transform: scaleX(1.8); } }
.rebrand [data-motion-active]:not([data-motion-active="true"]) *,
.rebrand [data-motion-active]:not([data-motion-active="true"]) *::after { animation-play-state: paused !important; }
@media (max-width: 680px) {
  .rebrand .lead-hero-scene { right: 0; max-width: none; height: 144px; }
  .rebrand .lead-hero-copy { padding-top: 165px; }
  .rebrand .scene-label { bottom: 10px; max-width: 95px; text-align: right; line-height: 1.6; }
}
@media (max-width: 360px) {
  .rebrand .lead-hero-scene { height: 116px; }
  .rebrand .lead-hero-copy { padding-top: 137px; }
}
html.motion-paused .rebrand *, html.motion-paused .rebrand *::before, html.motion-paused .rebrand *::after { animation-play-state: paused !important; transition: none !important; }
html[data-site-motion="light"] .rebrand *, html[data-site-motion="light"] .rebrand *::before, html[data-site-motion="light"] .rebrand *::after { animation-duration: 180ms !important; transition-duration: 120ms !important; }
html[data-site-motion="off"] { scroll-behavior: auto; }
html[data-site-motion="off"] .rebrand *, html[data-site-motion="off"] .rebrand *::before, html[data-site-motion="off"] .rebrand *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .rebrand *, .rebrand *::before, .rebrand *::after { animation: none !important; transition: none !important; }
}
