/* 资料库视觉系统：温暖底色、柔和曲线与易读的信息层次。 */
:root{--brand:#1b5a68;--brand-deep:#172d36;--ink:#172d36;--ink-2:#485d63;--ink-3:#687978;--line:#dde2dc;--card:#fff;--bg:#f7f7f2;--r:18px;--radius-lg:24px;--radius:18px;--shadow-sm:none;--shadow:none;--grad-brand:linear-gradient(135deg,#1b5a68,#25434b);--grad-hero:linear-gradient(120deg,#183d48,#24535d)}
html{scroll-behavior:auto}body{background:#f7f7f2;color:#172d36;font-family:"Microsoft YaHei","PingFang SC",system-ui,sans-serif;line-height:1.75}a,button{transition:color .12s,background-color .12s,border-color .12s}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #aa914f;outline-offset:3px}h1,h2,h3{letter-spacing:-.02em;text-wrap:pretty}img{max-width:100%}.wrap{max-width:1180px;width:calc(100% - 64px);margin-left:auto;margin-right:auto}.topbar{display:none}.header{background:#f7f7f2;border-bottom:1px solid #dde2dc;box-shadow:none;position:relative}.header .wrap{min-height:88px;gap:24px;display:flex;align-items:center}.library-brand{display:flex;align-items:center;gap:10px;color:#172d36;flex-shrink:0}.library-brand-mark{display:grid;place-items:center;width:40px;height:42px;background:#1b5a68;color:#fff;font-size:14px;font-weight:800;border-radius:10px}.library-brand strong{display:block;font-size:21px;line-height:1.3}.library-brand small{display:block;font-size:10px;letter-spacing:3px;font-weight:500;color:#657570}.nav a{font-size:14px;color:#42565c}.nav-menu{gap:18px}.nav-menu>li>a{padding:10px 0}.nav-menu>li.current-menu-item>a{color:#1b5a68}.header-cta .phone{display:none}.header-cta .btn{white-space:nowrap;padding:0 16px}.btn,.fbtn,.pq-search button,.fws-verify button,.verify-link{border-radius:12px;background:#1b5a68;color:#fff;box-shadow:none;border:1px solid #1b5a68}.btn:hover,.pq-search button:hover,.fws-verify button:hover{background:#164a56;color:#fff}.btn-outline{background:transparent;color:#1b5a68}.reveal{opacity:1!important;transform:none!important;transition:none!important}.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.library-hero{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:76px;padding-top:66px;padding-bottom:54px}.library-kicker{color:#63726e;font-size:12px;letter-spacing:1.5px;margin:0 0 16px}.library-kicker span{padding:0 8px;color:#bfa66f}.library-hero h1{font-size:clamp(36px,4.6vw,58px);line-height:1.2;margin:0 0 26px;font-weight:750;letter-spacing:-2px}.library-hero h1 span{color:#1b5a68}.library-summary{font-size:15px;color:#5a6b69;line-height:1.9;margin-bottom:28px}.library-search{display:flex;border:1px solid #c6d1c9;background:#fff;padding:6px;gap:6px;border-radius:12px}.library-search input{width:0;min-width:0;flex:1;background:transparent;border:0;padding:8px 12px;font-size:14px;color:#172d36;box-shadow:none}.library-search button{border:0;background:#1b5a68;color:#fff;font-size:14px;white-space:nowrap;padding:14px 20px;border-radius:10px;cursor:pointer}.library-search button span{margin-left:10px}.library-quick{display:flex;gap:22px;font-size:12px;margin-top:17px;flex-wrap:wrap}.library-quick span{color:#7a8580}.library-quick a{color:#1b5a68}.library-evidence{background:#fff;border:1px solid #dce2da;border-top:3px solid #bfa66f;padding:24px 28px 18px;box-shadow:0 12px 32px #20352b06;align-self:center}.library-evidence-top{display:flex;justify-content:space-between;align-items:center;color:#66746e;font-size:11px;letter-spacing:1px}.library-evidence-top b{font-size:13px;letter-spacing:3px;color:#b19a65}.library-evidence h2{font-size:23px;line-height:1.5;margin:18px 0 20px}.library-evidence dl{margin:0}.library-evidence dl>div{display:flex;justify-content:space-between;border-top:1px solid #edf0e9;padding:11px 0;font-size:12px;gap:12px}.library-evidence dt{color:#9b936d;font-size:11px;flex-shrink:0}.library-evidence dt span{font-size:12px;color:#344b50;margin-left:12px}.library-evidence dd{color:#78847d;margin:0;text-align:right}.library-evidence>a{display:flex;justify-content:space-between;color:#1b5a68;border-top:1px solid #edf0e9;padding-top:16px;font-size:12px}
.library-stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #d6ded4;border-bottom:1px solid #d6ded4;padding:26px 0 16px}.library-stats>div{padding-left:34px;border-left:1px solid #d6ded4}.library-stats>div:first-child{padding-left:0;border-left:0}.library-stats strong{display:block;font-size:34px;font-weight:650;letter-spacing:-1px;line-height:1.3}.library-stats span{font-size:12px;color:#67766d}.library-stats>p{grid-column:1/-1;font-size:11px;color:#7a867d;margin:18px 0 0}.library-section{padding-top:52px;padding-bottom:6px}.library-section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:22px}.library-section-head .library-kicker{margin-bottom:7px}.library-section h2{font-size:26px;line-height:1.4;margin:0}.library-section-head>a{color:#1b5a68;font-size:12px;white-space:nowrap}.library-platforms{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;border-top:1px solid #d9e1d7;border-left:1px solid #d9e1d7}.library-platforms>a{display:flex;position:relative;flex-direction:column;min-height:102px;padding:19px 18px;border-right:1px solid #d9e1d7;border-bottom:1px solid #d9e1d7;background:#fff}.library-platforms>a:hover{background:#eef3ec}.library-platforms span{font-size:16px;font-weight:600;color:#263e46}.library-platforms small{color:#7b877d;font-size:11px;margin-top:6px}.library-platforms b{position:absolute;right:13px;top:17px;color:#87988c;font-weight:400}.library-cities{display:grid;grid-template-columns:1fr 1fr;gap:0 36px}.library-cities>a{display:grid;grid-template-columns:30px 1fr auto 24px;align-items:center;gap:14px;border-bottom:1px solid #dce3d8;padding:15px 4px;color:#253e43}.library-cities>a:hover{background:#edf2ea}.library-city-num{color:#97a292;font-size:11px}.library-cities strong{font-size:15px;font-weight:550}.library-cities small{color:#7c897f;font-size:11px}.library-cities a>span:last-child{color:#829986;text-align:right}.library-reading{display:grid;grid-template-columns:1fr 1fr;gap:72px;padding-bottom:44px;padding-top:58px}.library-reading>div>p:not(.library-kicker){font-size:13px;color:#6e7e73;max-width:420px;margin:16px 0 22px}.library-reading .btn{font-size:12px}.library-reading-links>a{display:flex;align-items:center;gap:22px;padding:17px 0;border-top:1px solid #d9e1d5}.library-reading-links span{font-size:11px;color:#a89d76}.library-reading-links h3{font-size:16px;font-weight:550;color:#314d52;margin:0 0 4px}.library-reading-links p{font-size:12px;color:#7d8a7c;margin:0}.library-reading-links b{margin-left:auto;color:#879887;font-weight:400}.library-consult{display:grid;grid-template-columns:1fr auto;gap:50px;padding:30px 34px;background:#e9efe6;border:1px solid #d7e0d1;margin-bottom:56px;align-items:center}.library-consult .library-kicker{margin-bottom:6px}.library-consult h2{font-size:24px;margin:0 0 10px}.library-consult p:not(.library-kicker){font-size:12px;color:#6a7b6c;max-width:630px;margin:0}.library-consult>div:last-child{display:flex;flex-direction:column;gap:12px;align-items:center}.library-phone{font-size:11px;color:#52725a}
/* 既有目录、详情、文章和咨询页共享资料库风格。 */
.section{padding:28px 0}.lp-hero,.v4-banner,.archive-hero,.city-directory .archive-hero,.platform-directory .archive-hero,.fws-verify .polish-hero,.fws-about .polish-hero{background:#edf1e9;color:#172d36;border:1px solid #dce4d5;border-radius:12px;box-shadow:none}.lp-hero::after,.lp-hero::before,.v4-banner::after{display:none}.lp-hero h1,.v4-banner h1,.archive-hero h1,.city-directory .archive-hero h1,.platform-directory .archive-hero h1,.polish-hero h1{color:#172d36;font-size:32px}.lp-hero .answer,.polish-hero p,.polish-hero nav,.polish-hero nav a,.v4-banner .meta{color:#597169}.lp-hero{padding:30px 0 0;border-left:0;border-right:0}.v4-banner{padding:12px 0 30px}.breadcrumb a,.v4-banner .breadcrumb a,.v4-banner .breadcrumb{color:#5b736e}.filter-bar{background:transparent;border-color:#dbe3d6}.chips a,.provider-platform-pills a,.provider-city-chips a{border-radius:10px;border-color:#dce3d5;color:#365d60;background:#fff}.chips a.active,.chips a.on,.city-tabs button.active{background:#1b5a68;color:#fff;border-color:#1b5a68}.sec-head h1,.sec-head h2{font-size:27px;color:#203d44}.sec-head small{font-size:12px;color:#748375;font-weight:400;margin-left:14px}.supplier-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.scard,.city-card,.platform-card,.archive-card,.news-card,.provider-hero,.pq-panel{border:1px solid #dbe2d7;border-radius:16px;box-shadow:none;background:#fff}.scard:hover,.city-card:hover,.platform-card:hover{transform:none;box-shadow:none;border-color:#8ca597}.scard .avatar,.provider-hero .avatar,.provider-banner .avatar{background:#edf2e8;color:#527167;border-radius:12px}.scard .desc{color:#657669}.scard .foot{border-color:#e7ece1}.badges .s,.badge,.tag,.plat-badge{border-radius:10px;box-shadow:none}.s[class*="chip-"]{background:#edf3ec;color:#326455;border:1px solid #d5e2d3}.evidence-note,.evidence-status{color:#6f735b;font-size:12px;background:#f5f2e8;border:1px solid #e6e1d1;padding:10px 14px;border-radius:10px;line-height:1.85}.ranklist{display:grid;gap:0;border:1px solid #dbe2d7;border-radius:12px;background:#fff}.ranklist .rankitem{border:0;border-bottom:1px solid #e2e7db;border-radius:0;box-shadow:none;margin:0;padding:22px 24px}.ranklist .rankitem:last-child{border-bottom:0}.rankitem:hover{transform:none;box-shadow:none;background:#fafbf7}.rankitem .no{background:#edf2e8;color:#64776c;box-shadow:none}.rankitem .body h4{font-size:18px}.provider-content,.article-content,.page-content{color:#344e4f}.page-content{max-width:980px;margin:32px auto 48px;background:#fff;border:1px solid #dce3d7;border-radius:16px;padding:38px 44px}.page-content h1{font-size:32px;margin-bottom:20px;color:#173e46}.page-content h2{font-size:23px;margin-top:30px;padding-top:12px;border-top:1px solid #e6ebdf}.page-content p,.page-content li{line-height:1.95}.table-scroll{overflow-x:auto;max-width:100%}.page-content table,.source-ledger table{width:100%;border-collapse:collapse;font-size:12px;margin:18px 0}.page-content th,.page-content td,.source-ledger th,.source-ledger td{padding:12px;text-align:left;vertical-align:top;border:1px solid #dfe6d9}.page-content th,.source-ledger th{background:#edf3e8;color:#355956;white-space:nowrap}.source-ledger td:first-child{min-width:180px}.source-ledger td:last-child{min-width:150px}.lead-form{border:1px solid #dce5d6;border-radius:12px;background:#f9fbf6;padding:24px}.lead-form input,.lead-form select,.lead-form textarea,.pq-search input,.verify-search input{border:1px solid #bbcbb8;border-radius:10px;background:#fff;color:#23464b;font-size:15px}.lead-fields{gap:20px}.lead-form label{font-size:13px;color:#48654f}.lead-consent{line-height:1.8}.lead-success{padding:18px;background:#e8f1e5;color:#365d42}.verify-facts{background:#fafcf6!important;border-color:#dbe4d3!important;border-radius:12px!important}.verify-facts h2{font-size:22px!important}.fws-verify .verify-panel,.fws-verify .verify-cta,.verify-card{border-radius:12px;border-color:#dce4d7}.fws-verify .verify-card.is-certified{background:#f4f5ea;color:#4d6753;border-color:#dce2c8}.fws-verify button,.fws-verify .verify-link{background:#1b5a68;border-radius:12px}.fws-verify .verify-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pagination a,.pagination span,.evidence-pagination .page-numbers{border-radius:10px}.pagination .current,.evidence-pagination .current{background:#1b5a68;border-color:#1b5a68;color:#fff}.footer{background:#173840;color:#dce6df;padding:40px 0 20px}.footer h4{font-size:13px;color:#e4ebe2;letter-spacing:1px}.footer a{color:#c3d2c7;font-size:12px}.footer p{color:#adc3b5;font-size:12px}.footer .library-brand{color:#fff}.footer .library-brand small{color:#92b2a3}.footer .library-brand-mark{background:#315964}.footer .footer-columns{grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px}.footer .bottom{border-color:#31515a;margin-top:26px;padding-top:16px;font-size:11px}.footer .disclaimer{color:#92ada1;font-size:10px;line-height:1.9}.library-results{margin:30px auto 55px}.library-results form{max-width:620px;margin:18px 0}.library-result-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 0;border-bottom:1px solid #dae3d3}.library-result-row h2{font-size:20px;margin:0}.library-result-row p{font-size:12px;color:#6e7f6c;margin:6px 0}.library-result-row>a{white-space:nowrap;font-size:13px}.library-result-note{max-width:720px;color:#607669;font-size:13px}.skip-link{position:absolute;left:12px;top:-100px;z-index:99999;background:#fff;padding:10px;color:#1b5a68}.skip-link:focus{top:12px}
@media(max-width:1100px){.header .wrap{gap:18px}.nav-menu{gap:12px}.nav a{font-size:13px}.library-hero{gap:40px}.library-platforms{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:900px){.wrap{width:calc(100% - 40px)}.header .wrap{min-height:76px}.header .nav{display:none}.header .nav.is-open,.header .nav.open{display:block;position:absolute;top:76px;left:0;right:0;background:#f7f7f2;z-index:30;padding:20px;border-bottom:1px solid #dce3d6}.nav-toggle{display:block;margin-left:auto}.header-cta{display:none}.library-hero{gap:28px;padding-top:40px;padding-bottom:36px;grid-template-columns:1.2fr 1fr}.library-hero h1{font-size:42px}.library-evidence{padding:20px}.library-evidence h2{font-size:21px}.library-evidence dl>div{display:block}.library-evidence dd{text-align:left;margin:4px 0 0 25px}.library-reading{gap:36px}.library-section h2{font-size:24px}.library-consult{padding:24px;gap:24px}.page-content{padding:28px}.sec-head h1,.sec-head h2{font-size:24px}.sec-head small{display:block;margin:7px 0 0}.footer .footer-columns{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.wrap{width:calc(100% - 32px)}.library-brand strong{font-size:19px}.library-hero{grid-template-columns:1fr;padding-top:34px;gap:30px}.library-hero h1{font-size:40px;letter-spacing:-1px}.library-summary{font-size:13px}.desktop-break{display:none}.library-search input{padding:8px;font-size:13px}.library-search button{padding:12px 14px;font-size:13px}.library-search button span{display:none}.library-quick{gap:18px}.library-evidence{padding:20px 22px}.library-evidence h2{font-size:22px}.library-evidence dl>div{display:flex}.library-evidence dd{margin:0;text-align:right}.library-stats{grid-template-columns:1fr 1fr;gap:20px 0;padding:20px 0 16px}.library-stats>div{padding-left:20px}.library-stats>div:nth-child(3){border-left:0;padding-left:0}.library-stats strong{font-size:29px}.library-stats>p{margin-top:0}.library-section{padding-top:34px}.library-section-head{align-items:start;gap:12px}.library-section h2{font-size:22px}.library-section-head>a{margin-top:5px;font-size:11px}.library-platforms{grid-template-columns:repeat(2,minmax(0,1fr))}.library-platforms>a{min-height:92px;padding:16px}.library-cities{grid-template-columns:1fr}.library-cities>a{padding:14px 2px}.library-reading{grid-template-columns:1fr;gap:28px;padding-bottom:30px}.library-consult{grid-template-columns:1fr;gap:24px;padding:22px;margin-bottom:32px}.library-consult>div:last-child{align-items:start}.supplier-grid{grid-template-columns:1fr}.lp-hero h1,.v4-banner h1,.archive-hero h1,.polish-hero h1{font-size:26px}.page-content{padding:22px 18px;margin:22px auto 32px}.page-content h1{font-size:27px}.page-content h2{font-size:21px}.lead-form{padding:16px}.lead-fields{grid-template-columns:1fr;gap:6px}.lead-form input,.lead-form select,.lead-form textarea{font-size:16px}.fws-verify .verify-grid{grid-template-columns:1fr}.ranklist .rankitem{padding:18px 14px}.rankitem .body h4{font-size:16px}.footer .footer-columns{grid-template-columns:1fr 1fr;gap:26px 20px}.footer .footer-brand{grid-column:1/-1}.footer .footer-contact{grid-column:1/-1}.library-result-row{display:block}.library-result-row>a{display:inline-block;margin-top:6px}.library-results h1{font-size:26px}.page-content table{display:table}.page-content .source-ledger table{min-width:650px}.page-content:has(table):not(:has(.table-scroll)){overflow-x:auto}}
:root{--brand-dark:#25434b;--brand-soft:#edf3e9;--brand-softer:#f2f5ee;--bg-soft:#f2f5ee;--r-sm:12px;--r-xs:10px;--shadow-lg:none;--shadow-1:none;--shadow-2:none;--gold:#968154;--accent:#1b5a68}
.ranklist .ranklist-item{border:0;border-bottom:1px solid #e1e6da;border-radius:0;box-shadow:none;margin:0;padding:22px 24px;transition:none}.ranklist .ranklist-item:last-child{border-bottom:0}.ranklist .ranklist-item:hover{transform:none;box-shadow:none;background:#fafbf7}.ranklist-item::before{display:none}.ranklist-item .no,.ranklist-item.top .no,.ranklist-item .no.rank-gold,.ranklist-item .no.rank-silver,.ranklist-item .no.rank-bronze{background:#edf2e8;color:#62776a;border:0;border-radius:10px;box-shadow:none;font-size:12px}.ranklist-item .body h4{font-size:18px;font-weight:550}.ranklist-item .body h4 a{min-height:28px}.ranklist-item .badges span[class*="chip-"]{background:#edf3ec;color:#326455;border:1px solid #d5e2d3;border-radius:10px}.ranklist-item .score b{color:#46685d;font-weight:500;font-size:20px}.fws-verify .verify-layout{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:24px}.fws-verify .verify-panel{background:#fff;border:1px solid #dce4d7;box-shadow:none}.fws-verify .verify-search{display:flex;gap:12px;margin:20px 0}.fws-verify .verify-search input{min-width:0;flex:1;padding:12px}.fws-verify button,.verify-link{padding:10px 16px;cursor:pointer;color:#fff}.fws-verify .verify-cta{background:#edf2e8;color:#365b50;border:1px solid #d7e2ce;padding:24px}.fws-verify .verify-cta h2{color:#365b50}.fws-verify .verify-cta a{color:#1b5a68;font-size:20px}.fws-verify .verify-updated{border-color:#c7d6bb;color:#65795d;border-radius:10px;font-size:12px}.fws-verify button:hover,.fws-verify .verify-cta:hover,.fws-about .about-cta a:hover{transform:none}.fws-verify .verify-card{background:#f4f7ef;padding:18px;font-size:13px}.fws-verify .verify-grid{display:grid;gap:14px;margin-top:20px}.fws-verify .verify-card p{margin:7px 0}.fws-verify .verify-information{background:#edf3e8;border-radius:12px}.fws-verify .verify-faq details{box-shadow:none;border-radius:12px}.fws-verify .verify-faq summary{color:#365c53;border-color:#bfa66f}.fws-verify .verify-request input{display:block;width:100%;padding:10px}.fws-verify .verify-request label{display:block;margin:12px 0}.fws-verify [hidden]{display:none!important}.fws-verify .verify-candidate{display:block;width:100%;text-align:left;margin:8px 0}.fws-about .about-stats strong,.fws-about .about-body h2{color:#1b5a68}.fws-about .about-stats>div{box-shadow:none;border-color:#dce4d7;border-radius:12px}.fws-about .about-body h2{border-color:#bfa66f}.fws-about .about-cta{background:#edf2e8;color:#365c53;border-radius:12px}.fws-about .about-cta h2,.fws-about .about-cta a{color:#1b5a68}.header .nav.is-open{max-height:none;overflow:visible}.footer .library-brand{min-height:44px}.footer .library-brand strong{color:#fff}.footer .library-brand small{color:#c1d2c6}
@media(max-width:650px){.ranklist .ranklist-item{padding:18px 14px;gap:12px}.ranklist-item .body h4{font-size:16px}.ranklist-item .score{text-align:left;margin-left:50px}.fws-verify .verify-layout{grid-template-columns:1fr}.fws-verify .verify-search{flex-direction:column}.fws-verify .verify-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}}


/* 2026-10-14：降低硬边界与装饰密度，统一卡片、按钮和表单的触感。 */
:root {
  --brand: #285e5c;
  --brand-deep: #243c39;
  --brand-dark: #214d4b;
  --ink: #293d39;
  --ink-2: #586b64;
  --ink-3: #78857b;
  --line: #ebece5;
  --bg: #f8f8f4;
  --brand-soft: #edf3ed;
  --brand-softer: #f3f6f0;
  --shadow-sm: 0 3px 16px rgba(40,60,45,.035);
  --shadow: 0 8px 24px rgba(40,60,45,.045);
  --shadow-lg: 0 12px 30px rgba(40,60,45,.07);
}
body { background: var(--bg); color: var(--ink); }
a, button { transition: background-color .16s, color .16s, box-shadow .16s, border-color .16s, transform .16s; }
.header { background: var(--bg); border-bottom-color: #eeeee7; backdrop-filter: none; }
.header .wrap { min-height: 84px; height: auto; }
.library-brand-mark { border-radius: 13px; background: #285e5c; width: 42px; height: 42px; font-weight: 650; }
.library-brand strong { font-size: 20px; font-weight: 650; }
.library-brand small { letter-spacing: 1px; font-size: 11px; margin-top: 2px; }
.nav-menu>li>a { border-radius: 9px; }
.nav-menu .sub-menu { border-color: #ededE6; border-radius: 16px; padding: 9px; box-shadow: var(--shadow-lg); }
.nav-menu>li>a::after { height: 2px; border-radius: 2px; }
.library-hero { gap: 70px; padding-top: 64px; padding-bottom: 48px; align-items: center; }
.library-kicker { font-size: 12px; letter-spacing: .3px; color: #778176; }
.library-hero h1 { font-size: clamp(36px,4vw,52px); font-weight: 650; line-height: 1.35; letter-spacing: -.6px; margin-bottom: 20px; color: #293f39; }
.library-hero h1 span { color: #3b7568; }
.library-summary { font-size: 15px; line-height: 1.95; color: #6a756b; max-width: 500px; }
.library-search { border-radius: 17px; padding: 7px; border-color: #e4e8de; box-shadow: 0 5px 20px #304c3505; }
.library-search:focus-within { border-color: #9ebaa4; box-shadow: 0 0 0 3px #e8f0e5; }
.library-search input { padding: 10px 15px; border-radius: 10px; color: #344d43; }
.library-search input:focus { outline: none; }
.library-search input::placeholder { color: #90998c; }
.library-search button, .btn, .pq-search button, .fws-verify button, .verify-link {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 44px; padding: 10px 22px; border-radius: 12px;
  background: #285e5c; border: 1px solid #285e5c; color: #fff;
  font-size: 14px; line-height: 1.5; font-weight: 500; letter-spacing: .2px;
  box-shadow: 0 3px 8px #21483b12, inset 0 1px 0 #ffffff16;
  cursor: pointer; text-decoration: none;
}
.library-search button:hover, .btn:hover, .pq-search button:hover, .fws-verify button:hover, .verify-link:hover {
  background: #326e65; border-color: #326e65; color: #fff; transform: translateY(-1px); box-shadow: 0 5px 12px #21483b15;
}
.library-search button:active, .btn:active, .pq-search button:active, .fws-verify button:active {
  transform: translateY(1px); box-shadow: inset 0 2px 3px #153e351a;
}
.btn.ghost, .btn-outline { background: #f9fbf7; color: #3b665b; border-color: #dce6d9; box-shadow: none; }
.btn.ghost:hover, .btn-outline:hover { background: #edf3e9; color: #285e5c; border-color: #becfbd; }
.header-cta .btn { min-height: 42px; padding: 9px 18px; border-radius: 12px; }
button:disabled { opacity: .65; cursor: wait; transform: none!important; }
.library-quick { gap: 18px; font-size: 13px; }
.library-quick a { padding: 3px 0; color: #547762; }
.library-evidence { border: 1px solid #efefe6; border-radius: 24px; border-top: 1px solid #efefe6; padding: 28px 30px 22px; background: #fffefa; box-shadow: 0 10px 36px #354e3410; }
.library-evidence-top { font-size: 12px; letter-spacing: 0; color: #8b8d75; }
.library-evidence-top b { display: none; }
.library-evidence h2 { font-size: 24px; font-weight: 550; margin: 15px 0 20px; line-height: 1.6; color: #3c5344; }
.library-evidence dl { display: grid; gap: 3px; }
.library-evidence dl>div { border: 0; padding: 10px 0; align-items: center; }
.library-evidence dt { font-size: 13px; color: #506750; }
.library-evidence dt span { margin-left: 0; font-size: 13px; }
.library-evidence dd { font-size: 12px; color: #84907c; }
.library-evidence>a { border-color: #eceee3; margin-top: 14px; font-size: 12px; padding-top: 18px; }
.library-stats { border: 0; padding: 28px 0 12px; gap: 0 20px; }
.library-stats>div { border: 0; padding-left: 0; }
.library-stats strong { font-size: 32px; font-weight: 550; color: #49604a; }
.library-stats span { font-size: 12px; color: #848b78; }
.library-stats>p { padding-top: 18px; margin-top: 18px; border-top: 1px solid #e9ece1; color: #838b79; }
.library-section { padding-top: 48px; }
.library-section h2 { font-size: 26px; font-weight: 550; color: #334c3c; }
.library-section-head { margin-bottom: 24px; }
.library-section-head>a { color: #728b70; }
.library-platforms { gap: 12px; border: 0; }
.library-platforms>a { min-height: 103px; border: 1px solid #eceee5; border-radius: 16px; padding: 19px 18px; box-shadow: 0 2px 8px #38563803; background: #fff; }
.library-platforms>a:hover { background: #fff; border-color: #c7d5bf; box-shadow: 0 5px 18px #395b3910; transform: translateY(-2px); }
.library-platforms span { font-weight: 550; color: #3c5140; }
.library-platforms small { color: #8a927e; margin-top: 9px; }
.library-cities { gap: 2px 32px; }
.library-cities>a { grid-template-columns: minmax(0,1fr) auto 20px; padding: 15px 14px; border-bottom: 1px solid #edf0e5; border-radius: 12px; }
.library-cities>a:hover { background: #f0f4e9; }
.library-city-num { display: none; }
.library-cities strong { font-weight: 500; }
.library-cities small { color: #88917d; }
.library-reading { padding-top: 60px; padding-bottom: 45px; }
.library-reading h2 { line-height: 1.65; }
.library-reading-links>a { border-color: #eceee2; padding: 20px 8px; gap: 0; border-radius: 10px; }
.library-reading-links>a>span { display: none; }
.library-reading-links>a:hover { background: #f0f4e9; }
.library-reading-links h3 { font-size: 16px; font-weight: 500; }
.library-reading .btn { font-size: 13px; }
.library-consult { border: 0; border-radius: 24px; background: #edf2e7; padding: 34px 38px; margin-bottom: 58px; }
.library-consult h2 { font-weight: 550; font-size: 25px; color: #3d5943; }
.library-consult p:not(.library-kicker) { line-height: 1.9; }
.library-consult .library-phone { font-size: 12px; color: #6b8365; }

/* 目录、档案、文章和表单共享相同曲率，细分隔用于阅读而非框住每条信息。 */
.lp-hero, .v4-banner { background: #f1f4ed; border: 0; padding-top: 24px; }
.archive-hero, .city-directory .archive-hero, .platform-directory .archive-hero,
.fws-verify .polish-hero, .fws-about .polish-hero {
  background: #eef3e9; border: 0; border-radius: 22px; box-shadow: none; padding: 32px;
}
.lp-hero h1, .v4-banner h1, .archive-hero h1, .polish-hero h1 { font-weight: 550; line-height: 1.5; }
.filter-bar { border-color: #e6ecdf; gap: 12px; }
.chips a, .provider-platform-pills a, .provider-city-chips a, .city-region-nav a,
.city-tabs button, .province-tag { border-radius: 20px; border-color: #e5eadf; background: #fff; padding-left: 15px; padding-right: 15px; }
.chips a:hover, .city-region-nav a:hover { background: #edf4e8; border-color: #d0dec6; }
.scard, .pcard, .city-card, .platform-card, .archive-card, .news-card, .ncard,
.provider-hero, .pq-panel, .pq-city, .verify-panel, .article-toc, .about-stats>div {
  border-color: #e9ece1; border-radius: 18px; box-shadow: 0 4px 18px #294a2905;
}
.city-directory .city-directory-card, .platform-directory .archive-platform-card {
  border-color: #e9ece1; border-radius: 16px; box-shadow: 0 3px 12px #294a2904;
}
.city-directory .city-directory-card:hover, .platform-directory .archive-platform-card:hover,
.scard:hover { border-color: #c7d7bf; box-shadow: 0 6px 20px #294a290a; transform: translateY(-1px); }
.scard .avatar, .provider-hero .avatar, .provider-banner .avatar { border-radius: 14px; background: #edf4e8; color: #597957; }
.scard .row h3, .scard h3, .pcard h3 { font-weight: 550; }
.scard .fbtn { border: 0; border-radius: 20px; padding: 5px 13px; background: #edf4e8; color: #50794b; font-weight: 500; box-shadow: none; }
.scard .foot { border-color: #eff1e8; }
.badges .s, .badge, .tag, .plat-badge, .ranklist-item .badges span[class*="chip-"] {
  border-radius: 8px; border-color: #e0e8d9; font-weight: 400;
}
.ranklist { border: 1px solid #e9ece2; border-radius: 19px; overflow: hidden; box-shadow: 0 4px 18px #294a2904; }
.ranklist .ranklist-item { border-color: #edf0e6; padding: 24px; }
.ranklist-item .no, .ranklist-item.top .no, .ranklist-item .no.rank-gold,
.ranklist-item .no.rank-silver, .ranklist-item .no.rank-bronze { border-radius: 12px; background: #f0f4e9; }
.ranklist-item .body h4 { font-weight: 550; }
.evidence-note, .evidence-status { border: 0; background: #f5f3e9; border-radius: 12px; padding: 12px 16px; }
.page-content { border-color: #eeefe6; border-radius: 20px; padding: 40px 44px; box-shadow: 0 5px 24px #294a2904; }
.page-content h1, .page-content h2, .sec-head h1, .sec-head h2 { font-weight: 550; }
.page-content h2 { border: 0; margin-top: 32px; padding-top: 4px; }
.page-content table, .source-ledger table { border-collapse: separate; border-spacing: 0; border: 1px solid #e8edde; border-radius: 12px; overflow: hidden; }
.page-content th, .page-content td, .source-ledger th, .source-ledger td { border: 0; border-bottom: 1px solid #e9eedf; padding: 13px 14px; }
.page-content tbody tr:last-child td, .source-ledger tbody tr:last-child td { border-bottom: 0; }
.lead-form { border: 0; border-radius: 18px; background: #f7f9f3; padding: 28px; }
.lead-form input:not([type="checkbox"]), .lead-form select, .lead-form textarea,
.pq-search input, .verify-search input, .fws-verify input, #city-search {
  border: 1px solid #dde6d5; border-radius: 12px; background: #fff; padding: 12px 14px; color: #3b5740;
}
.lead-form input:not([type="checkbox"]):focus, .lead-form select:focus, .lead-form textarea:focus,
.pq-search input:focus, .fws-verify input:focus { border-color: #9bb994; outline: 2px solid #e2eddc; outline-offset: 2px; }
/* 勾选框保持原生尺寸，整段标签可点击；覆盖旧全局44px控件限制。 */
.lead-form input[type="checkbox"] { accent-color: #285e5c; width: 17px; height: 17px; min-width: 17px!important; min-height: 17px!important; padding: 0; margin: 0 8px 0 0; vertical-align: -3px; border-radius: 4px; }
.lead-form .lead-consent { min-height: 44px; cursor: pointer; }
.lead-form .lead-consent { font-size: 12px; color: #768168; }
.verify-facts { border-radius: 18px!important; border-color: #e7eddf!important; background: #f8faf4!important; }
.fws-verify .verify-panel, .fws-verify .verify-cta, .fws-verify .verify-card,
.fws-verify .verify-information, .fws-verify .verify-faq details,
.fws-about .about-stats>div, .fws-about .about-cta { border-radius: 18px; border-color: #e8edde; box-shadow: none; }
.fws-verify .verify-cta { background: #edf3e7; }
.fws-verify .verify-card.is-certified { border-color: #e5ead9; background: #f5f7ef; }
.fws-verify .verify-faq summary { border: 0; padding-left: 0; font-weight: 500; }
.fws-verify .verify-updated { border: 0; border-radius: 20px; background: #ffffff7a; }
.fws-about .about-body h2 { border: 0; padding-left: 0; }
.article-toc summary, .article-related>h2 { color: #395b43; }
.article-toc a { border-radius: 10px; border-left: 0; }
.article-toc a[aria-current="location"] { color: #476d47; background: #edf4e8; }
.reading-progress { background: #99b084; }
.pagination a, .pagination span, .evidence-pagination .page-numbers, .fws-pagination .page-numbers { border-radius: 10px; }
.cta-band { background: #eef4e8; border: 0; border-radius: 22px; padding: 34px; color: #3d6247; }
.cta-band h3 { color: #3d6247; font-weight: 550; }
.cta-band p { color: #70856b; }
.cta-band .btn.ghost { border-color: #cddcc5; color: #446e4a; background: #f8fbf5; }
.footer { background: #29443f; padding-top: 46px; }
.footer h4 { font-weight: 500; letter-spacing: 0; }
.footer .library-brand-mark { background: #46665a; }
.footer .bottom { border-color: #456054; }
.footer .footer-navigation { display: grid; grid-template-columns: 1fr 1fr; gap: 1px 14px; align-content: start; }
.footer .footer-navigation h4 { grid-column: 1/-1; }
.footer .footer-columns a:not(.library-brand) { min-height: 32px; font-size: 13px; }

@media (max-width: 1100px) {
  .library-hero { gap: 38px; }
}
@media (max-width: 900px) {
  .header .wrap { min-height: 72px; padding: 12px 0; }
  .header .nav.is-open, .header .nav.open { top: 72px; padding: 15px 20px; background: #fbfcf8; border-bottom: 1px solid #e5ecdf; border-radius: 0 0 20px 20px; box-shadow: 0 8px 20px #294a290b; }
  .nav-toggle { display: flex; min-width: 44px; min-height: 44px; border-radius: 12px; background: #edf3e8; align-items: center; justify-content: center; gap: 4px; }
  .nav-menu>li>a { border-bottom-color: #e9eee2; }
  .library-hero { gap: 26px; padding-top: 38px; }
  .library-hero h1 { font-size: 40px; }
  .library-evidence { padding: 23px; }
  .library-evidence dl>div { display: block; }
  .library-evidence dd { margin: 4px 0 0; text-align: left; }
  .library-evidence h2 { font-size: 22px; }
  .library-consult { padding: 28px; }
}
@media (max-width: 650px) {
  .library-hero { padding-top: 32px; padding-bottom: 25px; gap: 26px; }
  .library-hero h1 { font-size: 38px; line-height: 1.4; }
  .library-summary { font-size: 14px; margin-bottom: 22px; }
  .library-search { border-radius: 15px; padding: 6px; }
  .library-search input { padding: 9px 10px; font-size: 14px; }
  .library-search button { padding: 10px 15px; font-size: 13px; min-height: 44px; border-radius: 11px; }
  .library-evidence { border-radius: 21px; padding: 24px; }
  .library-evidence dl>div { display: flex; padding: 9px 0; }
  .library-evidence dd { margin: 0; text-align: right; }
  .library-evidence h2 { font-size: 22px; }
  .library-stats { gap: 20px 16px; padding: 25px 0 5px; }
  .library-stats>div { padding-left: 0; }
  .library-stats strong { font-size: 29px; }
  .library-stats>p { margin: 0; padding-top: 16px; font-size: 11px; }
  .library-section { padding-top: 36px; }
  .library-section h2 { font-size: 22px; line-height: 1.5; }
  .library-section-head { margin-bottom: 19px; }
  .library-platforms { gap: 10px; }
  .library-platforms>a { min-height: 96px; padding: 17px; border-radius: 15px; }
  .library-cities>a { padding: 14px 8px; }
  .library-reading { padding-top: 38px; padding-bottom: 32px; }
  .library-consult { padding: 25px; border-radius: 22px; margin-bottom: 36px; }
  .library-consult h2 { font-size: 23px; }
  .page-content { border-radius: 18px; padding: 26px 20px; }
  .lead-form { padding: 20px 16px; }
  .lead-form input:not([type="checkbox"]), .lead-form select, .lead-form textarea { font-size: 16px; }
  .ranklist .ranklist-item { padding: 20px 15px; }
  .archive-hero, .city-directory .archive-hero, .platform-directory .archive-hero,
  .fws-verify .polish-hero, .fws-about .polish-hero { padding: 26px 22px; border-radius: 20px; }
  .cta-band { padding: 27px 22px; border-radius: 20px; }
  .footer .grid.footer-columns>.footer-brand, .footer .footer-navigation, .footer .footer-categories { grid-column: 1/-1; }
  .footer .footer-categories { display: grid; grid-template-columns: 1fr 1fr; gap: 1px 14px; }
  .footer .footer-categories h4 { grid-column: 1/-1; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition: none!important; animation: none!important; }
}
