/* ==========================================================================
   沈阳欧特美得建筑装饰材料有限公司 · 官网样式
   设计语言：深炭灰 + 银 + 铜金点缀（工业高端 / 德系简约）
   ========================================================================== */

:root{
  --ink:#0d1013;
  --coal:#15191d;
  --slate:#1e242a;
  --raise:#262d34;
  --line:#333c45;
  --line-soft:#262e36;
  --silver:#c6ccd4;
  --white:#ffffff;
  --muted:#828b95;
  --accent:#c8a45c;
  --accent-soft:rgba(200,164,92,.14);
  --accent-line:rgba(200,164,92,.34);

  --maxw:1240px;
  --pad:clamp(20px,4vw,48px);
  --ease:cubic-bezier(.22,.61,.36,1);

  --f-sans:"Helvetica Neue",Helvetica,Arial,"PingFang SC","Microsoft YaHei","Hiragino Sans GB",sans-serif;
  --f-num:"Helvetica Neue",Helvetica,Arial,sans-serif;
}

*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
body{
  margin:0;background:var(--ink);color:var(--silver);
  font-family:var(--f-sans);font-size:15px;line-height:1.75;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
img{max-width:100%;display:block;border:0;}
a{color:inherit;text-decoration:none;transition:color .25s var(--ease);}
a:hover{color:var(--accent);}
h1,h2,h3,h4{margin:0;font-weight:400;line-height:1.3;color:var(--white);letter-spacing:.02em;}
p{margin:0 0 1em;}
ul{margin:0;padding:0;list-style:none;}
button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit;}
::selection{background:var(--accent);color:var(--ink);}

/* ---------- 布局容器 ---------- */
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--pad);}
.sec{padding:clamp(64px,9vw,120px) 0;}
.sec--coal{background:var(--coal);}
.sec--slate{background:var(--slate);}

/* ---------- 标题组 ---------- */
.head{margin-bottom:clamp(36px,5vw,64px);}
.head--center{text-align:center;}
.head .kicker{
  display:inline-block;font-size:12px;letter-spacing:.28em;text-transform:uppercase;
  color:var(--accent);margin-bottom:16px;font-family:var(--f-num);font-weight:600;
}
.head .kicker::before{content:"";display:inline-block;width:26px;height:1px;
  background:var(--accent);vertical-align:middle;margin-right:12px;}
.head h2{font-size:clamp(26px,3.6vw,40px);letter-spacing:.03em;}
.head h2 em{font-style:normal;color:var(--accent);}
.head .sub{margin-top:16px;color:var(--muted);max-width:640px;font-size:14.5px;}
.head--center .sub{margin-left:auto;margin-right:auto;}

/* ---------- 按钮 ---------- */
.btn{
  display:inline-flex;align-items:center;gap:10px;
  padding:14px 32px;border:1px solid var(--line);background:transparent;
  color:var(--silver);font-size:14px;letter-spacing:.08em;cursor:pointer;
  transition:all .3s var(--ease);white-space:nowrap;
}
.btn:hover{border-color:var(--accent);color:var(--accent);}
.btn--fill{background:var(--accent);border-color:var(--accent);color:var(--ink);font-weight:600;}
.btn--fill:hover{background:transparent;color:var(--accent);}
.btn--sm{padding:9px 20px;font-size:13px;}
.btn .arw{transition:transform .3s var(--ease);}
.btn:hover .arw{transform:translateX(4px);}

/* ---------- 页头 ---------- */
.hdr{
  position:fixed;inset:0 0 auto 0;z-index:100;
  background:linear-gradient(180deg,rgba(13,16,19,.92),rgba(13,16,19,0));
  transition:background .4s var(--ease),box-shadow .4s var(--ease);
}
.hdr.is-stuck{background:rgba(13,16,19,.96);box-shadow:0 1px 0 var(--line-soft);}
.hdr__in{
  max-width:var(--maxw);margin:0 auto;padding:0 var(--pad);
  height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px;
}
.brand{display:flex;align-items:center;flex:0 0 auto;}
/* 品牌标识：沿用原「狮子纹章 + Perfect Design Aspires + PDA + 欧特美得」标识，
   做成单色透明 PNG，深色页头上以浅银呈现。 */
