/* ==========================================================================
   FlexiOwn — 门店官网样式
   桌面/移动共用一套；以 375px 为基准逐级扩展
   ========================================================================== */

:root{
  --bg:#06070a;
  --bg-soft:#0a0c12;
  --surface:#10131a;
  --surface-2:#151a23;
  --line:#242b3a;
  --line-soft:#171c26;
  --fg:#eef1f7;
  --muted:#9aa4b4;
  --dim:#6b7587;

  --buy:#3b6cff;
  --inst:#eda33b;
  --rent:#1ec2a6;

  --light:#f1f2f4;
  --light-ink:#0b0d12;
  --light-muted:#5b6373;

  --maxw:1200px;
  --pad:20px;

  --display:"Bahnschrift","Segoe UI Semibold","Segoe UI",system-ui,"Microsoft YaHei","PingFang SC",sans-serif;
  --body:system-ui,"Segoe UI","Microsoft YaHei","PingFang SC",sans-serif;
  --mono:"Consolas","SFMono-Regular","Menlo",monospace;
}

*,*::before,*::after{ box-sizing:border-box; }

html{ -webkit-text-size-adjust:100%; }

body{
  margin:0;
  background:var(--bg);
  color:var(--fg);
  font-family:var(--body);
  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; }
:focus-visible{ outline:2px solid var(--buy); outline-offset:3px; }

.wrap{
  width:100%;
  max-width:var(--maxw);
  margin:0 auto;
  padding:0 var(--pad);
}

/* ---------- 通用排版 ---------- */

.h1{
  font-family:var(--display);
  font-weight:600;
  font-size:clamp(32px,7.2vw,66px);
  line-height:1.06;
  letter-spacing:-.015em;
  margin:0 0 16px;
}

.h2{
  font-family:var(--display);
  font-weight:600;
  font-size:clamp(24px,4.2vw,38px);
  line-height:1.16;
  letter-spacing:-.01em;
  margin:0 0 12px;
}

.h3{
  font-family:var(--display);
  font-weight:600;
  font-size:17px;
  line-height:1.3;
  letter-spacing:.01em;
  margin:0 0 8px;
}

.lead{
  color:var(--muted);
  font-size:15px;
  line-height:1.78;
  max-width:36em;
  margin:0 0 24px;
}

.sec-sub,
.sec-head p{
  color:var(--muted);
  font-size:14.5px;
  margin:0;
  max-width:46em;
}

/* ---------- 导航 ---------- */

.nav{
  position:sticky;
  top:0;
  z-index:60;
  background:rgba(6,7,10,.74);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid transparent;
  transition:background .2s ease,border-color .2s ease;
}
.nav.is-solid{
  background:rgba(6,7,10,.95);
  border-bottom-color:var(--line-soft);
}

.nav-in{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  height:62px;
}

.brand{
  display:flex;
  align-items:center;
  gap:9px;
  font-family:var(--display);
  font-weight:600;
  font-size:18px;
  letter-spacing:.03em;
}
.brand .mk{
  width:20px; height:20px;
  display:block;
}

.nav-links{ display:none; align-items:center; gap:2px; }
.nav-links a{
  color:var(--muted);
  font-size:14px;
  padding:9px 13px;
  border-radius:2px;
  white-space:nowrap;
}
.nav-links a:hover{ color:var(--fg); }
.nav-links a.on{ color:var(--fg); box-shadow:inset 0 -2px 0 var(--buy); }

.nav-right{ display:flex; align-items:center; gap:10px; }

.lang{
  display:inline-flex;
  border:1px solid var(--line);
  border-radius:2px;
  padding:2px;
  background:rgba(255,255,255,.03);
}
.lang button{
  border:0;
  background:transparent;
  cursor:pointer;
  min-height:38px;
  min-width:48px;
  padding:0 8px;
  font-size:13px;
  letter-spacing:.02em;
  color:var(--muted);
  border-radius:1px;
}
.lang button.on{
  background:#e9edf5;
  color:#0a0c11;
  font-weight:600;
}

