:root{
  --bg:#ffffff;--soft:#f8fafc;--title:#12325f;--text:#111111;--body:#334155;--muted:#64748b;--line:#dbe3ef;
  --brand:#e31b23;--shadow:0 18px 38px rgba(18,50,95,.08);--radius:22px;
}
*{box-sizing:border-box} html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--body);font:16px/1.75 "Microsoft YaHei","PingFang SC",sans-serif}
img{max-width:100%;height:auto;display:block} a{text-decoration:none;color:inherit}
.wrap{width:min(1100px,calc(100% - 32px));margin:0 auto}
.site-header{position:sticky;top:0;z-index:20;background:#fff;border-bottom:1px solid var(--line)}
.nav-row{min-height:72px;display:flex;align-items:center;gap:18px}.brand img{height:34px;width:auto;object-fit:contain}
.nav{margin-left:auto;display:flex;gap:20px}.nav a{font-size:14px;color:#47637f}.menu-toggle{display:none;margin-left:auto;border:0;background:transparent;padding:0}.menu-toggle span{display:block;width:24px;height:2px;margin:5px 0;background:#111}
.hero{padding:52px 0;background:linear-gradient(180deg,#fff,#f7fafc)} .hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center}
.eyebrow{margin:0;font-size:12px;font-weight:800;letter-spacing:.18em;color:var(--brand)}
.hero-copy h1,.section-head h2,.cta-box h2{margin:10px 0 16px;line-height:1.16;color:var(--title)} .hero-copy h1{font-size:clamp(34px,4.4vw,54px)}
.node-board,.relation-image,.entry-stack article,.path-grid article,.faq-item,.cta-box{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
.node-board{position:relative;min-height:320px;background:
  radial-gradient(circle at center, rgba(227,27,35,.08), transparent 30%),
  linear-gradient(180deg,#fff,#f7fbff)}
.node-board::before,.node-board::after{content:'';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:#d7e4f5}
.node-board::before{width:2px;height:190px}.node-board::after{width:220px;height:2px}
.node{position:absolute;min-width:110px;padding:12px 16px;border-radius:999px;text-align:center;background:#fff;border:1px solid var(--line);font-weight:700;color:var(--title)}
.center{left:50%;top:50%;transform:translate(-50%,-50%);border-color:#f2c0c3}
.top{left:50%;top:22px;transform:translateX(-50%)} .left{left:22px;top:50%;transform:translateY(-50%)} .right{right:22px;top:50%;transform:translateY(-50%)} .bottom{left:50%;bottom:22px;transform:translateX(-50%)}
.section{padding:66px 0}.section-soft,.section-faq{background:var(--soft)}
.section-head{max-width:760px;margin-bottom:24px}.section-head p{margin:0;color:var(--muted)}
.relation-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:center}.relation-image{margin:0;padding:18px}.relation-image img{width:100%;object-fit:contain}
.entry-stack{display:grid;gap:14px}.entry-stack article{padding:20px 22px;border-left:4px solid var(--brand)} .entry-stack strong{display:block;color:var(--title);margin-bottom:6px}.entry-stack span{color:var(--muted)}
.path-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.path-grid article{padding:22px}.path-grid span{display:inline-flex;width:42px;height:42px;align-items:center;justify-content:center;border-radius:14px;background:#fff1f2;color:var(--brand);font-weight:800;margin-bottom:12px}
.path-grid h3{margin:0 0 10px;color:var(--title)} .path-grid p{margin:0;color:var(--muted)}
.faq-rail{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.faq-item{overflow:hidden}
.faq-question{width:100%;display:flex;justify-content:space-between;gap:18px;padding:18px 20px;border:0;background:transparent;color:var(--title);font:inherit;font-weight:700;text-align:left;cursor:pointer}
.faq-question b{color:var(--brand);font-size:24px}.faq-answer{display:none;padding:0 20px 18px;color:var(--muted)}.faq-item.open .faq-answer{display:block}
.search-links{display:flex;flex-wrap:wrap;gap:12px}.search-links span{padding:12px 16px;border-radius:999px;background:#fff;border:1px solid var(--line);color:#3e5c7d}
.cta-section{padding:24px 0 72px}.cta-box{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:28px;background:linear-gradient(90deg,#fff,#f4f8fd)}
.btn{display:inline-flex;min-height:48px;align-items:center;justify-content:center;padding:0 22px;border-radius:999px;background:var(--brand);color:#fff;font-weight:700}
@media (max-width:980px){
  .hero-grid,.relation-grid,.path-grid,.faq-rail{grid-template-columns:1fr}
  .nav{display:none;width:100%;order:4;flex-direction:column;padding-bottom:16px}.nav.open{display:flex}
  .menu-toggle{display:block}.nav-row{flex-wrap:wrap}.cta-box{flex-direction:column;align-items:flex-start}.node-board{min-height:380px}
}
@media (max-width:640px){.wrap{width:min(100% - 24px,1100px)}.section{padding:52px 0}.hero-copy h1{font-size:34px}.node{min-width:96px;padding:10px 12px;font-size:14px}.node-board::after{width:170px}}

.site-logo,
.logo img,
.brand img,
.header-logo img,
.nav-logo img {
  display: block;
  width: auto !important;
  height: auto !important;
  max-height: 40px !important;
  max-width: 180px !important;
  object-fit: contain !important;
}

.brand,
.logo,
.header-logo,
.nav-logo {
  overflow: visible !important;
}

.site-header .brand,
header .brand,
header .logo,
header .header-logo,
header .nav-logo {
  min-height: 40px;
  display: inline-flex;
  align-items: center;
}
