:root{
    --plum:#9f1239;
    --pink:#e11d48;
    --bg:#fafafa;
    --ink:#3f0a1a;
    --ink-soft:#6b3345;
    --line:#3f0a1a;
    --paper:#ffffff;
  }
  *{border-radius:0 !important;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    background:var(--bg);
    color:var(--ink);
    font-family:'Inter','Segoe UI','Microsoft YaHei',sans-serif;
    font-weight:400;
    line-height:1.95;
    letter-spacing:.01em;
    overflow-x:hidden;
  }
  .geo-layer{
    position:fixed;inset:0;
    pointer-events:none;z-index:0;
    overflow:hidden;
  }
  .geo-layer i{position:absolute;display:block;opacity:.10;}
  .geo-layer .c1{width:220px;height:220px;background:var(--pink);border-radius:50% !important;top:8%;left:-70px;}
  .geo-layer .s1{width:120px;height:120px;background:var(--plum);top:38%;right:-40px;transform:rotate(18deg);}
  .geo-layer .t1{width:0;height:0;border-left:70px solid transparent;border-right:70px solid transparent;border-bottom:120px solid var(--pink);bottom:14%;left:4%;opacity:.08;}
  .geo-layer .c2{width:300px;height:300px;background:var(--plum);border-radius:50% !important;bottom:-120px;right:8%;opacity:.07;}
  .geo-layer .s2{width:90px;height:90px;background:var(--pink);top:66%;left:22%;transform:rotate(40deg);opacity:.08;}

  #progressBar{
    position:fixed;top:0;left:0;height:5px;width:0;
    background:var(--pink);z-index:2000;border-bottom:1px solid var(--line);
  }

  .wrap{position:relative;z-index:2;}

  /* NAV */
  .topnav{
    background:var(--bg);
    border-bottom:3px solid var(--line);
    position:sticky;top:0;z-index:1500;
  }
  .topnav .inner{
    max-width:1120px;margin:0 auto;padding:14px 20px;
    display:flex;align-items:center;justify-content:space-between;gap:16px;
  }
  .brand{
    font-weight:900;font-size:1.35rem;letter-spacing:.02em;
    color:var(--plum);text-decoration:none;
    border:3px solid var(--line);
    padding:4px 12px;background:var(--paper);
    box-shadow:5px 5px 0 var(--plum);
    white-space:nowrap;
  }
  .navlinks{
    display:flex;gap:4px;flex-wrap:wrap;list-style:none;margin:0;padding:0;
  }
  .navlinks a{
    display:block;padding:6px 12px;font-size:.9rem;font-weight:600;
    color:var(--ink);text-decoration:none;border:2px solid transparent;
    transition:.18s ease;
  }
  .navlinks a:hover{
    border-color:var(--line);background:var(--paper);
    box-shadow:3px 3px 0 var(--pink);color:var(--plum);
  }
  .burger{
    display:none;background:var(--paper);border:3px solid var(--line);
    color:var(--plum);font-size:1.05rem;padding:5px 11px;cursor:pointer;
    box-shadow:4px 4px 0 var(--plum);
  }

  @media(max-width:900px){
    .burger{display:block;}
    .navlinks{
      display:none;width:100%;flex-direction:column;margin-top:12px;
      border-top:3px solid var(--line);padding-top:10px;
    }
    .navlinks.open{display:flex;}
    .topnav .inner{flex-wrap:wrap;}
  }

  /* HERO */
  .hero{padding:70px 20px 56px;border-bottom:3px solid var(--line);}
  .hero-inner{max-width:1000px;margin:0 auto;}
  .stat-lead{
    display:flex;flex-wrap:wrap;gap:36px;align-items:flex-end;
    margin-bottom:38px;
  }
  .big-num{
    font-family:'Inter',monospace;
    font-weight:900;font-size:clamp(3.4rem,11vw,6.5rem);
    line-height:.9;color:var(--plum);
    letter-spacing:-.03em;
    text-shadow:6px 6px 0 rgba(225,29,72,.18);
  }
  .big-num small{display:block;font-size:.28em;letter-spacing:.14em;color:var(--pink);font-weight:800;}
  .hero-copy{flex:1;min-width:260px;}
  .hero h1{
    font-weight:900;font-size:clamp(1.7rem,4.4vw,2.7rem);
    line-height:1.35;margin:0 0 16px;color:var(--ink);
    letter-spacing:-.01em;
  }
  .hero h1 em{
    font-style:normal;background:var(--plum);color:#fff;
    padding:0 8px;display:inline-block;
  }
  .hero p{color:var(--ink-soft);max-width:640px;margin:0 0 24px;}
  .btn-hard{
    display:inline-block;font-weight:800;font-size:.96rem;
    padding:12px 26px;text-decoration:none;
    border:3px solid var(--line);
    background:var(--plum);color:#fff;
    box-shadow:6px 6px 0 var(--pink);
    transition:.16s ease;
  }
  .btn-hard:hover{transform:translate(3px,3px);box-shadow:2px 2px 0 var(--pink);color:#fff;}
  .btn-ghost{
    display:inline-block;font-weight:800;font-size:.96rem;
    padding:12px 26px;text-decoration:none;margin-left:14px;
    border:3px solid var(--line);
    background:var(--paper);color:var(--plum);
    box-shadow:6px 6px 0 var(--plum);
    transition:.16s ease;
  }
  .btn-ghost:hover{transform:translate(3px,3px);box-shadow:2px 2px 0 var(--plum);color:var(--plum);}

  section{padding:64px 20px;border-bottom:3px solid var(--line);}
  .col{max-width:1040px;margin:0 auto;}
  .kicker{
    display:inline-block;font-family:'Inter',monospace;
    font-size:.76rem;font-weight:800;letter-spacing:.22em;
    color:var(--pink);border:2px solid var(--line);
    padding:3px 10px;background:var(--paper);margin-bottom:16px;
  }
  h2.sec{
    font-weight:900;font-size:clamp(1.4rem,3vw,1.95rem);
    margin:0 0 14px;color:var(--ink);letter-spacing:-.01em;line-height:1.4;
  }
  .sub{color:var(--ink-soft);max-width:700px;margin-bottom:38px;}

  /* 卡片网格 */
  .card-grid{
    display:grid;grid-template-columns:repeat(3,1fr);gap:22px;
  }
  @media(max-width:860px){.card-grid{grid-template-columns:repeat(2,1fr);}}
  @media(max-width:560px){.card-grid{grid-template-columns:1fr;}}
  .fx{
    border:3px solid var(--line);background:var(--paper);
    padding:24px 22px;box-shadow:7px 7px 0 rgba(159,18,57,.85);
    transition:.18s ease;
  }
  .fx:hover{transform:scale(1.025);border-color:var(--pink);box-shadow:9px 9px 0 var(--pink);}
  .fx .ic{
    font-family:'Inter',monospace;font-weight:900;font-size:1.5rem;
    color:var(--pink);display:block;margin-bottom:12px;
  }
  .fx h3{font-size:1.08rem;font-weight:800;margin:0 0 10px;color:var(--ink);}
  .fx p{font-size:.92rem;color:var(--ink-soft);margin:0;}

  /* 步骤条 */
  .steps{position:relative;padding-left:6px;}
  .step{
    display:flex;gap:22px;padding:22px 0;
    border-bottom:2px dashed rgba(63,10,26,.28);
  }
  .step:last-child{border-bottom:0;}
  .step .no{
    flex:0 0 58px;height:58px;display:flex;align-items:center;justify-content:center;
    font-family:'Inter',monospace;font-weight:900;font-size:1.3rem;
    border:3px solid var(--line);background:var(--pink);color:#fff;
    box-shadow:5px 5px 0 var(--plum);
  }
  .step .body h3{font-size:1.06rem;font-weight:800;margin:0 0 6px;}
  .step .body p{margin:0;color:var(--ink-soft);font-size:.94rem;}

  /* 数据统计 */
  .stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
  @media(max-width:860px){.stat-grid{grid-template-columns:repeat(2,1fr);}}
  .stat{
    border:3px solid var(--line);background:var(--paper);
    padding:26px 18px;text-align:center;
    box-shadow:7px 7px 0 rgba(159,18,57,.85);
  }
  .stat .n{
    font-family:'Inter',monospace;font-weight:900;
    font-size:clamp(1.7rem,4.4vw,2.5rem);color:var(--plum);line-height:1;
  }
  .stat .t{font-size:.85rem;font-weight:700;color:var(--ink-soft);margin-top:10px;letter-spacing:.06em;}

  /* FAQ */
  .faq-item{border:3px solid var(--line);background:var(--paper);margin-bottom:16px;box-shadow:7px 7px 0 rgba(63,10,26,.14);}
  .faq-q{
    width:100%;text-align:left;background:none;border:0;cursor:pointer;
    font-weight:800;font-size:1rem;color:var(--ink);
    padding:18px 20px;display:flex;justify-content:space-between;gap:14px;align-items:center;
  }
  .faq-q i{color:var(--pink);transition:.2s ease;}
  .faq-q.open i{transform:rotate(45deg);}
  .faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease;}
  .faq-a p{margin:0;padding:0 20px 20px;color:var(--ink-soft);font-size:.94rem;}

  /* CTA */
  .cta-box{
    border:3px solid var(--line);background:var(--paper);
    padding:44px 32px;text-align:center;
    box-shadow:10px 10px 0 var(--plum);
  }
  .cta-box h2{font-weight:900;font-size:clamp(1.4rem,3.2vw,2rem);margin:0 0 14px;}
  .cta-box p{color:var(--ink-soft);max-width:620px;margin:0 auto 26px;}

  /* 海报网格 */
  .poster-grid{
    display:grid;grid-template-columns:repeat(6,1fr);gap:16px;
  }
  @media(max-width:1080px){.poster-grid{grid-template-columns:repeat(4,1fr);}}
  @media(max-width:760px){.poster-grid{grid-template-columns:repeat(3,1fr);}}
  @media(max-width:480px){.poster-grid{grid-template-columns:repeat(2,1fr);}}
  .poster-card{
    border:3px solid var(--line);background:var(--paper);
    box-shadow:5px 5px 0 rgba(159,18,57,.8);
    transition:.18s ease;overflow:hidden;width:100%;
  }
  .poster-card:hover{transform:scale(1.04);border-color:var(--pink);box-shadow:7px 7px 0 var(--pink);}
  .poster-card img{
    width:100%;aspect-ratio:2/3;object-fit:cover;display:block;
    border-bottom:3px solid var(--line);
  }
  .poster-card .meta{
    padding:9px 10px 11px;
  }
  .poster-card .meta .tt{
    font-size:.83rem;font-weight:800;color:var(--ink);
    line-height:1.35;margin:0 0 5px;
    display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
  }
  .poster-card .meta .tag{
    font-family:'Inter',monospace;font-size:.68rem;font-weight:800;
    letter-spacing:.08em;color:var(--pink);
  }
  .cat-head{
    display:flex;align-items:center;gap:14px;margin:0 0 24px;
  }
  .cat-head .bar{width:10px;height:30px;background:var(--plum);border:2px solid var(--line);}
  .cat-head h3{font-weight:900;font-size:1.18rem;margin:0;}
  .cat-head span{font-family:'Inter',monospace;font-size:.75rem;color:var(--pink);font-weight:800;letter-spacing:.14em;}
  .cat-block{margin-bottom:52px;}
  .cat-block:last-child{margin-bottom:0;}

  /* footer */
  footer{padding:56px 20px 30px;}
  .foot-inner{max-width:1040px;margin:0 auto;}
  .friend{
    border:3px solid var(--line);background:var(--paper);
    padding:22px 24px;box-shadow:7px 7px 0 rgba(225,29,72,.7);
    margin-bottom:36px;
  }
  .friend h4{
    font-size:.82rem;font-weight:900;letter-spacing:.2em;
    font-family:'Inter',monospace;color:var(--plum);margin:0 0 12px;
  }
  .friend p{margin:0;font-size:.9rem;color:var(--ink-soft);word-break:break-all;}
  .foot-cols{
    display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-bottom:32px;
  }
  @media(max-width:760px){.foot-cols{grid-template-columns:1fr;}}
  .foot-cols h5{font-size:.95rem;font-weight:800;margin:0 0 12px;color:var(--ink);}
  .foot-cols ul{list-style:none;margin:0;padding:0;}
  .foot-cols li{margin-bottom:8px;}
  .foot-cols a{color:var(--ink-soft);text-decoration:none;font-size:.9rem;}
  .foot-cols a:hover{color:var(--pink);text-decoration:underline;}
  .copyright{
    border-top:3px solid var(--line);padding-top:20px;
    font-size:.85rem;color:var(--ink-soft);
    display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;
  }

  #toTop{
    position:fixed;right:22px;bottom:26px;z-index:1800;
    width:52px;height:52px;border:3px solid var(--line);
    background:var(--plum);color:#fff;font-size:1.05rem;
    box-shadow:5px 5px 0 var(--pink);cursor:pointer;
    opacity:0;visibility:hidden;transform:translateY(14px);
    transition:.25s ease;
  }
  #toTop.show{opacity:1;visibility:visible;transform:translateY(0);}
  #toTop:hover{background:var(--pink);}

