/* Interaction polish for the existing Breeze layout. No external assets. */
::selection { background:#dce9e3; color:#183f3e; }
:where(a,button,input,textarea,select,summary):focus-visible { outline:3px solid #80aca6; outline-offset:4px; }
.fusion-header::after { content:""; position:absolute; bottom:-1px; left:0; width:100%; height:2px; background:#759e96; opacity:.6; transform:scaleX(var(--page-progress,0)); transform-origin:left; pointer-events:none; }
.fusion-nav > a:not(.fusion-btn), .fusion-nav-group > summary { position:relative; }
.fusion-nav > a:not(.fusion-btn)::before, .fusion-nav-group > summary::before { content:""; position:absolute; bottom:5px; left:0; right:0; height:2px; background:currentColor; transform:scaleX(0); transform-origin:left; transition:transform .25s var(--work-ease); opacity:.65; }
.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 { transition:transform .25s var(--work-ease); }
@media (hover:hover) {
  .fusion-btn:hover .fusion-icon, .fusion-card-link:hover .fusion-icon, .fusion-hero-secondary:hover .fusion-icon { transform:translateX(3px); }
  .fusion-mega-links a { transition:background-color .2s,transform .25s var(--work-ease); }
  .fusion-mega-links a:hover { transform:translateX(3px); }
}
.fusion-product-tabs { position:relative; isolation:isolate; }
.fusion-tab-indicator { position:absolute; top:0; left:0; z-index:-1; border:1px solid #cbded0; border-radius:8px; background:#e7efe5; pointer-events:none; transition:transform .35s var(--work-ease),width .35s var(--work-ease),height .35s var(--work-ease); }
[data-tabs-ready='true'] .fusion-product-tab[aria-selected='true'] { background:transparent; border-color:transparent; }
.fusion-product-tab { color:#61756b; }
.fusion-product-tab:focus-visible { outline-offset:2px; }
.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(223 231 224 / 90%); border-radius:7px; background:rgb(255 255 255 / 95%); color:#3e5e56; font-size:11px; line-height:1.6; box-shadow:0 2px 8px rgb(31 49 43 / 8%); opacity:0; transform:translateY(4px); transition:opacity .2s,transform .25s var(--work-ease); pointer-events:none; }
a[data-image-preview]:is(:hover,:focus-visible)::after { opacity:1; transform:none; }
.fusion-case-card:focus-within { border-color:#80a69e; box-shadow:0 0 0 3px #e7efeb; }
.fusion-footer-grid > div:last-child > a { color:#3c5c4c; }
.fusion-footer-bottom { color:#65705f; }
.fusion-mega-links small, .fusion-product-panel figcaption, .fusion-workbench-kicker { color:#66746c; }
.fusion-lightbox[open] { animation:lightbox-in .22s var(--work-ease); }
.fusion-lightbox::backdrop { background:rgb(15 27 26 / 72%); backdrop-filter:blur(6px); }
@keyframes lightbox-in { from { opacity:0; transform:translateY(10px) scale(.99); } to { opacity:1; transform:none; } }

/* One direct conversation, rather than three stacked sales headlines. */
.fusion-contact-page { padding:30px 0 86px; background:#f7f9f5; }
.fusion-contact-page > .fusion-container { max-width:1240px; }
.fusion-contact-page .fusion-breadcrumbs { margin:0 0 38px; color:#75817a; }
.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:#63877e; 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:#66766c; font-size:16px; line-height:1.9; }
.fusion-contact-intro .fusion-contact-methods { margin-top:30px; padding-top:25px; border-color:#dfe7dc; }
.fusion-contact-method-label { display:block; margin-bottom:6px; color:#64776b; 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:#d5e1d7; background:#f8fbf6; color:#3f6c60; border-radius:7px; }
.fusion-contact-methods button:hover { background:#eaf2e6; border-color:#b8cdbb; }
.fusion-contact-methods p.fusion-contact-location { margin-top:20px; font-size:13px; color:#7b897e; }
.fusion-contact-guide { margin-top:40px; padding-top:25px; border-top:1px solid #dfe7dc; }
.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:#647360; }
.fusion-contact-guide li > span { display:grid; place-items:center; flex-shrink:0; width:22px; height:22px; margin-top:1px; border:1px solid #d4e0d1; border-radius:50%; color:#698b6d; font-size:10px; }
.fusion-contact-guide strong { color:#46594b; font-weight:500; }
.fusion-contact-form-wrap { min-width:0; }
.fusion-form { border-color:#e1e8de; border-radius:20px; padding:30px; box-shadow:0 8px 28px rgb(36 65 47 / 4%); transition:border-color .25s,box-shadow .3s; }
.fusion-form:focus-within { border-color:#b8cfc3; box-shadow:0 8px 32px rgb(36 65 47 / 6%); }
.fusion-form-heading { padding-bottom:23px; margin-bottom:23px; border-bottom:1px solid #edf0e9; }
.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:#68776a; 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:#558576; margin-left:2px; }
.fusion-field input:not([type='checkbox']), .fusion-field textarea, .fusion-field select { background:#fcfdfa; border-color:#dce4d8; 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:#b9cdbf; }
.fusion-field :is(input,textarea,select):focus { outline:none; background:white; border-color:#719e90; box-shadow:0 0 0 3px #edf4ed; }
.fusion-field :is(input,textarea,select)[aria-invalid='true'] { border-color:#c27869; background:#fffaf8; }
.fusion-field textarea { min-height:116px; }
.fusion-field input::placeholder, .fusion-field textarea::placeholder { color:#69786c; }
.fusion-field-error { color:#a14838; 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 #edf0e9; }
.fusion-form-optional > summary { display:flex; gap:9px; align-items:center; list-style:none; cursor:pointer; color:#657c6d; 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:#729c81; line-height:1; }
.fusion-form-optional[open] > summary::before { content:"−"; }
.fusion-form-optional [data-optional-status] { margin-left:auto; color:#687a69; 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:#647262; 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:#657262; line-height:1.8; }
.fusion-form .fusion-form-note { margin:15px 0 0; font-size:11px; color:#657262; }
.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:#dde6db; background:#f5f8f1; color:#687f64; }
.fusion-form-alert.is-success { border-color:#c2dac9; color:#37664a; background:#f2f8ef; }
.fusion-form-alert.is-error { border-color:#edd7cf; color:#9b4f3d; background:#fff9f5; }
.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-links a:hover { transform:none; }
}
