:root{
  --primary:#dc2626;
  --accent:#fb923c;
  --bg:#141013;
  --text:#fef2f2;
  --panel:#1d171a;
  --panel-2:#251d21;
  --line:#3a2f34;
  --muted:#b9a7ac;
}
*{border-radius:0!important;}
html{scroll-behavior:smooth;}
body{
  background:var(--bg);
  color:var(--text);
  font-family:'Inter','PingFang SC','Microsoft YaHei',sans-serif;
  line-height:1.85;
  font-weight:400;
  overflow-x:hidden;
}
h1,h2,h3,h4,h5,h6,.brand-font{
  font-weight:900;
  letter-spacing:-.01em;
  line-height:1.25;
}
.mono{font-family:'SFMono-Regular',Consolas,'Liberation Mono',Menlo,monospace;font-variant-numeric:tabular-nums;}
a{text-decoration:none;color:inherit;}
img{max-width:100%;display:block;}

/* header */
.site-header{
  position:sticky;top:0;z-index:1040;
  background:rgba(20,16,19,.96);
  border-bottom:3px solid var(--line);
  backdrop-filter:blur(8px);
}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 0;}
.brand-block{display:flex;flex-direction:column;line-height:1.2;}
.brand-block .brand{
  font-weight:900;font-size:1.5rem;color:var(--text);
  letter-spacing:-.02em;
  display:inline-flex;align-items:center;gap:.5rem;
}
.brand-block .brand i{color:var(--accent);font-size:1.25rem;}
.brand-tag{font-size:.72rem;color:var(--muted);letter-spacing:.14em;text-transform:uppercase;margin-top:2px;}
.main-nav ul{display:flex;align-items:center;gap:1.6rem;list-style:none;margin:0;padding:0;}
.main-nav a{
  font-size:.92rem;font-weight:600;color:var(--text);
  padding:.35rem 0;position:relative;display:inline-block;
}
.main-nav a::after{
  content:"";position:absolute;left:0;bottom:-2px;height:3px;width:0;background:var(--primary);transition:width .25s ease;
}
.main-nav a:hover::after,.main-nav a.active::after{width:100%;}
.main-nav a:hover{color:var(--accent);}
.nav-toggle{
  display:none;background:transparent;border:3px solid var(--line);color:var(--text);
  width:46px;height:42px;font-size:1.1rem;cursor:pointer;
}
@media(max-width:991px){
  .nav-toggle{display:block;}
  .main-nav{
    position:absolute;left:0;right:0;top:100%;
    background:var(--panel);border-bottom:3px solid var(--line);
    display:none;padding:.5rem 1.1rem 1rem;
  }
  .main-nav.open{display:block;}
  .main-nav ul{flex-direction:column;align-items:flex-start;gap:.2rem;}
  .main-nav a{display:block;padding:.7rem 0;width:100%;border-bottom:1px dashed var(--line);}
}

/* section utilities */
.section{padding:4.2rem 0;border-bottom:1px solid var(--line);}
.section-num{
  font-family:'SFMono-Regular',Consolas,monospace;
  font-size:.8rem;font-weight:700;color:var(--accent);
  letter-spacing:.22em;display:inline-block;margin-bottom:.7rem;
  border-left:4px solid var(--primary);padding-left:.6rem;
}
.section-title{font-size:1.85rem;margin-bottom:.9rem;}
.section-lead{color:var(--muted);max-width:720px;font-size:.98rem;}