/* --- 子页面追加 --- */
.about-hero {padding:64px 0 40px;}
.about-hero h1 {font-size:clamp(30px,5vw,50px);line-height:1.1;margin:14px 0 18px;font-weight:900;color:var(--ink);letter-spacing:-.5px;}
.about-hero h1 em {font-style:normal;color:var(--pink);}
.about-body p {color:var(--ink-soft);line-height:1.9;margin-bottom:16px;font-size:16px;}
.about-body h2 {font-size:clamp(22px,3.4vw,30px);font-weight:800;color:var(--ink);margin:0 0 18px;letter-spacing:-.3px;}
.about-body h3 {font-size:19px;font-weight:700;color:var(--ink);margin:0 0 10px;}
.about-sec {padding:44px 0;border-top:2px solid var(--line);}
.about-sec:first-child {border-top:none;}
.about-num {font-weight:900;font-size:14px;letter-spacing:2px;color:var(--pink);display:inline-block;margin-bottom:10px;}
.about-flex {display:grid;grid-template-columns:1.15fr .85fr;gap:34px;align-items:start;}
.about-aside {background:var(--paper);border:2px solid var(--line);border-radius:14px;padding:22px 22px 14px;box-shadow:6px 6px 0 rgba(63,10,26,.12);}
.about-aside dl {margin:0;}
.about-aside dt {font-weight:800;color:var(--ink);font-size:15px;margin-top:14px;}
.about-aside dd {margin:4px 0 0;color:var(--ink-soft);font-size:14px;line-height:1.7;}
.about-aside dt:first-child {margin-top:0;}
.about-list {list-style:none;padding:0;margin:0;}
.about-list li {position:relative;padding:10px 0 10px 26px;color:var(--ink-soft);line-height:1.75;font-size:15px;border-bottom:1px dashed rgba(63,10,26,.18);}
.about-list li:last-child {border-bottom:none;}
.about-list li::before {content:"\f0da";font-family:"Font Awesome 6 Free";font-weight:900;color:var(--pink);position:absolute;left:0;top:11px;font-size:13px;}
.about-list li strong {color:var(--ink);}
.about-flex {grid-template-columns:1fr;}

