/* ============================================================
   房产天下 · 站点样式
   设计口径：产业地产是理性交易，视觉服务参数而非氛围。
   - 骨白纸底 + 墨黑 + 单一工程橙，不用渐变/毛玻璃/大圆角
   - 数字一律等宽（tabular-nums），让面积和单价纵向可比
   - 卡片直角 + 1px 边线，接近图纸与铭牌，不用阴影堆层次
   ============================================================ */

:root{
  --paper:#EFEDE6;
  --paper-2:#F8F7F2;
  --card:#FBFAF6;
  --ink:#14181B;
  --ink-2:#333A3F;
  --steel:#4E5D66;
  --muted:#7C7A72;
  --line:#D6D1C5;
  --line-2:#E6E2D8;
  --accent:#C2451E;
  --accent-soft:#F3E3DA;
  --ok:#3F6B4F;
  --mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
  --wrap:1240px;
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:var(--sans);font-size:15px;line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
b{font-weight:600}
.num{font-family:var(--mono);font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 28px}

/* ── 顶栏 ─────────────────────────────────────────────── */
.topbar{
  position:sticky;top:0;z-index:50;
  background:rgba(239,237,230,.92);
  backdrop-filter:saturate(140%) blur(8px);
  border-bottom:1px solid var(--line);
}
.topbar-in{display:flex;align-items:center;gap:28px;height:64px}
.brand{display:flex;align-items:center;gap:10px;flex:none}
.brand-mark{
  width:26px;height:26px;flex:none;
  background:
    linear-gradient(var(--ink),var(--ink)) 0 0/100% 1px no-repeat,
    linear-gradient(var(--ink),var(--ink)) 0 100%/100% 1px no-repeat,
    linear-gradient(var(--ink),var(--ink)) 0 0/1px 100% no-repeat,
    linear-gradient(var(--ink),var(--ink)) 100% 0/1px 100% no-repeat,
    var(--accent);
  background-position:0 6px,0 20px,6px 0,20px 0,0 0;
  background-size:100% 1px,100% 1px,1px 100%,1px 100%,100% 100%;
  background-repeat:no-repeat;
}
.brand-txt{display:flex;flex-direction:column;line-height:1.15}
.brand-txt b{font-size:15px;letter-spacing:.02em}
.brand-txt i{
  font-style:normal;font-size:10.5px;color:var(--muted);
  letter-spacing:.14em;text-transform:uppercase;
}
.nav{display:flex;gap:22px;margin-left:auto}
.nav-i{
  font-size:13.5px;color:var(--ink-2);padding:4px 0;
  border-bottom:1px solid transparent;transition:.15s;
}
.nav-i:hover{color:var(--ink);border-bottom-color:var(--accent)}
.topbar-cta{flex:none;height:36px;padding:0 16px;font-size:13.5px}

/* ── 按钮 ─────────────────────────────────────────────── */
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  height:44px;padding:0 22px;border:1px solid transparent;
  font-size:14px;font-weight:500;letter-spacing:.01em;
  transition:.16s ease;white-space:nowrap;
}
.btn-solid{background:var(--ink);color:#F8F7F2;border-color:var(--ink)}
.btn-solid:hover{background:var(--accent);border-color:var(--accent)}
.btn-ghost{border-color:var(--ink);color:var(--ink)}
.btn-ghost:hover{background:var(--ink);color:#F8F7F2}
.btn-wide{width:100%}
.link-btn{
  color:var(--accent);font-size:13.5px;
  border-bottom:1px solid currentColor;padding-bottom:1px;
}
.link-btn:hover{color:var(--ink)}

/* ── 首屏 ─────────────────────────────────────────────── */
.hero{
  position:relative;overflow:hidden;
  padding:64px 0 72px;
  border-bottom:1px solid var(--line);
  background-image:
    linear-gradient(to right,rgba(20,24,27,.045) 1px,transparent 1px),
    linear-gradient(to bottom,rgba(20,24,27,.045) 1px,transparent 1px);
  background-size:48px 48px;
  background-position:center top;
}
.hero::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(120% 80% at 18% 0%,rgba(239,237,230,.96) 0%,rgba(239,237,230,.55) 55%,rgba(239,237,230,0) 100%);
}
.hero-grid{
  position:relative;z-index:1;
  display:grid;grid-template-columns:minmax(0,1fr) 396px;gap:56px;align-items:start;
}
.eyebrow{
  margin:0 0 18px;font-family:var(--mono);font-size:11.5px;
  letter-spacing:.18em;text-transform:uppercase;color:var(--accent);
}
.hero h1{
  margin:0 0 22px;
  font-size:clamp(34px,4.6vw,58px);
  line-height:1.06;letter-spacing:-.028em;font-weight:700;
}
.lede{
  margin:0;max-width:34em;font-size:16px;line-height:1.75;color:var(--ink-2);
}
.lede .mark{
  display:inline;background:linear-gradient(transparent 62%,var(--accent-soft) 62%);
}
.hero-actions{display:flex;gap:12px;margin:30px 0 44px;flex-wrap:wrap}
.hero-facts{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  margin:0;border-top:1px solid var(--line);padding-top:20px;gap:16px;
}
.hero-facts dt{
  font-size:11.5px;color:var(--muted);letter-spacing:.06em;margin-bottom:4px;
}
.hero-facts dd{margin:0;font-size:24px;font-weight:600}
.hero-facts dd .num{font-size:24px}

/* ── 筛选面板 ──────────────────────────────────────────── */
.filter{
  background:var(--card);
  border:1px solid var(--ink);
  padding:20px 20px 18px;
  position:sticky;top:84px;
}
.filter-head{
  display:flex;align-items:baseline;justify-content:space-between;
  margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--line);
}
.filter-head h2{margin:0;font-size:14px;letter-spacing:.1em;text-transform:uppercase;font-family:var(--mono);font-weight:500}
.fgroup{margin-bottom:14px}
.flabel{
  display:block;font-size:11.5px;color:var(--muted);
  letter-spacing:.08em;margin-bottom:7px;
}
.seg{display:flex;flex-wrap:wrap;gap:6px}
.seg-i{
  padding:6px 10px;font-size:13px;border:1px solid var(--line);
  background:var(--paper-2);color:var(--ink-2);transition:.14s;
}
.seg-i em{
  font-style:normal;font-family:var(--mono);font-size:11px;
  color:var(--muted);margin-left:4px;
}
.seg-i:hover{border-color:var(--ink-2)}
.seg-i.is-on{background:var(--ink);border-color:var(--ink);color:#F8F7F2}
.seg-i.is-on em{color:rgba(248,247,242,.65)}
.seg-sm .seg-i{padding:4px 9px;font-size:12.5px}
.fselect{
  width:100%;height:38px;padding:0 10px;
  border:1px solid var(--line);background:var(--paper-2);
  font-size:13.5px;color:var(--ink);appearance:none;
  background-image:linear-gradient(45deg,transparent 50%,var(--ink-2) 50%),linear-gradient(135deg,var(--ink-2) 50%,transparent 50%);
  background-position:calc(100% - 15px) 17px,calc(100% - 10px) 17px;
  background-size:5px 5px,5px 5px;background-repeat:no-repeat;
}
.fselect:focus{outline:2px solid var(--accent);outline-offset:-1px}
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.fmore{margin:4px 0 14px;border-top:1px dashed var(--line);padding-top:12px}
.fmore summary{
  font-size:12.5px;color:var(--steel);cursor:pointer;list-style:none;
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;
}
.fmore summary::-webkit-details-marker{display:none}
.fmore summary::before{content:"＋";font-family:var(--mono);color:var(--accent)}
.fmore[open] summary::before{content:"－"}
.tag-gap{
  font-size:10.5px;padding:1px 6px;border:1px solid var(--line);
  color:var(--muted);background:var(--paper);
}
.fmore-note{font-size:12.5px;color:var(--muted);line-height:1.7;margin:10px 0}
.fmore-note b{color:var(--accent)}
.fdim{display:flex;flex-wrap:wrap;gap:6px;opacity:.45}
.fdim span{
  font-size:11.5px;padding:4px 8px;border:1px dashed var(--line);
  color:var(--muted);text-decoration:line-through;text-decoration-color:var(--line);
}
.filter-result{
  border-top:1px solid var(--ink);padding-top:12px;
  font-size:13px;color:var(--ink-2);
}
.filter-result b{font-size:18px}
.filter-result-sub{display:block;font-size:11.5px;color:var(--muted);margin-top:4px;line-height:1.5}

/* ── 列表区 ────────────────────────────────────────────── */
.list-sec{padding:56px 0 72px}
.sec-head{
  display:flex;align-items:flex-end;justify-content:space-between;
  gap:24px;margin-bottom:28px;flex-wrap:wrap;
}
.sec-head h2{
  margin:0 0 6px;font-size:clamp(22px,2.6vw,30px);
  letter-spacing:-.02em;font-weight:700;
}
.sec-sub{margin:0;font-size:13.5px;color:var(--muted);max-width:56em}
.sec-sort{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--muted)}
.fselect-sm{width:auto;min-width:168px;height:34px;background-position:calc(100% - 15px) 15px,calc(100% - 10px) 15px}