.nav-toggle{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:44px; height:44px;
  border:1px solid var(--line);
  background:transparent;
  border-radius:2px;
  cursor:pointer;
}
.nav-toggle i{
  display:block;
  width:18px; height:1px;
  background:var(--fg);
  box-shadow:0 6px 0 var(--fg), 0 -6px 0 var(--fg);
}

.nav-drawer{
  position:fixed;
  top:62px; left:0; right:0;
  background:#08090d;
  border-bottom:1px solid var(--line);
  padding:6px 20px 18px;
  opacity:0;
  visibility:hidden;
  transform:translateY(-10px);
  transition:opacity .18s ease, transform .18s ease, visibility .18s;
  z-index:59;
}
.nav-drawer.open{ opacity:1; visibility:visible; transform:none; }
.nav-drawer a{
  display:block;
  padding:15px 0;
  border-bottom:1px solid var(--line-soft);
  font-size:15px;
  color:var(--fg);
}
.nav-drawer a.on{ color:#fff; }
.nav-drawer a.on::before{
  content:"";
  display:inline-block;
  width:5px; height:5px;
  background:var(--buy);
  margin-right:9px;
  vertical-align:2px;
}

@media(min-width:900px){
  .nav-links{ display:flex; }
  .nav-toggle,.nav-drawer{ display:none; }
  .nav-in{ height:68px; }
}

/* ---------- 按钮 ---------- */

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:0 22px;
  border:1px solid var(--line);
  border-radius:2px;
  background:transparent;
  color:var(--fg);
  font-size:14.5px;
  letter-spacing:.01em;
  cursor:pointer;
  transition:background .16s ease,border-color .16s ease,filter .16s ease;
}
.btn:hover{ border-color:#3a4356; background:rgba(255,255,255,.04); }
.btn-primary{
  background:var(--buy);
  border-color:var(--buy);
  color:#fff;
}
.btn-primary:hover{ background:#4a78ff; border-color:#4a78ff; }
.btn-sm{ min-height:42px; padding:0 16px; font-size:14px; }

/* ---------- 首页主视觉 ---------- */

.hero{
  --mode:var(--buy);
  position:relative;
  padding:40px 0 34px;
  overflow:hidden;
}
.hero::before{
  content:"";
  position:absolute;
  top:-18%; right:-30%;
  width:120%; height:120%;
  background:radial-gradient(circle at 62% 38%, rgba(59,108,255,.16), rgba(59,108,255,0) 58%);
  pointer-events:none;
}
.hero-grid{
  position:relative;
  display:grid;
  gap:34px;
}

.mode-switch{
  display:inline-flex;
  border:1px solid var(--line);
  border-radius:2px;
  overflow:hidden;
  margin:0 0 4px;
}
.mode-switch button{
  border:0;
  border-right:1px solid var(--line);
  background:transparent;
  color:var(--muted);
  padding:0 15px;
  min-height:46px;
  font-size:14px;
  letter-spacing:.01em;
  cursor:pointer;
  transition:background .16s ease,color .16s ease;
}
.mode-switch button:last-child{ border-right:0; }
.mode-switch button[data-mode="buy"]{ --c:var(--buy); }
.mode-switch button[data-mode="inst"]{ --c:var(--inst); }
.mode-switch button[data-mode="rent"]{ --c:var(--rent); }
.mode-switch button[aria-selected="true"]{
  background:var(--c);
  color:#fff;
  font-weight:600;
}

.mode-panels{ min-height:118px; }
.mode-panel{ display:none; }
.mode-panel.is-on{ display:block; }
.mode-panel{
  border-top:1px solid var(--line);
  padding-top:16px;
  margin-top:16px;
}
.mode-name{
  font-family:var(--display);
  font-size:16px;
  letter-spacing:.02em;
  color:var(--mode);
  margin:0 0 7px;
}
.mode-desc{
  margin:0;
  color:var(--muted);
  font-size:14.5px;
  line-height:1.78;
  max-width:32em;
}

.hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:26px;
}

.hero-meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px 20px;
  margin-top:30px;
  color:var(--dim);
  font-size:13px;
  letter-spacing:.02em;
}
.hero-meta span{ display:inline-flex; align-items:center; gap:7px; }
.hero-meta span::before{
  content:"";
  width:4px; height:4px;
  background:var(--dim);
  display:block;
}

