/* 芝麻开门志愿通 · 官网样式（纯静态，无 JS 依赖） */
:root{
  --ink:#152238; --ink-2:#3c4a63; --ink-3:#6b7891;
  --line:#e3e8f0; --bg:#ffffff; --bg-soft:#f5f8fc; --bg-band:#eef4fb;
  --brand:#1a4f8a; --brand-2:#2f7dc4; --accent:#c8452f;
  --radius:10px; --wrap:1080px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; background:var(--bg); color:var(--ink);
  font-family:"Microsoft YaHei","PingFang SC","Hiragino Sans GB","Source Han Sans SC",system-ui,-apple-system,"Segoe UI",sans-serif;
  font-size:16px; line-height:1.85;
}
a{color:var(--brand-2); text-decoration:none}
a:hover{text-decoration:underline}
.wrap{max-width:var(--wrap); margin:0 auto; padding:0 20px}
.skip{position:absolute; left:-9999px}

/* 页头 */
.site-header{border-bottom:1px solid var(--line); background:#fff; position:sticky; top:0; z-index:20}
.header-inner{display:flex; align-items:center; justify-content:space-between; gap:24px; padding:14px 20px; flex-wrap:wrap}
.logo{display:flex; flex-direction:column; gap:2px}
.logo-name{font-size:21px; font-weight:700; color:var(--brand); letter-spacing:.5px}
.logo-tag{font-size:11.5px; color:var(--ink-3); letter-spacing:.2px}
.nav{display:flex; list-style:none; margin:0; padding:0; gap:4px; flex-wrap:wrap}
.nav>li{position:relative; padding:6px 2px}
.nav>li>a{display:block; padding:4px 11px; border-radius:6px; color:var(--ink-2); font-size:15px}
.nav>li.active>a,.nav>li:hover>a{background:var(--bg-band); color:var(--brand); text-decoration:none}
.subnav{list-style:none; margin:0; padding:0; position:absolute; top:100%; left:0; min-width:180px; background:#fff;
  border:1px solid var(--line); border-radius:var(--radius); box-shadow:0 8px 24px rgba(21,34,56,.08); display:none; z-index:30}
.subnav li a{display:block; padding:8px 14px; font-size:14px; color:var(--ink-2)}
.subnav li a:hover{background:var(--bg-soft); text-decoration:none}
.nav>li:hover .subnav{display:block}

/* 正文 */
main{padding:22px 20px 40px}
.crumbs{font-size:13px; color:var(--ink-3); margin:6px 0 18px}
.crumbs a{color:var(--ink-3)}
.crumbs .sep{margin:0 8px; color:#c3ccda}
h1{font-size:29px; line-height:1.42; margin:0 0 14px; letter-spacing:.3px}
h2{font-size:21px; margin:34px 0 12px; padding-left:12px; border-left:4px solid var(--brand-2); line-height:1.5}
h3{font-size:17px; margin:22px 0 8px; color:var(--ink)}
p{margin:10px 0}
.lead{font-size:17px; color:var(--ink-2); background:var(--bg-soft); border-left:3px solid var(--brand);
  padding:14px 18px; border-radius:0 var(--radius) var(--radius) 0; margin:0 0 22px}
ul,ol{padding-left:22px}
li{margin:6px 0}
table{width:100%; border-collapse:collapse; margin:16px 0; font-size:15px}
th,td{border:1px solid var(--line); padding:10px 12px; text-align:left; vertical-align:top}
th{background:var(--bg-band); font-weight:600; color:var(--ink)}
.block{margin:30px 0}
.note{background:var(--bg-soft); border:1px solid var(--line); border-radius:var(--radius); padding:14px 18px; font-size:14.5px; color:var(--ink-2)}
.steps{counter-reset:s; list-style:none; padding:0}
.steps>li{counter-increment:s; position:relative; padding:8px 0 8px 46px; margin:0}
.steps>li::before{content:counter(s); position:absolute; left:0; top:8px; width:30px; height:30px; border-radius:50%;
  background:var(--brand); color:#fff; font-size:14px; display:flex; align-items:center; justify-content:center}
.cards{display:grid; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); gap:14px; margin:18px 0}
.card{border:1px solid var(--line); border-radius:var(--radius); padding:16px 18px; background:#fff}
.card h3{margin:0 0 6px; font-size:16.5px}
.card p{margin:6px 0 0; font-size:14.5px; color:var(--ink-3)}
.card a.more{font-size:14px}

/* 首页横幅 */
.hero{background:linear-gradient(135deg,#1a4f8a,#2f7dc4); color:#fff; border-radius:14px; padding:38px 34px; margin:4px 0 26px}
.hero h1{color:#fff; margin:0 0 12px; font-size:31px}
.hero p{margin:0; font-size:16.5px; color:#e6f0fa}
.hero .hero-sub{margin-top:14px; font-size:14.5px; color:#cfe2f5}
.entry{display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:14px; margin:20px 0}
.entry a{display:block; border:1px solid var(--line); border-radius:var(--radius); padding:18px 20px; background:#fff; color:var(--ink)}
.entry a:hover{border-color:var(--brand-2); box-shadow:0 6px 18px rgba(26,79,138,.09); text-decoration:none}
.entry strong{display:block; font-size:17px; color:var(--brand); margin-bottom:6px}
.entry span{font-size:14px; color:var(--ink-3)}

/* 问答 */
.qa{border:1px solid var(--line); border-radius:var(--radius); margin:10px 0; background:#fff}
.qa summary{cursor:pointer; padding:13px 18px; font-weight:600; color:var(--ink); list-style:none}
.qa summary::marker{display:none}
.qa summary::-webkit-details-marker{display:none}
.qa summary::before{content:"Q "; color:var(--brand-2); font-weight:700}
.qa[open] summary{border-bottom:1px solid var(--line)}
.qa .ans{padding:12px 18px 16px; color:var(--ink-2); font-size:15.2px}

.related ul{font-size:15px}
.cta{background:var(--bg-band); border-radius:var(--radius); padding:20px 24px}
.cta h2{margin-top:0; border:0; padding-left:0}
.btn{display:inline-block; background:var(--brand); color:#fff; padding:9px 20px; border-radius:8px; font-size:15px; margin:6px 10px 0 0}
.btn:hover{background:#153f6f; text-decoration:none; color:#fff}
.btn.ghost{background:#fff; color:var(--brand); border:1px solid var(--brand-2)}

/* 页脚 */
.site-footer{background:#122a47; color:#c3d3e6; margin-top:40px; font-size:14.5px}
.footer-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:26px; padding:36px 20px 24px}
.site-footer h2.f-title{font-size:15px; color:#fff; border:0; padding:0; margin:0 0 12px}
.site-footer p{margin:6px 0; line-height:1.7}
.f-pos{color:#8fb2d6}
.site-footer ul{list-style:none; padding:0; margin:0}
.site-footer li{margin:7px 0}
.site-footer a{color:#c3d3e6}
.footer-bottom{border-top:1px solid #22405f; padding:14px 20px 30px; font-size:13px; color:#8fa6c0}
.footer-bottom p{margin:4px 0}
@media(max-width:820px){
  .footer-grid{grid-template-columns:1fr 1fr}
  h1{font-size:24px} .hero h1{font-size:24px}
  .header-inner{gap:10px}
}
