:root {
    --public-motion-ease: cubic-bezier(.16,1,.3,1);
    --public-motion-ease-soft: cubic-bezier(.22,.8,.25,1);
    --public-motion-duration: 860ms;
}

body.signal-site {
    overflow-x: clip;
}

.public-motion-progress {
    position: fixed;
    z-index: 120;
    top: 0;
    right: 0;
    left: 0;
    height: 3px;
    pointer-events: none;
    transform: scaleX(var(--motion-progress,0));
    transform-origin: left center;
    background: var(--lime);
    will-change: transform;
}

.site-header {
    animation: public-header-in .72s var(--public-motion-ease) both;
    transition: height .35s var(--public-motion-ease), background-color .35s ease, box-shadow .35s ease, border-color .35s ease;
}

.site-header.is-scrolled {
    border-color: rgba(17,21,19,.08);
    background: rgba(246,244,238,.86);
    box-shadow: 0 14px 40px rgba(20,31,30,.07);
}

.signal-symbol::before {
    transform-origin: 11px 13px;
    animation: public-symbol-orbit 9s linear infinite;
}

.signal-symbol i,
.kicker > span {
    animation: public-dot-pulse 2.8s ease-in-out infinite;
}

.motion-ready [data-public-motion] {
    opacity: 0;
    transition:
        opacity var(--public-motion-duration) var(--public-motion-ease) var(--public-motion-delay,0ms),
        transform var(--public-motion-duration) var(--public-motion-ease) var(--public-motion-delay,0ms),
        clip-path calc(var(--public-motion-duration) + 120ms) var(--public-motion-ease) var(--public-motion-delay,0ms),
        filter var(--public-motion-duration) var(--public-motion-ease) var(--public-motion-delay,0ms);
    will-change: transform, opacity, clip-path;
}

.motion-ready [data-public-motion="rise"] {
    transform: translate3d(0,42px,0);
    filter: blur(4px);
}

.motion-ready [data-public-motion="left"] {
    transform: translate3d(-42px,0,0);
}

.motion-ready [data-public-motion="right"] {
    transform: translate3d(42px,0,0);
}

.motion-ready [data-public-motion="scale"] {
    transform: scale(.95);
}

.motion-ready [data-public-motion="panel"] {
    opacity: 0;
    clip-path: none;
    transform: translate3d(0,28px,0) scale(.985);
}

.motion-ready [data-public-motion].is-visible {
    opacity: 1;
    clip-path: inset(0 0 0 0 round 0);
    transform: none;
    filter: none;
}

.motion-ready .plan-card.featured[data-public-motion].is-visible {
    transform: translateY(-12px);
}

.motion-ready .hero-product[data-public-motion="panel"] {
    transform: translate3d(0,28px,0) rotate(1.2deg) scale(.985);
}

.motion-ready .hero-product[data-public-motion="panel"].is-visible {
    transform: perspective(1200px) rotateX(var(--hero-tilt-y,0deg)) rotateY(var(--hero-tilt-x,0deg)) rotateZ(1.2deg);
    transition:
        opacity 1s var(--public-motion-ease) var(--public-motion-delay,0ms),
        clip-path 1.15s var(--public-motion-ease) var(--public-motion-delay,0ms),
        transform .3s var(--public-motion-ease-soft);
}

.hero-proof-composition::after,
.product-shot::after,
.bds-brand-card::after,
.bds-flow-asset::after {
    position: absolute;
    z-index: 4;
    inset: 0;
    pointer-events: none;
    background: var(--paper);
    content: "";
    transform: scaleX(0);
    transform-origin: right center;
}

.bds-brand-card::after,
.bds-flow-asset::after { background: var(--proof-lime,#dce86b); }

.motion-ready .hero-product.is-visible .hero-proof-composition::after,
.motion-ready .product-shot.is-visible::after,
.motion-ready .bds-brand-card.is-visible::after,
.motion-ready .bds-flow-asset.is-visible::after {
    animation: public-panel-wipe 1.05s var(--public-motion-ease) both;
}

.floating-decision {
    animation: public-card-float 5.8s ease-in-out infinite;
}

.hero-brand-asset > i,
.bds-hotspot,
.bds-demo-asset-preview > i {
    transition: transform .35s var(--public-motion-ease), box-shadow .35s ease;
}

.hero-product:hover .hero-brand-asset > i,
.bds-flow-asset:hover .bds-hotspot {
    transform: scale(1.08);
}

.trust-strip > div.has-motion-marquee {
    display: block;
    width: calc(100% + 72px);
    margin-inline: -36px;
    overflow: hidden;
    white-space: nowrap;
    -webkit-mask-image: linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);
    mask-image: linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);
}

.trust-strip .public-marquee-track {
    display: flex;
    width: max-content;
    align-items: center;
    justify-content: flex-start;
    gap: 0;
    flex-wrap: nowrap;
    animation: public-marquee 25s linear infinite;
    will-change: transform;
}