.hero-visual{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:10px 0 26px;
}
.hero-visual::after{
  content:"";
  position:absolute;
  bottom:6px; left:50%;
  transform:translateX(-50%);
  width:min(300px,74vw);
  height:56px;
  background:radial-gradient(ellipse at 50% 50%, rgba(59,108,255,.28), rgba(6,7,10,0) 70%);
  filter:blur(6px);
  pointer-events:none;
}
.hero-phone{
  position:relative;
  width:min(286px,60vw);
  height:auto;
  transform:rotate(-6deg);
  filter:drop-shadow(0 34px 60px rgba(0,0,0,.72));
}
@media(max-width:639px){
  .hero-phone{ width:min(196px,52vw); }
  .hero-visual{ padding:6px 0 18px; }
}
@media(min-width:940px){
  .hero{ padding:64px 0 56px; }
  .hero-grid{ grid-template-columns:1.04fr .96fr; gap:52px; align-items:center; }
  .hero-phone{ width:min(330px,34vw); }
  .hero-meta{ margin-top:40px; }
}

/* ---------- 区块通用 ---------- */

.sec{
  padding:54px 0;
  border-top:1px solid var(--line-soft);
}
.sec-head{ margin-bottom:28px; }
@media(min-width:900px){
  .sec{ padding:92px 0; }
  .sec-head{ margin-bottom:38px; }
}

/* ---------- 三种方式 ---------- */

.modes{
  display:grid;
  gap:1px;
  background:var(--line-soft);
  border:1px solid var(--line-soft);
}
.mode-cell{
  position:relative;
  background:var(--bg);
  padding:26px 22px 30px;
}
.mode-cell::before{
  content:"";
  position:absolute;
  top:0; left:0;
  width:46px; height:2px;
  background:var(--mode);
}
.mode-cell .tag{
  display:inline-block;
  font-size:12.5px;
  letter-spacing:.06em;
  color:var(--mode);
  border:1px solid var(--mode);
  border-radius:1px;
  padding:2px 7px;
  margin-bottom:14px;
  opacity:.9;
}
.mode-cell .h3{ font-size:16px; }
.mode-cell ul{
  margin:16px 0 0;
  padding:0;
  list-style:none;
}
.mode-cell li{
  display:flex;
  gap:9px;
  font-size:14px;
  color:var(--muted);
  line-height:1.7;
  padding:6px 0;
}
.mode-cell li::before{
  content:"";
  flex:0 0 auto;
  width:5px; height:5px;
  margin-top:7px;
  background:var(--mode);
  opacity:.7;
}
@media(min-width:820px){
  .modes{ grid-template-columns:repeat(3,1fr); }
  .mode-cell{ padding:30px 26px 34px; }
}

/* ---------- 机型卡片 ---------- */

.devices{
  display:grid;
  gap:12px;
  grid-template-columns:repeat(2,1fr);
}
@media(min-width:700px){ .devices{ grid-template-columns:repeat(2,1fr); gap:16px; } }
@media(min-width:1000px){ .devices{ grid-template-columns:repeat(4,1fr); } }

.dev{
  display:flex;
  flex-direction:column;
  background:var(--surface);
  border:1px solid var(--line-soft);
  transition:border-color .18s ease, transform .18s ease;
}
.dev:hover{ border-color:var(--line); transform:translateY(-2px); }