.brand__logo{display:block;height:52px;width:auto;flex:0 0 auto;}

.nav{display:flex;align-items:center;gap:4px;}
.nav a{
  padding:10px 15px;font-size:14.5px;color:var(--silver);position:relative;letter-spacing:.04em;
}
.nav a::after{
  content:"";position:absolute;left:15px;right:15px;bottom:2px;height:1px;
  background:var(--accent);transform:scaleX(0);transform-origin:left;
  transition:transform .3s var(--ease);
}
.nav a:hover::after,.nav a.on::after{transform:scaleX(1);}
.nav a.on{color:var(--white);}
.nav__tel{
  margin-left:14px;padding:9px 20px;border:1px solid var(--accent-line);
  color:var(--accent);font-family:var(--f-num);font-weight:600;letter-spacing:.04em;
  font-size:14px;white-space:nowrap;
}
.nav__tel:hover{background:var(--accent);color:var(--ink);border-color:var(--accent);}

.burger{display:none;width:42px;height:42px;border:1px solid var(--line);
  background:transparent;cursor:pointer;position:relative;}
.burger i{position:absolute;left:11px;right:11px;height:1.5px;background:var(--silver);
  transition:.3s var(--ease);}
.burger i:nth-child(1){top:15px;} .burger i:nth-child(2){top:21px;} .burger i:nth-child(3){top:27px;}
.burger.on i:nth-child(1){top:21px;transform:rotate(45deg);}
.burger.on i:nth-child(2){opacity:0;}
.burger.on i:nth-child(3){top:21px;transform:rotate(-45deg);}

/* ---------- 首屏 ---------- */
.hero{
  position:relative;min-height:100svh;display:flex;align-items:center;overflow:hidden;
  /* 无背景图时的兜底：细网格 + 斜向光带，避免大片死黑 */
  background:
    radial-gradient(1100px 500px at 88% 8%,rgba(200,164,92,.10),transparent 58%),
    repeating-linear-gradient(90deg,rgba(255,255,255,.028) 0 1px,transparent 1px 92px),
    repeating-linear-gradient(0deg,rgba(255,255,255,.028) 0 1px,transparent 1px 92px),
    linear-gradient(160deg,var(--coal) 0%,var(--ink) 100%);
}
.hero__bg{position:absolute;inset:0;background-size:cover;background-position:center;
  opacity:.34;transform:scale(1.04);}
.hero::after{content:"";position:absolute;inset:0;
  background:linear-gradient(100deg,var(--ink) 8%,rgba(13,16,19,.82) 46%,rgba(13,16,19,.42) 100%);}
.hero__in{position:relative;z-index:2;width:100%;max-width:var(--maxw);
  margin:0 auto;padding:120px var(--pad) 90px;}
.hero__badge{
  display:inline-flex;align-items:center;gap:10px;font-size:12px;letter-spacing:.2em;
  color:var(--accent);border:1px solid var(--accent-line);padding:8px 18px;
  margin-bottom:30px;font-family:var(--f-num);
}
.hero__badge b{width:6px;height:6px;border-radius:50%;background:var(--accent);
  animation:pulse 2.4s infinite;}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.25}}
.hero h1{
  font-size:clamp(32px,5.6vw,66px);line-height:1.16;letter-spacing:.01em;
  max-width:12em;margin-bottom:26px;
  text-wrap:balance;   /* 让两行长度接近，避免末行只剩两个字 */
}
.hero h1 em{font-style:normal;color:var(--accent);}
.hero__lead{font-size:clamp(14.5px,1.5vw,17px);color:var(--silver);max-width:38em;
  opacity:.86;margin-bottom:42px;}
.hero__acts{display:flex;flex-wrap:wrap;gap:14px;}
.hero__meta{
  position:absolute;left:var(--pad);right:var(--pad);bottom:40px;z-index:2;
  max-width:var(--maxw);margin:0 auto;display:flex;flex-wrap:wrap;gap:clamp(24px,5vw,64px);
  padding-top:26px;border-top:1px solid rgba(255,255,255,.09);
}
.hero__meta dl{margin:0;}
.hero__meta dt{font-size:22px;color:var(--accent);font-family:var(--f-num);font-weight:600;
  letter-spacing:.02em;}
