/* Coffactor / 因数咖啡 — 官网样式 · A「因子的秩序」
   tokens: 墨 #1C1B19 / 档案纸 #F7F4EE / 因子赭 #9E4E28 / 尘 #8A867E(仅图形) / 尘深 #716E67(小字)
   因子赭不做按钮底色与大面积色块；正文正文组合均满足 ≥4.5:1（kit contrast-tests.md）。 */

@font-face{font-family:'Archivo';src:url('../fonts/Archivo-sub.woff') format('woff');font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:'Noto Sans SC';src:url('../fonts/NotoSansSC-sub.woff') format('woff');font-weight:100 900;font-style:normal;font-display:swap}

:root{
  --ink:#1C1B19; --paper:#F7F4EE; --factor:#9E4E28; --dust:#8A867E; --dust-deep:#716E67;
  --radius:10px; --maxw:1120px;
  --font:"Archivo","Noto Sans SC","PingFang SC","Hiragino Sans GB","Microsoft YaHei",Arial,sans-serif;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  font-family:var(--font);background:var(--paper);color:var(--ink);
  font-size:16px;line-height:1.6;min-height:100vh;display:flex;flex-direction:column;overflow-x:hidden;
}
html[lang="zh-Hans"] body{line-height:1.7}
img,svg{max-width:100%;height:auto}
a{color:inherit;text-underline-offset:3px}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:2px solid var(--factor);outline-offset:3px;border-radius:2px}
::selection{background:var(--factor);color:var(--paper)}
h1,h2,h3{font-weight:700;line-height:1.25;letter-spacing:-.01em;text-wrap:balance}
html[lang="zh-Hans"] h1,html[lang="zh-Hans"] h2,html[lang="zh-Hans"] h3{line-height:1.3}
p+p{margin-top:1em}
.wrap{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 32px}
.lead{font-size:19px;line-height:1.65;max-width:44em}
html[lang="zh-Hans"] .lead{line-height:1.75}
.muted{color:var(--dust-deep);font-size:14px;line-height:1.55}
html[lang="zh-Hans"] .muted{line-height:1.65}
main{flex:1}

.skip{position:absolute;left:-9999px;top:0;z-index:100;background:var(--ink);color:var(--paper);padding:10px 18px;border-radius:0 0 var(--radius) 0;font-size:14px;text-decoration:none}
.skip:focus{left:0}

/* ── 页眉 ── */
.site-head{border-bottom:1px solid var(--dust)}
.head-row{display:flex;align-items:center;gap:28px;padding:18px 0;min-height:86px}
.brand{display:inline-flex;align-items:center;text-decoration:none;flex:none}
.brand img{height:40px;width:auto}
.nav-desktop{margin-left:auto;display:flex;gap:22px;align-items:center}
.nav-desktop a{font-size:14px;text-decoration:none;padding:10px 2px;display:inline-block}
.nav-desktop a[aria-current="page"]{font-weight:600;text-decoration:underline;text-decoration-color:var(--factor);text-decoration-thickness:2px;text-underline-offset:8px}
.nav-desktop a:hover{color:var(--factor)}
.head-tools{display:flex;align-items:center;gap:14px}
.nav-desktop + .head-tools{margin-left:0}
.nav-desktop{margin-right:0}
.head-row .head-tools{margin-left:18px;flex:none}
.head-row .nav-desktop{margin-left:auto}
.lang-switch{font-size:14px;text-decoration:none;border:1px solid var(--ink);border-radius:999px;padding:7px 14px;white-space:nowrap;line-height:1.4}
.lang-switch:hover{background:var(--ink);color:var(--paper)}
.nav-mobile{display:none;position:relative}
.nav-mobile summary{list-style:none;cursor:pointer;border:1px solid var(--ink);border-radius:999px;padding:7px 14px;font-size:14px;line-height:1.4;user-select:none}
.nav-mobile summary::-webkit-details-marker{display:none}
.nav-mobile[open] summary{background:var(--ink);color:var(--paper)}
.nav-mobile nav{position:absolute;right:0;top:calc(100% + 10px);background:var(--paper);border:1px solid var(--ink);border-radius:var(--radius);padding:8px;min-width:200px;box-shadow:0 12px 32px rgba(28,27,25,.12);display:flex;flex-direction:column;z-index:60}
.nav-mobile nav a{padding:12px 14px;text-decoration:none;font-size:15px;border-radius:6px}
.nav-mobile nav a:hover{background:rgba(28,27,25,.06)}
.nav-mobile nav a[aria-current="page"]{font-weight:600}