.cards{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1px;background:var(--line);border:1px solid var(--line);
}
.card{
  background:var(--card);display:flex;flex-direction:column;
  transition:.16s ease;position:relative;
}
.card:hover{background:#fff}
.card-media{
  position:relative;aspect-ratio:4/3;background:var(--paper-2);
  overflow:hidden;border-bottom:1px solid var(--line-2);
}
.card-media img{width:100%;height:100%;object-fit:cover}
.card-media .ph{
  position:absolute;inset:0;display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:6px;
  background-image:
    linear-gradient(to right,rgba(20,24,27,.05) 1px,transparent 1px),
    linear-gradient(to bottom,rgba(20,24,27,.05) 1px,transparent 1px);
  background-size:22px 22px;
  color:var(--muted);font-size:12px;
}
.card-media .ph b{font-size:12.5px;color:var(--steel);letter-spacing:.06em}
.card-tags{
  position:absolute;left:10px;top:10px;display:flex;gap:6px;flex-wrap:wrap;
}
.tag-type{
  font-size:11px;padding:3px 8px;background:var(--ink);color:#F8F7F2;
  letter-spacing:.04em;
}
.tag-trade{
  font-size:11px;padding:3px 8px;background:rgba(248,247,242,.94);
  color:var(--ink);border:1px solid var(--line);
}
.card-body{padding:16px 16px 0;flex:1}
.card-title{
  margin:0 0 12px;font-size:16.5px;line-height:1.4;font-weight:600;
  letter-spacing:-.01em;
}
.card-title button{text-align:left;font:inherit;color:inherit}
.card-title button:hover{color:var(--accent)}
.spec{
  margin:0 0 14px;display:grid;grid-template-columns:64px minmax(0,1fr);
  border-top:1px solid var(--line-2);
}
.spec dt,.spec dd{
  margin:0;padding:6px 0;font-size:12.5px;
  border-bottom:1px dotted var(--line);
}
.spec dt{color:var(--muted);letter-spacing:.02em}
.spec dd{color:var(--ink-2);font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:12.5px}
.spec dd.raw{font-family:var(--sans);font-size:12.5px}
.card-foot{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:12px 16px;border-top:1px solid var(--line-2);margin-top:auto;
}
.card-dev{font-size:11.5px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.card-cta{
  font-size:12.5px;padding:7px 12px;border:1px solid var(--ink);
  color:var(--ink);flex:none;transition:.14s;
}
.card-cta:hover{background:var(--accent);border-color:var(--accent);color:#F8F7F2}
.tag-wait{
  display:inline-block;font-size:10.5px;padding:1px 5px;
  border:1px solid var(--line);color:var(--muted);background:var(--paper);
  font-family:var(--sans);vertical-align:1px;
}

/* ── 空态 ─────────────────────────────────────────────── */
.empty{padding:8px 0 0}
.empty-box{
  border:1px dashed var(--ink-2);padding:48px 32px;text-align:center;
  background:var(--paper-2);max-width:640px;margin:0 auto;
}
.empty-code{
  margin:0 0 12px;font-family:var(--mono);font-size:11px;
  letter-spacing:.2em;color:var(--accent);
}
.empty h3{margin:0 0 10px;font-size:20px;letter-spacing:-.01em}
.empty p{margin:0 auto 22px;font-size:14px;color:var(--muted);max-width:26em}
.empty-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}

/* ── 参数口径 ──────────────────────────────────────────── */
.method{
  padding:64px 0 72px;background:var(--ink);color:#E9E7E0;
  border-top:1px solid var(--ink);
}
.method .sec-head h2{color:#FBFAF6}
.method .sec-sub{color:rgba(233,231,224,.62)}
.method-list{
  list-style:none;margin:0;padding:0;
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;
  background:rgba(233,231,224,.18);
}
.method-list li{background:var(--ink);padding:26px 22px}
.m-no{
  display:block;font-family:var(--mono);font-size:11.5px;
  color:var(--accent);letter-spacing:.14em;margin-bottom:14px;
}
.method-list h3{margin:0 0 10px;font-size:16px;font-weight:600;letter-spacing:-.01em}
.method-list p{margin:0;font-size:13px;line-height:1.75;color:rgba(233,231,224,.7)}
.method-list b{color:#FBFAF6}
.method .tag-wait{border-color:rgba(233,231,224,.28);color:rgba(233,231,224,.7);background:transparent}

/* ── 留资 ─────────────────────────────────────────────── */
.lead{padding:72px 0;border-bottom:1px solid var(--line)}
.lead-grid{display:grid;grid-template-columns:minmax(0,1fr) 480px;gap:64px;align-items:start}
.lead h2{margin:0 0 20px;font-size:clamp(26px,3.2vw,38px);line-height:1.15;letter-spacing:-.025em}
.lead-points{list-style:none;margin:28px 0 0;padding:0;border-top:1px solid var(--line)}
.lead-points li{
  padding:11px 0;border-bottom:1px solid var(--line-2);
  font-size:13.5px;color:var(--ink-2);position:relative;padding-left:20px;
}
.lead-points li::before{
  content:"";position:absolute;left:0;top:18px;
  width:8px;height:1px;background:var(--accent);
}
.lead-form{
  background:var(--card);border:1px solid var(--ink);padding:24px;
  position:sticky;top:84px;
}
.lf-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.lf-field{display:block;margin-bottom:12px}
.lf-field span{
  display:block;font-size:11.5px;color:var(--muted);
  letter-spacing:.06em;margin-bottom:6px;
}
.lf-field span i{color:var(--accent);font-style:normal}
.lf-field input,.lf-field select,.lf-field textarea{
  width:100%;border:1px solid var(--line);background:var(--paper-2);
  padding:10px 11px;font-size:14px;color:var(--ink);
  font-family:var(--sans);border-radius:0;
}
.lf-field textarea{resize:vertical;min-height:76px}
.lf-field input:focus,.lf-field select:focus,.lf-field textarea:focus{
  outline:2px solid var(--accent);outline-offset:-1px;background:#fff;
}
.lf-meta{
  display:flex;gap:14px;flex-wrap:wrap;
  font-size:11.5px;color:var(--muted);margin:4px 0 14px;
  font-family:var(--mono);
}
.lf-meta b{color:var(--accent)}
.lf-status{margin:12px 0 0;font-size:13px;min-height:20px;line-height:1.6}
.lf-status.is-ok{color:var(--ok)}
.lf-status.is-err{color:var(--accent)}
.lf-fine{margin:10px 0 0;font-size:11.5px;color:var(--muted);line-height:1.6}

/* ── 合作 ─────────────────────────────────────────────── */
.coop{padding:64px 0 80px}
.coop-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.coop-card{background:var(--card);padding:26px 24px}
.coop-card h3{margin:0 0 10px;font-size:17px;letter-spacing:-.01em}
.coop-card p{margin:0 0 18px;font-size:13.5px;color:var(--muted);line-height:1.75}

/* ── 页脚 ─────────────────────────────────────────────── */
.foot{background:var(--paper-2);border-top:1px solid var(--line);padding:40px 0 48px}
.foot-in{display:grid;grid-template-columns:1fr auto;gap:24px 48px}
.foot-brand b{font-size:16px;letter-spacing:.02em}
.foot-brand p{margin:6px 0 0;font-size:12.5px;color:var(--muted)}
.foot-links{display:flex;gap:20px;font-size:13px;color:var(--ink-2);flex-wrap:wrap}
.foot-links a:hover{color:var(--accent)}
.foot-fine{
  grid-column:1/-1;margin:0;padding-top:24px;border-top:1px solid var(--line-2);
  font-size:11.5px;color:var(--muted);line-height:1.7;max-width:64em;
}

/* ── 详情抽屉 ──────────────────────────────────────────── */
.drawer{position:fixed;inset:0;z-index:80}
.drawer-mask{position:absolute;inset:0;background:rgba(20,24,27,.5)}
.drawer-panel{
  position:absolute;right:0;top:0;bottom:0;width:min(560px,94vw);
  background:var(--paper);overflow-y:auto;padding:28px;
  border-left:1px solid var(--ink);
}
.drawer-x{
  position:absolute;right:16px;top:12px;font-size:26px;line-height:1;
  color:var(--muted);padding:4px 8px;
}
.drawer-x:hover{color:var(--ink)}
.dw-img{aspect-ratio:16/10;background:var(--paper-2);border:1px solid var(--line);margin-bottom:20px;overflow:hidden}
.dw-img img{width:100%;height:100%;object-fit:cover}
.dw-h{display:flex;gap:8px;margin-bottom:10px}
.dw-title{margin:0 0 18px;font-size:23px;line-height:1.3;letter-spacing:-.02em}
.dw-desc{font-size:13.5px;color:var(--ink-2);line-height:1.8;margin:0 0 20px;white-space:pre-wrap}
.dw-table{margin:0 0 22px;border-top:1px solid var(--line)}
.dw-table dt,.dw-table dd{
  margin:0;padding:9px 0;font-size:13px;border-bottom:1px solid var(--line-2);
  display:inline-block;vertical-align:top;
}
.dw-table dt{width:34%;color:var(--muted)}
.dw-table dd{width:65%;color:var(--ink);font-family:var(--mono);font-variant-numeric:tabular-nums}
.dw-table dd.raw{font-family:var(--sans)}
.dw-note{
  font-size:12px;color:var(--muted);background:var(--paper-2);
  border-left:2px solid var(--accent);padding:10px 12px;margin:0 0 20px;line-height:1.7;
}

/* ── 响应式 ───────────────────────────────────────────── */
@media (max-width:1080px){
  .hero-grid{grid-template-columns:1fr;gap:36px}
  .filter{position:static}
  .cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .method-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .lead-grid{grid-template-columns:1fr;gap:36px}
  .lead-form{position:static}
  .coop-grid{grid-template-columns:1fr}
}
@media (max-width:760px){
  .wrap{padding:0 18px}
  .nav{display:none}
  .topbar-in{height:58px}
  .topbar-cta{margin-left:auto}
  .hero{padding:32px 0 24px}
  .hero h1{font-size:32px}
  .lede{font-size:14.5px}
  .hero-actions{margin:18px 0 20px}
  .hero-actions .btn{flex:1;padding:0 14px;font-size:13.5px}
  .hero-facts{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px 10px;padding-top:14px}
  .hero-facts dt{font-size:10px;letter-spacing:0}
  .hero-facts dd,.hero-facts dd .num{font-size:17px}
  .cards{grid-template-columns:1fr}
  .method-list{grid-template-columns:1fr}
  .lf-row{grid-template-columns:1fr;gap:0}
  .fgrid{grid-template-columns:1fr 1fr}
  .sec-head{align-items:flex-start}
  .sec-sort{width:100%}
  .fselect-sm{flex:1}
  .foot-in{grid-template-columns:1fr}
  .list-sec{padding:36px 0 48px}
  .lead,.method,.coop{padding:44px 0 52px}
  .drawer-panel{width:100%;padding:22px 18px}
}
@media (prefers-reduced-motion:reduce){
  *{transition:none!important;scroll-behavior:auto!important}
}