.hero__meta dd{margin:2px 0 0;font-size:12.5px;color:var(--muted);letter-spacing:.12em;}

/* ---------- 优势条 ---------- */
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));}
.fact{padding:38px 30px;border-right:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);}
.fact:last-child{border-right:0;}
.fact__no{font-family:var(--f-num);font-size:12px;color:var(--accent);letter-spacing:.2em;
  margin-bottom:14px;font-weight:600;}
.fact h3{font-size:17px;margin-bottom:10px;letter-spacing:.04em;}
.fact p{margin:0;font-size:13.5px;color:var(--muted);line-height:1.8;}

/* ---------- 通用卡片网格 ----------
   分隔线由卡片自身 1px 描边产生，网格本身不设底色。
   原因：若把底色放在 .grid 上，最后一行不满时，空出来的格子会把底色
   露成一大块灰板（分类下只有 1~2 个产品时尤其明显）。 */
.grid{display:grid;gap:1px;background:transparent;}
.grid--4{grid-template-columns:repeat(4,1fr);}
.grid--3{grid-template-columns:repeat(3,1fr);}
.grid--2{grid-template-columns:repeat(2,1fr);}
.grid>*{box-shadow:0 0 0 1px var(--line-soft);}

/* ---------- 产品卡 ---------- */
.pcard{background:var(--coal);display:flex;flex-direction:column;
  transition:background .35s var(--ease);position:relative;overflow:hidden;}
.pcard:hover{background:var(--slate);}
.pcard__media{aspect-ratio:4/3;overflow:hidden;position:relative;background:var(--slate);}
.pcard__media img{width:100%;height:100%;object-fit:cover;
  transition:transform .7s var(--ease);}
.pcard:hover .pcard__media img{transform:scale(1.06);}
/* 暂无配图时的占位：做成有意的品牌版式，而不是"图没传" */
.pcard__ph{
  width:100%;height:100%;display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:15px;
  background:
    radial-gradient(420px 210px at 50% 12%,rgba(200,164,92,.08),transparent 72%),
    linear-gradient(155deg,var(--slate) 0%,var(--coal) 100%);
}
.pcard__ph b{
  width:56px;height:56px;display:grid;place-items:center;
  border:1px solid var(--accent-line);background:var(--accent-soft);
  color:var(--accent);font-family:var(--f-num);font-weight:700;
  font-size:14px;letter-spacing:.08em;
}
.pcard__ph span{
  font-family:var(--f-num);font-size:10.5px;letter-spacing:.26em;
  color:var(--muted);text-transform:uppercase;
}
.pcard__body{padding:26px 26px 30px;flex:1;display:flex;flex-direction:column;}
.pcard__cat{font-size:11px;letter-spacing:.2em;color:var(--accent);margin-bottom:12px;
  font-family:var(--f-num);text-transform:uppercase;}
.pcard h3{font-size:17px;margin-bottom:12px;letter-spacing:.03em;}
.pcard p{margin:0 0 20px;font-size:13.5px;color:var(--muted);flex:1;line-height:1.8;}
.pcard__more{font-size:13px;color:var(--silver);letter-spacing:.1em;
  display:inline-flex;align-items:center;gap:8px;}
.pcard:hover .pcard__more{color:var(--accent);}

/* ---------- 案例卡 ---------- */
.case{position:relative;overflow:hidden;min-height:360px;display:flex;align-items:flex-end;
  background:
    radial-gradient(600px 300px at 78% 6%,rgba(200,164,92,.09),transparent 70%),
    repeating-linear-gradient(90deg,rgba(255,255,255,.025) 0 1px,transparent 1px 74px),
    linear-gradient(150deg,var(--slate) 0%,var(--coal) 100%);}
.case__bg{position:absolute;inset:0;background-size:cover;background-position:center;
  transition:transform .8s var(--ease);opacity:.55;}
.case:hover .case__bg{transform:scale(1.06);}
.case::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(13,16,19,.1) 30%,rgba(13,16,19,.94) 100%);}
.case__in{position:relative;z-index:2;padding:34px 32px;width:100%;}
.case__in .tag{font-family:var(--f-num);font-size:11px;letter-spacing:.2em;
  color:var(--accent);margin-bottom:10px;}
