*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body,h1,h2,h3,h4,h5,p,ul,ol,li,figure,blockquote,dl,dd,details,summary{margin:0}
ul,ol{list-style:none;padding:0}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0}
img,svg{display:block;max-width:100%}
table{border-collapse:collapse;width:100%}
summary::-webkit-details-marker{display:none}
summary{list-style:none}

:root{
  --ink:#0F3B32;
  --ink-deep:#0A2A24;
  --ink-lift:#155043;
  --copper:#B4884A;
  --clay:#C4622D;
  --steel:#5C6E80;
  --night-a:#2A1B45;
  --night-b:#4B2E6E;
  --paper:#F4EFE6;
  --paper-2:#FBF8F2;
  --stone:#6E6A63;
  --moss:#2F6B4F;
  --black:#141310;
  --line:rgba(110,106,99,.26);
  --line-strong:rgba(110,106,99,.44);
  --rail-w:68px;
  --bar-h:72px;
  --bar-h-sm:54px;
  --font-head:"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Source Han Sans SC",system-ui,-apple-system,sans-serif;
  --font-mono:"IBM Plex Mono","JetBrains Mono",ui-monospace,SFMono-Regular,Consolas,"Noto Sans Mono CJK SC","PingFang SC",monospace;
  --shadow-paper:0 1px 0 rgba(20,19,16,.05),0 16px 32px -26px rgba(20,19,16,.55);
}

html{scroll-padding-top:calc(var(--bar-h) + 24px)}

body{
  font-family:var(--font-mono);
  font-size:15px;
  line-height:1.9;
  color:var(--stone);
  background-color:var(--paper);
  background-image:radial-gradient(rgba(20,19,16,.05) 1px,transparent 1px);
  background-size:4px 4px;
  padding-left:var(--rail-w);
  padding-top:var(--bar-h);
  overflow-x:hidden;
}

h1,h2,h3,h4{font-family:var(--font-head);font-weight:900;letter-spacing:-.02em;line-height:1.18;color:var(--black)}
h1{font-size:clamp(34px,6vw,74px)}
h2{font-size:clamp(24px,3.4vw,40px)}
h3{font-size:clamp(18px,2.2vw,24px)}
h4{font-size:16px}
p{max-width:74ch}
strong{color:var(--black);font-weight:700}

:focus-visible{outline:2px solid var(--clay);outline-offset:3px}

/* ---------- 容器与骨架 ---------- */
.container{width:100%;max-width:1240px;margin:0 auto;padding:0 clamp(18px,4vw,48px)}
.container--narrow{max-width:860px}
.container--wide{max-width:1500px}
.flow > * + *{margin-top:var(--flow-gap,18px)}
.lede{font-size:clamp(15px,1.4vw,17px);line-height:2;color:var(--stone);max-width:62ch}
.u-num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}

.section-head{margin-bottom:clamp(24px,3.4vw,46px)}
.section-head__index{display:inline-block;font-size:11px;letter-spacing:.3em;color:var(--copper);margin-bottom:10px}
.section-head__title{font-family:var(--font-head);font-weight:900;letter-spacing:-.02em;color:var(--black);font-size:clamp(26px,3.6vw,44px);line-height:1.14}
.section-head__note{margin-top:12px;font-size:14px;color:var(--steel);max-width:60ch}

.eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:11px;letter-spacing:.28em;color:var(--clay)}
.eyebrow::before{content:"";width:26px;height:1px;background:var(--clay)}
.rule{height:0;border-top:1px solid var(--line-strong);margin:clamp(28px,4vw,56px) 0}
.rule--copper{border-top-color:rgba(180,136,74,.72)}
.vnote{writing-mode:vertical-rl;font-size:11px;letter-spacing:.3em;color:var(--steel);border-left:1px solid rgba(180,136,74,.55);padding-left:8px}