/* buttons */
.btn-lime{
  display:inline-flex;align-items:center;gap:.55rem;
  background:var(--primary);color:#fff;font-weight:800;font-size:.92rem;
  padding:.8rem 1.5rem;border:3px solid #7f1414;
  box-shadow:6px 6px 0 0 #3a0a0a;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
}
.btn-lime:hover{transform:translate(-2px,-2px);box-shadow:9px 9px 0 0 #3a0a0a;background:#e12929;color:#fff;}
.btn-ghost{
  display:inline-flex;align-items:center;gap:.55rem;
  background:transparent;color:var(--text);font-weight:800;font-size:.92rem;
  padding:.8rem 1.5rem;border:3px solid var(--line);
  box-shadow:6px 6px 0 0 #241b1f;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.btn-ghost:hover{transform:translate(-2px,-2px);box-shadow:9px 9px 0 0 #241b1f;border-color:var(--accent);color:var(--accent);}

/* hero */
.hero{padding:3.4rem 0 3.8rem;border-bottom:3px solid var(--line);position:relative;}
.hero-eyebrow{
  font-family:'SFMono-Regular',Consolas,monospace;font-size:.78rem;letter-spacing:.26em;
  color:var(--accent);text-transform:uppercase;margin-bottom:1rem;display:block;
}
.hero h1{font-size:clamp(2rem,4.2vw,3.2rem);margin-bottom:1rem;color:var(--text);}
.hero h1 .hl{color:var(--primary);}
.hero-copy{color:var(--muted);font-size:1.02rem;max-width:560px;margin-bottom:1.6rem;}
.hero-actions{display:flex;flex-wrap:wrap;gap:.9rem;margin-bottom:2rem;}
.signals{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;max-width:520px;}
.signal{border:2px solid var(--line);background:var(--panel);padding:.8rem .95rem;}
.signal .num{font-family:'SFMono-Regular',monospace;font-size:1.35rem;font-weight:800;color:var(--accent);display:block;line-height:1.1;}
.signal .lbl{font-size:.78rem;color:var(--muted);}
.hero-media-wrap{position:relative;border:3px solid var(--line);box-shadow:14px 14px 0 0 #241b1f;background:var(--panel);}
.hero-media{width:100%;aspect-ratio:16/11;object-fit:cover;filter:saturate(1.05);}
.hero-media-badge{
  position:absolute;left:-3px;top:-3px;background:var(--primary);color:#fff;
  font-weight:800;font-size:.78rem;padding:.35rem .8rem;border:3px solid #7f1414;letter-spacing:.06em;
}
@media(max-width:767px){.signals{grid-template-columns:1fr 1fr;}}

/* FAQ */
.faq-item{border:3px solid var(--line);background:var(--panel);margin-bottom:1rem;}
.faq-q{
  width:100%;text-align:left;background:transparent;border:0;color:var(--text);
  font-weight:800;font-size:1rem;padding:1rem 1.1rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;cursor:pointer;
}
.faq-q i{color:var(--accent);transition:transform .25s ease;flex:0 0 auto;}
.faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease;padding:0 1.1rem;}
.faq-a p{color:var(--muted);font-size:.94rem;margin:.2rem 0 1rem;}
.faq-item.open .faq-a{max-height:340px;}
.faq-item.open .faq-q i{transform:rotate(45deg);}

/* why choose */
.why-card{
  background:var(--panel);border:3px solid var(--line);padding:1.4rem;height:100%;
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
  box-shadow:6px 6px 0 0 #241b1f;
}
.why-card:hover{transform:translateY(-6px);box-shadow:10px 10px 0 0 #3a0a0a;border-color:var(--primary);}
.why-icon{
  width:48px;height:48px;display:grid;place-items:center;background:var(--primary);color:#fff;
  font-size:1.15rem;border:3px solid #7f1414;margin-bottom:1rem;
}
.why-card h3{font-size:1.05rem;margin-bottom:.5rem;}
.why-card p{font-size:.9rem;color:var(--muted);margin:0;}

/* news */
.news-item{
  display:flex;gap:1.1rem;align-items:flex-start;border:3px solid var(--line);background:var(--panel);
  padding:1.1rem 1.2rem;margin-bottom:1rem;transition:transform .2s ease,border-color .2s ease;
}
.news-item:hover{transform:translateX(4px);border-color:var(--accent);}
.news-date{
  font-family:'SFMono-Regular',monospace;font-size:.78rem;color:var(--accent);font-weight:700;
  flex:0 0 86px;padding-top:.15rem;
}
.news-body h3{font-size:1.02rem;margin-bottom:.3rem;}
.news-body p{font-size:.88rem;color:var(--muted);margin:0;}

/* category blocks */
.cat-card{
  border:3px solid var(--line);background:var(--panel);padding:1.5rem;height:100%;
  position:relative;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
  box-shadow:6px 6px 0 0 #241b1f;
}
.cat-card:hover{transform:translateY(-6px);box-shadow:10px 10px 0 0 #3a0a0a;border-color:var(--primary);}
.cat-card .cat-index{font-family:'SFMono-Regular',monospace;font-size:.75rem;color:var(--accent);letter-spacing:.2em;margin-bottom:.7rem;display:block;}
.cat-card h3{font-size:1.15rem;margin-bottom:.5rem;}
.cat-card p{font-size:.9rem;color:var(--muted);margin-bottom:.9rem;}
.cat-card .cat-link{font-weight:800;font-size:.86rem;color:var(--accent);}
.cat-card .cat-link i{margin-left:.3rem;}

/* community steps */
.step-card{
  border:3px solid var(--line);background:var(--panel);padding:1.5rem;height:100%;
  border-top:6px solid var(--primary);
}
.step-num{
  font-family:'SFMono-Regular',monospace;font-size:2rem;font-weight:900;color:var(--primary);
  line-height:1;display:block;margin-bottom:.7rem;
}
.step-card h3{font-size:1.05rem;margin-bottom:.45rem;}
.step-card p{font-size:.9rem;color:var(--muted);margin:0;}

/* numbered list */
.num-list{list-style:none;counter-reset:item;padding:0;margin:0;}
.num-list li{
  counter-increment:item;position:relative;padding:.9rem 1rem .9rem 3.2rem;
  border:2px solid var(--line);background:var(--panel);margin-bottom:.8rem;font-size:.93rem;color:var(--muted);
}
.num-list li::before{
  content:counter(item,decimal-leading-zero);position:absolute;left:0;top:0;bottom:0;width:2.4rem;
  display:grid;place-items:center;background:var(--primary);color:#fff;font-family:'SFMono-Regular',monospace;
  font-weight:800;font-size:.85rem;border-right:2px solid #7f1414;
}
.num-list li strong{color:var(--text);}

/* scene cards */
.scene-card{
  border:3px solid var(--line);background:var(--panel-2);padding:1.4rem;height:100%;
}
.scene-card h3{font-size:1.02rem;color:var(--accent);margin-bottom:.5rem;}
.scene-card p{font-size:.9rem;color:var(--muted);margin:0;}

/* compare table */
.compare-table{width:100%;border-collapse:collapse;border:3px solid var(--line);background:var(--panel);}
.compare-table th,.compare-table td{
  border:2px solid var(--line);padding:.9rem 1rem;font-size:.9rem;vertical-align:middle;
}
.compare-table thead th{background:var(--primary);color:#fff;font-weight:800;border-color:#7f1414;}
.compare-table tbody td:first-child{font-weight:700;color:var(--text);}
.compare-table tbody tr:hover td{background:var(--panel-2);}
.compare-table .good{color:var(--accent);font-weight:700;}

/* poster grid */
.poster-grid{
  display:grid;gap:1.1rem;width:100%;
  grid-template-columns:repeat(2,minmax(0,1fr));
}
@media(min-width:576px){.poster-grid{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(min-width:768px){.poster-grid{grid-template-columns:repeat(4,minmax(0,1fr));}}
@media(min-width:1200px){.poster-grid{grid-template-columns:repeat(6,minmax(0,1fr));}}

.flip-card{perspective:1200px;height:100%;}
.flip-inner{
  position:relative;width:100%;height:100%;transition:transform .55s cubic-bezier(.4,.2,.2,1);
  transform-style:preserve-3d;
}
.flip-card.flipped .flip-inner{transform:rotateY(180deg);}
.flip-face{
  backface-visibility:hidden;-webkit-backface-visibility:hidden;
  border:3px solid var(--line);background:var(--panel);
}
.flip-front{
  position:relative;height:100%;display:flex;flex-direction:column;
  transition:box-shadow .2s ease,border-color .2s ease;
}
.flip-card:hover .flip-front{box-shadow:0 0 0 3px var(--primary);border-color:var(--primary);}
.poster-img{width:100%;aspect-ratio:2/3;object-fit:cover;background:#241b1f;}
.poster-corner{
  position:absolute;left:-3px;top:-3px;background:var(--primary);color:#fff;font-size:.68rem;font-weight:800;
  padding:.18rem .5rem;border:2px solid #7f1414;letter-spacing:.03em;z-index:3;
}
.poster-rating{
  position:absolute;right:.4rem;top:.4rem;background:rgba(20,16,19,.88);border:2px solid var(--accent);
  color:var(--accent);font-family:'SFMono-Regular',monospace;font-size:.72rem;font-weight:800;padding:.1rem .38rem;z-index:3;
}
.poster-meta{padding:.6rem .65rem .7rem;}
.poster-title{font-size:.86rem;font-weight:800;margin:0 0 .2rem;color:var(--text);line-height:1.35;}
.poster-sub{font-size:.72rem;color:var(--muted);font-family:'SFMono-Regular',monospace;margin:0;}
.flip-back{
  position:absolute;inset:0;transform:rotateY(180deg);
  background:var(--panel-2);border:3px solid var(--primary);
  padding:.7rem;overflow:auto;display:flex;flex-direction:column;gap:.3rem;
}
.flip-back h4{font-size:.82rem;color:var(--accent);margin:0 0 .1rem;font-weight:800;}
.flip-back dl{margin:0;font-size:.68rem;line-height:1.5;color:var(--muted);}
.flip-back dt{color:var(--text);font-weight:700;display:inline;}
.flip-back dd{display:inline;margin:0 0 0 .15rem;}
.flip-back .plot{font-size:.68rem;color:var(--muted);margin:.15rem 0 0;}
.flip-close{
  position:absolute;right:.35rem;top:.35rem;width:26px;height:26px;border:2px solid var(--line);
  background:var(--bg);color:var(--text);font-size:.75rem;display:grid;place-items:center;cursor:pointer;z-index:5;
}
.flip-close:hover{border-color:var(--accent);color:var(--accent);}

/* interactive picker */
.picker-box{
  border:3px solid var(--line);background:var(--panel);padding:1.6rem;box-shadow:8px 8px 0 0 #241b1f;
}
.picker-result{
  border:3px dashed var(--line);background:var(--panel-2);padding:1.2rem;min-height:104px;
  display:flex;flex-direction:column;justify-content:center;
}
.picker-result .pr-title{font-weight:900;font-size:1.1rem;color:var(--accent);}
.picker-result .pr-desc{font-size:.9rem;color:var(--muted);margin-top:.3rem;}

.mood-tags{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:1rem;}
.mood-tag{
  border:3px solid var(--line);background:var(--panel);color:var(--text);font-weight:800;font-size:.85rem;
  padding:.5rem 1rem;cursor:pointer;transition:all .18s ease;
}
.mood-tag:hover{border-color:var(--accent);color:var(--accent);}
.mood-tag.active{background:var(--primary);border-color:#7f1414;color:#fff;}
.mood-panel{
  border:3px solid var(--line);background:var(--panel);padding:1.3rem;min-height:120px;
}
.mood-panel h4{font-size:1rem;color:var(--accent);margin-bottom:.5rem;}
.mood-panel ul{margin:0;padding-left:1.1rem;font-size:.9rem;color:var(--muted);}
.mood-panel li{margin-bottom:.3rem;}

/* topic special */
.topic-card{
  border:3px solid var(--line);background:var(--panel);padding:1.5rem;height:100%;
  border-left:8px solid var(--accent);
}
.topic-card h3{font-size:1.08rem;margin-bottom:.5rem;}
.topic-card .topic-lead{font-size:.88rem;color:var(--muted);margin-bottom:.7rem;}
.topic-card ul{margin:0;padding-left:1.1rem;font-size:.88rem;color:var(--muted);}
.topic-card li{margin-bottom:.28rem;}

/* back to top */
#backTop{
  position:fixed;right:1.1rem;bottom:1.3rem;width:50px;height:50px;z-index:1050;
  background:var(--primary);color:#fff;border:3px solid #7f1414;display:none;place-items:center;
  font-size:1.05rem;cursor:pointer;box-shadow:5px 5px 0 0 #3a0a0a;
}
#backTop.show{display:grid;}
#backTop:hover{background:#e12929;}

/* footer */
.site-footer{background:#100d10;border-top:3px solid var(--line);padding:3rem 0 1.6rem;}
.footer-brand{font-weight:900;font-size:1.35rem;display:inline-flex;align-items:center;gap:.5rem;margin-bottom:.6rem;}
.footer-brand i{color:var(--accent);}
.footer-desc{font-size:.88rem;color:var(--muted);max-width:320px;}
.footer-heading{font-size:.92rem;font-weight:800;margin-bottom:.9rem;color:var(--text);letter-spacing:.04em;}
.footer-links{list-style:none;padding:0;margin:0;font-size:.88rem;}
.footer-links li{margin-bottom:.5rem;}
.footer-links a{color:var(--muted);}
.footer-links a:hover{color:var(--accent);}
.friend-links{border-top:1px dashed var(--line);margin-top:2rem;padding-top:1.4rem;font-size:.86rem;color:var(--muted);}
.friend-links .fl-title{font-weight:800;color:var(--text);margin-bottom:.5rem;display:block;}
.footer-bottom{border-top:1px solid var(--line);margin-top:1.4rem;padding-top:1rem;font-size:.8rem;color:var(--muted);display:flex;flex-wrap:wrap;gap:.6rem;justify-content:space-between;}

/* reveal animation */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .6s ease,transform .6s ease;}
.reveal.visible{opacity:1;transform:translateY(0);}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none;}}

/* --- 子页面追加 --- */
.guide-hero {padding:64px 0 40px;border-bottom:1px solid var(--line);background:radial-gradient(1200px 400px at 15% -10%,rgba(220,38,38,.18),transparent 60%)}
.guide-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:22px}
.g-card {background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:24px;transition:.25s;height:100%}
.g-card:hover {border-color:var(--primary);transform:translateY(-3px)}
.g-card h3 {font-size:1.08rem;font-weight:700;margin:0 0 10px;color:var(--text)}
.g-card p {color:var(--muted);font-size:.93rem;line-height:1.75;margin:0}
.g-card .g-icon {width:42px;height:42px;border-radius:11px;display:flex;align-items:center;justify-content:center;background:rgba(220,38,38,.14);color:var(--accent);margin-bottom:16px;font-size:1.05rem}
.tag-row {display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.tag-chip {font-size:.8rem;padding:6px 14px;border-radius:999px;border:1px solid var(--line);color:var(--muted);background:var(--panel-2)}
.calendar-list {list-style:none;padding:0;margin:0}
.calendar-list li {display:flex;gap:16px;padding:16px 0;border-bottom:1px dashed var(--line)}
.calendar-list li:last-child {border-bottom:none}
.cal-day {flex:0 0 74px;font-family:'Inter',monospace;font-weight:800;color:var(--accent);font-size:.95rem}
.cal-body strong {display:block;color:var(--text);font-size:.97rem;margin-bottom:4px}
.cal-body span {color:var(--muted);font-size:.87rem;line-height:1.6}
.guide-hero {padding:44px 0 30px}
.calendar-list li {flex-direction:column;gap:6px}
.cal-day {flex:none}

/* --- 子页面追加 --- */
.map-hero {padding:72px 0 40px;border-bottom:1px solid var(--line);}
.map-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;}
.map-card {
    background:var(--panel);border:1px solid var(--line);border-radius:16px;
    padding:26px 24px;height:100%;transition:border-color .25s ease,transform .25s ease;
  }
.map-card:hover {border-color:var(--primary);transform:translateY(-3px);}
.map-card-head {display:flex;align-items:center;gap:12px;margin-bottom:14px;}
.map-card-head i {color:var(--accent);font-size:1.15rem;width:22px;text-align:center;}
.map-card-head h3 {margin:0;font-size:1.12rem;font-weight:700;color:var(--text);letter-spacing:.2px;}
.map-card p {margin:0 0 16px;color:var(--muted);font-size:.93rem;line-height:1.72;}
.map-links {list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px;}
.map-links li {display:flex;align-items:flex-start;gap:10px;}
.map-links li::before {content:"›";color:var(--primary);font-weight:800;line-height:1.5;}
.map-links a {color:var(--text);text-decoration:none;font-size:.94rem;border-bottom:1px solid transparent;transition:color .2s,border-color .2s;}
.map-links a:hover {color:var(--accent);border-bottom-color:var(--accent);}
.map-links span.desc {color:var(--muted);font-size:.86rem;}
.map-note {
    background:var(--panel-2);border:1px solid var(--line);border-left:3px solid var(--primary);
    border-radius:12px;padding:20px 22px;color:var(--muted);font-size:.93rem;line-height:1.8;
  }
.map-note strong {color:var(--text);font-weight:600;}
.map-tip {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;}
.map-tip .tip-item {background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:20px;}
.map-tip .tip-item i {color:var(--accent);margin-bottom:10px;font-size:1.1rem;}
.map-tip .tip-item h4 {margin:0 0 8px;font-size:.98rem;color:var(--text);font-weight:700;}
.map-tip .tip-item p {margin:0;font-size:.87rem;color:var(--muted);line-height:1.7;}
.map-grid {grid-template-columns:1fr;}
.map-tip {grid-template-columns:1fr;}
.map-hero {padding:48px 0 32px;}

/* --- 子页面追加 --- */
.about-page { padding-top: 48px; }
.about-hero {
    background: linear-gradient(160deg, var(--panel-2) 0%, var(--panel) 60%, var(--bg) 100%);
    border: 1px solid var(--line);
    border-radius: 22px;
    padding: 44px 36px;
    position: relative;
    overflow: hidden;
  }
.about-hero::after {
    content: "";
    position: absolute;
    right: -80px; top: -80px;
    width: 260px; height: 260px;
    background: radial-gradient(circle, rgba(220,38,38,.30), transparent 68%);
    pointer-events: none;
  }
.about-hero h1 {
    font-size: clamp(1.6rem, 3.4vw, 2.5rem);
    font-weight: 800;
    line-height: 1.25;
    margin: 14px 0 16px;
    letter-spacing: -.5px;
  }
.about-hero h1 em { font-style: normal; color: var(--accent); }
.about-hero p { color: var(--muted); max-width: 720px; margin-bottom: 0; line-height: 1.85; }
.about-stats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
    margin-top: 28px;
  }
.about-stat {
    background: rgba(0,0,0,.28);
    border: 1px solid var(--line);
    border-radius: 14px;
    padding: 16px 18px;
  }
.about-stat b {
    display: block;
    font-size: 1.45rem;
    font-weight: 800;
    color: var(--text);
    line-height: 1.2;
  }
.about-stat span { font-size: .8rem; color: var(--muted); }
.about-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 18px;
    margin-top: 22px;
  }
.about-card {
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: 16px;
    padding: 24px 22px;
    height: 100%;
  }
.about-card h3 {
    font-size: 1.05rem;
    font-weight: 700;
    margin: 0 0 12px;
    display: flex;
    align-items: center;
    gap: 9px;
  }
.about-card h3 i { color: var(--primary); font-size: .95rem; }
.about-card p { color: var(--muted); font-size: .92rem; line-height: 1.85; margin: 0; }
.about-card p + p { margin-top: 10px; }
.about-list { margin: 0; padding: 0; list-style: none; }
.about-list li {
    color: var(--muted);
    font-size: .92rem;
    line-height: 1.8;
    padding-left: 22px;
    position: relative;
    margin-bottom: 8px;
  }
.about-list li::before {
    content: "\f00c";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    position: absolute;
    left: 0; top: 1px;
    font-size: .72rem;
    color: var(--accent);
  }
.about-list li b { color: var(--text); font-weight: 600; }
.about-timeline {
    border-left: 2px solid var(--line);
    margin: 22px 0 0 6px;
    padding-left: 22px;
  }
.about-step { position: relative; padding-bottom: 22px; }
.about-step:last-child { padding-bottom: 0; }
.about-step::before {
    content: "";
    position: absolute;
    left: -30px; top: 5px;
    width: 12px; height: 12px;
    border-radius: 50%;
    background: var(--primary);
    box-shadow: 0 0 0 4px rgba(220,38,38,.16);
  }
.about-step h4 {
    font-size: .98rem;
    font-weight: 700;
    margin: 0 0 6px;
    color: var(--text);
  }
.about-step p { color: var(--muted); font-size: .9rem; line-height: 1.8; margin: 0; }
.about-cta {
    margin-top: 40px;
    background: linear-gradient(120deg, rgba(220,38,38,.16), rgba(251,146,60,.10));
    border: 1px solid var(--line);
    border-radius: 20px;
    padding: 34px 30px;
    text-align: center;
  }
.about-cta h2 {
    font-size: clamp(1.15rem, 2.4vw, 1.55rem);
    font-weight: 800;
    margin: 0 0 10px;
  }
.about-cta p { color: var(--muted); max-width: 620px; margin: 0 auto 22px; line-height: 1.8; }
.about-cta .btn-lime, .about-cta .btn-ghost { margin: 4px 6px; }
.about-stats { grid-template-columns: repeat(2, 1fr); }
.about-grid { grid-template-columns: 1fr; }
.about-hero { padding: 30px 22px; border-radius: 18px; }

/* --- 子页面追加 --- */
.legal-page {padding-top:40px;padding-bottom:80px;}
.legal-intro {max-width:820px;margin-bottom:48px;}
.legal-intro h1 {font-size:clamp(1.7rem,4vw,2.6rem);font-weight:800;line-height:1.25;margin-bottom:18px;letter-spacing:-.5px;}
.legal-intro h1 .hl {color:var(--accent);}
.legal-intro p {color:var(--muted);font-size:1.02rem;line-height:1.9;}
.legal-meta {display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:22px;font-size:.85rem;color:var(--muted);}
.legal-meta span {display:inline-flex;align-items:center;gap:7px;}
.legal-meta i {color:var(--primary);}
.legal-layout {display:grid;grid-template-columns:250px 1fr;gap:38px;align-items:start;}
.legal-toc {position:sticky;top:24px;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:22px 20px;}
.legal-toc h3 {font-size:.82rem;letter-spacing:1.5px;text-transform:uppercase;color:var(--accent);margin-bottom:14px;font-weight:700;}
.legal-toc ol {list-style:none;margin:0;padding:0;counter-reset:toc;}
.legal-toc li {counter-increment:toc;margin-bottom:2px;}
.legal-toc a {display:flex;gap:10px;padding:9px 10px;border-radius:9px;color:var(--muted);text-decoration:none;font-size:.9rem;line-height:1.5;transition:.2s;}
.legal-toc a::before {content:counter(toc,decimal-leading-zero);color:var(--line);font-weight:700;font-size:.78rem;padding-top:2px;}
.legal-toc a:hover {background:var(--panel-2);color:var(--text);}
.legal-toc a:hover::before {color:var(--accent);}
.legal-body {display:flex;flex-direction:column;gap:26px;}
.legal-card {background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:30px 32px;scroll-margin-top:24px;}
.legal-card h2 {display:flex;align-items:baseline;gap:12px;font-size:1.24rem;font-weight:800;margin-bottom:16px;line-height:1.5;color:var(--text);}
.legal-card h2 .idx {color:var(--primary);font-weight:900;font-size:.95rem;font-variant-numeric:tabular-nums;}
.legal-card p {color:var(--muted);line-height:1.95;margin-bottom:14px;font-size:.97rem;}
.legal-card p:last-child {margin-bottom:0;}
.legal-card strong {color:var(--text);font-weight:600;}
.legal-card ul {margin:0 0 6px;padding-left:0;list-style:none;}
.legal-card ul li {position:relative;padding-left:22px;color:var(--muted);line-height:1.85;margin-bottom:10px;font-size:.95rem;}
.legal-card ul li::before {content:"\f0da";font-family:"Font Awesome 6 Free";font-weight:900;position:absolute;left:2px;top:1px;color:var(--accent);font-size:.72rem;}
.legal-note {background:var(--panel-2);border-left:3px solid var(--primary);border-radius:0 12px 12px 0;padding:16px 20px;margin-top:6px;}
.legal-note p {margin:0;color:var(--text);font-size:.93rem;line-height:1.85;}
.legal-cta {margin-top:8px;display:flex;flex-wrap:wrap;gap:14px;}
.legal-layout {grid-template-columns:1fr;}
.legal-toc {position:static;}
.legal-card {padding:24px 20px;border-radius:15px;}
.legal-card h2 {font-size:1.1rem;gap:10px;}
.legal-intro {padding:0 4px;}

/* --- 子页面追加 --- */
.page-hero {padding:56px 0 24px;border-bottom:1px solid var(--line);}
.page-hero .hero-eyebrow {margin-bottom:14px;}
.page-hero h1 {font-size:clamp(1.7rem,4vw,2.7rem);font-weight:800;line-height:1.25;margin:0 0 14px;letter-spacing:-.01em;}
.page-hero p {color:var(--muted);max-width:760px;margin:0;font-size:1.02rem;line-height:1.8;}
.policy-wrap {display:grid;grid-template-columns:250px 1fr;gap:40px;align-items:start;}
.policy-nav {position:sticky;top:24px;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:18px 16px;}
.policy-nav h4 {font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 12px;font-weight:600;}
.policy-nav a {display:block;color:var(--text);opacity:.78;text-decoration:none;font-size:.92rem;padding:7px 10px;border-radius:8px;transition:.18s;border-left:2px solid transparent;}
.policy-nav a:hover {opacity:1;background:var(--panel-2);border-left-color:var(--primary);color:var(--accent);}
.policy-body {min-width:0;}
.policy-block {background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:26px 28px;margin-bottom:22px;}
.policy-block h3 {font-size:1.18rem;font-weight:700;margin:0 0 12px;color:var(--text);display:flex;align-items:center;gap:10px;}
.policy-block h3 .ico {color:var(--primary);font-size:1rem;}
.policy-block p {color:var(--muted);line-height:1.85;margin:0 0 12px;font-size:.97rem;}
.policy-block p:last-child {margin-bottom:0;}
.policy-block ul {margin:0 0 12px;padding-left:20px;color:var(--muted);line-height:1.85;font-size:.97rem;}
.policy-block li {margin-bottom:6px;}
.policy-block strong {color:var(--text);font-weight:600;}
.policy-meta {display:flex;flex-wrap:wrap;gap:10px;margin-top:6px;}
.policy-meta span {font-size:.8rem;color:var(--muted);background:var(--panel-2);border:1px solid var(--line);border-radius:999px;padding:5px 12px;}
.policy-note {border-left:3px solid var(--accent);background:var(--panel-2);border-radius:0 10px 10px 0;padding:14px 18px;color:var(--muted);font-size:.94rem;line-height:1.8;margin:0 0 12px;}
.policy-note strong {color:var(--accent);}
.policy-cta {background:linear-gradient(135deg,var(--panel-2),var(--panel));border:1px solid var(--line);border-radius:16px;padding:28px;text-align:center;}
.policy-cta h3 {font-size:1.15rem;font-weight:700;margin:0 0 10px;}
.policy-cta p {color:var(--muted);margin:0 0 18px;font-size:.95rem;line-height:1.8;}
.policy-cta .btns {display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}
.policy-wrap {grid-template-columns:1fr;gap:22px;}
.policy-nav {position:static;}
.policy-nav a {display:inline-block;margin:0 4px 4px 0;}
.policy-block {padding:20px 18px;}