.trust-strip .public-marquee-group {
    display: flex;
    flex: none;
    align-items: center;
    justify-content: flex-start;
    gap: 25px;
    flex-wrap: nowrap;
    padding-right: 25px;
}

.trust-strip:hover .public-marquee-track {
    animation-play-state: paused;
}

.button,
.case-grid article,
.workflow article,
.product-capabilities article,
.journey-map article,
.role-grid article,
.plan-card,
.decision-quadrant article {
    transition: transform .32s var(--public-motion-ease), box-shadow .32s ease, background-color .32s ease, border-color .32s ease;
}

.button {
    transform: translate3d(var(--magnetic-x,0),var(--magnetic-y,0),0);
}

.button:hover {
    transform: translate3d(var(--magnetic-x,0),calc(var(--magnetic-y,0) - 2px),0);
}

.case-grid article,
.workflow article,
.product-capabilities article,
.journey-map article,
.role-grid article,
.plan-card,
.decision-quadrant article {
    position: relative;
    isolation: isolate;
}

.case-grid article::after,
.workflow article::after,
.journey-map article::after,
.role-grid article::after,
.decision-quadrant article::after {
    position: absolute;
    z-index: -1;
    inset: 0;
    background: rgba(255,254,250,.72);
    content: "";
    transform: scaleY(0);
    transform-origin: bottom;
    transition: transform .4s var(--public-motion-ease);
}

.case-grid article:hover,
.workflow article:hover,
.product-capabilities article:hover,
.journey-map article:hover,
.role-grid article:hover,
.plan-card:not(.featured):hover,
.decision-quadrant article:hover {
    z-index: 2;
    transform: translateY(-7px);
    box-shadow: 0 24px 55px rgba(18,35,38,.1);
}

.motion-ready .case-grid article[data-public-motion].is-visible:hover,
.motion-ready .workflow article[data-public-motion].is-visible:hover,
.motion-ready .product-capabilities article[data-public-motion].is-visible:hover,
.motion-ready .journey-map article[data-public-motion].is-visible:hover,
.motion-ready .role-grid article[data-public-motion].is-visible:hover,
.motion-ready .plan-card[data-public-motion].is-visible:not(.featured):hover,
.motion-ready .decision-quadrant article[data-public-motion].is-visible:hover {
    transform: translateY(-7px);
}

.case-grid article:hover::after,
.workflow article:hover::after,
.journey-map article:hover::after,
.role-grid article:hover::after,
.decision-quadrant article:hover::after {
    transform: scaleY(1);
}

.case-grid article > span,
.step-icon {
    transition: color .35s ease, background-color .35s ease, transform .5s var(--public-motion-ease);
}

.case-grid article:hover > span,
.workflow article:hover .step-icon {
    color: var(--ink);
    background: var(--lime);
    transform: rotate(7deg) scale(1.08);
}

.product-shot img,
.hero-proof-composition img,
.bds-flow-asset img {
    transform: translate3d(0,var(--public-parallax,0px),0) scale(1.045);
    transition: transform .75s var(--public-motion-ease), filter .75s ease;
    will-change: transform;
}

.product-shot:hover img,
.hero-proof-composition:hover img,
.bds-flow-asset:hover img {
    transform: translate3d(0,var(--public-parallax,0px),0) scale(1.075);
}

.product-shot figcaption,
.hero-proof-composition figcaption,
.bds-flow-asset-label,
.bds-brand-card-verdict {
    transition: transform .45s var(--public-motion-ease), background-color .3s ease;
}

.product-shot:hover figcaption,
.hero-proof-composition figure:hover figcaption,
.bds-flow-asset:hover .bds-flow-asset-label,
.bds-brand-card:hover .bds-brand-card-verdict {
    transform: translateY(-5px);
}

.motion-ready .metric-panel .chart-bars i {
    transform: scaleY(0);
    transform-origin: bottom;
    transition: transform .75s var(--public-motion-ease) var(--bar-delay,0ms), background-color .25s ease;
}

.motion-ready .metric-panel.is-visible .chart-bars i {
    transform: scaleY(1);
}

.bds-flow-review {
    position: relative;
    overflow: hidden;
}

