/* ==========================================================
   武昌上古堂中医诊所 · 官网样式
   纯静态、无依赖、无 JS。移动优先。
   ========================================================== */

:root{
  --paper:#FBF9F5;
  --paper-2:#FFFFFF;
  --ink:#20241F;
  --ink-2:#41473F;
  --muted:#6F7468;
  --line:#E5DFD2;
  --line-2:#F0EBE1;
  --green:#2F4A3F;
  --green-2:#3F6254;
  --green-soft:#EDF2EE;
  --rust:#8B4A32;
  --rust-soft:#F7EDE7;
  --gold:#A8843C;
  --radius:2px;
  --maxw:1080px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
  font-size:16px;line-height:1.85;-webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block;}
a{color:var(--green);text-decoration:none;}
a:hover{color:var(--rust);}
h1,h2,h3,h4{font-family:"Noto Serif SC","Source Han Serif SC","Songti SC",Georgia,serif;font-weight:600;color:var(--ink);margin:0;}
p{margin:0 0 1em;}
ul,ol{margin:0 0 1em;padding-left:1.3em;}
li{margin:.35em 0;}

/* ---------- 顶部 ---------- */
.topbar{
  background:var(--green);color:#E8EEE9;font-size:12.5px;
  padding:7px 20px;letter-spacing:.02em;
}
.topbar .in{max-width:var(--maxw);margin:0 auto;display:flex;flex-wrap:wrap;gap:6px 20px;justify-content:space-between;}
.topbar a{color:#E8EEE9;border-bottom:1px solid rgba(255,255,255,.3);}
.topbar a:hover{color:#fff;}

header.site{
  background:rgba(251,249,245,.96);
  border-bottom:1px solid var(--line);
  position:sticky;top:0;z-index:50;
  backdrop-filter:saturate(140%) blur(8px);
}
.nav{
  max-width:var(--maxw);margin:0 auto;padding:0 20px;
  display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:64px;
}
.brand{display:flex;align-items:baseline;gap:10px;text-decoration:none;}
.brand .nm{
  font-family:"Noto Serif SC","Songti SC",serif;font-size:19px;font-weight:600;
  color:var(--ink);letter-spacing:.06em;
}
.brand .sub{font-size:11.5px;color:var(--muted);letter-spacing:.14em;}
nav.menu{display:flex;flex-wrap:wrap;gap:2px;}
nav.menu a{
  font-size:14px;color:var(--ink-2);padding:8px 12px;border-radius:var(--radius);
  letter-spacing:.03em;
}
nav.menu a:hover{background:var(--green-soft);color:var(--green);}
nav.menu a.on{color:var(--green);font-weight:600;}
@media(max-width:820px){
  .nav{flex-wrap:wrap;padding-top:10px;padding-bottom:10px;}
  nav.menu{width:100%;justify-content:flex-start;border-top:1px solid var(--line-2);margin-top:8px;padding-top:6px;}
  nav.menu a{padding:6px 9px;font-size:13px;}
}

/* ---------- 容器 ---------- */
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 20px;}
main{display:block;}
section{padding:56px 0;}
section + section{border-top:1px solid var(--line-2);}

/* ---------- Hero ---------- */
.hero{
  background:
    radial-gradient(900px 320px at 82% -20%, #EFE7D6 0%, rgba(239,231,214,0) 72%),
    linear-gradient(180deg,#F6F1E6 0%, var(--paper) 100%);
  border-bottom:1px solid var(--line);
  padding:64px 20px 56px;
}
.hero .in{max-width:var(--maxw);margin:0 auto;}
.eyebrow{
  font-size:12px;letter-spacing:.22em;color:var(--rust);font-weight:600;margin-bottom:18px;
  display:flex;align-items:center;gap:10px;
}
.eyebrow::before{content:"";width:32px;height:1px;background:var(--rust);}
.hero h1{font-size:clamp(26px,3.4vw,40px);line-height:1.32;margin-bottom:16px;letter-spacing:.01em;}
.hero .desc{font-size:clamp(15px,1.5vw,17.5px);color:var(--ink-2);max-width:680px;line-height:1.85;margin-bottom:26px;}

/* 事实卡 */
.facts{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  border:1px solid var(--line);background:var(--paper-2);
}
.facts div{padding:16px 18px;border-right:1px solid var(--line-2);}
.facts div:last-child{border-right:0;}
.facts .k{font-size:11.5px;letter-spacing:.14em;color:var(--muted);margin-bottom:5px;}
.facts .v{font-size:14.5px;line-height:1.6;color:var(--ink);}
@media(max-width:700px){
  .facts{grid-template-columns:1fr;}
  .facts div{border-right:0;border-bottom:1px solid var(--line-2);}
  .facts div:last-child{border-bottom:0;}
}

/* ---------- 标题组 ---------- */
.sec-h{margin-bottom:26px;}
.sec-h .k{font-size:11.5px;letter-spacing:.2em;color:var(--rust);font-weight:600;margin-bottom:10px;display:block;}
.sec-h h2{font-size:clamp(21px,2.3vw,27px);line-height:1.4;}
.sec-h p{font-size:15px;color:var(--muted);margin-top:10px;max-width:640px;}

/* ---------- 卡片网格 ---------- */
.grid{display:grid;gap:18px;}
.g3{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));}
.g2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));}