/* ── 通用组件 ── */
main section{padding:72px 0}
main section:first-of-type{border-top:none}
section + section{border-top:1px solid var(--dust)}
.kicker{display:inline-flex;align-items:center;gap:12px;font-size:13px;font-weight:600;letter-spacing:.14em;color:var(--factor);margin-bottom:20px}
.kicker::before{content:"";width:28px;height:3px;border-radius:2px;background:var(--factor)}
h1{font-size:44px;margin-bottom:20px}
h2{font-size:28px;margin-bottom:14px}
h3{font-size:19px;margin-bottom:10px}
.section-grid{display:grid;grid-template-columns:minmax(220px,1fr) 2fr;gap:48px}
.section-intro{max-width:44em}
.cta-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px}
.btn{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:12px 22px;border-radius:var(--radius);border:1.5px solid var(--ink);font-size:15px;font-weight:600;text-decoration:none;background:var(--ink);color:var(--paper)}
.btn:hover{background:transparent;color:var(--ink);text-decoration:none}
.btn.secondary{background:transparent;color:var(--ink)}
.btn.secondary:hover{background:var(--ink);color:var(--paper)}
.badge{display:inline-block;font-size:12px;font-weight:600;letter-spacing:.1em;color:var(--factor);border:1.5px solid var(--factor);border-radius:999px;padding:4px 14px;line-height:1.5}
.note{border-left:3px solid var(--factor);padding:2px 0 2px 20px;font-size:14.5px;line-height:1.65;max-width:46em;color:var(--ink)}
html[lang="zh-Hans"] .note{line-height:1.75}
.note+.note{margin-top:14px}
.cards{list-style:none;display:grid;gap:20px}
.cards.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.cards.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.cards.four{grid-template-columns:repeat(4,minmax(0,1fr))}
.cards>li,.card{border:1px solid var(--dust);border-radius:var(--radius);padding:26px;background:transparent}
.card .num{font-size:13px;font-weight:700;letter-spacing:.08em;color:var(--factor);display:block;margin-bottom:12px}
.card p{font-size:15px;line-height:1.65}
html[lang="zh-Hans"] .card p{line-height:1.75}
.plain-list{list-style:none}
.plain-list>li{padding:18px 0;border-top:1px solid var(--dust);font-size:15.5px;line-height:1.7}
.plain-list>li:first-child{border-top:none}
.steps{list-style:none;counter-reset:step;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:20px;counter-reset:none}
.steps>li{border-top:2px solid var(--ink);padding-top:18px}
.steps .num{color:var(--factor);font-weight:700;font-size:13px;letter-spacing:.08em;display:block;margin-bottom:10px}
.steps p{font-size:15px;line-height:1.65}
html[lang="zh-Hans"] .steps p{line-height:1.75}

.table-wrap{overflow-x:auto;border:1px solid var(--dust);border-radius:var(--radius)}
table{border-collapse:collapse;width:100%;min-width:640px;font-size:15px}
caption{text-align:left;font-weight:600;font-size:14px;color:var(--dust-deep);padding:12px 18px;border-bottom:1px solid var(--dust)}
th,td{padding:14px 18px;text-align:left;vertical-align:top;border-bottom:1px solid rgba(138,134,126,.5);line-height:1.6}
html[lang="zh-Hans"] th,html[lang="zh-Hans"] td{line-height:1.7}
th{font-weight:600;background:transparent;border-bottom-color:var(--dust)}
tr:last-child td{border-bottom:none}
td:first-child{font-weight:600;white-space:nowrap}

.dl-company{display:grid;grid-template-columns:220px 1fr;gap:8px 32px;font-size:15px}
.dl-company dt{color:var(--dust-deep)}
.dl-company dd{margin:0;line-height:1.65}

/* 示例结论框（A 系呈现：墨框、纸底；印章红不进入主品牌首页） */
.verdict-box{border:1.5px solid var(--ink);border-radius:var(--radius);padding:30px 32px;max-width:640px;margin-top:26px}
.verdict-box .vb-title{font-size:14px;letter-spacing:.06em;color:var(--dust-deep);margin-bottom:14px}
.verdict-box .vb-stamp{font-size:26px;font-weight:700;line-height:1.3;color:var(--ink);display:inline-block;border:2px solid var(--factor);border-radius:6px;padding:6px 18px;transform:rotate(-2deg)}
.verdict-box p{margin-top:16px;font-size:15px;line-height:1.7}

/* ── 首屏 ── */
.hero{padding:88px 0 80px}
.hero h1{font-size:56px;letter-spacing:-.012em;margin-bottom:24px;max-width:20ch}
.hero .lead{max-width:46em}

