﻿:root{
--evergreen-900:#0d2540;--evergreen-800:#113050;--evergreen-700:#163a60;--evergreen-600:#1c4875;--evergreen-500:#235689;
--evergreen-300:#8fb4d8;--evergreen-100:#d3e3f2;--evergreen-50:#eaf2f9;
--teal-700:#0f6da0;--teal-600:#1680c0;--teal-500:#2a93d4;--teal-400:#4fade3;--teal-100:#d8eefb;
--gray-900:#12203a;--gray-700:#3d4f66;--gray-500:#64748b;--gray-300:#cbd5e1;--gray-100:#f1f5f9;--gray-50:#f8fafc;
--white:#fff;--bg-body:var(--gray-50);
--text-primary:var(--gray-900);--text-secondary:var(--gray-700);--border-color:var(--gray-300);
--radius-sm:6px;--radius-md:10px;--radius-lg:16px;
--shadow-sm:0 2px 8px rgba(17,48,80,.08);--shadow-md:0 4px 16px rgba(17,48,80,.10);--shadow-lg:0 8px 30px rgba(17,48,80,.14);
--font-sans:'Inter','Segoe UI',system-ui,-apple-system,sans-serif;
--section-pad:3.2rem;--section-pad-lg:4.2rem;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--font-sans);background:var(--bg-body);color:var(--text-primary);line-height:1.6;font-size:1rem}
img{max-width:100%}
a{color:var(--teal-600);text-decoration:none}
a:hover{text-decoration:underline}
.container{width:min(1200px,92%);margin:0 auto}
.skip-link{position:absolute;left:-999px;top:0;background:var(--teal-600);color:#fff;padding:8px 14px;border-radius:0 0 6px 0;z-index:999}
.skip-link:focus{left:0}
h1{font-size:clamp(1.8rem,3.4vw,2.75rem);line-height:1.15;font-weight:800}
h2{font-size:clamp(1.5rem,2.4vw,2.1rem);line-height:1.2;font-weight:700}
h3{font-size:1.15rem;font-weight:700}
.eyebrow{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--teal-500);margin-bottom:.7rem}
.lead{font-size:1.06rem;color:var(--text-secondary);max-width:56ch}
.body-lg{font-size:1.02rem;color:var(--text-secondary)}
.section-heading{margin-bottom:.9rem}
.section-title{margin-bottom:1.2rem}
.text-center{text-align:center}