.bds-flow-panel.is-entering .bds-flow-review::after {
    position: absolute;
    z-index: 5;
    right: 0;
    left: 0;
    height: 2px;
    background: var(--proof-lime,#dce86b);
    box-shadow: 0 0 18px rgba(220,232,107,.58);
    content: "";
    animation: public-result-scan .8s ease-out both;
}

.bds-flow-panel.is-entering .bds-flow-review > * {
    animation: public-result-in .62s var(--public-motion-ease) backwards;
}

.bds-flow-panel.is-entering .bds-flow-review > :nth-child(2) { animation-delay: 90ms; }
.bds-flow-panel.is-entering .bds-flow-review > :nth-child(3) { animation-delay: 150ms; }
.bds-flow-panel.is-entering .bds-flow-review > :nth-child(4) { animation-delay: 210ms; }
.bds-flow-panel.is-entering .bds-flow-review > :nth-child(5) { animation-delay: 270ms; }

.process-nav a::after {
    position: absolute;
    right: 18px;
    bottom: -1px;
    left: 18px;
    height: 2px;
    background: var(--lime);
    content: "";
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .35s var(--public-motion-ease);
}

.process-nav a {
    position: relative;
    transition: color .25s ease, background-color .25s ease;
}

.process-nav a:hover,
.process-nav a.is-current {
    background: rgba(255,254,250,.72);
}

.process-nav a:hover::after,
.process-nav a.is-current::after {
    transform: scaleX(1);
}

.pricing-faq details[open] > p {
    animation: public-faq-in .45s var(--public-motion-ease) both;
}

.pricing-faq summary span {
    display: inline-block;
    transition: transform .35s var(--public-motion-ease);
}

.pricing-faq details[open] summary span {
    transform: rotate(45deg);
}

.site-footer a {
    transition: color .2s ease, transform .25s var(--public-motion-ease);
}

.site-footer a:hover {
    color: var(--lime);
    transform: translateX(4px);
}

@keyframes public-symbol-orbit {
    to { transform: translate(6px,-3px) rotate(360deg); }
}

@keyframes public-header-in {
    from { opacity: 0; transform: translateY(-18px); }
    to { opacity: 1; transform: none; }
}

@keyframes public-dot-pulse {
    0%,100% { box-shadow: 0 0 0 0 rgba(168,186,47,0); transform: scale(1); }
    50% { box-shadow: 0 0 0 7px rgba(168,186,47,.13); transform: scale(.84); }
}

@keyframes public-card-float {
    0%,100% { transform: rotate(-1.2deg) translateY(0); }
    50% { transform: rotate(-.4deg) translateY(-9px); }
}

@keyframes public-panel-wipe {
    0% { transform: scaleX(0); transform-origin: right center; }
    45% { transform: scaleX(1); transform-origin: right center; }
    46% { transform-origin: left center; }
    100% { transform: scaleX(0); transform-origin: left center; }
}

@keyframes public-marquee {
    to { transform: translate3d(-50%,0,0); }
}

@keyframes public-faq-in {
    from { opacity: 0; transform: translateY(-10px); }
    to { opacity: 1; transform: none; }
}

@keyframes public-result-in {
    from { opacity: 0; transform: translateY(18px); }
    to { opacity: 1; transform: none; }
}

@keyframes public-result-scan {
    0% { top: 0; opacity: 0; }
    12% { opacity: 1; }
    85% { opacity: 1; }
    100% { top: calc(100% - 2px); opacity: 0; }
}

@media (max-width: 1120px) {
    .motion-ready .plan-card.featured[data-public-motion].is-visible { transform: none; }
}

@media (max-width: 820px) {
    .public-motion-progress { height: 2px; }
    .trust-strip > div.has-motion-marquee { width: calc(100% + 36px); margin-inline: -18px; }
    .motion-ready [data-public-motion="left"],
    .motion-ready [data-public-motion="right"] { transform: translate3d(0,30px,0); }
    .case-grid article:hover,
    .workflow article:hover,
    .product-capabilities article:hover,
    .journey-map article:hover,
    .role-grid article:hover,
    .plan-card:not(.featured):hover,
    .decision-quadrant article:hover { transform: none; box-shadow: none; }
    .motion-ready .case-grid article[data-public-motion].is-visible:hover,
    .motion-ready .workflow article[data-public-motion].is-visible:hover,
    .motion-ready .product-capabilities article[data-public-motion].is-visible:hover,
    .motion-ready .journey-map article[data-public-motion].is-visible:hover,
    .motion-ready .role-grid article[data-public-motion].is-visible:hover,
    .motion-ready .plan-card[data-public-motion].is-visible:not(.featured):hover,
    .motion-ready .decision-quadrant article[data-public-motion].is-visible:hover { transform: none; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    .signal-symbol::before,
    .signal-symbol i,
    .kicker > span,
    .floating-decision,
    .trust-strip .public-marquee-track { animation: none !important; }
    .site-header { animation: none; }
    .motion-ready [data-public-motion],
    .motion-ready [data-public-motion].is-visible,
    .motion-ready .hero-product[data-public-motion="panel"],
    .motion-ready .hero-product[data-public-motion="panel"].is-visible { opacity: 1; clip-path: none; transform: none; filter: none; transition: none; }
    .motion-ready .plan-card.featured[data-public-motion].is-visible { transform: translateY(-12px); }
    .motion-ready .metric-panel .chart-bars i { transform: scaleY(1); transition: none; }
    .product-shot img,
    .hero-proof-composition img,
    .bds-flow-asset img { transform: none; transition: none; }
    .hero-proof-composition::after,
    .product-shot::after,
    .bds-brand-card::after,
    .bds-flow-asset::after { display: none; }
    .bds-flow-panel.is-entering .bds-flow-review::after { display: none; }
    .bds-flow-panel.is-entering .bds-flow-review > * { animation: none; }
}

@media (prefers-reduced-motion: reduce) and (max-width: 1120px) {
    .motion-ready .plan-card.featured[data-public-motion].is-visible { transform: none; }
}

