:root{--paper:#f6f3ec;--band:#efeadf;--card:#fdfcf8;--line:#ddd6c6;--line-2:#c8bfa9;--line-3:#e4ddcc;--ink:#28241d;--ink-2:#5c554a;--ink-3:#8d8574;--accent:#c2622e;--accent-deep:#8f4520;--danger:#b0341b;--tech:#6b7038;--tint-accent:#f7e7dc;--tint-green:#f1f3ee;--tint-green-line:#dde2d8;--dark:#28241d;--dark-line:#3e382e;--dark-muted:#bdb4a2;--max:1180px;--measure:39em;--gutter:clamp(20px, 4vw, 40px);--serif:"Noto Serif SC", "Songti SC", "STSong", "Source Han Serif SC", "Noto Serif CJK SC", serif;--sans:"PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace}*{box-sizing:border-box}html,body{margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:84px}body{background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;text-wrap:pretty;font-size:16px;line-height:1.75}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-deep)}img{max-width:100%}h1,h2,h3{font-family:var(--serif);letter-spacing:.01em;text-wrap:balance;word-break:keep-all;overflow-wrap:anywhere;margin:0;font-weight:700}p{margin:0}table{border-collapse:collapse}.skip-link{z-index:100;background:var(--accent);color:var(--card);border-radius:4px;padding:9px 14px;position:fixed;top:-80px;left:16px}.skip-link:focus{color:var(--card);top:14px}.wrap{max-width:var(--max);padding-inline:var(--gutter);margin:0 auto}.eyebrow{font-family:var(--mono);letter-spacing:.2em;color:var(--ink-3);text-transform:uppercase;font-size:11px}.lede{max-width:44em;color:var(--ink-2);font-size:16.5px;line-height:1.9}.sec{border-bottom:1px solid var(--line)}.sec-band{background:var(--band)}.sec-in{max-width:var(--max);padding:clamp(48px, 6vw, 80px) var(--gutter);margin:0 auto}.brand-line{flex-wrap:wrap;align-items:baseline;gap:10px 20px;margin-top:26px;display:flex}.brand-line strong{font-family:var(--serif);color:var(--accent);font-size:18px}.brand-line span{font-family:var(--mono);letter-spacing:.08em;color:var(--ink-3);font-size:11px}.hdr{z-index:20;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);background:#f6f3ecf0;position:sticky;top:0}.hdr-in{max-width:var(--max);padding-inline:var(--gutter);align-items:center;gap:clamp(14px,2.4vw,30px);min-height:66px;margin:0 auto;display:flex}.logo{color:var(--ink);flex:none;align-items:baseline;gap:9px;display:flex}.logo:hover{color:var(--ink)}.logo-name{font-family:var(--serif);letter-spacing:.04em;font-size:20px;font-weight:700}.logo-tag{color:var(--ink-3);letter-spacing:.12em;font-size:11.5px}.nav{align-items:center;gap:clamp(14px,2vw,26px);margin-left:auto;font-size:14.5px;display:flex}.nav a{color:var(--ink);font-weight:500}.nav a:hover,.nav a[aria-current]{color:var(--accent)}.nav .ext{color:var(--ink-2)}.nav .ext:after{content:" ↗";color:var(--ink-3);font-size:11px}.hero{border-bottom:1px solid var(--line)}.hero-in{max-width:var(--max);padding:clamp(56px, 8vw, 104px) var(--gutter) clamp(44px, 6vw, 72px);margin:0 auto}.hero h1{max-width:20em;font-size:clamp(30px,4.4vw,52px);line-height:1.3}.hero .lede{margin-top:26px}.grid{gap:14px;display:grid}.g280{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.g320{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.card{background:var(--card);border:1px solid var(--line);color:var(--ink);border-top-style:solid;border-top-width:3px;border-radius:5px;flex-direction:column;padding:22px 22px 24px;display:flex}a.card:hover{color:var(--ink);border-color:var(--line-2);box-shadow:0 6px 22px #78694b21}.card-label{font-family:var(--mono);letter-spacing:.16em;font-size:10.5px}.card-name{font-family:var(--serif);letter-spacing:.03em;margin:10px 0 9px;font-size:19px;font-weight:700;line-height:1.5}.card-desc{color:var(--ink-2);flex:1;font-size:14.5px;line-height:1.8}.card-more{color:var(--accent);margin-top:16px;font-size:13.5px}.stage-head{border-top:3px solid;padding-top:22px}.stage-title{flex-wrap:wrap;align-items:baseline;gap:12px;display:flex}.stage-title h2{font-size:clamp(22px,2.6vw,28px)}.stage-count{font-family:var(--mono);color:var(--ink-3);font-size:11.5px}.stage-def{max-width:46em;color:var(--ink-2);margin-top:14px;font-size:15.5px;line-height:1.9}.solution-link{border:1px solid var(--line);background:var(--card);color:var(--ink-2);border-radius:4px;flex-wrap:wrap;align-items:baseline;gap:8px;margin-top:18px;padding:12px 16px;font-size:14.5px;display:inline-flex}.solution-link b{color:var(--ink);font-weight:600}.solution-link .go{color:var(--accent);white-space:nowrap}a.solution-link:hover{border-color:var(--line-2);color:var(--ink-2)}.list{border-top:1px solid var(--line);margin-top:26px}.list-item{border-bottom:1px solid var(--line);color:var(--ink);padding:22px 0;display:block}.list-item:hover{color:var(--ink)}.list-item:hover .list-title{color:var(--accent)}.list-title{font-family:var(--serif);font-size:clamp(18px,2.1vw,22px);font-weight:700;line-height:1.55}.list-desc{max-width:46em;color:var(--ink-2);margin-top:10px;font-size:15px;line-height:1.85}.list-meta{font-family:var(--mono);letter-spacing:.1em;color:var(--ink-3);flex-wrap:wrap;gap:14px;margin-top:12px;font-size:11.5px;display:flex}.art{max-width:calc(var(--measure) + 2 * var(--gutter));padding:clamp(34px, 4.5vw, 56px) var(--gutter) clamp(56px, 7vw, 88px);margin:0 auto}.crumbs{color:var(--ink-3);flex-wrap:wrap;align-items:center;gap:10px;font-size:13.5px;display:flex}.crumbs a{color:var(--ink-3)}.crumbs a:hover{color:var(--accent)}.tag{font-family:var(--mono);letter-spacing:.16em;border-radius:3px;padding:2px 9px;font-size:10.5px}.art h1{margin-top:20px;font-size:clamp(27px,3.7vw,42px);line-height:1.34}.art-meta{font-family:var(--mono);letter-spacing:.1em;color:var(--ink-3);flex-wrap:wrap;gap:16px;margin-top:20px;font-size:11.5px;display:flex}.art-kicker{background:var(--card);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:4px;margin-top:30px;padding:22px 24px}.art-kicker p{font-family:var(--serif);font-size:clamp(17px,2vw,20px);font-weight:700;line-height:1.75}.toc{background:var(--band);border-radius:4px;margin-top:30px;padding:20px 22px}.toc p{font-family:var(--mono);letter-spacing:.18em;color:var(--ink-3);margin-bottom:12px;font-size:10.5px}.toc ol{gap:7px;margin:0;padding:0;list-style:none;display:grid}.toc a{color:var(--ink-2);font-size:14.5px}.toc a:hover{color:var(--accent)}.prose{margin-top:40px}.prose h2{border-top:1px solid var(--line);margin:52px 0 18px;padding-top:22px;font-size:clamp(21px,2.5vw,27px);line-height:1.5}.prose h2:first-child{border-top:0;margin-top:0;padding-top:0}.prose p{margin:0 0 20px;font-size:16.5px;line-height:1.95}.prose strong{font-weight:600}.prose ul,.prose ol{margin:0 0 20px;padding-left:1.3em}.prose li{margin-bottom:10px;font-size:16.5px;line-height:1.9}.prose blockquote{border-left:2px solid var(--line-2);color:var(--ink-2);margin:0 0 22px;padding:4px 0 4px 20px}.prose blockquote p:last-child{margin-bottom:0}.prose hr{border:0;border-top:1px solid var(--line);margin:36px 0}.prose a{text-underline-offset:3px;text-decoration:underline;-webkit-text-decoration-color:var(--line-2);text-decoration-color:var(--line-2)}.tbl-scroll{margin:0 0 24px;overflow-x:auto}@media (width>=980px){.tbl-scroll{width:calc(100% + 180px);margin-inline:-90px}}.tbl{background:var(--card);border:1px solid var(--line);width:100%;min-width:520px;font-size:14.5px}.tbl th,.tbl td{border:1px solid var(--line);text-align:left;vertical-align:top;padding:11px 14px;line-height:1.75}.tbl thead th{background:var(--band);font-family:var(--serif);font-size:14.5px;font-weight:700}.tbl tbody td:first-child{color:var(--ink);font-weight:500}.tbl tbody td{color:var(--ink-2)}.inline-solution{background:var(--card);border:1px solid var(--line);border-left:3px solid var(--tech);border-radius:5px;margin:44px 0;padding:24px 26px}.inline-solution .eyebrow{color:var(--ink-3)}.inline-solution h2{margin:12px 0 10px;font-size:20px;line-height:1.6}.inline-solution p{color:var(--ink-2);font-size:15px;line-height:1.85}.inline-solution a{margin-top:16px;font-size:14.5px;font-weight:500;display:inline-block}.faq{border-top:1px solid var(--line);margin-top:52px;padding-top:22px}.faq>h2{font-size:clamp(21px,2.5vw,27px);line-height:1.5}.faq-list{border-top:1px solid var(--line);margin-top:24px}.faq-item{border-bottom:1px solid var(--line);padding:22px 0}.faq-q{font-family:var(--serif);margin-bottom:10px;font-size:17.5px;font-weight:700;line-height:1.65}.faq-a{color:var(--ink-2);font-size:15.5px;line-height:1.9}.art-foot{margin-top:44px}.ai-note{color:var(--ink-3);background:var(--band);border-radius:4px;padding:14px 16px;font-size:13.5px;line-height:1.8}.related{margin-top:34px}.related>p{font-family:var(--mono);letter-spacing:.18em;color:var(--ink-3);margin-bottom:16px;font-size:10.5px}.cta{background:var(--dark);color:var(--paper)}.cta-in{max-width:var(--max);padding:clamp(52px, 6.5vw, 80px) var(--gutter);grid-template-columns:repeat(auto-fit,minmax(300px,1fr));align-items:start;gap:clamp(28px,5vw,60px);margin:0 auto;display:grid}.cta h2{font-size:clamp(24px,3.2vw,34px);line-height:1.45}.cta .sub{max-width:30em;color:var(--dark-muted);margin-top:18px;font-size:15.5px;line-height:1.9}.btn{background:var(--accent);color:var(--card);border-radius:4px;padding:13px 26px;font-weight:500;transition:transform .14s cubic-bezier(.23,1,.32,1),background-color .16s;display:inline-block}.btn:active{transform:scale(.97)}.btn:focus-visible,.nav a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.btn:hover{background:var(--accent-deep);color:var(--card)}.cta .actions{flex-wrap:wrap;gap:12px;margin-top:28px;display:flex}.cta-meta{border-top:1px solid var(--dark-line);gap:18px;padding-top:26px;font-size:15px;line-height:1.9;display:grid}.cta-qr-only{border-top:1px solid var(--dark-line);padding-top:26px}.cta-qr-only img{aspect-ratio:1;object-fit:cover;border-radius:5px;width:min(236px,70vw);display:block}.cta-meta a{color:var(--dark-muted)}.cta-meta a:hover{color:var(--paper)}.cta-meta .tel{font-family:var(--serif);letter-spacing:.04em;color:var(--paper);font-size:clamp(20px,2.4vw,26px);font-weight:700}.ftr{border-top:1px solid var(--dark-line)}.ftr-in{max-width:var(--max);padding:18px var(--gutter) 28px;color:var(--ink-3);flex-wrap:wrap;justify-content:space-between;gap:8px 20px;margin:0 auto;font-size:12.5px;display:flex}.ftr-in a{color:var(--ink-3)}.ftr-in a:hover{color:var(--dark-muted)}@media (width<=620px){.logo-tag{display:none}.nav{gap:14px;font-size:14px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