/* ── 表单 ── */
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px 24px;max-width:760px;margin-top:8px}
.field{display:flex;flex-direction:column;gap:8px}
.field.full{grid-column:1/-1}
.field label{font-weight:600;font-size:14.5px}
.field label .req{color:var(--factor)}
.field input,.field textarea,.field select{font:inherit;font-size:15.5px;padding:12px 14px;border:1.5px solid var(--ink);border-radius:8px;background:var(--paper);color:var(--ink);width:100%}
.field textarea{min-height:120px;resize:vertical;line-height:1.6}
.field .help{font-size:13px;color:var(--dust-deep)}
.field .error{font-size:13.5px;font-weight:600;color:var(--factor);min-height:1em}
.field [aria-invalid="true"]{border-color:var(--factor);outline:2px solid rgba(158,78,40,.25);outline-offset:0}
.form-actions{margin-top:8px}
.form-note{max-width:760px;margin-top:18px;font-size:14px;color:var(--dust-deep);line-height:1.65}
.form-status{max-width:760px;margin-top:18px;border:1.5px solid var(--ink);border-radius:var(--radius);padding:18px 22px;font-size:15px;line-height:1.6;background:#fff}

/* ── 联系信息块 ── */
.contact-split{display:grid;grid-template-columns:1.4fr 1fr;gap:56px;align-items:start}
.contact-card{border:1px solid var(--dust);border-radius:var(--radius);padding:26px}
.contact-card .line{padding:10px 0;border-top:1px solid rgba(138,134,126,.5);font-size:15px}
.contact-card .line:first-of-type{border-top:none}
.contact-card .k{font-size:12.5px;letter-spacing:.06em;color:var(--dust-deep);display:block;margin-bottom:2px}
.contact-card a{word-break:break-all}

/* ── 隐私 / 条款 ── */
.legal ol,.legal ul{padding-left:1.4em;margin:1em 0}
.legal li{margin:.6em 0;line-height:1.7}
.legal-section{max-width:46em}
.legal-section h2{font-size:22px;margin:40px 0 12px}
.legal-section h2:first-of-type{margin-top:0}
.draft-flag{border:1.5px solid var(--factor);border-radius:var(--radius);padding:14px 20px;font-size:14px;line-height:1.7;margin-bottom:28px;max-width:46em}

/* ── 页脚 ── */
.site-foot{background:var(--ink);color:var(--paper);margin-top:0}
.foot-row{display:flex;align-items:center;gap:40px;padding:36px 0;flex-wrap:wrap}
.foot-logo{height:34px;width:auto;opacity:1}
.foot-meta{font-size:14px;line-height:1.6}
.foot-meta p+p{margin-top:4px}
.foot-meta a{color:var(--paper)}
.foot-links{margin-left:auto;display:flex;gap:24px}
.foot-links a{color:var(--paper);text-decoration:none;font-size:14px;padding:8px 0}
.foot-links a:hover{text-decoration:underline}

/* ── 移动 ── */
@media(max-width:900px){
  .cards.four{grid-template-columns:repeat(2,minmax(0,1fr))}
  .steps{grid-template-columns:1fr 1fr}
  .section-grid{grid-template-columns:1fr;gap:24px}
  .contact-split{grid-template-columns:1fr;gap:32px}
}
@media(max-width:760px){
  .wrap{padding:0 20px}
  .nav-desktop{display:none}
  .nav-mobile{display:block}
  .head-row{gap:14px;min-height:72px}
  .head-row .head-tools{margin-left:auto}
  .brand img{height:34px}
  main section{padding:48px 0}
  .hero{padding:52px 0 48px}
  .hero h1{font-size:36px}
  h2{font-size:24px}
  .cards.three,.cards.two{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr}
  .form-grid{grid-template-columns:1fr;gap:18px}
  .dl-company{grid-template-columns:1fr;gap:2px 0}
  .dl-company dd{margin-bottom:10px}
  .verdict-box{padding:22px 20px}
  .verdict-box .vb-stamp{font-size:21px}
  .foot-row{gap:20px;align-items:flex-start;flex-direction:column}
  .foot-links{margin-left:0}
  table{min-width:560px}
}
@media(max-width:400px){
  .hero h1{font-size:31px}
  .lead{font-size:17px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition:none!important;animation:none!important}
}
@media print{
  .site-head,.site-foot,.skip,.cta-row{display:none}
  main section{padding:24px 0}
  body{background:#fff}
  .card,.cards>li,.verdict-box,.table-wrap{break-inside:avoid}
}


/* 试点价草案标记：小号尘深上标——价格数字可见但标明非定稿 */
sup.price-draft{font:600 .62em/1 var(--font);letter-spacing:.04em;color:var(--dust-deep);margin-left:.3em}

