/* Interaction polish for the existing Breeze layout. No external assets. */
::selection { background:var(--accent-soft,#fff1e5); color:var(--fg,#1c1c1c); }
:where(a,button,input,textarea,select,summary):focus-visible { outline:3px solid var(--focus-ring,#1c1c1c); outline-offset:4px; }
.fusion-header::after { content:""; position:absolute; bottom:-1px; left:0; width:100%; height:2px; background:linear-gradient(90deg,var(--glow-a,#ff8e2a),var(--glow-b,#ff5fa2) 60%,var(--glow-c,#6b8aff)); opacity:.88; transform:scaleX(var(--page-progress,0)); transform-origin:left; pointer-events:none; }
.fusion-nav > a:not(.fusion-btn), .fusion-nav-group > summary { position:relative; transition:color .2s var(--work-ease); }
.fusion-nav > a:not(.fusion-btn)::before, .fusion-nav-group > summary::before { content:""; position:absolute; bottom:5px; left:0; right:0; height:2px; border-radius:2px; background:var(--accent,#ff8e2a); transform:scaleX(0); transform-origin:left; transition:transform .28s var(--spring-ease,cubic-bezier(.16,1,.3,1)); opacity:.92; }
.fusion-nav > a[aria-current='page']::before, .fusion-nav > a:not(.fusion-btn):hover::before, .fusion-nav-group[open] > summary::before, .fusion-nav-group > summary[aria-current='true']::before { transform:scaleX(1); }
.fusion-btn .fusion-icon, .fusion-card-link .fusion-icon, .fusion-hero-secondary .fusion-icon, .fusion-mega-all .fusion-icon, .fusion-mega-contact .fusion-icon, .fusion-workbench-bar > a .fusion-icon { transition:transform .28s var(--spring-ease,cubic-bezier(.16,1,.3,1)); }
@media (hover:hover) {
  .fusion-btn:hover .fusion-icon, .fusion-card-link:hover .fusion-icon, .fusion-hero-secondary:hover .fusion-icon, .fusion-mega-all:hover .fusion-icon, .fusion-mega-contact:hover .fusion-icon, .fusion-workbench-bar > a:hover .fusion-icon { transform:translateX(4px); }
  .fusion-mega-links a { position:relative; transition:background-color .22s var(--work-ease),transform .28s var(--spring-ease,cubic-bezier(.16,1,.3,1)); }
  .fusion-mega-links a:hover { transform:translateX(3px); }
  [data-spotlight] { background-image:radial-gradient(380px circle at var(--spot-x,50%) var(--spot-y,0%),rgb(255 142 42 / 0%),transparent 70%); }
  [data-spotlight]:hover { background-image:radial-gradient(380px circle at var(--spot-x,50%) var(--spot-y,0%),rgb(255 142 42 / 6.5%),transparent 70%); }
  .fusion-workbench:hover .fusion-window-dots i:nth-child(1) { background:#ec7e66; }
  .fusion-workbench:hover .fusion-window-dots i:nth-child(2) { background:#ebb95e; }
  .fusion-workbench:hover .fusion-window-dots i:nth-child(3) { background:#78b88c; }
  .fusion-steps > li { transition:transform .32s var(--spring-ease,cubic-bezier(.16,1,.3,1)),border-color .26s var(--work-ease),box-shadow .32s var(--work-ease); }
  .fusion-steps > li:hover { transform:translateY(-3px); border-color:var(--accent,#ff8e2a); box-shadow:0 12px 28px rgb(28 28 28 / 5%); }
}
.fusion-window-dots i { transition:background-color .28s var(--work-ease); }
.fusion-product-tabs { position:relative; isolation:isolate; }
.fusion-tab-indicator { position:absolute; top:0; left:0; z-index:-1; border:1px solid rgb(0 0 0 / 6%); border-radius:8px; background:var(--surface,#fff); box-shadow:0 1px 2px rgb(0 0 0 / 8%),0 4px 10px rgb(0 0 0 / 4%); pointer-events:none; transition:transform .32s var(--spring-ease,cubic-bezier(.16,1,.3,1)),width .32s var(--spring-ease,cubic-bezier(.16,1,.3,1)),height .32s var(--spring-ease,cubic-bezier(.16,1,.3,1)); }
[data-tabs-ready='true'] .fusion-product-tab[aria-selected='true'] { background:transparent; border-color:transparent; color:var(--fg,#1c1c1c); font-weight:600; }
.fusion-product-tab { color:var(--fg-subtle,#6e6b66); }
.fusion-product-tab:focus-visible { outline-offset:2px; }
.fusion-product-panel ol > li { transition:transform .24s var(--spring-ease,cubic-bezier(.16,1,.3,1)),color .2s var(--work-ease); }
@media (hover:hover) {
  .fusion-product-panel ol > li:hover { transform:translateX(3px); color:var(--fg,#1c1c1c); }
}
.fusion-case-media a[data-image-preview], .fusion-product-panel figure > a[data-image-preview], .fusion-screen-gallery figure > a[data-image-preview] { position:relative; display:block; }
a[data-image-preview]::after { content:"查看大图 ↗"; position:absolute; bottom:12px; right:12px; padding:5px 10px; border:1px solid rgb(232 232 232 / 92%); border-radius:7px; background:rgb(255 255 255 / 96%); backdrop-filter:blur(8px); color:var(--fg,#1c1c1c); font-size:11px; line-height:1.6; box-shadow:0 4px 12px rgb(28 28 28 / 10%); opacity:0; transform:translateY(4px) scale(.98); transition:opacity .22s var(--work-ease),transform .26s var(--spring-ease,cubic-bezier(.16,1,.3,1)); pointer-events:none; }
a[data-image-preview]:is(:hover,:focus-visible)::after { opacity:1; transform:none; }
.fusion-case-card:focus-within { border-color:var(--accent,#ff8e2a); box-shadow:0 0 0 3px var(--accent-soft,#fff1e5); }
.fusion-footer-grid > div:last-child > a { color:var(--fg,#1c1c1c); }
.fusion-footer-bottom { color:var(--fg-subtle,#6e6b66); }
.fusion-mega-links small, .fusion-product-panel figcaption, .fusion-workbench-kicker { color:var(--fg-subtle,#6e6b66); }
.fusion-lightbox[open] { animation:lightbox-in .24s var(--spring-ease,cubic-bezier(.16,1,.3,1)); }
.fusion-lightbox::backdrop { background:rgb(20 18 16 / 74%); backdrop-filter:blur(6px); }
@keyframes lightbox-in { from { opacity:0; transform:translateY(10px) scale(.985); } to { opacity:1; transform:none; } }

/* One direct conversation, rather than three stacked sales headlines. */
.fusion-contact-page { padding:30px 0 86px; background:var(--bg,#fcfbf8); }
.fusion-contact-page > .fusion-container { max-width:1240px; }
.fusion-contact-page .fusion-breadcrumbs { margin:0 0 38px; color:var(--fg-subtle,#6e6b66); }
.fusion-contact-grid { gap:clamp(36px,5.5vw,86px); }
.fusion-contact-page .fusion-contact-grid { grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr); }
.fusion-contact-intro { min-width:0; padding-top:15px; }
.fusion-contact-intro > .fusion-eyebrow { color:var(--accent-text,#b84b08); font-size:11px; margin-bottom:23px; }
.fusion-contact-intro > h1 { font-size:clamp(36px,3.5vw,51px); font-weight:730; line-height:1.3; letter-spacing:-.055em; max-width:11em; text-wrap:balance; }
.fusion-contact-intro > h3 { max-width:14em; line-height:1.5; }
.fusion-contact-intro > .fusion-lead { margin-top:20px; max-width:470px; color:var(--fg-muted,#5f5d59); font-size:16px; line-height:1.9; }
.fusion-contact-intro .fusion-contact-methods { margin-top:30px; padding-top:25px; border-color:var(--border,#e8e8e8); }
.fusion-contact-method-label { display:block; margin-bottom:6px; color:var(--fg-subtle,#6e6b66); font-size:12px; }
.fusion-contact-intro .fusion-contact-methods > a { font-size:clamp(26px,2.6vw,35px); font-weight:650; letter-spacing:-.03em; }
.fusion-contact-methods > .fusion-contact-wechat { display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin-top:16px; }
.fusion-contact-wechat strong { font-size:15px; letter-spacing:.01em; }
.fusion-contact-methods button { margin-left:3px; padding:5px 10px; border-color:var(--border,#e8e8e8); background:var(--surface,#fff); color:var(--fg,#1c1c1c); border-radius:7px; box-shadow:0 1px 2px rgb(0 0 0 / 4%); }
.fusion-contact-methods button:hover { background:var(--accent-soft,#fff1e5); border-color:var(--accent-border,#f5cfaf); color:var(--accent-text,#b84b08); }
.fusion-contact-methods p.fusion-contact-location { margin-top:20px; font-size:13px; color:var(--fg-subtle,#6e6b66); }
.fusion-contact-guide { margin-top:40px; padding-top:25px; border-top:1px solid var(--border,#e8e8e8); }
.fusion-contact-guide h2, .fusion-contact-guide h4 { font-size:14px; font-weight:600; }
.fusion-contact-guide ol { list-style:none; padding:0; display:grid; gap:14px; margin:18px 0 0; }
.fusion-contact-guide li { display:flex; align-items:flex-start; gap:12px; font-size:13px; line-height:1.8; color:var(--fg-muted,#5f5d59); }
.fusion-contact-guide li > span { display:grid; place-items:center; flex-shrink:0; width:22px; height:22px; margin-top:1px; border:1px solid var(--accent-border,#f5cfaf); background:var(--accent-soft,#fff1e5); border-radius:50%; color:var(--accent-text,#b84b08); font-size:10px; font-weight:600; }
.fusion-contact-guide strong { color:var(--fg,#1c1c1c); font-weight:500; }
.fusion-contact-form-wrap { min-width:0; }
.fusion-form { border-color:var(--border,#e8e8e8); border-radius:20px; padding:30px; box-shadow:var(--shadow-card,0 8px 28px rgb(28 28 28 / 5%)); transition:border-color .25s,box-shadow .3s; }
.fusion-form:focus-within { border-color:var(--border-strong,#d4d1ca); box-shadow:0 12px 36px rgb(28 28 28 / 7%); }
.fusion-form-heading { padding-bottom:23px; margin-bottom:23px; border-bottom:1px solid var(--border,#e8e8e8); }
.fusion-form .fusion-form-heading :is(h2,h3) { margin:0 0 7px; font-size:21px; letter-spacing:-.03em; font-weight:650; }
.fusion-form-heading > p { font-size:13px; color:var(--fg-muted,#5f5d59); line-height:1.75; }
.fusion-field { margin-bottom:19px; }
.fusion-field > label { font-size:13px; font-weight:500; margin-bottom:8px; }
.fusion-field > label > span { color:var(--accent-text,#b84b08); margin-left:2px; }
.fusion-field input:not([type='checkbox']), .fusion-field textarea, .fusion-field select { background:var(--bg,#fcfbf8); border-color:#dfdcd5; border-radius:9px; padding:11px 13px; transition:border-color .2s,background-color .2s,box-shadow .2s; }
.fusion-field :is(input,textarea,select):hover { border-color:#c5c1b8; }
.fusion-field :is(input,textarea,select):focus { outline:none; background:var(--surface,#fff); border-color:var(--fg,#1c1c1c); box-shadow:0 0 0 3px var(--accent-soft,#fff1e5); }
.fusion-field :is(input,textarea,select)[aria-invalid='true'] { border-color:#c2513e; background:#fff9f7; }
.fusion-field textarea { min-height:116px; }
.fusion-field input::placeholder, .fusion-field textarea::placeholder { color:#7c7872; }
.fusion-field-error { color:#a63a28; font-size:12px; line-height:1.65; margin-top:7px; }
/* Reserve the blur hint so it cannot move a checkbox during a pointer click. */
#contact-phone-error { min-height:20px; }
#contact-phone-error[hidden] { display:block !important; visibility:hidden; }
.fusion-form-optional { margin:0 0 21px; border-bottom:1px solid var(--border,#e8e8e8); }
.fusion-form-optional > summary { display:flex; gap:9px; align-items:center; list-style:none; cursor:pointer; color:var(--fg-muted,#5f5d59); font-size:12px; padding:0 0 16px; }
.fusion-form-optional > summary::-webkit-details-marker { display:none; }
.fusion-form-optional > summary::before { content:"+"; font-size:18px; width:14px; color:var(--accent-text,#b84b08); line-height:1; }
.fusion-form-optional[open] > summary::before { content:"−"; }
.fusion-form-optional [data-optional-status] { margin-left:auto; color:var(--fg-subtle,#6e6b66); font-size:11px; }
.fusion-form-optional .fusion-grid { gap:0 20px; }
.fusion-field-caption { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:6px; color:var(--fg-subtle,#6e6b66); font-size:11px; line-height:1.7; }
[data-requirements-count] { white-space:nowrap; font-variant-numeric:tabular-nums; }
.fusion-checkbox { margin-top:4px; margin-bottom:20px; font-size:12px; color:var(--fg-subtle,#6e6b66); line-height:1.8; }
.fusion-checkbox input, .fusion-consent input { accent-color:var(--fg,#1c1c1c); }
.fusion-form .fusion-form-note { margin:15px 0 0; font-size:11px; color:var(--fg-subtle,#6e6b66); }
.fusion-form [data-contact-submit] { min-height:46px; padding-inline:22px; }
.fusion-form-alert { margin:0 0 19px; padding:12px 14px; font-size:13px; }
.fusion-form-alert.is-pending { border-color:#e8dfd4; background:#faf6f0; color:#5f5b55; }
.fusion-form-alert.is-success { border-color:#c5dfc9; color:#1f5e36; background:#f2f9f4; }
.fusion-form-alert.is-error { border-color:#edd5cc; color:#9c3e2c; background:#fff8f5; }
.fusion-submit-spinner { width:14px; height:14px; border:1.5px solid rgb(255 255 255 / 35%); border-top-color:white; border-radius:50%; animation:submit-spin .75s linear infinite; }
@keyframes submit-spin { to { transform:rotate(360deg); } }

@media (max-width:1024px) {
  html:not(.fusion-js) .fusion-header { position:relative; }
  .fusion-contact-page { padding-bottom:62px; }
  .fusion-contact-page .fusion-contact-grid { grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:32px; }
  .fusion-contact-page .fusion-contact-intro h1 { font-size:37px; }
  .fusion-contact-page .fusion-contact-intro .fusion-lead { font-size:14px; }
  .fusion-contact-page .fusion-form { padding:24px; }
  .fusion-contact-page .fusion-form > .fusion-grid.cols-2 { grid-template-columns:1fr; }
  .fusion-contact-guide { margin-top:27px; }
}
@media (max-width:760px) {
  .fusion-contact-page .fusion-contact-grid { grid-template-columns:1fr; gap:29px; }
  .fusion-contact-page .fusion-breadcrumbs { margin-bottom:20px; }
  .fusion-contact-intro { padding-top:0; }
  .fusion-contact-intro > .fusion-eyebrow { margin-bottom:14px; }
  .fusion-contact-page .fusion-contact-intro h1 { max-width:12em; font-size:35px; }
  .fusion-contact-intro > .fusion-lead { margin-top:16px; font-size:15px; }
  .fusion-contact-page .fusion-contact-intro .fusion-lead { font-size:15px; }
  .fusion-contact-methods > .fusion-contact-wechat { margin-top:10px; }
  .fusion-contact-methods p.fusion-contact-location { margin-top:12px; }
  .fusion-contact-guide { display:none; }
  .fusion-contact-page .fusion-form > .fusion-grid.cols-2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .fusion-contact-page .fusion-form { padding:24px 20px; }
  .fusion-form-heading { margin-bottom:21px; padding-bottom:20px; }
  .fusion-nav > a:not(.fusion-btn)::before, .fusion-nav-group > summary::before { display:none; }
}
@media (max-width:480px) {
  .fusion-form > .fusion-grid.cols-2, .fusion-contact-page .fusion-form > .fusion-grid.cols-2, .fusion-form-optional .fusion-grid.cols-2 { grid-template-columns:minmax(0,1fr); }
  .fusion-form [data-contact-submit] { width:100%; }
  .fusion-contact-page { padding-top:24px; padding-bottom:45px; }
  .fusion-contact-page .fusion-contact-intro h1 { font-size:clamp(30px,8.8vw,36px); }
  .fusion-contact-intro .fusion-contact-methods { margin-top:24px; padding-top:19px; }
  .fusion-field-caption { align-items:flex-start; }
}
@media (hover:none) {
  a[data-image-preview]::after { opacity:1; transform:none; bottom:8px; right:8px; font-size:10px; padding:3px 8px; }
}
@media (prefers-reduced-motion:reduce) {
  .fusion-lightbox[open], .fusion-submit-spinner { animation:none; }
  .fusion-btn:hover .fusion-icon, .fusion-card-link:hover .fusion-icon, .fusion-hero-secondary:hover .fusion-icon, .fusion-mega-all:hover .fusion-icon, .fusion-mega-contact:hover .fusion-icon, .fusion-workbench-bar > a:hover .fusion-icon, .fusion-mega-links a:hover, .fusion-steps > li:hover, .fusion-product-panel ol > li:hover { transform:none; }
  [data-spotlight], [data-spotlight]:hover { background-image:none !important; }
}

/* ==========================================================================
   Lovable "for-work" inspired motion layer: aurora glow, sheen buttons,
   glowing card borders and a tilting product window. Pure CSS + tokens above.
   ========================================================================== */
.fusion-hero.is-editorial { position:relative; isolation:isolate; overflow:clip; }
.fusion-hero-aurora { position:absolute; top:0; left:0; right:0; height:600px; z-index:-1; overflow:hidden; pointer-events:none; -webkit-mask-image:radial-gradient(86% 92% at 50% 8%,#000 34%,transparent 94%); mask-image:radial-gradient(86% 92% at 50% 8%,#000 34%,transparent 94%); will-change:opacity; }
.fusion-hero-aurora > i { position:absolute; display:block; border-radius:50%; pointer-events:none; will-change:transform,opacity; }
/* 1) Rotating multi-color conic aurora wheel across the upper sky */
.fusion-hero-aurora > i:nth-child(1) { top:-640px; left:calc(50% - 560px); width:1120px; height:1120px; border-radius:44% 56% 52% 48%; filter:blur(54px); background:conic-gradient(from 0deg at 50% 50%,rgb(255 142 42 / 34%) 0deg,rgb(255 95 162 / 30%) 98deg,rgb(107 138 255 / 30%) 205deg,rgb(255 196 108 / 26%) 295deg,rgb(255 142 42 / 34%) 360deg); transform:translate3d(calc(var(--aurora-x,0) * 36px),calc(var(--aurora-y,0) * 20px),0); animation:aurora-spin 11s linear infinite; }
/* 2) Warm orange-amber wave sweeping left <-> right */
.fusion-hero-aurora > i:nth-child(2) { top:-85px; left:calc(50% - 560px); width:640px; height:340px; filter:blur(50px); background:radial-gradient(closest-side,rgb(255 132 30 / 38%),rgb(255 170 82 / 14%) 68%,transparent); transform:translate3d(calc(var(--aurora-x,0) * 62px),calc(var(--aurora-y,0) * 32px),0); animation:aurora-wave-a 8s ease-in-out infinite; }
/* 3) Coral-rose & periwinkle wave counter-sweeping across the upper-right sky */
.fusion-hero-aurora > i:nth-child(3) { top:-75px; left:calc(50% - 60px); width:660px; height:350px; filter:blur(50px); background:radial-gradient(closest-side,rgb(255 95 162 / 32%),rgb(107 138 255 / 24%) 64%,transparent); transform:translate3d(calc(var(--aurora-x,0) * -56px),calc(var(--aurora-y,0) * 28px),0); animation:aurora-wave-b 9.5s ease-in-out infinite; }
/* 4) Breathing periwinkle-gold highlight ribbon */
.fusion-hero-aurora > i:nth-child(4) { top:5px; left:calc(50% + 20px); width:520px; height:270px; filter:blur(46px); background:radial-gradient(closest-side,rgb(107 138 255 / 30%),rgb(255 186 108 / 16%) 66%,transparent); transform:translate3d(calc(var(--aurora-x,0) * -38px),calc(var(--aurora-y,0) * -24px),0); animation:aurora-wave-c 7.2s ease-in-out infinite; }
@keyframes aurora-spin {
  0% { rotate:0deg; scale:1 .94; }
  50% { rotate:180deg; scale:1.08 1.02; }
  100% { rotate:360deg; scale:1 .94; }
}
@keyframes aurora-wave-a {
  0%, 100% { translate:-40px 0; scale:.94 1; }
  45% { translate:410px 68px; scale:1.22 1.12; }
  75% { translate:170px -24px; scale:1.04 .92; }
}
@keyframes aurora-wave-b {
  0%, 100% { translate:70px -8px; scale:1.16 .96; }
  50% { translate:-390px 74px; scale:.9 1.18; }
  80% { translate:-120px 18px; scale:1.06 1; }
}
@keyframes aurora-wave-c {
  0%, 100% { translate:110px 36px; scale:.92; opacity:.52; }
  50% { translate:-270px -28px; scale:1.24; opacity:.96; }
}
.fusion-hero em { background:linear-gradient(100deg,#d95b00 8%,#fe7b02 36%,#e63e6d 68%,#d95b00 92%); background-size:220% 100%; -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; animation:headline-sheen 7s ease-in-out infinite; }
@keyframes headline-sheen { 0%,100% { background-position:0% 50%; } 50% { background-position:100% 50%; } }
.fusion-hero-copy, .fusion-hero-orbit { will-change:opacity,translate; }
.fusion-workbench { transform-origin:50% 0; will-change:transform; }

/* Sheen sweep across primary buttons. */
.fusion-btn.is-primary { overflow:hidden; }
.fusion-btn.is-primary::after { content:""; position:absolute; inset:0; background:linear-gradient(105deg,transparent 35%,rgb(255 255 255 / 22%) 50%,transparent 65%); transform:translateX(-120%); pointer-events:none; }
@media (hover:hover) {
  .fusion-btn.is-primary:hover::after { transform:translateX(120%); transition:transform .75s var(--spring-ease,cubic-bezier(.16,1,.3,1)); }
  .fusion-btn.is-primary:active { transform:translateY(0) scale(.975); }
  /* Cursor-following luminous border on cards. */
  .fusion-card[data-spotlight]::before, .fusion-case-card[data-spotlight]::before { content:""; position:absolute; inset:-1px; border-radius:inherit; padding:1px; background:radial-gradient(260px circle at var(--spot-x,50%) var(--spot-y,50%),rgb(255 142 42 / 58%),rgb(255 95 162 / 24%) 48%,transparent 70%); -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0); -webkit-mask-composite:xor; mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0); opacity:0; transition:opacity .35s var(--work-ease); pointer-events:none; }
  .fusion-card[data-spotlight]:hover::before, .fusion-case-card[data-spotlight]:hover::before { opacity:1; }
}
/* Case screenshots breathe in on card hover. */
.fusion-case-card:hover .fusion-case-media img { transform:scale(1.025); }

@media (max-width:760px) {
  .fusion-hero-aurora { height:460px; }
  .fusion-hero-aurora > i { filter:blur(42px); opacity:.82; }
}
@media (prefers-reduced-motion:reduce) {
  .fusion-hero-aurora > i, .fusion-hero em { animation:none; }
  .fusion-btn.is-primary:hover::after { transition:none; }
  .fusion-case-card:hover .fusion-case-media img { transform:none; }
}

/* Lovable "w-full mb-10 py-5" logo marquee under the hero. */
.fusion-marquee { width:100%; margin-bottom:40px; padding-block:20px; color:var(--fg,#1c1c1c); background:var(--bg,#fcfbf8); }
.fusion-marquee-label { margin:0 0 14px; text-align:center; color:var(--fg-subtle,#6e6b66); font-size:12px; letter-spacing:.08em; }
.fusion-marquee-viewport { --marquee-gap:56px; display:flex; gap:var(--marquee-gap); overflow:hidden; -webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent); mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent); }
.fusion-marquee-track { display:flex; flex-shrink:0; gap:var(--marquee-gap); min-width:100%; justify-content:space-around; margin:0; padding:0; list-style:none; animation:marquee-scroll 42s linear infinite; }
.fusion-marquee-viewport:hover .fusion-marquee-track, .fusion-marquee-viewport:focus-within .fusion-marquee-track { animation-play-state:paused; }
.fusion-marquee-track > li { display:inline-flex; align-items:center; gap:10px; white-space:nowrap; color:inherit; font-size:clamp(17px,1.6vw,22px); font-weight:650; letter-spacing:-.02em; }
.fusion-marquee-track img { width:28px; height:28px; flex-shrink:0; }
@keyframes marquee-scroll { to { transform:translateX(calc(-100% - var(--marquee-gap))); } }
@media (max-width:760px) {
  .fusion-marquee { margin-bottom:24px; padding-block:14px; }
  .fusion-marquee-viewport { --marquee-gap:34px; }
  .fusion-marquee-track { animation-duration:30s; }
}
@media (prefers-reduced-motion:reduce) {
  .fusion-marquee-track { animation:none; }
  .fusion-marquee-viewport { overflow-x:auto; }
  .fusion-marquee-track[aria-hidden='true'] { display:none; }
}

/* Lovable "for-work" hero connectors: comet pulses travelling into the product window,
   and tiles that hop each time they launch a pulse (both share one 4.2s cycle + delay). */
.fusion-orbit-lines path.fusion-orbit-dash { fill:none; stroke:var(--orbit-comet,#ff8e2a); stroke-width:2; stroke-linecap:butt; stroke-dashoffset:.2; filter:none; transition:opacity .32s var(--work-ease); animation:orbit-comet 4.2s cubic-bezier(.45,0,.55,1) infinite; }
@keyframes orbit-comet {
  0% { stroke-dashoffset:.2; }
  62%, 100% { stroke-dashoffset:-1.05; }
}
.fusion-orbit-chip > span { box-shadow:var(--shadow-tile); border-color:transparent; background:var(--surface,#fff); animation:orbit-tile-hop 4.2s var(--spring-ease,cubic-bezier(.16,1,.3,1)) infinite; animation-delay:var(--bounce-delay,0s); }
@keyframes orbit-tile-hop {
  0%, 16%, 100% { translate:0 0; }
  5% { translate:0 -7px; }
  10% { translate:0 1px; }
}
.fusion-orbit-chip > span, .orbit-1 > span, .orbit-3 > span, .orbit-5 > span { transform:translate3d(var(--chip-tx,0px),var(--chip-ty,0px),0); }
.orbit-0 > span { rotate:-15deg; }
.orbit-1 > span { rotate:11deg; }
.orbit-2 > span { rotate:11.5deg; }
.orbit-3 > span { rotate:-5.6deg; }
.orbit-4 > span { rotate:3.6deg; }
.orbit-5 > span { rotate:-5.5deg; }
.fusion-orbit-chip:hover > span, .fusion-orbit-chip:focus-visible > span, .fusion-orbit-chip.is-linked > span { rotate:0deg; animation-play-state:paused; }
.fusion-hero-orbit.has-active-orbit .fusion-orbit-dash { opacity:.35; }
@media (prefers-reduced-motion:reduce) {
  .fusion-orbit-lines path.fusion-orbit-dash { animation:none; display:none; }
  .fusion-orbit-chip > span { animation:none; }
}
