/* ============================================================
 * ka 墨绿典藏 · kaisuoa 第十二站定制 —— 与静态主站同源（样例02设计真源）
 * 本文件由 build_ka_template.py 从 site/index.html <style> 提取生成，勿手改
 * ============================================================ */

:root{--ink:#26302a;--gr:#1c4634;--au:#c9a227;--bg:#f6f4ee;--hair:#d8d2c2;--mut:#6f7568}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:-apple-system,"PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink);background:var(--bg);font-size:15px;line-height:1.85}
a{color:inherit;text-decoration:none}
.wrap{max-width:960px;margin:0 auto;padding:0 20px}
h1,h2,h3,.ka-word,.ka-num{font-family:Georgia,"Times New Roman","Songti SC","SimSun",serif}
.ka-mast{border-bottom:3px double var(--gr)}
.ka-mast .wrap{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:86px;gap:14px}
.ka-mast .l{font-size:12px;color:var(--mut);letter-spacing:1px}
.ka-brand{text-align:center}
.ka-brand .mark{display:inline-flex;width:34px;height:34px;border:1.5px solid var(--au);border-radius:50%;align-items:center;justify-content:center;color:var(--au);font-family:Georgia,serif;font-size:17px;margin-right:8px;vertical-align:middle}
.ka-word a{font-size:26px;font-weight:700;color:var(--gr);letter-spacing:4px;vertical-align:middle}
.ka-brand small{display:block;font-size:12px;color:var(--mut);letter-spacing:2px;margin-top:2px}
.ka-mast .tel{text-align:right;font-size:12px;color:var(--mut)}
.ka-mast .tel a{display:block;font-family:Georgia,serif;font-size:19px;font-weight:700;color:var(--gr)}
.ka-nav{border-bottom:1px solid var(--hair);background:#fffdf6}
.ka-nav .wrap{text-align:center}
.ka-nav a{display:inline-block;padding:13px 14px;font-size:14px;color:#4c564c;letter-spacing:1px}
.ka-nav a.on,.ka-nav a:hover{color:var(--au)}
.ka-nav a+a::before{content:"·";color:var(--hair);margin-right:26px}
.ka-hero{padding:58px 0 46px;border-bottom:1px solid var(--hair)}
.ka-hero .wrap{display:grid;grid-template-columns:1.5fr 1fr;gap:44px;align-items:start}
.ka-hero h1{font-size:33px;line-height:1.5;color:var(--gr);font-weight:700}
.ka-hero .sub{margin-top:16px;font-size:14.5px;color:#54604f;max-width:520px}
.ka-hero .sub b{color:var(--gr)}
.ka-hot{border:1px solid var(--gr);background:#fbf8ef;padding:30px 26px;text-align:center}
.ka-hot .lab{font-size:12px;letter-spacing:4px;color:#8a7b45}
.ka-hot .num{display:block;font-family:Georgia,serif;font-size:30px;font-weight:700;color:var(--gr);margin:12px 0 6px;letter-spacing:1px}
.ka-hot .tip{font-size:12px;color:var(--mut)}
.ka-hot .go{margin-top:18px;display:block;border-top:1px solid var(--au);border-bottom:1px solid var(--au);color:var(--gr);letter-spacing:6px;padding:10px 0;font-size:15px;font-weight:700}
.ka-sec{padding:44px 0 8px}
.ka-sech{display:flex;align-items:baseline;gap:14px;border-bottom:1px solid var(--ink);padding-bottom:10px;margin-bottom:20px}
.ka-sech h2{font-size:24px;color:var(--gr);letter-spacing:2px}
.ka-sech span{font-size:12px;color:#a8a28e;letter-spacing:3px}
.ka-prose2{column-count:2;column-gap:40px;font-size:14.5px;color:#414b41}
.ka-prose2 p{margin:0 0 12px;break-inside:avoid}
.ka-prose2 p:first-child::first-letter{font-family:Georgia,serif;font-size:44px;float:left;line-height:1;padding:4px 8px 0 0;color:var(--gr);font-weight:700}
.ka-prose2 b{color:var(--gr)}
.ka-upd{display:block;margin-top:6px;font-size:12px;color:#a8a28e}
.ka-svclist{display:grid;grid-template-columns:1fr 1fr;gap:0 44px}
.ka-svc-row{display:flex;gap:16px;align-items:baseline;padding:15px 2px;border-top:1px solid var(--hair)}
.ka-svc-row .no{font-family:Georgia,serif;font-size:21px;color:var(--au);font-weight:700}
.ka-svc-row b{font-size:16px;color:var(--gr);display:block}
.ka-svc-row small{font-size:12.5px;color:var(--mut);display:block;margin-top:2px}
.ka-svc-row:hover b{color:var(--au)}
.ka-dir{column-count:2;column-gap:44px}
.ka-dir-row{display:flex;justify-content:space-between;align-items:baseline;padding:11px 2px;border-bottom:1px dotted var(--hair);font-size:14.5px;color:#3f4a3f}
.ka-dir-row i{font-style:normal;font-size:12px;color:var(--au)}
.ka-dir-row:hover{color:var(--gr);font-weight:600}
.ka-xq{font-size:13.5px;color:#5a655a;line-height:2.1;margin-top:18px}
.ka-xq a{border-bottom:1px dotted #b9b29a;padding-bottom:1px;margin:0 8px;color:#4e5a4e}
.ka-xq a:hover{color:var(--au);border-color:var(--au)}
.ka-price{border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);padding:4px 2px}
.ka-price table{width:100%;border-collapse:collapse;font-size:14.5px}
.ka-price th{text-align:left;font-size:12px;color:var(--mut);font-weight:600;letter-spacing:2px;padding:12px 2px;border-bottom:1px solid var(--ink)}
.ka-price th:last-child,.ka-price td:last-child{text-align:right;font-family:Georgia,serif}
.ka-price td{padding:13px 2px;border-bottom:1px solid var(--hair);color:#3f4a3f}
.ka-price td:last-child{font-weight:700;color:#8a5a12;font-size:15.5px}
.ka-note{font-size:12.5px;color:var(--mut);padding:10px 2px 0}
.ka-note b{color:var(--gr)}
.ka-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.ka-step{display:flex;gap:12px}
.ka-step .zi{flex:0 0 34px;height:34px;border:1px solid var(--au);border-radius:50%;color:var(--au);font-family:Georgia,serif;font-size:16px;display:flex;align-items:center;justify-content:center}
.ka-step h3{font-size:15.5px;color:var(--gr);margin-bottom:4px}
.ka-step p{font-size:13px;color:var(--mut)}
.ka-faqlist .ka-faqrow{display:grid;grid-template-columns:1fr 2fr;gap:24px;padding:16px 2px;border-top:1px solid var(--hair)}
.ka-faqrow .q{font-family:Georgia,"Songti SC","SimSun",serif;font-weight:700;font-size:15.5px;color:var(--gr)}
.ka-faqrow .a{font-size:13.5px;color:#4a544a}
.ka-feedlist .ka-feedrow{display:flex;gap:22px;align-items:baseline;padding:12px 2px;border-bottom:1px dotted var(--hair);font-size:14.5px}
.ka-feedrow time{font-family:Georgia,serif;color:#a8a28e;font-size:13px;flex:0 0 84px}
.ka-feedrow span{color:#3f4a3f}
.ka-feedrow:hover span{color:var(--au)}
.ka-co{border:1px solid var(--hair);background:#fffdf6;padding:20px 22px;font-size:13.5px}
.ka-co dl{display:grid;grid-template-columns:92px 1fr;gap:8px 14px}
.ka-co dt{color:var(--mut)}
.ka-co address{font-style:normal}
.ka-foot{background:var(--gr);color:#b9cec0;margin-top:52px;font-size:13px;text-align:center;padding:34px 0 0}
.ka-foot .fw{max-width:860px;margin:0 auto;padding:0 20px}
.ka-foot h4{color:var(--au2,#e6c455);font-family:Georgia,serif;font-size:15px;letter-spacing:3px;margin-bottom:10px}
.ka-foot .ln{line-height:2.2;border-bottom:1px solid rgba(255,255,255,.12);padding-bottom:14px;margin-bottom:4px}
.ka-foot a{margin:0 9px}
.ka-foot a:hover{color:#e6c455}
.ka-fline{padding:14px 0;font-size:12.5px;color:#9db5a4}
.ka-fline a{margin:0 5px}
.ka-bk-call{display:none}
@media(max-width:760px){
.ka-mast .wrap{grid-template-columns:1fr;height:auto;padding:12px 20px 10px;gap:4px}
.ka-mast .l{display:none}
.ka-brand{text-align:left}
.ka-word a{font-size:20px;letter-spacing:2px}
.ka-mast .tel{text-align:right}
.ka-mast .tel a{font-size:16px}
.ka-nav .wrap{overflow-x:auto;white-space:nowrap;text-align:left}
.ka-nav a+a::before{margin-right:12px}
.ka-hero{padding:34px 0}
.ka-hero .wrap{grid-template-columns:1fr;gap:24px}
.ka-hero h1{font-size:23px}
.ka-prose2{column-count:1}
.ka-svclist{grid-template-columns:1fr}
.ka-dir{column-count:1}
.ka-steps{grid-template-columns:1fr;gap:16px}
.ka-faqlist .ka-faqrow{grid-template-columns:1fr;gap:6px}
.ka-co dl{grid-template-columns:84px 1fr}
body{padding-bottom:84px}
.ka-bk-call{display:block;position:fixed;bottom:calc(14px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);z-index:9}
.ka-bk-call a{display:inline-flex;align-items:center;gap:9px;background:var(--gr);border:1px solid var(--au);color:#e6c455;padding:10px 24px 10px 12px;border-radius:999px;font-size:15px;font-weight:700;box-shadow:0 6px 18px rgba(0,0,0,.35);white-space:nowrap}
.ka-bk-call .ic{width:32px;height:32px;border-radius:50%;background:var(--au);display:flex;align-items:center;justify-content:center}
.ka-bk-call svg{width:16px;height:16px;fill:#fff}
@keyframes karing{0%,42%,100%{transform:rotate(0)}48%{transform:rotate(-14deg)}54%{transform:rotate(12deg)}60%{transform:rotate(-9deg)}66%{transform:rotate(0)}}
.ka-bk-call .ic svg{animation:karing 2.6s ease-in-out infinite}
}
.ka-bk-call a{background:linear-gradient(135deg,#2c624a,#1c4634);border:2px solid rgba(255,255,255,.78);animation:kaglow 2.2s ease-in-out infinite}
@keyframes kaglow{0%,100%{box-shadow:0 0 10px rgba(201,162,39,.35),0 6px 18px rgba(0,0,0,.4)}50%{box-shadow:0 0 24px rgba(201,162,39,.6),0 6px 20px rgba(0,0,0,.45)}}
.ka-crumb{font-size:12.5px;color:var(--mut);padding:14px 2px 0}
.ka-crumb a{color:var(--mut);border-bottom:1px dotted #b9b29a}
.ka-crumb b{color:var(--gr)}
.ka-chips{display:flex;flex-wrap:wrap;gap:9px;padding:12px 0}
.ka-chips a{border:1px solid var(--hair);background:#fffdf6;padding:8px 14px;font-size:13.5px;color:#4c564c}
.ka-chips a:hover{color:var(--au);border-color:var(--au)}
.ka-dir2{columns:2;column-gap:44px;padding:10px 0}
.ka-dir2 a{display:block;padding:9px 2px;border-bottom:1px dotted var(--hair);font-size:14.5px;color:#3f4a3f;break-inside:avoid}
.ka-dir2 a:hover{color:var(--au)}
.ka-dirhead{padding:12px 2px 2px;font-size:15px;font-weight:700;color:var(--gr)}
.ka-dirhead a{color:var(--gr);border-bottom:1px dotted #b9b29a}
.ka-dirhead a:hover{color:var(--au)}
.ka-note{font-size:13px;color:var(--mut);padding:10px 2px}
.ka-note b{color:var(--gr)}
.ka-note a{color:var(--gr);border-bottom:1px dotted #b9b29a}
.ka-relrow{font-size:13.5px;color:#5a655a;padding:12px 2px;border-top:1px dotted var(--hair)}
.ka-relrow a{color:var(--gr);border-bottom:1px dotted #b9b29a;margin:0 4px}
.ka-updline{font-size:12px;color:#a8a28e;text-align:center;padding:16px 0 4px;border-top:1px dotted var(--hair);margin-top:8px}
.ka-subfoot{text-align:center;font-size:13px;color:#b9cec0;line-height:2.1;padding:0 0 14px;border-bottom:1px solid rgba(255,255,255,.12);margin-bottom:4px}
.ka-subfoot a{margin:0 5px;color:#dfe9e0;text-decoration:underline dotted}
.ka-subfoot a:hover{color:#e6c455}
.ka-feedlist .news-card,.ka-sec .news-card{display:block;padding:13px 2px;border-bottom:1px dotted var(--hair);background:none}
.ka-feedlist .news-card h3,.ka-sec .news-card h3{font-size:15px;font-weight:700;margin:0;color:var(--ink);line-height:1.65;font-family:Georgia,'Times New Roman','Songti SC','SimSun',serif}
.ka-feedlist .news-card:hover h3,.ka-sec .news-card:hover h3{color:var(--au)}
.ka-feedlist .news-card p,.ka-sec .news-card p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:13px;color:#6f7568;margin:6px 0 5px;line-height:1.75}
.ka-feedlist .news-card .date,.ka-sec .news-card .date{display:inline-block;font-size:12px;color:#a8a28e;font-family:Georgia,serif}
.ka-feedlist .news-card .date::after,.ka-sec .news-card .date::after{content:'　详情 ›';color:var(--au);font-size:12.5px}
.ka-subfoot a,.ka-fline a,.ka-crumb a,.ka-relrow a,.ka-note a,.ka-dirhead a{padding:8px 3px;margin:-8px -3px;display:inline-block}
.ka-crumb a{padding:8px 4px;margin:-8px -4px}
.ka-word a{display:inline-block;padding:6px 0}
.ka-mast .tel a{padding:6px 0}
.ka-xq a{padding:8px 3px;margin:-8px 5px;display:inline-block}
.ka-foot .ln a{padding:8px 3px;margin:-8px 6px;display:inline-block}
body .bk-subnav{max-width:1000px;margin:26px auto 0;padding:12px 18px;background:#fffdf6;border:1px solid var(--hair);border-left:5px solid var(--au);font-size:13px}
body .bk-subnav a{display:inline-block;padding:6px 10px;color:#4c564c}
body .bk-subnav a:hover{color:var(--au)}
.ka-more{font-size:12.5px;color:var(--mut)}
.ka-plain{border:none;background:none;padding:0}
.ka-prose1{column-count:1}
.ka-ulist{margin:8px 0 8px 22px}
.ka-faint{font-size:12.5px;color:#a8a28e}
.ka-sep{font-style:normal;color:#4e7a60;padding:0 3px}
.ka-sep2{font-style:normal;color:#b9b29a;padding:0 4px}
@media(max-width:760px){.ka-dir2{columns:1}.ka-chips{gap:8px}.ka-nav a{padding:13px 10px}.ka-nav a+a::before{margin-right:8px}}

/* ============ 引擎页专属（列表/正文/分页/注入件） ============ */
.ka-cathead{padding:44px 0 18px;border-bottom:1px solid var(--ink)}
.ka-cathead h1{font-size:26px;line-height:1.5;color:var(--gr);font-weight:700;font-family:Georgia,"Times New Roman","Songti SC","SimSun",serif;letter-spacing:1px}
.ka-cathead .sub{margin-top:12px;font-size:14px;color:#54604f;max-width:720px}
.ka-elist{padding:6px 0 22px}
/* 列表区栏目标题（h1→h2→卡片h3，层级连续） */
.ka-listh{font-size:17px;margin:20px 0 4px;color:var(--gr);padding-bottom:8px;border-bottom:1px solid var(--hair)}
/* 列表饱满卡行距微调（卡片样式复用静态 .ka-feedlist .news-card 规则） */
.ka-elist .news-card{padding:15px 2px}
.ka-pager{padding:8px 0 30px;display:flex;gap:8px;flex-wrap:wrap}
.ka-pager a,.ka-pager b,.ka-pager .gap{border:1px solid var(--hair);background:#fffdf6;padding:8px 14px;font-size:13.5px;color:#4c564c}
.ka-pager .gap{border:0}
.ka-pager b.on{background:var(--gr);color:#fff;border-color:var(--gr)}
.ka-pager a:hover{border-color:var(--au);color:var(--au)}
.ka-art{padding:26px 0 30px;max-width:880px}
.ka-eyebrow{font-size:12px;letter-spacing:2px;color:#8a7b45}
.ka-h1{font-size:26px;line-height:1.45;margin:10px 0 16px;color:var(--gr);font-family:Georgia,"Times New Roman","Songti SC","SimSun",serif}
.ka-sheet{border-top:3px double var(--gr);padding-top:12px}
.ka-body{font-size:15px;color:#414b41}
.ka-body p{margin:12px 0}
.ka-body h2{font-size:19px;margin:22px 0 10px;color:var(--gr)}
.ka-body table{width:100%;border-collapse:collapse;margin:14px 0}
.ka-body td,.ka-body th{border:1px solid var(--hair);padding:9px 12px;font-size:14px}
.ka-body th{background:#fffdf6}
.ka-body ul{margin:10px 0 10px 22px}
.ka-body b{color:var(--gr)}
.ka-tags{margin-top:16px}
.ka-tl{font-size:12px;letter-spacing:2px;color:var(--mut);margin-right:8px}
.ka-tv{display:inline-block;border:1px solid var(--hair);background:#fffdf6;padding:7px 12px;font-size:12.5px;color:#4c564c;margin:4px 6px 0 0}
.ka-tv:hover{border-color:var(--au);color:var(--au)}
.ka-ask{display:block;background:#fffdf6;border-left:4px solid var(--au);padding:13px 16px;font-size:14px;margin:20px 0;color:#414b41}
.ka-ask strong{color:var(--gr);font-size:15.5px}
.ka-author{font-size:12.5px;color:var(--mut);margin-top:12px}
.ka-rel{margin:24px 0 8px}
.ka-rel h2{font-size:17px;margin-bottom:10px;color:var(--gr)}
.ka-relg a{display:inline-block;border:1px solid var(--hair);background:#fffdf6;padding:8px 14px;font-size:13.5px;margin:0 8px 8px 0;color:#4c564c}
.ka-relg a:hover{border-color:var(--au);color:var(--au)}
.ka-tagintro{font-size:14px;color:#5a655a;border-left:3px solid var(--au);padding-left:14px;margin:14px 0;max-width:820px}
.ka-efaq{margin:22px 0;max-width:820px}
.ka-efaq h2{font-size:17px;margin-bottom:6px;color:var(--gr)}
.ka-efaqitem{border-bottom:1px dotted var(--hair);padding:11px 0}
.ka-efaqitem b{font-size:14.5px;color:var(--gr)}
.ka-efaqitem p{font-size:13.5px;color:#4a544a;margin:6px 0 0}
.ka-efaqitem a{color:#8a6d12;border-bottom:1px dotted #b9b29a}
.ka-cover{max-width:100%;margin:10px 0}
/* 列表行块级化（复用静态 .ka-feedlist .ka-feedrow 样式） */
.ka-elist .ka-feedrow{display:flex}
/* 行内链接触控热区（T4） */
.ka-crumb a,.ka-updline a,.ka-subfoot a,.ka-fline a,.ka-tagintro a{padding:8px 3px;margin:-8px -3px;display:inline-block}
.ka-efaqitem a{padding:8px 3px;margin:-8px -3px;display:inline-block}
/* 引擎注入 bk-subfoot 句子次导航（site.json subfoot_html）——无样式裸行 M22触控修复 */
body .bk-subfoot{max-width:1000px;margin:0 auto;padding:12px 18px 6px;text-align:center;font-size:13px;color:var(--mut);line-height:2.2}
body .bk-subfoot a{padding:8px 3px;margin:-8px -3px;display:inline-block;color:#8a6d12}
/* 引擎注入件作用域加固 */
body .bk-subnav{max-width:1000px}
body .bk-pn{max-width:880px;margin:16px auto;display:flex;gap:12px}
body .bk-pn a{flex:1;border:1px solid var(--hair);background:#fffdf6;padding:12px 14px;font-size:13.5px;color:#4c564c;text-decoration:none}
body .bk-pn a:hover{border-color:var(--au);color:var(--au)}
body .bk-faq{max-width:880px;margin:16px auto}
body .bk-faq details{border:1px solid var(--hair);background:#fffdf6;margin-bottom:8px;padding:10px 14px}
body .bk-faq summary{cursor:pointer;font-weight:700;font-size:14.5px;color:var(--gr)}
body .bk-faq p{font-size:13.5px;color:#4a544a;margin-top:6px}
@media(max-width:760px){
.ka-cathead{padding:24px 0 14px}
.ka-cathead h1{font-size:21px}
.ka-h1{font-size:20px}
}
