
    .quote-layout{display:grid;grid-template-columns:1fr 1.5fr;gap:60px;align-items:start;max-width:1160px;margin:0 auto}
    .quote-sidebar{position:sticky;top:90px}
    .sidebar-card{background:var(--dark3);border-radius:16px;border:1px solid rgba(255,255,255,0.07);padding:28px 24px;margin-bottom:20px}
    .sidebar-card-title{font-family:'Montserrat',sans-serif;font-weight:800;font-size:0.95rem;margin-bottom:16px;display:flex;align-items:center;gap:8px}
    .guarantee-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,0.05);font-size:0.87rem;color:rgba(255,255,255,0.8)}
    .guarantee-row:last-child{border-bottom:none}
    .guarantee-icon{font-size:1.1rem;flex-shrink:0}

    /* Estimator */
    .estimator{background:linear-gradient(135deg,var(--dark3),rgba(201,168,76,0.05));border:1px solid rgba(201,168,76,0.25);border-radius:16px;padding:28px 24px}
    .est-title{font-family:'Montserrat',sans-serif;font-weight:800;font-size:1rem;margin-bottom:4px;color:var(--gold)}
    .est-sub{color:var(--gray);font-size:0.8rem;margin-bottom:20px}
    .est-field{margin-bottom:14px}
    .est-field label{font-size:0.72rem;font-weight:700;letter-spacing:1px;color:rgba(255,255,255,0.5);text-transform:uppercase;display:block;margin-bottom:5px}
    .est-field select,.est-field input{width:100%;background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.1);color:var(--white);font-family:'Inter',sans-serif;font-size:0.9rem;padding:11px 13px;border-radius:7px;outline:none}
    .est-field select:focus,.est-field input:focus{border-color:var(--gold)}
    .est-result{background:rgba(201,168,76,0.08);border:1px solid rgba(201,168,76,0.3);border-radius:10px;padding:18px;text-align:center;margin-top:18px}
    .est-price-label{font-size:0.72rem;color:var(--gray);text-transform:uppercase;letter-spacing:1.5px;margin-bottom:6px}
    .est-price{font-family:'Montserrat',sans-serif;font-weight:900;font-size:2rem;color:var(--gold)}
    .est-price-note{font-size:0.75rem;color:var(--gray);margin-top:5px;line-height:1.5}

    /* Main form */
    .quote-form-wrap{background:var(--dark2);border-radius:20px;border:1px solid rgba(255,255,255,0.07);padding:40px 36px}
    .consultant-bar{display:flex;align-items:center;gap:14px;background:rgba(201,168,76,0.06);border:1px solid rgba(201,168,76,0.2);border-radius:10px;padding:14px 18px;margin-bottom:28px}
    .consultant-avatar{width:46px;height:46px;border-radius:50%;background:linear-gradient(135deg,#C9A84C,#7a5a10);display:flex;align-items:center;justify-content:center;font-family:'Montserrat',sans-serif;font-weight:900;font-size:1.2rem;color:var(--dark);flex-shrink:0}
    .online-dot{width:8px;height:8px;border-radius:50%;background:#25D366;box-shadow:0 0 0 3px rgba(37,211,102,0.2);display:inline-block;margin-right:4px}

    .form-section-title{font-family:'Montserrat',sans-serif;font-weight:800;font-size:0.88rem;letter-spacing:1px;text-transform:uppercase;color:rgba(255,255,255,0.4);margin:24px 0 14px;padding-top:20px;border-top:1px solid rgba(255,255,255,0.06)}
    .form-section-title:first-of-type{margin-top:0;padding-top:0;border-top:none}

    .step-indicator{display:flex;gap:0;margin-bottom:32px}
    .step-dot{flex:1;text-align:center;position:relative}
    .step-dot::after{content:'';position:absolute;top:14px;left:50%;width:100%;height:2px;background:rgba(255,255,255,0.1);z-index:0}
    .step-dot:last-child::after{display:none}
    .step-dot-circle{width:28px;height:28px;border-radius:50%;background:rgba(255,255,255,0.08);border:2px solid rgba(255,255,255,0.15);display:flex;align-items:center;justify-content:center;font-size:0.72rem;font-weight:700;margin:0 auto 6px;position:relative;z-index:1}
    .step-dot.active .step-dot-circle{background:var(--gold);border-color:var(--gold);color:var(--dark)}
    .step-dot.done .step-dot-circle{background:rgba(37,211,102,0.2);border-color:#25D366;color:#25D366}
    .step-dot-label{font-size:0.7rem;color:var(--gray)}
    .step-dot.active .step-dot-label{color:var(--gold)}

    /* Thank you state */
    .thankyou{display:none;text-align:center;padding:52px 20px}
    .thankyou-icon{font-size:4rem;margin-bottom:20px}
    .thankyou h3{font-family:'Montserrat',sans-serif;font-weight:900;font-size:1.8rem;margin-bottom:12px}
    .thankyou p{color:var(--gray);line-height:1.75;max-width:400px;margin:0 auto 28px}
    .thankyou-steps{display:flex;flex-direction:column;gap:12px;text-align:left;max-width:360px;margin:0 auto 32px}
    .thankyou-step{display:flex;gap:12px;align-items:flex-start;font-size:0.88rem;color:rgba(255,255,255,0.75)}
    .thankyou-step-icon{flex-shrink:0;font-size:1.1rem}

    @media(max-width:900px){.quote-layout{grid-template-columns:1fr}.quote-sidebar{position:static}}
    @media(max-width:600px){.quote-form-wrap{padding:24px 18px}}
  
/* nav-fix 内联,移除渲染阻塞的外部 CSS 请求 */
.nav-dropdown{position:relative}.nav-dropdown::after{content:"";display:none;position:absolute;left:-24px;right:-24px;top:100%;height:18px;z-index:1999}.nav-dropdown:hover::after,.nav-dropdown:focus-within::after{display:block}.nav-dropdown .dropdown-menu{display:none;position:absolute;top:calc(100% + 14px);left:50%;transform:translateX(-50%);background:rgba(10,10,15,.97);border:1px solid rgba(201,168,76,.22);border-radius:10px;padding:8px 0;min-width:185px;list-style:none;margin:0;z-index:2000;box-shadow:0 16px 48px rgba(0,0,0,.5);backdrop-filter:blur(12px)}.nav-dropdown:hover .dropdown-menu,.nav-dropdown:focus-within .dropdown-menu{display:block}.nav-dropdown .dropdown-menu li{list-style:none;margin:0;padding:0}.nav-dropdown .dropdown-menu li a{display:block;margin:0!important;padding:10px 20px!important;color:rgba(255,255,255,.76);font-size:.84rem;font-weight:600;text-transform:none;letter-spacing:0;white-space:nowrap;text-decoration:none}.nav-dropdown .dropdown-menu li a::after{display:none!important;content:none!important}.nav-dropdown .dropdown-menu li a:hover{color:var(--gold,#C9A84C);background:rgba(201,168,76,.08)}.nav-toggle{display:none;flex-direction:column;gap:5px;align-items:center;justify-content:center;width:42px;height:38px;padding:7px;border:1px solid rgba(255,255,255,.14);border-radius:8px;background:rgba(255,255,255,.04);cursor:pointer}.nav-toggle span{display:block;width:24px;height:2px;background:#fff;border-radius:2px}@media(max-width:768px){nav{min-height:65px}nav .nav-links{display:none!important;position:fixed!important;top:65px!important;left:0!important;right:0!important;width:100%!important;max-height:calc(100vh - 65px);overflow-y:auto;background:rgba(10,10,15,.98);flex-direction:column!important;align-items:flex-start!important;gap:14px!important;padding:22px 6% 26px!important;border-bottom:1px solid rgba(201,168,76,.18);box-shadow:0 20px 50px rgba(0,0,0,.45);z-index:1999}nav .nav-links.open{display:flex!important}nav .nav-links>li{width:100%}nav .nav-links a{margin-left:0!important}.nav-toggle{display:flex!important;flex-shrink:0}.nav-dropdown>a::after{content:none!important}.nav-dropdown .dropdown-menu{display:none!important;position:static!important;transform:none!important;width:100%;min-width:0;margin-top:8px;padding:0 0 0 14px!important;border:0;border-left:1px solid rgba(201,168,76,.25);border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none}.nav-dropdown::after{display:none!important}.nav-dropdown .dropdown-menu li a{padding:7px 0!important}}
  
/* ux.css 内联,消除渲染阻塞请求 */
/* ===== UX Pack — motion & interaction layer =====
   Loaded on every page after page styles. Only touches ux-* classes
   plus a few safe hover deepeners. */

/* 1. Scroll reveal */
.ux-reveal { opacity: 0; transform: translateY(26px); transition: opacity .6s ease var(--ux-d, 0ms), transform .6s cubic-bezier(.22,.61,.36,1) var(--ux-d, 0ms); }
.ux-reveal.ux-in { opacity: 1; transform: none; }

/* 2. FAQ accordion (progressive enhancement over static .faq-item) */
.ux-faq .faq-q { cursor: pointer; position: relative; padding-right: 42px; user-select: none; }
.ux-faq .faq-q::after { content: '+'; position: absolute; right: 10px; top: 50%; transform: translateY(-50%); font-size: 1.35rem; font-weight: 700; color: var(--gold, #C9A84C); transition: transform .3s; line-height: 1; }
.ux-faq.ux-open .faq-q::after { transform: translateY(-50%) rotate(45deg); }
.ux-faq .faq-a { overflow: hidden; max-height: 0; opacity: 0; transition: max-height .45s cubic-bezier(.33,1,.68,1), opacity .35s, padding-top .3s, padding-bottom .3s, margin-top .3s, margin-bottom .3s; }
.ux-faq:not(.ux-open) .faq-a { padding-top: 0 !important; padding-bottom: 0 !important; margin-top: 0 !important; margin-bottom: 0 !important; }
.ux-faq.ux-open .faq-a { opacity: 1; }
.ux-faq .faq-q:focus-visible { outline: 2px solid var(--gold, #C9A84C); outline-offset: 3px; border-radius: 4px; }

/* 3. Lightbox */
.ux-zoomable { cursor: zoom-in; transition: transform .35s ease; }
.ux-zoomable:hover { transform: scale(1.015); }
.ux-lightbox { position: fixed; inset: 0; z-index: 2000; background: rgba(4,4,8,.94); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 14px; opacity: 0; pointer-events: none; transition: opacity .3s; padding: 4vh 4vw; }
.ux-lightbox.ux-lb-on { opacity: 1; pointer-events: auto; }
.ux-lightbox img { max-width: 92vw; max-height: 80vh; border-radius: 10px; box-shadow: 0 30px 90px rgba(0,0,0,.7); transform: scale(.94); transition: transform .35s cubic-bezier(.22,.61,.36,1); cursor: zoom-out; }
.ux-lightbox.ux-lb-on img { transform: scale(1); }
.ux-lb-cap { color: rgba(255,255,255,.78); font-size: .88rem; text-align: center; max-width: 640px; line-height: 1.5; }
.ux-lb-close { position: absolute; top: 16px; right: 22px; background: none; border: none; color: #fff; font-size: 2.4rem; cursor: pointer; line-height: 1; opacity: .7; transition: opacity .2s, transform .25s; z-index: 1; }
.ux-lb-close:hover { opacity: 1; transform: rotate(90deg); }

/* 4. Back to top */
.ux-top { position: fixed; bottom: 112px; right: 30px; z-index: 997; width: 44px; height: 44px; border-radius: 50%; background: rgba(28,28,40,.9); border: 1px solid rgba(201,168,76,.45); color: var(--gold, #C9A84C); font-size: 1.05rem; cursor: pointer; opacity: 0; pointer-events: none; transform: translateY(12px); transition: opacity .3s, transform .3s, background .2s, color .2s; -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
.ux-top.ux-top-on { opacity: 1; pointer-events: auto; transform: none; }
.ux-top:hover { background: var(--gold, #C9A84C); color: #0A0A0F; }
@media (max-width: 768px) { .ux-top { display: none; } }

/* 5. Responsive tables */
.ux-tscroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.ux-tscroll > table { min-width: 560px; }

/* 6. Card image micro-interaction (deepens existing hover) */
.card { overflow: hidden; }
.card img, .prod-img img { transition: transform .5s cubic-bezier(.22,.61,.36,1); }
.card:hover img, .prod-card:hover .prod-img img { transform: scale(1.05); }

/* 7. Button press feedback */
.btn-primary:active, .btn-submit:active, .btn-gold:active, .btn-outline:active, .btn-gold-outline:active { transform: translateY(0) scale(.97); transition-duration: .08s; }

/* 8. Reduced motion: disable everything */
@media (prefers-reduced-motion: reduce) {
  .ux-reveal { opacity: 1; transform: none; transition: none; }
  .ux-zoomable, .card img, .prod-img img, .ux-lightbox img { transition: none; }
  .ux-faq .faq-a { transition: none; }
  html { scroll-behavior: auto; }
}