.case__in h3{font-size:19px;margin-bottom:8px;}
.case__in p{margin:0;font-size:13.5px;color:var(--muted);}

/* ---------- 新闻 ---------- */
.news-row{border-top:1px solid var(--line-soft);}
.news-row:last-child{border-bottom:1px solid var(--line-soft);}
.news-row a{display:grid;grid-template-columns:110px 1fr auto;gap:26px;align-items:center;
  padding:28px 6px;transition:padding .3s var(--ease),background .3s var(--ease);}
.news-row a:hover{background:var(--slate);padding-left:20px;padding-right:20px;}
.news-row time{font-family:var(--f-num);font-size:13px;color:var(--muted);letter-spacing:.06em;}
.news-row h3{font-size:16px;margin-bottom:6px;letter-spacing:.03em;}
.news-row p{margin:0;font-size:13px;color:var(--muted);}
.news-row .go{color:var(--muted);font-size:18px;transition:.3s var(--ease);}
.news-row a:hover .go{color:var(--accent);transform:translateX(5px);}

/* ---------- 合作客户 ---------- */
#clients{scroll-margin-top:78px;}
.clients{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));
  gap:1px;background:var(--line-soft);border:1px solid var(--line-soft);}
.client{background:#fff;height:112px;display:flex;align-items:center;justify-content:center;
  padding:18px 22px;}
.client img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;
  filter:grayscale(1);opacity:.82;transition:filter .3s var(--ease),opacity .3s var(--ease);}
.client:hover img{filter:none;opacity:1;}
.client--more{background:var(--slate);color:var(--accent);font-size:13px;letter-spacing:.12em;
  text-align:center;line-height:1.9;}
.client--more:hover{background:var(--accent);color:var(--ink);}

/* ---------- CTA ---------- */
.cta{
  position:relative;padding:clamp(64px,9vw,110px) 0;text-align:center;
  background:var(--slate);border-top:1px solid var(--line-soft);
  border-bottom:1px solid var(--line-soft);
}
.cta h2{font-size:clamp(24px,3.4vw,38px);margin-bottom:18px;}
.cta p{color:var(--muted);max-width:36em;margin:0 auto 34px;}
.cta__acts{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}

/* ---------- 页脚 ---------- */
.ftr{background:var(--ink);border-top:1px solid var(--line-soft);padding-top:clamp(52px,7vw,80px);}
.ftr__grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.3fr;gap:44px;padding-bottom:52px;}
.ftr h4{font-size:13px;letter-spacing:.2em;color:var(--white);margin-bottom:22px;
  font-family:var(--f-num);text-transform:uppercase;}
.ftr li{margin-bottom:11px;font-size:13.5px;color:var(--muted);}
.ftr li a{color:var(--muted);}
.ftr li a:hover{color:var(--accent);}
.ftr__about p{font-size:13.5px;color:var(--muted);line-height:1.9;max-width:34em;}
.ftr__qr{width:112px;height:112px;border:1px solid var(--line);background:var(--slate);
  display:grid;place-items:center;overflow:hidden;}
.ftr__qr img{width:100%;height:100%;object-fit:cover;}
.ftr__qr span{font-size:11px;color:var(--muted);text-align:center;padding:8px;line-height:1.6;}

/* ---------- 备案条（关键：备案号必须显示在这里） ---------- */
.icp{
  border-top:1px solid var(--line-soft);padding:24px var(--pad);
  text-align:center;font-size:12.5px;color:var(--muted);line-height:2.1;
}
.icp a{color:var(--muted);}
.icp a:hover{color:var(--accent);}
.icp .sep{margin:0 10px;opacity:.4;}
.icp__no{letter-spacing:.04em;}

/* ---------- 内页头图 ---------- */
.phero{
  position:relative;padding:150px 0 66px;background:var(--coal);
  border-bottom:1px solid var(--line-soft);overflow:hidden;
}
.phero::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(900px 340px at 82% -10%,var(--accent-soft),transparent 62%);
}
.phero__in{position:relative;z-index:2;}
.crumb{font-size:12.5px;color:var(--muted);letter-spacing:.06em;margin-bottom:16px;}
.crumb a{color:var(--muted);} .crumb a:hover{color:var(--accent);}
.crumb span{margin:0 8px;opacity:.5;}
.phero h1{font-size:clamp(27px,4vw,44px);letter-spacing:.04em;}