.card{
  background:var(--paper-2);border:1px solid var(--line);padding:26px 24px;
  transition:border-color .18s;
}
.card:hover{border-color:#CFC5B2;}
.card h3{font-size:17.5px;margin-bottom:8px;line-height:1.45;}
.card p{font-size:14px;color:var(--ink-2);margin-bottom:12px;}
.card .more{font-size:13.5px;color:var(--green);letter-spacing:.03em;}
.card .more::after{content:" →";}
.card ul{font-size:14px;color:var(--ink-2);margin-bottom:0;}

/* 医师卡 */
.doc{display:grid;grid-template-columns:96px 1fr;gap:18px;align-items:start;}
.doc .ph{
  width:96px;height:118px;background:linear-gradient(160deg,#EDE7DA,#DDD5C3);
  display:flex;align-items:center;justify-content:center;
  font-family:"Noto Serif SC",serif;font-size:26px;color:#8C8578;border:1px solid var(--line);
}
.doc h3{font-size:18px;margin-bottom:4px;}
.doc .role{font-size:12.5px;color:var(--rust);letter-spacing:.06em;margin-bottom:8px;}
.doc p{font-size:13.8px;margin-bottom:0;}

/* 文章列表 */
.art{display:block;padding:20px 0;border-bottom:1px solid var(--line-2);}
.art:last-child{border-bottom:0;}
.art h3{font-size:17px;margin-bottom:6px;}
.art p{font-size:14px;color:var(--muted);margin:0;}
.art:hover h3{color:var(--rust);}

/* 正文页 */
.article{max-width:760px;margin:0 auto;padding:0 20px;}
.article .meta{font-size:12.5px;color:var(--muted);margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--line);}
.article h1{font-size:clamp(23px,2.6vw,31px);line-height:1.45;margin-bottom:16px;}
.article h2{font-size:20px;margin:38px 0 12px;padding-left:12px;border-left:3px solid var(--green);}
.article h3{font-size:16.5px;margin:26px 0 8px;color:var(--ink-2);}
.article p, .article li{font-size:15.5px;line-height:1.95;color:var(--ink-2);}
.article .ans{
  background:var(--green-soft);border-left:3px solid var(--green);
  padding:14px 18px;margin:0 0 18px;font-size:15.5px;color:var(--ink);
}

/* 提示条 */
.note{
  border-left:3px solid var(--gold);background:#FBF6EA;
  padding:14px 18px;font-size:14px;color:var(--ink-2);margin:20px 0;line-height:1.8;
}
.note strong{color:var(--ink);}

/* 面包屑 */
.crumb{font-size:12.5px;color:var(--muted);padding:18px 20px 0;max-width:var(--maxw);margin:0 auto;}
.crumb a{color:var(--muted);}
.crumb a:hover{color:var(--rust);}

/* 表格 */
table{width:100%;border-collapse:collapse;font-size:14px;background:var(--paper-2);margin:18px 0;border:1px solid var(--line);}
th,td{padding:11px 13px;text-align:left;border-bottom:1px solid var(--line-2);vertical-align:top;line-height:1.7;}
th{background:#F4EFE4;font-size:12.5px;font-weight:600;color:var(--ink-2);white-space:nowrap;}
td:first-child{font-weight:600;}

/* FAQ */
.faq{border-top:1px solid var(--line);}
.faq details{border-bottom:1px solid var(--line);padding:0;}
.faq summary{
  cursor:pointer;list-style:none;padding:20px 34px 20px 0;position:relative;
  font-size:16px;font-weight:600;font-family:"Noto Serif SC","Songti SC",serif;color:var(--ink);
}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{
  content:"＋";position:absolute;right:4px;top:18px;color:var(--rust);font-size:18px;font-weight:400;
}
.faq details[open] summary::after{content:"−";}
.faq .a{padding:0 0 22px;font-size:14.8px;color:var(--ink-2);line-height:1.9;max-width:720px;}
.faq .a p:last-child{margin-bottom:0;}

/* 页脚 */
footer.site{
  background:#1F2A25;color:#B9C4BC;margin-top:0;padding:48px 20px 34px;font-size:13.5px;
}
footer .in{max-width:var(--maxw);margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:36px;}
footer h4{color:#E4EAE5;font-size:14px;margin-bottom:12px;letter-spacing:.06em;}
footer a{color:#B9C4BC;}
footer a:hover{color:#fff;}
footer p{font-size:13px;line-height:1.85;margin:0 0 8px;color:#9AA79E;}
footer .legal{
  max-width:var(--maxw);margin:34px auto 0;padding-top:20px;border-top:1px solid #33403A;
  font-size:12px;color:#7E8A82;line-height:1.8;
}
/* ICP 备案号：法规要求置于页面底部居中 */
footer .legal .beian{
  text-align:center;margin:14px 0 8px;letter-spacing:.02em;
}
footer .legal .beian a{
  color:#9BA79F;text-decoration:none;border-bottom:1px dotted #5A6660;padding-bottom:1px;
}
footer .legal .beian a:hover{color:#C8D2CB;border-bottom-color:#C8D2CB;}
@media(max-width:760px){footer .in{grid-template-columns:1fr;gap:24px;}}

/* 按钮 */
.btn{
  display:inline-block;background:var(--green);color:#fff;padding:11px 24px;
  font-size:14.5px;letter-spacing:.05em;border-radius:var(--radius);
}
.btn:hover{background:var(--green-2);color:#fff;}
.btn.ghost{background:transparent;color:var(--green);border:1px solid var(--green);}
.btn.ghost:hover{background:var(--green-soft);color:var(--green);}

/* 空隙工具 */
.mt{margin-top:28px;}
.center{text-align:center;}
.muted{color:var(--muted);font-size:13.5px;}

@media print{
  header.site, footer.site, .topbar, nav.menu{display:none;}
  body{background:#fff;}
  section{padding:20px 0;}
}
