:root{
    --main:#64748b;
    --accent:#94a3b8;
    --bg:#f1f5f9;
    --text:#1e293b;
    --card:#ffffff;
    --soft:#e2e8f0;
    --radius-lg:24px;
    --radius-md:18px;
    --radius-sm:14px;
    --shadow-soft:0 8px 30px rgba(100,116,139,.12);
    --shadow-hover:0 18px 46px rgba(100,116,139,.24);
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    background:var(--bg);
    color:var(--text);
    font-family:'Inter','PingFang SC','Hiragino Sans GB','Microsoft YaHei',sans-serif;
    line-height:1.9;
    font-size:16px;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  h1,h2,h3,h4,.round-font{
    font-family:'Inter','PingFang SC','Microsoft YaHei',sans-serif;
    font-weight:800;
    letter-spacing:.3px;
    line-height:1.45;
    color:var(--text);
  }
  a{text-decoration:none;}
  .wrap{max-width:1180px;margin:0 auto;padding:0 20px;}

  /* ---------- 导航 ---------- */
  .site-nav{
    position:fixed;top:0;left:0;right:0;z-index:1000;
    background:rgba(241,245,249,.55);
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
    border-bottom:1px solid rgba(148,163,184,.22);
    transition:background .35s ease,box-shadow .35s ease,border-color .35s ease;
  }
  .site-nav.scrolled{
    background:rgba(255,255,255,.94);
    box-shadow:0 10px 30px rgba(100,116,139,.14);
    border-bottom-color:rgba(148,163,184,.42);
  }
  .nav-inner{
    max-width:1180px;margin:0 auto;padding:14px 20px;
    display:flex;align-items:center;justify-content:space-between;gap:16px;
  }
  .brand{
    display:inline-flex;align-items:center;gap:9px;
    font-weight:900;font-size:1.24rem;color:var(--text);
    letter-spacing:.5px;
  }
  .brand .brand-dot{
    width:34px;height:34px;border-radius:12px;
    background:linear-gradient(135deg,var(--main),var(--accent));
    display:inline-flex;align-items:center;justify-content:center;
    color:#fff;font-size:.95rem;
    box-shadow:0 6px 16px rgba(100,116,139,.35);
    flex:0 0 auto;
  }
  .nav-links{display:flex;align-items:center;gap:4px;flex-wrap:wrap;}
  .nav-links a{
    color:#334155;font-weight:600;font-size:.94rem;
    padding:8px 14px;border-radius:12px;
    transition:background .25s ease,color .25s ease,transform .25s ease;
  }
  .nav-links a:hover{background:rgba(148,163,184,.2);color:var(--main);transform:translateY(-1px);}
  .nav-links a.active{background:var(--main);color:#fff;}
  .nav-toggle{
    display:none;background:#fff;border:1px solid rgba(148,163,184,.4);
    color:var(--main);width:44px;height:44px;border-radius:14px;
    font-size:1.05rem;cursor:pointer;
  }

  /* ---------- 装饰几何块 ---------- */
  .geo{position:absolute;pointer-events:none;z-index:0;}
  .geo-circle{border-radius:50%;background:rgba(148,163,184,.28);}
  .geo-square{border-radius:18px;background:rgba(100,116,139,.16);}
  .geo-tri{
    width:0;height:0;background:transparent;
    border-left:26px solid transparent;
    border-right:26px solid transparent;
    border-bottom:44px solid rgba(148,163,184,.3);
  }

  /* ---------- Hero ---------- */
  .hero{
    position:relative;overflow:hidden;
    padding:150px 0 90px;
    background:linear-gradient(120deg,#e9eef5 0%,#f1f5f9 46%,#e4ebf3 100%);
    min-height:88vh;
    display:flex;align-items:center;
  }
  .hero-parallax{
    position:absolute;inset:-12% -5% -12% -5%;z-index:0;
    will-change:transform;
  }
  .hero-grid{
    position:relative;z-index:2;
    display:grid;grid-template-columns:1.05fr .95fr;gap:44px;align-items:center;
  }
  .hero-left{position:relative;z-index:2;}
  .hero-panel{
    background:rgba(255,255,255,.72);
    border:1px solid rgba(148,163,184,.3);
    border-radius:var(--radius-lg);
    padding:22px 24px;
    box-shadow:var(--shadow-soft);
    backdrop-filter:blur(6px);
  }
  .eyebrow{
    display:inline-flex;align-items:center;gap:8px;
    background:rgba(100,116,139,.12);
    color:var(--main);
    font-size:.82rem;font-weight:700;letter-spacing:1.4px;
    padding:7px 15px;border-radius:999px;margin-bottom:18px;
  }
  .hero h1{
    font-size:clamp(2rem,4.2vw,3.05rem);
    margin:0 0 18px;
    letter-spacing:1px;
  }
  .hero h1 .hl{
    color:var(--main);
    background:linear-gradient(180deg,transparent 62%,rgba(148,163,184,.45) 62%);
    padding:0 3px;
    border-radius:4px;
  }
  .hero p.lead-txt{
    font-size:1.03rem;color:#475569;max-width:540px;margin-bottom:26px;
    line-height:1.95;
  }
  .btn-main{
    display:inline-flex;align-items:center;gap:9px;
    background:var(--main);color:#fff;font-weight:700;
    padding:14px 30px;border-radius:16px;border:none;
    box-shadow:0 12px 26px rgba(100,116,139,.34);
    transition:transform .28s ease,box-shadow .28s ease,background .28s ease;
    font-size:.98rem;
  }
  .btn-main:hover{color:#fff;background:#556274;transform:translateY(-3px);box-shadow:0 18px 38px rgba(100,116,139,.42);}
  .btn-ghost{
    display:inline-flex;align-items:center;gap:9px;
    background:#fff;color:var(--main);font-weight:700;
    padding:14px 28px;border-radius:16px;
    border:1px solid rgba(100,116,139,.32);
    box-shadow:0 6px 18px rgba(100,116,139,.1);
    transition:transform .28s ease,box-shadow .28s ease,background .28s ease;
    font-size:.98rem;margin-left:10px;
  }
  .btn-ghost:hover{background:#eef2f7;color:var(--main);transform:translateY(-3px);box-shadow:0 14px 30px rgba(100,116,139,.2);}

  /* 关键词标签云 */
  .tagcloud{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px;max-width:560px;}
  .tagcloud .tag{
    background:#fff;
    border:1px solid rgba(148,163,184,.36);
    color:#475569;
    font-size:.84rem;font-weight:600;
    padding:7px 15px;border-radius:999px;
    box-shadow:0 4px 12px rgba(100,116,139,.08);
    animation:tagFloat 6s ease-in-out infinite;
    transition:background .25s ease,color .25s ease,transform .25s ease;
    cursor:default;
  }
  .tagcloud .tag:hover{background:var(--main);color:#fff;transform:translateY(-3px) scale(1.04);}
  .tagcloud .tag:nth-child(2n){animation-delay:.8s;}
  .tagcloud .tag:nth-child(3n){animation-delay:1.6s;}
  .tagcloud .tag:nth-child(4n){animation-delay:2.4s;}
  @keyframes tagFloat{0%,100%{transform:translateY(0);}50%{transform:translateY(-6px);}}

  /* Hero 右侧卡片双色块 */
  .hero-right{position:relative;z-index:2;}
  .split-card{
    display:grid;grid-template-columns:1fr 1fr;gap:16px;
  }
  .mini-cover{
    background:#fff;border-radius:var(--radius-md);
    overflow:hidden;
    box-shadow:var(--shadow-soft);
    border:1px solid rgba(226,232,240,.9);
    transition:transform .3s ease,box-shadow .3s ease;
  }
  .mini-cover:hover{transform:translateY(-6px);box-shadow:var(--shadow-hover);}
  .mini-cover img{width:100%;height:168px;object-fit:cover;display:block;background:var(--soft);}
  .mini-cover .meta{padding:12px 14px 14px;}
  .mini-cover .meta b{display:block;font-size:.92rem;margin-bottom:4px;color:var(--text);}
  .mini-cover .meta span{font-size:.76rem;color:var(--accent);font-weight:600;letter-spacing:.4px;}
  .mini-cover.offset{margin-top:26px;}

  /* ---------- 通用区块 ---------- */
  section.block{position:relative;padding:84px 0;}
  .sec-head{max-width:720px;margin:0 auto 46px;text-align:center;position:relative;z-index:2;}
  .sec-head .kicker{
    display:inline-block;font-size:.8rem;font-weight:800;
    letter-spacing:2.4px;color:var(--main);
    background:rgba(148,163,184,.2);
    padding:6px 16px;border-radius:999px;margin-bottom:14px;
  }
  .sec-head h2{font-size:clamp(1.5rem,2.7vw,2.1rem);margin:0 0 12px;}
  .sec-head p{color:#64748b;font-size:.98rem;margin:0;line-height:1.9;}

  /* ---------- 步骤条 ---------- */
  .steps{position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
  .step{
    background:#fff;border-radius:var(--radius-md);
    padding:26px 22px 24px;
    box-shadow:var(--shadow-soft);
    border:1px solid rgba(226,232,240,.9);
    position:relative;
    transition:transform .3s ease,box-shadow .3s ease;
  }
  .step:hover{transform:translateY(-6px);box-shadow:var(--shadow-hover);}
  .step .num{
    width:44px;height:44px;border-radius:14px;
    background:linear-gradient(135deg,var(--main),var(--accent));
    color:#fff;font-weight:900;font-size:1.05rem;
    display:flex;align-items:center;justify-content:center;
    margin-bottom:16px;
    box-shadow:0 8px 18px rgba(100,116,139,.3);
  }
  .step h3{font-size:1.02rem;margin:0 0 8px;}
  .step p{font-size:.9rem;color:#64748b;margin:0;line-height:1.85;}
  .step::after{
    content:'';
    position:absolute;top:48px;right:-14px;width:14px;height:2px;
    background:rgba(148,163,184,.55);
  }
  .step:last-child::after{display:none;}

  /* ---------- 特色卡片网格 ---------- */
  .feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;position:relative;z-index:2;}
  .feature-card{
    background:#fff;border-radius:var(--radius-md);
    padding:28px 26px;
    box-shadow:var(--shadow-soft);
    border:1px solid rgba(226,232,240,.9);
    transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;
    position:relative;overflow:hidden;
  }
  .feature-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-hover);border-color:rgba(148,163,184,.6);}
  .feature-card .ico{
    width:52px;height:52px;border-radius:16px;
    background:rgba(148,163,184,.2);
    color:var(--main);font-size:1.28rem;
    display:flex;align-items:center;justify-content:center;
    margin-bottom:18px;
  }
  .feature-card h3{font-size:1.08rem;margin:0 0 10px;}
  .feature-card p{font-size:.92rem;color:#64748b;margin:0;line-height:1.9;}
  .feature-card .chip{
    display:inline-block;margin-top:16px;font-size:.74rem;font-weight:700;
    letter-spacing:.8px;color:var(--main);
    background:rgba(100,116,139,.1);padding:4px 12px;border-radius:999px;
  }

  /* ---------- 长文区 ---------- */
  .longread{
    background:#fff;border-radius:var(--radius-lg);
    padding:clamp(28px,4vw,56px);
    box-shadow:var(--shadow-soft);
    border:1px solid rgba(226,232,240,.9);
    position:relative;z-index:2;
  }
  .longread h2{font-size:clamp(1.45rem,2.5vw,1.9rem);margin:0 0 18px;}
  .longread h3{font-size:1.1rem;margin:30px 0 10px;color:var(--main);}
  .longread p{color:#475569;font-size:.97rem;line-height:2.05;margin:0 0 16px;}
  .longread .quote{
    border-left:4px solid var(--accent);
    background:#f8fafc;
    border-radius:0 var(--radius-sm) var(--radius-sm) 0;
    padding:18px 22px;margin:24px 0;
    color:#475569;font-size:.94rem;line-height:1.95;
  }
  .longread ul{padding-left:20px;color:#475569;font-size:.95rem;line-height:2;}
  .longread ul li{margin-bottom:6px;}

  /* ---------- FAQ ---------- */
  .faq-list{max-width:880px;margin:0 auto;position:relative;z-index:2;}
  .faq-item{
    background:#fff;border-radius:var(--radius-md);
    box-shadow:var(--shadow-soft);
    border:1px solid rgba(226,232,240,.9);
    margin-bottom:14px;overflow:hidden;
    transition:box-shadow .3s ease;
  }
  .faq-item:hover{box-shadow:var(--shadow-hover);}
  .faq-q{
    width:100%;background:none;border:none;text-align:left;
    padding:20px 56px 20px 24px;
    font-weight:700;font-size:1rem;color:var(--text);
    cursor:pointer;position:relative;line-height:1.7;
  }
  .faq-q::after{
    content:'\f078';
    font-family:'Font Awesome 6 Free';font-weight:900;
    position:absolute;right:24px;top:50%;transform:translateY(-50%);
    color:var(--accent);font-size:.82rem;
    transition:transform .3s ease,color .3s ease;
  }
  .faq-item.open .faq-q::after{transform:translateY(-50%) rotate(180deg);color:var(--main);}
  .faq-a{max-height:0;overflow:hidden;transition:max-height .4s ease;}
  .faq-a p{margin:0;padding:0 24px 22px;color:#64748b;font-size:.93rem;line-height:1.95;}

  /* ---------- CTA ---------- */
  .cta-band{
    position:relative;overflow:hidden;
    background:linear-gradient(125deg,#5c6a7d 0%,#64748b 46%,#8494a8 100%);
    border-radius:var(--radius-lg);
    padding:clamp(38px,5vw,64px);
    color:#fff;text-align:center;
    box-shadow:0 24px 60px rgba(100,116,139,.35);
  }
  .cta-band h2{color:#fff;font-size:clamp(1.5rem,3vw,2.1rem);margin:0 0 14px;}
  .cta-band p{color:rgba(255,255,255,.86);font-size:.98rem;max-width:620px;margin:0 auto 28px;line-height:1.95;}
  .cta-band .btn-white{
    display:inline-flex;align-items:center;gap:9px;
    background:#fff;color:var(--main);font-weight:800;
    padding:15px 34px;border-radius:16px;
    box-shadow:0 14px 30px rgba(30,41,59,.24);
    transition:transform .28s ease,box-shadow .28s ease;
    font-size:.98rem;
  }
  .cta-band .btn-white:hover{transform:translateY(-3px);box-shadow:0 20px 42px rgba(30,41,59,.32);color:var(--main);}
  .cta-band .geo{opacity:.5;}

  /* ---------- 友链 & 页脚 ---------- */
  .friend-links{
    margin-top:70px;padding:34px 30px;
    background:#fff;border-radius:var(--radius-md);
    border:1px solid rgba(226,232,240,.9);
    box-shadow:var(--shadow-soft);
  }
  .friend-links h4{
    font-size:1rem;margin:0 0 14px;
    display:flex;align-items:center;gap:9px;color:var(--main);
  }
  .friend-links .fl-body{color:#64748b;font-size:.9rem;line-height:1.95;word-break:break-all;}
  .site-footer{
    background:#e7edf4;
    border-top:1px solid rgba(148,163,184,.3);
    padding:56px 0 30px;
    margin-top:70px;
  }
  .footer-grid{
    display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:34px;
  }
  .footer-grid h5{font-size:.94rem;font-weight:800;margin:0 0 16px;color:var(--text);}
  .footer-grid p{font-size:.88rem;color:#64748b;line-height:1.95;margin:0;}
  .footer-grid ul{list-style:none;padding:0;margin:0;}
  .footer-grid ul li{margin-bottom:9px;}
  .footer-grid ul li a{font-size:.88rem;color:#64748b;transition:color .22s ease,padding-left .22s ease;}
  .footer-grid ul li a:hover{color:var(--main);padding-left:4px;}
  .footer-bottom{
    margin-top:40px;padding-top:22px;
    border-top:1px solid rgba(148,163,184,.34);
    display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;
    font-size:.82rem;color:#7c8ba1;
  }
  .footer-brand-line{display:inline-flex;align-items:center;gap:9px;font-weight:800;color:var(--text);}

  /* ---------- 响应式 ---------- */
  @media (max-width:991px){
    .hero{padding:120px 0 70px;min-height:auto;}
    .hero-grid{grid-template-columns:1fr;gap:38px;}
    .steps{grid-template-columns:repeat(2,1fr);}
    .step::after{display:none;}
    .feature-grid{grid-template-columns:repeat(2,1fr);}
    .footer-grid{grid-template-columns:1fr 1fr;}
    .nav-links{
      display:none;position:absolute;top:100%;left:0;right:0;
      background:rgba(255,255,255,.98);
      flex-direction:column;align-items:stretch;
      padding:12px 18px 18px;gap:4px;
      box-shadow:0 18px 36px rgba(100,116,139,.18);
      border-bottom-left-radius:18px;border-bottom-right-radius:18px;
    }
    .nav-links.show{display:flex;}
    .nav-links a{padding:12px 14px;}
    .nav-toggle{display:inline-flex;align-items:center;justify-content:center;}
  }
  @media (max-width:575px){
    .steps{grid-template-columns:1fr;}
    .feature-grid{grid-template-columns:1fr;}
    .footer-grid{grid-template-columns:1fr;}
    .btn-ghost{margin-left:0;margin-top:12px;}
    .hero-panel{padding:18px;}
    .mini-cover img{height:140px;}
    .split-card{gap:12px;}
    .footer-bottom{flex-direction:column;align-items:flex-start;}
  }

/* --- 子页面追加 --- */
/* 本页专属少量补充样式，复用站点变量与类名 */
  .guide-lead {max-width:760px;margin:0 auto;text-align:center;}
.guide-block {background:var(--card);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);padding:34px 32px;margin-bottom:26px;transition:box-shadow .3s ease,transform .3s ease;}
.guide-block:hover {box-shadow:var(--shadow-hover);transform:translateY(-3px);}
.guide-block h2 {font-size:1.5rem;font-weight:800;color:var(--text);margin-bottom:14px;letter-spacing:-.01em;}
.guide-block h3 {font-size:1.12rem;font-weight:700;color:var(--text);margin:20px 0 10px;}
.guide-block p {color:#475569;line-height:1.85;margin-bottom:12px;font-size:.98rem;}
.guide-block ul {color:#475569;line-height:1.9;font-size:.96rem;padding-left:0;list-style:none;margin-bottom:6px;}
.guide-block ul li {position:relative;padding-left:26px;margin-bottom:8px;}
.guide-block ul li::before {content:"\f058";font-family:"Font Awesome 6 Free";font-weight:900;color:var(--main);position:absolute;left:0;top:2px;font-size:.85rem;}
.guide-note {background:var(--soft);border-left:4px solid var(--main);border-radius:var(--radius-sm);padding:16px 20px;color:#475569;font-size:.94rem;line-height:1.8;margin:16px 0;}
.guide-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;margin-top:8px;}
.guide-mini {background:var(--bg);border-radius:var(--radius-md);padding:20px 20px 18px;border:1px solid var(--soft);}
.guide-mini i {font-size:1.35rem;color:var(--main);margin-bottom:10px;display:block;}
.guide-mini h4 {font-size:1rem;font-weight:700;color:var(--text);margin-bottom:6px;}
.guide-mini p {font-size:.9rem;color:#64748b;line-height:1.7;margin:0;}
.faq-item h4 {font-size:1rem;font-weight:700;color:var(--text);margin-bottom:6px;}
.faq-item h4 i {color:var(--main);margin-right:8px;font-size:.9rem;}
.faq-item p {font-size:.93rem;color:#64748b;line-height:1.8;margin:0;}
.toc-bar {display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:22px 0 8px;}
.toc-bar a {background:var(--card);color:var(--main);border:1px solid var(--soft);border-radius:999px;padding:9px 18px;font-size:.88rem;font-weight:600;text-decoration:none;transition:all .25s ease;box-shadow:var(--shadow-soft);}
.toc-bar a:hover {background:var(--main);color:#fff;transform:translateY(-2px);box-shadow:var(--shadow-hover);}
.guide-block {padding:24px 20px;}
.guide-block h2 {font-size:1.3rem;}

/* --- 子页面追加 --- */
/* 本页专属：排行榜说明的少量补充样式，沿用站点配色变量 */
  .rank-hero-note {
    display:flex; flex-wrap:wrap; gap:10px; margin-top:18px;
  }
.rank-hero-note span {
    background:var(--card); color:var(--main);
    border:1px solid var(--soft); border-radius:999px;
    padding:7px 16px; font-size:.85rem; font-weight:600;
    box-shadow:var(--shadow-soft);
  }
.board-grid {
    display:grid; grid-template-columns:repeat(3,1fr); gap:20px;
  }
.board-card {
    background:var(--card); border-radius:var(--radius-md);
    padding:26px 24px; box-shadow:var(--shadow-soft);
    border:1px solid var(--soft); transition:.28s ease;
    display:flex; flex-direction:column;
  }
.board-card:hover {
    transform:translateY(-6px); box-shadow:var(--shadow-hover);
  }
.board-icon {
    width:52px; height:52px; border-radius:var(--radius-sm);
    background:var(--soft); color:var(--main);
    display:flex; align-items:center; justify-content:center;
    font-size:1.3rem; margin-bottom:16px;
  }
.board-card h3 {
    font-size:1.1rem; font-weight:800; color:var(--text); margin-bottom:10px;
  }
.board-card p {
    color:var(--main); font-size:.92rem; line-height:1.75; margin-bottom:14px;
  }
.board-meta {
    margin-top:auto; padding-top:14px; border-top:1px dashed var(--soft);
    font-size:.82rem; color:var(--accent); font-weight:600;
    display:flex; justify-content:space-between; gap:10px;
  }
.rule-table {
    width:100%; border-collapse:separate; border-spacing:0;
    background:var(--card); border-radius:var(--radius-md);
    overflow:hidden; box-shadow:var(--shadow-soft); border:1px solid var(--soft);
  }
.rule-table th, .rule-table td {
    padding:16px 20px; text-align:left; font-size:.92rem;
    border-bottom:1px solid var(--soft); color:var(--text);
  }
.rule-table th {
    background:var(--soft); color:var(--main); font-weight:800;
    font-size:.85rem; letter-spacing:.02em;
  }
.rule-table tr:last-child td { border-bottom:none; }
.rule-table td:first-child { font-weight:700; color:var(--main); white-space:nowrap; }
.rule-wrap { overflow-x:auto; }
.weight-list { display:flex; flex-direction:column; gap:16px; }
.weight-item {
    background:var(--card); border-radius:var(--radius-sm);
    padding:18px 22px; box-shadow:var(--shadow-soft); border:1px solid var(--soft);
  }
.weight-top {
    display:flex; justify-content:space-between; align-items:center;
    margin-bottom:10px; font-weight:700; color:var(--text); font-size:.95rem;
  }
.weight-top b { color:var(--main); font-size:.88rem; font-weight:800; }
.bar {
    height:10px; border-radius:999px; background:var(--soft); overflow:hidden;
  }
.bar span { display:block; height:100%; border-radius:999px;
    background:linear-gradient(90deg,var(--main),var(--accent)); }
.weight-item p { margin:10px 0 0; color:var(--main); font-size:.86rem; line-height:1.7; }
.faq-item h3 {
    font-size:1rem; font-weight:800; color:var(--text); margin-bottom:8px;
    display:flex; gap:10px; align-items:flex-start;
  }
.faq-item h3 i { color:var(--accent); margin-top:3px; font-size:.9rem; }
.tip-box {
    background:var(--card); border-left:5px solid var(--main);
    border-radius:var(--radius-sm); padding:22px 26px;
    box-shadow:var(--shadow-soft); color:var(--main);
    font-size:.93rem; line-height:1.85;
  }
.tip-box strong { color:var(--text); }
.board-grid { grid-template-columns:1fr; }

/* --- 子页面追加 --- */
/* 本页专属少量样式，尽量复用站点变量与类名 */
  .about-hero {padding:64px 0 40px;}
.about-hero h1 {font-size:clamp(28px,4.4vw,46px);font-weight:800;line-height:1.2;margin:14px 0 16px;color:var(--text);}
.about-hero p.lead {max-width:720px;color:var(--main);font-size:17px;line-height:1.85;margin:0;}
.about-sec {padding:52px 0;}
.about-sec h2 {font-size:clamp(22px,3vw,30px);font-weight:800;color:var(--text);margin-bottom:10px;}
.about-sec .sub {color:var(--main);font-size:15.5px;line-height:1.8;max-width:760px;margin-bottom:28px;}
.info-card {background:var(--card);border:1px solid var(--soft);border-radius:var(--radius-md);box-shadow:var(--shadow-soft);padding:26px 24px;height:100%;transition:.28s ease;}
.info-card:hover {transform:translateY(-4px);box-shadow:var(--shadow-hover);}
.info-card .ico {width:46px;height:46px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;background:var(--soft);color:var(--main);font-size:19px;margin-bottom:16px;}
.info-card h3 {font-size:17.5px;font-weight:700;color:var(--text);margin-bottom:10px;line-height:1.45;}
.info-card p {font-size:14.5px;line-height:1.85;color:var(--main);margin:0;}
.tl {position:relative;padding-left:30px;}
.tl::before {content:"";position:absolute;left:8px;top:6px;bottom:6px;width:2px;background:var(--soft);border-radius:2px;}
.tl-item {position:relative;padding:0 0 26px 0;}
.tl-item:last-child {padding-bottom:0;}
.tl-item::before {content:"";position:absolute;left:-26px;top:6px;width:12px;height:12px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px var(--bg);}
.tl-item h4 {font-size:16px;font-weight:700;color:var(--text);margin:0 0 8px;}
.tl-item p {font-size:14.5px;line-height:1.85;color:var(--main);margin:0;}
.stat-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;}
.stat {background:var(--card);border:1px solid var(--soft);border-radius:var(--radius-sm);padding:20px 18px;text-align:center;box-shadow:var(--shadow-soft);}
.stat b {display:block;font-size:26px;font-weight:800;color:var(--text);line-height:1.2;}
.stat span {display:block;font-size:13px;color:var(--main);margin-top:6px;}
.rule-list {list-style:none;padding:0;margin:0;}
.rule-list li {background:var(--card);border:1px solid var(--soft);border-radius:var(--radius-sm);padding:16px 18px;margin-bottom:12px;font-size:14.5px;line-height:1.8;color:var(--main);display:flex;gap:12px;}
.rule-list li i {color:var(--accent);margin-top:4px;flex:0 0 auto;}
.rule-list li b {color:var(--text);}
.cta-band h3 {font-size:20px;font-weight:800;color:var(--text);margin:0 0 8px;}
.about-hero {padding:44px 0 28px;}
.about-sec {padding:38px 0;}

/* --- 子页面追加 --- */
.page-hero {padding:64px 0 28px;}
.page-hero h1 {font-size:clamp(1.7rem,3.6vw,2.6rem);font-weight:800;line-height:1.25;letter-spacing:-.5px;margin:14px 0 12px;}
.page-hero p.lead {color:var(--main);max-width:760px;font-size:1.02rem;line-height:1.85;}
.legal-wrap {padding:12px 0 72px;}
.legal-card {background:var(--card);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);padding:clamp(22px,4vw,44px);}
.legal-card + .legal-card {margin-top:26px;}
.legal-card h2 {font-size:clamp(1.2rem,2.4vw,1.5rem);font-weight:800;letter-spacing:-.3px;margin-bottom:16px;display:flex;align-items:center;gap:12px;}
.legal-card h2 .num {display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;flex:0 0 34px;border-radius:12px;background:var(--soft);color:var(--main);font-size:.9rem;font-weight:800;}
.legal-card h3 {font-size:1.02rem;font-weight:700;margin:22px 0 10px;color:var(--text);}
.legal-card p,.legal-card li {color:#334155;line-height:1.9;font-size:.96rem;}
.legal-card p {margin-bottom:12px;}
.legal-card ul {padding-left:1.15rem;margin-bottom:12px;}
.legal-card li {margin-bottom:8px;}
.legal-card a {color:var(--main);text-decoration:underline;text-underline-offset:3px;}
.legal-card a:hover {color:var(--text);}
.note-box {background:var(--bg);border-left:4px solid var(--accent);border-radius:var(--radius-sm);padding:16px 18px;margin:16px 0;}
.note-box p:last-child {margin-bottom:0;}
.quick-nav {display:flex;flex-wrap:wrap;gap:10px;margin:6px 0 30px;}
.quick-nav a {display:inline-block;padding:9px 16px;border-radius:999px;background:var(--card);box-shadow:var(--shadow-soft);color:var(--main);font-size:.86rem;font-weight:600;text-decoration:none;transition:.25s;}
.quick-nav a:hover {box-shadow:var(--shadow-hover);color:var(--text);transform:translateY(-2px);}
.update-tag {display:inline-flex;align-items:center;gap:8px;font-size:.82rem;color:var(--main);background:var(--card);padding:8px 16px;border-radius:999px;box-shadow:var(--shadow-soft);font-weight:600;}
.page-hero {padding:44px 0 18px;}
.legal-card h2 .num {width:30px;height:30px;flex:0 0 30px;}

/* --- 子页面追加 --- */
.contact-wrap { padding: 8px 0 0; }
.contact-hero { padding: 48px 0 28px; }
.contact-hero h1 { font-size: clamp(28px, 4.2vw, 44px); line-height: 1.22; font-weight: 800; color: var(--text); margin: 14px 0 16px; letter-spacing: -.5px; }
.contact-hero p.lead { color: var(--main); font-size: 16.5px; line-height: 1.85; max-width: 720px; }
.chan-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 8px; }
.chan-card { background: var(--card); border-radius: var(--radius-md); padding: 26px 22px; box-shadow: var(--shadow-soft); border: 1px solid var(--soft); transition: transform .28s ease, box-shadow .28s ease; display: flex; flex-direction: column; height: 100%; }
.chan-card:hover { transform: translateY(-5px); box-shadow: var(--shadow-hover); }
.chan-ico { width: 46px; height: 46px; border-radius: 14px; display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg, var(--main), var(--accent)); color: #fff; font-size: 19px; margin-bottom: 16px; }
.chan-card h3 { font-size: 17px; font-weight: 700; color: var(--text); margin: 0 0 10px; }
.chan-card p { font-size: 14px; line-height: 1.8; color: var(--main); margin: 0 0 14px; }
.chan-mail { margin-top: auto; font-size: 13.5px; font-weight: 600; color: var(--text); background: var(--bg); border: 1px dashed var(--soft); border-radius: 10px; padding: 9px 12px; word-break: break-all; }
.chan-mail i { color: var(--main); margin-right: 6px; }
.sla { display: inline-block; font-size: 12px; font-weight: 600; color: var(--main); background: var(--soft); border-radius: 999px; padding: 3px 10px; margin-bottom: 12px; }
.form-shell { background: var(--card); border-radius: var(--radius-lg); box-shadow: var(--shadow-soft); border: 1px solid var(--soft); padding: 30px 28px; }
.form-shell h2 { font-size: 20px; font-weight: 800; color: var(--text); margin: 0 0 8px; }
.form-shell .sub { font-size: 13.5px; color: var(--main); margin-bottom: 22px; line-height: 1.7; }
.fld { margin-bottom: 16px; }
.fld label { display: block; font-size: 13px; font-weight: 600; color: var(--text); margin-bottom: 7px; }
.fld input, .fld select, .fld textarea { width: 100%; background: var(--bg); color: var(--text); border: 1px solid var(--soft); border-radius: 12px; padding: 11px 14px; font-size: 14px; font-family: inherit; outline: none; transition: border-color .2s ease, box-shadow .2s ease; }
.fld input::placeholder, .fld textarea::placeholder { color: #a7b2c2; }
.fld input:focus, .fld select:focus, .fld textarea:focus { border-color: var(--main); box-shadow: 0 0 0 3px rgba(100,116,139,.14); }
.fld textarea { min-height: 128px; resize: vertical; }
.form-note { font-size: 12.5px; line-height: 1.75; color: var(--main); background: var(--bg); border-radius: 12px; padding: 12px 14px; margin-bottom: 18px; }
.form-ok { display: none; background: var(--soft); border-radius: 12px; padding: 16px 18px; font-size: 14px; color: var(--text); line-height: 1.75; margin-top: 16px; }
.form-ok.show { display: block; }
.side-card { background: var(--card); border-radius: var(--radius-md); box-shadow: var(--shadow-soft); border: 1px solid var(--soft); padding: 22px; margin-bottom: 18px; }
.side-card h3 { font-size: 15px; font-weight: 700; color: var(--text); margin: 0 0 14px; display: flex; align-items: center; gap: 8px; }
.side-card h3 i { color: var(--main); }
.side-list { list-style: none; padding: 0; margin: 0; }
.side-list li { font-size: 13.5px; line-height: 1.75; color: var(--main); padding: 9px 0; border-bottom: 1px dashed var(--soft); display: flex; gap: 9px; }
.side-list li:last-child { border-bottom: none; }
.side-list li i { color: var(--main); font-size: 12px; margin-top: 4px; flex-shrink: 0; }
.sec-title { font-size: clamp(21px, 2.6vw, 28px); font-weight: 800; color: var(--text); letter-spacing: -.3px; margin: 0 0 10px; }
.sec-sub { font-size: 14.5px; line-height: 1.85; color: var(--main); max-width: 700px; margin: 0 0 26px; }
.mini-cover i { color: #fff; font-size: 20px; }
.badge-row { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 20px; }
.soft-badge { font-size: 12.5px; font-weight: 600; color: var(--main); background: var(--card); border: 1px solid var(--soft); border-radius: 999px; padding: 6px 14px; box-shadow: var(--shadow-soft); }
.chan-grid { grid-template-columns: repeat(2, 1fr); }
.chan-grid { grid-template-columns: 1fr; }
.form-shell { padding: 24px 18px; }
.contact-hero { padding: 30px 0 18px; }