/* --- 子页面追加 --- */
.guide-hero { padding: 56px 0 40px; }
.guide-hero h1 { font-size: clamp(28px, 5vw, 46px); font-weight: 900; line-height: 1.2; margin: 12px 0 16px; color: var(--ink); }
.guide-hero p.lead-txt { font-size: 17px; color: var(--ink-soft); max-width: 720px; line-height: 1.85; }
.criteria-block { padding: 8px 0 24px; }
.criteria-block h2 { font-size: clamp(22px, 3.4vw, 30px); font-weight: 800; color: var(--ink); margin: 0 0 10px; }
.criteria-block .blk-sub { color: var(--ink-soft); font-size: 15.5px; line-height: 1.8; margin-bottom: 26px; max-width: 760px; }
.criteria-block h3 { font-size: 17px; font-weight: 700; color: var(--ink); margin: 0 0 8px; }
.criteria-block p { color: var(--ink-soft); font-size: 15px; line-height: 1.8; margin: 0; }
.criteria-block .fx p + p { margin-top: 10px; }
.fx .num { font-weight: 900; color: var(--pink); margin-right: 6px; }
.reject-list { list-style: none; padding: 0; margin: 0; }
.reject-list li { display: flex; gap: 12px; padding: 12px 0; border-bottom: 1px dashed rgba(63,10,26,.15); color: var(--ink-soft); font-size: 15px; line-height: 1.75; }
.reject-list li:last-child { border-bottom: none; }
.reject-list li i { color: var(--plum); margin-top: 4px; flex-shrink: 0; }
.reject-list li strong { color: var(--ink); }
.note-box { margin-top: 28px; padding: 20px 22px; background: var(--paper); border: 2px solid var(--line); border-radius: 14px; box-shadow: 5px 5px 0 rgba(63,10,26,.12); }
.note-box p { margin: 0; color: var(--ink-soft); font-size: 15px; line-height: 1.8; }
.note-box strong { color: var(--plum); }
.cta-row { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 30px; }
.guide-hero { padding: 36px 0 26px; }
.criteria-block { padding: 4px 0 18px; }