/* header */
.site-header{background:var(--evergreen-800);color:#fff;position:sticky;top:0;z-index:1000;box-shadow:var(--shadow-md)}
.utility-bar{background:var(--evergreen-900);font-size:.82rem;padding:.35rem 0}
.utility-bar a{color:var(--evergreen-100);margin-right:1rem}
.utility-bar .utility-bar-right a.utility-phone{color:#fff;font-weight:600;background:var(--teal-600);padding:.25rem .7rem;border-radius:999px;margin-right:0}
.header-inner{display:flex;align-items:center;gap:1.1rem;padding:.7rem 0}
.brand{display:flex;align-items:center;gap:.6rem;color:#fff;flex-shrink:0;max-width:300px;overflow:hidden}
.brand:hover{text-decoration:none}
.brand-logo{width:38px;height:38px;border-radius:8px;background:var(--teal-600);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1.2rem;color:#fff;flex-shrink:0}
.brand-text{display:flex;flex-direction:column;line-height:1.15;min-width:0}
.brand-name{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:700;font-size:.95rem}
.brand-tagline{font-size:.72rem;color:var(--evergreen-100);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.main-nav{display:flex;gap:.15rem;flex:1 1 auto;min-width:0;flex-wrap:nowrap}
.nav-item{position:relative}
.nav-link{display:block;color:#fff;padding:.55rem .65rem;border-radius:6px;font-size:.92rem;font-weight:500;white-space:nowrap}
.nav-link:hover{background:var(--evergreen-700);text-decoration:none}
.caret{font-size:.7rem;opacity:.8}
.mega-menu{position:absolute;top:100%;left:0;min-width:520px;background:#fff;color:var(--text-primary);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:1.1rem;opacity:0;visibility:hidden;transform:translateY(8px);transition:all .18s ease;z-index:1001}
.nav-item:hover .mega-menu,.nav-item.open .mega-menu{opacity:1;visibility:visible;transform:translateY(0)}
.mega-menu-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}
.mega-menu-col h4{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--teal-600);margin-bottom:.45rem}
.mega-menu-col a{display:block;color:var(--text-primary);padding:.28rem 0;font-size:.9rem}
.mega-menu-col a:hover{color:var(--teal-600)}
.header-cta{display:flex;gap:.55rem;margin-left:auto;flex-shrink:0}
.mobile-menu-toggle{display:none;background:none;border:1px solid rgba(255,255,255,.4);color:#fff;font-size:1.2rem;border-radius:6px;padding:.3rem .6rem;cursor:pointer}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.68rem 1.35rem;border-radius:8px;font-weight:600;font-size:.95rem;border:1px solid transparent;cursor:pointer;white-space:nowrap;transition:all .15s ease}
.btn-primary{background:var(--teal-600);color:#fff}
.btn-primary:hover{background:var(--teal-700);text-decoration:none;box-shadow:var(--shadow-md)}
.btn-outline{background:transparent;border-color:rgba(255,255,255,.55);color:inherit}
.on-light .btn-outline,.section .btn-outline{border-color:var(--evergreen-600);color:var(--evergreen-600)}
.btn-outline:hover{text-decoration:none;background:rgba(255,255,255,.08)}
.btn-lg{padding:.85rem 1.7rem;font-size:1.02rem}
.btn-sm{padding:.45rem .9rem;font-size:.85rem}
.cta-row{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.2rem}

/* hero / page-head */
.page-head,.hero{background:linear-gradient(150deg,var(--evergreen-900) 0%,var(--evergreen-800) 55%,var(--evergreen-600) 100%);color:#fff;padding:calc(var(--section-pad-lg) + .6rem) 0;position:relative;overflow:hidden}
.page-head::before,.hero::before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:36px 36px;pointer-events:none}
.page-head .container,.hero .container{position:relative;z-index:1}
.page-head .lead,.hero .lead{color:var(--evergreen-100)}
.page-head h1,.hero h1{color:#fff;margin:.35rem 0 .6rem;overflow-wrap:normal;word-break:normal;hyphens:none}
.trust-bar{display:flex;gap:1.1rem;flex-wrap:wrap;margin-top:1.2rem}
.trust-item{display:inline-flex;align-items:center;gap:.45rem;font-size:.9rem;color:var(--evergreen-100)}
.trust-icon{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;background:var(--teal-500);border-radius:50%;color:#fff;font-size:.7rem}

/* sections */
.section{padding:var(--section-pad) 0}
.section-alt{background:var(--evergreen-50)}
.section-sm{padding:calc(var(--section-pad) * .66) 0}
section.alt{background:var(--evergreen-50)}

/* cards */
.related-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.2rem;margin-top:1.2rem}
.smooth-card{background:#fff;border:1px solid var(--gray-300);border-radius:var(--radius-md);padding:1.4rem;box-shadow:var(--shadow-sm);transition:transform .18s ease,box-shadow .18s ease;border-top:3px solid transparent}
.smooth-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-md);border-top-color:var(--teal-500)}
.smooth-card h3{margin:.55rem 0 .4rem}
.smooth-card p{color:var(--text-secondary);font-size:.94rem}
.ui-ico{width:42px;height:42px;display:inline-flex;color:var(--teal-600)}
.ui-ico svg{width:100%;height:100%;stroke:currentColor;stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round}
.ui-img{display:block;width:100%;height:132px;object-fit:cover;border-radius:8px;margin-bottom:.55rem;background:var(--gray-100)}

/* spec table */
.spec-table-wrap{overflow-x:auto;margin-top:1rem;background:#fff;border:1px solid var(--gray-300);border-radius:var(--radius-md)}
.spec-table{width:100%;border-collapse:collapse;font-size:.94rem}
.spec-table th,.spec-table td{padding:.7rem .95rem;text-align:left;border-bottom:1px solid var(--gray-300)}
.spec-table thead th{background:var(--evergreen-50);color:var(--evergreen-800);font-size:.8rem;text-transform:uppercase;letter-spacing:.06em}
.spec-table tbody tr:last-child td{border-bottom:none}

/* process */
.process-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.1rem;margin-top:1.2rem}
.process-card{background:#fff;border:1px solid var(--gray-300);border-top:3px solid var(--teal-500);border-radius:var(--radius-md);padding:1.2rem}
.process-card .p-num{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.1em;color:var(--teal-600);margin-bottom:.5rem}
.process-card h3{font-size:1.02rem;margin-bottom:.35rem}
.process-card p{font-size:.9rem;color:var(--text-secondary)}

/* stats */
.stats-row{padding:var(--section-pad) 0;background:var(--evergreen-800);color:#fff}
.stats-row .container{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;text-align:center}
.stat-num{font-size:2rem;font-weight:800;color:var(--teal-400)}
.stat-label{font-size:.85rem;color:var(--evergreen-100)}

/* testimonials */
.testimonial-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.2rem;margin-top:1.2rem}
.testimonial-card{background:#fff;border:1px solid var(--gray-300);border-radius:var(--radius-md);padding:1.3rem}
.t-head{display:flex;align-items:center;gap:.7rem;margin-bottom:.5rem}
.t-avatar{width:40px;height:40px;border-radius:50%;background:var(--evergreen-600);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem}
.t-name{display:block;font-weight:700;font-size:.92rem}
.t-role{display:block;font-size:.8rem;color:var(--text-secondary)}
.star-rating{color:#d9a419;letter-spacing:.12em;font-size:.9rem;margin-bottom:.4rem}
.testimonial-card p{font-size:.94rem;color:var(--text-secondary)}

/* FAQ */
.faq-list{margin-top:1rem}
.faq-item{background:#fff;border:1px solid var(--gray-300);border-radius:var(--radius-sm);margin-bottom:.6rem}
.faq-q{padding:.9rem 1.1rem;cursor:pointer;font-weight:600;font-size:.97rem;list-style:none;display:flex;justify-content:space-between;align-items:center}
.faq-q::-webkit-details-marker{display:none}
.faq-q::after{content:'+';color:var(--teal-600);font-size:1.15rem;font-weight:700}
.faq-item[open] .faq-q::after{content:'2'}
.faq-a{padding:0 1.1rem .95rem;color:var(--text-secondary);font-size:.94rem}

/* CTA banner */
.cta-banner{background:linear-gradient(135deg,var(--evergreen-900),var(--evergreen-700));color:#fff;padding:2.8rem 0;text-align:center;border-top:3px solid var(--teal-500)}
.cta-banner h2{margin-bottom:.45rem}
.cta-banner p{color:var(--evergreen-100);max-width:560px;margin:0 auto 1.2rem}

/* breadcrumb */
.breadcrumb{padding:.75rem 0;font-size:.85rem;color:var(--text-secondary)}
.breadcrumb a{color:var(--teal-600)}
.bc-sep{margin:0 .5rem;color:var(--gray-300)}

/* forms */
form{background:#fff;border:1px solid var(--gray-300);border-radius:var(--radius-md);padding:1.6rem;max-width:720px;margin:1.2rem auto 0;display:grid;gap:.85rem}
label{display:flex;flex-direction:column;gap:.3rem;font-size:.9rem;font-weight:600;color:var(--gray-900)}
input,select,textarea{font-family:inherit;font-size:.95rem;padding:.6rem .75rem;border:1px solid var(--gray-300);border-radius:6px;background:#fff;color:var(--text-primary)}
input:focus,select:focus,textarea:focus{outline:2px solid var(--teal-500);outline-offset:1px;border-color:var(--teal-500)}
form .btn-primary{justify-self:start}
form p{font-size:.85rem;color:var(--text-secondary)}

/* cookie */
.cookie-banner{position:fixed;left:16px;right:16px;bottom:16px;z-index:9999;background:var(--evergreen-800);color:#fff;border-radius:10px;box-shadow:var(--shadow-lg)}
.cookie-banner .cb-inner{max-width:960px;margin:0 auto;padding:14px 20px;display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.cookie-banner p{margin:0;font-size:.92rem}
.cookie-banner a{color:#fff;text-decoration:underline}
.cookie-banner .cb-actions{display:flex;gap:10px;flex-wrap:wrap}
.cookie-banner .btn-sm{padding:8px 16px;font-size:.9rem;border-radius:6px;cursor:pointer}
.cookie-banner .btn-primary{background:var(--teal-600);border:none;color:#fff}
.cookie-banner .btn-outline{background:transparent;border:1px solid rgba(255,255,255,.5);color:#fff}
.cookie-banner[hidden]{display:none}
.cb-check{display:flex;gap:8px;align-items:flex-start;margin:.1rem 0;font-weight:400}
.cb-check input{margin-top:4px;width:auto}

/* footer */
.site-footer{background:var(--evergreen-900);color:var(--evergreen-100);padding:2.6rem 0 0;margin-top:var(--section-pad-lg)}
.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1.4rem;padding-bottom:1.8rem}
.footer-col h4{color:#fff;font-size:.92rem;margin-bottom:.7rem}
.footer-col a{display:block;color:var(--evergreen-100);padding:.22rem 0;font-size:.88rem}
.footer-col a:hover{color:#fff}
.footer-bottom{border-top:1px solid rgba(255,255,255,.15);padding:1rem 0;font-size:.84rem}
.footer-bottom .container{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.footer-bottom-links{display:flex;gap:1rem;flex-wrap:wrap}
.footer-bottom a{color:var(--evergreen-100)}

/* responsive */
@media (max-width:1400px){
.header-inner .header-cta{display:none}
.main-nav .nav-link{padding:.5rem .45rem;font-size:.86rem}
}
@media (max-width:1024px){
.mega-menu{position:static;opacity:1;visibility:visible;transform:none;display:none;box-shadow:none;border:1px solid var(--evergreen-700)}}@media (max-width:860px){
.main-nav{position:fixed;inset:56px 0 auto 0;background:var(--evergreen-800);flex-direction:column;padding:1rem 4%;display:none;max-height:calc(100vh - 56px);overflow:auto}
.main-nav.mobile-open{display:flex}
.nav-item{width:100%}
.nav-item.open .mega-menu{display:block}
.mobile-menu-toggle{display:block;margin-left:auto}}
@media (max-width:560px){
.page-head,.hero{padding:2.6rem 0}
.stats-row .container{grid-template-columns:repeat(2,1fr)}
}

/* --- cookie consent banner --- */
.cookie-banner{position:fixed;left:16px;right:16px;bottom:16px;z-index:9999;background:var(--evergreen-800,#113050);color:#fff;border-radius:10px;box-shadow:0 8px 30px rgba(10,26,51,.18);}
.cookie-banner .cb-inner{max-width:960px;margin:0 auto;padding:14px 20px;display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.cookie-banner p{margin:0;font-size:.92rem}
.cookie-banner a{color:#fff;text-decoration:underline}
.cookie-banner .cb-actions{display:flex;gap:10px;flex-wrap:wrap}
.cookie-banner .btn-sm{padding:8px 16px;font-size:.9rem;border-radius:6px;cursor:pointer}
.cookie-banner .btn-primary{background:var(--teal-600,#1680c0);border:none;color:#fff}
.cookie-banner .btn-outline{background:transparent;border:1px solid rgba(255,255,255,.5);color:#fff}
.cookie-banner[hidden]{display:none}
.cb-check{display:flex;gap:8px;align-items:flex-start;margin:10px 0}
.cb-check input{margin-top:4px}

.js .reveal{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease}
.js .reveal.visible{opacity:1;transform:none}
@media (prefers-reduced-motion: reduce){.js .reveal{opacity:1;transform:none;transition:none}}

/* ===== PREMIUM UPGRADE LAYER v1 ===== */
:root{--lx-accent:#c8102e;--lx-accent2:#e14b60;--lx-ink:#16324f;--lx-gold:#c9a227;--lx-radius:14px;
--lx-accent-rgb:200,16,46;--lx-accent2-rgb:225,75,96;--lx-ink-rgb:22,50,79}
*{--webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
::selection{background:rgba(200,16,46,.92);color:#fff}
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-thumb{background:rgba(22,50,79,.28);border-radius:8px}
::-webkit-scrollbar-thumb:hover{background:rgba(22,50,79,.45)}
:focus-visible{outline:2px solid var(--lx-accent);outline-offset:2px}

h1{letter-spacing:-.02em}
.section-heading,.section-title{letter-spacing:-.015em}
.section-heading::after{content:'';display:block;width:58px;height:3px;border-radius:2px;margin-top:.55rem;background:linear-gradient(90deg,var(--lx-gold),rgba(225,75,96,.75))}
.text-center .section-heading::after{margin-left:auto;margin-right:auto}

.site-header{background:linear-gradient(180deg,var(--lx-ink),rgba(22,50,79,.96));backdrop-filter:saturate(140%) blur(10px)}
.site-header::after{content:'';display:block;height:2px;background:linear-gradient(90deg,var(--lx-gold),rgba(225,75,96,.55),transparent)}
.nav-link{transition:color .2s ease,background .2s ease}
.nav-link:hover{background:rgba(255,255,255,.08)}

.page-head,.hero,.subhero-premium{
background:
radial-gradient(900px 420px at 85% -10%,rgba(200,16,46,.32),transparent 62%),
radial-gradient(760px 380px at -8% 115%,rgba(225,75,96,.24),transparent 60%),
linear-gradient(160deg,var(--lx-ink) 0%,#322d4a 52%,#532644 100%);
padding:calc(var(--section-pad-lg) + 2rem) 0 calc(var(--section-pad-lg) + 1.2rem)}
.page-head::after,.hero::after,.subhero-premium::after{content:'';position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,var(--lx-gold),rgba(225,75,96,.55),transparent)}
.page-head h1,.hero h1,.subhero-premium h1{font-size:clamp(2rem,4vw,3.1rem);letter-spacing:-.02em;text-shadow:0 2px 26px rgba(0,0,0,.3)}
.page-head .lead,.hero .lead,.subhero-premium .lead{color:rgba(255,255,255,.88);font-size:1.09rem}
.eyebrow{color:var(--lx-gold);letter-spacing:.2em}
.eyebrow::before{content:'';display:inline-block;width:34px;height:1px;background:var(--lx-gold);vertical-align:middle;margin-right:.6rem}
.trust-item{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);border-radius:999px;padding:.38rem .85rem}

.btn{border-radius:10px;font-weight:650;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}
.btn-primary{background:linear-gradient(135deg,var(--lx-accent),var(--lx-accent2));box-shadow:0 8px 22px rgba(200,16,46,.35)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(200,16,46,.48)}
.section .btn-outline:hover{background:rgba(200,16,46,.06)}

.smooth-card{border-radius:var(--lx-radius);border-color:rgba(22,50,79,.08);background:linear-gradient(180deg,#fff,#fcfdff);position:relative;overflow:hidden}
.smooth-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--lx-accent),var(--lx-accent2));opacity:0;transition:opacity .25s ease}
.smooth-card:hover{transform:translateY(-6px);box-shadow:0 16px 40px rgba(22,50,79,.16)}
.smooth-card:hover::before{opacity:1}
.smooth-card h3{font-weight:750;letter-spacing:-.01em}

.spec-table thead th{border-bottom:2px solid rgba(200,16,46,.55)}
.spec-table tbody tr{transition:background .15s ease}
.spec-table tbody tr:hover td{background:rgba(200,16,46,.05)}
.spec-table{border-radius:var(--lx-radius)}

.process-card{border-radius:var(--lx-radius)}
.process-card .p-num{color:var(--lx-accent)}

.faq-item{border-radius:10px}
.faq-q:hover{color:var(--lx-accent)}

.stat-num{color:var(--lx-accent2);text-shadow:0 0 26px rgba(225,75,96,.45)}

.cta-banner{position:relative;background:radial-gradient(820px 320px at 50% 0%,rgba(200,16,46,.28),transparent 62%),linear-gradient(135deg,var(--lx-ink),#322d4a)}
.cta-banner::after{content:'';position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,transparent,var(--lx-gold),transparent)}

.site-footer{background:linear-gradient(180deg,var(--lx-ink),#0e2033)}
.footer-col h4{color:var(--lx-gold);text-transform:uppercase;letter-spacing:.12em;font-size:.78rem}

.cookie-banner{border-radius:14px;backdrop-filter:blur(8px)}
/* ===== END PREMIUM LAYER ===== */

/* ===== S12 补齐模块（DE evergreen+teal） ===== */
.s12-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}
.s12-metric{border:1px solid #dbe4ee;border-top:3px solid #2a93d4;background:#fff;padding:20px;text-align:center}
.s12-metric .n{font-size:30px;font-weight:800;color:#163a60;line-height:1.1}
.s12-metric .l{font-size:13px;color:#64748b;margin-top:6px}
.s12-lc{position:fixed;left:22px;bottom:26px;z-index:900;display:flex;flex-direction:column;gap:10px}
.s12-lc-btn{width:54px;height:54px;border-radius:50%;border:0;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#fff;font-size:22px;box-shadow:0 4px 14px rgba(0,0,0,.18)}
.s12-wa{background:#25d366}
.s12-chat{background:linear-gradient(135deg,#163a60,#2a93d4)}
.s12-pop{position:fixed;left:22px;bottom:92px;z-index:950;width:300px;background:#fff;border:1px solid #dbe4ee;border-top:4px solid #2a93d4;border-radius:12px;padding:20px;display:none;box-shadow:0 12px 30px rgba(13,37,64,.2)}
.s12-pop.open{display:block}
.s12-pop h4{margin:0 0 6px;color:#0d2540}
.s12-pop p{margin:0 0 12px;font-size:13px;color:#64748b}
.s12-pop input,.s12-pop textarea{width:100%;box-sizing:border-box;padding:11px;border:1px solid #dbe4ee;border-radius:8px;margin-bottom:10px;font-size:14px}
.s12-pop .btn{width:100%}
.s12-top{position:fixed;right:22px;bottom:26px;width:46px;height:46px;border-radius:50%;background:#0d2540;color:#fff;border:1px solid #2a93d4;cursor:pointer;font-size:20px;z-index:900;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:.3s;box-shadow:0 4px 14px rgba(13,37,64,.35)}
.s12-top.show{opacity:1;pointer-events:auto}

/* page-head real photo */
.page-head{position:relative;overflow:hidden;}
.page-head .page-head-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:0;display:block;}
.page-head .page-head-shade{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(13,37,64,.85) 0%,rgba(13,37,64,.55) 60%,rgba(13,37,64,.2) 100%);}
.page-head .container{position:relative;z-index:2;}

/* ===== MODULE COMPLETION LAYER (Plan-A 2026-09-16) ===== */
.lx-testimonials .testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.testimonial-card{background:#fff;border:1px solid #e3e9f2;border-top:3px solid #2e7bc4;border-radius:12px;padding:20px}
.testimonial-card .t-head{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.t-avatar{width:40px;height:40px;border-radius:50%;background:#0d2540;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px}
.t-name{display:block;font-weight:700;color:#0d2540;font-size:14px}
.t-role{display:block;color:#64748b;font-size:12.5px}
.star-rating{color:#f5a623;letter-spacing:2px;margin-bottom:6px}
.testimonial-card p{color:#475569;font-size:13.5px;margin:0}
.lx-pullquote .pull-quote{margin:0;padding:26px 30px;border-left:4px solid #2e7bc4;background:#f8fafc;border-radius:0 12px 12px 0}
.pull-quote p{font-size:19px;color:#0d2540;font-weight:600;margin:0 0 8px}
.pull-quote cite{color:#64748b;font-style:normal;font-size:13px}
.lx-metrics .metric-row{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.metric-card{background:linear-gradient(135deg,#0d2540,#1d3d6b);color:#fff;border-radius:12px;padding:18px;text-align:center}
.metric-num{font-size:26px;font-weight:800;color:#ffd9a8}
.metric-label{font-size:12.5px;opacity:.85;margin-top:4px}
.lx-gallery .gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.gallery-item{margin:0}
.g-ph{height:150px;border-radius:10px;background:linear-gradient(135deg,#dbe4f0,#b9c9de)}
.g-ph.g2{background:linear-gradient(135deg,#f7e3d8,#eeceb9)}.g-ph.g3{background:linear-gradient(135deg,#e2e8f0,#cbd5e1)}
.gallery-item figcaption{font-size:12.5px;color:#64748b;margin-top:6px}
.lx-baseinfo .baseinfo-row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;background:#f8fafc;border:1px solid #e3e9f2;border-radius:12px;padding:16px}
.bi-k{display:block;font-size:11.5px;text-transform:uppercase;color:#64748b;letter-spacing:.5px}
.bi-v{display:block;font-weight:700;color:#0d2540;font-size:14px;margin-top:2px}
.lx-tabs .tab-bar{display:flex;gap:8px;margin-bottom:12px}
.tab-btn{border:1px solid #dbe2ee;background:#fff;color:#0d2540;padding:8px 16px;border-radius:20px;cursor:pointer;font-size:13.5px}
.tab-btn.active{background:#0d2540;color:#fff;border-color:#0d2540}
.tab-panel{display:none;background:#fff;border:1px solid #e3e9f2;border-radius:12px;padding:18px;color:#475569;font-size:14px}
.tab-panel.active{display:block}
.lx-custom .custom-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.custom-opt{display:flex;gap:8px;align-items:center;background:#fff;border:1px solid #e3e9f2;border-radius:10px;padding:12px 14px;font-size:13.5px;color:#0d2540}
.lx-pricing .tier-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.tier-card{position:relative;background:#fff;border:1px solid #e3e9f2;border-radius:14px;padding:22px;text-align:center}
.tier-card.featured{border-color:#2e7bc4;box-shadow:0 10px 30px rgba(0,0,0,.10)}
.tier-card h3{color:#0d2540;margin:0 0 6px}
.tier-price{font-size:30px;font-weight:800;color:#2e7bc4}
.tier-price span{font-size:13px;color:#64748b;font-weight:400}
.tier-card ul{list-style:none;padding:0;margin:12px 0 16px;color:#475569;font-size:13px}
.tier-card ul li{padding:5px 0;border-bottom:1px dashed #eef2f7}
.lx-compare .compare-wrap{overflow-x:auto}
.compare-table{width:100%;border-collapse:collapse;font-size:13.5px}
.compare-table th,.compare-table td{border:1px solid #e3e9f2;padding:10px 12px;text-align:left}
.compare-table th{background:#0d2540;color:#fff}
.compare-table td:first-child{font-weight:600;color:#0d2540}
.lx-demo .demo-box{display:grid;grid-template-columns:1.1fr 1fr;gap:22px;align-items:center;background:#fff;border:1px solid #e3e9f2;border-radius:14px;padding:22px}
.demo-screen{background:#f1f5f9;border-radius:10px;padding:18px;min-height:150px}
.demo-line{height:10px;border-radius:5px;background:#cbd5e1;margin:8px 0}
.demo-line.w60{width:60%}.demo-line.w80{width:80%}.demo-line.w40{width:40%}
.demo-cta{margin-top:10px;font-size:12px;color:#2e7bc4;font-weight:700}
.demo-copy h3{color:#0d2540;margin:0 0 8px}.demo-copy p{color:#475569;font-size:13.5px}
.lx-countdown .cd-box{display:flex;justify-content:space-between;align-items:center;background:#fdf1ec;border:1px solid #f3c9ba;border-radius:12px;padding:14px 18px}
.cd-label{color:#0d2540;font-weight:600;font-size:14px}
.cd-timer{color:#2e7bc4;font-weight:700;font-size:14px}
.lx-casecards .case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.case-card{background:#fff;border:1px solid #e3e9f2;border-top:3px solid #0d2540;border-radius:12px;padding:18px}
.case-card h3{color:#0d2540;font-size:15.5px;margin:8px 0 6px}
.case-card p{color:#64748b;font-size:13px;margin:0}
.lx-casedetail .cd-card{background:#fff;border:1px solid #e3e9f2;border-radius:14px;padding:22px}
.cd-meta{color:#2e7bc4;font-size:12.5px;font-weight:700;margin:6px 0 10px}
.lx-team .team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.team-card{text-align:center;background:#fff;border:1px solid #e3e9f2;border-radius:12px;padding:18px}
.team-card img{width:84px;height:84px;border-radius:50%;object-fit:cover}
.team-card h3{color:#0d2540;margin:10px 0 2px;font-size:15px}
.team-card p{color:#64748b;font-size:12.5px;margin:0}
.lx-requestdemo .rd-box{display:flex;justify-content:space-between;align-items:center;gap:16px;background:linear-gradient(135deg,#0d2540,#1d3d6b);border-radius:14px;padding:22px 26px;color:#fff}
.rd-box h3{margin:0 0 4px;color:#fff}.rd-box p{margin:0;opacity:.85;font-size:13.5px}
.rd-box a.calendar-book{color:#ffd9a8;font-size:13px}
.lx-toc{background:#f8fafc;border-bottom:1px solid #e3e9f2;padding:10px 0}
.toc-title{font-weight:700;color:#0d2540;font-size:13px;margin-right:10px}
.lx-toc ol{display:inline;list-style:none;margin:0;padding:0}
.lx-toc li{display:inline;margin-right:14px;font-size:13px}
.lx-toc a{color:#2e7bc4;text-decoration:none}
.lx-dl .dl-box{display:flex;justify-content:space-between;align-items:center;gap:16px;background:#fff;border:2px dashed #2e7bc4;border-radius:14px;padding:20px 24px}
.dl-box h3{color:#0d2540;margin:0 0 4px}.dl-box p{margin:0;color:#64748b;font-size:13.5px}
.lx-blog .blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.blog-card{background:#fff;border:1px solid #e3e9f2;border-radius:12px;padding:18px}
.blog-card h3{color:#0d2540;font-size:15px;margin:8px 0 6px}
.blog-card p{color:#94a3b8;font-size:12.5px;margin:0}
.lx-stats .stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;text-align:center}
.stat b{display:block;font-size:26px;color:#0d2540;font-weight:800}
.stat span{color:#64748b;font-size:12.5px}
.lx-marquee{overflow:hidden;border-block:1px solid #e3e9f2;padding:12px 0;background:#fff}
.marquee-track{display:flex;gap:34px;white-space:nowrap;width:max-content;min-width:100%;animation:lxmq 22s linear infinite;color:#64748b;font-weight:600;font-size:13.5px}
@keyframes lxmq{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.lx-badges{display:flex;gap:6px;margin-bottom:8px}
.badge{display:inline-block;font-size:11px;font-weight:700;padding:3px 10px;border-radius:999px;background:#e2e8f0;color:#0d2540}
.badge-new{background:#dcfce7;color:#166534}
.badge-hot{background:#ffedd5;color:#9a3412}
.lx-btt{position:fixed;right:22px;bottom:88px;width:44px;height:44px;border-radius:50%;background:#0d2540;color:#fff;border:none;font-size:18px;cursor:pointer;opacity:0;pointer-events:none;transition:.25s;z-index:60}
.lx-btt.on{opacity:.9;pointer-events:auto}
.lx-chat{position:fixed;right:22px;bottom:28px;width:52px;height:52px;border-radius:50%;background:#2e7bc4;color:#fff;border:none;font-size:14px;cursor:pointer;box-shadow:0 8px 22px rgba(0,0,0,.25);z-index:60}
.lx-chat-panel{position:fixed;right:22px;bottom:92px;width:290px;background:#fff;border:1px solid #e3e9f2;border-radius:14px;box-shadow:0 14px 40px rgba(0,0,0,.18);padding:16px;display:none;z-index:60}
.lx-chat-panel.open{display:block}
.lx-chat-panel h4{margin:0 0 6px;color:#0d2540}
.lx-chat-panel p{margin:0 0 10px;color:#64748b;font-size:13px}
.lx-modal{position:fixed;inset:0;background:rgba(15,23,42,.55);display:none;align-items:center;justify-content:center;z-index:70}
.lx-modal.open{display:flex}
.lx-modal-box{background:#fff;border-radius:16px;max-width:420px;width:92%;padding:26px;position:relative}
.lx-modal-box h3{margin:0 0 6px;color:#0d2540}
.lx-modal-box p{margin:0 0 14px;color:#64748b;font-size:13.5px}
.lx-modal-box input{width:100%;box-sizing:border-box;border:1px solid #dbe2ee;border-radius:10px;padding:10px 12px;font-size:14px;margin-bottom:10px}
.lx-modal-x{position:absolute;right:12px;top:10px;border:none;background:none;font-size:18px;cursor:pointer;color:#94a3b8}
.lx-timeline .timeline{list-style:none;margin:0;padding:0}
.lx-timeline .timeline li{position:relative;padding:0 0 18px 28px;border-left:2px solid #2e7bc4;margin-left:8px}
.lx-timeline .timeline li:last-child{border-left-color:transparent}
.lx-timeline .timeline li:before{content:"";position:absolute;left:-7px;top:2px;width:12px;height:12px;border-radius:50%;background:#2e7bc4}
.lx-timeline .timeline b{color:#0d2540;margin-right:8px}
.lx-timeline .timeline span{color:#64748b;font-size:13.5px}
@media (max-width:900px){.lx-testimonials .testimonial-grid,.lx-gallery .gallery-grid,.lx-metrics .metric-row,.lx-baseinfo .baseinfo-row,.lx-pricing .tier-grid,.lx-casecards .case-grid,.lx-team .team-grid,.lx-blog .blog-grid,.lx-stats .stats-row{grid-template-columns:repeat(2,1fr)}.lx-demo .demo-box,.lx-custom .custom-grid{grid-template-columns:1fr}}
@media (max-width:600px){.lx-testimonials .testimonial-grid,.lx-metrics .metric-row,.lx-pricing .tier-grid,.lx-casecards .case-grid,.lx-team .team-grid,.lx-blog .blog-grid,.lx-stats .stats-row{grid-template-columns:1fr}}
/* ===== END MODULE COMPLETION LAYER ===== */

/* real avatar photo */
.t-avatar{overflow:hidden}.t-avatar img{width:100%;height:100%;object-fit:cover;display:block;border-radius:50%}

/* ===== 卡片满行修复（S12 全站 · 2026-09-21） =====
   目标：固定列数下卡片数不能整除列数时，末行出现右侧空白。
   方案：与 S02-S11 已批准修法一致——按实测列数区间末行跨列补满。 ===== */

/* A) footer-grid 5 栏（auto-fit 180，实测：2列 500-624 / 3列 656-808 / 4列 871-1032 /
      5列 1080-1150 / 6列 1200+） */
@media (min-width: 500px) and (max-width: 624px) {
  .footer-grid:has(> :nth-child(5)):not(:has(> :nth-child(6))) > :nth-child(5):last-child { grid-column: 1 / -1; }
}
@media (min-width: 625px) and (max-width: 860px) {
  .footer-grid:has(> :nth-child(5)):not(:has(> :nth-child(6))) > :nth-child(5):last-child { grid-column: span 2; }
}
@media (min-width: 861px) and (max-width: 1079px) {
  .footer-grid:has(> :nth-child(5)):not(:has(> :nth-child(6))) > :nth-child(4):nth-last-child(2),
  .footer-grid:has(> :nth-child(5)):not(:has(> :nth-child(6))) > :nth-child(5):last-child { grid-column: span 2; }
}


/* B) lx 系 3 卡（testimonial/blog/tier/case/team）：601-900 两列末卡跨满 */
@media (min-width: 601px) and (max-width: 900px) {
  .lx-testimonials .testimonial-grid:not(:has(> :nth-child(4))) > :nth-child(3):last-child,
  .lx-blog .blog-grid:not(:has(> :nth-child(4))) > :nth-child(3):last-child,
  .lx-pricing .tier-grid:not(:has(> :nth-child(4))) > :nth-child(3):last-child,
  .lx-casecards .case-grid:not(:has(> :nth-child(4))) > :nth-child(3):last-child,
  .lx-team .team-grid:not(:has(> :nth-child(4))) > :nth-child(3):last-child { grid-column: 1 / -1; }
}
/* lx-gallery 3 图：两列区间（500-931）末图跨满（932+ 恢复三列满行） */
@media (min-width: 500px) and (max-width: 931px) {
  .lx-gallery .gallery-grid:not(:has(> :nth-child(4))) > :nth-child(3):last-child { grid-column: 1 / -1; }
}

/* C) process-grid 4 卡（auto-fit 220，实测：2列 500-750 / 3列 768-1004 / 4列 1032+） */
@media (min-width: 760px) and (max-width: 1031px) {
  .process-grid:has(> :nth-child(4)):not(:has(> :nth-child(5))) > :nth-child(4):last-child { grid-column: 1 / -1; }
}

/* D) related-grid 3 卡（auto-fit 240，实测：1列 500-536 / 2列 560-808 / 3列 830-1080 /
      4列 1150+） */
@media (min-width: 540px) and (max-width: 820px) {
  .related-grid:not(:has(> :nth-child(4))) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1140px) {
  .related-grid:not(:has(> :nth-child(4))) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* E) s12-metrics 4 卡（auto-fit 200，实测：2列 500-624 / 3列 656-830 / 4列 871-1080 /
      5列 1100-1150 / 6列 1200+） */
@media (min-width: 640px) and (max-width: 840px) {
  .s12-metrics:not(:has(> :nth-child(5))) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1090px) {
  .s12-metrics:not(:has(> :nth-child(5))) { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

/* F) 匿名内联容器：200px 3 卡（about 团队页，2列 500-656 / 4列 960+）与
      240px 4 卡（2列 500-808 / 3列 830-1150） */
@media (min-width: 500px) and (max-width: 656px) {
  div[style*="minmax(200px,1fr)"] > :nth-child(3):last-child { grid-column: 1 / -1; }
}
@media (min-width: 960px) {
  div[style*="minmax(200px,1fr)"] > :nth-child(3):last-child { grid-column: 1 / -1; }
}
@media (min-width: 680px) and (max-width: 1160px) {
  div[style*="minmax(240px,1fr)"] > :nth-child(4):last-child { grid-column: 1 / -1; }
}

/* G) .stats-row .container 4 卡（auto-fit 150，实测 3列 522-711 / 4列 712+ 容器足够） */
@media (min-width: 522px) and (max-width: 711px) {
  .stats-row .container:has(> :nth-child(4)):not(:has(> :nth-child(5))) > :nth-child(4):last-child { grid-column: 1 / -1; }
}
@media (min-width: 1200px) {
  .stats-row .container:has(> :nth-child(4)):not(:has(> :nth-child(5))) { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

@media (max-width: 499px) {
  .lx-gallery .gallery-grid:not(:has(> :nth-child(4))) > :nth-child(3):last-child { grid-column: span 2; }
}
/* H) 匿名内联 220px 4 卡（about 附加页）：752-1031 三列下末卡跨满 */
@media (min-width: 716px) and (max-width: 1031px) {
  div[style*="minmax(220px,1fr)"] > :nth-child(4):last-child { grid-column: 1 / -1; }
}
/* ===== END-FULLROW-S12 ===== */

/* ===== FEATURE CARD GRID + UI-ICO FIX (2026-09-22) ===== */
.lx-featurecards .container{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.lx-featurecards .smooth-card{position:relative;display:block}
.lx-featurecards .smooth-card h3{margin:10px 0 6px;font-size:1.05rem}
.ui-ico-wrap,.ui-ico{width:40px;height:40px;display:inline-block}
.ui-ico{color:#c9a227;stroke:#c9a227;fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.ui-ico circle,.ui-ico path{vector-effect:non-scaling-stroke}
.lx-featurecards .smooth-card .ui-ico-wrap{margin-bottom:2px}
@media (max-width:900px){.lx-featurecards .container{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.lx-featurecards .container{grid-template-columns:1fr}}
/* ===== END FEATURE CARD GRID + UI-ICO FIX ===== */

/* === lingomere logo rollout 2026-09-28 === */
a.brand, header .brand, .main-header .brand, .site-header .brand, .m-hdr .brand {
  max-width: none !important;
  overflow: visible !important;
  white-space: nowrap !important;
}
.brand-logo, .brand .mark, .brand .lg, .brand .brand-mark {
  width: auto !important;
  height: auto !important;
  overflow: visible !important;
  background: none !important;
  border: none !important;
  box-shadow: none !important;
  flex: 0 0 auto !important;
  display: inline-flex !important;
  align-items: center;
  padding: 0 !important;
  max-width: none !important;
}
.brand-logo-img, .brand .mark img, .brand .lg img, .brand .brand-mark img {
  height: 72px !important;
  width: auto !important;
  max-width: none !important;
  border-radius: 0 !important;
  display: inline-block !important;
}
.brand-text, .brand .mark + span, .brand .lg + span, .brand .brand-mark + span {
  display: none !important;
}
.brand-logo::after, .brand .mark::after, .brand .lg::after, .brand .brand-mark::after {
  display: none !important;
}