.grid-2{display:grid;gap:clamp(20px,3vw,40px);grid-template-columns:repeat(2,minmax(0,1fr))}
.grid-3{display:grid;gap:clamp(18px,2.4vw,32px);grid-template-columns:repeat(3,minmax(0,1fr))}

/* ---------- 纸张与卡片 ---------- */
.paper{position:relative;background:var(--paper-2);border:1px solid var(--line);padding:clamp(20px,2.6vw,34px);box-shadow:var(--shadow-paper)}
.paper--stack{box-shadow:10px 10px 0 -1px rgba(180,136,74,.28),var(--shadow-paper)}
.paper--tight{padding:clamp(14px,1.8vw,20px)}

/* ---------- 标签与印章 ---------- */
.tag{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;font-size:11px;letter-spacing:.14em;border:1px solid currentColor;white-space:nowrap}
.tag--base{color:var(--clay);background:rgba(196,98,45,.09)}
.tag--material{color:var(--ink);background:rgba(15,59,50,.08)}
.tag--labor{color:var(--steel);background:rgba(92,110,128,.1)}
.tag--night{color:#EDE5FA;background:linear-gradient(90deg,var(--night-a),var(--night-b));border-color:rgba(237,229,250,.4)}
.tag--ok{color:var(--moss);background:rgba(47,107,79,.1)}

.stamp{display:inline-grid;place-items:center;width:78px;height:78px;border:1px solid var(--clay);border-radius:50%;color:var(--clay);font-family:var(--font-head);font-weight:900;font-size:13px;letter-spacing:.08em;line-height:1.2;text-align:center;transform:rotate(-8deg)}

/* ---------- 图片占位容器 ---------- */
.img-frame{position:relative;display:block;width:100%;aspect-ratio:4/3;background:linear-gradient(135deg,#DED6C6 0%,#CBC1AE 100%);border:1px solid var(--line-strong);overflow:hidden}
.img-frame img{width:100%;height:100%;object-fit:cover}
.img-frame::after{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(20,19,16,.2) 1px,transparent 1px);background-size:5px 5px;opacity:.35;pointer-events:none}
.img-frame--wide{aspect-ratio:16/7}
.img-frame--tall{aspect-ratio:3/4}
.img-frame--night{background:linear-gradient(135deg,var(--night-a),var(--night-b))}
.img-frame--night::after{background-image:radial-gradient(rgba(244,239,230,.16) 1px,transparent 1px);opacity:.6}

/* ---------- 按钮 ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:13px 26px;font-family:var(--font-head);font-weight:700;font-size:14px;letter-spacing:.06em;border:1px solid var(--ink);cursor:pointer;transition:background .16s ease,color .16s ease,border-color .16s ease}
.btn--solid{background:var(--ink);color:var(--paper-2)}
.btn--solid:hover{background:var(--ink-lift)}
.btn--line{background:transparent;color:var(--ink)}
.btn--line:hover{background:var(--ink);color:var(--paper-2)}
.btn--quiet{border-color:var(--copper);color:#F1E4CE;background:rgba(180,136,74,.14)}
.btn--quiet:hover{background:var(--copper);color:var(--ink-deep)}
.btn__arrow{font-size:12px;letter-spacing:0}

/* ---------- 面包屑 ---------- */
.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:11.5px;letter-spacing:.1em;color:var(--steel);margin-bottom:22px}
.crumbs__item{display:inline-flex;align-items:center;gap:8px}
.crumbs__item + .crumbs__item::before{content:"/";color:var(--copper)}
.crumbs a:hover{color:var(--ink);border-bottom:1px solid var(--copper)}

/* ---------- 对账表格 ---------- */
.ledger{width:100%;overflow-x:auto;border:1px solid var(--line-strong);background:var(--paper-2)}
.ledger__table{width:100%;min-width:640px;font-size:13.5px}
.ledger__table thead th{background:var(--ink);color:var(--paper-2);font-family:var(--font-head);font-weight:700;font-size:12px;letter-spacing:.14em;text-align:left;padding:13px 14px;white-space:nowrap}
.ledger__table td{padding:12px 14px;border-bottom:1px solid var(--line);color:var(--stone);vertical-align:top}
.ledger__table tbody tr{transition:background .15s ease,box-shadow .15s ease}
.ledger__table tbody tr:hover{background:rgba(180,136,74,.09);box-shadow:inset 3px 0 0 var(--copper)}
.ledger__table tbody tr:last-child td{border-bottom:0}
.ledger__num{font-variant-numeric:tabular-nums;text-align:right;color:var(--black);white-space:nowrap}

/* ---------- 仪表项 / 比例条 / 主题带 / 提示 ---------- */
.datum{border-top:1px solid var(--line-strong);padding-top:12px}
.datum__key{display:block;font-size:10.5px;letter-spacing:.24em;color:var(--steel)}
.datum__val{display:block;font-family:var(--font-head);font-weight:900;color:var(--black);font-size:clamp(30px,5vw,58px);line-height:1;letter-spacing:-.03em;font-variant-numeric:tabular-nums;margin-top:8px}
.datum__val--copper{color:var(--copper)}
.datum__unit{font-size:.34em;font-weight:700;letter-spacing:.06em;color:var(--stone);margin-left:6px}

.meter{display:flex;height:10px;border:1px solid var(--line-strong);background:var(--paper-2)}
.meter__seg{height:100%}
.meter__seg--base{background:var(--clay)}
.meter__seg--material{background:var(--ink)}
.meter__seg--labor{background:var(--steel)}
.meter__seg--night{background:linear-gradient(90deg,var(--night-a),var(--night-b))}

.band{border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);padding:clamp(20px,3vw,38px) 0}
.band--ink{background:var(--ink);color:var(--paper-2);border-color:rgba(180,136,74,.5)}
.band--paper{background:var(--paper-2)}
.band--night{background:linear-gradient(120deg,var(--night-a),var(--night-b));color:#F2EDFF;border-color:rgba(232,223,247,.3)}

.notice{border-left:3px solid var(--copper);background:rgba(180,136,74,.1);padding:15px 18px;font-size:13px;color:var(--stone)}
.notice--night{border-left-color:#9A7BD0;background:linear-gradient(100deg,rgba(42,27,69,.94),rgba(75,46,110,.88));color:#EFE8FF}

/* ---------- 折叠问答 ---------- */
.qa{border-top:1px solid var(--line-strong)}
.qa__item{border-bottom:1px solid var(--line)}
.qa__q{display:flex;align-items:flex-start;gap:14px;padding:18px 4px;cursor:pointer;font-family:var(--font-head);font-weight:700;font-size:16px;color:var(--ink)}
.qa__mark{flex:0 0 auto;margin-left:auto;width:16px;height:16px;position:relative;margin-top:4px}
.qa__mark::before{content:"";position:absolute;top:7px;left:0;width:16px;height:1px;background:var(--copper)}
.qa__mark::after{content:"";position:absolute;top:0;left:7px;width:1px;height:16px;background:var(--copper);transition:transform .18s ease,opacity .18s ease}
.qa__item[open] .qa__mark::after{transform:scaleY(0);opacity:0}
.qa__a{padding:0 4px 22px;font-size:14px;line-height:1.95;color:var(--stone)}
.qa__item[open] .qa__a{animation:qaIn .18s ease both}
@keyframes qaIn{from{opacity:0}to{opacity:1}}

/* ---------- 跳转链 ---------- */
.skip-link{position:fixed;top:8px;left:calc(var(--rail-w) + 8px);z-index:200;transform:translateY(-180%);background:var(--black);color:var(--paper-2);padding:10px 18px;font-size:13px;letter-spacing:.08em;border:1px solid var(--copper);transition:transform .18s ease}
.skip-link:focus{transform:translateY(0)}

/* ---------- 头部：品牌轨道 + 命令栏 ---------- */
.site-header{position:fixed;top:0;left:var(--rail-w);right:0;z-index:90;height:var(--bar-h);transition:height .22s ease}
.site-header.is-condensed{height:var(--bar-h-sm)}

.brand-rail{position:fixed;top:0;left:0;bottom:0;z-index:95;width:var(--rail-w);display:flex;flex-direction:column;align-items:center;padding:10px 0 18px;background:linear-gradient(180deg,#0F3B32 0%,#0A2A24 62%,#08211C 100%);border-right:1px solid rgba(180,136,74,.42)}
.brand-rail::after{content:"";position:absolute;top:96px;bottom:132px;right:0;width:9px;background-image:repeating-linear-gradient(180deg,rgba(180,136,74,.5) 0 1px,transparent 1px 26px)}
.brand-rail__mark{display:flex;flex-direction:column;align-items:center;gap:12px;padding-top:6px}
.brand-rail__glyph{width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--copper);background:rgba(180,136,74,.1);color:var(--copper);font-family:var(--font-head);font-weight:900;font-size:19px}
.brand-rail__label{writing-mode:vertical-rl;font-family:var(--font-head);font-weight:700;font-size:12px;letter-spacing:.34em;color:var(--paper)}
.brand-rail__pointer{position:absolute;left:0;right:0;top:0;border-top:2px solid var(--copper);transform:translateY(var(--rail-pos,0px));transition:transform .1s linear;pointer-events:none}
.brand-rail__pointer::after{content:"";position:absolute;right:0;top:-4px;width:0;height:0;border-left:9px solid var(--copper);border-top:5px solid transparent;border-bottom:5px solid transparent}
.brand-rail__chapter{margin-top:auto;writing-mode:vertical-rl;font-size:10px;letter-spacing:.28em;color:rgba(244,239,230,.62);max-height:38vh;overflow:hidden;text-align:center}

.cmdbar{height:100%;background:rgba(244,239,230,.96);border-bottom:1px solid var(--line-strong);box-shadow:0 12px 26px -24px rgba(20,19,16,.9);backdrop-filter:blur(8px)}
.cmdbar__inner{height:100%;max-width:1460px;margin:0 auto;padding:0 clamp(14px,2.4vw,40px);display:flex;align-items:center;gap:clamp(12px,2vw,30px)}
.cmdbar__brand{display:flex;align-items:baseline;gap:10px;flex:0 0 auto}
.cmdbar__name{font-family:var(--font-head);font-weight:900;font-size:19px;letter-spacing:-.02em;color:var(--ink);transition:font-size .2s ease}
.cmdbar__sub{font-size:11px;letter-spacing:.16em;color:var(--stone)}
.cmdbar__status{flex:1 1 auto;min-width:0;font-size:11.5px;letter-spacing:.04em;color:var(--steel);border-left:1px solid var(--copper);padding-left:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.site-header.is-condensed .cmdbar__name{font-size:17px}
.site-header.is-condensed .cmdbar__sub{display:none}

.cmdnav{display:flex;align-items:center;flex:0 0 auto}
.cmdnav__list{display:flex;align-items:center;gap:clamp(2px,.8vw,10px)}
.cmdnav__link{display:inline-flex;align-items:baseline;gap:6px;padding:8px 10px;font-size:13px;letter-spacing:.02em;color:var(--ink);border-bottom:2px solid transparent;transition:color .15s ease,border-color .15s ease,background .15s ease}
.cmdnav__index{font-size:10px;letter-spacing:0;color:var(--copper)}
.cmdnav__link:hover{background:rgba(180,136,74,.12);border-bottom-color:rgba(180,136,74,.6)}
.cmdnav__link[aria-current="page"]{color:var(--clay);border-bottom-color:var(--clay)}
.cmdnav__link[aria-current="page"] .cmdnav__index{color:var(--clay)}

.cmdbar__toggle{display:none;align-items:center;gap:9px;padding:9px 13px;border:1px solid var(--line-strong);background:var(--paper-2);color:var(--ink);font-size:12px;letter-spacing:.1em;cursor:pointer}
.cmdbar__bars{position:relative;width:18px;height:2px;background:var(--ink);transition:background .18s ease}
.cmdbar__bars::before,.cmdbar__bars::after{content:"";position:absolute;left:0;width:18px;height:2px;background:var(--ink);transition:transform .18s ease,top .18s ease}
.cmdbar__bars::before{top:-6px}
.cmdbar__bars::after{top:6px}
.cmdbar__toggle[aria-expanded="true"] .cmdbar__bars{background:transparent}
.cmdbar__toggle[aria-expanded="true"] .cmdbar__bars::before{top:0;transform:rotate(45deg)}
.cmdbar__toggle[aria-expanded="true"] .cmdbar__bars::after{top:0;transform:rotate(-45deg)}
.cmdbar__toggle-text{font-size:12px;letter-spacing:.1em}

.cmdbar__cta{position:relative;flex:0 0 auto;display:inline-flex;align-items:center;background:var(--ink);color:var(--paper-2);padding:11px 20px;font-family:var(--font-head);font-weight:700;font-size:14px;letter-spacing:.06em;border:1px solid var(--ink);transition:background .16s ease}
.cmdbar__cta::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--copper)}
.cmdbar__cta:hover{background:var(--ink-lift)}

/* ---------- 页脚 ---------- */
.site-footer{position:relative;margin-top:clamp(60px,9vw,140px);background:linear-gradient(180deg,#0F3B32 0%,#0A2A24 100%);color:rgba(244,239,230,.78);border-top:3px solid var(--copper)}
.site-footer::before{content:"";position:absolute;inset:0;background-image:repeating-linear-gradient(0deg,rgba(244,239,230,.045) 0 1px,transparent 1px 6px);pointer-events:none}
.foot-grid{position:relative;z-index:1;max-width:1320px;margin:0 auto;padding:clamp(44px,5vw,76px) clamp(20px,4vw,52px) clamp(26px,3vw,36px);display:grid;grid-template-columns:minmax(240px,1.35fr) repeat(3,minmax(148px,.8fr));gap:clamp(26px,4vw,54px)}
.foot-brand__link{display:block}
.foot-brand__name{display:block;font-family:var(--font-head);font-weight:900;font-size:clamp(24px,3vw,32px);letter-spacing:-.01em;color:var(--paper-2)}
.foot-brand__line{display:block;margin-top:8px;font-size:11px;letter-spacing:.24em;color:var(--copper)}
.foot-brand__note{margin:16px 0 22px;font-size:13.5px;line-height:1.9;color:rgba(244,239,230,.7);max-width:34ch}
.foot-col__title{font-family:var(--font-head);font-weight:700;font-size:12px;letter-spacing:.2em;color:var(--copper);padding-bottom:10px;margin-bottom:12px;border-bottom:1px solid rgba(180,136,74,.42)}
.foot-list__link{display:block;padding:7px 0;font-size:14px;color:rgba(244,239,230,.82);border-bottom:1px dashed rgba(244,239,230,.14);transition:color .15s ease,padding-left .15s ease,border-color .15s ease}
.foot-list__link:hover{color:var(--paper-2);padding-left:6px;border-bottom-color:var(--copper)}
.foot-contact{position:relative;z-index:1;max-width:1320px;margin:0 auto;padding:clamp(22px,3vw,36px) clamp(20px,4vw,52px) 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px 34px;border-top:1px solid rgba(180,136,74,.24)}
.foot-contact__item{font-size:13px;line-height:1.85}
.foot-contact__key{display:block;font-size:10.5px;letter-spacing:.24em;color:var(--copper);margin-bottom:4px}
.foot-contact__val{color:rgba(244,239,230,.88);word-break:break-word}
.foot-contract{position:relative;z-index:1;max-width:1320px;margin:0 auto;padding:clamp(20px,3vw,32px) clamp(20px,4vw,52px) 0}
.foot-contract__inner{border-left:3px solid var(--clay);background:rgba(196,98,45,.12);padding:16px 20px;font-size:12.5px;line-height:1.85;color:rgba(244,239,230,.8);max-width:88ch}
.foot-bottom{position:relative;z-index:1;max-width:1320px;margin:clamp(24px,3vw,40px) auto 0;padding:18px clamp(20px,4vw,52px) 28px;border-top:1px solid rgba(180,136,74,.28);display:flex;flex-wrap:wrap;align-items:center;gap:12px 26px;font-size:11.5px;letter-spacing:.08em;color:rgba(244,239,230,.55)}
.foot-bottom__icp{color:rgba(244,239,230,.78)}
.foot-bottom__note{color:rgba(244,239,230,.55)}

.gotop{position:fixed;right:clamp(14px,2.4vw,32px);bottom:clamp(14px,2.4vw,32px);z-index:120;display:inline-flex;align-items:center;gap:10px;padding:12px 16px;background:var(--ink);color:var(--paper-2);border:1px solid var(--copper);font-size:12px;letter-spacing:.12em;cursor:pointer;opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .2s ease,transform .2s ease,visibility .2s}
.gotop::before{content:"";width:0;height:0;border-bottom:7px solid var(--copper);border-left:5px solid transparent;border-right:5px solid transparent}
.gotop.is-on{opacity:1;visibility:visible;transform:none}
.gotop:hover{background:var(--ink-lift)}

/* ---------- 响应式 ---------- */
@media (max-width:1200px){
  .cmdbar__status{display:none}
}
@media (max-width:1080px){
  :root{--rail-w:0px;--bar-h:60px;--bar-h-sm:54px}
  .brand-rail{display:none}
  body{background-size:5px 5px}
  .cmdbar__toggle{display:inline-flex}
  .cmdnav{position:absolute;top:100%;left:0;right:0;display:block;background:var(--paper-2);border-top:1px solid var(--copper);border-bottom:1px solid var(--line-strong);max-height:0;overflow:hidden;opacity:0;visibility:hidden;box-shadow:0 26px 44px -32px rgba(20,19,16,.95);transition:max-height .22s ease,opacity .18s ease,visibility .22s}
  .cmdnav[data-open]{max-height:76vh;overflow:auto;opacity:1;visibility:visible}
  .cmdnav__list{display:block;padding:8px 0 14px}
  .cmdnav__item{border-bottom:1px dashed var(--line)}
  .cmdnav__item:last-child{border-bottom:0}
  .cmdnav__link{display:flex;width:100%;padding:15px clamp(16px,4vw,28px);font-size:15px;border-bottom:0;border-left:3px solid transparent}
  .cmdnav__link:hover{background:rgba(180,136,74,.12)}
  .cmdnav__link[aria-current="page"]{border-left-color:var(--clay);background:rgba(196,98,45,.07);border-bottom:0}
  .grid-2,.grid-3{grid-template-columns:1fr}
  .ledger__table{min-width:560px}
}
@media (min-width:1081px) and (max-width:1280px){
  .grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:1000px){
  .foot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .foot-brand{grid-column:1 / -1}
}
@media (max-width:640px){
  body{font-size:14.5px}
  .cmdbar__inner{gap:10px}
  .cmdbar__sub{display:none}
  .cmdbar__cta{padding:10px 14px;font-size:13px}
  .foot-grid{grid-template-columns:1fr;gap:26px}
  .ledger__table{min-width:480px;font-size:12.5px}
  .ledger__table thead th,.ledger__table td{padding:10px 11px}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important}
  .brand-rail__pointer{transition:none}
  .gotop{transform:none}
}