.dev-visual{
  position:relative;
  height:150px;
  display:grid;
  place-items:center;
  overflow:hidden;
  border-bottom:1px solid var(--line-soft);
  background:
    radial-gradient(120% 90% at 50% 0%, rgba(var(--tint),.14), rgba(6,7,10,0) 62%),
    linear-gradient(160deg,#151922,#0c0f15);
}
@media(min-width:1000px){ .dev-visual{ height:168px; } }

.phone-sil{
  position:relative;
  width:58px; height:118px;
  border-radius:13px;
  border:1px solid #333c4f;
  background:linear-gradient(152deg,#2b3346 0%,#161b25 58%,#0b0e14 100%);
  box-shadow:
    0 16px 34px -14px rgba(0,0,0,.9),
    inset 0 0 0 3px rgba(0,0,0,.3);
}
.phone-sil::after{
  content:"";
  position:absolute;
  inset:4px;
  border-radius:10px;
  background:
    linear-gradient(150deg, rgba(var(--tint),.62) 0%, rgba(var(--tint),.16) 42%, rgba(8,10,15,.9) 78%),
    linear-gradient(210deg, rgba(255,255,255,.10), rgba(255,255,255,0) 40%);
}
.phone-sil::before{
  content:"";
  position:absolute;
  top:9px; left:50%;
  transform:translateX(-50%);
  width:20px; height:4px;
  border-radius:2px;
  background:#05070b;
  z-index:2;
}

.dev-body{ padding:15px 15px 17px; display:flex; flex-direction:column; gap:9px; flex:1; }
.dev-name{ font-family:var(--display); font-size:15.5px; letter-spacing:.01em; margin:0; }
.dev-sub{ margin:0; font-size:13.5px; color:var(--muted); line-height:1.6; flex:1; }

.dev-tags{ display:flex; flex-wrap:wrap; gap:5px; }
.pill{
  display:inline-block;
  font-size:12px;
  line-height:1.4;
  padding:3px 7px;
  border:1px solid var(--line);
  border-radius:1px;
  color:var(--muted);
}
.pill.buy{ border-color:rgba(59,108,255,.5); color:#8ba5ff; }
.pill.inst{ border-color:rgba(237,163,59,.5); color:#f0bb72; }
.pill.rent{ border-color:rgba(30,194,166,.5); color:#6fd8c8; }

.dev-more{
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  margin-top:2px;
  min-height:44px;
  padding:11px 0 0 0;
  font-size:13.5px;
  color:var(--fg);
  border-top:1px solid var(--line-soft);
}
.dev-more span{ color:var(--muted); }
.dev-more:hover span{ color:var(--fg); }

/* ---------- 服务承诺（浅色带） ---------- */

.band{
  background:var(--light);
  color:var(--light-ink);
  padding:54px 0 46px;
}
.band .h2{ color:var(--light-ink); margin-bottom:8px; }
.band .sec-sub{ color:var(--light-muted); }

.band-grid{
  display:grid;
  gap:0;
  margin-top:26px;
  border-top:1px solid rgba(11,13,18,.14);
}
.promise{
  padding:20px 0 22px;
  border-bottom:1px solid rgba(11,13,18,.12);
}
.promise .idx{
  font-family:var(--mono);
  font-size:12px;
  letter-spacing:.08em;
  color:#8890a0;
  display:block;
  margin-bottom:8px;
}
.promise h3{
  font-family:var(--display);
  font-weight:600;
  font-size:16px;
  margin:0 0 6px;
  letter-spacing:.01em;
}
.promise p{
  margin:0;
  font-size:14px;
  line-height:1.72;
  color:var(--light-muted);
}
@media(min-width:700px){ .band-grid{ grid-template-columns:repeat(2,1fr); } .promise:nth-child(odd){ padding-right:26px; } .promise:nth-child(even){ padding-left:26px; } }
@media(min-width:1000px){
  .band-grid{ grid-template-columns:repeat(4,1fr); }
  .promise{ padding:24px 22px; border-bottom:0; border-right:1px solid rgba(11,13,18,.12); }
  .promise:first-child{ padding-left:0; }
  .promise:last-child{ padding-right:0; border-right:0; }
}

/* ---------- 到店流程 ---------- */

.steps{
  display:grid;
  gap:26px;
}
@media(min-width:860px){ .steps{ grid-template-columns:repeat(3,1fr); gap:34px; } }

.step{
  display:flex;
  flex-direction:column;
  gap:8px;
  padding-top:18px;
  border-top:1px solid var(--line);
}
.step .no{
  font-family:var(--display);
  font-size:34px;
  line-height:1;
  color:#39415a;
  letter-spacing:.02em;
}
.step h3{
  font-family:var(--display);
  font-size:16px;
  margin:4px 0 0;
  letter-spacing:.01em;
}
.step p{
  margin:0;
  font-size:14px;
  color:var(--muted);
  line-height:1.72;
}

/* ---------- 门店信息 ---------- */

.store{
  display:grid;
  gap:26px;
  padding:28px 22px;
  border:1px solid var(--line-soft);
  background:var(--surface);
}
@media(min-width:820px){ .store{ grid-template-columns:1.15fr .85fr; gap:38px; padding:34px 30px; } }

.store-label{
  font-size:12.5px;
  letter-spacing:.1em;
  color:var(--dim);
  margin:0 0 10px;
}
.store-addr{
  font-family:var(--display);
  font-size:clamp(18px,2.8vw,24px);
  line-height:1.5;
  letter-spacing:.01em;
  margin:0 0 16px;
  color:var(--fg);
}
.store-facts{ margin:0; padding:0; list-style:none; }
.store-facts li{
  display:flex;
  gap:12px;
  padding:9px 0;
  border-bottom:1px solid var(--line-soft);
  font-size:14px;
}
.store-facts li:last-child{ border-bottom:0; }
.store-facts .k{ color:var(--dim); min-width:78px; flex:0 0 auto; }
.store-facts .v{ color:var(--fg); }

/* ---------- 页头（子页面） ---------- */

.page-head{
  position:relative;
  padding:44px 0 30px;
  border-bottom:1px solid var(--line-soft);
  overflow:hidden;
}
.page-head::before{
  content:"";
  position:absolute;
  top:-60%; left:20%;
  width:80%; height:180%;
  background:radial-gradient(circle at 50% 50%, rgba(59,108,255,.12), rgba(59,108,255,0) 60%);
  pointer-events:none;
}
.page-head .h1{
  position:relative;
  font-size:clamp(30px,6.2vw,52px);
  margin-bottom:14px;
}
.page-head .lead{ position:relative; margin:0; }
@media(min-width:900px){ .page-head{ padding:74px 0 44px; } }

/* ---------- 筛选条 ---------- */

.chips{
  display:flex;
  gap:8px;
  overflow-x:auto;
  padding:2px 0 14px;
  scrollbar-width:thin;
}
.chip{
  flex:0 0 auto;
  border:1px solid var(--line);
  background:transparent;
  color:var(--muted);
  min-height:44px;
  padding:0 16px;
  font-size:14px;
  border-radius:2px;
  cursor:pointer;
  transition:color .16s ease,border-color .16s ease,background .16s ease;
}
.chip:hover{ color:var(--fg); border-color:#3a4356; }
.chip.on{
  background:#e9edf5;
  border-color:#e9edf5;
  color:#0a0c11;
  font-weight:600;
}

/* ---------- 机型清单 ---------- */

.ledger{
  display:grid;
  gap:12px;
  grid-template-columns:1fr;
}
@media(min-width:640px){ .ledger{ grid-template-columns:repeat(2,1fr); gap:14px; } }
@media(min-width:1000px){ .ledger{ grid-template-columns:repeat(3,1fr); } }

.pcard{
  display:flex;
  flex-direction:column;
  border:1px solid var(--line-soft);
  background:var(--surface);
  padding:18px 18px 16px;
  transition:border-color .18s ease;
}
.pcard:hover{ border-color:var(--line); }
.pcard .top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  margin-bottom:10px;
}
.pcard .thumb{
  width:44px; height:44px;
  flex:0 0 auto;
  border:1px solid #333c4f;
  border-radius:7px;
  background:
    linear-gradient(150deg, rgba(var(--tint),.6) 0%, rgba(var(--tint),.12) 45%, rgba(8,10,15,.9) 80%);
  position:relative;
}
.pcard .thumb::after{
  content:"";
  position:absolute;
  inset:auto 6px 6px 6px;
  height:2px;
  background:rgba(0,0,0,.5);
  border-radius:2px;
}
.pcard h3{
  font-family:var(--display);
  font-size:16px;
  margin:0 0 4px;
  letter-spacing:.01em;
}
.pcard .kicker{
  font-size:12.5px;
  color:var(--dim);
  letter-spacing:.04em;
}
.pcard p{
  margin:0 0 14px;
  font-size:14px;
  color:var(--muted);
  line-height:1.7;
  flex:1;
}
.pcard .foot{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  border-top:1px solid var(--line-soft);
  padding-top:12px;
}
.pcard .foot .price{
  font-size:13.5px;
  color:var(--dim);
}

/* ---------- 对比表 ---------- */

.table-wrap{
  overflow-x:auto;
  border:1px solid var(--line-soft);
  background:var(--surface);
}
.cmp{
  width:100%;
  min-width:640px;
  border-collapse:collapse;
  table-layout:fixed;
}
.cmp col.c1{ width:22%; }
.cmp col.c2,.cmp col.c3,.cmp col.c4{ width:26%; }
.cmp th,.cmp td{
  padding:14px 16px;
  text-align:left;
  vertical-align:top;
  font-size:14px;
  border-bottom:1px solid var(--line-soft);
  overflow-wrap:anywhere;
}
.cmp thead th{
  font-family:var(--display);
  font-size:15px;
  letter-spacing:.01em;
  border-bottom:1px solid var(--line);
  white-space:nowrap;
}
.cmp thead th:nth-child(2){ color:#8ba5ff; }
.cmp thead th:nth-child(3){ color:#f0bb72; }
.cmp thead th:nth-child(4){ color:#6fd8c8; }
.cmp tbody th{
  color:var(--dim);
  font-weight:400;
  font-size:13.5px;
}
.cmp tbody td{ color:var(--fg); }
.cmp tbody tr:last-child th,
.cmp tbody tr:last-child td{ border-bottom:0; }
.table-note{
  margin:12px 0 0;
  font-size:13px;
  color:var(--dim);
}

/* ---------- 关于我们 ---------- */

.prose{
  max-width:44em;
}
.prose p{
  margin:0 0 16px;
  font-size:15px;
  line-height:1.85;
  color:var(--muted);
}
.prose p strong{ color:var(--fg); font-weight:600; }

.audience{
  display:grid;
  gap:1px;
  background:var(--line-soft);
  border:1px solid var(--line-soft);
}
@media(min-width:760px){ .audience{ grid-template-columns:repeat(3,1fr); } }
.aud{
  background:var(--bg);
  padding:24px 20px;
}
.aud h3{
  font-family:var(--display);
  font-size:16px;
  margin:0 0 8px;
  letter-spacing:.01em;
}
.aud p{
  margin:0;
  font-size:14px;
  color:var(--muted);
  line-height:1.72;
}

/* ---------- 联系页 ---------- */

.contact-grid{
  display:grid;
  gap:34px;
}
@media(min-width:900px){ .contact-grid{ grid-template-columns:.92fr 1.08fr; gap:52px; } }

.info-list{ margin:0; padding:0; list-style:none; }
.info-list li{
  padding:14px 0;
  border-bottom:1px solid var(--line-soft);
}
.info-list .k{
  display:block;
  font-size:12.5px;
  letter-spacing:.04em;
  color:var(--dim);
  margin-bottom:5px;
}
.info-list .v{
  font-size:15px;
  color:var(--fg);
  line-height:1.6;
  word-break:break-word;
}
.info-list .v a:hover{ color:#8ba5ff; }

.form{ display:grid; gap:16px; }
@media(min-width:640px){ .form{ grid-template-columns:repeat(2,1fr); } .form .full{ grid-column:1 / -1; } }

.field{ display:flex; flex-direction:column; gap:6px; }
.field label{
  font-size:13.5px;
  color:var(--muted);
}
.field input,.field select,.field textarea{
  width:100%;
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:2px;
  color:var(--fg);
  font-family:var(--body);
  font-size:16px;
  min-height:48px;
  padding:11px 13px;
}
.field textarea{ min-height:104px; resize:vertical; line-height:1.6; }
.field input::placeholder,.field textarea::placeholder{ color:#5f6979; }
.field input:focus,.field select:focus,.field textarea:focus{
  border-color:#3f5fb0;
  outline:none;
}
.field .hint{ font-size:12.5px; color:var(--dim); }

.form-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:12px;
  margin-top:2px;
}
.form-actions .note{
  font-size:13px;
  color:var(--dim);
  margin:0;
  flex:1 1 220px;
}

.form-out{
  margin-top:20px;
  border:1px solid var(--line);
  background:var(--surface);
  padding:16px;
  display:none;
}
.form-out.on{ display:block; }
.form-out .hd{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:10px;
}
.form-out .hd h3{
  font-family:var(--display);
  font-size:15px;
  margin:0;
  letter-spacing:.01em;
}
.form-out pre{
  margin:0;
  white-space:pre-wrap;
  word-break:break-word;
  font-family:var(--mono);
  font-size:13px;
  line-height:1.75;
  color:var(--muted);
  background:var(--bg-soft);
  border:1px solid var(--line-soft);
  padding:12px;
  max-height:260px;
  overflow:auto;
}

/* ---------- FAQ ---------- */

.faq{ border-top:1px solid var(--line-soft); }
.faq details{
  border-bottom:1px solid var(--line-soft);
  padding:4px 0;
}
.faq summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  min-height:52px;
  cursor:pointer;
  font-size:15px;
  color:var(--fg);
  list-style:none;
}
.faq summary::-webkit-details-marker{ display:none; }
.faq summary .pm{
  flex:0 0 auto;
  width:14px; height:14px;
  position:relative;
  transition:transform .18s ease;
}
.faq summary .pm::before,.faq summary .pm::after{
  content:"";
  position:absolute;
  background:var(--muted);
}
.faq summary .pm::before{ left:0; right:0; top:50%; height:1px; margin-top:-.5px; }
.faq summary .pm::after{ top:0; bottom:0; left:50%; width:1px; margin-left:-.5px; transition:opacity .18s ease; }
.faq details[open] summary .pm::after{ opacity:0; }
.faq details[open] summary .pm{ transform:rotate(180deg); }
.faq .ans{
  padding:2px 30px 16px 0;
  margin:0;
  font-size:14px;
  color:var(--muted);
  line-height:1.78;
}

/* ---------- 页脚 ---------- */

.foot{
  border-top:1px solid var(--line-soft);
  padding:38px 0 28px;
  background:var(--bg-soft);
}
.foot-grid{
  display:grid;
  gap:26px;
}
@media(min-width:820px){ .foot-grid{ grid-template-columns:1.3fr .7fr .7fr; gap:40px; } }

.foot .brand{ font-size:17px; margin-bottom:12px; }
.foot .tagline{
  margin:0 0 16px;
  font-size:14px;
  color:var(--muted);
  line-height:1.75;
  max-width:26em;
}
.foot .faddr{
  margin:0;
  font-size:13px;
  color:var(--dim);
  line-height:1.7;
}
.foot h4{
  font-family:var(--display);
  font-size:13px;
  letter-spacing:.06em;
  color:var(--dim);
  margin:0 0 12px;
  font-weight:600;
}
.foot-list{ margin:0; padding:0; list-style:none; }
.foot-list li{ margin:0 0 9px; }
.foot-list a{
  font-size:14px;
  color:var(--muted);
}
.foot-list a:hover{ color:var(--fg); }

.foot-bottom{
  display:flex;
  flex-wrap:wrap;
  gap:8px 20px;
  justify-content:space-between;
  align-items:center;
  margin-top:30px;
  padding-top:18px;
  border-top:1px solid var(--line-soft);
  font-size:12.5px;
  color:var(--dim);
}

/* ---------- 表单校验反馈 ---------- */

.form-error{
  margin:0;
  font-size:13.5px;
  line-height:1.6;
  color:#ff8878;
  min-height:0;
}
.form-error:empty{ display:none; }
.field input.is-bad,
.field textarea.is-bad{
  border-color:#a8412f;
}

.filter-empty{
  display:none;
  padding:34px 0;
  font-size:14px;
  color:var(--dim);
}

/* ---------- 打印 ---------- */

@media print{
  .nav,.nav-drawer,.hero-visual,.hero-actions,.form-actions{ display:none !important; }
  body{ background:#fff; color:#000; }
  .sec{ padding:18px 0; }
}

/* ---------- 动效克制 ---------- */

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