/* ---------- 筛选 ---------- */
.filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:44px;}
.filters a{
  padding:9px 22px;border:1px solid var(--line);font-size:13.5px;
  color:var(--muted);letter-spacing:.05em;
}
.filters a:hover{border-color:var(--accent);color:var(--accent);}
.filters a.on{background:var(--accent);border-color:var(--accent);color:var(--ink);font-weight:600;}

/* ---------- 详情页 ---------- */
.detail{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:clamp(32px,5vw,72px);
  align-items:start;}
.article{min-width:0;}
.article__cover{border:1px solid var(--line-soft);margin-bottom:38px;background:var(--slate);}
.article__meta{display:flex;flex-wrap:wrap;gap:26px;padding-bottom:26px;
  border-bottom:1px solid var(--line-soft);margin-bottom:32px;font-size:13.5px;color:var(--muted);}
.article__meta b{color:var(--silver);font-weight:500;}
.article__body{font-size:15px;line-height:2;color:var(--silver);}
.article__body img{margin:26px 0;border:1px solid var(--line-soft);}
.article__body h2,.article__body h3{color:var(--white);margin:34px 0 16px;font-size:19px;}
.article__body ul,.article__body ol{margin:0 0 1em;padding-left:1.4em;list-style:revert;}
.article__body li{margin-bottom:8px;}
.article__body table{width:100%;border-collapse:collapse;margin:24px 0;font-size:14px;}
.article__body th,.article__body td{border:1px solid var(--line-soft);padding:12px 14px;text-align:left;}
.article__body th{background:var(--slate);color:var(--white);font-weight:500;}

.pager{display:flex;justify-content:space-between;gap:20px;margin-top:52px;
  padding-top:28px;border-top:1px solid var(--line-soft);font-size:13.5px;flex-wrap:wrap;}
.pager a,.pager span{color:var(--muted);max-width:46%;}
.pager a:hover{color:var(--accent);}

.aside{position:sticky;top:100px;}
.aside__box{border:1px solid var(--line-soft);background:var(--coal);padding:30px 28px;
  margin-bottom:22px;}
.aside__box h4{font-size:14px;letter-spacing:.16em;color:var(--white);margin-bottom:20px;
  padding-bottom:16px;border-bottom:1px solid var(--line-soft);font-family:var(--f-num);}
.aside li{border-bottom:1px solid var(--line-soft);}
.aside li:last-child{border-bottom:0;}
.aside li a{display:block;padding:13px 0;font-size:14px;color:var(--muted);}
.aside li a:hover{color:var(--accent);padding-left:6px;}
.aside__tel{font-family:var(--f-num);font-size:22px;color:var(--accent);font-weight:600;
  letter-spacing:.02em;display:block;margin-bottom:6px;}
.aside__note{font-size:12.5px;color:var(--muted);}

/* ---------- 表格 ---------- */
.tbl{width:100%;border-collapse:collapse;font-size:14px;}
.tbl th{background:var(--slate);color:var(--white);font-weight:500;font-size:13px;
  letter-spacing:.08em;padding:14px 16px;text-align:left;border-bottom:1px solid var(--line);}
.tbl td{padding:14px 16px;border-bottom:1px solid var(--line-soft);color:var(--silver);}
.tbl tr:hover td{background:var(--slate);}
.tbl .num{font-family:var(--f-num);color:var(--accent);}

/* ---------- 表单 ---------- */
.form{display:grid;gap:20px;}
.form__row{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.field label{display:block;font-size:13px;color:var(--muted);margin-bottom:9px;letter-spacing:.06em;}
.field label .req{color:var(--accent);}
.field input,.field select,.field textarea{
  width:100%;padding:13px 16px;background:var(--ink);border:1px solid var(--line);
  color:var(--silver);outline:none;transition:border-color .25s var(--ease);
}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);}
.field textarea{min-height:130px;resize:vertical;line-height:1.8;}
.field .hint{font-size:12px;color:var(--muted);margin-top:7px;}
.field--full{grid-column:1/-1;}

