/* Tianzhi page styles, build: 20260630-fixes-v4 */
:root{--ink:#10234a;--muted:#61708a;--blue:#2563ff;--orange:#f06a24;--green:#16a34a;--gold:#ffb43d;--line:#dbe7f8;--card:#fff;--bg:#f5f8ff;--shadow:0 18px 44px rgba(33,70,135,.12);--shadow2:0 10px 26px rgba(33,70,135,.08);--max:1120px;--sans:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif}
*{box-sizing:border-box}html{background:#f7fbff}body{margin:0;min-height:100vh;font-family:var(--sans);color:var(--ink);background:radial-gradient(circle at 13% 7%,rgba(255,205,89,.25),transparent 26%),radial-gradient(circle at 85% 12%,rgba(112,184,255,.25),transparent 30%),linear-gradient(180deg,#eff6ff 0%,#fbfdff 55%,#fffdf7 100%);overflow-x:hidden}a{color:inherit}.page{width:min(var(--max),calc(100vw - 28px));margin:0 auto}.home-hero{display:grid;grid-template-columns:1.02fr .98fr;align-items:center;gap:30px;margin:18px auto 0;padding:clamp(22px,4.6vw,48px);border-radius:34px;background:rgba(255,255,255,.74);border:1px solid rgba(219,231,248,.92);box-shadow:var(--shadow);overflow:hidden;position:relative}.home-hero::before{content:"";position:absolute;inset:auto -10% -45% auto;width:440px;height:440px;background:radial-gradient(circle,rgba(255,184,64,.20),transparent 63%);pointer-events:none}.hero-copy{position:relative;z-index:1}.eyebrow{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:#ecf8f1;color:#2f7a67;font-size:14px;font-weight:900;letter-spacing:.06em}h1{margin:16px 0 12px;font-size:clamp(38px,6.5vw,66px);line-height:1.04;letter-spacing:-.05em;color:#122b55}.slogan{font-size:clamp(22px,3.3vw,36px);font-weight:950;line-height:1.28;margin:0 0 18px}.slogan .s1{color:var(--blue)}.slogan .s2{color:var(--orange)}.slogan .s3{color:var(--green)}.subtitle{display:inline-flex;padding:11px 17px;border-radius:999px;background:rgba(255,255,255,.68);border:1px solid rgba(37,99,255,.14);box-shadow:0 8px 24px rgba(35,88,170,.08);font-size:clamp(16px,2.1vw,21px);font-weight:900;color:#294b7f;line-height:1.6}.hero-img,.page-hero-img{display:block;width:100%;height:auto;border-radius:28px;box-shadow:0 16px 40px rgba(29,64,125,.16);position:relative;z-index:1}.home-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:26px 0 0}.home-card{display:block;padding:20px 18px;border-radius:24px;background:rgba(255,255,255,.86);border:1px solid var(--line);box-shadow:var(--shadow2);text-decoration:none;transition:transform .18s,box-shadow .18s}.home-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.home-card .icon{width:48px;height:48px;display:grid;place-items:center;border-radius:15px;background:linear-gradient(135deg,#f0f6ff,#fff7e4);font-size:24px;margin-bottom:12px}.home-card h2{font-size:20px;margin:0 0 7px;color:#12315f}.home-card p{margin:0;color:var(--muted);font-weight:700;line-height:1.6;font-size:14px}.explain{margin:28px 0 0;padding:28px;border-radius:30px;background:linear-gradient(135deg,rgba(255,255,255,.88),rgba(248,253,245,.88));border:1px solid rgba(219,231,248,.92);box-shadow:var(--shadow2)}.explain-title{font-size:clamp(24px,3.8vw,36px);font-weight:950;margin:0 0 18px;color:#14346a}.three{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.three-card{padding:20px;border-radius:22px;background:#fff;border:1px solid rgba(219,231,248,.9)}.three-card b{display:block;font-size:24px;margin-bottom:8px}.three-card:nth-child(1) b{color:var(--blue)}.three-card:nth-child(2) b{color:var(--orange)}.three-card:nth-child(3) b{color:var(--green)}.three-card span{display:block;color:var(--muted);line-height:1.8;font-weight:800}.page-hero{display:grid;grid-template-columns:.95fr 1.05fr;align-items:center;gap:24px;margin:18px auto 24px;padding:clamp(22px,4vw,42px);border-radius:34px;background:rgba(255,255,255,.78);border:1px solid var(--line);box-shadow:var(--shadow)}.page-hero .label{display:inline-flex;padding:8px 13px;border-radius:999px;background:#fff5dc;color:#8a6318;font-size:14px;font-weight:900;letter-spacing:.06em}.page-title{font-size:clamp(34px,5.6vw,58px);margin:15px 0 14px;line-height:1.08;letter-spacing:-.04em}.page-lead{font-size:clamp(16px,2.2vw,21px);line-height:1.85;color:#51617a;font-weight:750;margin:0}.article{display:grid;grid-template-columns:minmax(0,1fr);gap:18px}.section{padding:clamp(22px,3.6vw,34px);border-radius:28px;background:rgba(255,255,255,.86);border:1px solid var(--line);box-shadow:var(--shadow2)}.section h2{font-size:clamp(23px,3.6vw,34px);margin:0 0 14px;color:#1f7f72}.section h3{font-size:22px;margin:20px 0 10px;color:#193b76}.section p{font-size:clamp(16px,2.1vw,19px);line-height:2;color:#243653;font-weight:650;margin:0 0 13px}.section ul,.section ol{margin:10px 0 0;padding-left:1.35em;color:#243653;font-size:clamp(16px,2.1vw,19px);line-height:2;font-weight:650}.quote{font-size:clamp(18px,2.4vw,23px)!important;font-weight:900!important;color:#12315f!important;padding:18px 20px;border-left:6px solid var(--gold);background:#fff8e8;border-radius:18px;margin:12px 0!important}.img-strip{display:grid;grid-template-columns:1fr 1fr;gap:16px}.img-strip img{width:100%;height:auto;border-radius:26px;box-shadow:var(--shadow2);display:block}.notice-card{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:stretch}.notice-card .big{padding:26px;border-radius:26px;background:#fff8e7;border:1px dashed rgba(255,171,52,.55)}.notice-card .big strong{display:block;font-size:clamp(24px,4vw,38px);line-height:1.25;color:#c86910;margin-bottom:12px}.notice-card .big span{color:#614d25;font-weight:850;line-height:1.9;font-size:18px}.profile-box{display:grid;grid-template-columns:1fr .9fr;gap:20px;align-items:center}.profile-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 20px;border-radius:999px;background:linear-gradient(180deg,#2c6bff,#1d4dcc);color:#fff;text-decoration:none;font-weight:900;box-shadow:0 10px 22px rgba(37,99,255,.18)}.btn.secondary{background:#fff;color:#174075;border:1px solid var(--line);box-shadow:none}@media(max-width:900px){.home-hero,.page-hero,.profile-box{grid-template-columns:1fr}.home-cards{grid-template-columns:repeat(2,1fr)}.three{grid-template-columns:1fr}.notice-card{grid-template-columns:1fr}}@media(max-width:560px){.page{width:min(var(--max),calc(100vw - 22px))}.home-hero,.page-hero{border-radius:26px;padding:20px 16px;text-align:center}.subtitle{border-radius:22px}.home-cards{gap:10px}.home-card{padding:16px 13px;border-radius:20px}.home-card h2{font-size:17px}.home-card p{font-size:12px}.home-card .icon{width:42px;height:42px;font-size:22px;margin:0 auto 10px}.explain,.section{padding:20px 16px;border-radius:24px}.img-strip{grid-template-columns:1fr;gap:12px}.page-hero-img,.hero-img,.img-strip img{border-radius:20px}}

/* build: 20260630-fixes-v4 compact homepage refinements */
.home-hero{margin-top:8px;padding:clamp(18px,3.2vw,34px);gap:clamp(16px,2.8vw,26px)}
.home-hero h1{margin:4px 0 8px;}
.home-hero .slogan{margin-bottom:10px;}
.home-hero .subtitle{font-weight:760;color:#41618d;background:rgba(255,255,255,.52);padding:9px 15px;box-shadow:0 5px 16px rgba(35,88,170,.06)}
.home-cards{margin-top:20px}.hero-img{align-self:center}
.tz-page-footer{white-space:nowrap;}
@media(max-width:560px){
  .home-hero{margin-top:6px;padding:16px 14px 18px;text-align:center;border-radius:24px;gap:12px;}
  .home-hero h1{font-size:clamp(34px,9.2vw,42px);margin:2px 0 6px;line-height:1.02;}
  .home-hero .slogan{font-size:clamp(22px,6vw,28px);margin-bottom:8px;line-height:1.18;}
  .home-hero .subtitle{font-size:clamp(14px,4vw,17px);line-height:1.45;padding:8px 13px;margin:0 auto;border-radius:20px;}
  .home-hero .hero-img{margin-top:8px;}
  .home-cards{margin-top:16px;}
  .tz-page-footer{width:100%;padding:18px 4px 24px;font-size:clamp(12px,3.25vw,14px);line-height:1.55;}
}


/* build: 20260630-fixes-v4 homepage card and mobile nav refinements */
.home-cards{gap:14px;margin-top:18px}
.home-card{position:relative;min-height:132px;padding:22px 18px 20px 24px;border-radius:26px;background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(250,254,255,.88));border:1px solid rgba(219,231,248,.92);box-shadow:0 16px 34px rgba(34,74,136,.10);overflow:hidden;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.home-card::before{content:"";position:absolute;left:0;top:18px;bottom:18px;width:5px;border-radius:999px;background:linear-gradient(180deg,#ffd46b,#ffab32,#f28b24);box-shadow:0 0 18px rgba(255,177,58,.28)}
.home-card::after{content:"";position:absolute;right:-34px;top:-34px;width:98px;height:98px;border-radius:50%;background:radial-gradient(circle,rgba(255,191,79,.18),transparent 64%);pointer-events:none}
.card-icon{width:52px;height:52px;border-radius:18px;display:grid;place-items:center;margin-bottom:12px;background:linear-gradient(135deg,#fff7df,#eef7ff);box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 10px 18px rgba(34,74,136,.08)}
.card-icon svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:3.1;stroke-linecap:round;stroke-linejoin:round}
.icon-about{color:#d98b18;background:linear-gradient(135deg,#fff3cf,#fffaf0)}
.icon-guide{color:#2870d9;background:linear-gradient(135deg,#eaf4ff,#fff)}
.icon-notice{color:#e29316;background:linear-gradient(135deg,#fff0d8,#fffaf1)}
.icon-profile{color:#3d8a72;background:linear-gradient(135deg,#e9fff6,#fff)}
.home-card h2{font-size:clamp(19px,2vw,22px);margin:0;color:#12315f;letter-spacing:-.02em}.home-card p{display:none!important}
@media(max-width:760px){
  body.tz-home-mobile-bottom-only{padding-top:0!important}
  body.tz-home-mobile-bottom-only .tz-global-nav-wrap{display:none!important}
}
@media(max-width:560px){
  .home-cards{gap:12px;margin-top:14px}
  .home-card{min-height:126px;padding:18px 14px 17px 20px;border-radius:22px;align-items:flex-start;text-align:left}
  .home-card::before{top:16px;bottom:16px;width:4px}.card-icon{width:46px;height:46px;border-radius:16px;margin-bottom:10px}.card-icon svg{width:27px;height:27px}.home-card h2{font-size:19px;line-height:1.15}
}


/* build: 20260630-fixes-v4 typography and subpage image refinements */
body{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;}
h1,.page-title,.home-card h2,.section h2,.section h3,.slogan,.subtitle{font-weight:760;letter-spacing:-.025em;}
.page-lead,.section p,.section li,.home-card h2{font-weight:650;}
.quote{font-weight:720!important;}
.img-strip.single{grid-template-columns:1fr;}
.img-strip.single img{width:100%;}
@media(max-width:560px){
  .page-hero{text-align:left;}
  .page-hero .label{align-self:flex-start;}
  .page-title{font-size:clamp(31px,8.5vw,42px);}
  .page-lead{font-size:clamp(15px,4.2vw,17px);line-height:1.82;font-weight:620;}
  .section p,.section li{font-size:clamp(15px,4vw,17px);font-weight:600;}
  .home-card h2{font-weight:740;}
}


/* build: 20260630-fixes-v5 桌面端首页纵向构图（消灭下半屏空洞，页脚坐底） */
@media(min-width:761px){
  body.tz-home-mobile-bottom-only{display:flex;flex-direction:column}
  body.tz-home-mobile-bottom-only .page{
    flex:1 0 auto;display:flex;flex-direction:column;justify-content:center;min-height:0;
  }
  body.tz-home-mobile-bottom-only .home-hero{margin-top:0}
  /* 内容在视口余量内垂直居中，页脚自然落到底部；超高屏也均衡留白 */
  body.tz-home-mobile-bottom-only .tz-page-footer{margin-top:clamp(28px,4vh,56px)}
}
@media(min-width:1180px){
  /* 大屏给主视觉与卡片更舒展的呼吸感 */
  body.tz-home-mobile-bottom-only .home-hero{padding:clamp(34px,3vw,46px)}
  body.tz-home-mobile-bottom-only .home-cards{margin-top:24px;gap:18px}
}

/* build: manual-fix-20260701 about/subpage typography force override
   Put this block at the VERY END of /assets/tianzhi-page.css.
   It uses high-specificity selectors and !important so it overrides earlier .section h2 rules. */
body .page .article .section h2,
body main.page article.article section.section h2 {
  font-size: clamp(24px, 3.2vw, 36px) !important;
  line-height: 1.34 !important;
  font-weight: 760 !important;
  letter-spacing: -0.018em !important;
  color: #1f7f72 !important;
  margin: 0 0 16px !important;
}

body .page .article .section p,
body main.page article.article section.section p {
  font-size: clamp(17px, 1.75vw, 21px) !important;
  line-height: 1.95 !important;
  font-weight: 610 !important;
  letter-spacing: -0.006em !important;
  color: #243653 !important;
}

body .page .article .section,
body main.page article.article section.section {
  padding: clamp(24px, 3.4vw, 36px) !important;
}

body .page .page-lead,
body main.page .page-lead {
  font-size: clamp(17px, 1.9vw, 22px) !important;
  line-height: 1.86 !important;
  font-weight: 620 !important;
}

@media (max-width: 560px) {
  body .page .article .section h2,
  body main.page article.article section.section h2 {
    font-size: clamp(21px, 5.6vw, 27px) !important;
    line-height: 1.36 !important;
  }

  body .page .article .section p,
  body main.page article.article section.section p {
    font-size: clamp(15px, 4vw, 17px) !important;
    line-height: 1.9 !important;
    font-weight: 600 !important;
  }
}