/* --- 子页面追加 --- */
.map-block {background:var(--paper);border:2px solid var(--line);border-radius:16px;padding:26px 24px;box-shadow:6px 6px 0 rgba(159,18,57,.14);height:100%;}
.map-block h3 {font-size:1.15rem;font-weight:800;color:var(--plum);margin:0 0 14px;display:flex;align-items:center;gap:10px;}
.map-block h3 i {color:var(--pink);}
.map-list {list-style:none;padding:0;margin:0;}
.map-list li {padding:9px 0;border-bottom:1px dashed rgba(63,10,26,.18);}
.map-list li:last-child {border-bottom:none;}
.map-list a {color:var(--ink);font-weight:600;text-decoration:none;display:flex;align-items:center;gap:8px;}
.map-list a:hover {color:var(--pink);}
.map-list a i {font-size:.72rem;color:var(--pink);}
.map-list .map-note {display:block;font-size:.82rem;color:var(--ink-soft);font-weight:400;margin-top:3px;padding-left:20px;}
.map-intro {font-size:1.02rem;color:var(--ink-soft);line-height:1.9;}
.map-intro strong {color:var(--plum);}
.tag-pill {display:inline-block;background:rgba(225,29,72,.1);color:var(--pink);border:1px solid rgba(225,29,72,.35);border-radius:999px;font-size:.78rem;font-weight:700;padding:3px 12px;margin:0 6px 6px 0;}
.upd-row {display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-bottom:1px dashed rgba(63,10,26,.18);font-size:.92rem;}
.upd-row:last-child {border-bottom:none;}
.upd-row .u-name {font-weight:700;color:var(--ink);}
.upd-row .u-time {color:var(--ink-soft);font-size:.84rem;white-space:nowrap;}
.map-block {padding:20px 16px;}
.upd-row {flex-direction:column;align-items:flex-start;gap:2px;}