/* ---------- 联系页 ---------- */
.contact{display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(34px,5vw,70px);align-items:start;}
.cinfo li{display:flex;gap:18px;padding:22px 0;border-bottom:1px solid var(--line-soft);}
.cinfo .ico{width:42px;height:42px;flex:0 0 auto;border:1px solid var(--accent-line);
  display:grid;place-items:center;color:var(--accent);font-size:15px;background:var(--accent-soft);}
.cinfo .lab{font-size:12px;letter-spacing:.18em;color:var(--muted);margin-bottom:5px;
  font-family:var(--f-num);text-transform:uppercase;}
.cinfo .val{font-size:15.5px;color:var(--white);word-break:break-all;}
.cinfo .val.sm{font-size:14px;}
.qrbox{text-align:center;padding:32px 24px;border:1px solid var(--line-soft);background:var(--coal);}
.qrbox img{width:190px;height:190px;object-fit:contain;margin:0 auto 18px;background:#fff;padding:10px;}
.qrbox .ph{width:190px;height:190px;margin:0 auto 18px;border:1px dashed var(--line);
  display:grid;place-items:center;color:var(--muted);font-size:12.5px;line-height:1.8;padding:14px;}
.qrbox p{font-size:13px;color:var(--muted);margin:0;}

/* ---------- 提示 ---------- */
.flash{padding:14px 20px;border-left:2px solid var(--accent);background:var(--accent-soft);
  color:var(--silver);font-size:14px;margin-bottom:22px;}
.flash.error{border-left-color:#d4685f;background:rgba(212,104,95,.12);}
.empty{text-align:center;padding:90px 20px;color:var(--muted);}
.empty b{display:block;font-size:17px;color:var(--silver);margin-bottom:10px;font-weight:400;}

/* ---------- 分页 ---------- */
.pgn{display:flex;gap:8px;justify-content:center;margin-top:52px;flex-wrap:wrap;}
.pgn a,.pgn span{padding:9px 17px;border:1px solid var(--line);font-size:13.5px;
  color:var(--muted);font-family:var(--f-num);}
.pgn a:hover{border-color:var(--accent);color:var(--accent);}
.pgn .on{background:var(--accent);border-color:var(--accent);color:var(--ink);font-weight:600;}

/* ---------- 动画 ----------
   渐进增强：只有 <html> 带 .js 时（即脚本正常执行）才把内容先藏起来。
   脚本挂了、被拦截、或搜索引擎直出时，内容照常显示。 */
.rv{transition:opacity .8s var(--ease),transform .8s var(--ease);}
.js .rv{opacity:0;transform:translateY(22px);}
.js .rv.in{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){
  .js .rv{opacity:1;transform:none;transition:none;}
  html{scroll-behavior:auto;}
}

/* ==========================================================================
   后台
   ========================================================================== */
.adm{display:flex;min-height:100vh;background:var(--ink);}
.adm__side{
  width:230px;flex:0 0 auto;background:var(--coal);border-right:1px solid var(--line-soft);
  padding:26px 0;position:sticky;top:0;height:100vh;overflow-y:auto;
}
.adm__logo{padding:0 24px 26px;border-bottom:1px solid var(--line-soft);margin-bottom:18px;}
.adm__logo b{display:block;color:var(--white);font-size:15px;letter-spacing:.05em;}
.adm__logo span{font-size:11px;color:var(--muted);letter-spacing:.16em;font-family:var(--f-num);}
.adm__side a{display:flex;justify-content:space-between;align-items:center;
  padding:12px 24px;font-size:14px;color:var(--muted);border-left:2px solid transparent;}
.adm__side a:hover{background:var(--slate);color:var(--silver);}
.adm__side a.on{background:var(--slate);color:var(--accent);border-left-color:var(--accent);}
.adm__side .badge{background:#d4685f;color:#fff;font-size:11px;padding:1px 7px;
  border-radius:10px;font-family:var(--f-num);}
.adm__main{flex:1;min-width:0;padding:34px clamp(20px,3vw,44px) 70px;}
.adm__top{display:flex;justify-content:space-between;align-items:center;gap:20px;
  margin-bottom:30px;flex-wrap:wrap;}
.adm__top h1{font-size:23px;letter-spacing:.03em;}
.adm__top .who{font-size:13px;color:var(--muted);}
.adm__card{background:var(--coal);border:1px solid var(--line-soft);padding:28px;margin-bottom:24px;}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;
  background:var(--line-soft);border:1px solid var(--line-soft);margin-bottom:28px;}
.stat{background:var(--coal);padding:26px 24px;}
.stat .n{font-family:var(--f-num);font-size:32px;color:var(--accent);font-weight:600;line-height:1;}
.stat .l{font-size:12.5px;color:var(--muted);margin-top:9px;letter-spacing:.1em;}
.adm__acts{display:flex;gap:8px;flex-wrap:wrap;}
.tagpill{display:inline-block;padding:2px 10px;font-size:12px;border:1px solid var(--line);
  color:var(--muted);}
.tagpill.on{border-color:var(--accent-line);color:var(--accent);background:var(--accent-soft);}
.tagpill.warn{border-color:rgba(212,104,95,.4);color:#e0857c;background:rgba(212,104,95,.1);}

/* 后台登录 */
.login{min-height:100vh;display:grid;place-items:center;padding:24px;
  background:radial-gradient(760px 460px at 50% 0%,var(--accent-soft),transparent 60%),var(--ink);}
.login__box{width:100%;max-width:400px;background:var(--coal);border:1px solid var(--line-soft);
  padding:46px 40px;}
.login__box h1{font-size:20px;text-align:center;margin-bottom:8px;}
.login__box .sub{text-align:center;font-size:12.5px;color:var(--muted);letter-spacing:.14em;
  margin-bottom:34px;font-family:var(--f-num);}

/* ---------- 响应式 ---------- */
@media (max-width:1080px){
  .grid--4{grid-template-columns:repeat(2,1fr);}
  .ftr__grid{grid-template-columns:1fr 1fr;gap:36px;}
  .detail{grid-template-columns:1fr;}
  .aside{position:static;}
  .contact{grid-template-columns:1fr;}
}
@media (max-width:820px){
  .hdr__in{height:66px;}
  .brand__logo{height:38px;}
  .nav{
    position:fixed;inset:66px 0 auto 0;background:rgba(13,16,19,.99);
    flex-direction:column;align-items:stretch;gap:0;padding:14px 0 26px;
    border-bottom:1px solid var(--line-soft);
    transform:translateY(-130%);transition:transform .42s var(--ease);
    max-height:calc(100vh - 66px);overflow-y:auto;
  }
  .nav.on{transform:none;}
  .nav a{padding:15px 26px;border-bottom:1px solid var(--line-soft);font-size:15px;}
  .nav a::after{display:none;}
  .nav__tel{margin:20px 26px 0;text-align:center;border-bottom:0;}
  .burger{display:block;}
  .grid--3,.grid--2{grid-template-columns:1fr;}
  .hero__meta{position:static;margin-top:46px;}
  .news-row a{grid-template-columns:1fr;gap:10px;}
  .news-row .go{display:none;}
  .form__row{grid-template-columns:1fr;}
  .ftr__grid{grid-template-columns:1fr;}
  .adm{flex-direction:column;}
  .adm__side{width:100%;height:auto;position:static;display:flex;flex-wrap:wrap;padding:14px;}
  .adm__logo{width:100%;border:0;padding:8px 10px 14px;margin:0;}
  .adm__side a{border-left:0;border-bottom:2px solid transparent;padding:10px 14px;}
  .adm__side a.on{border-left:0;border-bottom-color:var(--accent);}
  .pcard__media{aspect-ratio:16/10;}
}
@media (max-width:560px){
  .grid--4{grid-template-columns:1fr;}
  .clients{grid-template-columns:repeat(auto-fill,minmax(108px,1fr));}
  .client{height:86px;padding:12px 14px;}
  .brand__logo{height:32px;}
  .fact{border-right:0;}
  .tbl{font-size:13px;}
  .tbl th,.tbl td{padding:11px 12px;}
}
